馬永光, 王 朔, 邢 建, 石 樂
(華北電力大學 控制與計算機工程學院,河北 保定 071003)
近年來,無線傳感器網(wǎng)絡[1](wireless sensor networks,WSNs)節(jié)點定位算法可歸為兩類:基于測距(range-based)的方法與非測距(range-free)的方法。Range-Based方法通過測量絕對距離或方位角度等信息確定節(jié)點位置,定位精度取決于測量的準確性。在基于接收信號強度(received signal strength,RSS)的定位方法中,節(jié)點根據(jù)無線信道的路徑損耗模型,利用RSS值估計距離。RSS值易受環(huán)境噪聲影響,影響測距的準確性[2,3]。在現(xiàn)有的基于RSS的定位方法[4,5]中,常常忽略噪聲對RSS的影響,定位精度差強人意。
諸多定位算法又可以分為非協(xié)作式定位[2,6,7]與協(xié)作式定位[3,8]。前者僅僅利用未知節(jié)點與每個錨節(jié)點間的測量距離,逐個確定每個未知節(jié)點的位置信息;后者則利用網(wǎng)絡中包括未知節(jié)點在內(nèi)的所有節(jié)點間的測距數(shù)據(jù),同時確定全部未知節(jié)點的位置。受節(jié)點成本與監(jiān)測環(huán)境復雜程度的制約,網(wǎng)絡中錨節(jié)點的數(shù)量十分有限,協(xié)作式定位往往能夠?qū)崿F(xiàn)更高的定位精度。
本文在充分考慮了噪聲因素的基礎上,將加權(quán)最小二乘法(weighted least squares,WLS)與多維標度分析法(multidimensional scaling,MDS)相結(jié)合,提出了一種新的基于RSS的協(xié)作式定位算法—WLS—MDS。
通過在不同環(huán)境下的反復測量與理論分析,通信節(jié)點間的歐氏距離d與接收信號強度P滿足Log-Normal Shadowing Path Loss模型[9]
P=P0-10nplgd+ω
(1)
式中P0為距離信號源d0;d0為參考距離(通常取d0=1 m)處的接收信號強度;nP為路徑損耗指數(shù);ω為具有方差
σ2的零均值高斯白噪聲。在某一特定的環(huán)境下σ2是一個與距離無關(guān)的常數(shù)。
為避免在噪聲強度較大的環(huán)境下常規(guī)dm簡化模型引起更大的測距誤差,導致定位精度的惡化,本文在已知σ的情況下,采用文獻[10]中提出的dm的無偏估計量m構(gòu)造距離矩陣
(2)
令Y=lnm,發(fā)現(xiàn)Y滿足均值為方差為λ2σ2的正態(tài)分布,則m服從對數(shù)正態(tài)分布,其數(shù)學期望與方差為
E(m)=dm,var(m)=d2m(eλ2σ2-1)
(3)
WSNs由分布在二維空間中的M+N個傳感器節(jié)點組成,節(jié)點位置信息由平面直角坐標系中的坐標值唯一確定,其中,第i個節(jié)點的坐標向量xi=[xiyi]T。不失一般性,假設前M個節(jié)點為位置已知的錨節(jié)點,后N個節(jié)點為需要定位的未知節(jié)點。對網(wǎng)絡中每兩個節(jié)點所組成的節(jié)點對作如下劃分
(4)
式中Θ1為每兩個錨節(jié)點組成的節(jié)點對的集合,Θ2為每兩個未知節(jié)點組成的節(jié)點對的集合,Θ3為每個錨節(jié)點與每個未知節(jié)點組成的節(jié)點對的集合。由錨節(jié)點與未知節(jié)點的坐標所組成的坐標矩陣分別為Xa=[x1x2…xM],Xs=[xM+1xM+2…xM+N],網(wǎng)絡中所有節(jié)點的坐標矩陣為X=[XaXs]。根據(jù)MDS的基本原理,X的中心化內(nèi)積矩陣
B=JXTXJ=-0.5JDJ
(5)
D=
(6)
在實際的應用環(huán)境中,由于高斯白噪聲的存在,Θ2與Θ3中包含的節(jié)點對之間的實際距離無法精確測量,只能根據(jù)d2的估計值構(gòu)造矩陣D,此時X的中心化內(nèi)積矩陣近似的表示為
(7)
式中
根據(jù)前文的推導結(jié)果,這里用dm的無偏估計來構(gòu)造矩陣D。令m=2,則
在考慮噪聲的情況下,將式(6)改寫成
(8)
對式(8)等號兩側(cè)同時進行向量化操作
(9)
式中hR,ξ和xs分別為R,Ξ和Xs的向量化運算結(jié)果,?HL。
(10)
式中W為權(quán)值矩陣,根據(jù)文獻[8],W的最佳取值為馬爾可夫估計
W=[cov(ξ)]
(11)
根據(jù)式(8)與式(10)
(12)
i=1,…,M+N
(13)
式中Eγ,i=[eα(i,1)eα(i,2)…eα(i,i-1)]T,i=2,…,M+N;Eδ,i=[eα(i+1,i)eα(i+2,i)…eα(M+N,i)]T,i=1,…,M+N-1;α(x,y)=0.5[2y(M+N)-2(M+N)-y2-y]+x。
W=(FΨCdΨTFT)
(14)
式中Cd為d的協(xié)方差矩陣,由于節(jié)點間RSS的測量相互獨立,Cd為對角矩陣。并且根據(jù)式(3),Cd的第β(i,j)個對角線元素
β(i,j)=(i-1)(M+N)-0.5i(i-1)+j-i
(15)
在MATLAB 7.0上對本文提出的WLS-MDS算法進行仿真實驗,并將實驗結(jié)果與MDS以及文獻[4]提出的線性最小二乘(linear least square,LLS)定位算法進行對比。本文以所有未知節(jié)點定位誤差的平均值作為衡量定位精度的標準
式中xr為未知節(jié)點的真實坐標;xe為未知節(jié)點坐標的估計值。
圖1為某一次執(zhí)行WLS-MDS算法的定位結(jié)果。
圖1 WLS-MDS算法的定位結(jié)果
如上圖所示,無線網(wǎng)絡由4個錨節(jié)點與10個未知節(jié)點組成,錨節(jié)點分別固定在坐標值為(2.5,2.5)m,(2.5,17.5)m,(17.5,2.5)m,(17.5,17.5)m的位置上,未知節(jié)點則隨機分布在20 m×20 m的矩形區(qū)域內(nèi)。星號表示未知節(jié)點的真實位置,圓圈表示W(wǎng)LS-MDS定位算法的計算結(jié)果,虛線長度表示該點的定位誤差。實驗中,取參數(shù)為P0=-20 dBm,np=2.5,σ3=4。經(jīng)計算實驗定位誤差Error=0.753 0 m。
在參數(shù)配置、節(jié)點數(shù)量及布局與前文一致的情況下,進行2 000次獨立重復實驗,實驗結(jié)果統(tǒng)計如圖2、圖3。
圖2 3種算法定位誤差頻數(shù)分布直方圖
圖3 3種算法概率累計曲線
圖2為WLS-MDS,LLS,CMDS 3種算法定位誤差的頻數(shù)分布直方圖,圖3為3者誤差的概率累計曲線。在本次實驗設置的條件下,WLS-MDS有90 %以上的概率達到Error≤1 m的定位精度,相比另外2種算法和具有顯著的優(yōu)勢。
研究環(huán)境噪聲方差σ2和未知節(jié)點數(shù)量N對WLS-MDS定位精度的影響,以下實驗數(shù)據(jù)均為獨立重復地進行500次仿真實驗所得結(jié)果的平均值。
1)取參數(shù)P0=-20 dBm,np=2.5,σ2=4,錨節(jié)點的位置如圖1所示,未知節(jié)點數(shù)目N從1遞增至20,3種算法的平均定位誤差對比如圖4。
圖4 定位誤差隨N的變化關(guān)系
由圖4可知,協(xié)作式定位算法MDS與WLS-MDS的定位誤差會隨著網(wǎng)絡中節(jié)點數(shù)量的增加而逐漸減小。而LLS定位算法,作為一種非協(xié)作式定位算法,僅僅依靠未知節(jié)點與每個錨節(jié)點間的測距信息計算節(jié)點坐標,其定位精度并不會隨著未知節(jié)點數(shù)量的增加而有所改善。在網(wǎng)絡中未知節(jié)點數(shù)目不同的情況下,本文提出的WLS-MDS定位算法,其定位精度均優(yōu)于另外2種算法。
2)取參數(shù)P0=-20 dBm,nP=2.5,網(wǎng)絡中節(jié)點分布如圖1所示,在噪聲方差σ2不同的環(huán)境下,對3種算法進行仿真,其結(jié)果如圖5所示。
圖5 定位誤差隨σ2的變化關(guān)系
隨著噪聲強度的增加,三者的定位精度均有不同程度的惡化。在不同強度的環(huán)境噪聲干擾下,WLS-MDS的定位誤差均小于其他2種算法。可見,即使在噪聲干擾較為嚴重的環(huán)境下,WLS-MDS依然能夠達到十分理想的定位精度。
本文提出基于RSS的WLS-MDS定位算法,在已知環(huán)境噪聲的情況下,利用d2的無偏估計構(gòu)造距離矩陣,進而計算出未知節(jié)點坐標的加權(quán)LSE。其本身是一種協(xié)作式定位算法,更加適合應用于錨節(jié)點數(shù)量有限、未知節(jié)點數(shù)量龐大的WSNs。而且由于該算法結(jié)合了WLS與MDS的優(yōu)點,在定位精度上,較傳統(tǒng)的協(xié)作式定位算法也具有明顯的優(yōu)勢。