童笑宏,王冠凌
(1.高端裝備先進感知與智能控制教育部重點實驗室,安徽 蕪湖241000; 2.安徽工程大學 電氣工程學院,安徽 蕪湖241000)
由于室內環(huán)境的多變性和復雜性,使得Wi-Fi信號在傳播過程中波動較大,限制了傳統(tǒng)的定位技術,如TOA、TDOA、AOA等的定位精度,同時采用硬件檢測,使得成本較高.有學者提出通過離線采集和在線匹配的Wi-Fi室內定位方法[1].離線階段,采集的RSSI值受到室內環(huán)境、物件位置等不確定因素的影響,需要對采集以后的數據進行濾波處理,消除特異值,構建新的指紋數據庫;在線階段,則進行指紋匹配,但是未對采集的數據進行濾波等預處理,數據受噪聲和多徑影響較大,定位精度不足、穩(wěn)定性不夠.也有學者提出一種在KNN算法的基礎上,融合樸素貝葉斯概率算法來實現(xiàn)室內定位[2-5].這種改進后的算法在Wi-Fi定位上雖然提高了室內定位算法的穩(wěn)定性,但是對采集的數據未具體劃分類別,使得相似度較高的采樣點未統(tǒng)一聚類,導致有效數據丟失,影響定位結果.還有學者提出四邊測距定位算法[6-8].該算法對采集點位置信息加權,使得位置信息更加區(qū)域化、精確化,但得到的數據分布較為分散,匹配時速度較慢.此外有學者提出的自適應權重算法[9-13],對RSSI測距算法優(yōu)化,消除不同發(fā)射功率對測距的影響,通過預估和更新錨節(jié)點和未知節(jié)點距離信息,來實現(xiàn)精準測距.但該算法應用在復雜的室內環(huán)境時,采集的RSSI信號有一定程度的波動,影響了定位精度.
對信號時變性研究過程中,環(huán)境因素的改變是信號波動的主要原因,基于RSSI的室內定位算法在長時間定位中為了讓其保證一定的定位精度,對采集的指紋庫要定期改進[14],維護和改進使得成本上升,工作量增加.本文通過改進的基于加權質心算法的Wi-Fi室內定位方法,不僅避免了人工對設備的長時間維護,而且節(jié)約了成本.
由于室內Wi-Fi定位所采集的RSSI值滿足高斯分布,靠近已知AP點信號強度越高,反之越弱,但受多徑效應的影響,采集的RSSI值有特異值點的存在.因此采用卡爾曼濾波算法,通過預測和更新過程消除特異值.在RSSI信號采集過程中,受室內多徑效應的影響,使得采集的信號強度值波動較大.在實際定位過程中,一是要使定位結果具有實時性,一般需要3 s內計算出目標位置;二是采集設備硬件自身限制,使得采集速度有限(1 s/次);三是定位結果在突變信號中精度大幅降低.使用卡爾曼濾波能有效過濾異常值點,提高定位精度.濾波效果如圖1和圖2所示.
圖1 第1組濾波數據 圖2 第2組濾波數據
傳播中的信號強度會隨距離的增加而衰減,同時,信號的強度衰減幅度也意味著距離的變化,這一規(guī)律符合距離測量的對數衰減模型.
在室內復雜環(huán)境的定位中,采集的信號會受到反射、散射、遮蔽的影響而產生很大的干擾,一般的數學模型無法描述信號變化趨勢,因此,學者們廣泛采用對數正態(tài)分布處理接收信號的強度,并進一步使用對數正態(tài)陰影模型來刻畫信號強度隨距離的變化[15],其數學表達式為
(1)
其中:P0(d)和Pr(d0)分別為接收在距離信號源為d和d0處接收到的信號強度;η為路徑損耗參數;Xσ為服從正態(tài)分布的隨機變量.本文通過多次測量數據實驗驗證,η值和Xσ值在此測試環(huán)境中分別為2.0和2.6,然后以錨節(jié)點為圓心,對數路徑損耗模型計算的距離為半徑,計算組成的三角形的質心坐標,即為待測點坐標.
以錨節(jié)點作為球心,分別繪制數學模型的三維圖如圖3、三維俯視圖如圖4、和二維截面平面圖如圖5.
圖3 數學模型三維圖 圖4 數學模型俯視圖
圖5 數學模型二維截面圖
利用網絡連通性以錨節(jié)點為圓心、依據距離模型計算的待測點與錨節(jié)點距離為半徑畫圓,得到三圓相交的可定位區(qū)域,計算待測點坐標就是計算三角形的質心坐標,三維數學模型建立如圖3,二維平面模型如圖6.該算法操作簡單,同時,定位精度會受多因素的影響,如錨節(jié)點位置和分布越離散,定位精度就越低,反之,定位精度就越高.由此,該算法導致的定位精度不高是因為等同化AP點作用,弱化AP點到待測 點距離對計算待測點坐標的功能.例如N個錨節(jié)點組成公共區(qū)域(圖7),從而估算待測點的坐標(X,Y)為
(2)
圖6 三圓定位示意圖 圖7 三角形區(qū)域
該算法利用的權重值[16-20]是AP點和未知節(jié)點的距離的倒數,待測點坐標(X,Y)可根據AP點坐標(x1,y1),(x2,y2),……,(xi,yi)求得,即:
(3)
其中:wi為第i點的權值;(xi,yi)為第i個已知點到待測點間的距離.xi越大,wi就越小,反之wi則越大.
已知3個圓相交可以得到三個交點,但是通常情況下是得到一片待定位區(qū)域,本文采用3個圓相交,計算交點組成的三角形的質心坐標.依據測量平差原理,提高定位精度可以增加多余觀測量,但多余觀測量越多,計算就越加復雜.因此改進的RSSI室內加權質心定位算法使用3個圓相交來計算待測點坐標計算過程更簡易.
本文改進的定位算法思想在于,當3個圓相交時會得到一個待定位區(qū)域(圖8),相交的3個交點E、F、G組成一個三角形(圖7),MEFG(XEFG,YEFG)為該三角形的質心坐標,P(Xp,Yp)為待測點坐標.
圖8 可定位三角形區(qū)域
使用對數路徑損耗模型公式計算節(jié)點A到交點E的距離、節(jié)點B到交點F的距離、節(jié)點C到交點E的距離分別為dA、dB、dc,并分別以距離為半徑,節(jié)點A、B、C為圓心畫圓,得到待定位區(qū)域,交點分別為E、F、G.交點的計算方法為E、F、G交點E(XE,YE)的計算方法為
(4)
(5)
由此解出的坐標(XEFG,YEFG)即為三角形質心坐標.
本文改進的定位算法需要對錨節(jié)點位置進行初始設定,再采集信號點進行室內定位,避免可定位區(qū)域過大或過小造成的定位精度的降低.無線傳感器網絡的普及,讓Wi-Fi有很高的覆蓋率,因此利用Wi-Fi信號來實現(xiàn)室內精確定位更加便捷.
本文通過手機采集接收的Wi-Fi信號值,然后通過卡爾曼濾波算法消除特異值,增加定位精確度,通過對濾波后的數據進行判斷是否達到閥門值(經過多次實驗證明,閥門值設定為-60 dbm),對達到閥門值數據利用公式(1)計算距離,當三圓相交有且僅有三個交點時,按照公式(4)和公式(5)計算三角形質心坐標.算法流程如圖9所示.
算法步驟如下:
1)所設定的AP點周期性地向周圍發(fā)射附有無線錨節(jié)點自身的位置信息和ID號的消息包.
2)利用卡爾曼濾波過濾接收的異常Wi-Fi信號強度點,再利用對數路徑損耗模型通過信號強度計算距離值.
3)當未知節(jié)點接收消息包的時間達到閥門值的時候,停止接收消息包.
4)對達到閾值的數據繼續(xù)利用對數路徑損耗模型把接收到的RSSI信息轉化為距離值.
5)取步驟1)中設定AP點的坐標值和步驟4)中選出的距離值,通過公式(4)計算出所求交點的坐標.
6)計算步驟4)和步驟5)中3個交點的坐標值,通過公式(5)計算三角形的質心坐標,即待測點P的坐標值.
圖9 算法流程圖
本文實驗地點在控制工程實驗室.實驗室三個頂角設置3個采用相同普通型號路由器Tengda-AC6發(fā)射的Wi-Fi接入點(圖10),節(jié)點坐標分別為(0,0,4),(6.6,0,4)和(6.6,6.6,4),單位為m.
圖10 實驗環(huán)境
采集點坐標如圖11所示.
圖11 采集點坐標圖
1)在室內部署3個相同類型的無線路由器,在實驗區(qū)域內建立獨立平面坐標系.利用標尺在建立的坐標系下測量無線路由器和待測點的坐標值.
2)使用手機下載的WIFI信號強度檢測器進行信號采集,信號采集時需采集兩組數據,對數損耗模型中的P0(d)是1.085 0 m處的信號強度.構建出對數路徑損耗模型:
(6)
另一組數據是在8個檢核點上分別使用相同型號手機進行采集信號.用于檢核點定位驗證.
3)利用改進的RSSI室內加權質心定位算法將移動端接收到的信號強度進行計算,得到檢核點的估算坐標(xEFG,yEFG).
4)以估算坐標值與真實坐標的距離值作為精度評價依據,同時,采取e值(X和Y方向誤差的平方和后開根號)乘以100%為定位精度百分比.經計算,e值在95%左右,即定位精度提高95%左右.
(7)
其中:(xEFG,yEFG)為檢核點的估算坐標值,(XEFG,YEFG)表示待測點的實際坐標值.測試點定位誤差比較如表1,算法誤差比較如表2所示.
表1 測試點定位誤差比較 單位:m
表2 算法誤差比較 單位:m
由上表2可以看出,加權質心算法的誤差相較于基于RSSI的測距算法誤差和基于RSSI的質心算法誤差有相當大的優(yōu)化,基于RSSI的測距算法的最大誤差是1.206 m,最小誤差是0.752 1 m,平均誤差是1.001 2 m;基于RSSI的質心算法的最大誤差是1.475 6 m,最小誤差是0.895 4 m,平均誤差是1.200 9 m;本文改進的加權質心算法的最大誤差是1.088 2 m,最小誤差是0.735 4 m,平均誤差是0.939 5 m.比較可知:0.939 5 m<1.001 2 m<1.2009 m,因此,加權質心算法滿足較高的精度要求,更適合于室內多徑效應造成的復雜環(huán)境的定位.從上表1對X方向和Y方向的誤差分析可以看出:其X方向最大誤差是0.666 0 m,X方向最小誤差是0.428 0 m;Y方向最大誤差是0.875 0 m,Y方向最小誤差是0.564 0 m;X方向平均誤差是0.528 5 m,Y方向平均誤差是0.774 5 m.由表2算法誤差比較可以看出,改進算法與測距算法以及質心算法分別做差再乘以百分之百后得到的八個數據點定位精度平均提高10%左右,體現(xiàn)了加權質心定位算法的應用具有精度高的特點.
本文改進的定位算法在計算待測點坐標時,通過距離平方計算權值加權得到初始定位坐標,為了防止誤差較大,使用信號強度二次加權,最大限度將獲得的RSSI信息通過幾何關系轉化為待測點坐標,實驗驗證,改進的算法使得定位精度有一定程度的提高,有效地降低了由于室內多徑效應和噪聲對定位精度的影響,可以滿足室內定位、無人機定位等方面的部分需要.在定位精度上,改進的定位算法,利用兩次加權計算的結果作為最后定位坐標值,在與RSSI測距算法和RSSI質心算法比較中,定位精度平均提高了10%左右.