歐縣華,武憲青,何熊熊
(浙江工業大學信息工程學院,杭州 310023)
?
基于AIUKF的WSN節點定位算法*
歐縣華,武憲青,何熊熊*
(浙江工業大學信息工程學院,杭州 310023)
針對無線傳感器網絡節點定位精度不足的問題,在無跡卡爾曼濾波(UKF)的基礎上,結合迭代約束條件和自適應因子,提出了一種自適應迭代無跡卡爾曼濾波(AIUKF)算法。根據基于測距的節點定位模型,采用RSSI進行測距,以極大似然估計法進行節點初步定位,利用AIUKF算法對節點進行精確定位,并且直接以RSSI作為系統的觀測量。仿真結果表明,本文提出的基于AIUKF的定位算法相比EKF和UKF算法具有更高的定位精度。
無線傳感器網絡;節點定位;AIUKF;UKF;自適應因子
無線傳感器網絡作為一個新型的網絡,現已被廣泛應用于國防軍事、環境監測、醫療看護等諸多領域,被認為是21世紀影響人類生活的21項技術之一。在無線傳感器網絡的相關研究與應用中,節點定位技術不僅是研究中基礎和熱點問題,也是決定應用有效性的關鍵技術之一[1-2]。
無線傳感器網絡節點定位算法常見的分類是基于測距的定位算法(Range-Based)和無需測距的定位算法(Range-Free)[3]。前者根據信標節點位置信息以及未知節點與信標節點之間的距離或角度信息來實現對未知節點的定位,常用的測距方法有[4]:TOA、TDOA、AOA、RSSI;后者僅根據網絡的連通度來確定未知節點的位置信息。
鑒于基本算法實現的定位精度有限,國內外許多學者將濾波技術應用到WSN節點定位中,取得了大量的研究成果。對于非線性系統,最常用的是擴展卡爾曼濾波(EKF)算法[5]。文獻[6]首次將擴展卡爾曼濾波技術應用于節點定位修正階段中,相比基本的定位算法,定位精度有了較大程度的提高。然而,EKF使用泰勒展開式近似代替非線性系統時,往往忽略一階以上的高階項,在計算過程中可能會引入較大的誤差,造成估計精度的降低,嚴重時會引起濾波器發散;同時,標準EKF及其衍生算法都需要計算雅可比矩陣,這個在許多實際問題中可能很難甚至無法求得。為避免上述問題,Julier等人提出了基于無跡變換的無跡卡爾曼濾波(UKF)算法[7-8],相比EKF,UKF無需計算雅可比矩陣,且對任意系統,利用無跡變換得到的近似狀態的均值和方差可以精確到二階或更高階,具有更高的估計精度。文獻[9]將加權最小二乘估計和UKF用于WSN節點定位中,取得了比EKF更好的定位性能。但是UKF仍存在對初始值的波動以及觀測噪聲比較敏感等問題,初始值的波動會造成UKF的估計結果不穩定,精度變差。為此,文獻[10]提出迭代無跡卡爾曼濾波算法(IUKF),改善了UKF算法存在的一些問題,應用到WSN定位中得到了較好定位性能,但是,數值穩定性等問題仍然存在,為了改善上述問題,本文在IUKF算法的基礎上,結合自適應抗差濾波理論[11-12]提出一種自適應迭代UKF算法,提高定位精度,增強算法的穩定性。
1.1 RSSI測距模型
在基于RSSI的節點定位算法中,測距是節點定位算法的基礎。RSSI測距是根據已知的未知節點發射信號強度和信標節點接收到的信號強度,得到能量損耗值,并使用理論或經驗模型將其轉化為距離值。在實際應用中,最常用的理論測距模型是對數-常態分布模型[13]。
Pr(dr)=Pr(d0)-10·δ·log(dr/d0)+χσ
(1)
式中,Pr(dr)為經過距離dr后的信號接收能量值;d0為參考距離,一般取1 m;Pr(d0)為經過距離d0后的信號接收能量值;δ為路徑損耗因子,與信號傳輸環境相關;χσ為均值等于0的高斯隨機變量。
1.2 節點初始定位
在基于測距的定位算法中,常見的基本定位方法有三邊測量法、三角測量法和極大似然估計法。當信標節點的數目較小時,三邊測量法的定位精度較高,但當信標節點數目超過6個時,極大似然估計法的精度更高[14]。本文采用極大似然估計法作為初始定位方法。
設(x1,y1)、(x2,y2)、…、(xn,yn)表示n個位置信息已知的信標節點的坐標,每個信標節點與未知節點之間的距離對應為d1、d2、…、dn,根據極大似然估計法的原理使用MMSE法求得未知節點初始定位坐標(xMLE,yMLE)為:
(2)
式中,X=[xy]T,


