周芷芃 韋再雪
北京郵電大學 北京 100876
隨著近幾十年來智能手機與各種無線設備的大規模使用,產生了包括室內定位在內的一系列新的服務。室內定位即在室內環境下獲取某設備或用戶的位置,是物聯網的重要基礎技術之一,物聯網中有許多基于位置的服務(Location Based Services,LBS)都需要依靠室內定位實現。
在室外場景,全球導航衛星系統能對設備定位并得到較精確的結果。但在室內環境下,多徑效應和復雜的環境會導致接收的信號干擾嚴重,需要使用新的室內定位系統(Indoor Positioning System,IPS)完成定位。室內的環境是復雜多變的,房間的布局、大小、室內的障礙物等因素都會對定位結果產生影響,因此IPS需要對環境具有適應性,能應對各種復雜的室內環境。
目前已有許多無線技術用于室內定位,如Wi-Fi、ZigBee、可見光通信等[1],這些系統都在某些方面存在缺陷,如硬件成本昂貴、高功耗、部署復雜等。近幾年來使用低功耗藍牙(Bluetooth Low Energy,BLE)技術逐漸在室內定位中流行起來。BLE是短距離、低成本、可互操作性的無線技術,它從一開始就被設計為超低功耗無線技術,與傳統藍牙相比,BLE減少了廣播頻段和廣播時射頻的開啟時間,設計了深度睡眠狀態,改進了連接機制,因此最大限度地降低了功耗。低功耗是BLE相比于其他無線技術的最大優點之一,此外BLE還具有低成本、易于部署等優點[2],目前許多基于距離的服務和LBS都是用BLE信標實現的。
除了使用的無線技術外,已有的室內定位算法也有很多種,如基于測距的TDOA/TOA定位、基于角度的AOA定位、基于特征匹配的指紋定位等[3],基于測距和角度的定位算法通過求解坐標方程的最優解得到定位結果,指紋定位則采取對比的方法。在現有的研究中,UWB網絡多使用TDOA/TOA定位,在理想環境下定位精度可達1m以下,但在非視距徑和復雜環境下性能嚴重下降,Wi-Fi和BLE技術在使用時相似,其性能與接入點個數有關,使用指紋定位時精度在3~5m,與3GPP R17提案中室內場景的5G蜂窩網絡定位精度接近,在最新的藍牙5.1版本中,藍牙技術支持信號角度的測量[4],意味著之后藍牙也可支持AOA定位。
總的來說,BLE技術在室內定位具有巨大潛力,但目前的BLE定位方案大多是基于測距的且實測結果很少,因此本文將貝葉斯濾波技術引入BLE指紋定位中,通過濾波器提升定位時測量特征值的準確性以改善定位性能,并在高干擾環境下實測了數據以檢驗濾波器對定位結果的影響。
本文以均值濾波作為比較基準,研究了兩種貝葉斯濾波技術對室內BLE指紋定位精度的影響。首先在給定場景采集建立了接收的信號強度指示(Received Signal Strength Indication,RSSI)指紋庫,然后在移動端接收數據并通過卡爾曼濾波和粒子濾波進行定位并將其與均值濾波結果做對比以檢測濾波器對定位性能的提升。本文同時還探究了用于定位的BLE信標個數對定位性能的影響,分別測試了信標個數為3、4、5時定位的精度。
指紋定位法是IPS的主要解決方案之一,它把實際環境中的位置和某種獨特的指紋聯系起來,建立特征數據庫,然后把感應到的信號特征拿去匹配數據庫中的信號特征,得到一個最優的匹配位置[5]。室內環境下信號的多徑效應嚴重,使用單次的信號特征定位誤差較大,可以用濾波器處理一段連續的信號特征序列以獲得一個穩定、準確的信號特征來解決這個問題。
指紋定位的基本思想是利用接收到的信號與預先構造的位置指紋庫進行匹配,以實現對目標設備的定位。指紋定位通常使用RSSI或信道狀態信息作為信號特征,使用RSSI作為指紋較為簡單且RSSI易于獲得,因此本文使用BLE作為接入點(Access Point,AP),采用RSSI建立指紋庫。
RSSI指紋定位包含兩個步驟,首先在預先設好的參考點(Reference Point,RP)進行采樣,記錄這些點的坐標和對應每個信標的RSSI值并將它們存儲起來作為定位時的指紋庫。

前文所述為使用一組實時的RSSI對終端定位,不需要該時刻之前的RSSI,在實際應用時,由于室內環境復雜,多徑效應嚴重,設備接收的RSSI通常不穩定,會有較大的波動。為了提高定位性能常常會使用一段時間內的RSSI序列定位,用濾波器處理后的RSSI序列較穩定、準確,可以得到比較理想的定位結果。
影響指紋定位精度的主要因素有兩個——指紋庫的分辨率和測量RSSI的準確性。指紋庫的分辨率和指紋點的間隔、室內環境、使用BLE信標的個數及拓撲有關,信標擺放應盡量散開以提高指紋庫的分辨率。RSSI的準確性則與使用的濾波器性能有關,因此本文實測了幾種濾波器以及BLE信標數量對指紋定位精度的影響。
均值濾波是一種廣泛使用的最簡單的濾波手段,常常作為其它濾波器性能的比較基準,濾波器將前N個時刻的輸入均值作為該時刻的輸出[7]

