新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于RSSI測距的定位算法的研究

        基于RSSI測距的定位算法的研究

        作者: 時間:2013-01-15 來源:網絡 收藏

        引言
          技術中定義了3種設備:協調器(Coordinator),路由器(Router)和終端設備(EndDevice)。協調器主要負責啟動整個網絡;路由器的功能主要是允許其他設備加入網絡及多跳路由等;終端設備一般沒有特定的維持網絡結構的責任。技術通過這3種設備可以構成一個移動自組織的網絡,廣泛應用在家庭、環境監測、工農業等場合[1]。目前的定位技術總體上可以分為基于與無需。前者定位精度較高,后者實現起來比較簡單。在中,有基于接收信號強度()、基于到達時間差(TOA)、基于不同波的到達時間差(TDOA)以及到達角度差(AOA)等[24]。在這幾種測距技術中,基于的測距技術將接收到的信號強度轉換為節點之間的距離,不需要額外的硬件和數據交換,有成本低、容易實現等優點。本文結合CC2430/CC2431芯片,設計了一種基于的測距定位算法。

        1 RSSI測距的實現原理

          基于RSSI的測距技術是利用無線電信號隨距離增大而有規律地衰減的原理來測量節點間的距離的。接收信號強度RSSI與傳輸距離d的關系如下所示[5,8]:RSSI=-(10×n×lgd+A)(1)式中,n表示信號傳播常數,也叫傳播系數;d表示與發送者的距離;A表示距發送者1 m時的信號強度。測距精度的高低受到n與A實際取值大小的影響較大。A是一個經驗參數,可以通過測量距離發送者1 m處的RSSI 值得到。n是用來描述信號強度隨距離增加而遞減的參量,n的大小依賴具體的環境。為了得到最優的n值,可以先放置好所有的參考節點,然后嘗試用不同的n_index值找到最適合這個具體環境的n值。

        2 節點組成的定位網絡

        2.1 CC2430/CC2431芯片介紹

          CC2430/CC2431是Chipcon公司(現被TI收購)推出的針對IEEE 802.15.4/應用的片上系統,其內部集成了工作在24 GHz的射頻收發器,擁有低功耗的8051 MCU內核、128 KB可編程Flash ROM和8 KB RAM,還有A/D轉換器、定時器等。另外,CC2431片上系統由CC2430加上Motorola公司基于IEEE 802.15.4標準的無線定位引擎組成。其定位引擎支持3~l6個參考節點的定位運算,最高精度可達05 m;定位時間少于40 μs,定位區域為64 m×64 m,定位誤差為3~5 m,與一般軟件定位相比,具有定位速度快、定位準確度高、消耗CPU資源少的特點[6]。
          CC2430/CC2431主要外圍電路圖如圖1所示。

        圖1 CC2430/CC2431主要外圍電路圖

        2.2 節點構成的定位網絡


        圖2 ZigBee定位網絡控制界面

          ZigBee網絡中有一類節點作為協調器,通過串口負責與PC通信;還有一類節點是參考節點,如圖2中周邊的4個圓圈,地址分別為0x143E、0x0001、0x3CB8、0x287B。這4個節點坐標已知,中間的圓圈(地址0x0002)為盲節點。盲節點可以根據接收信號強度,選取其中3個信號強度比較強的參考節點,采用三邊測量法估算出盲節點的坐標位置。如圖2所示,盲節點實時顯示的坐標為(6.25 m,5.75 m)。

          圖3為CC2431定位引擎的定位流程。

        圖3 CC2431定位引擎的定位流程

        2.3 最小二乘法修正距離

          從式(1)可以看出,如果知道參考節點與盲節點之間的RSSI值,則可以估算出兩個節點之間的距離。然而不同的環境下可能存在不同的信號干擾,采用節點之間的RSSI值估算距離必然存在一定的誤差。這時可以根據特定的環境對測量到的距離采用傳統的最小二乘法進行修正[7]。得到修正后的距離,從而可以更加精確地估算出盲節點的坐標。具體步驟如下:
        ① 根據實際情況布置好節點,參考節點(Mi,Ni)與盲節點(Mj,Nj)的位置坐標均已知。可以根據xi=(Mi-Mj)2+(Ni-Nj)2得到實際節點之間的距離。
        ② 根據式(1)估算出盲節點與各個參考節點之間的距離yi。
        ③ 采用最小二乘法擬合實際距離xi與估計距離yi的關系。假設兩者之間的關系為yi=axi+b,為了使所有數據偏差的平方和很小,假設R2=∑mi=1(yi-axi-b)2。可以把R2看作自變量a和b的二元函數,要使得R2最小,分別對自變量求導,令其等于零。

          根據得到的a與b的值可以擬合出修正距離與估計距離的關系Y修=a×X估+b,結合式(1)可以得到:

        ④ 布置盲節點,通過式(1)估計盲節點與參考節點之間的距離x,通過第3步擬合好的修正距離與估計距離之間的關系修正估計距離,得到修正的距離Y修。

        2.4 盲節點坐標估計

          選擇3個接收信號強度最強的參考節點,采用三邊測量法估計出盲節點坐標值[8]。假設3個參考節點A、B、C的坐標分別為(ma,na)、(mb,nb)、(mc,nc),盲節點E的坐標(m,n)未知。通過2.3節4個步驟得到盲節點與3個參考節點的修正距離分別為da、db、dc。則根據兩點之間的距離公式可以得到式(5):

        展開并化簡,可得到盲節點E的坐標(m,n),如式(6)所示:

        3 實驗結果分析

          在35 m×35 m的區域內布置4個參考節點,定位網絡控制界面如圖2所示。通過采集100個數據包,經過重復調整,n取16、A取47時定位效果最好。通過最小二乘法擬合出修正距離與估算距離之間的關系,得到a=1058 1,b=0193 4。因此,根據式(4)可以得到修正距離與估計距離之間的關系Y修=10581×10-(RSSI+A)10n+0193 4。修正前與修正后的測距值如表1所列,修正前與修正后盲節點坐標估計誤差如表2所列。

        表1 修正前與修正后的測距值m

          從表1中可以看出,相比于修正前的估計距離,經過最小二乘法修正后的距離更加接近于實際距離,誤差更小,從而能更加精確地估算出盲節點的坐標。從表2中可以看出,經過修正后的距離采用三邊測量法估算出盲節點的坐標誤差要小于修正前的坐標估算誤差。

        表2 修正前與修正后盲節點坐標估計誤差m

        結語

          ZigBee技術是一門新興的學科,在生活中的各個領域都有重要的作用,定位算法是ZigBee技術中的重要算法之一。本文簡要分析了RSSI測距原理,在此基礎上結合最小二乘法原理,對估算的距離進行修正,并在以CC2430/CC2431為核心設計的ZigBee節點上組網實驗。實驗表明經過修正后的距離精度更高,對盲節點的坐標定位更加精確,修正后的定位精度符合一些常規的定位系統要求。

        本文引用地址:http://www.104case.com/article/257182.htm

        路由器相關文章:路由器工作原理


        路由器相關文章:路由器工作原理




        關鍵詞: RSSI ZigBee 測距技術

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿合奇县| 白水县| 嘉义县| 星座| 宁陵县| 桐庐县| 夹江县| 兴海县| 宜城市| 临沧市| 田阳县| 从化市| 睢宁县| 涿州市| 曲周县| 芒康县| 政和县| 清苑县| 恩施市| 交城县| 达州市| 巴彦淖尔市| 中西区| 顺昌县| 聂荣县| 清河县| 衡阳县| 东乡族自治县| 永善县| 门头沟区| 临湘市| 惠水县| 赤城县| 新巴尔虎右旗| 紫阳县| 海晏县| 奎屯市| 阿克苏市| 汽车| 伊吾县| 乐至县|