(廣州杰賽科技股份有限公司,廣東 廣州 510310)
隨著信息技術的快速發展,基于位置信息的服務(LBS,Location Based Services)已經成為信息化產業的重要基礎,在移動互聯網、物聯網以及工業制造等領域發揮重要的作用。市場研究機構的分析數據[1]表明,室內定位市場規模的復合年增長率高達42%,在2020年將達到410億美元。高精度的室內定位技術作為LBS的關鍵技術之一,近年來也得到了廣泛的關注。
在室內定位場景中,基于Wi-Fi的定位技術是目前最為成熟的技術之一,在目前已經部署的室內定位系統中,約有一半采用了基于Wi-Fi的室內定位技術。典型的Wi-Fi定位技術主要包括基于傳播模型測距的定位技術、基于信號到達時間測距的定位技術,以及基于信號指紋的定位技術等三類。基于傳播模型測距的定位技術只適用于空曠的室內環境,如果室內環境復雜,間隔較多,會造成電波傳播衰耗差異很大,從而帶來較大的定位誤差。基于往返時間測距的定位技術則需要在信號的幀結構中添加時間標簽,需要基于特定的設備才能夠實現。基于指紋匹配的定位技術具有對環境適應性強,不需要對現網設備進行改動的特點,是當前室內定位系統采用的主流技術[2-6]。
對于指紋定位技術來講,主要面臨兩個方面的挑戰。首先,信號指紋特征提取以及匹配算法對指紋定位的精度會有很大的影響。受到室內環境的影響,電波在室內傳播時產生快衰落,造成接收信號在較短的時間范圍內發生較大的波動,如何構建信號指紋數據庫以及處理指紋匹配是現階段面臨的一個挑戰[7]。另外,由于室內人員流動頻繁,室內電波傳播過程會受到室內人員的阻擋,引起測量誤差,也會對定位的精度產生很大的影響。
針對當前室內定位技術存在的兩個問題,本文的主要貢獻是:提出一種基于最大似然估計與卡爾曼濾波的融合室內定位方法,首先采用最大似然估計進行定位,減小信號波動對定位結果的影響,然后再利用卡爾曼濾波算法對定位結果進行濾波處理,減小測量誤差對定位結果的影響,最后通過仿真驗證了所提算法的性能。
定位算法可以分為兩個階段:離線階段和在線階段,如圖1所示。在離線階段,首先在需要提供定位服務的區域按照一定的間隔設置多個參考點(RP),然后在每個RP上收集接收信號的強度,建立指紋庫。在在線階段,移動終端將采集到的各個接入點(AP)的接收信號強度信息發送給服務器,服務器通過特定的匹配算法將終端所發送的指紋信息與指紋庫中的數據進行匹配,從而完成對終端位置的估計。

圖1 指紋定位系統架構
在離線階段,在定位區域內共設置M個參考點{RPi,i=1,2…,M}上采集來自N個接入點{APi,i=1,2,…,N}的接收電平信息,構建指紋數據庫,指紋數據庫包含每個RP的接收信號均值與方差如式(1)、式(2)所示:



則測量點與參考點RPi之間的似然函數可以表示為:

將RP按似然函數從大到小進行排序,取前K個RP的位置Lk進行加權作為測量點的定位結果。每個RP的權值ωk計算方法如下:

為減小測量誤差對定位結果的影響,需要對定位結果進行濾波處理。參考文獻[9-11]中采用了粒子濾波的算法,然而粒子濾波算法需要大量的粒子才能達到較高的精度,算法的計算復雜度高,不能滿足實時定位需求。卡爾曼濾波[12]是一種最優的自回歸數據處理算法,它可以利用上一時刻的估計值和當前時刻的測量值求出當前時刻的估計值,得到具有最小均方誤差的估計結果[13]。相對于粒子濾波算法來講,具有計算效率高的優點。
卡爾曼濾波主要包括狀態預測與狀態更新兩個過程,如圖2所示。在預測過程中系統根據終端內置傳感器上報的運動狀態信息對當前位置進行估計,得到當前位置的先驗估計值以及方差;在更新過程中系統根據當前指紋定位的結果對先驗估計值進行性更新,得到當前位置的后驗估計值以及方差。

