摘要:無線傳感器網絡作為一門新興的技術,被應用于廣泛的領域中。而基于接收信號強度指示(RSSI)應用的無線傳感器網絡,需要對網絡中接收到同一個節(jié)點的多個RSSI值進行濾波。為了對RSSI濾波有一個全面的認識,介紹了幾種濾波方法,詳細綜述了每種濾波方法的原理和特點,最后指出應根據具體情況,權衡濾波效果、算法復雜度、節(jié)點能耗等各方面因素,選擇一種或者多種算法混合的濾波方法。
0 引言
無線傳感器網絡(Wireless Sensor Network,WSN)就是由部署在特定監(jiān)測區(qū)域內大量的廉價微型傳感器節(jié)點組成,通過無線通信方式形成的一個多跳自組織網絡系統(tǒng),它作為一種全新的信息獲取和處理技術,在目標跟蹤、環(huán)境監(jiān)測、軍事應用、醫(yī)療衛(wèi)生、空間探索等領域都有著廣泛的應用,節(jié)點定位技術是無線傳感器應用的基礎,常用的節(jié)點定位技術都是基于RSSI的,節(jié)點之間通過接收到的RSSI 值,利用經驗公式轉換為距離,再通過適當的算法計算出節(jié)點坐標位置。然而,由于環(huán)境中往往存在多徑、散射、障礙物、電磁干擾等不穩(wěn)定因素,使得RSSI值不穩(wěn)定,具有較大的波動性。實際使用中,需要對測得的多個RSSI值進行濾波優(yōu)化處理,得到優(yōu)化后的RSSI值,再進行定位計算。下面分別介紹幾種常用的RSSI濾波方法。
1 RSSI 濾波方法
1.1 均值濾波
均值濾波是指節(jié)點接收到另一節(jié)點的多個RSSI值之后,求其算式平均值,作為測試結果,如式(1)所示:
該方法簡單,易實現。當樣本容量很大,RSSI波動范圍較小時,信號平滑度較高,可較好地解決RSSI干擾問題;當RSSI值波動較大時,該方法可信度下降。
1.2 遞推平均濾波
遞推平均濾波是把連續(xù)接收到的N 個RSSI值看成一個隊列,隊列的長度固定為N,每次接收到一個新的RSSI值后放入隊尾,并扔掉原來隊首的一個RSSI值。最后把隊列中的N 個數據進行算術平均運算,就可獲得新的濾波結果。該濾波算法優(yōu)點是對周期性干擾有良好的抑制作用,平滑度高,缺點是對偶然出現的脈沖性干擾抑制作用差,不易消除由于脈沖干擾所引起的采樣值偏差,不適用于脈沖干擾比較強的場合。
1.3 中位值濾波
中位值濾波是指采集N(N 為奇數)個RSSI值之后,將這N 個RSSI值按大小順序排列,取其正中間的RSSI值作為濾波輸出,如式(2)所示:
中位值濾波能有效克服因偶然因數引起的波動干擾,但是對于脈沖干擾比較強,樣本容量不多的情況下,濾波效果不理想。
1.4 狄克遜檢驗法濾波
狄克遜檢驗法濾波是通過極差比判定和剔除異常數據。該方法認為異常數據應該是最大數據和最小數據,因此該方法是將數據按大小排列,檢驗最大數據和最小數據是否是異常數據。以樣本容量小于等于30為例,具體步驟如下:
(1)將對同一節(jié)點多次測量到的RSSI 值按從小到大的順序排列,{RSSI(1),RSSI(2),RSSI(3),-,RSSI(n - 2),RSSI(n - 1),RSSI(n)} ,并確定檢出水平 α =0.05;(2)根據狄克遜統(tǒng)計公式[10]有:
當n=3~7時檢驗高端異常值:
(3)根據檢出水平α ,查狄克遜檢驗的臨界值表,在狄克遜檢驗法的臨界值表中查出對應α ,n 的臨界值D(α,n) .
(4)當rij ﹥ rij- ,且rij ﹥ D(α,n) 時,RSSI(n) 為異常值;當rij- ﹥ rij ,且rij- ﹥ D(α,n) 時,RSSI(1) 為異常值;否則判斷未發(fā)現異常值。
(5)去除異常值后,對剩下的樣本數據,重復執(zhí)行步驟(1)~步驟(5),直到不再檢出異常值為止。最后剩下的數據可求其算數平均值作為最后濾波輸出。
狄克遜檢驗法能夠有效地去除樣本中的異常值,但需要查表,通常與其他的濾波算法混合濾波。
1.5 高斯濾波
對同一個節(jié)點接收到的多個RSSI值中,由于各種干擾,必然存在由誤差引起的小概率事件,通過高斯模型選取高概率發(fā)生區(qū)的RSSI值作為有效值,再求其幾何平均值,這種方法能夠有效地減少小概率、大干擾對整體測量數據的影響,提高定位的準確性。[!--empirenews.page--]
RSSI服從(0,δ2)的高斯分布,其概率密度函數為:
高斯模型解決了RSSI在實際測試中易受干擾、穩(wěn)定性差等問題,提高了定位精度,但對陰影效應、能量反射等長時間干擾問題處理效果欠佳。
1.6 速度常量濾波
基于物體在一定范圍內的移動并不是任意的,當前位置和前一時刻的位置存在一種相互關系的思想,采用速度常量,使移動點保持勻速運動,算法描述如下:
估計值:
預測值:
式中: Rprev(i) 為i 時刻信號強度的測量值;Rpred(i) 為i 時刻信號強度的預測值;Rest(i) 為i 時刻信號強度濾波值;Vest(i)為i 時刻信號強度變化率的濾波值;Vpred(i) 為i 時刻信號強度變化率的預測值;a,b 為增益常量;TS 為采樣時間間隔?;谒俣瘸A康臑V波算法能夠有效地減小信號波動給測量帶來的影響。
1.7 卡爾曼濾波
卡爾曼濾波的基本思想是:以最小均方誤差為最佳估計準則,采用信號與噪聲的狀態(tài)空間模型,利用前一時刻的估計值和當前時刻的觀測值來更新對狀態(tài)變量的估計,求出當前時刻的估計值,算法根據建立的系統(tǒng)方程和觀測方程對需要處理的信號做出滿足最小均方誤差的估計。
RSSI用xk 表示,采樣過程的數學模型可以表示為一個高斯白噪聲序列驅動的一階自遞推過程,其狀態(tài)方程和觀測方程可表示為:
狀態(tài)方程:
卡爾曼濾波能在一定程度上削弱由于噪聲疊加造成的RSSI觀測值偏離,經過卡爾曼算法處理后的RSSI值,穩(wěn)定性更好??柭谀繕烁櫡矫嬉材苋〉煤芎玫男Ч?/p>
2 結語
以上論述了幾種常用的RSSI濾波處理方法、原理,各種算法都有各自的特點,沒有哪一種是絕對最優(yōu)的,比如均值濾波,其算法簡單,易實現,但是精度不高,處理效果不佳,而高斯濾波處理效果好了很多,但是實現起來變得復雜一些,節(jié)點消耗更多能耗,同時占用了更多內存空間。實際應用中要根據具體情況,均衡各方面需求,選擇合適的濾波方法,也可多種算法混合使用,以達到最佳的濾波效果。希望本文能夠為無線傳感器網絡中處理RSSI值的相關研究者提供一些參考和借鑒。