你的位置:首頁(yè) > 互連技術(shù) > 正文

定位算法的優(yōu)劣,解析無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位與算法步驟

發(fā)布時(shí)間:2016-06-12 責(zé)任編輯:susan

【導(dǎo)讀】定位是無(wú)線傳感器網(wǎng)絡(luò)中的一個(gè)重要的研究方向,定位算法的優(yōu)劣直接影響著無(wú)線傳感器網(wǎng)絡(luò)在實(shí)際應(yīng)用中是否可行。測(cè)量的數(shù)據(jù)不同以及使用的坐標(biāo)計(jì)算方法的不同導(dǎo)致了各種不同的定位算法的產(chǎn)生。
 
質(zhì)心定位算法是通過(guò)計(jì)算發(fā)送信息的錨節(jié)點(diǎn)所組成的多邊形的質(zhì)心做為未知節(jié)點(diǎn)的坐標(biāo)位置的一種算法。質(zhì)心算法基于網(wǎng)絡(luò)連通性對(duì)未知節(jié)點(diǎn)進(jìn)行定位,無(wú)需錨節(jié)點(diǎn)與未知節(jié)點(diǎn)進(jìn)行協(xié)同操作,是一種非常簡(jiǎn)單而且易于實(shí)現(xiàn)的定位算法,對(duì)于那些對(duì)定位精度要求不高的應(yīng)用,質(zhì)心算法是一個(gè)很好的定位方法。
  
DV-Hop算法的基本思想是先獲得未知節(jié)點(diǎn)與錨節(jié)點(diǎn)的跳數(shù),然后計(jì)算網(wǎng)絡(luò)平均每跳的距離,再通過(guò)跳數(shù)與平均每跳的距離的乘積得到未知節(jié)點(diǎn)與錨節(jié)點(diǎn)的距離,最后,通過(guò)未知節(jié)點(diǎn)與至少3個(gè)錨節(jié)點(diǎn)之間的距離得到未知節(jié)點(diǎn)的位置坐標(biāo)。DV-Hop定位算法是一種無(wú)需測(cè)距技術(shù)的、完全基于節(jié)點(diǎn)密度的、適用于密集部署的各向同性網(wǎng)絡(luò)的定位算法。
  
MDS-MAP定位算法的基本思想是先從全局角度生成網(wǎng)絡(luò)拓?fù)溥B通圖,當(dāng)節(jié)點(diǎn)有測(cè)距能力時(shí),用測(cè)距結(jié)果作為每條邊的值,否則,用所有邊賦值為1,表示僅有連通性信息,生成節(jié)點(diǎn)間距矩陣。然后用多維標(biāo)度技術(shù)MDS(MultidimensionalScaling)生成網(wǎng)絡(luò)的相對(duì)坐標(biāo)系統(tǒng),最后,使用不在同一直線的n+1個(gè)錨節(jié)點(diǎn)信息把n維的相對(duì)坐標(biāo)系統(tǒng)轉(zhuǎn)化為絕對(duì)坐標(biāo)系統(tǒng)。
  
分簇算法把網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)組織成簇的形式,只在一個(gè)簇范圍內(nèi)傳輸信息,不需要把控制消息傳遍整個(gè)網(wǎng)絡(luò),可以有效地減少網(wǎng)絡(luò)的能量消耗。
  
簇成員的功能比較簡(jiǎn)單,不需要維護(hù)復(fù)雜的路由信息,具有很好的可擴(kuò)充性。
  
簇頭節(jié)點(diǎn)由簇頭選舉算法選舉產(chǎn)生,能根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓瘎?dòng)態(tài)分簇,具有很強(qiáng)的抗毀性和魯棒性。但是分簇算法中的簇頭選擇算法復(fù)雜度較高,而且簇頭節(jié)點(diǎn)還可能會(huì)成為網(wǎng)絡(luò)的瓶頸,從而影響網(wǎng)絡(luò)的能量消耗和定位效率。
 
 
改進(jìn)的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法
  
