馮 濤, 阮 超, 郭凱旋, 盧彥霖, 余 敏
(1.江西師范大學(xué) 計(jì)算機(jī)信息工程學(xué)院,江西 南昌 330022; 2.江西師范大學(xué) 軟件學(xué)院,江西 南昌 330022)
利用WiFi進(jìn)行室內(nèi)定位為一項(xiàng)低成本、易實(shí)現(xiàn)的技術(shù)[1,2]。文獻(xiàn)[3]將現(xiàn)有的室內(nèi)定位方法分成3類(lèi):基于特定設(shè)備的定位方法、基于WiFi的定位方法和基于移動(dòng)傳感器的定位方法;文獻(xiàn)[4]提出了改進(jìn)的加權(quán)K最近鄰(weighted K-nearest neighbor,WKNN)匹配算法進(jìn)行定位,定位精度和穩(wěn)定性方面較傳統(tǒng)WiFi指紋定位算法有大幅提高;文獻(xiàn)[5]提出了表征點(diǎn)位幾何特性的點(diǎn)散發(fā)性強(qiáng)度(geometric strength of sporadic,GSS)概念,利用最鄰近樣本點(diǎn)的GSS判別移動(dòng)終端所在控制網(wǎng)結(jié)構(gòu),動(dòng)態(tài)地選擇K最近鄰(K-nearest neighbor,KNN)算法中的關(guān)鍵參數(shù)K,約束KNN能夠有效地提高室內(nèi)定位精度;文獻(xiàn)[6]提出了自適應(yīng)匹配預(yù)處理WKNN算法,可獲得30 %以上的定位誤差改善;文獻(xiàn)[7]提出了利用眾包來(lái)更新位置指紋庫(kù),針對(duì)用戶(hù)的錯(cuò)誤修正提出了基于密度的(density-based spatial clustering of applications with noise,DBSCAN)聚類(lèi)的錯(cuò)誤檢測(cè)方法,該方法可以長(zhǎng)時(shí)間保持較高的定位性能;文獻(xiàn)[8]在高斯模型的基礎(chǔ)上提出了一種改進(jìn)高斯模型的濾波算法,再結(jié)合交點(diǎn)質(zhì)心法得出一種新的距離估計(jì)方法,該方法能夠準(zhǔn)確定位并具有較高的定位精度和穩(wěn)定性。
本文提出了基于歸一化和的平方根(root-sum square,RSS)和約束 WKNN的WiFi指紋定位算法,運(yùn)用高斯濾波歸一化了WiFi無(wú)線(xiàn)信號(hào)權(quán)值,降低了信號(hào)的隨機(jī)誤差;并采用基于4—域系統(tǒng)WKNN匹配定位算法,防止離待測(cè)點(diǎn)較遠(yuǎn)的參考點(diǎn)參與匹配造成的誤差。
1)將待測(cè)試區(qū)域劃分若干網(wǎng)格,以每個(gè)網(wǎng)格的頂點(diǎn)作為參考點(diǎn)(reference point,RP);
2)將每個(gè)RP的特征信息(包括坐標(biāo)、RSS值)作為一組位置指紋存入位置指紋數(shù)據(jù)庫(kù)。位置指紋庫(kù)數(shù)據(jù)可表示為
(1)
1)實(shí)時(shí)測(cè)量待測(cè)點(diǎn)接收WiFi信號(hào)源的RSS值;
2)利用一定的匹配算法,包括確定性匹配算法:最近鄰(nearest neighbor,NN),KNN,WKNN等,以及概率性匹配算法:樸素貝葉斯、最小均方誤差(minimum mean square error,MMSE)[9]等,以及一些其他算法。與位置指紋數(shù)據(jù)庫(kù)中的指紋數(shù)據(jù)進(jìn)行匹配,估計(jì)最優(yōu)的待測(cè)點(diǎn)位置信息。
算法流程如圖1所示。
圖1 本文算法流程
本文提出了一種基于歸一化RSS值權(quán)值的離線(xiàn)—在線(xiàn)信號(hào)采集誤差修正算法。保留高概率的RSS值,對(duì)其概率進(jìn)行歸一化處理,提高高概率的RSS值的權(quán)值,將加權(quán)后求得的加權(quán)均值[10]作為其RSS值,使得結(jié)果更接近于真實(shí)值,確保定位精度。歸一化處理過(guò)程如式(2)所示
(2)
求解更新后的RSS值
(3)
式中Ri為高概率RSS值,j為某一RP采集某一AP的RSS值。
本文提出了一種確定性匹配算法WKNN,在KNN算法的基礎(chǔ)上引入了權(quán)重系數(shù),以權(quán)重系數(shù)代表不同位置指紋點(diǎn)在定位匹配中的重要程度,同時(shí)引入鄰域的概念,用以提高定位精度。
1)待測(cè)點(diǎn)與參考點(diǎn)RP的相似度Li為
(4)
式中Rm為定位時(shí)接收到來(lái)自第m個(gè)AP的RSS值。
對(duì)Li進(jìn)行升序排序,各指紋點(diǎn)所對(duì)應(yīng)的坐標(biāo)可以表述為Pi={P1,P2,…,Pk,…,Pi},1≤k≤i。
2)鄰域確定
圖2 鄰域
3)4—域系統(tǒng)判定
4)約束WKNN的匹配定位過(guò)程
5)待測(cè)點(diǎn)估算結(jié)果P
(5)
提出的約束WKNN的匹配定位過(guò)程來(lái)進(jìn)一步約束選擇參與最終匹配定位的參考點(diǎn),有效減少了錯(cuò)誤的參考點(diǎn)給定位帶來(lái)的不利影響,再結(jié)合WKNN進(jìn)行匹配,得到待測(cè)點(diǎn)的估算結(jié)果,提高了定位精度。
定位區(qū)域的平面圖如圖3所示(包括4間辦公室和2條走廊)。參考網(wǎng)格設(shè)置為2 m×2 m,無(wú)線(xiàn)AP型號(hào)采用TL-WR885N(按照?qǐng)D3所示,布置9個(gè)無(wú)線(xiàn)AP),移動(dòng)采集終端為華為榮耀6,在每個(gè)采樣點(diǎn)采集RSS值15次。
圖3 定位區(qū)域平面
1)離線(xiàn)—在線(xiàn)信號(hào)采集誤差修正效果
針對(duì)室內(nèi)無(wú)線(xiàn)信號(hào)頻繁的跳變現(xiàn)象,本文采用高斯濾波對(duì)RSS值進(jìn)行濾波處理來(lái)提高定位精度。濾波后的效果如圖4所示,其中橫坐標(biāo)為距離WiFi信號(hào)源的距離,縱坐標(biāo)為RSS值的絕對(duì)值。
圖4 高斯濾波效果
可以看出,歸一化RSS值權(quán)值的離線(xiàn)—在線(xiàn)信號(hào)采集誤差修正效果良好,濾波RSS值曲線(xiàn)逼近理想值。
2)約束WKNN算法對(duì)WKNN和KNN算法的優(yōu)化效果
實(shí)驗(yàn)中,WKNN的關(guān)鍵參數(shù)K設(shè)置為3。約束WKNN算法(基于4—域系統(tǒng)的WKNN算法)、WKNN算法和KNN算法的累積誤差分布(cumulative error distribution,CED)如圖5所示??梢钥闯觯s束WKNN算法的收斂距離為1.8 m左右,WKNN算法的收斂距離為2.4 m左右,KNN算法的收斂距離為2.8 m左右。在誤差的整體分布上,約束WKNN算法的定位誤差比WKNN算法和KNN算法低。
圖5 累積誤差分布
3)本文算法優(yōu)化效果
從平均定位誤差上來(lái)看:WKNN匹配算法為1.75 m、基于歸一化RSS的WKNN匹配算法為1.66 m、約束WKNN匹配算法為1.5 m、本文定位算法為1.41 m。本文定位算法的定位優(yōu)化效果明顯,平均定位誤差降低19.4 %。
提出的算法可以更好地估計(jì)用戶(hù)的實(shí)際位置,平均定位誤差降低了19.4 %,對(duì)基于WiFi的室內(nèi)定位的發(fā)展起到了積極的推動(dòng)作用。下一步工作將考慮采用眾包更新的方式減輕離線(xiàn)數(shù)據(jù)采集和更新的工作量。