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

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

 ZigBee技術以獨特的低成本、低功耗,、低速率的特點,,而擁有其他無線通信技術所無可比擬的優(yōu)勢,。同時在其成本變化不大的情況下,,增加硬件定位引擎,僅消耗極小的硬件資源,,利用原有網(wǎng)絡條件就能實現(xiàn)無線定位,,進一步拓展了ZigBee技術的應用?;诘竭_時間(TOA),、到達時間差(ODOA)、到達角度(AOA),、接收信號強度(RSSI)的定位機制都適用于IEEE802.15.4網(wǎng)絡[1],。而基于RSSI的定位機制更符合ZigBee技術低成本的特點,并能滿足大部分低精確度定位的要求,。
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平面上的定位誤差。但在實際應用中,,因現(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技術實踐教程[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)絡定位技術的研究與實現(xiàn)[J],傳感器與微系統(tǒng),,2010,,29(2):15-16.

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