張利軍, 楊 波, 蘇俊琦, 梁宇倩
(山西大學 數學科學學院, 太原 030006)
隨著無線通信技術的進步以及無線傳感器網絡(Wireless Sensor Networks, WSNs)[1-3]等的飛速發展,利用無線網絡的目標定位技術已經成為環境監測、室內定位、無線電監控等[4,5]領域中眾多學者關注的熱點問題.
現今, 已有大量關于WSNs定位算法的研究成果.根據傳感器測量值的物理變量類型劃分, 可分為3類:基于到達角度定位 (Angle of Arrival, AoA)、基于到達時間差 (Time Difference of Arrival, TDoA) 定位和基于接收信號強度指數(Received Signal Strength Indicator,RSSI)定位[6,7]. 其中基于RSSI的 WiFi和ZigBee等技術具有低成本、低功耗、易部署等優勢, 使得基于RSSI 的室內定位得到了廣泛關注.
基于RSSI的定位方法的基本工作原理是利用RSSI值與距離之間存在的關系, 根據終端測量接收到的信號強度和已知的無線測距模型, 估算出收發方之間的距離. 然而, 在實際應用中, 噪聲的多模態和復雜多變的特性給精確定位帶來巨大障礙, 使得定位性能得不到保障. 針對該問題, 主流的處理方法有兩種: 一種以拓展卡爾曼濾波(Extended Kalman Filtering,EKF)方法[8,9]為代表, 根據噪聲的統計特性進行分析;另一種以集員濾波(Set-Membership Filtering, SMF) 方法[10,11]為代表, 將噪聲看作是幅值有界但大小未知的量進行分析. 然而, 在實際的應用中, 精確的噪聲統計特性是無法獲取的, 這大大降低了EKF的性能. 而這些雜亂噪聲信號雖是未知的, 但是噪聲的邊界容易獲得, 因而本文考慮采用集員濾波方法來處理未知但有界的噪聲.
文獻[10]提出集員濾波后, 集員濾波在理論與應用上都引起了很多學者的關注. 文獻[11]采用集員濾波對帶有非線性有約束的系統進行了分析, 考慮了非線性函數線性化時基點誤差和截斷誤差對狀態估計的影響. 文獻[12]解決了一類具有傳感器飽和的離散時變系統的集員濾波問題. 然而這些研究成果僅適用于單目標系統. 近年來, 隨著傳感器成本的逐年下降以及高精度、多目標定位的需求越來越多, 很多學者開始傾向于研究針對多目標的分布式多邊橢圓定位, 以提升定位精度并準確刻畫目標狀態. Le Thu Nguyen等[13]提出了基于序列蒙特卡羅方法的多源定位系統. Meng等[14]針對WSN 中基于能量的多源定位, 提出了一種有效的EM算法. 在此基礎上, Meng等[15,16]基于集員濾波思想, 分析了聲能損耗模型下的多源橢圓定位問題. 然而, 由于聲能模型的結構特性, 使得其分析難度過大,且當錨節點與待測節點距離過近時高階余項無界, 無法滿足定位要求.
本文針對基于RSSI的多目標定位問題, 提出點估計與橢圓估計相融合的分布式多邊融合定位算法. 首先, 通過多邊定位算法進行粗定位. 其次通過集員濾波方法求解多目標橢圓定位問題. 值得指出的是, 與以往的優化算法不同, 本文提出的優化算法獲得的結果為可以包含真實目標節點位置的橢圓集, 而非一個最優估計點.
本文研究了無線傳感網絡上基于 RSSI的室內多目標的定位問題. 傳感網絡結構如圖1所示.

圖1 傳感網絡結構
圖1中,N個待測節點通過通信信道向附近的錨節點發送信號, 分布在已知位置的N個錨節點分別接收RSSI并傳輸到數據處理中心. 數據處理中心首先通過多邊定位算法進行粗定位, 然后再通過集員濾波進一步優化定位性能.
在利用RSSI定位時, 一般采用對數分布陰影模型[17]來確定距離與測量值間的關系, 其形式如下:

式中, α =Pt-PL(d0)-v,Pt表示接收功率,PL(d0)表示距離為d0時的路徑損耗,d0一般取為1 m,v為環境噪聲, 參數γ 是依賴于環境的信號損耗指數, γ一般在[2, 4]之間取值. 由式(1)變形可得:

