徐義晗
(1.淮安信息職業(yè)技術學院,江蘇 淮安 223003;2.江蘇省軟件測試工程技術研究開發(fā)中心,江蘇 淮安 223003)
隨著傳感技術的迅速發(fā)展,無線傳感網(wǎng)絡(Wireless Sensor Networks,WSNs)在交通、環(huán)境監(jiān)測等方面得到廣泛應用[1],而節(jié)點的定位與跟蹤是這些應用的基本要求。在實際應用中,目標的移動加大了定位和跟蹤的難度。
定位和跟蹤本質上都是估計目標的位置。由于成本低、易操作,基于接收信號強度指示(Received Signal Strength Indicator,RSSI)的測距定位得到廣泛應用[2-3]。然而,基于RSSI 測距定位的主要問題在于RSSI 值與所測的距離間存在非線性關系。噪聲、信號衰減等原因都會影響它們的非線性關系。目前,研究人員針對基于RSSI 測距定位的目標跟蹤問題進行了大量研究[4]。主要的研究工作在于通過合適的回歸貝葉斯濾波處理RSSI 值,如卡爾曼濾波(Kalman Filter,KF)[5-7]和粒子濾波(Partical Filter,PF)[8-9]。基于KF 或PF 系統(tǒng)主要取決于噪聲分布的統(tǒng)計信息。相比于KF,PF 在處理測量值的非線性方面存在優(yōu)勢,但是它的計算復雜度遠高于KF。無跡KF(Unscented KF,UKF)提高了KF 在處理系統(tǒng)非線性問題的性能[10-11]。文獻[11]提出了基于UKF 的定位和跟蹤算法,通過多個傳感節(jié)點測量估計行人的移動軌跡。文獻[12]提出基于人工神經(jīng)網(wǎng)絡(Artificial Neural Networks,ANN)的室內定位算法,定位的平均精度為1.79 m。利用神經(jīng)網(wǎng)絡建立不同信號接收強度與節(jié)點位置間關系。文獻[13]將機器學習與KF 進行結合,跟蹤移動目標。實際上,移動模型和測量模型是非線性的。相比于KF,UKF 能夠有效地處理非線性模型,它通過無先導變換,處理非線性關系。
為此,提出無跡卡爾曼濾波的移動目標跟蹤算法(Unscented KF-based mobile Target Tracking,UKTT)。該算法先通過RSSI 值測距,并訓練通用回歸神經(jīng)網(wǎng)絡(General Regression Neural Network,GRNN),再利用UKF 修正位置。
移動目標的運動狀態(tài)對目標跟蹤的精度有重要影響。因此,在跟蹤移動目標前,選擇合適的運動模型。目前,常用的運動模型有半馬爾可夫模型、勻加速模型和Noval 模型[13]。半馬爾可夫模型只適用于運動幅度小的環(huán)境,而Noval 模型對目標移動有很大約束條件。為此,UKTT 算法選用勻加速模型。
勻加速模型屬簡單的移動模型,節(jié)點沿一個方向或沿著直線方向做加速度不變的運動,將時間劃分不同的時隙△t,用離散的時隙狀態(tài)表示移動目標狀態(tài)。
令Xk表示移動目標第k 個時隙的狀態(tài):
考慮如圖1 所示GRNN 結構。GRNN 總共有4個單元構成。第1 層為輸入單元,其次為模式層、求知層,最后一層為輸出單元。輸入單元接收輸入信號;而模式層對輸入單元數(shù)據(jù)進行非線性變換;求和層實施求知操作,將上一層的數(shù)據(jù)乘以互連權重系數(shù),最終產(chǎn)生輸出數(shù)據(jù)。
圖1 GRNN 結構的基本框架
位置估計就是利用RSSI 值,估計目標位置。因此,將RSSI 值為輸入數(shù)據(jù),輸出數(shù)據(jù)就是移動目標的位置??紤]4 個錨節(jié)點的RSSI 值(N=4),如圖1所示,輸出就是移動目標的估計位置M(x,y)。實質上,GRNN 就是依據(jù)N 個獨立變量,估計移動目標位置M(x,y),即M(N)。
對每個時隙的觀察值進行抽樣,令Mi、Ni分別表示M 和N 的抽樣值,而M(N)表示抽樣值Mi的權重平均值,其定義如式(5):
其中,n 表示對每個觀察值的抽樣次數(shù),σ 為平滑因子,一般在[3,6]范圍內取值。
式(5)中的D 反映了輸入值N 與其抽樣值Ni關系,其定義如式(6)所示:
用式(7)、式(8)分別表示目標移動模型、觀察模型:
其中,R 為測量噪聲協(xié)方差矩陣。
在更新階段,從當前時刻收集測量信息,再去修正預測值,如式(16)~式(20)。
圖2 描述了UKTT 算法的實施流程。先訓練GRNN 模型,然后,再利用GRNN 估計目標位置,再利用UKF 修正目標位置。
為了更好地分析UKTT 算法性能,利用NS2.34建立仿真平臺,并分析它們的定位和跟蹤性能。在100 m×100 m 方形區(qū)域內部署4 個錨節(jié)點,且這4個錨節(jié)點分別位于方形區(qū)域的4 個角,總的仿真時間T=35 s,且時隙△t=1 s。
圖2 定位和跟蹤流程
移動目標從(12,15) 位置移向終點位置(97,10)。目標在不同時間段的移動速度如式(22)所示。其中速度為負值,表示反方向移動。
節(jié)點的通信范圍r=100 m,發(fā)射天線和接收天線的增益為1 dB,傳輸功率為1 millwatts,此外,σ=3.5。
同時,選擇RSSI、GRNN 和KF 算法作為參照,對比分析它們定位誤差。
首先,分析各算法對移動目標估計的準確性,如圖3 所示。黑色圓點表示錨節(jié)點,紅色矩形、綠色+、紅色+、藍色+、空心圓分別表示實際的目標位置、基于RSSI 的定位、基于GRNN 的位置估計、GRNN+KF、UKTT。從圖3 可知,GRNN+KF 和UKTT算法能夠較準確地估計目標移動軌跡。
圖3 移動目標的跟蹤軌跡
本次實驗各算法的估計誤差,如下頁圖4、圖5所示。其中,圖4 描述在x 軸上的估計誤差,圖5 描述了在y 軸上的估計誤差。
從圖4 可知,UKTT 算法的估計誤差最低,在整個仿真時間內,估計誤差在1 m 上下波動,平均誤差約1 m。相比于GRNN+KF 算法,UKTT 算法提高了定位精度。此外,基于RSSI 估計誤差最高,而且波動大,極為不穩(wěn)定,原因在于RSSI 值隨環(huán)境波動。
圖4 x 軸的估計誤差
類似地,圖5 顯示了各算法在y 軸上估計誤差。與圖4 類似,UKTT 算法在y 軸上估計誤差最低且穩(wěn)定,這也充分說明通過GRNN 和UKF 算法有效地處理噪聲,同時提高位置估計精度。
圖5 y 軸的估計誤差
表1 顯示了RSSI、GRNN、GRNN+KF 和GRNN+KF 的根均方誤差(Root Mean Square Error,RMSE)。RMSE 的定義如式(23)所示:
從表1 可知,只通過RSSI 估計目標,誤差很大,而通過KF 濾波處理,能夠降低RMSE。而UKTT的平均RMSE 最低,低至0.497 3 m。
表1 各算法的RMSE
針對目標跟蹤問題,提出UKTT 算法。UKTT 算法考慮到RSSI 與測距間的非線性關系,并通過GRNN 訓練測距模型。同時,由已訓練的GRNN 模型估計目標位置,再由UKF 進行修正。仿真結果表明,提出的UKTT 算法有效地提高了WSNs 移動目標的定位精度。