2.1 定位算法模型
在引入卡爾曼濾波技術估計的WSN節點定位算法模型中,離散時間非線性系統的一般形式為:
(3)
式中,X為系統狀態向量;Y為系統的觀測量;uk-1為確定控制項;wk和vk分別為系統的過程噪聲和觀測噪聲,其協方差矩陣分別為Qk和Rk。
將未知節點的坐標作為系統的狀態量,而關于觀測量的選取,文獻[9]將未知節點與信標節點之間的距離值作為系統的觀測量,但是需要求解雅可比矩陣,并有可能造成距離計算過程中的誤差累積,故在本文中,直接采用RSSI值作為觀測量。因此,引入卡爾曼濾波的WSN節點定位算法中的狀態方程和觀測方程為:
①狀態方程:
Xk+1=f(Xk,uk-1)+wk=AXk+wk
(4)
式中,Xk=[xk,yk]T表示未知節點在第k時刻濾波計算的狀態向量;A為狀態轉移矩陣,由于實現的是靜態節點定位,故A為單位矩陣。
②觀測方程
(5)

2.2 標準UKF算法實現:
標準UKF算法流程如下:
①初始化:
(6)
②樣點計算:
(7)
式中:λ=α2(L-κ)-L;α決定樣點的散布程度,取值范圍為10-4≤α≤1,一般取0.01;L為系統狀態變量X的維數;κ為調整參數,一般取0。
③時間更新:
(8)
(9)

(10)
(11)
(12)


(4)量測更新:
(13)
(14)

(15)
(16)
(17)
2.3 迭代策略與自適應因子的選取
雖然UKF算法對EKF算法存在的一些問題有了明顯的改善,但是UKF算法的基礎也是卡爾曼濾波,因此,其仍存在著受初始值波動、可觀測性弱、觀測噪聲不確定性等因素影響而造成濾波精度和魯棒性降低等問題。在基于RSSI的WSN節點定位中,RSSI易受各種干擾因素影響使其值具有較大的誤差,同時造成測距階段可能產生較大誤差而使得采用MLE法獲得的結果具有較大的波動性,這些因素都會造成基于UKF的定位算法的性能變差。為改善上述問題,本文在標準UKF算法的基礎上,結合文獻[10]提出的迭代策略,同時引入自適應因子,以抑制初始值波動和觀測量異常值等因素的影響,提高定位算法定位精度和穩定性。
①迭代策略
文獻[10]提出的IUKF算法迭代策略的判斷準則如下:
(18)

②自適應因子δk的選取
確定自適應因子常用的幾種誤差判別統計量分別是狀態不符值統計量、預測殘差統計量和方差分量比統計量[11]。由于本文采用RSSI作為觀測量是已知的,且使用預測殘差向量能較好的反應系統中的異常擾動,也無需在濾波前計算狀態向量參考值,故采用預測殘差統計量作為判別統計量,參照兩段式函數提出的自適應因子定義如下:
(19)

將標準UKF方程中的式(10)、式(13)~式(17)更新為下面的式(20)~式(24),即可得到自適應迭代UKF算法方程。

(20)
(21)

(22)
(23)
(24)
式中,g=ηg,η為衰減因子,其取值范圍為:0<η<1。
2.4 基于AIUKF的節點定位算法流程
Step 1:使用極大似然估計(MLE)法求得節點初始定位坐標值(xMLE,yMLE)。
Step 3:計算并更新自適應因子δk。

