• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 無線傳感器網絡中的DV—HOP定位改進算法

    無線傳感器網絡中的DV—HOP定位改進算法

    作者: 時間:2014-01-23 來源:網絡 收藏
    引言
    是由大量隨機分布的傳感器節點組成,是一種分布式的、自組織的網絡。其關鍵技術包括:網絡拓撲控制、節點定位、時鐘同步、數據融合、路由協議等。而節點定位問題則是中的一個最為基本和重要的問題。目前,定位算法可以分為基于測距和基于非測距的定位算法。基于測距定位常用的測量方法有TOA、TDOA、AOA、RSSI,盡管這些技術相對精度高,但是對硬件要求很高。基于非測距定位常用的測量方法有:DV-Hop、質心、APIT、MDS—MAP。
    DV—Hop為典型的基于非測距定位,其對硬件要求低,實現簡單。它的不足之處在于計算平均跳距及定位坐標時會產生誤差。因此針對DV—Hop算法的缺陷,提出了一系列的,參考文獻對原始算法中的平均跳距進行改進,使用多個錨節點估算平均距離并且采用歸一化加權的平均跳距。參考文獻提出了基于幾何學的定位算法,利用幾何學中的斜率方法來判斷錨節點間的位置關系,從中選取最優的錨節點序列,從而更精確地確定未知節點。參考文獻引入共線度的概念,利用共線度參數,動態地調節未知節點可以收集的鄰居錨節點的距離閾值,挑選網絡中好的錨節點組進行位置估計,最后再用加權估計機制來得到最終的節點位置估計。這些方法都在一定程度上提高了定位精度。
    本文針對DV—Hop算法中計算平均跳距和三邊定位兩方面存在的定位誤差,提出了改進的算法。首先利用全網平均跳距來糾正單個錨節點的平均跳距,然后在最后計算三邊定位時,利用節點間連通度的不同,選擇最優組合的3個錨節點來參與定位,進一步提高定位精度。

    1 DV—Hop算法介紹
    美國路特葛斯大學的Dragos Niculescu等人利用距離矢量路由和GPS定位原理提出一系列分布式定位算法,合稱APS,DV—Hop算法就是其中的一種。
    DV—Hop分為3個步驟實現:
    ①錨節點i廣播自身的位置信息IDi。初始跳數0,每發送一個節點信息,跳數就加1,然后轉發,直到網絡中所有的節點都收到錨節點的信息包。如果節點收到同一個錨節點不同的跳數信息,只取最小的跳數信息。
    ②當錨節點i接收到其他錨節點的位置和最小跳數信息后,就可以計算出平均每跳距離(Average Hop Distance,AHD)的計算公式:
    a.JPG
    其中,(xi,yi)、(xj,yj)分別為錨節點i、j的坐標;hij為兩個錨節點之間的跳數。未知節點只接收離它最近的錨節點的AHDi,hopi為未知節點離最近錨節點的跳數,再根據跳數信息,即可算得未知節點與錨節點的距離P:
    P=AHDi×hopi (2)
    ③當未知節點獲得3個或者更多的錨節點信息時,可以利用三邊定位或者最大似然相似求出未知節點的位置。(x,y)為未知節點的坐標,(xi,yi)為已知錨節點的坐標。根據式(2)即可算出未知節點的坐標:
    c.JPG

    2 改進后的DV—Hop算法
    本文主要對DV—Hop算法里的第2步和第3步進行改進,第1步與原算法相同。原算法中,在第2步計算平均跳距的時候,未知節點接收來自最近的錨節點的平均跳距。但是由于網絡節點分布的不均勻性,導致單個錨節點計算的平均跳距存在著一定的誤差,因此本文引入全網平均跳距與單個錨節點平均跳距的均值來修正原算法中的平均跳距。在第3步中,錨節點的位置信息對定位精度影響很大,本文利用節點間連通度的不同,選取最優的3個錨節點,以減小定位誤差。
    2.1 平均跳距的改進
    將全網平均跳距與單個錨節點估算出來的AHDi取平均來代替經典算法中的平均跳距,這樣未知節點既有全網的估算信息,也具有離它最近的錨節點的估算平均跳距AHDi的局部信息。全網平均跳距公式為:
    d.JPG
    其中,n為網絡中的錨節點的個數。
    修正后的平均跳距AHD公式為:
    AHD=(AHDall+AHDi)/2 (5)
    2.2 基于選擇性的3個錨節點
    基于選擇性的錨節點的定位算法利用連通度的不同,在三邊節點定位時,選擇最優的3個錨節點定位,使其定位誤差最小。節點分布圖如圖1所示。未知節點N1利用三邊定位時可以用不同的3個錨節點組(P1,P2,P3)、(P1,P2,P4)、(P2,P3,P4)、(P1,P3,P4)來定位。而用最大似然估計計算時,則選用(P1,P2,P3,P4)來定位,這樣不同的錨節點組肯定會產生不同的定位位置。

    f.JPG


    2.2.1 基本規則
    用未知節點與每個錨節點的最小跳數來定義連通度,用數組來表示。比如N1到所有錨節點的連通度為[1,1,2,5]。這樣圖1中的所有的未知節點的連通度可以用數組表示,如表1所列。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 罗田县| 温泉县| 东平县| 华池县| 拜城县| 彭山县| 沧州市| 慈利县| 京山县| 乌鲁木齐市| 阜康市| 朝阳区| 航空| 策勒县| 黎平县| 屏东县| 湟源县| 思茅市| 孝义市| 冕宁县| 裕民县| 江安县| 洱源县| 依安县| 华安县| 榕江县| 莲花县| 大安市| 东方市| 石家庄市| 长乐市| 瓮安县| 西乌珠穆沁旗| 文昌市| 新源县| 永泰县| 雷山县| 昌宁县| 察雅县| 思茅市| 叶城县|