分簇算法的定位精度較高,但是其計(jì)算量也較大,用RSSI測(cè)距方法定位卻不夠精確。首先,把無(wú)線傳感器網(wǎng)絡(luò)劃分成多個(gè)區(qū)域,然后在每個(gè)區(qū)域內(nèi)使用RSSI測(cè)距方法,通過(guò)多個(gè)錨節(jié)點(diǎn)計(jì)算未知節(jié)點(diǎn)的位置,最后,計(jì)算多個(gè)結(jié)果求出平均值最為最后的定位結(jié)果。
  
網(wǎng)絡(luò)區(qū)域的劃分是按照錨節(jié)點(diǎn)的距離為依據(jù)的,先計(jì)算網(wǎng)絡(luò)中所有錨節(jié)點(diǎn)之間的距離,選擇最近的幾個(gè)錨節(jié)點(diǎn)作為一個(gè)網(wǎng)絡(luò)區(qū)域,在該區(qū)域內(nèi)的未知節(jié)點(diǎn)就用這些錨節(jié)點(diǎn)來(lái)定位。用RSSI測(cè)距方法測(cè)量未知節(jié)點(diǎn)與范圍內(nèi)的錨節(jié)點(diǎn)的距離,用極大似然估計(jì)法計(jì)算未知節(jié)點(diǎn)的位置,并存儲(chǔ)于該節(jié)點(diǎn)中。最后,計(jì)算存儲(chǔ)在未知節(jié)點(diǎn)中的多個(gè)坐標(biāo)數(shù)據(jù)的平均值,把平均坐標(biāo)值作為節(jié)點(diǎn)的最終坐標(biāo)。
  
 
對(duì)于網(wǎng)絡(luò)邊界的未知普通節(jié)點(diǎn),它們周圍的錨節(jié)點(diǎn)數(shù)量較少,不適于上面的方法??梢酝ㄟ^(guò)它們周圍已經(jīng)定位的普通節(jié)點(diǎn)來(lái)定位網(wǎng)絡(luò)邊界節(jié)點(diǎn),把這些已經(jīng)知道位置的普通節(jié)點(diǎn)看成上面方法中的錨節(jié)點(diǎn),使用上面的步驟完成定位。
  
算法的具體步驟:
  
(1)計(jì)算網(wǎng)絡(luò)中錨節(jié)點(diǎn)之間的距離,并存儲(chǔ)離它較近的幾個(gè)錨節(jié)點(diǎn)的信息。
(2)以幾個(gè)錨節(jié)點(diǎn)為邊界劃分定位區(qū)域,錨節(jié)點(diǎn)的個(gè)數(shù)決定越多定位精度越高。
(3)在每個(gè)區(qū)域內(nèi),使用RSSI方法測(cè)量未知節(jié)點(diǎn)與幾個(gè)錨節(jié)點(diǎn)的距離。
(4)通過(guò)極大似然估計(jì)法計(jì)算未知節(jié)點(diǎn)的位置坐標(biāo),并把數(shù)據(jù)保存在未知節(jié)點(diǎn)中。
(5)對(duì)要定位的未知節(jié)點(diǎn)重復(fù)(3)(4)步驟。
(6)對(duì)網(wǎng)絡(luò)中每個(gè)區(qū)域中要定位的節(jié)點(diǎn)同時(shí)進(jìn)行(3)(4)(5)步驟。
(7)網(wǎng)絡(luò)中每個(gè)未知節(jié)點(diǎn)對(duì)本身存儲(chǔ)的多個(gè)坐標(biāo)計(jì)算平均值,把平均坐標(biāo)值更新為該節(jié)點(diǎn)的最新坐標(biāo)值。
(8)處理網(wǎng)絡(luò)的邊界未知節(jié)點(diǎn)。
要采購(gòu)傳感器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