利用MATLAB對本文提出的定位算法進行仿真分析,并與相關方法進行對比,驗證該算法的性能。仿真區域設置為30 m×20 m,根據式(1)生成RSSI數據,并在數據中添加零均值的高斯白噪聲,來代替實際環境中的多種干擾因素的影響。分別考慮兩種仿真場景:①利用3個信標節點對單一未知節點進行定位;②未知節點數目與位置固定,改變信標節點的數目,對未知節點進行定位。
3.1 仿真場景1
仿真中的參數初始化設置如下:系統噪聲協方差矩陣Q=diag([0.2,0.2]),觀測噪聲協方差矩陣R=diag([0.25,0.25,0.25]),UKF算法中的參數α=0.01,β=2,κ=0,初始狀態誤差協方差矩陣P0=diag([0.001,0.001])。AIUKF算法中的最大迭代次數限制設置并不需要過大,在仿真中設為3次。
仿真中三信標節點的坐標為:(26,0),(14,20),(0,10),未知節點的真實位置為(14,12)。針對基于EKF,UKF,AIUKF的3種定位算法獨立仿真100次,該仿真情形中采用節點定位誤差和平均定位誤差來衡量算法的性能。
(25)
式中,(x,y)表示未知節點的真實坐標值,(xi,yi)表示第i次迭代獲得的未知節點坐標值。
(25)
式中:M代表仿真的次數。
假定定位誤差ε<1.2·εm視為收斂,3種定位算法的節點定位誤差的數據統計特性如表1所示。

表1 定位誤差數據統計表

圖1 3種算法下的定位誤差曲線對比圖
仿真的定位誤差對比曲線圖如圖1所示。
從圖1中可以看出,基于AIUKF的定位算法相比UKF算法和IUKF算法不僅在精度上有了明顯的提高,并且呈現較好的收斂性。由表1可知,基于EKF、UKF和AIUKF的3種算法的平均定位誤差分別為:3.399 3m,2.289 3m,1.512 6m。AIUKF算法較EKF和UKF算法其定位精度分別提高55.5%,33.9%。同時AIUKF算法精度的波動范圍僅為EKF算法的25.7%,UKF算法的48%。因此,在相同的條件下,基于AIUKF的定位算法具有更高的定位精度和較好的收斂性。
3.2 仿真場景2
為了進一步對比驗證3種定位算法的性能,固定未知節點位置,信標節點的數量從3個依次增加到9個,進行仿真,采用平均定位誤差來衡量3種定位算法的性能。不同信標節點數目下3種算法的平均定位誤差對比曲線圖如圖2所示。

