《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于ZigBee的三邊測量算法誤差研究及改進
基于ZigBee的三邊測量算法誤差研究及改進
來源:微型機與應(yīng)用2012年第21期
徐 林,傅成華
(四川理工學院,四川 自貢 643000)
摘要: 針對ZigBee技術(shù)廣泛采用的的三邊測量定位方法應(yīng)用于二維定位的問題,分析其因各節(jié)點安裝高度不同而產(chǎn)生的誤差。為維持ZigBee技術(shù)低成本的特點,導出了RSSI值修正條件及RSSI修正值與實測值的函數(shù)關(guān)系。在不增加算法復雜度的情況下,對由錨節(jié)點安裝高度不一致造成的誤差進行了抑制,并在CC2431模塊上實現(xiàn)了改進后的定位算法。結(jié)果表明,改進后的定位算法以較小的系統(tǒng)開銷提高了定位精度,具有一定的實用性和通用性。
關(guān)鍵詞: ZigBee 三邊測量 定位 誤差 CC2431
Abstract:
Key words :

摘  要: 針對ZigBee技術(shù)廣泛采用的的三邊測量定位方法應(yīng)用于二維定位的問題,分析其因各節(jié)點安裝高度不同而產(chǎn)生的誤差。為維持ZigBee技術(shù)低成本的特點,導出了RSSI值修正條件及RSSI修正值與實測值的函數(shù)關(guān)系。在不增加算法復雜度的情況下,對由錨節(jié)點安裝高度不一致造成的誤差進行了抑制,并在CC2431模塊上實現(xiàn)了改進后的定位算法。結(jié)果表明,改進后的定位算法以較小的系統(tǒng)開銷提高了定位精度,具有一定的實用性和通用性。
關(guān)鍵詞: ZigBee;三邊測量;定位;誤差;CC2431

 ZigBee技術(shù)以獨特的低成本、低功耗、低速率的特點,而擁有其他無線通信技術(shù)所無可比擬的優(yōu)勢。同時在其成本變化不大的情況下,增加硬件定位引擎,僅消耗極小的硬件資源,利用原有網(wǎng)絡(luò)條件就能實現(xiàn)無線定位,進一步拓展了ZigBee技術(shù)的應(yīng)用?;诘竭_時間(TOA)、到達時間差(ODOA)、到達角度(AOA)、接收信號強度(RSSI)的定位機制都適用于IEEE802.15.4網(wǎng)絡(luò)[1]。而基于RSSI的定位機制更符合ZigBee技術(shù)低成本的特點,并能滿足大部分低精確度定位的要求。
1 三邊測量定位
1.1 原始定位方法

 圖1是一個理想的定位場景,節(jié)點1、2、3為已知坐標的錨節(jié)點,節(jié)點4為需定位的盲節(jié)點。定位方法是將由RSSI值換算而來的r1、r2、r3值,及錨節(jié)點坐標代入矩陣式(1),求解盲節(jié)點坐標值(x,y)。


 顯然若使式(1)與式(4)的x、y值同解,當且僅當z1=z2=z3=c。由此利用式(1)進行定位計算時,若錨節(jié)點安裝高度均與盲節(jié)點高度相等,則安裝高度不會產(chǎn)生xy平面上的定位誤差。但在實際應(yīng)用中,因現(xiàn)場情況限制,錨節(jié)點往往安裝位置較高,而盲節(jié)點手持或安裝于移動物體上,因此錨節(jié)點與盲節(jié)點不可能安裝在同一水平面上。此時,式(1)、式(4)有不同解,這將在理論上產(chǎn)生定位誤差。
 在一定值場景中,如圖2中4個錨節(jié)點安裝高度為3 m,各錨節(jié)點在xy軸的投影點組成一邊長為8 m的正方形。x軸和y軸均以2 m的步長取計算點,求解式(3)時,采用有約束非線性規(guī)劃法,求得錨節(jié)點與盲節(jié)點的高差分別為2 m和3 m時的理論誤差分布,如圖3所示。由圖可知,高差越大,各點誤差值普遍增大,這對小空間內(nèi)的定位準確度造成較大影響。
1.3 算法改進
 前述算法出現(xiàn)誤差的根本原因在于定位計算時忽略了高差因素δh,CC2431的定位引擎輸入?yún)?shù)不包括節(jié)點安裝高度[4]。但考慮到δh對于二維定位,如得到各錨節(jié)點到盲節(jié)點的投影距離,僅需在xy平面上進行計算。根據(jù)式(3)消去z軸的影響因素。改造式(2)為:

 為減少CC2431在進行RSSI值修正時的系統(tǒng)開銷,預先代入A、n、δh值等常數(shù)逐點計算式(8),得到修正值。盲節(jié)點進行修正值計算時,如修正點較少時可采用查表法計算,當各錨節(jié)點安裝高度不同或修正點較多時則采用多項式擬合法計算。
2 實驗對比
 本實驗場景為長寬為8 m×8 m,凈高為3.2 m的室內(nèi)空間,分別在4個墻角安裝錨節(jié)點CC2430,安裝高度為2.8 m。手持盲節(jié)點CC2431距地約0.8 m。以1 m為步長,總計測量81個點位接收到4個RSSI值。由式(7)、式(8)得到修正表,見表1。修正表僅占用58 B的存儲空間,本次實驗采用查表法進行修正。
為對改進前后的效果進行比較,每次定點測量都連續(xù)啟動定位引擎兩次,并分別輸入RSSI(實測值)和RSSI(修正值),將兩次得到的定位坐標送至PC,經(jīng)Matlab處理后,得到改進后與改進前誤差的差值表,如表2所示。


 由表2可見,改進算法提高了散布在錨節(jié)點附近位置的定位精度,對遠離錨節(jié)點的位置因不滿足修正條件,則保持了原算法所得到的定位坐標。較好地解決了要求傳輸距離盡可能近與近距離時安裝高差將產(chǎn)生較大誤差之間的矛盾。

 

 

 本文分析了基于ZigBee的三邊測量定位算法在二維定位上,因節(jié)點安裝高度差產(chǎn)生定位誤差的本質(zhì)原因,并通過Matlab實現(xiàn)了不同高差下理論誤差的對比。提出了抑制該誤差的RSSI修正值方法。最后通過實測對提出的方法進行了驗證,體現(xiàn)出RSSI修正值法的有效性。
參考文獻
[1] 高守瑋,吳燦陽.ZigBee技術(shù)實踐教程[M].北京:北京航空航天大學出版社,2009.
[2] FARAHANI S. ZigBee wirleless networks and transceivers[M]. USA: Newnes,2008.
[3] 孫佩剛,趙海,羅玎玎,等.智能空間中RSSI定位問題研究[J],電子學報,2007,35(7):1242-1243.
[4] Chipcon Inc.CC2431 Datasheet[S].2006. 5-9.
[5] 王靜,張會清.基于ZigBee的無線網(wǎng)絡(luò)定位技術(shù)的研究與實現(xiàn)[J],傳感器與微系統(tǒng),2010,29(2):15-16.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。