文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)01-0086-04
中文引用格式:黃海輝,李龍連.WSN中一種基于RSSI的移動(dòng)節(jié)點(diǎn)改進(jìn)定位算法[J].電子技術(shù)應(yīng)用,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ú)線傳感器網(wǎng)絡(luò)的關(guān)鍵支撐技術(shù)中[1],定位技術(shù)是極其重要的組成部分,在其應(yīng)用領(lǐng)域內(nèi),事件發(fā)生的位置信息是傳感器節(jié)點(diǎn)監(jiān)測(cè)消息中的重要信息,沒(méi)有節(jié)點(diǎn)位置信息的感知數(shù)據(jù)是毫無(wú)意義的[1]。
無(wú)線傳感器網(wǎng)絡(luò)的定位算法根據(jù)節(jié)點(diǎn)間的測(cè)距要求,主要分為距離相關(guān)和距離無(wú)關(guān)兩大類[2]。典型的距離相關(guān)的測(cè)距算法主要有:RSSI、TOA、TDOA、AOA等,分別利用三邊測(cè)量法、三角測(cè)量法、極大似然估計(jì)法、最小二乘法等來(lái)進(jìn)行節(jié)點(diǎn)定位;典型的距離無(wú)關(guān)算法主要有:質(zhì)心算法、DV-HOP、MDS-MAP、APIT等。為提高定位精度,適宜采用距離相關(guān)的算法。在距離相關(guān)的幾種測(cè)距算法中,通過(guò)表1可以看出:基于RSSI的定位算法具有成本低、容易實(shí)現(xiàn)等優(yōu)點(diǎn),在對(duì)定位精度不高的情況下得到了廣泛的應(yīng)用。另外,目前很多傳感器節(jié)點(diǎn)都提供測(cè)量信號(hào)發(fā)射功率的功能,可以在節(jié)點(diǎn)廣播消息包的同時(shí)完成 RSSI 測(cè)量值的獲取,并且這種定位算法無(wú)需額外的硬件支持和復(fù)雜的數(shù)據(jù)處理,也不會(huì)增加通信開銷,能有效減少節(jié)點(diǎn)的硬件成本和能量消耗,適用于無(wú)線傳感器網(wǎng)絡(luò)。
近十年來(lái),WSN獲得快速發(fā)展,人們研究的對(duì)象不僅僅針對(duì)靜態(tài)WSN,而且漸漸地關(guān)注動(dòng)態(tài)網(wǎng)絡(luò)的節(jié)點(diǎn)定位技術(shù),這樣的要求就使得靜態(tài)定位算法在移動(dòng)環(huán)境下就變得無(wú)效了。經(jīng)典的WSN移動(dòng)節(jié)點(diǎn)定位算法主要有:MCL[3]、MCB[4]、MSL和MSL*[5]、MMCL[6]、rang-based-MCL[7]、RSS-MCL[8]、OTMCL[9]等。
弗吉尼亞大學(xué)的Hu和Evans首次提出了將蒙特卡洛定位算法應(yīng)用于移動(dòng)無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位中[3],其提高了定位精度,減少了定位開銷;針對(duì)MCL采樣效率低的問(wèn)題Baggio A和Langendoen K提出了蒙特卡洛盒子定位(Monte Carlo Localization Boxed,MCB)算法[4];約克大學(xué)的Rudafshani M和Datta S提出了移動(dòng)和靜態(tài)傳感網(wǎng)絡(luò)定位算法MSL和MSL*算法[5];Dil B提出的Range-based-MCL[7]算法為基于距離的移動(dòng)WSN定位,通過(guò)利用未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的距離信息,可以濾波得到更精確的位置樣本,提高了定位精度。特別需要指出的是,Wang[8]等人將MCL和RSSI定位算法相結(jié)合,提出了基于RSSI的MCL定位算法,利用接收信號(hào)強(qiáng)度的對(duì)數(shù)正態(tài)模型對(duì)定位的預(yù)測(cè)和濾波過(guò)程進(jìn)行了改進(jìn),改善了定位性能。
上述算法中,基于RSSI的MCL定位算法效果良好,在定位技術(shù)的研究和實(shí)際運(yùn)用方面都有很大的意義,但存在計(jì)算量較大、無(wú)運(yùn)動(dòng)預(yù)測(cè)性等不足。因此,本文在文獻(xiàn)[3]和文獻(xiàn)[8]的基礎(chǔ)上,對(duì)移動(dòng)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位進(jìn)行了深入研究,提出了一種基于RSSI的改進(jìn)蒙特卡羅定位算法RSSI-IMCL。事實(shí)上,節(jié)點(diǎn)在運(yùn)動(dòng)過(guò)程中的運(yùn)動(dòng)參數(shù)一般不會(huì)突變,且基于RSSI的MCL算法沒(méi)有考慮運(yùn)動(dòng)預(yù)測(cè)問(wèn)題,因而可以利用前幾個(gè)時(shí)刻的軌跡,預(yù)測(cè)當(dāng)前時(shí)刻的運(yùn)動(dòng)參數(shù),減小采樣范圍,提高采樣準(zhǔn)確率,從而提高定位精度,降低節(jié)點(diǎn)功耗。
1 基于RSSI的改進(jìn)MCL算法
本文提出的算法是對(duì)基于RSSI的蒙特卡洛算法的一種改進(jìn),基本思想與經(jīng)典MCL和基于RSSI的MCL算法相似。即首先建立與描述該問(wèn)題有相似性的概率模型,然后對(duì)模型進(jìn)行隨機(jī)模擬或統(tǒng)計(jì)抽樣,再利用所得的結(jié)果求出特征量的統(tǒng)計(jì)值作為原問(wèn)題的近似解,并對(duì)解的精度作出某些估計(jì)。
1.1 RSSI模型
一般的RSSI通信模型都認(rèn)為網(wǎng)絡(luò)中各節(jié)點(diǎn)為各向同性,例如自由空間傳播模型、雙射線模型、哈他模型等皆為各向同性,這類模型皆是按照式(1)的框架建立的模型。
接收信號(hào)強(qiáng)度=發(fā)送功率-路徑損耗+信號(hào)衰退(1)
自由空間傳播是電波在真空中無(wú)阻擋視距傳播的一種理想狀態(tài)。其模型可以表示為式(2):
[Lfs]=32.44-10klgd+10klgf(2)
式(2)中,Lfs為傳輸損耗,d為節(jié)點(diǎn)距離,k為路徑衰減因子,一般取值為2,頻率單位以MHz計(jì)算。
在實(shí)際傳輸過(guò)程中,多徑現(xiàn)象不可避免,信號(hào)在傳輸時(shí)可能被一些障礙物吸收,或是發(fā)生反射、散射或衍射。這時(shí)我們可以采用不規(guī)則無(wú)線電模型來(lái)模擬實(shí)際應(yīng)用環(huán)境,該模型在不同方向的路徑損耗是不同的。圖1表示的是自由模型和不規(guī)則電模型下RSSI值的比較。不規(guī)則電模型公式為式(3):
式(3)中,Pr(d)為接收功率,Pt為發(fā)送功率,PL(d0)為參考距離時(shí)的路徑損耗。
1.2 基于RSSI的MCL算法
蒙特卡洛定位其實(shí)就是一個(gè)粒子濾波算法,每一個(gè)定位時(shí)刻都被分為了預(yù)測(cè)和更新兩部分。在預(yù)測(cè)階段,根據(jù)節(jié)點(diǎn)速度信息和在上一定位時(shí)刻的粒子集確定采樣區(qū)域,并隨機(jī)采樣得到粒子;在濾波階段,根據(jù)收到的錨節(jié)點(diǎn)信息,對(duì)預(yù)測(cè)階段的粒子進(jìn)行篩選,濾除不符合觀測(cè)條件的,并用滿足濾波條件的粒子的均值來(lái)估計(jì)節(jié)點(diǎn)的位置,如果濾波得到的粒子數(shù)沒(méi)有達(dá)到定位所需的粒子數(shù),則執(zhí)行重采樣和濾波過(guò)程,直到得到足夠數(shù)量的粒子或者達(dá)到最大采樣次數(shù)為止。
以下三個(gè)步驟詳細(xì)說(shuō)明了基于RSSI的MCL算法的定位過(guò)程。假設(shè)整個(gè)無(wú)線網(wǎng)絡(luò)中,有一個(gè)未知的移動(dòng)節(jié)點(diǎn)和M個(gè)位置已知的錨節(jié)點(diǎn)隨機(jī)分布在整個(gè)區(qū)域中。
(1)預(yù)測(cè)階段
在預(yù)測(cè)階段,傳感器節(jié)點(diǎn)需要根據(jù)前一時(shí)刻的粒子集Lt-1和運(yùn)動(dòng)模型確定當(dāng)前時(shí)刻的粒子集Lt。假設(shè)節(jié)點(diǎn)按照隨機(jī)行走模型(RWP)進(jìn)行移動(dòng),該模型中,節(jié)點(diǎn)在任何時(shí)刻都不知道自己的運(yùn)動(dòng)速度和方向,僅僅知道自身的最大運(yùn)動(dòng)速率為vmax,方向?yàn)?60°任意選擇。那么轉(zhuǎn)移分布p(mk|mk-1)便形成了一個(gè)以mk-1為圓心,以vmax為半徑的圓。表示如式(4)
在MCL算法的預(yù)測(cè)階段,基于前一時(shí)刻位置對(duì)當(dāng)前時(shí)刻位置進(jìn)行預(yù)測(cè),節(jié)點(diǎn)可能的位置從上述的圓形區(qū)域隨機(jī)采樣獲得,該圓形區(qū)域就是采樣區(qū)域。
?。?)濾波階段
在濾波階段,節(jié)點(diǎn)將根據(jù)新的觀測(cè)信息,將不符合網(wǎng)絡(luò)連通度條件的位置樣本濾除掉。如果樣本滿足濾波條件,則概率分布為1,否則為0。如果滿足濾波條件的粒子數(shù)達(dá)到了定位所需數(shù)量,則將這些粒子取均值作為節(jié)點(diǎn)的估計(jì)位置;如果粒子數(shù)不足,則重復(fù)預(yù)測(cè)和濾波過(guò)程,直到得到足夠數(shù)量的粒子或達(dá)到最大采樣次數(shù)為止。在MCL算法中,為方便計(jì)算,選擇狀態(tài)轉(zhuǎn)移概率密度函數(shù)為重要性函數(shù),則每一時(shí)刻粒子的重要性權(quán)值可通過(guò)下列方法遞歸計(jì)算:
式(5)為預(yù)測(cè)階段,節(jié)點(diǎn)可以在前一時(shí)刻可能位置的基礎(chǔ)上預(yù)測(cè)當(dāng)前時(shí)刻的可能位置。式(6)為更新階段,節(jié)點(diǎn)可以根據(jù)接收到的觀測(cè)信息更新當(dāng)前時(shí)刻的粒子權(quán)值。然后用式(7)對(duì)權(quán)值進(jìn)行歸一化,從而可以用一組帶權(quán)值的樣本集來(lái)估計(jì)節(jié)點(diǎn)位置的后驗(yàn)概率分布。
?。?)重采樣階段
計(jì)算當(dāng)前的位置需要重復(fù)進(jìn)行預(yù)測(cè)和更新,將不可避免地出現(xiàn)粒子退化現(xiàn)象。因此需要重采樣,將權(quán)重值小的樣本淘汰,將權(quán)重值大的保留,用式(8)定義有效粒子數(shù)Neff,當(dāng)Neff小于設(shè)定的門限值Nthreshold時(shí),就需要進(jìn)行重采樣。
基于RSSI的MCL算法相比于經(jīng)典的MCL算法,較大幅度地提高了定位精度,取得了良好的效果,但計(jì)算量較大,節(jié)點(diǎn)功耗過(guò)快,需要改進(jìn)。
1.3 基于RSSI的改進(jìn)MCL算法
針對(duì)基于RSSI的MCL算法的不足,本文提出了一種基于RSSI的改進(jìn)MCL算法。在基于RSSI的MCL算法的預(yù)測(cè)階段,k時(shí)刻的位置概率分布只與k-1時(shí)刻的位置及速度有關(guān),沒(méi)有考慮k-1時(shí)刻之前的運(yùn)動(dòng)情況的影響,本文采用基于歷史軌跡的運(yùn)動(dòng)預(yù)測(cè)機(jī)制來(lái)提高先驗(yàn)概率的準(zhǔn)確性,也就是意味著可能更高的定位精度和可能更少的迭代次數(shù),從而降低節(jié)點(diǎn)的功耗。
Newton插值法和Lagrange插值法雖然構(gòu)造比較簡(jiǎn)單,但是存在插值曲線在節(jié)點(diǎn)處有尖點(diǎn)、不光滑、插值多項(xiàng)式在節(jié)點(diǎn)處不可導(dǎo)等缺點(diǎn),因此本文選擇Hermite插值法。一般,Hermite插值多項(xiàng)式Hk(x)的次數(shù)k如果太高會(huì)影響收斂性和穩(wěn)定性稱為runge現(xiàn)象。本文中,就采用前兩個(gè)時(shí)刻的位置信息,因此不會(huì)出現(xiàn)runge現(xiàn)象。
設(shè)f(x)在節(jié)點(diǎn)x0、x1處的函數(shù)值為y0、y1,在節(jié)點(diǎn)x0、x1處的一階導(dǎo)數(shù)值為,兩個(gè)節(jié)點(diǎn)最高可用3次Hermite多項(xiàng)式H3(x)作為插值函數(shù)。H3(x)應(yīng)滿足的插值條件為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插值一樣簡(jiǎn)單,重新假設(shè):
由上式(11)中的 (x1)=0可知,x1是(x)的二重零點(diǎn),可設(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)中,得:
在算法預(yù)測(cè)階段,利用歷史軌跡,提高了當(dāng)前位置預(yù)測(cè)的準(zhǔn)確性,減小了采樣范圍,提高了采樣準(zhǔn)確率,從而降低節(jié)點(diǎn)功耗。
2 仿真分析
仿真實(shí)驗(yàn)使用MATLAB進(jìn)行,該仿真實(shí)驗(yàn)是在一個(gè)14 m×10 m的矩形平面區(qū)域進(jìn)行的。信標(biāo)節(jié)點(diǎn)隨機(jī)地分布在平面區(qū)域內(nèi),其位置是固定不變的且坐標(biāo)是已知的;未知節(jié)點(diǎn)方向和速度大小都隨機(jī)移動(dòng),且其移動(dòng)速度不會(huì)超過(guò)設(shè)定的最大速度。網(wǎng)絡(luò)中使用的參數(shù)設(shè)定如下:節(jié)點(diǎn)的最大移動(dòng)速度取10 m/s,信標(biāo)節(jié)點(diǎn)和未知節(jié)點(diǎn)的通信半徑相等且都取3 m。
圖2和3顯示的是MCL定位算法和基于RSSI改進(jìn)的定位算法的定位仿真圖,可以看出,改進(jìn)的算法定位的軌跡更接近實(shí)際軌跡,定位精度有明顯的提高。
定位誤差用于描述定位結(jié)果的精確程度,本文用到的定位誤差的定義如下:
其中,(xi,yi)為未知節(jié)點(diǎn)的實(shí)際位置,(x,y)為用算法估計(jì)出來(lái)的坐標(biāo)位置。如圖4可知,隨著時(shí)間的推移,定位次數(shù)的增加,定位誤差也在減小。
3 結(jié)論
本文對(duì)基于RSSI的蒙特卡洛無(wú)線傳感定位算法進(jìn)行了深入研究,并在此基礎(chǔ)上提出了一種基于RSSI的改進(jìn)蒙特卡洛定位算法。該算法在定位精度、計(jì)算量、對(duì)錨節(jié)點(diǎn)密度的要求和對(duì)粒子樣本集的要求等性能都有所提升,且通過(guò)仿真實(shí)驗(yàn)證明該算法在移動(dòng)的WSN中是一個(gè)高效的定位算法。
參考文獻(xiàn)
[1] 馮硯毫,曾孝平,江禹生.無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位技術(shù)研究[D].重慶:重慶大學(xué),2011.
[2] 黃俊霖,楊剛.基于RSSI分級(jí)的WSN節(jié)點(diǎn)定位算法研究[D].西安:西安電子科技大學(xué).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ìn)蒙特卡羅定位算法[J].計(jì)算機(jī)應(yīng)用與軟件,2013(12):280-283.