ZigBee技術中基于RSSI測距的定位算法研究
摘要:采用CC2430/CC2431為核心芯片設計ZigBee節點,并采用此類節點構成一個ZigBee定位網絡。根據節點接收信號強度(RSSI)的模型,估計出盲節點與參考節點的距離,并采用最小二乘法對估計的距離進行修正。選擇3個接收信號強度最強的參考節點,根據修正的距離采用三邊測量法估計出盲節點的坐標。實驗表明,修正后的定位精度高于修正前的定位精度。
關鍵詞:ZigBee技術;節點定位;RSSI;最小二乘法
引言
ZigBee技術中定義了3種設備:協調器(Coordinator),路由器(Router)和終端設備(End-Device)。協調器主要負責啟動整個網絡;路由器的功能主要是允許其他設備加入網絡及多跳路由等;終端設備一般沒有特定的維持網絡結構的責任。ZigBee技術通過這3種設備可以構成一個移動自組織的網絡,廣泛應用在家庭、環境監測、工農業等場合。目前的定位技術總體上可以分為基于測距技術與無需測距技術。前者定位精度較高,后者實現起來比較簡單。在測距技術中,有基于接收信號強度(RSSI)、基于到達時間差(TOA)、基于不同波的到達時間差(TDOA)以及到達角度差(AOA)等。在這幾種測距技術中,基于RSSI的測距技術將接收到的信號強度轉換為節點之間的距離,不需要額外的硬件和數據交換,有成本低、容易實現等優點。本文結合CC2430/CC2431芯片,設計了一種基于RSSI的測距定位算法。
1 RSSI測距的實現原理
基于RSSI的測距技術是利用無線電信號隨距離增大而有規律地衰減的原理來測量節點間的距離的。接收信號強度RSSI與傳輸距離d的關系如下所示:
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收購)推出的針對IEEE802.15.4/ZigBee應用的片上系統,其內部集成了工作在2.4 GHz的射頻收發器,擁有低功耗的8051 MCU內核、128 KB可編程Flash ROM和8 KB RAM,還有A/D轉換器、定時器等。另外,CC2431片上系統由CC2430加上Motorola公司基于IEEE802.15.4標準的無線定位引擎組成。其定位引擎支持3~16個參考節點的定位運算,最高精度可達0.5 m;定位時間少于40μs,定位區域為64m×64m,定位誤差為3~5m,與一般軟件定位相比,具有定位速度快、定位準確度高、消耗CPU資源少的特點。
CC2430/CC2431主要外同電路圖如圖1所示。
評論