文獻標識碼: A
文章編號: 0258-7998(2015)01-0086-04
中文引用格式:黃海輝,李龍連.WSN中一種基于RSSI的移動節(jié)點改進定位算法[J].電子技術(shù)應用,2015,41(1):86-89.
英文引用格式:Huang Haihui,Li Longlian.An improved localization algorithm based on RSSI in WSN[J].Application of Electronic Technique,2015,41(1):86-89.
0 引言
在無線傳感器網(wǎng)絡(luò)的關(guān)鍵支撐技術(shù)中[1],定位技術(shù)是極其重要的組成部分,在其應用領(lǐng)域內(nèi),事件發(fā)生的位置信息是傳感器節(jié)點監(jiān)測消息中的重要信息,沒有節(jié)點位置信息的感知數(shù)據(jù)是毫無意義的[1]。
無線傳感器網(wǎng)絡(luò)的定位算法根據(jù)節(jié)點間的測距要求,主要分為距離相關(guān)和距離無關(guān)兩大類[2]。典型的距離相關(guān)的測距算法主要有:RSSI、TOA、TDOA、AOA等,分別利用三邊測量法、三角測量法、極大似然估計法、最小二乘法等來進行節(jié)點定位;典型的距離無關(guān)算法主要有:質(zhì)心算法、DV-HOP、MDS-MAP、APIT等。為提高定位精度,適宜采用距離相關(guān)的算法。在距離相關(guān)的幾種測距算法中,通過表1可以看出:基于RSSI的定位算法具有成本低、容易實現(xiàn)等優(yōu)點,在對定位精度不高的情況下得到了廣泛的應用。另外,目前很多傳感器節(jié)點都提供測量信號發(fā)射功率的功能,可以在節(jié)點廣播消息包的同時完成 RSSI 測量值的獲取,并且這種定位算法無需額外的硬件支持和復雜的數(shù)據(jù)處理,也不會增加通信開銷,能有效減少節(jié)點的硬件成本和能量消耗,適用于無線傳感器網(wǎng)絡(luò)。
近十年來,WSN獲得快速發(fā)展,人們研究的對象不僅僅針對靜態(tài)WSN,而且漸漸地關(guān)注動態(tài)網(wǎng)絡(luò)的節(jié)點定位技術(shù),這樣的要求就使得靜態(tài)定位算法在移動環(huán)境下就變得無效了。經(jīng)典的WSN移動節(jié)點定位算法主要有:MCL[3]、MCB[4]、MSL和MSL*[5]、MMCL[6]、rang-based-MCL[7]、RSS-MCL[8]、OTMCL[9]等。
弗吉尼亞大學的Hu和Evans首次提出了將蒙特卡洛定位算法應用于移動無線傳感網(wǎng)絡(luò)節(jié)點定位中[3],其提高了定位精度,減少了定位開銷;針對MCL采樣效率低的問題Baggio A和Langendoen K提出了蒙特卡洛盒子定位(Monte Carlo Localization Boxed,MCB)算法[4];約克大學的Rudafshani M和Datta S提出了移動和靜態(tài)傳感網(wǎng)絡(luò)定位算法MSL和MSL*算法[5];Dil B提出的Range-based-MCL[7]算法為基于距離的移動WSN定位,通過利用未知節(jié)點與錨節(jié)點之間的距離信息,可以濾波得到更精確的位置樣本,提高了定位精度。特別需要指出的是,Wang[8]等人將MCL和RSSI定位算法相結(jié)合,提出了基于RSSI的MCL定位算法,利用接收信號強度的對數(shù)正態(tài)模型對定位的預測和濾波過程進行了改進,改善了定位性能。
上述算法中,基于RSSI的MCL定位算法效果良好,在定位技術(shù)的研究和實際運用方面都有很大的意義,但存在計算量較大、無運動預測性等不足。因此,本文在文獻[3]和文獻[8]的基礎(chǔ)上,對移動無線傳感器網(wǎng)絡(luò)節(jié)點定位進行了深入研究,提出了一種基于RSSI的改進蒙特卡羅定位算法RSSI-IMCL。事實上,節(jié)點在運動過程中的運動參數(shù)一般不會突變,且基于RSSI的MCL算法沒有考慮運動預測問題,因而可以利用前幾個時刻的軌跡,預測當前時刻的運動參數(shù),減小采樣范圍,提高采樣準確率,從而提高定位精度,降低節(jié)點功耗。
1 基于RSSI的改進MCL算法
本文提出的算法是對基于RSSI的蒙特卡洛算法的一種改進,基本思想與經(jīng)典MCL和基于RSSI的MCL算法相似。即首先建立與描述該問題有相似性的概率模型,然后對模型進行隨機模擬或統(tǒng)計抽樣,再利用所得的結(jié)果求出特征量的統(tǒng)計值作為原問題的近似解,并對解的精度作出某些估計。
1.1 RSSI模型
一般的RSSI通信模型都認為網(wǎng)絡(luò)中各節(jié)點為各向同性,例如自由空間傳播模型、雙射線模型、哈他模型等皆為各向同性,這類模型皆是按照式(1)的框架建立的模型。
接收信號強度=發(fā)送功率-路徑損耗+信號衰退(1)
自由空間傳播是電波在真空中無阻擋視距傳播的一種理想狀態(tài)。其模型可以表示為式(2):
[Lfs]=32.44-10klgd+10klgf(2)
式(2)中,Lfs為傳輸損耗,d為節(jié)點距離,k為路徑衰減因子,一般取值為2,頻率單位以MHz計算。
在實際傳輸過程中,多徑現(xiàn)象不可避免,信號在傳輸時可能被一些障礙物吸收,或是發(fā)生反射、散射或衍射。這時我們可以采用不規(guī)則無線電模型來模擬實際應用環(huán)境,該模型在不同方向的路徑損耗是不同的。圖1表示的是自由模型和不規(guī)則電模型下RSSI值的比較。不規(guī)則電模型公式為式(3):
式(3)中,Pr(d)為接收功率,Pt為發(fā)送功率,PL(d0)為參考距離時的路徑損耗。
1.2 基于RSSI的MCL算法
蒙特卡洛定位其實就是一個粒子濾波算法,每一個定位時刻都被分為了預測和更新兩部分。在預測階段,根據(jù)節(jié)點速度信息和在上一定位時刻的粒子集確定采樣區(qū)域,并隨機采樣得到粒子;在濾波階段,根據(jù)收到的錨節(jié)點信息,對預測階段的粒子進行篩選,濾除不符合觀測條件的,并用滿足濾波條件的粒子的均值來估計節(jié)點的位置,如果濾波得到的粒子數(shù)沒有達到定位所需的粒子數(shù),則執(zhí)行重采樣和濾波過程,直到得到足夠數(shù)量的粒子或者達到最大采樣次數(shù)為止。
以下三個步驟詳細說明了基于RSSI的MCL算法的定位過程。假設(shè)整個無線網(wǎng)絡(luò)中,有一個未知的移動節(jié)點和M個位置已知的錨節(jié)點隨機分布在整個區(qū)域中。
?。?)預測階段
在預測階段,傳感器節(jié)點需要根據(jù)前一時刻的粒子集Lt-1和運動模型確定當前時刻的粒子集Lt。假設(shè)節(jié)點按照隨機行走模型(RWP)進行移動,該模型中,節(jié)點在任何時刻都不知道自己的運動速度和方向,僅僅知道自身的最大運動速率為vmax,方向為360°任意選擇。那么轉(zhuǎn)移分布p(mk|mk-1)便形成了一個以mk-1為圓心,以vmax為半徑的圓。表示如式(4)
在MCL算法的預測階段,基于前一時刻位置對當前時刻位置進行預測,節(jié)點可能的位置從上述的圓形區(qū)域隨機采樣獲得,該圓形區(qū)域就是采樣區(qū)域。
?。?)濾波階段
在濾波階段,節(jié)點將根據(jù)新的觀測信息,將不符合網(wǎng)絡(luò)連通度條件的位置樣本濾除掉。如果樣本滿足濾波條件,則概率分布為1,否則為0。如果滿足濾波條件的粒子數(shù)達到了定位所需數(shù)量,則將這些粒子取均值作為節(jié)點的估計位置;如果粒子數(shù)不足,則重復預測和濾波過程,直到得到足夠數(shù)量的粒子或達到最大采樣次數(shù)為止。在MCL算法中,為方便計算,選擇狀態(tài)轉(zhuǎn)移概率密度函數(shù)為重要性函數(shù),則每一時刻粒子的重要性權(quán)值可通過下列方法遞歸計算:
式(5)為預測階段,節(jié)點可以在前一時刻可能位置的基礎(chǔ)上預測當前時刻的可能位置。式(6)為更新階段,節(jié)點可以根據(jù)接收到的觀測信息更新當前時刻的粒子權(quán)值。然后用式(7)對權(quán)值進行歸一化,從而可以用一組帶權(quán)值的樣本集來估計節(jié)點位置的后驗概率分布。
?。?)重采樣階段
計算當前的位置需要重復進行預測和更新,將不可避免地出現(xiàn)粒子退化現(xiàn)象。因此需要重采樣,將權(quán)重值小的樣本淘汰,將權(quán)重值大的保留,用式(8)定義有效粒子數(shù)Neff,當Neff小于設(shè)定的門限值Nthreshold時,就需要進行重采樣。
基于RSSI的MCL算法相比于經(jīng)典的MCL算法,較大幅度地提高了定位精度,取得了良好的效果,但計算量較大,節(jié)點功耗過快,需要改進。
1.3 基于RSSI的改進MCL算法
針對基于RSSI的MCL算法的不足,本文提出了一種基于RSSI的改進MCL算法。在基于RSSI的MCL算法的預測階段,k時刻的位置概率分布只與k-1時刻的位置及速度有關(guān),沒有考慮k-1時刻之前的運動情況的影響,本文采用基于歷史軌跡的運動預測機制來提高先驗概率的準確性,也就是意味著可能更高的定位精度和可能更少的迭代次數(shù),從而降低節(jié)點的功耗。
Newton插值法和Lagrange插值法雖然構(gòu)造比較簡單,但是存在插值曲線在節(jié)點處有尖點、不光滑、插值多項式在節(jié)點處不可導等缺點,因此本文選擇Hermite插值法。一般,Hermite插值多項式Hk(x)的次數(shù)k如果太高會影響收斂性和穩(wěn)定性稱為runge現(xiàn)象。本文中,就采用前兩個時刻的位置信息,因此不會出現(xiàn)runge現(xiàn)象。
設(shè)f(x)在節(jié)點x0、x1處的函數(shù)值為y0、y1,在節(jié)點x0、x1處的一階導數(shù)值為,兩個節(jié)點最高可用3次Hermite多項式H3(x)作為插值函數(shù)。H3(x)應滿足的插值條件為H3(x0)=y0、H3(x1)=y1、設(shè)H3(x)的插值基函數(shù)H3(x)=a0 h0(x)+a1 h1(x)+a2 h2(x)+a3 h3(x),即H3(x)=ai hi(x)。
希望該函數(shù)與Lagrange和Newton插值一樣簡單,重新假設(shè):
由上式(11)中的 (x1)=0可知,x1是(x)的二重零點,可設(shè)(x)=(x-x1)2(ax+b),由(x0)=1、(x0)=0可知:
繼而可得?琢0(x)。
類似可得
將式(13)、(14)、(15)、(16)代入H3(x)=a0 h0(x)+a1 h1(x)+a2 h2(x)+a3 h3(x)中,得:
在算法預測階段,利用歷史軌跡,提高了當前位置預測的準確性,減小了采樣范圍,提高了采樣準確率,從而降低節(jié)點功耗。
2 仿真分析
仿真實驗使用MATLAB進行,該仿真實驗是在一個14 m×10 m的矩形平面區(qū)域進行的。信標節(jié)點隨機地分布在平面區(qū)域內(nèi),其位置是固定不變的且坐標是已知的;未知節(jié)點方向和速度大小都隨機移動,且其移動速度不會超過設(shè)定的最大速度。網(wǎng)絡(luò)中使用的參數(shù)設(shè)定如下:節(jié)點的最大移動速度取10 m/s,信標節(jié)點和未知節(jié)點的通信半徑相等且都取3 m。
圖2和3顯示的是MCL定位算法和基于RSSI改進的定位算法的定位仿真圖,可以看出,改進的算法定位的軌跡更接近實際軌跡,定位精度有明顯的提高。
定位誤差用于描述定位結(jié)果的精確程度,本文用到的定位誤差的定義如下:
其中,(xi,yi)為未知節(jié)點的實際位置,(x,y)為用算法估計出來的坐標位置。如圖4可知,隨著時間的推移,定位次數(shù)的增加,定位誤差也在減小。
3 結(jié)論
本文對基于RSSI的蒙特卡洛無線傳感定位算法進行了深入研究,并在此基礎(chǔ)上提出了一種基于RSSI的改進蒙特卡洛定位算法。該算法在定位精度、計算量、對錨節(jié)點密度的要求和對粒子樣本集的要求等性能都有所提升,且通過仿真實驗證明該算法在移動的WSN中是一個高效的定位算法。
參考文獻
[1] 馮硯毫,曾孝平,江禹生.無線傳感器網(wǎng)絡(luò)節(jié)點定位技術(shù)研究[D].重慶:重慶大學,2011.
[2] 黃俊霖,楊剛.基于RSSI分級的WSN節(jié)點定位算法研究[D].西安:西安電子科技大學.2013.
[3] Hu Lingxuan,EVANS D.Localization for mobile sensor networks[C].Proc of the 10th Annual International Confer-ence on Mobile Computing and Networking(Mobicom04),Philadelphia,Pennsylvania:USA,2004:45-57.
[4] BAGGIO A,LANGENDOER K.Monte carlo iocalization for mobile wireless sensor networks[C].Proceedings of the 2nd =International Conference on Mobile Ad-hoc and Sensor Networks(MSN′06),Dec 13-15,2006,Hong Kong,China.LNCS 4325.Berlin,Germany:Springer-Verlag,2006:718-733.
[5] RUDAFSHANI M,DATTA S.Localization in wireless sensor networks[C].Information Processing in Sensor Networks,2007.IPSN 2007.6th International Symposium on,pp.51,60,25-27 April 2007.
[6] Yi Jiyoung,Won YangSung,Cha Hojung.Multi-hop-based Monte Carlo Localization for Mobile Sensor Networks[C].Proceedings of The 4th Annual IEEE Communications Society Conference on Sensor,Mesh and Ad Hoc Commun-ications and Networks,San Diego,California,USA,2007:163-171.
[7] DIL B,DULMAN S,HAVINGA P.Range-based localizationin mobile sensor networks[J].Wireless Sensor Networks,2006:164-179.
[8] WANG W D,ZHU Q X.RSS-based Monte Carlo localiza-tion for mobile sensor networks[J].Communications,IET,2008,2(5):673-681.
[9] MARTINS M H T,CHEN H,SEZAKI K.OTMCL:Orienta-tion tracking-based Monte Carlo localization for mobile sensor networks[C].Proceedings of the 6th International Con-ference on Networked Sensing Systems (INSS),2009:1-8.
[10] 李偉,丁勇,于春娣,等.一種基于RSSI的改進蒙特卡羅定位算法[J].計算機應用與軟件,2013(12):280-283.