本文假定參數α 和 γ 為先驗已知的.
數據處理中心接收到各錨節點的RSSI信號后, 即可利用RSSI測距模型得出測量距離, 然后通過多邊定位算法對待測節點位置進行估計. 方法如下:
設分布在已知空間中特定位置的L個錨節點的坐標集為r=[r1T,r2T,···,rTL]T, 其中rl=(Al,Bl)T,l=1,2,···,L.估計的N個待測節點坐標集用表示, 其中第l個錨節點與第n個待測節點間的測量距離用dl,n表示. 根據第n個待測節點與各錨節點的位置關系可得:

式(3)可以轉化為:

式(4)可以表示為:


解方程(7)可得第n個待測節點坐標為:

同理, 可以獲得其它所有待測節點的坐標, 即可以求出坐標集. 在理想情況下, 各錨節點與待測節點間的定位距離與測量距離應當分別相同. 然而在實際應用中, 結果往往如圖2所示, 多個圓未必交于一點. 但可獲得一個包含真實坐標的較保守的橢圓集:

圖2 多邊定位示意圖

包含真實狀態集x的有界集 β0可 用的笛卡爾積表示, 即
獲得包含真實目標位置的初始橢圓后, 重新對定位模型進行分析, 每個傳感器的測量值可重新表示為:

式中,yl表示第l個測量值, | |xn-rl||≠0表示第n個目標節點與第l個錨節點間的距離, λl為 已知的正定常量, νl為獨立且有界的噪聲, 包含于有界集εv={v∈RL:vTQ-1v≤1},其中Q為已知的適當維度的正定矩陣.
此外, 將l個傳感器的所有測量值記為y=[y1,y2,···,yL]T, 并定義:


利用泰勒公式, 將函數f(x)線性化:


結合式(11)和式(13)可得, 在第i次優化時:



式中,是有界集的下界的第l個分量, 即是有界集的上界的第l個分量, 即

由文獻[16]的命題1可知, 在求解有界集 ζni的上下界時, 只需考慮集合 βin的 邊界和估計狀態, 不需要討論有界集 βin內 除估計點x?in外的其它點. 因此, 包含余項?fn(xn,) 的有界集ζni可通過如定理1得出.


由式(21)得:

余下證明可分為兩部分: (1)求當k∈[-1,1]、時,的最大值; (2)求當k∈[-1,1]、時,的最小值.
(1)首先, 觀察可知, 當t=0時, 函數恒為0. 其次, 函數為關于k的凸函數, 所以若要取得的最大值, 僅需考慮如下兩種情況:
① 當k=-1時,為關于t的凸函數, 故只 可能在和處取得最大值;
② 當k=1時,為關于t的凸函數, 故只可能在和處取得最大值.
綜上可得:

(2)同理, 可得:

基于上述準備工作, 本節給出集員優化方法對估計的有界橢圓集進行優化.
定理2. 在第i+1次迭代中, 基于測量值y, 當前有界位置集 βi1×···×βiN, 有界余項集ζ1i×···×ζNi和有界噪聲集εv, 可得必定存在正定參數τnx、 τv和 τl使得式(25)成立:

式中,

Tr(·) 表 示矩陣的跡,λ為由 λ1,···,λL組成的對角矩陣. 符號⊥ 表示某個矩陣的正交矩陣, 0為適當維數的零矩陣,I為適當維度的單位矩陣,

另外, 結合式(12)和式(13)可得:



其滿足, ||μ||≤1, | Δl|≤1,l=1,···,L,vTQ-1v≤1,Ψi+1ξ=0, 等價于:

由S-procedure 引理[18,19]可得, 存在正定參數 τx,τm, τv和 參數τy使 得Pin+1>0且式(39)成立:

根據Schur-Complements引理[18], 式(39)可轉化為式(26). 證畢.
利用定理2中式(25), 式(26)對橢圓集進行優化時, 為了降低計算的復雜度, 可設置一個閾值σ 進行控制, 當時, 停止優化, 與相對應的橢圓即為最終定位區域. 此外, 也可以通過設置適當的迭代次數控制優化算法的復雜度.
為驗證本文所提算法的有效性和實用性, 選取面積為10 m×10 m的空地進行實驗, 實驗的場景如圖3所示. 實驗中采用帶有CC2530芯片的無線模塊接收和發送信號, 以1 m為單位長度, 9個錨節點規則的排布在方形區域中, 其坐標分別為(0.5, 0.5), (0.5, 5), (0.5,9.5), (5, 0.5), (5, 5), (5, 9.5), (9.5, 0.5), (9.5, 5), (9.5, 9.5),3個待測節點坐標分別為(2.5, 7), (5, 2.5), (6, 7).

