本發(fā)明涉及移動(dòng)傳感器網(wǎng)絡(luò)中未知節(jié)點(diǎn)的定位技術(shù),具體是一種基于協(xié)作的錨節(jié)點(diǎn)自適應(yīng)移動(dòng)方法。
背景技術(shù):
在移動(dòng)通信技術(shù)飛速發(fā)展的趨勢(shì)下,基于移動(dòng)終端的各類應(yīng)用蓬勃發(fā)展。位置確定服務(wù)(Location Based Services,LBS)在日常生活中隨之變得越來越重要,尤其是在復(fù)雜多變的定位環(huán)境下用戶對(duì)定位準(zhǔn)確度的要求越來越高。
基于蒙特卡羅的定位方法基本上解決了動(dòng)態(tài)網(wǎng)絡(luò)未知節(jié)點(diǎn)的定位問題,然而在定位過程中為了滿足定位精度的要求,感知區(qū)域內(nèi)需分布大量錨節(jié)點(diǎn),且錨節(jié)點(diǎn)密度越大,定位精度越高,然而未知節(jié)點(diǎn)在感知區(qū)域內(nèi)的運(yùn)動(dòng)和分布都是不均勻的,錨節(jié)點(diǎn)的隨機(jī)分布和移動(dòng)常常會(huì)使錨節(jié)點(diǎn)穿越未知節(jié)點(diǎn)稀疏的區(qū)域,這無疑造成了錨節(jié)點(diǎn)資源和能量的浪費(fèi),所以,錨節(jié)點(diǎn)路徑規(guī)劃問題的研究是很有必要的。
現(xiàn)有的一些路徑規(guī)劃方法大多針對(duì)于未知節(jié)點(diǎn)靜止的情景?;诠?jié)點(diǎn)效益最大化的錨節(jié)點(diǎn)路徑規(guī)劃方案是鮮有的可應(yīng)用于移動(dòng)未知節(jié)點(diǎn)的路徑規(guī)劃方法,該方法實(shí)現(xiàn)了錨節(jié)點(diǎn)的自適應(yīng)移動(dòng),解決了錨節(jié)點(diǎn)隨機(jī)移動(dòng)造成的能量與資源浪費(fèi)的問題,然而,依然不可避免地遇到錨節(jié)點(diǎn)分布密度大,錨節(jié)點(diǎn)利用率低的問題。所以,需要設(shè)計(jì)一種方法使得錨節(jié)點(diǎn)能夠在移動(dòng)感知網(wǎng)絡(luò)中實(shí)現(xiàn)自適應(yīng)移動(dòng)的同時(shí),減少錨節(jié)點(diǎn)密度,提高其利用率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問題。提出了一種使得錨節(jié)點(diǎn)能夠在移動(dòng)感知網(wǎng)絡(luò)中實(shí)現(xiàn)自適應(yīng)移動(dòng)的同時(shí),減少錨節(jié)點(diǎn)密度,提高其利用率的基于協(xié)作錨節(jié)點(diǎn)自適應(yīng)移動(dòng)的未知節(jié)點(diǎn)定位方法。本發(fā)明的技術(shù)方案如下:
一種基于協(xié)作錨節(jié)點(diǎn)自適應(yīng)移動(dòng)的未知節(jié)點(diǎn)定位方法,其包括以下步驟:
101、在感知區(qū)域內(nèi)以錨節(jié)點(diǎn)對(duì)的形式隨機(jī)部署錨節(jié)點(diǎn)對(duì);
102、錨節(jié)點(diǎn)之間相互協(xié)作,自適應(yīng)確定移動(dòng)路線使得其在各時(shí)刻移動(dòng)的位置對(duì)未知節(jié)點(diǎn)定位貢獻(xiàn)最大;
103、未知節(jié)點(diǎn)通過錨節(jié)點(diǎn)位置信息利用非測(cè)距方法計(jì)算自身坐標(biāo),完成移動(dòng)定位。
進(jìn)一步的,步驟102錨節(jié)點(diǎn)之間相互協(xié)作,自適應(yīng)確定移動(dòng)路線包括步驟:步驟一:構(gòu)建錨節(jié)點(diǎn)對(duì)中錨節(jié)點(diǎn)A的邊界盒子其中邊界盒子表示錨節(jié)點(diǎn)A下一時(shí)刻位置的估計(jì)區(qū)域;
步驟二:將錨節(jié)點(diǎn)對(duì)的邊界盒子劃分為n×n個(gè)大小相等的小正方形,記為ri(i=1,2...n2),每個(gè)小正方形中點(diǎn)坐標(biāo)(xi,yi);
步驟三:計(jì)算邊界盒子中的小正方形ri中心位置處錨節(jié)點(diǎn)的定位貢獻(xiàn)值Ii;
步驟四:i=i+1;
步驟五:判斷(xi,yi)處的Ii是否大于等于預(yù)設(shè)閾值γ,是,則轉(zhuǎn)步驟八,否則轉(zhuǎn)步驟六;
步驟六:判斷i是否等于n2,是,則轉(zhuǎn)步驟七,否則轉(zhuǎn)步驟三;
步驟七:降序排列Ii,將降序后的值儲(chǔ)存為并選取I1所對(duì)應(yīng)的位置坐標(biāo)(xi,yi);
步驟八:輸出(xi,yi)作為錨節(jié)點(diǎn)A下一時(shí)刻將要移動(dòng)到的位置
步驟九:錨節(jié)點(diǎn)A的位置確定后,在A的基礎(chǔ)上構(gòu)建錨節(jié)點(diǎn)B的邊界盒子,并重復(fù)步驟一至步驟八,得到錨節(jié)點(diǎn)B下一時(shí)刻將要移動(dòng)到的位置
步驟十:錨節(jié)點(diǎn)更新各自坐標(biāo),并廣播各自ID及位置信息其中,表示第i對(duì)錨節(jié)點(diǎn)對(duì)中的錨節(jié)點(diǎn)A(B)的ID信息,表示第i對(duì)錨節(jié)點(diǎn)對(duì)的位置信息。
進(jìn)一步的,步驟103未知節(jié)點(diǎn)通過錨節(jié)點(diǎn)位置信息利用非測(cè)距方法計(jì)算自身坐標(biāo),完成移動(dòng)定位包括步驟:
步驟十一:判斷未知節(jié)點(diǎn)是否接收到廣播信息,是,則列為定位的未知節(jié)點(diǎn)并轉(zhuǎn)到步驟十三,否則轉(zhuǎn)到步驟十二;
步驟十二:構(gòu)建未知節(jié)點(diǎn)的邊界盒子并在邊界盒子中隨機(jī)選取一點(diǎn)坐標(biāo)(x,y);
步驟十三:構(gòu)建未知節(jié)點(diǎn)的邊界盒子并與錨節(jié)點(diǎn)的通信盒子RS求交集,得到未知節(jié)點(diǎn)的采樣盒子
步驟十四:在采樣盒子中隨機(jī)選取N個(gè)樣本值{l1,l2,...lN};
步驟十五:利用濾波條件對(duì)樣本值進(jìn)行濾波,得到M個(gè)樣本值;
步驟十六:判斷M是否大于等于預(yù)設(shè)閾值λ,是,則轉(zhuǎn)步驟十七,否則轉(zhuǎn)步驟十四;
步驟十七:判斷對(duì)所求得的樣本值{l1,l2,...lM}求均值,得到坐標(biāo)(x,y);
步驟十八:輸出(x,y)作為未知節(jié)點(diǎn)的估計(jì)坐標(biāo)
進(jìn)一步的,步驟一的構(gòu)建錨節(jié)點(diǎn)對(duì)中錨節(jié)點(diǎn)A的邊界盒子其構(gòu)建方法如下:
對(duì)于錨節(jié)點(diǎn)A,其邊界盒子是根據(jù)其最大移動(dòng)速度決定的,單位時(shí)間內(nèi)節(jié)點(diǎn)移動(dòng)的距離不會(huì)大于節(jié)點(diǎn)的最大移動(dòng)速度,于是,在錨節(jié)點(diǎn)A當(dāng)前位置已知的情況下,下一時(shí)刻可能位于的位置是以當(dāng)前時(shí)刻坐標(biāo)為圓心,以最大速度為半徑構(gòu)建的圓形區(qū)域內(nèi),為便于計(jì)算用正方形近似表示得到錨節(jié)點(diǎn)A的邊界盒子,故其邊界盒子定義如下:
其中,Vmax表示節(jié)點(diǎn)的最大移動(dòng)速度,表示t時(shí)刻錨節(jié)點(diǎn)A的坐標(biāo);
進(jìn)一步的,步驟三的求錨節(jié)點(diǎn)的定位貢獻(xiàn)值Ii計(jì)算公式如下:
其中,Gi為錨節(jié)點(diǎn)在其邊界盒子第i個(gè)小正方形處的節(jié)點(diǎn)效益;Hi為未知節(jié)點(diǎn)的定位數(shù)量以及ds表示錨節(jié)點(diǎn)移動(dòng)距離,錨節(jié)點(diǎn)A的節(jié)點(diǎn)效益計(jì)算如下:為未知節(jié)點(diǎn)的邊界盒子,未知節(jié)點(diǎn)的邊界盒子確定方法與錨節(jié)點(diǎn)A的相同,由其最大移動(dòng)速度確定;RSA是錨節(jié)點(diǎn)A的通信盒子,是用正方形近似表示其通信范圍得到;w1,w2,w3為權(quán)值。
進(jìn)一步的,步驟九錨節(jié)點(diǎn)B的位置確定步驟如下:
錨節(jié)點(diǎn)B的確定方法與錨節(jié)點(diǎn)A相同,然而其邊界盒子與節(jié)點(diǎn)效益模型構(gòu)建改進(jìn)如下:對(duì)與錨節(jié)點(diǎn)B的邊界盒子模型,為了確保定位階段未知節(jié)點(diǎn)附近至少有兩個(gè)錨節(jié)點(diǎn),限定錨節(jié)點(diǎn)A的通信盒子需與錨節(jié)點(diǎn)B的通信盒子有交集,于是錨節(jié)點(diǎn)B的邊界盒子:
進(jìn)一步的,錨節(jié)點(diǎn)B的節(jié)點(diǎn)效益計(jì)算如下:
若未知節(jié)點(diǎn)的邊界盒子與錨節(jié)點(diǎn)A、B的通信盒子均有交集,則計(jì)算B對(duì)其的節(jié)點(diǎn)效益時(shí),用A對(duì)未知節(jié)點(diǎn)的估計(jì)區(qū)域代替未知節(jié)點(diǎn)的邊界盒子與錨節(jié)點(diǎn)B的通信盒子求交集,然后用未知節(jié)點(diǎn)的邊界盒子減去交集即得B對(duì)其的節(jié)點(diǎn)效益::
若未知節(jié)點(diǎn)邊界盒子只與錨節(jié)點(diǎn)B的通信盒子有交集,則直接求二者交集,最后用未知節(jié)點(diǎn)的邊界盒子減去交集即得B對(duì)其的節(jié)點(diǎn)效益:
本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
本發(fā)明由以上說明可知,本發(fā)明適應(yīng)于錨節(jié)點(diǎn)與未知節(jié)點(diǎn)均處于移動(dòng)狀態(tài)的節(jié)點(diǎn)定位過程。相對(duì)于錨節(jié)點(diǎn)的隨機(jī)移動(dòng),基于路徑規(guī)劃的節(jié)點(diǎn)定位算法大大提高了定位精度,同時(shí)減少了能量消耗,而本發(fā)明所提出的方法利用錨節(jié)點(diǎn)之間的相互協(xié)作使得錨節(jié)點(diǎn)成對(duì)移動(dòng),保證了定位階段未知節(jié)點(diǎn)附近至少有兩個(gè)錨節(jié)點(diǎn),從而實(shí)現(xiàn)相同定位精度的情況下明顯減少了錨節(jié)點(diǎn)的分布數(shù)量,提高了錨節(jié)點(diǎn)的利用率。
附圖說明
圖1是本發(fā)明提供優(yōu)選實(shí)施例錨節(jié)點(diǎn)對(duì)的邊界模型示意圖;
圖2,錨節(jié)點(diǎn)對(duì)的節(jié)點(diǎn)效益模型示意圖;
圖3,錨節(jié)點(diǎn)對(duì)的定位模型示意圖;
圖4,本發(fā)明的流程圖;圖4A表示步驟1-9,圖4B表示步驟10-18;
圖5,定位精度隨時(shí)間變化曲線;
圖6,未知節(jié)點(diǎn)定位比例隨時(shí)間變化曲線;
圖7,錨節(jié)點(diǎn)數(shù)量變化對(duì)定位精度的影響;
圖8,錨節(jié)點(diǎn)數(shù)量變化對(duì)未知節(jié)點(diǎn)定位比例的影響;
圖9,節(jié)點(diǎn)移動(dòng)速度對(duì)定位精度的影響;
圖10,節(jié)點(diǎn)移動(dòng)速度對(duì)未知節(jié)點(diǎn)定位比例的影響。
圖11為本發(fā)明的方法流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、詳細(xì)地描述。所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例。
1)一種基于錨節(jié)點(diǎn)對(duì)自適應(yīng)導(dǎo)航的節(jié)點(diǎn)定位方法它的實(shí)施步驟如下:
步驟一:構(gòu)建錨節(jié)點(diǎn)對(duì)中錨節(jié)點(diǎn)A的邊界盒子其中邊界盒子表示錨節(jié)點(diǎn)A下一時(shí)刻位置的估計(jì)區(qū)域。
感知區(qū)域內(nèi)隨機(jī)分布n個(gè)未知節(jié)點(diǎn),m對(duì)錨節(jié)點(diǎn),每個(gè)錨節(jié)點(diǎn)對(duì)均包含一個(gè)錨節(jié)點(diǎn)A和一個(gè)錨節(jié)點(diǎn)B,分別記為
以第i對(duì)錨節(jié)點(diǎn)為例,對(duì)其中的錨節(jié)點(diǎn)A邊界盒子構(gòu)建進(jìn)行說明:當(dāng)前時(shí)刻錨節(jié)點(diǎn)A位置已知,為其邊界盒子是根據(jù)其當(dāng)前位置以及最大移動(dòng)速度決定的。單位時(shí)間內(nèi)節(jié)點(diǎn)移動(dòng)的距離不會(huì)大于節(jié)點(diǎn)的最大移動(dòng)速度,也就是說,在錨節(jié)點(diǎn)A在t時(shí)刻位置已知的情況下,t+1時(shí)刻可能位于的位置是以當(dāng)前時(shí)刻坐標(biāo)為圓心,以最大速度為半徑構(gòu)建的圓形區(qū)域內(nèi),為便于計(jì)算用正方形近似表示即得到錨節(jié)點(diǎn)A的邊界盒子如圖1(a)所示。故其邊界盒子定義如下:
步驟二:將錨節(jié)點(diǎn)對(duì)的邊界盒子劃分為n×n個(gè)大小相等的小正方形,記為ri(i=1,2...n2),每個(gè)小正方形中點(diǎn)坐標(biāo)(xi,yi)。
理論上,錨節(jié)點(diǎn)A下一時(shí)刻移動(dòng)的位置可能是的任意位置,然而不同位置處,錨節(jié)點(diǎn)對(duì)定位階段的貢獻(xiàn)值是不同的,所以為便于計(jì)算最優(yōu)位置,將分割為大小相等的n×n個(gè)小正方形。
步驟三:計(jì)算邊界盒子中的小正方形ri中心位置處錨節(jié)點(diǎn)的定位貢獻(xiàn)值Ii。Ii是衡量錨節(jié)點(diǎn)在不同位置處的定位貢獻(xiàn)參量,其計(jì)算公式如下:
其中,Gi為錨節(jié)點(diǎn)在其邊界盒子第i個(gè)小正方形處的節(jié)點(diǎn)效益。節(jié)點(diǎn)效益越大,保證了在定位過程中,一旦未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn)廣播的信息,那么未知節(jié)點(diǎn)下一時(shí)刻定位的采樣區(qū)域就可能越小,從而定位精度也會(huì)得到相應(yīng)提高。錨節(jié)點(diǎn)A的節(jié)點(diǎn)效益計(jì)算方法如下:
如圖2(a)所示,為未知節(jié)點(diǎn)的邊界盒子,未知節(jié)點(diǎn)的邊界盒子確定方法與錨節(jié)點(diǎn)A的相同,由其最大移動(dòng)速度確定。是錨節(jié)點(diǎn)A的通信盒子,是用正方形近似表示其通信范圍得到。
定義錨節(jié)點(diǎn)B最終的節(jié)點(diǎn)效益即為錨節(jié)點(diǎn)周圍所有未知節(jié)點(diǎn)所得的節(jié)點(diǎn)效益之和:
其中N表示與有交集的未知節(jié)點(diǎn)邊界盒子數(shù)量。
除了節(jié)點(diǎn)效益G,定位過程中,未知節(jié)點(diǎn)定位數(shù)量,或者說覆蓋率同樣也是影響錨節(jié)點(diǎn)位置選擇的因素,錨節(jié)點(diǎn)覆蓋率也指t時(shí)刻感知區(qū)域內(nèi)定位的未知節(jié)點(diǎn)數(shù)量與感知區(qū)域內(nèi)所有的未知節(jié)點(diǎn)數(shù)量之比,錨節(jié)點(diǎn)數(shù)量相同時(shí),未知節(jié)點(diǎn)定位數(shù)量越多,定位性能越好。錨節(jié)點(diǎn)覆蓋率定義如下:
最后,能量消耗也是評(píng)價(jià)定位性能的因素之一,在移動(dòng)傳感器網(wǎng)絡(luò)中,錨節(jié)點(diǎn)自身所攜帶的能量是有限的,而錨節(jié)點(diǎn)移動(dòng)是能量消耗的主要來源之一,且錨節(jié)點(diǎn)移動(dòng)距離ds越大,能量消耗越多,所以在錨節(jié)點(diǎn)路徑規(guī)劃中移動(dòng)距離越短越好。
綜上,我們根據(jù)影響錨節(jié)點(diǎn)位置選擇的三個(gè)因素,節(jié)點(diǎn)效益Gi,未知節(jié)點(diǎn)的定位數(shù)量Hi,以及錨節(jié)點(diǎn)移動(dòng)距離ds,得到定位貢獻(xiàn)量Ii的定義式,即公式三,w1,w2,w3分別為權(quán)值。
步驟四:i=i+1
錨節(jié)點(diǎn)的邊界盒子分割好后,我們從第一個(gè)小正方形r1開始,依次計(jì)算定位貢獻(xiàn)值Ii,計(jì)算后若不符合閾值條件則i=i+1,計(jì)算下一個(gè)小正方形的定位貢獻(xiàn)值。
步驟五:判斷(xi,yi)處的Ii是否大于等于預(yù)設(shè)閾值γ,是,則轉(zhuǎn)步驟八,否則轉(zhuǎn)步驟六。
步驟六:判斷i是否等于n2,是,則轉(zhuǎn)步驟七,否則轉(zhuǎn)步驟三。
該步驟是為了判斷是否已經(jīng)遍歷錨節(jié)點(diǎn)邊界盒子。若沒遍歷,則繼續(xù)計(jì)算下一個(gè)小正方形中心坐標(biāo)的定位貢獻(xiàn)值。若遍歷,則跳轉(zhuǎn)至步驟七。
步驟七:降序排列Ii,將降序后的值儲(chǔ)存為選取I1所對(duì)應(yīng)的位置坐標(biāo)(xi,yi)。
若遍歷錨節(jié)點(diǎn)邊界盒子之后,仍未找到大于閾值的Ii,那么選取最大貢獻(xiàn)值所對(duì)應(yīng)的坐標(biāo)作為錨節(jié)點(diǎn)A的移動(dòng)坐標(biāo)
步驟八:輸出坐標(biāo)(xi,yi)作為錨節(jié)點(diǎn)A下一時(shí)刻將要移動(dòng)到的位置
步驟九:錨節(jié)點(diǎn)A的位置確定后,在A的基礎(chǔ)上構(gòu)建錨節(jié)點(diǎn)B的邊界盒子,并重復(fù)步驟一到步驟八,得到錨節(jié)點(diǎn)B下一時(shí)刻將要移動(dòng)到的位置
錨節(jié)點(diǎn)B的移動(dòng)位置計(jì)算步驟與錨節(jié)點(diǎn)A的相同,然而其邊界盒子與節(jié)點(diǎn)效益計(jì)算模型是有別于錨節(jié)點(diǎn)A的,具體改進(jìn)方法如下:
錨節(jié)點(diǎn)B的邊界盒子計(jì)算如下:
如圖1(b)所示,為了提高定位精度,確保定位階段未知節(jié)點(diǎn)附近至少有兩個(gè)一跳或者兩跳錨節(jié)點(diǎn),我們限定,錨節(jié)點(diǎn)A的通信盒子需與錨節(jié)點(diǎn)B的通信盒子有交集,于是得到錨節(jié)點(diǎn)B的邊界盒子:
其中,r為錨節(jié)點(diǎn)的通信半徑。
錨節(jié)點(diǎn)B的節(jié)點(diǎn)效益計(jì)算如下:
錨節(jié)點(diǎn)B的節(jié)點(diǎn)效益同樣是在錨節(jié)點(diǎn)A的基礎(chǔ)上計(jì)算的。如圖2(b)所示,若未知節(jié)點(diǎn)的邊界盒子與錨節(jié)點(diǎn)A、B的通信盒子均有交集,則計(jì)算B對(duì)其的節(jié)點(diǎn)效益時(shí),用A對(duì)未知節(jié)點(diǎn)的估計(jì)區(qū)域代替未知節(jié)點(diǎn)的邊界盒子與錨節(jié)點(diǎn)B的通信盒子求交集,然后用未知節(jié)點(diǎn)的邊界盒子減去交集即得B對(duì)其的節(jié)點(diǎn)效益。
其中是指錨節(jié)點(diǎn)A對(duì)未知節(jié)點(diǎn)的估計(jì)區(qū)域,也就是錨節(jié)點(diǎn)A的通信盒子與未知節(jié)點(diǎn)的邊界盒子之間的交集:
若未知節(jié)點(diǎn)邊界盒子只與錨節(jié)點(diǎn)B的通信盒子有交集,則直接求二者交集,最后用未知節(jié)點(diǎn)的邊界盒子減去交集即得B對(duì)其的節(jié)點(diǎn)效益:
定義錨節(jié)點(diǎn)B最終的節(jié)點(diǎn)效益即為錨節(jié)點(diǎn)周圍所有未知節(jié)點(diǎn)所得的節(jié)點(diǎn)效益之和:
其中N1表示與錨節(jié)點(diǎn)盒子均有交集的未知節(jié)點(diǎn)邊界盒子數(shù)量,N2表示只與有交集的未知節(jié)點(diǎn)邊界盒子數(shù)量
步驟十:錨節(jié)點(diǎn)更新各自坐標(biāo),并廣播各自ID及位置信息其中,表示第i對(duì)錨節(jié)點(diǎn)對(duì)中的錨節(jié)點(diǎn)A(B)的ID信息,表示第i對(duì)錨節(jié)點(diǎn)對(duì)的位置信息。
該步驟中,每對(duì)錨節(jié)點(diǎn)已知各自以及彼此的位置信息,廣播時(shí)廣播自身ID信息,同時(shí)廣播自身及彼此的位置信息。
步驟十一:判斷未知節(jié)點(diǎn)是否接收到廣播信息,是,則轉(zhuǎn)到步驟十三,否則轉(zhuǎn)步驟十二。
步驟十二:構(gòu)建未知節(jié)點(diǎn)的邊界盒子并在其邊界盒子中隨機(jī)選取一點(diǎn)坐標(biāo)(x,y)。
步驟十三:構(gòu)建未知節(jié)點(diǎn)的邊界盒子并與錨節(jié)點(diǎn)的通信盒子RS求交集,得到未知節(jié)點(diǎn)的采樣盒子
若未知節(jié)點(diǎn)接收到了錨節(jié)點(diǎn)的廣播信息,則說明未知節(jié)點(diǎn)一定位于錨節(jié)點(diǎn)的通信盒子內(nèi),同時(shí)由于受到節(jié)點(diǎn)移動(dòng)速度的限制,未知節(jié)點(diǎn)下一時(shí)刻的位置肯定在其邊界盒子內(nèi),故未知節(jié)點(diǎn)一定位于二者的交集內(nèi)。所以將設(shè)位未知節(jié)點(diǎn)的采樣盒子。
步驟十四:在采樣盒子中隨機(jī)選取N個(gè)樣本值{l1,l2,...lN}。
步驟十五:利用濾波條件對(duì)樣本值進(jìn)行濾波,得到M個(gè)樣本值。
樣本濾波條件設(shè)置如表1所示:
表1
如圖3所示,C1,C2,C3表示錨節(jié)點(diǎn)的通信盒子的三個(gè)子區(qū)域,由于錨節(jié)點(diǎn)對(duì)中A、B的通信盒子有交集。所以,在定位階段,若A、B不完全重合,兩個(gè)錨節(jié)點(diǎn)會(huì)把兩個(gè)通信盒子分割為三個(gè)區(qū)域C1,C2,C3。其中以C2區(qū)為例,若未知節(jié)點(diǎn)接收到了錨節(jié)點(diǎn)A的廣播信息,沒有接收到錨節(jié)點(diǎn)B的廣播信息,則說明未知節(jié)點(diǎn)一定位于錨節(jié)點(diǎn)A的通信范圍內(nèi),且不位于錨節(jié)點(diǎn)B的通信范圍內(nèi),即一定位于C2區(qū)內(nèi)。由此可設(shè)置濾波條件,將樣本集合中不滿足條件的樣本值篩選掉。
S為未知節(jié)點(diǎn)附近的一跳錨節(jié)點(diǎn)集合。
步驟十六:判斷M是否大于等于預(yù)設(shè)閾值λ,是,則轉(zhuǎn)步驟十七,否則轉(zhuǎn)步驟十四。
為保證定位精度,樣本值數(shù)量需要一個(gè)閾值λ來限定樣本值數(shù)量,若經(jīng)過濾波條件篩選后樣本值數(shù)量滿足要求,則可繼續(xù)進(jìn)行計(jì)算,若不滿足要求,則需要返回步驟十三的采樣階段進(jìn)行采樣,重復(fù)采樣篩選,直至采樣數(shù)量滿足要求為止。
步驟十七:對(duì)所求得的樣本值{l1,l2,...lM}求均值,得到坐標(biāo)(x,y)。
步驟十八:輸出(x,y)作為未知節(jié)點(diǎn)的估計(jì)坐標(biāo)
1)以下通過具體的仿真實(shí)驗(yàn)來進(jìn)一步說明采用本發(fā)明所實(shí)現(xiàn)的技術(shù)效果。
在500×500(m2)的感知區(qū)域內(nèi)隨機(jī)分布100個(gè)未知節(jié)點(diǎn),且未知節(jié)點(diǎn)隨機(jī)移動(dòng),錨節(jié)點(diǎn)初始時(shí)刻隨機(jī)分布在感知區(qū)域內(nèi),通信半徑為20m,我們分別比較錨節(jié)點(diǎn)隨機(jī)移動(dòng)的蒙特卡洛定位方法,錨節(jié)點(diǎn)自適應(yīng)移動(dòng)但彼此之間不協(xié)作的節(jié)點(diǎn)效益最大化方法,以及本發(fā)明提出的錨節(jié)點(diǎn)間相互協(xié)作的自適應(yīng)導(dǎo)航算法。
為了能更好地比較錨節(jié)點(diǎn)分布密度較少時(shí)的定位性能,我們?cè)?00×500(m2)的感知區(qū)域內(nèi)布置2個(gè)錨節(jié)點(diǎn)。圖5是關(guān)于定位精度與定位時(shí)間的曲線圖,比較了三種方法,可以看出蒙特卡洛定位方法誤差最大,且隨著時(shí)間變化其定位誤差波動(dòng)也較大,這是因?yàn)槊商乜宥ㄎ环椒ㄔ诙ㄎ贿^程中的錨節(jié)點(diǎn)是隨機(jī)移動(dòng)的,造成采樣區(qū)域的大小也完全隨機(jī)決定,采樣區(qū)域越大,定位誤差相應(yīng)越大。而節(jié)點(diǎn)效益最大化方法保證了錨節(jié)點(diǎn)下一時(shí)刻的位置節(jié)點(diǎn)效益最大,也就是如果在某時(shí)刻未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn)廣播的信息時(shí)其采樣區(qū)域是相對(duì)最小的,從而保證了較高的定位精度。本發(fā)明所提出的基于錨節(jié)點(diǎn)間相互協(xié)作的定位方法,其定位精度最高,這是因?yàn)閮蓚€(gè)錨節(jié)點(diǎn)的相互協(xié)作保證了定位階段未知節(jié)點(diǎn)附近至少有2個(gè)錨節(jié)點(diǎn),進(jìn)一步減少了采樣區(qū)域的面積。圖6是關(guān)于定位時(shí)間與未知節(jié)點(diǎn)覆蓋率之間的關(guān)系曲線圖。圖中蒙特卡洛定位方法所定位的未知節(jié)點(diǎn)數(shù)量是最少的,這是因?yàn)殄^節(jié)點(diǎn)的隨機(jī)移動(dòng)往往會(huì)使其穿越一些未知節(jié)點(diǎn)密度分布稀疏的區(qū)域,相對(duì)應(yīng)的定位數(shù)量也會(huì)變少。而錨節(jié)點(diǎn)自適應(yīng)移動(dòng)則很好地解決了這個(gè)問題,避免了錨節(jié)點(diǎn)資源及能量的浪費(fèi)。
圖7和圖8是關(guān)于錨節(jié)點(diǎn)數(shù)量變化與定位性能的關(guān)系曲線圖,感知區(qū)域內(nèi)錨節(jié)點(diǎn)數(shù)量逐漸由2個(gè)增加到100個(gè)。由圖7可以看出,三種定位方法的定位精度是隨著錨節(jié)點(diǎn)數(shù)量增加而逐漸減少的,基于錨節(jié)點(diǎn)自適應(yīng)移動(dòng)的定位方法對(duì)錨節(jié)點(diǎn)數(shù)量變化反應(yīng)沒有蒙特卡洛方法敏感,本發(fā)明所提出方法與非協(xié)作的節(jié)點(diǎn)效益最大化方法相比,定位精度得到明顯提高,前者2個(gè)錨節(jié)點(diǎn)的定位精度與后者100個(gè)錨節(jié)點(diǎn)定位精度基本相同。圖8則表明隨著錨節(jié)點(diǎn)數(shù)量增加,所定位的未知節(jié)點(diǎn)比例也是逐漸增加的,且基于錨節(jié)點(diǎn)自適應(yīng)移動(dòng)的定位方法的定位比例要高于蒙特卡洛定位方法。
圖9和圖10是節(jié)點(diǎn)移動(dòng)速度與定位性能之間的關(guān)系曲線圖。節(jié)點(diǎn)速度范圍為1m/s-50m/s由圖9可以看出,三種方法的定位誤差隨著節(jié)點(diǎn)速度變化而逐漸變大,蒙特卡洛定位方法對(duì)節(jié)點(diǎn)速度變化最為敏感,說明其穩(wěn)定性也最差,錨節(jié)點(diǎn)路徑規(guī)劃后的定位穩(wěn)定性要優(yōu)于錨節(jié)點(diǎn)隨機(jī)移動(dòng)。圖10是節(jié)點(diǎn)最大移動(dòng)速度對(duì)未知節(jié)點(diǎn)定位比例的影響,本發(fā)明提出的方法對(duì)節(jié)點(diǎn)速度改變影響最小,具有較強(qiáng)的穩(wěn)定性。
圖11是本發(fā)明方法流程示意圖。
以上這些實(shí)施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。