孫鵬程,胡艷軍,王 翊
(1.安徽大學(xué) 計(jì)算智能與信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230601;2.中國科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所 無線傳感網(wǎng)與通信重點(diǎn)實(shí)驗(yàn)室,上海 200050)
無源感知(device-free passive, 簡稱DfP)[1]定位技術(shù)通過研究對(duì)象引起的無線傳感網(wǎng)中無線鏈路射頻特征的變化確定其位置.由于無線收發(fā)器通信時(shí)可自動(dòng)測量接收信號(hào)強(qiáng)度(received signal strength, 簡稱RSS),因此DfP定位系統(tǒng)可根據(jù)RSS定位.基于RSS的DfP定位方法可分為:網(wǎng)格法[2-4]、無線電斷層成像法[5-8]、幾何法[9-12]和指紋法[1,13-16].雖然網(wǎng)格法和無線電斷層成像法有良好的定位性能,但需要高內(nèi)存和大量計(jì)算資源,因此二者不適合資源受限情況.幾何法是先確定受對(duì)象影響的無線鏈路,然后獲取這些無線鏈路的交點(diǎn),最后通過處理這些交點(diǎn)得到對(duì)象的位置.幾何法對(duì)硬件和內(nèi)存資源的要求不高,但其定位精度受環(huán)境影響較大.指紋法將信號(hào)特征(如相位、幅值、CSI、RSS等)作為指紋,將提取的指紋與位置對(duì)應(yīng),通過比較指紋實(shí)現(xiàn)定位.指紋法中,使用歐氏距離來匹配指紋向量.歐氏距離匹配法根據(jù)兩向量的差向量的二范數(shù)來判斷兩向量的相似性,僅靠差向量的二范數(shù)來判斷向量的相似性并不合理,且指紋的易變性降低了歐氏距離匹配法的匹配精度.針對(duì)歐氏距離匹配法僅靠差向量的二范數(shù)來判斷向量相似性的問題,鑒于斯皮爾曼相關(guān)系數(shù)[17]可較好抵御指紋易變的干擾,筆者提出基于斯皮爾曼相關(guān)系數(shù)的指紋法.在指紋法中,在線向量要與大量離線指紋匹配,增加了計(jì)算量.幾何法無須大量計(jì)算資源就能快速確定目標(biāo)的大概位置,若在幾何法定位出的位置附近再使用指紋法,則定位效果會(huì)更佳.因此,筆者擬提出一種基于RSSI(received signal strength indication)的指紋法和幾何法聯(lián)合的室內(nèi)無源感知定位方法(F&G法).
指紋法定位分兩個(gè)階段:離線階段和在線階段[1].指紋法無源定位系統(tǒng)框圖如圖1所示.
圖1 指紋法無源定位系統(tǒng)框圖
理論上,所有位置對(duì)應(yīng)的指紋均不同,因此指紋法定位具有較高的定位精度.但是,指紋法需要大量比對(duì),導(dǎo)致計(jì)算量增加.若事先確定好目標(biāo)的大致范圍,對(duì)指紋采樣點(diǎn)進(jìn)行篩選,不僅計(jì)算量會(huì)減少,而且定位精度也會(huì)提高.
幾何法需要判斷鏈路的RSS值受影響的程度[9].幾何法無源定位系統(tǒng)框圖如圖2所示.
圖2 幾何法無源定位系統(tǒng)框圖
幾何法的優(yōu)點(diǎn)是能簡單迅速確定目標(biāo)的大致范圍,但是定位精度受環(huán)境影響較大.一般地,鏈路越稀疏,定位精度越低,所以若在幾何法基礎(chǔ)上進(jìn)行二次定位,則定位精度會(huì)提高.
2.1.1 歐氏距離匹配法
設(shè)空間中任意兩點(diǎn)A,B的坐標(biāo)分別為(x1,x1,…,xn),(y1,y2,…,yn),則A,B間的歐氏距離為
(1)
使用歐氏距離匹配法可比較兩空間向量的相似性.
2.1.2 斯皮爾曼相關(guān)系數(shù)法
由于斯皮爾曼相關(guān)系數(shù)能衡量離線指紋向量與在線測量向量的相似度,因此筆者提出基于斯皮爾曼相關(guān)系數(shù)的指紋法.將離線指紋向量和在線測量向量作為樣本,對(duì)兩樣本數(shù)據(jù)排序,得到排序等級(jí)和平均排序等級(jí)后,便可計(jì)算離線向量和在線向量的斯皮爾曼相關(guān)系數(shù).
(2)
經(jīng)相關(guān)變換后,斯皮爾曼相關(guān)系數(shù)的計(jì)算公式為
(3)
其中:di=Ri-Si,它表示兩列成對(duì)變量的等級(jí)差[17].
2.1.3 指紋法無源定位算法
算法1為指紋法無源定位算法.
算法1
輸入:M個(gè)離線參考位置的指紋向量組成的指紋庫Ψ=[φ1,φ2,…,φM];M個(gè)離線參考位置對(duì)應(yīng)的橫坐標(biāo)X=[x1,x1,…,xM],縱坐標(biāo)Y=[y1,y2,…,yM];匹配函數(shù)z=f(α,β);ML個(gè)測試位置指紋向量組成的指紋向量集Φ=[φ1,φ2,…,φML];K-NN方法中的K值
輸出:ML個(gè)測試位置的估計(jì)橫坐標(biāo)XF=[xF1,xF2,…,xFML],縱坐標(biāo)YF=[yF1,yF2,…,yFML]
(1) 定義3個(gè)1維向量D1,D2,D
(2) fori=1∶ML
(3) forj=1∶M
(4)D1(j)=f(Ψj,Φi)
(5) end
(6)D=D1
(7) 將向量D中的元素按大小排序,將D中元素在D1中的位置序號(hào)作為D2的元素
(9)XF(i)=xFi,YF(i)=yFi
(10) end
算法2為幾何法無源定位算法.
算法2
輸入:N個(gè)普通節(jié)點(diǎn)的位置坐標(biāo)(xnq,ynq),(q=1,2,…,N);空?qǐng)鼍癛SS矩陣G0;ML個(gè)測試位置的RSS矩陣組成的矩陣集Θ=[G1,G2,…,GML]
輸出:ML個(gè)測試位置對(duì)應(yīng)的估計(jì)橫坐標(biāo)XG=[xG1,xG2,…,xGML],縱坐標(biāo)YG=[yG1,yG2,…,yGML]
(1) forl=1∶ML
(2)ΔGl=|Gl-G0|
(3) 找出ΔGl的上(下)三角矩陣中前3個(gè)最大元素值對(duì)應(yīng)的位置
(4) 結(jié)合端點(diǎn)坐標(biāo),求解3條鏈路方程f1(x,y),f2(x,y)和f3(x,y)
(5) 令鏈路方程f1(x,y),f2(x,y)和f3(x,y)對(duì)應(yīng)的鏈路RSS值分別為r1,r2和r3
(6) 計(jì)算3個(gè)交點(diǎn)坐標(biāo)(px12,py12),(px23,py23)和(px13,py13)
(7) if 交點(diǎn)數(shù)目=1或3
(9) elseif 交點(diǎn)數(shù)目=2
(11) elseif 交點(diǎn)數(shù)目=0
(16) end
(17)XG(l)=xGl,YG(l)=yGl
(18) end
通過算法2確定目標(biāo)的大致位置,以該位置為圓心以r(該文r取1.5)為半徑作圓,此圓內(nèi)包含K個(gè)訓(xùn)練位置.如果K=0,按斯皮爾曼相關(guān)系數(shù)法定位的坐標(biāo)即目標(biāo)的估計(jì)位置坐標(biāo);如果K≠0,對(duì)圓內(nèi)K個(gè)訓(xùn)練位置進(jìn)行加權(quán)指紋法定位.最后對(duì)幾何法得到的坐標(biāo)與指紋法得到的坐標(biāo)求均值,得到目標(biāo)的估計(jì)位置坐標(biāo).算法3為F&G無源定位算法.
算法3
輸入:算法1的輸入;算法2的輸入;半徑r=1.5
輸出:ML個(gè)測試位置對(duì)應(yīng)的估計(jì)橫坐標(biāo)XI=[xI1,xI2,…,xIML],縱坐標(biāo)YI=[yI1,yI2,…,yIML]
(1) fori=1∶ML
(2) 依據(jù)算法2得到第i個(gè)測試位置對(duì)應(yīng)的估計(jì)坐標(biāo)(XG(i),YG(i))
(3) 以(XG(i),YG(i))為圓心、r為半徑畫圓(圓內(nèi)包含K個(gè)訓(xùn)練位置)
(4) ifK=0
(5) (XI(i),YI(i))=(XF(i),YF(i))(注:(XF(i),YF(i))為算法1計(jì)算得到的坐標(biāo))
(6) else
(7) 計(jì)算K個(gè)訓(xùn)練位置的指紋向量與測試位置的指紋向量的相似度(匹配方式為斯皮爾曼相關(guān)系數(shù)法)
(8) 按照算法1中的方法計(jì)算第i個(gè)測試位置的估計(jì)坐標(biāo)(X′F(i),Y′F(i))
(10) end
(11) end
基于RSSI的指紋法與幾何法聯(lián)合的室內(nèi)無源感知定位實(shí)驗(yàn)是在安徽大學(xué)磬苑校區(qū)重點(diǎn)實(shí)驗(yàn)室進(jìn)行的,實(shí)驗(yàn)?zāi)M場景如圖3所示.在4 m×4 m的區(qū)域邊界,有8個(gè)無線節(jié)點(diǎn),節(jié)點(diǎn)相距2 m.
圖3 實(shí)驗(yàn)?zāi)M場景
采用算法1進(jìn)行仿真分析,指紋匹配函數(shù)分別選擇歐氏距離和斯皮爾曼相關(guān)系數(shù).
定位誤差是評(píng)估無線傳感器網(wǎng)絡(luò)定位算法的重要指標(biāo),其表達(dá)式為
(4)
其中:LE(i)為測試位置i的定位誤差;(xireal,yireal)為位置i的真實(shí)位置坐標(biāo);(xiest,yiest)為位置i的估計(jì)位置坐標(biāo).所有測試位置的平均定位誤差A(yù)E的表達(dá)式為
(5)
其中:ML為測試位置數(shù)[18].
指紋法估計(jì)位置坐標(biāo)時(shí),采用的是K-NN法.不同的K值對(duì)定位效果有不同影響,平均定位誤差與K值的關(guān)系如圖4所示.
圖4 平均定位誤差與K值的關(guān)系
從圖4可以看出,斯皮爾曼相關(guān)系數(shù)法的平均定位精度高于歐氏距離匹配法.隨著K值的增加,平均定位誤差總體呈下降趨勢.這不難理解,因?yàn)镵值的增加意味著能綜合更多參考點(diǎn)的位置信息,定位精度會(huì)總體向好.K>6時(shí),隨著K值的增加,平均定位誤差有上升的趨勢,這是因?yàn)楹罄m(xù)引入了一些不相關(guān)的參考點(diǎn),使定位精度有所降低.
圖5為斯皮爾曼相關(guān)系數(shù)法與歐氏距離匹配法累積分布函數(shù)的比較.
圖5 斯皮爾曼相關(guān)系數(shù)法與歐氏距離匹配法累積分布函數(shù)的比較
從圖5可知, 從1.5 m定位誤差之內(nèi)的點(diǎn)數(shù)占總點(diǎn)數(shù)百分比的角度來看,斯皮爾曼相關(guān)系數(shù)法的為60%,而歐氏距離匹配法的只為40%.從最大定位誤差看,斯皮爾曼相關(guān)系數(shù)法的為2.6 m,而歐氏距離匹配法的為3.1 m.從圖4也可知,當(dāng)K=6時(shí),斯皮爾曼相關(guān)系數(shù)法的平均定位誤差不到1.5 m,而歐氏距離匹配法的平均定位誤差接近1.8 m.綜合看來,斯皮爾曼相關(guān)系數(shù)法要優(yōu)于歐氏距離匹配法.
采用算法1,2進(jìn)行仿真分析.圖6為斯皮爾曼相關(guān)系數(shù)法與幾何法累積分布函數(shù)的比較.
圖6 斯皮爾曼相關(guān)系數(shù)法與幾何法累積分布函數(shù)的比較
從圖6可以看出,幾何法的定位精度總體要優(yōu)于斯皮爾曼相關(guān)系數(shù)法.因?yàn)榭臻g無線鏈路的RSS值受環(huán)境影響較大,以RSS值構(gòu)成的指紋有變化,不同位置的指紋就具有相似性,進(jìn)行指紋定位時(shí),難免會(huì)受到其他位置指紋的干擾,因此斯皮爾曼相關(guān)系數(shù)法的定位精度總體要比幾何法的低.
采用算法1,2,3進(jìn)行仿真分析,將斯皮爾曼相關(guān)系數(shù)法、幾何法、F&G法定位的情況進(jìn)行對(duì)比.3種定位法累積分布函數(shù)的比較如圖7所示.
圖7 3種定位法累積分布函數(shù)的比較
從圖7可以看出,F(xiàn)&G法定位精度最高.表1為3種定位法的平均定位誤差,從表1可以看出,F(xiàn)&G法相對(duì)其他兩種方法,定位效果更好.
表1 3種定位法的平均定位誤差
筆者提出斯皮爾曼相關(guān)系數(shù)指紋法,分析表明斯皮爾曼相關(guān)系數(shù)法相對(duì)歐氏距離匹配法有高的定位精度.將斯皮爾曼相關(guān)系數(shù)法與幾何法定位效果進(jìn)行對(duì)比,發(fā)現(xiàn)幾何法的定位精度總體要高于斯皮爾曼相關(guān)系數(shù)法.仿真結(jié)果表明,F(xiàn)&G法優(yōu)于斯皮爾曼相關(guān)系數(shù)法及幾何法,提高了定位精度.