朱忠記,何熊熊,章 曉,趙 松,夏燕玲
(浙江工業(yè)大學(xué)信息工程學(xué)院,浙江杭州310023)
傳感器技術(shù)、微機(jī)電系統(tǒng)技術(shù)、無(wú)線通信技術(shù)、片上系統(tǒng)和低功耗嵌入式技術(shù)、計(jì)算機(jī)技術(shù)的進(jìn)步,推動(dòng)了具有現(xiàn)代意義的低功耗多功能無(wú)線傳感器網(wǎng)絡(luò)的快速發(fā)展[1]。在無(wú)線傳感器網(wǎng)絡(luò)中,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的位置信息對(duì)傳感器網(wǎng)絡(luò)的監(jiān)測(cè)活動(dòng)相當(dāng)重要,它是傳感器網(wǎng)絡(luò)節(jié)點(diǎn)監(jiān)測(cè)消息中所包含的最重要信息之一[2-3],位置信息的準(zhǔn)確性直接關(guān)系到傳感器節(jié)點(diǎn)所采集數(shù)據(jù)的有效性[4]。傳感器節(jié)點(diǎn)只有準(zhǔn)確地進(jìn)行定位后才能詳細(xì)說(shuō)明在這個(gè)位置或區(qū)域發(fā)生了什么事件,實(shí)現(xiàn)對(duì)目標(biāo)的定位和追蹤[5],因此無(wú)線傳感器網(wǎng)絡(luò)的定位問(wèn)題越來(lái)越受到人們的關(guān)注。本文在不需要測(cè)距的粗粒度定位——質(zhì)心定位算法的基礎(chǔ)上,運(yùn)用接收的信號(hào)強(qiáng)度指示(Received Signal Strength Indication,RSSI)測(cè)距技術(shù)提供的信號(hào)強(qiáng)度信息,將兩者相結(jié)合提高定位精度。
無(wú)線信號(hào)在其傳播的過(guò)程中,受到反射、衍射、非視距等諸多因素的影響。常用的無(wú)線傳播路徑損耗模型有:1)自由空間中信號(hào)衰減模型;2)雙線地面反射模型;3)對(duì)數(shù)常態(tài)分布模型等[6]。本文采用模型1和模型3相結(jié)合的方式,并采用文獻(xiàn)[7]中提出的采用統(tǒng)計(jì)方法求中值并進(jìn)行加權(quán)的方法,也就是在每?jī)蓚€(gè)節(jié)點(diǎn)之間進(jìn)行一定時(shí)間的通信交流,由此得到一定量的RSSI數(shù)據(jù),在給定的錨節(jié)點(diǎn)序列中通過(guò)計(jì)算得到基于RSSI信號(hào)強(qiáng)度的中值,然后以此中值為基礎(chǔ),針對(duì)錨節(jié)點(diǎn)信號(hào)序列中的各個(gè)信號(hào)強(qiáng)度來(lái)計(jì)算它的權(quán)值,最后把所有的信號(hào)乘相對(duì)應(yīng)的權(quán)值,并對(duì)所有這些乘積結(jié)果進(jìn)行求和,作為兩節(jié)點(diǎn)之間的RSSI信號(hào)值并輸出。
由于三邊測(cè)距定位不能夠很好地反映信標(biāo)節(jié)點(diǎn)對(duì)待定位節(jié)點(diǎn)的影響力大小,為了進(jìn)一步提高三邊定位的精度,本文采用四邊測(cè)距定位算法[8]并對(duì)其改進(jìn),也就是每次選擇具有較好代表性4個(gè)錨節(jié)點(diǎn)來(lái)定位,如圖1所示。
圖1 四個(gè)三邊測(cè)距定位示意圖
進(jìn)行定位計(jì)算的原則是:對(duì)于這4個(gè)信標(biāo)節(jié)點(diǎn)任取3個(gè)為一組,這樣就可以得出4組組合,然后分別對(duì)每組用文獻(xiàn)[9]的方法進(jìn)行一次計(jì)算,分別得到一個(gè)近似的未知節(jié)點(diǎn)坐標(biāo)置位,共4個(gè),再對(duì)這4個(gè)位置利用質(zhì)心算法即可求出節(jié)點(diǎn)D的一個(gè)近似位置坐標(biāo)。
根據(jù)圖1 中4 個(gè)信標(biāo)節(jié)點(diǎn)的坐標(biāo)分別為 A(XA,YA),B(XB,YB),C(XC,YC),E(XE,YE),待測(cè)節(jié)點(diǎn)D(XD,YD)。先來(lái)計(jì)算4個(gè)信標(biāo)節(jié)點(diǎn)到未知節(jié)點(diǎn)的距離 d,分別為 d1,d2,d3,d4,然后分別通過(guò) A,B,C組,A,B,E 組,A,C,E 組,B,C,E 組這4組節(jié)點(diǎn)分別計(jì)算出 D 點(diǎn)的坐標(biāo)位置 D1(X1,Y1),D2(X2,Y2),D3(X3,Y3),D4(X4,Y4),為了更進(jìn)一步提高定位精度,對(duì)這4個(gè)估計(jì)位置進(jìn)行加權(quán)方法實(shí)現(xiàn)更精確定位,加權(quán)方法如下:
1)每個(gè)信標(biāo)節(jié)點(diǎn)一段時(shí)間后獲得相應(yīng)的未知節(jié)點(diǎn)得到一個(gè)RSSI信號(hào)序列;
2)利用文獻(xiàn)[6]中提出的統(tǒng)計(jì)中值加權(quán)的方法算出RSSI信號(hào)值輸出,使用RSSI測(cè)距公式計(jì)算出信標(biāo)點(diǎn)到未知位置節(jié)點(diǎn)的距離;
3)將測(cè)得的距離值從小到大排序,取前4個(gè)錨節(jié)點(diǎn)進(jìn)行定位,若其中有某3個(gè)圓不兩兩相交,就用緊接著的后一個(gè)節(jié)點(diǎn)來(lái)替換彌補(bǔ);
4)取步驟2中的前4個(gè)錨節(jié)點(diǎn)進(jìn)行定位,每3個(gè)一組進(jìn)行組合計(jì)算,一共有4組組合,并計(jì)算出這4個(gè)坐標(biāo),即得到對(duì)待測(cè)節(jié)點(diǎn)的4個(gè)坐標(biāo)估計(jì)值;
5)利用式(1)、式(2)對(duì)步驟4所得到的坐標(biāo)進(jìn)行計(jì)算,獲得待測(cè)節(jié)點(diǎn)最終的估計(jì)坐標(biāo)。
本文在MATLAB 7.10.0(2010a)仿真平臺(tái)上進(jìn)行仿真。設(shè)置傳感器區(qū)域?yàn)?0 m×30 m,25個(gè)信標(biāo)節(jié)點(diǎn)較“均勻”地分布于傳感區(qū)域,5 個(gè)未知節(jié)點(diǎn)坐標(biāo)為(5,4)、(8,16)、(15,10)、(21,5)、(25,15)。進(jìn)行5次循環(huán)定位計(jì)算,每次選定前5組錨節(jié)點(diǎn)圓,測(cè)量誤差μ是零均值高斯分布變量。當(dāng)n=1時(shí),選取式(1)、式(2)進(jìn)行運(yùn)算,與文獻(xiàn)[10]的仿真結(jié)果對(duì)比,得到的結(jié)果如表1、圖2、圖3所示。
表1 誤差統(tǒng)計(jì)表(單位:m)
分析數(shù)據(jù)表1可知:在同等條件下,當(dāng)N=5(其中N為參與定位的錨節(jié)點(diǎn)圓組數(shù))時(shí),加權(quán)融合三邊定位算法平均誤差為2.916 m,最大誤差達(dá)到了1.225 m;而改進(jìn)的加權(quán)質(zhì)心四邊定位算法最大誤差只有0.312 m,平均誤差0.147 m;當(dāng)N=6時(shí),加權(quán)融合三邊定位算法的平均誤差達(dá)到2.916 m,最大誤差達(dá)到了5.466 m,而改進(jìn)的加權(quán)質(zhì)心四邊定位算法的平均誤差也只0.587 m,最大誤差0.727 m。
圖2 加權(quán)融合三邊測(cè)量算法仿真圖
圖3 加權(quán)質(zhì)心四邊測(cè)量算法仿真圖
圖2、3中,4條邊框上的小點(diǎn)表示定位節(jié)點(diǎn),圖內(nèi)部5個(gè)三角形表示待定位標(biāo)簽的真實(shí)位置(其中圖2、3的初始化仿真環(huán)境條件都一樣,而且2個(gè)圖中的三角形的布局完全一樣,由于采用改進(jìn)后的定位算法,定位精度更高,所以圖3中的5個(gè)三角形可能被圖內(nèi)小黑點(diǎn)覆蓋了),圖內(nèi)多個(gè)小黑點(diǎn)組成的區(qū)域表示估算出來(lái)的標(biāo)簽所在位置??煽闯?,相比于對(duì)于加權(quán)融合三邊定位算法,在改進(jìn)的加權(quán)質(zhì)心四邊定位算法中,未知節(jié)點(diǎn)無(wú)論是處于定位區(qū)域中心還是處于邊緣,定位精度都較高。比較圖2、3可知,相比于加權(quán)融合三邊測(cè)距算法,加權(quán)質(zhì)心四邊測(cè)距算法定位精度更高、魯棒性更好。
本文針對(duì)無(wú)線傳感器網(wǎng)絡(luò)定位技術(shù),首先引入統(tǒng)計(jì)中值加權(quán)的方法,對(duì)接收的RSSI值進(jìn)行處理,有效地降低了采集RSSI信號(hào)時(shí)的測(cè)量誤差,然后運(yùn)用Euclidean算法對(duì)四邊測(cè)距算法進(jìn)行改進(jìn)并應(yīng)用于本文算法,最后采用一種改進(jìn)的加權(quán)因子,對(duì)其位置進(jìn)行加權(quán)質(zhì)心定位,并充分考慮信標(biāo)節(jié)點(diǎn)與未知節(jié)點(diǎn)之間的位置對(duì)RSSI值的影響力,最終獲得未知節(jié)點(diǎn)的坐標(biāo)位置,很大程度上提高了節(jié)點(diǎn)的定位精度和魯棒性。
[1]孫利民,李建中,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005:5-9.
[2]Rabacy J J,Ammer M J,Da Silva Jr,et al.Picorodio Supports Ad Hoc Uitra-Low Power Wireless Networking[J].Computer,2000,33(7):42 - 48.
[3]Savarese C,Rabaey J M,Beutel J.Locationing in Distributed Ad-Hoc Wireless Sensor Network[C].Acoustics Speech:IEEE Signal Processing Society,2001:2 037 -2 040.
[4]Capkun S,Hamdi M Hubaux J P.GPS-Free Positioning in Mobile Ad-Hoc Networks[C].Hawaii:IEEE Computing society,2011:3 481 -3 490.
[5]李瑤怡,赫曉星,劉守印.基于路徑損耗模型參數(shù)實(shí)時(shí)估計(jì)的無(wú)線定位方法[J].傳感技術(shù)學(xué)報(bào),2010,23(9):1 328-1 333.
[6]陳維克,李文鋒,首珩,等.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J].武漢理工大學(xué)報(bào),2006,30(2):265-268.
[7]Yan Xiaoyong,Qian Huanyan,Huang Ya,et al.A high accuracy localization based on RSSI measurements[C].XianNing:Xianning College,2011:1 926 -1 929.
[8]文舉,金建勛,袁海.一種無(wú)線傳感器網(wǎng)絡(luò)四邊測(cè)距定位算法[J].傳感器與微系統(tǒng),2008,27(5):108-110.
[9]Dragos Niculescu,Badri Nath.Ad Hoc Positioning System[C].San Antonio:IEEE Computing society,2001:2 926 -2 931.
[10]沈笑慧,張健,何熊熊.基于接收信號(hào)強(qiáng)度指示加權(quán)融合的定位算法[J].華僑大學(xué)學(xué)報(bào),2012,33(6):635-639.