李新玲,何加銘,2
(1.寧波大學(xué)通信技術(shù)研究所,浙江寧波 315211;2.浙江省移動(dòng)網(wǎng)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,浙江寧波 315211)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是一種全新的信息獲取和處理技術(shù),確定事件發(fā)生的位置或獲取消息的節(jié)點(diǎn)位置是傳感器網(wǎng)絡(luò)最基本的功能之一,對(duì)傳感器網(wǎng)絡(luò)應(yīng)用的有效性起著關(guān)鍵的作用[1]。
全球定位系統(tǒng)是目前應(yīng)用最廣泛最成熟的定位系統(tǒng),具有定位精度高、實(shí)時(shí)性好以及抗干擾能力強(qiáng)等優(yōu)點(diǎn),但是GPS定位并不適用于有遮擋物存在的環(huán)境[2],節(jié)點(diǎn)能耗和體積較大,使用成本很高。在機(jī)器人領(lǐng)域中,機(jī)器人節(jié)點(diǎn)通常攜帶充足的能量供應(yīng)和精確的測(cè)距設(shè)備,系統(tǒng)中機(jī)器人節(jié)點(diǎn)的數(shù)量很少,所以這些機(jī)器人定位算法不適用于傳感器網(wǎng)絡(luò)[3]。
無(wú)線傳感器節(jié)點(diǎn)通常隨機(jī)放在不同的環(huán)境中執(zhí)行各種監(jiān)測(cè)任務(wù),節(jié)點(diǎn)的定位不依靠全局的基礎(chǔ)設(shè)施協(xié)助定位,配置低、能量少、可靠性差,測(cè)量距離時(shí)會(huì)產(chǎn)生誤差[4],因此定位算法必須具有較好的容錯(cuò)性,盡量減少節(jié)點(diǎn)之間的通信開(kāi)銷(xiāo),延長(zhǎng)網(wǎng)絡(luò)的生存周期,并且每個(gè)節(jié)點(diǎn)分布式計(jì)算自身位置,而不是將所有信息傳送到某個(gè)節(jié)點(diǎn)進(jìn)行集中計(jì)算。
本文提出的RSSI-HOP算法就是一種典型的與距離無(wú)關(guān)的定位算法,通過(guò)引用節(jié)點(diǎn)的RSSI強(qiáng)度來(lái)細(xì)化節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)之間跳數(shù),從而相對(duì)提高節(jié)點(diǎn)定位精度。
現(xiàn)有的無(wú)線傳感器定位方法大致有2類(lèi):基于距離和距離無(wú)關(guān)定位[5]?;诰嚯x定位指通過(guò)節(jié)點(diǎn)間測(cè)量距離或測(cè)量角度的輔助來(lái)進(jìn)行節(jié)點(diǎn)定位的方法;距離無(wú)關(guān)定位指無(wú)需節(jié)點(diǎn)間的測(cè)量距離或相對(duì)角度、只依賴(lài)節(jié)點(diǎn)間連通信息的定位方法[6]。基于測(cè)距的方法能夠?yàn)閭鞲衅魈峁┮粋€(gè)精確的位置,然而,其對(duì)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件要求也比較高,在一些應(yīng)用領(lǐng)域,由于傳感器節(jié)點(diǎn)上硬件成本和限制,通常不使用基于測(cè)距的方法[7],然而如何在低成本硬件基礎(chǔ)上實(shí)現(xiàn)大范圍定位的同時(shí)盡可能減少測(cè)量誤差,提高定位精度是當(dāng)前定位技術(shù)面臨的主要困難。
距離無(wú)關(guān)定位方法通過(guò)跳數(shù)來(lái)計(jì)算未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的距離,有質(zhì)心算法、APIT算法和DV-Hop定位算法。DV-Hop定位算法復(fù)雜度低,在各向同性網(wǎng)絡(luò)中具有較高的定位精度,并且可以覆蓋大范圍的監(jiān)測(cè)區(qū)域,網(wǎng)絡(luò)部署成本低,目前已成為一種經(jīng)典的距離無(wú)關(guān)定位方法。
D.Nieulesu[8]等 人 提 出 的 APS(Adhoc Positioning system)系統(tǒng)采用的定位方法是:首先采用了經(jīng)典的距離向量交換使所有網(wǎng)絡(luò)節(jié)點(diǎn)都能獲取到信標(biāo)節(jié)點(diǎn)的以hop為單位的距離。每一個(gè)節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)交互更新。第2階段,一個(gè)信標(biāo)節(jié)點(diǎn)在與其他信標(biāo)累積距離后,估計(jì)其平均每跳距離,并且將該平均單跳距離作為此信標(biāo)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的標(biāo)準(zhǔn)部署校正。第3階段,任意節(jié)點(diǎn)在接收校正時(shí),估計(jì)自己到信標(biāo)節(jié)點(diǎn)的距離,以單位米表示,用于進(jìn)行三邊測(cè)量。其中校正值的計(jì)算方法如下:
式中,(xi,yi)為第j個(gè)信標(biāo)節(jié)點(diǎn)的位置;hj為從第j個(gè)信標(biāo)節(jié)點(diǎn)到第i個(gè)信標(biāo)節(jié)點(diǎn)的跳數(shù)。
如圖1所示,3個(gè)信標(biāo)節(jié)點(diǎn)A與B、B與C、C與A之間的跳數(shù)分別為7跳、4跳和4跳,測(cè)量距離分別為100 m、65 m和80 m。則估計(jì)的網(wǎng)絡(luò)平均單跳距離為:(1065+80)/(7+4+4)=16.3 m。
接收信號(hào)強(qiáng)度指示器(RSSI)是一種利用信號(hào)傳遞過(guò)程中強(qiáng)度衰減特征來(lái)進(jìn)行距離估算的一種測(cè)距技術(shù)[9]。
圖1 跳數(shù)信息估計(jì)網(wǎng)絡(luò)平均單跳距離示意圖
式中,PL(d)表示傳播距離d之后的信號(hào)強(qiáng)度損耗,以dB為單位;η是耗散系數(shù)(又名信號(hào)傳播常數(shù)),用于指示耗散隨路徑增加的速率,通常取值為2~4;d0是從發(fā)射端附近測(cè)量的一個(gè)參考距離;Xσ是隨機(jī)環(huán)境噪聲,遵循X~N(0)。
從RSSI的耗散模型可看出,距離越近路徑耗散越小,在接收端測(cè)得RSSI值越大,距離越遠(yuǎn),耗散越大;在接收端測(cè)得RSSI值越小,因此可以使用節(jié)點(diǎn)間RSSI值來(lái)作為其距離大小的比征。在此引入RSSI測(cè)距技術(shù),僅僅作為DV-HOP算法中的一種輔助定位手段,用于限制算法中的跳數(shù)和平均每跳距離值,在算法中并不進(jìn)行基于RSSI的測(cè)距。
如果一個(gè)節(jié)點(diǎn)與它的鄰居節(jié)點(diǎn)之間視線連接,那么它的距離測(cè)量的平均誤差非常小。如果一個(gè)節(jié)點(diǎn)安裝在樹(shù)干上、坑井中,那么它的平均誤差將會(huì)非常大,因此不加選擇地使用RSSI來(lái)定位野外的傳感器將會(huì)產(chǎn)生較大的誤差。
由于無(wú)線信號(hào)在空間的傳播過(guò)程中隨著距離的增加,信號(hào)強(qiáng)度不斷下降,通過(guò)接收端測(cè)量信號(hào)強(qiáng)度的方式,就估算出發(fā)射端和接收端的距離。其理論路徑耗散函數(shù)如下:
在實(shí)際應(yīng)用中,由于地勢(shì)不同,節(jié)點(diǎn)不均勻部署在監(jiān)測(cè)區(qū)域中,導(dǎo)致傳感器節(jié)點(diǎn)部署不規(guī)則,一些節(jié)點(diǎn)有幾十個(gè)鄰居節(jié)點(diǎn),而一些節(jié)點(diǎn)只有五六個(gè)鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)之間的距離也有很大差距,最短的幾米,而最長(zhǎng)的可能有幾十米。非統(tǒng)一部署網(wǎng)絡(luò)中,由于標(biāo)準(zhǔn)DV-HOP算法通常會(huì)產(chǎn)生很大的誤差,如果2個(gè)節(jié)點(diǎn)到相同的信標(biāo)節(jié)點(diǎn)有相同的跳數(shù),那么他們的位置估計(jì)將會(huì)是相同的,這明顯與實(shí)際情況不符。
雖然由RSSI得到節(jié)點(diǎn)之間的距離有一定的測(cè)量誤差,但是節(jié)點(diǎn)之間的RSSI隨著距離的增加單調(diào)減小,仍具有參考價(jià)值。因此可以用RSSI來(lái)計(jì)算鄰居節(jié)點(diǎn)的關(guān)于RSSI的跳數(shù),為了表達(dá)方便,稱(chēng)之為RSSI跳數(shù):
式中,∑jDrssi(i,j)表示節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的累積距離,Drssi(i,j)由路徑耗散函數(shù)計(jì)算而得,di表示信標(biāo)節(jié)點(diǎn)i的平均單跳距離估計(jì):
式中,hj為從第j個(gè)信標(biāo)節(jié)點(diǎn)到第i個(gè)信標(biāo)節(jié)點(diǎn)的跳數(shù)。
①信標(biāo)節(jié)點(diǎn)向鄰居節(jié)點(diǎn)廣播自身位置數(shù)據(jù)包:{xi,yi,hopcounti,hrssii},其中(xi,yi)為信標(biāo)節(jié)點(diǎn) i的坐標(biāo),hopcounti為該節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的以hop為單位的最短距離,hrssii為該節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)RSSI跳數(shù),計(jì)算方法如式(3)所示。其中di是根據(jù)信標(biāo)節(jié)點(diǎn)之間RSSI累積距離計(jì)算出來(lái)的平均單跳距離,由此得到的Hrssi節(jié)點(diǎn)間跳數(shù)信息作為參考,計(jì)算節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)之間的距離。根據(jù)RSSI距離在節(jié)點(diǎn)短距離視線靠近時(shí)接近真實(shí)距離,具有很高的參考價(jià)值。相反的,節(jié)點(diǎn)間距離較遠(yuǎn)或有遮擋物時(shí),RSSI距離較大,相應(yīng)的距離信息也不準(zhǔn)確,不具有參考價(jià)值,因此該處節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)跳數(shù)計(jì)算公式如下:
②計(jì)算該節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的距離ri,計(jì)算公式如下:
③當(dāng)該節(jié)點(diǎn)與大于等于3個(gè)信標(biāo)節(jié)點(diǎn)有距離估計(jì)時(shí),利用三邊測(cè)量法估算出自身位置,并升級(jí)為附加信標(biāo)節(jié)點(diǎn)參與后續(xù)迭代定位過(guò)程,輔助剩余節(jié)點(diǎn)定位。
本文的實(shí)驗(yàn)在OMNET平臺(tái)上進(jìn)行,采用c++編程,節(jié)點(diǎn)分為信標(biāo)節(jié)點(diǎn)和普通節(jié)點(diǎn),hop by hop方式進(jìn)行節(jié)點(diǎn)信息交互,估算節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)位置,為了監(jiān)測(cè)本算法的性能,同時(shí)客觀獲取實(shí)驗(yàn)結(jié)果數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)由多次實(shí)驗(yàn)獲取統(tǒng)計(jì)數(shù)據(jù)的平均值計(jì)算而得,所有節(jié)點(diǎn)均采取而為隨機(jī)部署方式進(jìn)行部署。
在仿真中,節(jié)點(diǎn)隨機(jī)部署在500 m*500 m的方形區(qū)域中,設(shè)置節(jié)點(diǎn)的通信距離為30 m。信標(biāo)節(jié)點(diǎn)個(gè)數(shù)為6,節(jié)點(diǎn)密度為6。選取其中100個(gè)節(jié)點(diǎn)的定位結(jié)果,比較結(jié)果如圖2所示。因?yàn)闊o(wú)線線路中的RSSI是非常不穩(wěn)定的,并且對(duì)環(huán)境因素十分敏感,很難建模,因此在仿真時(shí)隨機(jī)選取50%的節(jié)點(diǎn)分布不均勻,且其平均相對(duì)測(cè)量誤差為20%。其余節(jié)點(diǎn)對(duì)之間的測(cè)量誤差較小。誤差較大的節(jié)點(diǎn)所占比例越多,表明網(wǎng)絡(luò)節(jié)點(diǎn)部署越不均勻,DV-hop中以跳數(shù)表示的節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的距離也就也失真。
圖2 定位結(jié)果比較
如圖2所示,RSSI-Hop的定位誤差明顯減小,這表明,雖然由RSSI得到的距離估計(jì)存在一定的誤差,但是其在一定程度上仍能在一定程度上反映出節(jié)點(diǎn)分布狀況,由此得到的節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的跳段距離更接近于真實(shí)距離。尤其當(dāng)節(jié)點(diǎn)分布較為密集時(shí),節(jié)點(diǎn)對(duì)越接近,由RSSI得到距離值越接近真實(shí)距離,得到的hop數(shù)就越真實(shí)。
圖3 定位結(jié)果比較
當(dāng)節(jié)點(diǎn)密度較低時(shí),DV-Hop性能較差,這是因?yàn)楣?jié)點(diǎn)不統(tǒng)一分布狀況明顯,跳數(shù)所表示的距離嚴(yán)重偏離真實(shí)值;當(dāng)節(jié)點(diǎn)密度較大時(shí),這一問(wèn)題得到緩解,定位精度因此也提高了,尤其是節(jié)點(diǎn)密度由3增加到10時(shí),平均誤差明顯下降。RSSI-Hop隨節(jié)點(diǎn)密度增加,Drssi(i,j)的相對(duì)誤差降低,由Hrssi(i)表示的距離更接近真實(shí)值,因此定位精度也隨之提高。當(dāng)節(jié)點(diǎn)密度增加到一定程度之后,由于受到網(wǎng)絡(luò)中信標(biāo)節(jié)點(diǎn)數(shù)量等因素的制約,節(jié)點(diǎn)平均定位誤差不再下降而是趨于平和。
通過(guò)分析經(jīng)典的DV-Hop定位算法在計(jì)算節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)跳段距離的方面的不足,提出根據(jù)RSSI耗散模型的距離相關(guān)特性,引入Hrssi輔助估算各節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)之間的跳段距離,實(shí)驗(yàn)證明該算法有效提高了網(wǎng)絡(luò)中節(jié)點(diǎn)密度較大區(qū)域節(jié)點(diǎn)定位精度,減少了由于節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)跳段距離相同而引起的定位沖突,提高了迭代效率,具有良好的定位效果。但是在障礙物大量存在的網(wǎng)絡(luò),RSSI并不能很好地反應(yīng)距離相關(guān)特性,不能明顯提高定位精度。
[1]TRIGONI N,KRISHNAMACHARI B.Sensor Network Algorithms and Applications[J].Phil.Trans.Roy.Soc,2012(370):5-10.
[2]SCHMID J,BEUTLER F,NOACK B,et al.An Experimental Evaluation of Position Estimation Methods for Person Localization in Wireless Sensor Networks[J].Lecture Notes in Computer Science,2011(6567):147-162.
[3]孫利民.無(wú)線傳感網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005:148-155.
[4]AMUNDSON I,SALLAI J ,KOUTSOUKOS X,et al.RF Angle of Arrival-based Node Localisation[J].International Journal of Sensor Networks,2011(9):209-224.
[5]COTARUIZ J,ROSILES J,ERNESTO S,et al.A Low-Complexity Geometric Bilateration Method for Localization in Wireless Sensor Networks and Its Comparison with Least-SquaresMethods [J].Sensors,2012(12):839-862.
[6]BOUKERCHE A,OLIVERIA H A B F,NAKAMURA E F,et al.Secure Localization Algorithms for Wireless Sensor Networks[J].Communications Magazine,IEEE,2008(46):96-101.
[7]STANKOVIC J A,TIAN He.Energy Management in Sensor Networks[J].Phil.Trans.Roy.Soc,2012(370):52-67.
[8]NICULESCU D,NATH B.DV Based Positioning in ad hoc Networks[J].Journal of Telecommunication Systems,2003,22(1):267-280.
[9]WEI Xi,HE Yuan,LIU Yun-hao,et al.Locating Sensors in the Wild:Pursuit of Ranging Quality[C]∥New York:Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems,2011:295-308.