卡爾曼濾波(Kalman Filtering,KF)是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。它是一種連續貝葉斯估計方法,用于確定多變量系統的最優最小均方誤差估計[8]。在我們的場景里,它可以利用收到的噪聲RSSI序列來估計隨著時間的推移真實的RSSI序列。




在本文的定位場景里狀態序列即RSSI序列,預測和測量的噪聲都看作高斯噪聲。
如圖1(a)所示,實驗在大小7.6m×7.2m的房間內進行,房間為一般辦公環境,擺放桌椅且桌面物品較多,信號干擾較強。為了探究BLE信標個數對定位性能的影響,實驗測試了信標個數為3、4、5時指紋定位的精度,如1(b)所示,3個信標定位時使用B1、B2、B5;4個信標定位時使用B1、B2、B3、B4;5個信標定位時使用圖中所有的信標。信標擺放高度約為2m,懸掛在墻面上,指紋庫共包含7x6個AP,每個AP間隔1.2m。實驗使用的BLE信標為智石MAX iBecaon,使用藍牙4.2協議,所有的信標發射功率設置為0dBm,發射間隔為211.25ms。

圖1 測量環境
建立指紋庫時移動設備的高度約為1m,用預先開發的手機應用收集BLE信號并解析相應的RSSI值,每個指紋點采集約50個數據組以確保測量的一般性,每組包含相應的3、4、5個BLE信標的RSSI值(對應用于定位的BLE信標數量分別為3、4、5),將50組數據的平均值作為該點的RSSI指紋存儲在數據庫中。定位時隨機選取了20個坐標,在每個坐標處采集40個RSSI數據組并使用不同的濾波器得到定位結果。
如圖2所示,使用不同濾波器時定位誤差的CDF曲線,使用3個BLE信標定位時PF表現最好,在80%的測試中誤差在2.43m以下;KF次之,在80%的測試中誤差在2.71m以下,相比于不使用濾波器時80%的概率誤差在3.71m以下性能有較大提升。使用4個和5個BLE信標定位時各濾波器的累積分布函數(Cumulative Distribution Function,CDF)曲線在80%概率處的值相近,分別約為2.4m和2.2m。如圖3所示,使用不同數量BLE信標時定位誤差的CDF曲線,使用KF和PF濾波時隨著使用BLE信標數量的增加,定位性能均有改善。

圖2 不同濾波器的誤差CDF曲線

圖3 不同BLE信標數量的誤差CDF曲線
表1和表2分別為使用不同數量BLE信標和濾波器時定位結果的均方誤差(Root Mean Squard Error,RMSE)和絕對誤差(Mean Absolute Error,MAE)。使用3個BLE信標和5個BLE信標定位時PF的表現最佳,KF次之;使用4個BLE信標定位時均值濾波和PF的性能相近。

表1 不同濾波器和信標數量時的誤差RMSE/m

表2 不同濾波器和信標數量時的誤差MAE/m
實驗表明使用濾波器可以很大程度上提高指紋庫定位性能,尤其在使用3個BLE信標時最為突出。各濾波器中PF的表現最佳,在各種測試條件下性能指標均為最優,這與PF是基于最大后驗概率準則而KF是基于最小均方誤差準則有關,在誤差非線性分布時最大后驗概率準則能起到更好的判決效果。強干擾環境下不使用濾波技術時室內定位結果并不理想,在使用5個BLE信標時的RMSE為2.26m(約1.88倍AP間隔),用PF改進后達到了1.75m(約1.46倍AP間隔)與低干擾情況下室內指紋定位的一般水平相平。增加定位用的BLE信標數量也能提升定位精度,在由BLE信標數量4個提升到5個時較為明顯。信標個數為3、4、5時的實驗結果已經能說明這一點,因此本文沒有進一步增加信標數量做實驗。
總體來說,在BLE指紋定位中使用濾波技術是很有必要的,即使是最簡單的均值濾波也可提升超過20%的定位精度,使用高性能的PF時可以提升約30%的定位性能,實際應用時如場景需求高定位精度可以使用PF,否則可以使用復雜度低的均值濾波。部署BLE時也應均衡性能與成本,根據定位精度的需求將信標個數設置為合適的值。
室內環境復雜且多徑效應嚴重,難以達到高定位精度,因此需要使用濾波器減小RSSI的誤差。本文研究了使用貝葉斯濾波器和增加BLE信標數量對室內定位精度的影響,實測結果表明使用濾波器可以很大程度改善定位性能,粒子濾波表現最佳。增加BLE信標的數量時定位性能也有提升。本文的定位方案可以減小定位時測量RSSI的誤差,但在獲取了精確RSSI之后如何匹配指紋庫中的參考點沒有做深入研究,僅僅采用了最小歐氏距離匹配,在后續研究中可以加入匹配算法對方案改進以實現更高的定位精度。同時BLE的拓撲結構對定位性能也有影響,也是可以展開的研究點。