張 是,李德敏,張曉露
(東華大學信息科學與技術學院,上海201620)
基于ZIGBEE的自適應動態區域誤差因子算法*
張 是,李德敏,張曉露
(東華大學信息科學與技術學院,上海201620)
為了進一步完善ZigBee定位技術,減少多徑效應對室內定位的影響,在接收信號強度指示算法(RSSI)的基礎上,提出了一種自適應動態區域誤差因子算法,通過將最小二乘法與自適應動態區域誤差因子相結合的方法,來計算盲節點的位置坐標,以達到提高定位精度的效果。Matlab中的仿真結果證明,在節點處于靜態和動態兩種情況下,該算法在定位精度上都有顯著的提升。
ZigBee定位 RSSI測距 最小二乘法 自適應動態區域誤差因子
近年來,室內定位的問題越來越受業界廣泛的關注,隨著社會的發展,對定位問題的研究也存在著重大的意義和研究價值。例如在火災現場、礦災現場對人員的救援缺乏準確可靠的定位信息,搶險救災的效率低,成功率小。而利用定位技術能準確地定位到被困人員的具體位置,從而給應急救援爭取了寶貴的救援時間,帶來了極大的方便,大大的減少傷亡人數。
與此同時,國內外各種相應的定位方式也不斷涌現,目前的定位技術主要有紅外線室內定位技術、超聲波定位技術、藍牙定位技術、射頻識別定位技術等。由于諸如功耗和通信成本等原因,這些技術還沒有被廣泛的應用。自2006年正式推出ZigBee標準以來,業界提出了不少基于ZigBee技術的定位算法,如三邊測量法、三角測量法和最大似然估計定位法。這些方法雖然可以有效減小功耗等帶來的問題,但是由于ZigBee無線網絡往往受到障礙物的影響而使定位精度很低,所以基于ZigBee的室內定位技術還有待于進一步的完善。
鑒于ZigBee技術其自身低功耗、低成本等特點,能夠更好的滿足短距離室內定位的要求。為了改善現有的定位技術精度低的問題,文中提出了一種基于ZigBee的自適應動態區域誤差因子算法,該算法的設計是在原有接受信號強度指示(RSSI,Received Signal Strength Indicator)定位算法的基礎上,通過最小二乘法擬合及動態區域誤差因子相結合的方法,來修正盲節點的定位坐標,以達到提高定位精度的效果。
為了減小室內定位中多徑效應對基于RSSI定位算法的影響,國內外的研究人員先后提出了不少的定位算法改進方案,2008年高國勝等人在文獻[1]中提出了一種基于RSSI測距的信標節點自校正定位算法,以三邊定位算法為基礎,通過測量信標節點之間的距離,獲得RSSI值的網絡定位誤差,并對誤差進行補償,從而提高整個網絡的定位精度,但三邊定位算法本身的誤差就較大,因此該算法雖然提出的想法比較新穎,但還有待繼續改進。2012年杜亞江等人的文獻[2],在基于RSSI的測距技術的基礎上,提出使用最小二乘法對環境參數進行擬合的方案,但沒考慮到通信距離過長的問題,在這樣的條件下測量的RSSI值擬合出的結果會造成不可預見的誤差。2013年CHUKU N等人在文獻[3]中,在RSSI的陰影模型的基礎上,引入了最小二乘法和高斯函數,提高了定位精度,但同時也增加了整個算法的復雜度,使其不適用于有移動節點且內部環境較復雜的室內定位。
由于室內的定位環境相當復雜,如何在考慮到節點能耗,不增加算法復雜度的情況下,提出一個可以符合室內環境的定位算法,已成為如今室內定位中的一大研究難點。文中在文獻[1]和文獻[3]的基礎上提出一種動態區域誤差因子定位算法,根據盲節點的位置及接收信號的范圍,將定位環境縮減成一個小范圍區域,在這個動態變換的區域內計算盲節點的RSSI誤差因子,以此來提高整個網絡的定位精確度。
2.1 基于RSSI的路徑損耗模型分析
RSSI技術是通過接收到的信號強弱測定信號點與接收點的距離,進而根據相應數據進行定位計算的一種定位技術。之所以要采用動態的有目的有方向性的選擇不同參考節點來分別計算移動節點的位置坐標,是因為RSSI技術在復雜的環境中,受障礙物或反射物的影響較大,從而導致測量誤差較明顯,使得精度很低。
電波在自由空間傳播的距離、頻率和信號衰減的關系為[4]:

