阮 超, 馮 濤, 郭凱旋, 盧彥霖, 余 敏
(1.江西師范大學 計算機信息工程學院,江西 南昌 330022;2.江西師范大學 軟件學院,江西 南昌 330022)
基于無線局域網(wǎng)(WiFi)的室內(nèi)定位技術(shù)[1]主要可分基于接收信號強度指示 (received signal strengh indication,RSSI),基于信號達到角(angle of arrival,AOA)和基于信號達到時間(time of arrival,TOA)[2]等,相比而言,WiFi信號的RSSI易于獲取,因此基于信號強度值成為WiFi室內(nèi)定位技術(shù)的主流方向[3,4]。文獻[5]提出基于信號傳播模型和位置指紋數(shù)據(jù)庫的定位方法,實現(xiàn)定位。文獻[6]提出貝葉斯(Bayes)濾波優(yōu)化算法,利用Bayes概率模型處理RSSI測量值,獲取精準測距數(shù)據(jù)。文獻[7]提出將K最近鄰(K-nearest neighbor,KNN)與Bayes融合的定位算法,優(yōu)選出概率最大的點作為最終位置。文獻[8]提出采用主成分分析 (principal component analysis,PCA)白化接收信號強度(RSS)的,去除RSS之間的相關(guān)性,有效提高聚類精度,以此提高定位精度。文獻[9]提出了基于PCA—最小二乘支持向量回歸(least square support vector regression,LSSVR)定位算法,提高了定位精度,但實時性受到影響。
各種基于樸素Bayes的WiFi室內(nèi)定位算法假定來自不同無線接入點接入點(access point,AP)的信號之間相互獨立、互不相關(guān)[10],但在實際情況中,各AP的信號存在明顯的相關(guān)性[11,12],采用Beyes算法進行位置估計,必將導(dǎo)致定位精度的損失。本文采用PCA結(jié)合加權(quán)Bayes(PCA-weighted Bayes,PCA-WBayes)算法,利用PCA去除相關(guān)性,為運用Bayes計算后驗概率提供良好基礎(chǔ),對定位結(jié)果加權(quán),一定程度上改善了上述的問題,提高了Bayes定位理論的適用性,有效提升了傳統(tǒng)Bayes方法定位的精度。
定位過程分為離線建庫和在線定位兩個階段。離線建庫階段,獲取參考點處各AP的RSSI樣本的均值和標準差,連同參考點位置坐標,作為一條指紋存入位置指紋數(shù)據(jù)庫,運用PCA對位置數(shù)據(jù)指紋庫中的RSSI數(shù)據(jù)去相關(guān)性、降維,提取主要特征。
在線定位階段,獲取待測點處的RSSI信息,運用PCA進行去相關(guān)性處理,在位置指紋數(shù)據(jù)庫中進行匹配,通過Bayes算法計算位置后驗概率,篩選出w個后驗概率最大的參考點坐標,按概率值分配不同的權(quán)重,取加權(quán)后結(jié)果作為待測點位置。定位算法原理如圖1。
圖1 PCA-WBayes定位算法原理圖
(1)
(2)
(3)
將Bayes公式應(yīng)用于室內(nèi)定位進行位置估計:假定待定位區(qū)域劃分有p({p∈N+})個參考點,n({n∈N+})個信號源AP,以隨機變量Ak({K∈N+|1≤k≤P})代表定位區(qū)域平面某參考點k,以隨機變量Bt({t∈N+})代表待測點t處經(jīng)PCA變換后的RSSI均值向量,Bt=Bt1∩Bt2∩…∩Btm,其中Bt1~Btn分別代表待測點t處RSSI均值向量的分量,各分量互不相關(guān)。因此,已知待測點t處RSSI均值向量求解待測點位置的問題,可轉(zhuǎn)化為求解后驗概率P(Ak|(Bt1Bt2…Btn))的最大值問題,進一步可將上述問題簡化為求解max[P(Bt1|AK)P(Bt2|AK)…P(Btm|AK)]。
當單個參考點某一AP的RSSI樣本足夠,其樣本通常均服從高斯分布,其概率密度函數(shù)為
(4)
f(x)在x=x0的函數(shù)值表示隨機變量位于x=x0左側(cè)區(qū)域的概率,RSSI通常取整數(shù)值,計數(shù)單位為1,因此,以RSSI均值向量分量位于區(qū)間(Bti-0.5,Bti+0.5)的概率代表RSSI均值向量分量等于Bti的概率。計算位置后驗概率
P(Bti|Ak)=f(Bti+0.5)-f(Bti-0.5)
(5)
實驗驗證本文提出PCA-WBayes算法的有效性和測試定位精度,實驗區(qū)域及WiFi信號源AP的部署如圖2,本實驗采用的定位信號源AP為TP-LINK無線路由器,WiFi信號接收端為華為榮耀6手機。按照1.2 m×1.2 m的規(guī)格將實驗區(qū)劃分成若干個正方形網(wǎng)格。將各網(wǎng)格頂點設(shè)定為參考點,并依次序編號,共設(shè)定了148個參考點。建立平面坐標系確定各參考點位置坐標。離線階段采集各參考點處來自各AP的信號強度值,在各參考點對每個AP反復(fù)采集50次,對采樣數(shù)據(jù)取均值作為該位置處的信號強度值,并計算數(shù)據(jù)樣本標準差。各參考點數(shù)據(jù)采集完成后,進行PCA變換,建立位置指紋數(shù)據(jù)庫。
在線定位階段,按上述方法對待測點信號強度進行,取均值和標準差,進行PCA變換,再運用本文Bayes方法計算后驗概率,在位置指紋數(shù)據(jù)庫中篩選出前3個后驗概率最大的點,按照上文原則分配權(quán)值,最后取加權(quán)結(jié)果為待測點坐標。
圖2 定位區(qū)域
實驗中對KNN,Bayes,PCA-WBayes 3種定位算法進行位置估計對比。將定位結(jié)果與待測點實際位置進行比較,計算定位誤差大小。取n次定位結(jié)果的平均誤差作為定位算法的誤差
(6)
基于KNN,Bayes和PCA-WBayes 3種WiFi室內(nèi)定位算法的累積誤差分布如圖3所示,可以看出,在上述實驗環(huán)境下,本文提出的PCA-WBayes算法98 %的定位誤差在2 m以內(nèi),定位精度優(yōu)于1.5 m的占到全部實驗結(jié)果的74 %,而Bayes算法和KNN算法分別只有56 %和48 %的定位誤差在1.5 m以內(nèi),PCA-WBayes算法的定位誤差明顯低于傳統(tǒng)Bayes和KNN算法。
圖3 3種定位算法的累積誤差分布
基于KNN,Bayes和PCA-WBayes 3種WiFi室內(nèi)定位算法的平均定位誤差和平均運行時間如表1所示。
表1 3種定位算法的平均定位誤差
由表1可以看出,在上述實驗環(huán)境下,本文提出的PCA-Bayes算法定位精度最高,平均定位精度達到1.15 m,相比傳統(tǒng)Bayes算法和KNN算法,定位精度分別提高了15.44 %和27.22 %。但在算法運行時間方面,PCA-Bayes算法的時間復(fù)雜度大幅增加。
本文提出了PCA-WBayes算法,實現(xiàn)了PCA與Bayes的完美結(jié)合,實驗結(jié)果表明:本文算法定位結(jié)果顯著優(yōu)于傳統(tǒng)KNN,Bayes等算法,具備更高的定位精度,但在線定位匹配階段需要遍歷位置指紋數(shù)據(jù)庫,計算各個參考點處的后驗概率,一定程度會增加定位運行時間造成,有待下一步解決。