楊穎輝,楊群亭,高鐵杠
(1.河南牧業(yè)經(jīng)濟(jì)學(xué)院信息與電子工程學(xué)院,鄭州 450045;2.中國民航大學(xué)空中交通管理學(xué)院,天津 300300;3.南開大學(xué)軟件學(xué)院,天津 300071)
無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)系統(tǒng)[1-2]主要應(yīng)用于人難以涉及的復(fù)雜區(qū)域事件的監(jiān)測和數(shù)據(jù)的采集與傳輸[3]。而所采集的數(shù)據(jù)的實(shí)用性與其地理位置息息相關(guān),獲取了沒有準(zhǔn)確位置的信息是毫無價(jià)值的。然而,在WSNs 網(wǎng)絡(luò)中,多數(shù)傳感節(jié)點(diǎn)是隨機(jī)部署,并且多數(shù)節(jié)點(diǎn)位置是未知的[4]。由于只有已知空間位置的感應(yīng)數(shù)據(jù)才具有實(shí)用價(jià)值,須利用定位技術(shù)來估計(jì)傳感節(jié)點(diǎn)的位置。
受硬件條件和無線環(huán)境因素的制約,在WSNs中對(duì)傳感節(jié)點(diǎn)的定位仍是一項(xiàng)挑戰(zhàn)的工作。目前,已提出多類定位算法[5-6]。依據(jù)定位過程是否需要測距,可將這些算法劃分測距定位、非測距定位。前者表示在估計(jì)未知節(jié)點(diǎn)位置時(shí),需要直接估算未知節(jié)點(diǎn)離錨節(jié)點(diǎn)間的距離,即測距;而后者是通過利用整個(gè)網(wǎng)絡(luò)的連通性估計(jì)未知節(jié)點(diǎn)的位置。因此,通常測距定位算法精度優(yōu)于非測距定位算法。
常用于測距定位算法中測距策略有:信號(hào)到達(dá)角度(Angle of Arrival,AOA)、到達(dá)時(shí)間(Time of arrival,TOA)、基于接收信號(hào)強(qiáng)度(Received signal strength Index,RSS),其中基于RSS 測距是利用未知節(jié)點(diǎn)接收到來自錨節(jié)點(diǎn)所發(fā)射信號(hào)的強(qiáng)度估算路徑傳播損耗,進(jìn)而估計(jì)未知節(jié)點(diǎn)離錨節(jié)點(diǎn)間的距離。由于基于RSS 測距無需額外的硬件設(shè)備,其廣泛應(yīng)用于低成本的無線傳感網(wǎng)絡(luò)WSNs[7-8]。因此,研究并尋求高精度的RSS 測距算法具有重要的實(shí)用價(jià)值。
然而,基于RSS 測距容易受外界因素干擾,如障礙物、信號(hào)反射、散射等,這些因素均增加定位誤差。文春武等[9]提出了基于RSS 校正的WSNs 定位算法。先利用高斯函數(shù)篩選較準(zhǔn)確的RSS 值,再對(duì)這些RSS 值設(shè)定加權(quán)系數(shù),進(jìn)而估計(jì)未知節(jié)點(diǎn)的位置。此外,文獻(xiàn)[10-11]均利用高斯濾波對(duì)RSS 值進(jìn)行預(yù)處理,濾除粗糙的RSS 值,進(jìn)而提高基于RSS測距精度。類似地,文獻(xiàn)[12]利用混合濾波方法處理RSS 值。
在得到測距值后,為了降低定位誤差,常將定位過程轉(zhuǎn)換成數(shù)學(xué)優(yōu)化問題[13]。文獻(xiàn)[14]把定位過程轉(zhuǎn)換成非線性最小平方差的優(yōu)化問題,降低測距誤差,抑制定位誤差。而文獻(xiàn)[15]分析了利用平方最小平方定位的性能,這給WSNs 的節(jié)點(diǎn)定位提供了理論基礎(chǔ)。
為此,本文提出基于優(yōu)化RSS 測距的平方最小平方定位算法(Square-least Square localization algorithm based on improved RSS,SLS-I-RSS)。SLS-I-RSS 算法先改進(jìn)RSS 測距精度,選用多組錨節(jié)點(diǎn)間距離和接收功率作為參考,進(jìn)而降低測距誤差;然后,基于平方最小平方定位算法,建立目標(biāo)函數(shù),再利用拉格朗日優(yōu)化目標(biāo)函數(shù),降低定位的復(fù)雜度。實(shí)驗(yàn)結(jié)果表明,提出的SLS-I-RSS 算法有效地降低定位誤差,提高了定位精度。
在真實(shí)的無線環(huán)境中,信號(hào)易受多徑效應(yīng)、障礙物阻礙、陰影以及反射等影響,導(dǎo)致接收端所接收的信號(hào)功率與理想的信號(hào)傳輸模型存在差異。目前,存在3 類信號(hào)傳播模型:自由空間、Shadowing 和兩路徑地面反射,其中Shadowing 模型[16]應(yīng)用最為廣泛,且Shadowing 模型如式(1)所示:
其中,β 是路徑損耗指數(shù),其可依據(jù)環(huán)境設(shè)定,一般取值范圍在2~6。而Pr(d)表示離發(fā)送端距離為d 時(shí)所接收的信號(hào)功率,相應(yīng)地,Pr(d0)表示離發(fā)送端的距離為d0所接收的信號(hào)功率,且Pr(d0)和d0為已知值,通常將Pr(d0)和d0稱為參考接收功率和參考距離。Xσ表示噪聲變量,且為高斯隨機(jī)變量,其中均值為0,方差表示為σ2。
通過式(1),可推導(dǎo)距離d 的表達(dá)式,如式(2)所示:
然而,式(2)所測量的距離只是依賴于某個(gè)參考距離和參考接收功率,這必然會(huì)引起測距誤差。因此,本文試圖選用多組已知節(jié)點(diǎn)間距離和相應(yīng)的接收功率,測量距離,即優(yōu)化測距參數(shù),進(jìn)而降低測距誤差。
改進(jìn)后的基于RSS 測距過程如下:首先,假定Bi是未知節(jié)點(diǎn)i 通信范圍內(nèi)的錨節(jié)點(diǎn)。而表示錨節(jié)點(diǎn)Bi的通信范圍內(nèi)的錨節(jié)點(diǎn)。若Bi離的距離為dij,它們間的參考接收功率表示為Pij,如下頁圖1所示。
圖1 節(jié)點(diǎn)拓?fù)潢P(guān)系示意圖
改進(jìn)后的基于RSS 測距,就是將Bi作為參考節(jié)點(diǎn),將Bi與間的接收功率為參考功率,即把Pij代替P(rd0)、dij代替d0。利用式(3),估計(jì)未知節(jié)點(diǎn)i 離錨節(jié)點(diǎn)Bi的距離:
其中,Xσj表示Xσ同分布的隨機(jī)變量。
通常,節(jié)點(diǎn)Bi的通信范圍內(nèi)可能存在多個(gè)錨節(jié)點(diǎn)。假定存在m 個(gè)錨節(jié)點(diǎn),且分別表示為,且1≤j≤m。因此,將N 組錨節(jié)點(diǎn)的信息(dij,Pi)j代入式(3)可得m 個(gè)未知節(jié)點(diǎn)i 離節(jié)點(diǎn)Bi的距離的對(duì)數(shù),且分別表示為。最終,采用均值算法,所估計(jì)的未知節(jié)點(diǎn)i 離節(jié)點(diǎn)Bi的距離的對(duì)數(shù)等于這m 個(gè)對(duì)數(shù)值的均值,即
圖2 改進(jìn)后的基于RSS 測距與傳統(tǒng)基于RSS 測距的不同
其中Xσi為測距噪聲。
先利用平方最小平方算法,建立目標(biāo)函數(shù):
求解式(6)是一個(gè)非線性優(yōu)化問題,為此對(duì)式(6)進(jìn)行最優(yōu)轉(zhuǎn)換:
而D 定義如式(10):
求解式(8)的最優(yōu)問題屬于非凸集優(yōu)化問題。為此,對(duì)式(8)進(jìn)行變換,減少計(jì)算復(fù)雜度。因此,將式(8)優(yōu)化問題轉(zhuǎn)化成規(guī)則信任域子問題,并利用拉格朗日進(jìn)行優(yōu)化,如式(11)所示:
其中,κ 為實(shí)數(shù)。
觀察式(11)不難發(fā)現(xiàn),計(jì)算最優(yōu)解等價(jià)于搜索滿足式(12)的值。為此,利用二分法搜索,進(jìn)而找到滿足式(12)的值。然后,再將此代入式(13),便可得到最優(yōu)解,最后可得到未知節(jié)點(diǎn)位置估計(jì)值。
利用MATLAB 建立仿真平臺(tái),分析SLS-I-RSS的定位算法,利用均方定位誤差(Mean Location Error,MLE)作為性能指標(biāo)。所謂MLE 是指多次測量的Δθ 的平均值,其中定位誤差Δθ:
網(wǎng)絡(luò)內(nèi)有N=100 個(gè)節(jié)點(diǎn)分布于100 m×100 m區(qū)域內(nèi),其中錨節(jié)點(diǎn)數(shù)m=40 個(gè)。節(jié)點(diǎn)的傳輸半徑為20 m。每次實(shí)驗(yàn)獨(dú)立重復(fù)50 次,取平均值作為最終的仿真數(shù)據(jù)。
在實(shí)驗(yàn)過程中,分別考查路徑損耗β、噪聲變量Xσ以及錨節(jié)點(diǎn)數(shù)m 對(duì)MLE 的影響。同時(shí),選用文獻(xiàn)[17]所采用的基于RSS 差分校正的最小二乘-擬牛頓定位算法作為參考,記為RSS-DLN。
3.2.1 路徑損耗β
假定Xσ=2,路徑損耗β 從2 變化4.5。在這個(gè)變化過程中,定位算法的MLE 如圖3 所示。從圖4 可知,MLE 隨路徑損耗β 的增加而提升。這主要是因?yàn)椋郝窂綋p耗β 的增加,提高了測距誤差,這必然增加定位誤差,最終,增加了MLE。
此外,與RSS-DLN 定位算法相比,提出的SLS-I-RSS 算法的MLE 得到有效下降。這說明,SLS-I-RSS 算法的定位精度優(yōu)于RSS-DLN,并且隨β 的增加,優(yōu)勢(shì)越發(fā)明顯。例如,在β=2.0 時(shí),RSSI-DLN 的MLE 達(dá)到1.1 m,而SLS-I-RSS 算法的MLE 只有0.9 m。當(dāng)β 從2.0 增加至4.5 時(shí),RSSI-DLN 和SLS-I-RSS 算法的MLE 分別增加至3.5 m、1.75 m。與RSS-DLN 相比,SLS-I-RSS 算法的MLE 下降了約49.7%。
3.2.2 噪聲變量Xσ
在實(shí)際環(huán)境中,噪聲變量Xσ對(duì)定位精度有直接的影響。為此建立實(shí)驗(yàn),分析Xσ對(duì)MLE 的影響。在本次實(shí)驗(yàn)中,β=3、m=40、N=100,而Xσ在[1.0,5]間變化。實(shí)驗(yàn)數(shù)據(jù)如圖4 所示。
從圖4 可知,噪聲變量Xσ的增加提高了MLE。相比于RSSI-DLN 定位算法,提出的SLS-I-RSS 定位算法降低了MLE。這主要是因?yàn)镾LS-I-RSS 算法改進(jìn)RSS 測距精度,同時(shí),利用拉格朗日最優(yōu)估計(jì)未知節(jié)點(diǎn)的位置,降低了定位誤差。
3.2.3 錨節(jié)點(diǎn)數(shù)m
本次實(shí)驗(yàn)分析錨節(jié)點(diǎn)數(shù)m 對(duì)MLE 的性能影響,其中噪聲變量Xσ為2 dB,路徑損耗β=3。錨節(jié)點(diǎn)數(shù)m 從20 變化至40,實(shí)驗(yàn)數(shù)據(jù)如圖5 所示。
圖5 錨節(jié)點(diǎn)數(shù)m 對(duì)MLE 的影響
從圖5 可知,錨節(jié)點(diǎn)數(shù)m 的增加降低了MLE,提高了定位精度。原因在于錨節(jié)點(diǎn)數(shù)越多,在測距時(shí),能夠選擇更多組的錨節(jié)點(diǎn)間距離和參考接收功率,進(jìn)而降低了測距誤差。最終能夠提高定位精度。
利用算法運(yùn)行時(shí)間反映算法的復(fù)雜度。運(yùn)行時(shí)間越長,算法越復(fù)雜。為此,建立分析定位算法的實(shí)驗(yàn)。在實(shí)驗(yàn)中,噪聲變量Xσ為2 dB,路徑損耗β=3。錨節(jié)點(diǎn)數(shù)m=40。RSSI-DLN 和SLS-I-RSS 算法的運(yùn)行時(shí)間如表1 所示。
表1 算法的運(yùn)行時(shí)間
從表1 可知,提出的SLS-I-RSS 算法的MLE遠(yuǎn)低于RSSI-DLN,而算法運(yùn)行時(shí)間只是略高于RSSI-DLN 算法的0.05 s。換言之,SLS-I-RSS 算法并沒有以增加復(fù)雜度為代價(jià)換取定位精度。
針對(duì)無線傳感網(wǎng)絡(luò)的節(jié)點(diǎn)定位問題,提出基于優(yōu)化RSS 測距的平方最小平方定位算法SLS-I-RSS。SLS-I-RSS 算法充分考慮了RSS 測距誤差,并利用多組錨節(jié)點(diǎn)間距離和接收功率作為參考,估計(jì)未知節(jié)點(diǎn)離錨節(jié)點(diǎn)間的距離。然后,利用平方最小平方算法優(yōu)化定位問題。實(shí)驗(yàn)結(jié)果證實(shí)提出的SLS-I-RSS 算法能夠有效地降低定位誤差。