式中,Qlos為傳播損耗,單位為dB,d為距離,單位為km,f為工作頻率,單位為MHz。
當電波的頻率和發射功率固定不變時,通信的距離和接收器接收到的功率直接相關,由于不同的環境下信號的衰減程度不同,在相應的環境下進行測量得到傳播損耗經驗值,并對式(1)進行修正。
RSSI的理論值可表示為[4]:

式中,d為信號傳播的距離,單位是m,射頻參數A和n用于描述網絡操作環境。在全向模式下,射頻參數A被定義為用dBm,表示的距發射端1 m處接收到的信號強度絕對值。射頻參數n被定義為路徑損失指數,它指出了信號能量隨著到收發器距離的增加而衰減的速率。RSSI的定位原理為已知發射節點的發射信號強度,接收節點根據接收信號的強度,計算出信號的傳播損耗,利用理論和經驗模型將傳輸損耗轉換為距離,再利用三邊測距法計算出節點的位置,因此RSSI定位方法要求多個參考節點。
2.2 最小二乘法原理
為了減小路徑損耗模型中三邊測距法對于盲節點位置的計算誤差,文中將在此基礎上再用最小二乘法對盲節點坐標進行進一步的擬合。根據最小二乘法的原理,為了計算得到盲節點的坐標,則盲節點和信標節點之間的位置關系必須滿足式(3)[3]取得最小值:

式中,xi,yi是信標節點i的坐標值,di是通過RSSI值計算得到的從盲節點到信標節點i之間的距離,N是總的信標節點的數量。由式(3)可以推導出矩陣形式的式(4):

則可以將式(4)簡化為:A·X=B,應用最小二乘的原理,只要計算得到P(X)=‖A·X-B‖2的最小值,即能求解得到盲節點的近似坐標:X= (ATA)-1ATB。
2.3 自適應動態區域誤差因子算法描述
由于在室內環境的傳播過程中,RSSI值的受外界因素影響較大,在使用傳統的方式獲得節點坐標的基礎上,必須針對具體環境,對基于已損耗的RSSI值所計算出的距離進行補償,以此來提高定位可靠性,因此,文中設計了一種自適應動態區域誤差因子算法,可以較為有效的減小外界環境變換所帶來的定位誤差。
文中所設計的自適應動態區域誤差因子算法,主要是使用最小二乘法對RSSI傳播模型中所計算出的測距結果進行擬合,在擬合結果的基礎上加入了動態的區域誤差因子,以減小最小二乘法在使用受過外界干擾的RSSI值后計算出的擬合誤差。最后在計算結果上加上的固有環境誤差因子,可以有效針對具體定位環境提高定位精度。
2.3.1 動態定位區域確定
當有盲節點加入到整個定位網絡時,算法首先需要在局部范圍內確定出參與盲節點定位的信標節點,即算法的動態定位區域。
每個盲節點進入到網絡時,都會收到來自于周圍不同信標節點所發送來的RSSI值信息,由于RSSI值受距離的影響比較大,因此擁有較小RSSI值的節點將會被舍去,而剩下的超過某一閾值η的信標節點的信息將會被列入到集合中,形成信標節點位置坐標集合{(x1,y1),(x2,y2),…,(xN,yN)}及與之對應的RSSI值集合{RSSI1,RSSI2,…,RSSIN},集合中所包括的信標節點,形成了一個動態的相對于每一特定的盲節點的定位區域。
2.3.2 最小二乘法盲節點坐標計算
由于只需要接收到三個信標節點的信息,即可通過最小二乘法計算得出盲節點的坐標,因此,當經過篩選后,在動態定位區域內的信標節點個數大于等于3時,即可通過計算模型計算出C3N個盲節點的近似坐標(x1,y1),(x2,y2),…,(xk,yk),其中k= C3N。在舍去兩個極端坐標,再取平均值后,便能夠得到盲節點在初級坐標(x,y),如式(8):