圖2 卡爾曼濾波器系統架構
卡爾曼濾波器的預測方程為:


式(10)~(12)中,Fk為卡爾曼增益,H為觀測矩陣,Zk為k時刻的位置測量值,R為測量噪聲的協方差矩陣,即上一節中最大似然估計算法定位結果的方差。

x,y表示終端的坐標,vx,vy表示終端在兩個坐標軸上的移動速度。
本文中將上一節基于最大似然估計算法得到的定位結果作為測量值Zk,則系統的測量矩陣可定義為:

某大廈二層的平面圖如3所示,樓層的長度為32 m,寬度為23 m,在該區域內共部署了6個AP,如圖3中的藍色標記,每個參考點之間的間隔為0.8 m,如圖3中的紅色標記所示,并采用文獻[8]中的射線跟蹤模型生成參考點的指紋。圖中的綠色標記表示終端的實際運動軌跡,分別采用最鄰近算法、最大似然估計算法以及卡爾曼濾波算法對終端的運動軌跡進行跟蹤。

圖3 仿真場景
圖4為x坐標軸位置仿真結果,圖5為y坐標位置的仿真結果。圖中的綠色曲線表示目標移動的實際位置(Real),青色曲線表示最鄰近算法的仿真結果(NN),藍色曲線表示最大似然估計算法的仿真結果(ML),紅色曲線表示經過卡爾曼濾波后的仿真結果(KF)。從圖中可以看出,采用最鄰近算法的所得到的軌跡的偏離度最大,最大似然估計算法采用指紋信號的統計特性作為判別準則,減小了指紋信號波動的影響,其定位結果要優于僅僅以指紋信號的歐式距離為判別準則的最鄰近算法。并且在經過卡爾曼濾波后,有效消除了測量噪聲的引起的抖動,使得定位的結果更加平滑,更加接近于實際的路徑。

圖4 跟蹤算法軌跡對比(一)

圖5 跟蹤算法軌跡對比(二)
三種算法的定位誤差CDF曲線如圖6所示。從圖中可以看出,在測量誤差為3 dB的情況下,最鄰近算法的定位誤差均值為1.19 m,最大似然估計算法的定位誤差均值為0.85 m,比最鄰近算法的性能提升了28.6%。而經過卡爾曼濾波的定位誤差均值為0.65 m,比最鄰近算法的性能提升了46.2%。

圖6 定位誤差CDF曲線
在室內環境下,人員流動是比較普遍的現象,人體阻擋、人流密度等因素都會對電波傳播產生影響,導致終端對接收電平的測量誤差,帶來定位誤差,因此有必要分析測量誤差對定位性能的影響。本文假設測量誤差在2~10 dB的情況下,對不同算法的定位誤差進行了仿真分析,仿真結果如圖7所示。從圖中可以看出,隨著測量誤差的增加,最大似然算法的定位誤差從0.77增加到1.48,卡爾曼濾波的定位誤差均值從0.65 m增加到 1.15 m,相對于最鄰近算法來講,平均性能分別改善了16.7%以及48.0%。

圖7 定位誤差仿真結果
本文提出了一種基于最大似然估計與卡爾曼濾波的室內目標跟蹤算法。首先采用最大似然估計算法預測終端的運動軌跡,消除AP信號波動對定位結果的影響,然后再通過卡爾曼濾波對預測結果進行濾波處理,消除測量噪聲對定位結果的影響,進一步提高定位的準確度。仿真結果表明,當測量誤差為3 dB時,最大似然估計算法的定位誤差均值為0.85 m,比最鄰近算法的性能提升了28.6%;經過卡爾曼濾波后的定位誤差均值為0.64 m,比最鄰近算法的性能提升了46.2%。并且在不同的測量誤差下對算法的定位誤差進行了仿真分析,所提算法比最鄰近算法性能提升了48.0%。
在采用最大似然估計進行指紋定位時,需要將測量到的信號與指紋庫中的指紋逐一進行比對,算法的效率不高。在未來的工作中,可以考慮對指紋庫的指紋進行聚類處理,按照相關度將指紋進行分類,以減少計算的復雜度,提高算法的效率。