新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種改進的無線傳感器網(wǎng)絡非測距定位算法

一種改進的無線傳感器網(wǎng)絡非測距定位算法

作者: 時間:2017-10-20 來源:網(wǎng)絡 收藏

  節(jié)點定位是實現(xiàn)應用的前提,控制節(jié)點定位誤差成為保證網(wǎng)絡正常運行的關(guān)鍵。采用基于測距的定位算法,可以達到良好的精度,但需要測量裝置,不適合能量受限的無線。本文分析了常用的非測距定位算法,并在此基礎上提出了一種改進的基于序列的非測距定位算法,以提高無線定位算法的性能。

本文引用地址:http://butianyuan.cn/article/201710/366801.htm

  引言

  無線傳感器網(wǎng)絡具有部署靈活、便于信息獲取和傳輸?shù)忍卣鳎?],得到大量應用。由于無線傳感器網(wǎng)絡節(jié)點一般采用低功耗設置以解決長時工作狀態(tài)下能量補給困難的問題,其節(jié)點定位技術(shù)不同于全球衛(wèi)星定位系統(tǒng)(Global Positioning System,GPS)定位技術(shù)。如果采用基于測距的定位算法,可以達到良好的精度,但要求額外的物理測量設備,硬件成本和功耗偏高,不適合于大規(guī)模無線傳感器網(wǎng)絡?;诜菧y距的定位算法,由于不需要測量傳感器節(jié)點之間的物理距離或角度,在實際中具有更佳的實用性,因此成為研究熱點。

  目前基于非測距的算法有DVHop(Distance VectorHop)算法[2]、Centroid算法[3]、APIT算法[4]、SBL(SequenceBased Localization)算法[5]。SBL算法是一種利用接收信號強度RSSI來采集信標節(jié)點序列,通過區(qū)域劃分實現(xiàn)節(jié)點定位的非測距定位算法。該算法對比RSSI信號的強弱獲得待定位節(jié)點與不同信標節(jié)點之間距離的相對大小,具有復雜度低、定位精度高、健壯性強的特點。但是SBL算法不能充分利用一跳范圍以外的信標節(jié)點和未知節(jié)點的信息等,本文通過分析一跳范圍以外的節(jié)點信息,在相同條件下提高了算法的定位精度,仿真實驗表明 (Advanced SequenceBased Localization)算法相對于SBL算法在性能上有大幅的提升。

  1 模型化

  在無線傳感器網(wǎng)絡中,節(jié)點分為兩類:信標節(jié)點和未知節(jié)點。信標節(jié)點所占比例較小,可以獲知自身的精確位置,未知節(jié)點利用信標節(jié)點的位置信息通過某種算法來確定自身位置。如圖1所示,區(qū)域中有A、B、C三個信標節(jié)點,在A和C中垂線的上側(cè)區(qū)域中任意一點與A、C的距離關(guān)系為DA 《 DC,同理在中垂線下側(cè)區(qū)域有DC 《 DA。不同的中垂線相互交叉把網(wǎng)絡所在區(qū)域分割成更小的獨立區(qū)域,每個獨立區(qū)域到信標節(jié)點的距離排序是唯一的,這個排序序列稱為該獨立區(qū)域的簽名序列。如果一個待定位節(jié)點在DB《 DA ∩DB 《 DC∩DA 《 DC區(qū)域中通過RSSI測量各個信標節(jié)點的信號強度,那么得到的信號強度應該是SB 》SA 》SC,待定位節(jié)點認為自己測得的定位序列為B-A-C。

  

  圖1 區(qū)域劃分和求簽名序列

  兩個序列之間的匹配相似度采用斯皮爾曼相關(guān)系數(shù)[6](Spearman‘s Rank Order Correlation Coefficient)和肯德爾等級相關(guān)系數(shù)[6](Kendall’s Tau)來衡量。給定兩個序列U={ui}和V={vi},1≤ i≤n,其中n表示信標節(jié)點的個數(shù),ui和vi表示序列中的信標節(jié)點的位置。用ρ表示斯皮爾曼相關(guān)系數(shù),用τ表示肯德爾等級相關(guān)系數(shù),則有:

  

  其中,nc表示兩個序列中先后順序一致的節(jié)點對的數(shù)目,nd表示兩個序列中先后順序不一致的節(jié)點對的數(shù)目,ntu和ntv分別表示兩個序列的內(nèi)部關(guān)系數(shù)。

  ρ和τ的值都介于-1和1之間。兩個完全相同序列的ρ和τ的值為1,完全不相關(guān)的兩個序列的ρ和τ的值為0,兩條相逆的序列的ρ和τ的值為-1。SBL算法取ρ和τ值最大的序列作為匹配序列。如圖2所示,待定位節(jié)點通過式(1)的匹配算法與“簽名序列表”中的序列進行匹配,可以得出自己所在的區(qū)域,以該區(qū)域的質(zhì)心作為自己的坐標。

  

  圖2 匹配探測序列完成定位

  2 算法

  算法的待定位節(jié)點只能接收到通信半徑范圍內(nèi)的信標節(jié)點的RSSI值,無法充分利用通信半徑外的信標節(jié)點信息來定位。當網(wǎng)絡中信標節(jié)點增多時,理論上被分割區(qū)域并沒有發(fā)揮作用。

  如圖3所示,S表示待定位節(jié)點,最中心的虛線范圍表示S經(jīng)過RSSI序列進行初步定位之后可能的待定位區(qū)域。A表示在S通信范圍內(nèi)的信標節(jié)點,B表示2跳范圍的信標節(jié)點,C和D表示三跳范圍的信標節(jié)點。分別做AB、AC和AD之間的平分線,AB和AC之間的平分線穿越S的待定位區(qū)域,能夠縮小待定位區(qū)域的面積,當信標節(jié)點D位于三跳范圍邊緣時,AD之間的平分線剛好與待定位區(qū)域的邊緣相切,未能穿越待定位區(qū)域。因此,在均勻分布的網(wǎng)絡中,距離待定位節(jié)點跳數(shù)越小的信標節(jié)點對于待定位節(jié)點的定位幫助越大,隨著跳數(shù)的增加,三跳范圍以外的的信標節(jié)點不能對待定位節(jié)點的定位提供有用的位置信息。在實際中,待定位節(jié)點發(fā)出的定位詢問信息的跳數(shù)上限設置為6即可,既能最大化地利用多跳信標節(jié)點的位置信息,又不會消耗過多的能量用于通信。

  

  圖3 不同跳數(shù)的信標節(jié)點之間的中垂線

  如圖4所示,一跳的信標節(jié)點能給待定位節(jié)點提供大致的待定位區(qū)域,二跳信標節(jié)點一般情況下能將待定位區(qū)域的面積縮小75%左右,三跳及三跳以外的信標節(jié)點能在二跳的基礎上繼續(xù)將待定位區(qū)域面積縮小20%左右。

  

  圖4 不同跳數(shù)的信標節(jié)點對定位的幫助

  3 仿真驗證

  本文使用Java語言開發(fā)了一個仿真平臺,分析檢驗ASBL算法的各種性能指標。設置傳感器節(jié)點隨機部署在200 m×200 m的區(qū)域內(nèi),節(jié)點的通信半徑默認為30 m,表1中的數(shù)據(jù)是仿真平臺的各項參數(shù)信息。

  

  表1 仿真平臺默認參數(shù)信息

  3.1 節(jié)點密度對定位精度的影響

  本組仿真中,將節(jié)點隨機部署,信標節(jié)點密度設為10%,節(jié)點數(shù)量在100~500之間變化,節(jié)點通信半徑覆蓋不規(guī)則度為0,其余參數(shù)保持不變。通過圖5可以看出,隨著節(jié)點密度的增大,各算法定位精度都有所提升,當節(jié)點達到400個時,各算法性能趨于穩(wěn)定。因為能夠使用一跳范圍外的信標節(jié)點和未知節(jié)點協(xié)助定位,ASBL算法定位精度比DV-Hop算法提高25%左右,比APIT算法提高15%左右,比SBL算法提高12%。

  

  圖5 節(jié)點密度對定位精度的影響

  3.2 節(jié)點通信半徑對定位精度的影響

  設置節(jié)點總數(shù)為300個,信標節(jié)點密度為10%,節(jié)點通信半徑從10~50 m遞增,其余參數(shù)按照默認設置,重復10次仿真。由圖6可以看出,通信半徑為10 m時,ASBL算法的定位精度要比SBL算法高75%,這是因為ASBL能充分利用一跳范圍外的信標節(jié)點。通信半徑為50 m時,ASBL算法的定位精度比SBL算法僅高1.4%,這是因為當節(jié)點通信半徑增加時,原來位于一跳范圍外的信標節(jié)點此時會位于一跳范圍內(nèi)。

  

  圖6 節(jié)點通信半徑對定位精度的影響

  結(jié)語

  非測距的定位技術(shù)以所需傳感器節(jié)點能量少、硬件簡單,成為目前無線傳感器網(wǎng)絡定位技術(shù)的主要研究方向。本文提出了ASBL算法,針對SBL算法作了改進,以提高算法良好的適應性和健壯性。恰當?shù)亩ㄎ凰惴ㄊ菬o線傳感器網(wǎng)絡正常工作的基礎,針對非測距定位算法的研究將 會朝著降低能量消耗和提高定位精度的方向發(fā)展,從而極大地提高網(wǎng)絡的生存能力和工作效率。



關(guān)鍵詞: 傳感器網(wǎng)絡 ASBL

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