基于MDS技術(shù)與MCL方法的無線傳感器網(wǎng)絡(luò)移動節(jié)點定位算法
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Networks)綜合了無線通信技術(shù)、傳感器技術(shù)、嵌入式計算技術(shù)和分布式信息處理技術(shù),已經(jīng)成為當前國際上備受關(guān)注的、多學科高度交叉、知識高度集成的前沿研究領(lǐng)域[1]。通過部署大量傳感器節(jié)點至目標區(qū)域,WSN將改變?nèi)藗兣c客觀世界的交互方式,其在環(huán)境監(jiān)測方面的應(yīng)用尤其具有廣泛前景[2]。
鑒于WSN的應(yīng)用背景,定位技術(shù)成為實現(xiàn)其功能的關(guān)鍵技術(shù)之一,如何使定位指標達到最優(yōu)始終是WSN定位算法的研究目標。
近年來,對WSN定位問題有了許多新穎的思想和解決方案,但多是針對解決固定節(jié)點的定位問題。若將這些算法應(yīng)用于移動節(jié)點的定位,雖然也可以通過每隔一段時間的更新來進行定位,但節(jié)點的移動性會導(dǎo)致算法的定位精度降低。雖然移動性給節(jié)點定位帶來了困難,但也可以利用其來提高定位精度。參考文獻[3]提出了一種基于MCL(Monte Carlo Localization)的移動節(jié)點定位算法,其核心思想是在貝葉斯濾波位置估計基礎(chǔ)上,用若干個帶權(quán)重的采樣點來描述移動節(jié)點在布置區(qū)域的可能位置分布。
多維定標技術(shù)MDS(Multidimensional Scaling)是一種運用于心理學領(lǐng)域的技術(shù),后由Shang等人引入WSN定位技術(shù)中[4]?;?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/MDS">MDS技術(shù)的定位算法在不需要知道節(jié)點間測量距離的情況下,可以充分利用節(jié)點間連通性信息,在即使沒有錨節(jié)點的情況下也可以得到節(jié)點的相對位置坐標。
本文提出一種MDS-MCL定位算法,通過結(jié)合MCL和MDS-RC[5]兩種方法,得到一種新的移動節(jié)點定位算法。通過將MDS-RC定位算法引入MCL算法,在定位過程中利用MDS-RC定位算法給出的定位位置作為新的限定條件進行濾波,保留更接近節(jié)點真實位置的預(yù)測樣本,提高節(jié)點定位精度。
1 MDS-MCL定位算法
本文提出的MDS-MCL算法,主要是通過在過濾階段利用MDS-RC算法給出的定位結(jié)果作為新的限定條件,濾除預(yù)測樣本,以達到提高精度的目的。
1.1 引入新的濾波條件
MDS-RC定位算法是一種應(yīng)用在大規(guī)模固定節(jié)點定位問題中的算法,通過對節(jié)點間最小路徑賦予權(quán)值的方法來提高算法的整體定位精度。在大規(guī)模的網(wǎng)絡(luò)中使用時,該算法的整體定位效果較好,但不排除出現(xiàn)個別節(jié)點誤差較大的情況。在大規(guī)模網(wǎng)絡(luò)中,由于整體定位精度較高,所以即使個別節(jié)點的定位誤差較大,也不會影響算法整體的定位效果。但將這種算法應(yīng)用于單一節(jié)點的定位時,這種偶然出現(xiàn)的較大誤差對于最終定位結(jié)果的影響較大,必須進行處理。
在MDS-MCL定位算法中,會對MDS-RC得到的定位結(jié)果進行判斷,根據(jù)不同的情況采取不同的濾波方式,從而避免偶然出現(xiàn)的大誤差對最終結(jié)果造成影響。算法的具體流程如圖1所示。
算法的初始化主要是進行循環(huán)次數(shù)k和預(yù)測樣本總數(shù)N的設(shè)定。
如圖1所示,在每一時刻的定位過程中,首先根據(jù)周圍一跳范圍內(nèi)的信標節(jié)點信息,根據(jù)MDS-RC算法,得到初步定位位置ot。然后根據(jù)ot是否在最大移動速度范圍內(nèi)對預(yù)測樣本進行處理。
過濾階段的詳細處理方法如下:
第一種情況:如果算法的定位位置ot在最大移動速度范圍內(nèi),則根據(jù)ot進行濾波。在生成的N個預(yù)測位置中,計算其與ot的距離,將這些距離與前一次保留的預(yù)測樣本進行比較,保留N個與ot最近的樣本,然后進行下一次循環(huán)。
第二種情況:如果算法的定位位置ot在最大移動速度范圍外,用另一種方法對位置進行修正。在使用MDS-RC算法進行定位時,會利用到周圍一跳范圍內(nèi)的信標節(jié)點。對預(yù)測樣本中的每一個位置,統(tǒng)計在其通信范圍的本次定位中利用到的信標節(jié)點數(shù),然后與前一次保留的預(yù)測樣本進行比較,保留N個信標節(jié)點數(shù)最多的樣本,然后進入下一次循環(huán)。
通過結(jié)合MDS-RC與MCL方法對移動節(jié)點進行定位,可以避免單一方法中偶然出現(xiàn)的較大誤差。
另外,MDS-MCL算法與MCL算法另一點不同的是,在每一次濾波中保留N個最符合要求的預(yù)測樣本,而不是嚴格刪除所有不符合要求樣本。通過這一點修改,可以保證算法在規(guī)定次數(shù)的循環(huán)內(nèi)得到足夠數(shù)量的預(yù)測樣本,從而將算法的計算時間控制在一定范圍內(nèi)。
1.2 參數(shù)與算法表現(xiàn)的關(guān)系
在MDS-MCL算法中,有兩個初始參數(shù):循環(huán)次數(shù)和預(yù)測樣本數(shù)。為了使算法的性能達到最優(yōu),下面通過仿真實驗考察這兩個參數(shù)對定位誤差和計算時間的影響。
評論