2.3.3 自適應動態區域誤差因子
由于在傳播過程中RSSI值隨環境的影響很大,因此使用帶有誤差的RSSI值計算得到的盲節點坐標本身也會存在很大的定位偏差,為了減小不可抗因素所帶來的影響,文中在文獻[1]提出的測距校正模型的概念上,引入了一種自適應動態區域誤差因子,以此來修正盲節點的坐標。
當一個盲節點進入到網絡后,可以通過獲得信標節點的信息來計算自身的坐標,同理,已知自身坐標的信標節點也可以通過接收別的信標節點的信息來計算自身的位置坐標,而通過最小二乘法計算得到的坐標與實際的坐標之間的差值,即為在實際環境中的計算誤差,在對盲節點的坐標進行計算時,需要將盲節點所處區域的環境誤差均值考慮在計算范圍內,而此誤差均值,即為所引入的自適應動態區域誤差因子。
由于RSSI值傳輸結果的不確定性,在此基礎上計算得到的距離中必然會存在小概率事件,文獻[5]中提出使用高斯模型處理數據可以有效的避免小概率事件的發生,因此,文中假設所提出的自適應區域誤差因子符合高斯分布,得到:
定義1信標節點的自適應動態區域誤差因子為:

式中,Dij=deij-dsij,deij為第i個信標節點通過最小二乘法擬合出的與第j個信標節點之間的估計距離, dsij為第i個信標節點與第j個信標節點之間的實際距離,i與j為N個信標節點中的任意兩個節點。由此可知,兩兩信標節點間一共有種距離組合,因此W=。
定義2盲節點修正坐標

在使用最小二乘法計算得出的坐標基礎上加上自適應動態區域誤差因子分量,即可求得盲節點的最終定位坐標。
自適應動態區域誤差因子算法流程如圖1所示。

圖1 自適應動態區域誤差因子算法流程Fig.1 Flow chart of adaptive dynamic regional error factor algorithm
文中采用了Matlab網絡仿真平臺對所提出的自適應動態區域誤差因子算法以及文獻[1]中的信標節點自校正定位算法和文獻[3]中的一種基于RSSI的無線傳感器網絡減輕陰影模型影響的定位方案(RBMSE,An RSSI Based Localization Scheme for WirelessSensorNetworkstoMitigateShadowing Effects)算法進行比較和分析。仿真場景設置為一個50 m×50 m的正方形區域,區域里隨機分布100個已知坐標的信標節點,以及25個待定位的盲節點,節點的通信半徑均為10 m。
3.1 靜態定位仿真
圖2為三種算法在不同盲節點數量情況下的平均定位誤差仿真圖。從仿真結果可以看出,文中所提出的自適應動態區域誤差因子算法在靜態定位環境下定位誤差小,且趨于穩定,另兩種算法相較于文中的算法定位誤差大,且隨著盲節點數量的增多,誤差驟增。

圖2 靜態平均定位誤差Fig.2 Static average location error
3.2 動態定位仿真
在上文所提到的基本仿真參數的基礎上,假設盲節點的移動速度(m/s)分別為0、0.5、1、1.5、2,即可得出圖3中三種算法在動態定位環境下的平均定位誤差比較。從圖3中可以看出,在節點移動的情況下,三種算法的定位誤差明顯高于在靜態定位環境下的誤差值,但文中所提出的算法相較于另兩個算法,依然定位效果更佳,平均誤差更小更穩定,沒有誤差驟增的問題,能更加靈活的應用于不同的定位場合。而另兩種算法,由于其算法復雜度及算法定位所需時間的問題,使其無法適用于移動節點的定位環境,造成了較大的定位誤差,且隨著節點移動速度的增大,定位誤差成倍增長。

