胡文強(qiáng),胡建鵬
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
作為位置服務(wù)手段,全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)擁有良好的定位效果和廣泛的覆蓋范圍。然而,在空間結(jié)構(gòu)復(fù)雜的室內(nèi)環(huán)境下,由于GNSS信號(hào)被阻擋,無法進(jìn)行精準(zhǔn)的定位與導(dǎo)航服務(wù)。隨著5G技術(shù)商業(yè)化發(fā)展,室內(nèi)定位技術(shù)再度引起了廣泛關(guān)注。對于基于位置服務(wù)(Location Based Service,LBS)的需求日益增加,這也刺激了室內(nèi)定位系統(tǒng)和相關(guān)技術(shù)的快速發(fā)展[1]。
以WiFi為代表的室內(nèi)定位技術(shù)可與GNSS形成有效的互補(bǔ)。相較于其它定位技術(shù),WiFi定位能夠有效利用現(xiàn)有公共服務(wù)場合下的硬件設(shè)施,在滿足基本定位需求的同時(shí),降低定位系統(tǒng)所需的成本。但由于WiFi信號(hào)在時(shí)域上具有波動(dòng)性,因此僅靠單獨(dú)的定位系統(tǒng)進(jìn)行位置服務(wù)存在較大的局限性,無法充分利用WiFi系統(tǒng)所表現(xiàn)出的優(yōu)勢。針對該問題,可以將多種信號(hào)進(jìn)行融合互補(bǔ),例如可以將WiFi與慣性導(dǎo)航系統(tǒng)進(jìn)行融合[2]。
為提高目前單一定位系統(tǒng)的性能,研究人員圍繞有關(guān)WiFi與行人航位推算(Pedestrian Dead Reckoning,PDR)的定位系統(tǒng)展開了研究和討論。文獻(xiàn)[3]將慣性導(dǎo)航與WiFi指紋定位進(jìn)行融合,設(shè)計(jì)完成了一套基于智能終端的絕對定位系統(tǒng)。文獻(xiàn)[4]針對WiFi定位存在的回跳及點(diǎn)位重積等問題,通過PDR方法對其進(jìn)行修正,采用漸消因子的自適應(yīng)加權(quán)擴(kuò)展卡爾曼濾波(Extended Kalman Filtering,EKF)算法對兩種方法進(jìn)行了松耦合。文獻(xiàn)[5]提出了一種改進(jìn)的指紋定位方法,并以此設(shè)計(jì)并實(shí)現(xiàn)了相應(yīng)的定位系統(tǒng)原型,該系統(tǒng)能起到抗干擾的作用,具有良好的魯棒性與可靠性。文獻(xiàn)[6]在WiFi定位部分采用了一種改進(jìn)的加權(quán)K-最近鄰(Weighted K-Nearest Neighbor,WKNN)算法;PDR定位算法則使用了多重約束條件的步態(tài)檢測和在線步長估計(jì)方法;最后將EKF作為WiFi和PDR定位的融合濾波器。文獻(xiàn)[7]提出了一種基于自適應(yīng)粒子濾波的室內(nèi)行人WiFi 與PDR 組合定位算法,該算法能夠通過自適應(yīng)因子自動(dòng)調(diào)節(jié)觀測量對粒子分布的影響。
上述研究將WiFi定位與慣性導(dǎo)航技術(shù)應(yīng)用到了室內(nèi)定位系統(tǒng)中,并對系統(tǒng)的實(shí)時(shí)性、定位精度以及算法復(fù)雜度等進(jìn)行了探討。但是目前存在以下需要解決的問題:(1)WiFi指紋定位在線匹配的計(jì)算性能問題沒有得到解決,這將導(dǎo)致定位系統(tǒng)無法進(jìn)行實(shí)時(shí)定位;(2)在使用EKF算法時(shí),融合階段的多傳感器融合部分沒有針對時(shí)間配準(zhǔn)問題的解決方案,導(dǎo)致系統(tǒng)無法進(jìn)行有效的數(shù)據(jù)融合?;谝陨蠁栴}和不足,本文在WiFi/PDR融合定位方法的基礎(chǔ)上,提出了一種基于區(qū)域限制的自適應(yīng)滑動(dòng)窗口指紋匹配方法,并在融合定位部分結(jié)合了EKF與PDR的系統(tǒng)特性來解決時(shí)間配準(zhǔn)問題。本文所提方法通過自適應(yīng)窗口縮小了指紋匹配的范圍,提高了定位系統(tǒng)的計(jì)算性能,同時(shí)能根據(jù)系統(tǒng)迭代過程中定位環(huán)境所反饋的信息進(jìn)行動(dòng)態(tài)調(diào)整,從而提高最終的定位精度。
基于接收信號(hào)強(qiáng)度指示(Received Signal Strength Indicator,RSSI)的WiFi指紋定位方法可被分為兩個(gè)階段:采集RSSI數(shù)據(jù)建立指紋庫的離線階段和匹配定位的在線階段[8-9]。
離線階段通過移動(dòng)終端收集特定WiFi的RSSI數(shù)據(jù)。首先對定位區(qū)域進(jìn)行部署規(guī)劃,利用一些地標(biāo)信息將定位區(qū)域劃分為不同網(wǎng)格。然后,將每個(gè)網(wǎng)格的頂點(diǎn)作為定位參考點(diǎn),并將其中的特征信息(包括坐標(biāo)信息、WiFi信號(hào)強(qiáng)度值、MAC地址等)作為一組指紋信息,從而可以得到一組位置指紋數(shù)據(jù)RP
(1)
式中,(xL,yL)為第L個(gè)參考點(diǎn)的位置;附屬值代表在該參考點(diǎn)的RSSI數(shù)據(jù),其中rssiLN表示在位置L接收到的第N個(gè)信號(hào)接入點(diǎn)數(shù)據(jù)。
在線階段利用接收到的信號(hào)強(qiáng)度數(shù)據(jù),通過匹配算法得到移動(dòng)終端的位置。在該階段中,采用WKNN算法作為指紋匹配方法。WKNN通過不同指紋節(jié)點(diǎn)的貢獻(xiàn)比來給每條指紋分配權(quán)重,從而提高了原始K-最近鄰(K-Nearest Neighbor,KNN)算法的運(yùn)行精度[10]。WKNN經(jīng)過多次選擇,得到k條與未知點(diǎn)指紋相似度最小的指紋樣本,從而得到未知點(diǎn)的估算坐標(biāo)。
WiFi指紋定位可有效地利用現(xiàn)存的WiFi信號(hào)接入點(diǎn),無需增設(shè)額外的定位基站。在真實(shí)情景中,信號(hào)接收終端在不同行走區(qū)域所采集到的WiFi列表存在連續(xù)變動(dòng)的情形,不同位置采集到的信號(hào)總數(shù)與信號(hào)強(qiáng)弱均有所不同,因此無法依據(jù)預(yù)先指定的信號(hào)接入點(diǎn)的MAC地址來獲取相應(yīng)的RSSI數(shù)據(jù),這給后續(xù)指紋匹配的實(shí)現(xiàn)帶來了阻礙[11]。同時(shí),在WiFi指紋定位的在線匹配階段,位置的全局搜索會(huì)增加定位誤差變大的概率,從而影響了算法最終的性能與復(fù)雜度。
為了解決上述問題,在指紋建庫階段,通過信號(hào)強(qiáng)度排列與列表交集來保留最能表征當(dāng)前位置指紋的信號(hào)強(qiáng)度數(shù)據(jù)。在指紋匹配階段,本文采用了一種基于自適應(yīng)滑動(dòng)窗口的WiFi指紋匹配方法以提高定位系統(tǒng)的定位精度與算法執(zhí)行性能。具體的定位流程如下:
(1)離線階段采集數(shù)據(jù)建立WiFi指紋庫,將WiFi列表中的數(shù)據(jù)進(jìn)行排序,并從中選取數(shù)值最大的M條信號(hào)強(qiáng)度數(shù)據(jù),則位置L采集到信號(hào)數(shù)據(jù)可以表示為RSSIL(i)(0
(2)計(jì)算參考點(diǎn)L信號(hào)數(shù)據(jù)的交集,從而獲取最接近真實(shí)值的位置信息,以此表征當(dāng)前WiFi接入點(diǎn)的位置指紋數(shù)據(jù)
(2)
式中,M表示W(wǎng)iFi列表中的信號(hào)采樣數(shù)目;RSSIL(i)表示第i條信號(hào)強(qiáng)度數(shù)據(jù);
(3)對其中的每組信號(hào)強(qiáng)度數(shù)據(jù),通過高斯函數(shù)擬合RSSI采樣數(shù)據(jù)的分布狀態(tài),從而獲得概率值最大的RSSI數(shù)據(jù)[12]。其中,RSSI值服從(μ,σ2)的高斯分布,其概率密度函數(shù)為
(3)
其中
(4)
(5)
式中,M表示獲取交集以后的信號(hào)采樣數(shù)目;
(4)在在線階段采集RSSI信號(hào),并與指紋庫中的數(shù)據(jù)進(jìn)行配對。根據(jù)信號(hào)強(qiáng)度數(shù)據(jù)的歐式距離設(shè)定滑動(dòng)窗口的大小,從而增加指紋匹配的區(qū)域限制。根據(jù)指紋數(shù)據(jù)的歐氏距離獲得滑動(dòng)窗口SWk
(6)
式中,Dk表示相鄰狀態(tài)的信號(hào)強(qiáng)度數(shù)據(jù)的歐氏距離;[Dmin,Dmax]表示在一個(gè)穩(wěn)定環(huán)境下Dk的取值范圍;S表示W(wǎng)iFi定位方法的定位最大誤差,其中Dmin、Dmax、S均被設(shè)置為經(jīng)驗(yàn)值。
當(dāng)k=0時(shí),初始值SW0為常量,為WiFi指紋定位方法的最大誤差;
當(dāng)k≥1時(shí),SWk由式(6)獲得,Dk為
(7)
式中,RSSI(k)表示用戶運(yùn)動(dòng)時(shí),第k個(gè)狀態(tài)對應(yīng)的位置點(diǎn)所采集到的一組WiFi信號(hào)強(qiáng)度數(shù)據(jù);
(5)在WKNN匹配算法執(zhí)行過程中,以上一狀態(tài)的定位坐標(biāo)為基準(zhǔn),在搜索窗口大小為SWk×SWk的區(qū)域范圍內(nèi)選取距離最小的k個(gè)位置,位置的平均坐標(biāo)即為最終的定位估計(jì)值
(8)
式中,x和y表示系統(tǒng)估計(jì)的定位坐標(biāo);xi和yi表示指紋匹配的可選位置;wi表示所選取第i個(gè)位置的權(quán)重。
在基于擴(kuò)展卡爾曼濾波的融合定位系統(tǒng)中,以一種或多種融合信息源構(gòu)建狀態(tài)空間。與此同時(shí),通過其他定位信息源構(gòu)建觀測空間信息,由卡爾曼增益賦予測量值和當(dāng)前狀態(tài)估計(jì)值的相對權(quán)重,通過系統(tǒng)對不同參考信息進(jìn)行調(diào)和以獲得精準(zhǔn)的定位性能[13-14]。在基于擴(kuò)展卡爾曼濾波的融合定位過程中,系統(tǒng)首先以PDR方法構(gòu)建狀態(tài)空間,然后以WiFi指紋定位方法構(gòu)建系統(tǒng)觀測空間,并按照模型規(guī)則對系統(tǒng)的狀態(tài)空間進(jìn)行更新。系統(tǒng)流程圖如圖1所示。
《白皮書》顯示,全國年輕家庭母嬰用品月均花費(fèi)達(dá)1294元,較2016年增長48%,高級(jí)別城市花費(fèi)更多。但隨著租房成本上升,局部母嬰消費(fèi)市場還是呈現(xiàn)出了明顯的“消費(fèi)降級(jí)”趨勢。然而,絕大多數(shù)父母并不愿意在“食品”上動(dòng)刀,而選擇把減少開支的矛頭指向“親子游”“玩具”等非必需品。
圖1 WiFi/PDR融合定位算法流程圖
PDR定位算法根據(jù)行人狀態(tài)(位置、航向角等)的變化,實(shí)時(shí)累積計(jì)算行人的位置[15]。在二維平面內(nèi),行人的運(yùn)動(dòng)軌跡可以通過步長和方向角計(jì)算得到。已知在第k-1步的坐標(biāo)為 (Ek-1,Nk-1),則在第k步的位置坐標(biāo)為
(9)
式中,dk-1為第k-1步到第k步間的行走步長;θk-1為第k-1步的航向角。通過式(9)可以推算出每一步的狀態(tài)信息。
在步頻檢測上,PDR采用峰值檢測法,通過檢測加速度計(jì)輸出信號(hào)的波峰來識(shí)別行人步數(shù)。在波峰搜索時(shí),兩個(gè)連續(xù)波峰即被確定為一步[16]。本文通過Weinberg步長估計(jì)模型[17]來推算行人步長
(10)
式中,C為步長比例因子;amin和amax分別是行人行走一步時(shí)所檢測到的最小加速度和最大加速度。
在基于WiFi/PDR的融合定位系統(tǒng)中,不同傳感器的數(shù)據(jù)采集頻率不同。PDR所依賴的慣性傳感器采樣頻率可以達(dá)到幾十赫茲,例如iOS平臺(tái)的頻率為50 Hz,Android平臺(tái)的頻率為100 Hz。PDR的定位結(jié)果以每一步作為一個(gè)狀態(tài),因此與步頻一致,約為0.5~2.0 Hz。由于WiFi信號(hào)采樣頻率較低,大約為2 Hz,且頻率固定,因此在進(jìn)行WiFi與PDR的數(shù)據(jù)融合前,需要對其進(jìn)行時(shí)間對準(zhǔn)處理[17]。WiFi與PDR數(shù)據(jù)采集頻率的差異如圖2所示。
圖2 WiFi與PDR采樣頻率示意圖
常見的時(shí)間配準(zhǔn)方法是以最低頻率數(shù)據(jù)為基準(zhǔn),將高頻率數(shù)據(jù)進(jìn)行低頻轉(zhuǎn)換。在所涉及定位系統(tǒng)中,行人的步行頻率為0.5~2.0 Hz。為了保留行人行走步伐中的有效信息,應(yīng)當(dāng)采用PDR信息的采集頻率。與在數(shù)據(jù)預(yù)處理階段進(jìn)行時(shí)間配準(zhǔn)的方法不同,本文按照如圖3所示的流程在融合階段進(jìn)行時(shí)間配準(zhǔn)。
圖3 融合定位算法流程圖
由圖3可知,只有在WiFi數(shù)據(jù)更新時(shí)才能通過EKF算法進(jìn)行數(shù)據(jù)融合;在WiFi數(shù)據(jù)未更新時(shí),定位終端的WiFi記錄值保留了上一狀態(tài)的數(shù)據(jù),該信息無法對定位結(jié)果進(jìn)行校正,而PDR方法可以在較短的時(shí)間內(nèi)獲得相對準(zhǔn)確的定位結(jié)果,此時(shí)可直接將PDR方法輸出的結(jié)果作為最終位置。
通過式(11)計(jì)算得到用戶運(yùn)動(dòng)時(shí)在第k步所對應(yīng)的系統(tǒng)狀態(tài)矩陣X′k。
(11)
在完成EKF線性化與狀態(tài)初始化后,系統(tǒng)的先驗(yàn)估計(jì)為
X′k=AXk-1+W
(12)
P′k=APk-1AT+Q
(13)
卡爾曼增益矩陣可以表示為
Kk=P′kHT(HP′kHT+R)-1
(14)
根據(jù)觀測結(jié)果,更新系統(tǒng)狀態(tài)與協(xié)方差矩陣,系統(tǒng)后驗(yàn)估計(jì)為
Xk=X′k+Kk(Zk-HX′k)
(15)
Pk=(I-KkH)P′k
(16)
式中,A是作用在系統(tǒng)狀態(tài)Xk-1上的狀態(tài)變換矩陣;Q表示預(yù)測模型的噪聲;H是觀測模型矩陣,它將真實(shí)狀態(tài)空間映射成觀測空間;R表示觀測噪聲的協(xié)方差矩陣;P′k為先驗(yàn)估計(jì)誤差協(xié)方差矩陣;Pk為后驗(yàn)估計(jì)誤差協(xié)方差矩陣;I為單位矩陣;Kk為卡爾曼增益;Zk為系統(tǒng)的觀測變量。
為評估所提方法的性能,本文選取了本校電子電氣工程學(xué)院七樓整層作為實(shí)驗(yàn)場所。實(shí)驗(yàn)信號(hào)選用了校園網(wǎng)的WiFi信號(hào)接入點(diǎn),其布局情況如圖4所示,WiFi接入點(diǎn)隨機(jī)分布在不同的辦公區(qū)域內(nèi)。實(shí)驗(yàn)場所長約70 m,寬約25 m,是典型的室內(nèi)辦公環(huán)境。區(qū)域內(nèi)包括了展廳、師生辦公室、會(huì)議室等。實(shí)驗(yàn)定位終端采用華為榮耀8作為PDR和WiFi數(shù)據(jù)的采集工具。參數(shù)中的Dmin、Dmax、S分別被設(shè)為20、70和10,滑動(dòng)窗口初值SW0為10。
圖4 實(shí)驗(yàn)場景及AP分布平面示意圖
在WiFi指紋定位的離線階段,以0.8 m大小的方格為間隔,離線采集了整層樓的WiFi指紋數(shù)據(jù)并建立了WiFi位置指紋數(shù)據(jù)庫,將其存儲(chǔ)為JSON格式數(shù)據(jù)。
實(shí)驗(yàn)過程中,身高為170 cm、體重為70 kg的志愿者以固定姿態(tài)持握手機(jī)在定位系統(tǒng)測試區(qū)域正常行走。圖5中的帶箭頭實(shí)線為測試人員行走時(shí)的真實(shí)運(yùn)動(dòng)軌跡。
圖5 實(shí)驗(yàn)場景及真實(shí)軌跡示意圖
在實(shí)驗(yàn)中分別記錄了通過WiFi指紋定位與PDR方法所獲得的結(jié)果,并繪制了定位軌跡。此外,采用EKF算法獲得了融合定位軌跡,如圖6所示。
圖6 實(shí)驗(yàn)軌跡對比圖
由圖6可見,相較于其它方法的定位軌跡,融合定位軌跡更為平滑,也更接近行人的實(shí)際軌跡。WiFi定位雖能輸出絕對的估計(jì)位置,但其數(shù)據(jù)波動(dòng)較大,平均定位精度為3.42 m。PDR定位在短時(shí)間內(nèi)可保持良好的精確度,但隨著迭代次數(shù)的增加,累積誤差會(huì)越來越大,尤其在行人轉(zhuǎn)向時(shí),可能會(huì)產(chǎn)生較大的偏差,最終累積誤差為5.74 m。本文所提的改進(jìn)EKF算法能有效融合兩者的優(yōu)勢,其平均精度為2.27 m,精度提升較為明顯,表明該方法能提高最終的定位精度。
針對圖6中定位系統(tǒng)所估計(jì)的行人運(yùn)動(dòng)軌跡,圖7給出了對應(yīng)的誤差累積分布函數(shù)曲線。該誤差累積分布函數(shù)曲線進(jìn)一步分析了所提融合定位算法的運(yùn)行性能。由圖可見,以定位誤差小于3 m為例,WiFi指紋定位與PDR定位的誤差累積分布函數(shù)均不到60%,而基于所提融合定位算法的定位誤差累積分布函數(shù)達(dá)到了80%,可見所提基于EKF的融合定位算法對定位精度有較明顯的提升作用,其結(jié)果也優(yōu)于單一定位系統(tǒng)的定位性能。
圖7 定位誤差累積分布函數(shù)
為實(shí)現(xiàn)室內(nèi)行人的實(shí)時(shí)定位,本文提出了一種基于EKF的WiFi/PDR融合定位算法。在WiFi定位的在線階段提出了一種自適應(yīng)滑動(dòng)窗口的指紋匹配方法,從而保證結(jié)果能快速收斂,提高了定位系統(tǒng)的計(jì)算性能。在融合定位階段,本文結(jié)合了EKF與PDR的系統(tǒng)特性來解決時(shí)間配準(zhǔn)問題。結(jié)果表明,該系統(tǒng)在實(shí)際定位場景中具有較高的運(yùn)行效果與穩(wěn)定性。然而,本文也存在一定的局限性,目前的實(shí)驗(yàn)均采用了固定的行人手持終端姿態(tài),該情況不足以代表真實(shí)的應(yīng)用場景。在未來的研究工作中,將設(shè)計(jì)更適用于當(dāng)前軟硬件框架的定位方法,同時(shí)也會(huì)考慮復(fù)雜行人行走姿態(tài)對系統(tǒng)輸出結(jié)果所造成的影響。