圖3 實驗場景
通過實驗獲取RSSI數據后, 在帶有YALMIP和SeDuMi工具箱的Matlab R2016a仿真平臺對數據進行處理. 仿真中初始參數設置如表1所示.

表1 參數設置
簡單處理實驗數據, 得到RSSI的平均值, 然后通過2.2節和2.3節的定位算法計算出初值, 再利用第3節中集員濾波優化算法對初始估計區域進行優化, 仿真運行結果如圖4所示.

圖4 DMFL算法的定位示意圖
圖4展示本文所提算法優化過程中和最終優化的各目標所處的橢圓區域, 定位 所得橢圓的中心點分別為(2.3621, 7.0539), (4.9891, 2.7220), (6.0852, 6.9940),用橢球中心點與待測節點之間的距離差表示估計誤差,這種情況下所得的估計誤差分別為 0.0995 m、0.2747 m和0.1052 m. 另外從圖4可以看出, 采用該算法定位獲得的橢圓集總能包含真實的待測節點坐標, 體現了良好的定位性能.
為了證明DMFL算法的優越性, 與文獻[20]中的多邊定位算法(Multi-lateral Localization Algorithm, MLA)算法和文獻[12]中的分布式集員濾波(Distributed Set-Membership Filtering, DSMF)算法進行了對比. 定位誤差比較結果如表2所示.

表2 3種算法的誤差比較(m)
3種算法的運行時間分別為0.017 s, 1.864 s和2.427 s.
從表2中的均值欄可以看出, 相比于DSMF和MLA算法, 本文所提的DMFL算法定位的誤差最小.此外, DMFL算法對各待測節點的定位誤差最大不超過0.3 m, 體現出該算法具有較好的魯棒性能. 從運行的時間成本來看, DMFL算法與DSMF算法運行時間相近, 均遠大于MLA算法的運行時間, 這也是這兩種算法為實現高精度定位時所不可避免的.
另外, 為了探究錨節點個數、迭代次數與估計誤差的關系, 圖5(a)中展示了優化迭代4次時錨節點個數與估計誤差的關系, 圖5(b)中展示了有9 個錨節點時迭代次數與估計誤差的函數關系.
從圖5(a)和圖5(b)中可以看出估計誤差隨著錨節點數量的增多和迭代次數的增加而減小, 最終趨于平穩. 然而, 錨節點數量的增多和迭代次數的增加意味著定位成本和時間消耗的增加. 因此在實際應用中需要根據需要權衡錨節點的布置數量和優化算法的迭代次數. 從圖5(a)中可以看出迭代4次時布置7個錨節點是較優的選擇, 從圖5(b)中可以得出布置9個錨節點時迭代2次是較優的選擇.

圖5 DMFL錨節點數、迭代次數與估計誤差的關系
當對多個目標進行定位時, 由于受折射、衍射等的影響, 定位性能與待定位目標定個數也存在較大關系. 一般待定位目標越多, 信號受折射、衍射的影響越大, 即獲取的信號的噪聲越大. 為驗證噪聲未知但有界條件下, 噪聲大小對定位性能的影響, 通過電腦模擬測量值進行了200次蒙特卡羅仿真驗證, 仿真中錨節點和待測節點布置方式相同, 迭代次數為4次, 仿真結果如圖6. 此外, 通過圖7展示了錨節點不規則排布時仍能實現有效定位.

圖6 DMFL噪聲大小與估計誤差的關系圖

圖7 隨機布置錨節點時DMFL算法的定位示意圖
本文針對多目標定位精度低、性能差的問題進行了詳細分析, 并提出了相應的優化方法. 首先, 采用多邊定位算法進行粗定位, 獲取初值. 其次, 通過在線分析獲取了泰勒展式的高階有界余項. 然后, 利用迭代優化算法求解了多目標橢圓定位問題. 最后, 通過實驗和仿真證明了所提定位算法的可行性與有效性. 結果表明:
(1)本文所提出的算法定位精度高于DSMF和MLA算法, 且性能更為穩定, 定位誤差最大不超過0.3 m, 更適用于實際環境.
(2)錨節點個數、迭代次數、噪聲大小對估計誤差均有較大影響. 但隨著錨節點個數和迭代次數的增加, 估計誤差縮小的幅度在降低.
(3)在錨節點規則分布和隨機分布情況下, 該算法均可實現可靠定位, 給出包含目標位置的最優橢圓區域.