張利軍, 楊 波, 蘇俊琦, 梁宇倩
(山西大學(xué) 數(shù)學(xué)科學(xué)學(xué)院, 太原 030006)
隨著無線通信技術(shù)的進(jìn)步以及無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSNs)[1-3]等的飛速發(fā)展,利用無線網(wǎng)絡(luò)的目標(biāo)定位技術(shù)已經(jīng)成為環(huán)境監(jiān)測(cè)、室內(nèi)定位、無線電監(jiān)控等[4,5]領(lǐng)域中眾多學(xué)者關(guān)注的熱點(diǎn)問題.
現(xiàn)今, 已有大量關(guān)于WSNs定位算法的研究成果.根據(jù)傳感器測(cè)量值的物理變量類型劃分, 可分為3類:基于到達(dá)角度定位 (Angle of Arrival, AoA)、基于到達(dá)時(shí)間差 (Time Difference of Arrival, TDoA) 定位和基于接收信號(hào)強(qiáng)度指數(shù)(Received Signal Strength Indicator,RSSI)定位[6,7]. 其中基于RSSI的 WiFi和ZigBee等技術(shù)具有低成本、低功耗、易部署等優(yōu)勢(shì), 使得基于RSSI 的室內(nèi)定位得到了廣泛關(guān)注.
基于RSSI的定位方法的基本工作原理是利用RSSI值與距離之間存在的關(guān)系, 根據(jù)終端測(cè)量接收到的信號(hào)強(qiáng)度和已知的無線測(cè)距模型, 估算出收發(fā)方之間的距離. 然而, 在實(shí)際應(yīng)用中, 噪聲的多模態(tài)和復(fù)雜多變的特性給精確定位帶來巨大障礙, 使得定位性能得不到保障. 針對(duì)該問題, 主流的處理方法有兩種: 一種以拓展卡爾曼濾波(Extended Kalman Filtering,EKF)方法[8,9]為代表, 根據(jù)噪聲的統(tǒng)計(jì)特性進(jìn)行分析;另一種以集員濾波(Set-Membership Filtering, SMF) 方法[10,11]為代表, 將噪聲看作是幅值有界但大小未知的量進(jìn)行分析. 然而, 在實(shí)際的應(yīng)用中, 精確的噪聲統(tǒng)計(jì)特性是無法獲取的, 這大大降低了EKF的性能. 而這些雜亂噪聲信號(hào)雖是未知的, 但是噪聲的邊界容易獲得, 因而本文考慮采用集員濾波方法來處理未知但有界的噪聲.
文獻(xiàn)[10]提出集員濾波后, 集員濾波在理論與應(yīng)用上都引起了很多學(xué)者的關(guān)注. 文獻(xiàn)[11]采用集員濾波對(duì)帶有非線性有約束的系統(tǒng)進(jìn)行了分析, 考慮了非線性函數(shù)線性化時(shí)基點(diǎn)誤差和截?cái)嗾`差對(duì)狀態(tài)估計(jì)的影響. 文獻(xiàn)[12]解決了一類具有傳感器飽和的離散時(shí)變系統(tǒng)的集員濾波問題. 然而這些研究成果僅適用于單目標(biāo)系統(tǒng). 近年來, 隨著傳感器成本的逐年下降以及高精度、多目標(biāo)定位的需求越來越多, 很多學(xué)者開始傾向于研究針對(duì)多目標(biāo)的分布式多邊橢圓定位, 以提升定位精度并準(zhǔn)確刻畫目標(biāo)狀態(tài). Le Thu Nguyen等[13]提出了基于序列蒙特卡羅方法的多源定位系統(tǒng). Meng等[14]針對(duì)WSN 中基于能量的多源定位, 提出了一種有效的EM算法. 在此基礎(chǔ)上, Meng等[15,16]基于集員濾波思想, 分析了聲能損耗模型下的多源橢圓定位問題. 然而, 由于聲能模型的結(jié)構(gòu)特性, 使得其分析難度過大,且當(dāng)錨節(jié)點(diǎn)與待測(cè)節(jié)點(diǎn)距離過近時(shí)高階余項(xiàng)無界, 無法滿足定位要求.
本文針對(duì)基于RSSI的多目標(biāo)定位問題, 提出點(diǎn)估計(jì)與橢圓估計(jì)相融合的分布式多邊融合定位算法. 首先, 通過多邊定位算法進(jìn)行粗定位. 其次通過集員濾波方法求解多目標(biāo)橢圓定位問題. 值得指出的是, 與以往的優(yōu)化算法不同, 本文提出的優(yōu)化算法獲得的結(jié)果為可以包含真實(shí)目標(biāo)節(jié)點(diǎn)位置的橢圓集, 而非一個(gè)最優(yōu)估計(jì)點(diǎn).
本文研究了無線傳感網(wǎng)絡(luò)上基于 RSSI的室內(nèi)多目標(biāo)的定位問題. 傳感網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 傳感網(wǎng)絡(luò)結(jié)構(gòu)
圖1中,N個(gè)待測(cè)節(jié)點(diǎn)通過通信信道向附近的錨節(jié)點(diǎn)發(fā)送信號(hào), 分布在已知位置的N個(gè)錨節(jié)點(diǎn)分別接收RSSI并傳輸?shù)綌?shù)據(jù)處理中心. 數(shù)據(jù)處理中心首先通過多邊定位算法進(jìn)行粗定位, 然后再通過集員濾波進(jìn)一步優(yōu)化定位性能.
在利用RSSI定位時(shí), 一般采用對(duì)數(shù)分布陰影模型[17]來確定距離與測(cè)量值間的關(guān)系, 其形式如下:
式中, α =Pt-PL(d0)-v,Pt表示接收功率,PL(d0)表示距離為d0時(shí)的路徑損耗,d0一般取為1 m,v為環(huán)境噪聲, 參數(shù)γ 是依賴于環(huán)境的信號(hào)損耗指數(shù), γ一般在[2, 4]之間取值. 由式(1)變形可得:
本文假定參數(shù)α 和 γ 為先驗(yàn)已知的.
數(shù)據(jù)處理中心接收到各錨節(jié)點(diǎn)的RSSI信號(hào)后, 即可利用RSSI測(cè)距模型得出測(cè)量距離, 然后通過多邊定位算法對(duì)待測(cè)節(jié)點(diǎn)位置進(jìn)行估計(jì). 方法如下:
設(shè)分布在已知空間中特定位置的L個(gè)錨節(jié)點(diǎn)的坐標(biāo)集為r=[r1T,r2T,···,rTL]T, 其中rl=(Al,Bl)T,l=1,2,···,L.估計(jì)的N個(gè)待測(cè)節(jié)點(diǎn)坐標(biāo)集用表示, 其中第l個(gè)錨節(jié)點(diǎn)與第n個(gè)待測(cè)節(jié)點(diǎn)間的測(cè)量距離用dl,n表示. 根據(jù)第n個(gè)待測(cè)節(jié)點(diǎn)與各錨節(jié)點(diǎn)的位置關(guān)系可得:
式(3)可以轉(zhuǎn)化為:
式(4)可以表示為:
解方程(7)可得第n個(gè)待測(cè)節(jié)點(diǎn)坐標(biāo)為:
同理, 可以獲得其它所有待測(cè)節(jié)點(diǎn)的坐標(biāo), 即可以求出坐標(biāo)集. 在理想情況下, 各錨節(jié)點(diǎn)與待測(cè)節(jié)點(diǎn)間的定位距離與測(cè)量距離應(yīng)當(dāng)分別相同. 然而在實(shí)際應(yīng)用中, 結(jié)果往往如圖2所示, 多個(gè)圓未必交于一點(diǎn). 但可獲得一個(gè)包含真實(shí)坐標(biāo)的較保守的橢圓集:
圖2 多邊定位示意圖
包含真實(shí)狀態(tài)集x的有界集 β0可 用的笛卡爾積表示, 即
獲得包含真實(shí)目標(biāo)位置的初始橢圓后, 重新對(duì)定位模型進(jìn)行分析, 每個(gè)傳感器的測(cè)量值可重新表示為:
式中,yl表示第l個(gè)測(cè)量值, | |xn-rl||≠0表示第n個(gè)目標(biāo)節(jié)點(diǎn)與第l個(gè)錨節(jié)點(diǎn)間的距離, λl為 已知的正定常量, νl為獨(dú)立且有界的噪聲, 包含于有界集εv={v∈RL:vTQ-1v≤1},其中Q為已知的適當(dāng)維度的正定矩陣.
此外, 將l個(gè)傳感器的所有測(cè)量值記為y=[y1,y2,···,yL]T, 并定義:
利用泰勒公式, 將函數(shù)f(x)線性化:
結(jié)合式(11)和式(13)可得, 在第i次優(yōu)化時(shí):
式中,是有界集的下界的第l個(gè)分量, 即是有界集的上界的第l個(gè)分量, 即
由文獻(xiàn)[16]的命題1可知, 在求解有界集 ζni的上下界時(shí), 只需考慮集合 βin的 邊界和估計(jì)狀態(tài), 不需要討論有界集 βin內(nèi) 除估計(jì)點(diǎn)x?in外的其它點(diǎn). 因此, 包含余項(xiàng)?fn(xn,) 的有界集ζni可通過如定理1得出.
由式(21)得:
余下證明可分為兩部分: (1)求當(dāng)k∈[-1,1]、時(shí),的最大值; (2)求當(dāng)k∈[-1,1]、時(shí),的最小值.
(1)首先, 觀察可知, 當(dāng)t=0時(shí), 函數(shù)恒為0. 其次, 函數(shù)為關(guān)于k的凸函數(shù), 所以若要取得的最大值, 僅需考慮如下兩種情況:
① 當(dāng)k=-1時(shí),為關(guān)于t的凸函數(shù), 故只 可能在和處取得最大值;
② 當(dāng)k=1時(shí),為關(guān)于t的凸函數(shù), 故只可能在和處取得最大值.
綜上可得:
(2)同理, 可得:
基于上述準(zhǔn)備工作, 本節(jié)給出集員優(yōu)化方法對(duì)估計(jì)的有界橢圓集進(jìn)行優(yōu)化.
定理2. 在第i+1次迭代中, 基于測(cè)量值y, 當(dāng)前有界位置集 βi1×···×βiN, 有界余項(xiàng)集ζ1i×···×ζNi和有界噪聲集εv, 可得必定存在正定參數(shù)τnx、 τv和 τl使得式(25)成立:
式中,
Tr(·) 表 示矩陣的跡,λ為由 λ1,···,λL組成的對(duì)角矩陣. 符號(hào)⊥ 表示某個(gè)矩陣的正交矩陣, 0為適當(dāng)維數(shù)的零矩陣,I為適當(dāng)維度的單位矩陣,
另外, 結(jié)合式(12)和式(13)可得:
其滿足, ||μ||≤1, | Δl|≤1,l=1,···,L,vTQ-1v≤1,Ψi+1ξ=0, 等價(jià)于:
由S-procedure 引理[18,19]可得, 存在正定參數(shù) τx,τm, τv和 參數(shù)τy使 得Pin+1>0且式(39)成立:
根據(jù)Schur-Complements引理[18], 式(39)可轉(zhuǎn)化為式(26). 證畢.
利用定理2中式(25), 式(26)對(duì)橢圓集進(jìn)行優(yōu)化時(shí), 為了降低計(jì)算的復(fù)雜度, 可設(shè)置一個(gè)閾值σ 進(jìn)行控制, 當(dāng)時(shí), 停止優(yōu)化, 與相對(duì)應(yīng)的橢圓即為最終定位區(qū)域. 此外, 也可以通過設(shè)置適當(dāng)?shù)牡螖?shù)控制優(yōu)化算法的復(fù)雜度.
為驗(yàn)證本文所提算法的有效性和實(shí)用性, 選取面積為10 m×10 m的空地進(jìn)行實(shí)驗(yàn), 實(shí)驗(yàn)的場(chǎng)景如圖3所示. 實(shí)驗(yàn)中采用帶有CC2530芯片的無線模塊接收和發(fā)送信號(hào), 以1 m為單位長(zhǎng)度, 9個(gè)錨節(jié)點(diǎn)規(guī)則的排布在方形區(qū)域中, 其坐標(biāo)分別為(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個(gè)待測(cè)節(jié)點(diǎn)坐標(biāo)分別為(2.5, 7), (5, 2.5), (6, 7).
圖3 實(shí)驗(yàn)場(chǎng)景
通過實(shí)驗(yàn)獲取RSSI數(shù)據(jù)后, 在帶有YALMIP和SeDuMi工具箱的Matlab R2016a仿真平臺(tái)對(duì)數(shù)據(jù)進(jìn)行處理. 仿真中初始參數(shù)設(shè)置如表1所示.
表1 參數(shù)設(shè)置
簡(jiǎn)單處理實(shí)驗(yàn)數(shù)據(jù), 得到RSSI的平均值, 然后通過2.2節(jié)和2.3節(jié)的定位算法計(jì)算出初值, 再利用第3節(jié)中集員濾波優(yōu)化算法對(duì)初始估計(jì)區(qū)域進(jìn)行優(yōu)化, 仿真運(yùn)行結(jié)果如圖4所示.
圖4 DMFL算法的定位示意圖
圖4展示本文所提算法優(yōu)化過程中和最終優(yōu)化的各目標(biāo)所處的橢圓區(qū)域, 定位 所得橢圓的中心點(diǎn)分別為(2.3621, 7.0539), (4.9891, 2.7220), (6.0852, 6.9940),用橢球中心點(diǎn)與待測(cè)節(jié)點(diǎn)之間的距離差表示估計(jì)誤差,這種情況下所得的估計(jì)誤差分別為 0.0995 m、0.2747 m和0.1052 m. 另外從圖4可以看出, 采用該算法定位獲得的橢圓集總能包含真實(shí)的待測(cè)節(jié)點(diǎn)坐標(biāo), 體現(xiàn)了良好的定位性能.
為了證明DMFL算法的優(yōu)越性, 與文獻(xiàn)[20]中的多邊定位算法(Multi-lateral Localization Algorithm, MLA)算法和文獻(xiàn)[12]中的分布式集員濾波(Distributed Set-Membership Filtering, DSMF)算法進(jìn)行了對(duì)比. 定位誤差比較結(jié)果如表2所示.
表2 3種算法的誤差比較(m)
3種算法的運(yùn)行時(shí)間分別為0.017 s, 1.864 s和2.427 s.
從表2中的均值欄可以看出, 相比于DSMF和MLA算法, 本文所提的DMFL算法定位的誤差最小.此外, DMFL算法對(duì)各待測(cè)節(jié)點(diǎn)的定位誤差最大不超過0.3 m, 體現(xiàn)出該算法具有較好的魯棒性能. 從運(yùn)行的時(shí)間成本來看, DMFL算法與DSMF算法運(yùn)行時(shí)間相近, 均遠(yuǎn)大于MLA算法的運(yùn)行時(shí)間, 這也是這兩種算法為實(shí)現(xiàn)高精度定位時(shí)所不可避免的.
另外, 為了探究錨節(jié)點(diǎn)個(gè)數(shù)、迭代次數(shù)與估計(jì)誤差的關(guān)系, 圖5(a)中展示了優(yōu)化迭代4次時(shí)錨節(jié)點(diǎn)個(gè)數(shù)與估計(jì)誤差的關(guān)系, 圖5(b)中展示了有9 個(gè)錨節(jié)點(diǎn)時(shí)迭代次數(shù)與估計(jì)誤差的函數(shù)關(guān)系.
從圖5(a)和圖5(b)中可以看出估計(jì)誤差隨著錨節(jié)點(diǎn)數(shù)量的增多和迭代次數(shù)的增加而減小, 最終趨于平穩(wěn). 然而, 錨節(jié)點(diǎn)數(shù)量的增多和迭代次數(shù)的增加意味著定位成本和時(shí)間消耗的增加. 因此在實(shí)際應(yīng)用中需要根據(jù)需要權(quán)衡錨節(jié)點(diǎn)的布置數(shù)量和優(yōu)化算法的迭代次數(shù). 從圖5(a)中可以看出迭代4次時(shí)布置7個(gè)錨節(jié)點(diǎn)是較優(yōu)的選擇, 從圖5(b)中可以得出布置9個(gè)錨節(jié)點(diǎn)時(shí)迭代2次是較優(yōu)的選擇.
圖5 DMFL錨節(jié)點(diǎn)數(shù)、迭代次數(shù)與估計(jì)誤差的關(guān)系
當(dāng)對(duì)多個(gè)目標(biāo)進(jìn)行定位時(shí), 由于受折射、衍射等的影響, 定位性能與待定位目標(biāo)定個(gè)數(shù)也存在較大關(guān)系. 一般待定位目標(biāo)越多, 信號(hào)受折射、衍射的影響越大, 即獲取的信號(hào)的噪聲越大. 為驗(yàn)證噪聲未知但有界條件下, 噪聲大小對(duì)定位性能的影響, 通過電腦模擬測(cè)量值進(jìn)行了200次蒙特卡羅仿真驗(yàn)證, 仿真中錨節(jié)點(diǎn)和待測(cè)節(jié)點(diǎn)布置方式相同, 迭代次數(shù)為4次, 仿真結(jié)果如圖6. 此外, 通過圖7展示了錨節(jié)點(diǎn)不規(guī)則排布時(shí)仍能實(shí)現(xiàn)有效定位.
圖6 DMFL噪聲大小與估計(jì)誤差的關(guān)系圖
圖7 隨機(jī)布置錨節(jié)點(diǎn)時(shí)DMFL算法的定位示意圖
本文針對(duì)多目標(biāo)定位精度低、性能差的問題進(jìn)行了詳細(xì)分析, 并提出了相應(yīng)的優(yōu)化方法. 首先, 采用多邊定位算法進(jìn)行粗定位, 獲取初值. 其次, 通過在線分析獲取了泰勒展式的高階有界余項(xiàng). 然后, 利用迭代優(yōu)化算法求解了多目標(biāo)橢圓定位問題. 最后, 通過實(shí)驗(yàn)和仿真證明了所提定位算法的可行性與有效性. 結(jié)果表明:
(1)本文所提出的算法定位精度高于DSMF和MLA算法, 且性能更為穩(wěn)定, 定位誤差最大不超過0.3 m, 更適用于實(shí)際環(huán)境.
(2)錨節(jié)點(diǎn)個(gè)數(shù)、迭代次數(shù)、噪聲大小對(duì)估計(jì)誤差均有較大影響. 但隨著錨節(jié)點(diǎn)個(gè)數(shù)和迭代次數(shù)的增加, 估計(jì)誤差縮小的幅度在降低.
(3)在錨節(jié)點(diǎn)規(guī)則分布和隨機(jī)分布情況下, 該算法均可實(shí)現(xiàn)可靠定位, 給出包含目標(biāo)位置的最優(yōu)橢圓區(qū)域.