圖2 不同信標節點數下平均誤差對比曲線圖
從圖2中可以看出,3種算法中,AIUKF算法的平均定位誤差最低。3個信標節點時,EKF、UKF、AIUKF算法的平均定位誤差分別為:3.399 3m、2.289 3m、1.512 6m,9個信標節點時,三算法的平均定位誤差分別為1.613 2m、0.753 9m、0.437 7m。AIUKF算法相對EKF算法精度分別提高了55.5%和72.87%,相對UKF算法分別提高了33.93%和72.24%。同時,平均定位誤差隨著信標節點數目的增加定位誤差逐漸降低,但當信標節點數目達到一定數目后,變化趨于平緩。因此,在應用中,在一定范圍內增加信標節點數目可提高定位精度,但無限增加信標節點的數目卻無助于提高定位精度,反而會增加算法的復雜度和成本,沒有實際意義。
本文在標準UKF的基礎上,結合迭代UKF和自適應抗差濾波理論,提出了一種基于AIUKF的WSN節點定位算法。采用極大似然估計法進行初始定位,作為AIUKF算法的初始值,并且直接以信標節點接收到的信號能量值作為觀測方程的觀測量。仿真結果表明,在固定未知節點和增加信標節點數目的情況下,本文的算法不僅在定位精度,而且在穩定性方面都明顯優于其他算法,具有很高的應用價值。
[1] Chong C Y,Kumar S P.Sensor Networks:Evolution,Opportunities,and Challenges[J].Proceedings of the IEEE,2003,91(8):1247-1256.
[2]陳錫劍,程良倫.基于RSSI的功率匹配定位算法的研究與實現[J].傳感技術學報,2013,26(5):709-714.
[3]Bal M,Liu M,Shen W,et al.Localization in Cooperative Wireless Sensor Networks:A Review[C]//Proceedings of 19th International Conference on Computer Supported Cooperative Work in Design,2009:438-443.
[4]Blumrosen G,Hod B,Anker T,et al.Enhancing RSSI-Based Tracking Accuracy in Wireless Sensor Networks[J].ACM Transactions on Sensor Networks,2013,9(3):29.
[5]Jiang Z,Song Q,He Y,et al.A Novel Adaptive Unscented Kalman Filter for Nonlinear Estimation[C]//Proceeding of 46th IEEE Conference on Decision and Control:IEEE,2007:4293-4298.
[6]Savvides A,Park H,Srivastava M B.The Bits and Flops of the N-hop Multilateration Primitive for Node Localization Problems[C]//Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications:ACM,2002:112-121.
[7]Julier S J,Uhlmann J K,Durrant H F.A New Approach for Filtering Nonlinear Systems[C]//Proceedings of the 1995 American Control Conference,IEEE,1995,3:1628-1632.
[8]Julier S J,Uhlmann J K,Durrant H F.A New Method for the Nonlinear Transformation of Means and Covariances in Filters and Estimators[J].IEEE Transactions on Automatic Control,2000,45(3):477-482.
[9]梁玉琴,曾慶華,劉建業.基于UKF濾波的WSN節點定位研究[J].傳感技術學報,2010,23(6):878-882.
[10]Zhan R,Wan J.Iterated Unscented Kalman Filter for Passive Target Tracking[J].IEEE Transactions on Aerospace and Electronic Systems,2007,43(3):1155-1163.
[11]楊元喜,任夏,許艷.自適應抗差濾波理論及應用的要進展[J].導航定位學報,2013,1(1):9-15.
[12]高為廣,何海波,陳金平.自適應UKF算法及其在GPS/INS組合導航中的應用[J].北京理工大學學報,2008,28(6):505-509.
[13]袁鑫,吳曉平,王國英.線性最小二乘法的RSSI定位精確計算方法[J].傳感技術學報,2014,27(10):1412-1417.
[14]彭宇,王丹.無線傳感器網絡定位技術綜述[J].電子測量與儀器學報,2011,25(5):389-399.
Adaptive Iterated UKF Based Node Localization for WSN*
OUXianhua,WUXianqing,HEXiongxiong*
(College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China)
In this paper,by combining iterative constraint conditions and adaptive factor,an adaptive iterated unscented Kalman filter(AIUKF)algorithm is presented to improve the node localization accuracy in Wireless Sensor Network(WSN),which is based on the unscented Kalman filter(UKF).According to the model of range-based localization algorithm,RSSI is used to measure the distance;the maximum likelihood estimation method is utilized to realize node initial location;by using AIUKF algorithm to achieve the accurate positioning of the node finally and RSSI is applied as the measurement values of observation equation directly.The simulation results show that the proposed algorithm based on AIUKF has the best positioning precision than EKF algorithm and UKF algorithm.
WSN;node localization;AIUKF;UKF;adaptive factor

歐縣華(1990-),男,碩士研究生,主要研究方向為無線傳感器網絡節點定位算法,oxhzjut@163.com;

武憲青(1987-),男,博士研究生,主要研究方向為欠驅動橋式吊車系統控制、TORA系統控制,wux.zjut@gmail.com。

何熊熊(1965-),男,教授,博士生導師,主要從事迭代學習控制、信號處理等方面的研究,hxx@zjut.edu.cn;
項目來源:“十二五”國家科技支撐計劃項目(2013BAF07B03);國家自然科學基金項目(61473262);浙江省重大科技專項項目(2011C13011)
2014-10-30 修改日期:2014-11-29
C:6140B;6150P;7230
10.3969/j.issn.1004-1699.2015.02.015
TP393
A
1004-1699(2015)02-0234-05