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