弓艷榮,劉 鵬
(內蒙古電子信息職業(yè)技術學院,呼和浩特 010070)
源定位技術是通過發(fā)射端發(fā)射信號,接收端通過測量信號的到達時間(time of arrival, TOA)[1]、接收信號強度(received signal strength, RSS)[2]以及到達角度等參數,估計發(fā)射端位置的技術。
目前,針對非視距(non-line-of-sight, NLOS)和視距(line-of-sight, LOS)的混合(LN-M)場景下的源定位算法[2-6]可分為基于優(yōu)化的約束最小二乘法和基于穩(wěn)健統(tǒng)計定位兩類。前者具有較高的定位精度,但它的復雜度高于基于穩(wěn)健統(tǒng)計定位算法。因此,文中著重關注基于穩(wěn)健統(tǒng)計定位算法。
多數的LN-M場景下的源定位算法采用中值概念,如最小中值平方(least median squares, LMEdS)[7],M-估計[8-9]等。但測距信號的抽樣值在正態(tài)分布條件下,抽樣均值(sample mean, SMN)是一個有效估計策略,其性能優(yōu)于抽樣中值(sample median, SMIN)策略。
然而,當出現(xiàn)異常抽樣值時,即抽樣值服從t分布、雙重指數分布等重尾分布時,抽樣均值的準確性迅速下降,劣于SMIN。因此,將基于抽樣均值的加權平方誤差(weighted square error, WSE)損失函數用于LOS場景。相反,在LN-M場景下就采用基于抽樣中值的WSE損失函數。因此,通過最小化這兩個場景下的WSE損失函數的和可實施源定位。為此,提出加權平方誤差損失函數的魯棒定位算法WSE-RS。
假定網絡內有M個接收器(傳感節(jié)點),一個發(fā)射器(源節(jié)點)。令[xiyi]T為第i個傳感節(jié)點的位置,[xy]T為源節(jié)點位置。
接收端通過測量源節(jié)點傳輸信號的到達時間TOA可估測與源節(jié)點的距離。在LOS/NLOS混合環(huán)境下,可建立式(1)所示的測量等式。第i個接收器所測量到源節(jié)點的距離為:
(1)
式中:di表示源節(jié)點(發(fā)射器)與第i個接收器間的真實距離;ni,j表示對噪聲變量的第j個抽樣值[10]。且i=1,2,…,M;j=1,2,…,P。ni,j服從LOS和NLOS的高斯混合分布,可表示為:
(2)
用最小二乘法[11]求解式(1)。對式(1)兩邊平方,可得:
(3)
AX+qj=bj
(4)
ri,j中的異常值嚴重降低了算法性能。因此,用中值濾除異常值的影響。利用最小化平方誤差和實現(xiàn)LS定位估計:
(5)
式中:med(b1:P)=[med(b1,1:P),med(b2,1:P),…,med(bM,1:P)]T。med()表示計算中值的函數,即對P個抽樣值進行排序,取中間值。例如,med(b1,1:P)表示計算b1中P個抽樣值的中值。傳統(tǒng)的LS估計是計算所有抽樣值的平方誤差和,而式(5)是計算節(jié)點抽樣值中值的平方誤差和。
采用高斯-牛頓估計法進行源定位。先建立最小化平方誤差的表達式:
(6)
再利用泰勒級數展開算法在參考點x0處對測距值進行線性處理:
d=f(X)≈f(x0)+G(X-x0)
(7)
(8)
利用基于抽樣中值的LS估計位置作為x0,可對X進行估計:
X(k+1)=X(k)+(G(k)TG(k))-1G(k)T[med(r1:P)-f(X(k))]
(9)
式中:X(k)表示第k次迭代的X估計;med(r1:P)=[med(r1,1:P),med(r2,1:P),…,med(rM,1:P)]T。
將LOS/NLOS的混合場景劃分為LOS場景、LOS/NLOS場景。ε=0表示LOS場景;0<ε≤1表示LOS/NLOS場景。當傳感節(jié)點處于LOS/NLOS場景時,就利用抽樣中值構建損失函數;當傳感節(jié)點處于LOS場景,就利用基于抽樣均值構建損失函數。
(10)
當節(jié)點處于LOS場景,WSE-RS算法就利用抽樣均值構建WSE損失函數:
(11)
將式(11)擴展到多個節(jié)點得:
(12)
式中:NLOS表示屬于LOS節(jié)點的下標集。
當節(jié)點處于LOS/NLOS時,WSE損失函數為:
(13)
分別計算出在LOS、LOS/NLOS場景下的WSE損失函數,并通過最小化這兩個損失函數之和,實現(xiàn)對源節(jié)點定位:
(14)
通過求解式(15)可得源節(jié)點X的估計:
(15)
圖1給出WSE-RS算法估計源節(jié)點位置的簡要過程。先識別場景,再分別計算兩個場景下的損失函數,最后依據式(15)估計源節(jié)點位置。
圖1 WSE-RS算法框架
在Windows 7操作系統(tǒng)、8 GB內存、core i7 CPU的PC上進行實驗仿真。利用MATLAB軟件建立仿真平臺。在20 m×20 m區(qū)域內部署7個傳感節(jié)點,一個節(jié)點位于區(qū)域中心,另6個傳感節(jié)點分別分布于區(qū)域的邊界上,如圖2所示。10個源節(jié)點隨機分布于區(qū)域內。節(jié)點的通信半徑為10 m。
圖2 7個傳感節(jié)點和10個源節(jié)點的部署
選擇基于抽樣中值的最小二乘估計(LS-SM)和基于抽樣中值的高斯-牛頓估計(GN-SM)作為參照,并分析它們的均方根誤差RMSE的平均值,其表達式為:
(16)
首先,分析LOS噪聲的標準方差σ1對ARMSE的影響。σ1變化范圍為0.5~4,ε=0.3,σ2=10,μ2=5。仿真結果如圖3所示。
圖3 LOS噪聲的標準方差σ1對ARMSE的影響
從圖3可知,方差σ1的增加,增加了MSE的均值。原因在于:方差σ1測距誤差越大,降低了定位精度。相比于LS-SM算法、GN-SM算法,提出的WSE-RS算法降低了定位誤差。這是由于WSE-RS算法通過損失函數識別LOS場景和LOS/NLOS場景,并利用最小化兩個場景下的損失函數之和,估計節(jié)點的位置。
分析σ2對ARMSE均值的影響,其中σ2從2至10變化,如圖4所示。
圖4 NLOS噪聲的標準方差σ2對ARMSE的影響
從圖4可知,提出的WSE-RS算法的定位精度仍優(yōu)于LS-SM算法和GN-SM算法。LS-SM算法的定位精度最差,原因在于:LS-SM算法只通過最小二乘估計源節(jié)點位置,并沒有考慮到LOS場景與LOS/NLOS場景的區(qū)別;而GN-SM算法是在LS-SM算法的基礎上進行迭代,定位精度得到提高。此外,對比圖4(a)和圖4(b)不難發(fā)現(xiàn),圖4(b)的定位精度劣于圖4(a),有兩個原因:1)ε越大,意味著發(fā)生LOS/NLOS場景的概率越大,測距精度越低;2)σ1的增加,加大了測距誤差。
分析抽樣數q對ARMSE的影響,其中ε=0.3,σ1=0.25,σ2=0.10,μ2=5。
圖5為RMSE均值隨抽樣數q的變化曲線,其中抽樣數q從10至40變化。從圖5可知,抽樣數q的增加提高了定位精度,原因在于:抽樣數q越大,獲取的網絡環(huán)境以及測距信息越多,這有利于定位精度的提高。此外,相比于LS-SM算法和GN-SM算法,提出的WSE-RS算法在定位精度方面存在優(yōu)勢。
圖5 抽樣數q對ARMSE的影響
最后,分析算法的復雜度。用算法的運算時間表征算法的復雜度性能。運算時間越長,表明算法的復雜度越高。
表1給出了LS-SM算法、GN-SM算法和WSE-RS算法的運算時間。從表中可知,LS-SM算法的運算時間最短,只有0.7 ms。而WSE-RS算法的運算時間達到2.1 ms。這說明,WSE-RS算法是以高的復雜度換取高的定位精度。
表1 算法的復雜度
針對LOS/NLOS混合場景降低了TOA測距精度,提出基于加權平方誤差損失函數的魯棒定位算法(WSE-RS)。WSE-RS算法充分考慮到LOS場景與LOS/NLOS場景的特性,分別采用抽樣均值與抽樣中值構建WSE的損失函數。并通過高斯-牛頓法估計源節(jié)點位置。
仿真結果表明,相比于基于LS和高斯-牛頓算法,WSE-RS算法提高了定位精度,但是WSE-RS算法的復雜度較高。后期,將進一步分析優(yōu)化算法,降低算法的復雜度。