無線傳感器網(wǎng)絡(luò)中基于RSSI的節(jié)點距離預測
3 BP網(wǎng)絡(luò)模型的建立
以限幅濾波后的數(shù)據(jù)作為訓練樣本。以RSSI作為輸入,以距離作為輸出,一般的預測問題通過單隱層的BP網(wǎng)絡(luò)實現(xiàn),這里也是單隱層。
(1)數(shù)據(jù)歸一化處理
為了在Matlab中計算方便,需要對數(shù)據(jù)進行歸一化處理。這里根據(jù)現(xiàn)有的數(shù)據(jù)情況,分別對輸入和輸出量進行歸一化處理。歸一化的代碼如下:
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t)
其中p為輸入變量,t為輸出變量。
(2)BP網(wǎng)絡(luò)訓練
網(wǎng)絡(luò)中間層的神經(jīng)元傳遞函數(shù)采用S型的正切函數(shù)logsig,輸出層神經(jīng)元傳遞函數(shù)采用線性函數(shù)purelin,采用traingdx函數(shù)進行訓練,當訓練141次后達到0.01的誤差要求。
4 模型預測結(jié)果及與經(jīng)驗公式值的比較
為了驗證測試結(jié)果的可靠性,根據(jù)網(wǎng)絡(luò)訓練的結(jié)果,把測試結(jié)果與真實值進行對比。為了突出該方法的優(yōu)越性,與經(jīng)驗公式計算出來的距離值進行比較。表1為模型預測值、經(jīng)驗公式值與真實值的比較。本文引用地址:http://www.ex-cimer.com/article/161414.htm
由表1可以得出,由BP神經(jīng)網(wǎng)絡(luò)模型預測的距離值與經(jīng)驗公式計算出來的距離值相比,整體誤差較小。經(jīng)驗公式計算的距離誤差最大為2.7351m,最小誤差為0.5338m,而由模型預測的距離誤差最大為0.7976m,最小誤差為0.0232m,測距的精度明顯提高了很多。
5 結(jié)論
BP神經(jīng)網(wǎng)絡(luò)具有很強的自學習、自組織及自適應能力,具有高度非線性函數(shù)映射功能,通過對樣本的預處理,可以提高訓練結(jié)果的精度。因此,樣本的好壞直接影響訓練結(jié)果。節(jié)點RSSI值的隨機性較大,會隨著環(huán)境及其他干擾的影響發(fā)生突變。因此先對RSSI值進行濾波處理,濾掉突變的數(shù)據(jù)再進行網(wǎng)絡(luò)的訓練,預測結(jié)果就能達到較理想的水平。這適用于不同的場合,提高了測距精度,從而進行精確定位。
評論