圖3 動態平均定位誤差Fig.3 Dynamic average location error
針對室內定位環境差定位精度低的問題,文中提出了一種自適應動態區域誤差因子算法,通過將最小二乘法與動態區域因子相結合的方法來解決RSSI值在室內復雜環境中衰減大,定位精度不高的問題。文中在Matlab中對靜態和動態的兩種定位環境進行了仿真,仿真結果證明,文中所提出的算法,定位精度更高,可應用于各種不同的室內定位環境中。
[1] 高國勝,陳俊杰,李剛.基于RSSI測距的信標節點自校正定位算法[J].測控技術,2009,28(08):93-97. GAO G S,CHENG J J,LI G.Beacon Node Self-Tuning
Localization Algorithm based on RSSI[J].Measurement and Control Technology,2009,28(08):93-97.
[2] 杜亞江,高立兵.基于最小二乘法的RSSI測距環境參數修正方案[J].計算機系統應用,2012,21(02):221-224.
DU Y J,GAO L B.RSSI Parameter Calibration Methodbased on the Least Square Algorithm[J].Application of Computer System,2012,21(02):221-224.
[3] CHUKU N,PAL A,NASIPURI A.An RSSI Based Localization Scheme for Wireless Sensor Networks to Mitigate Shadowing Effects[C]//Southeastcon.Jacksonville,FL:IEEE,2013:1-6.
[4] 李建東,郭梯云,鄔國揚.移動通信[M].西安:西安電子科技大學出版社,2006.
LI G D,GUO Y T,WU G Y.Mobile Communication [M].Xi'an:Xidian University Press,2006.
[5] 章堅武,張璐,應瑛,等.基于ZigBee的RSSI測距研究[J].傳感技術學報,2009,22(02):285-288.
ZHANG J W,ZHANG L,YING Y,et al.Research on Distance Measurement based on RSSI of ZigBee[J].Journal of Transducer Technology,2009,22(02):285-288.
ZHANG Shi(1990-),female,graduate student,mainly engaged in the application of wireless sensor network.
李德敏(1963—),男,博士生導師,主要研究方向為移動計算理論與應用;
LI De-min(1963-),male,doctoral tutor,mainly engaged in mobile computing theory and application.
張曉露(1990—),女,博士,主要研究方向為無線傳感網絡與應用。
ZHANG Xiao-lu(1990-),female,Ph.D.,mainly engaged in the application of wireless sensor network.
Adaptive Dynamic Regional Error Factor Algorithm based on ZigBee
ZHANG Shi,LI De-min,ZHANG Xiao-lu
(College of Information Science and Technology,Donghua University,Shanghai 201620,China)
In order to further improve the ZigBee positioning technology and reduce the multipath effects on indoor positioning,an adaptive dynamic regional error factor algorithm is proposed on the basis of received signal strength indicator.This algorithm,by combining the least square method with adaptive dynamic area error factor,calculates the coordinates of the blind nodes and thus improves the positioning accuracy.The simulation with Matlab indicates that both the complexity and the positioning accuracy of the algorithm could be significantly improved.
ZigBee positioning;RSSI;least square method;adaptive dynamic regional error factor
TN929.5
A
1002-0802(2014)02-0179-05
10.3969/j.issn.1002-0802.2014.02.012

張 是(1990—),女,碩士,主要研究方向為無線傳感網絡與應用;
國家自然科學基金資助項目(No.71171045):自組織社會網絡的特征信息融合與決策支持方法研究
Foundation Item:National Science Foundation of China(NSFC)(No.71171045)