嚴志
(長沙民政職業技術學院 軟件學院,長沙 410004)
基于位置的服務是物聯網(IOT)的重要應用之一.基于位置的服務需給用戶提供位置信息,即定位.盡管GPS 已在室外定位獲得較優的定位精度,滿足室外基于位置的服務需求,但是由于室內物體對導航信號的遮擋,使得GPS 在室內環境的定位精度大幅度下降.因此,室內定位已為IOT 的研究熱點之一[1].
目前,大部分室內定位算法依靠在室內預先部署定位設備,例如,WiFi 定位[2-3]、射頻識別(RFID)定位[4-5]、超寬帶(UWB)測距的定位[6-7]以及低功耗藍牙(BLE)信標的定位[8-9].
藍牙信標定位原理是通過低功耗藍牙向移動終端設備發送自己特有的ID,終端掃描并解析出ID,實現基于室內位置的信息推送。BLE 信標具備發送信息的“信”功能和標明位置的“標”功能,可實現定位推送服務。
相比于WiFi 定位、RFID 定位、UWB 測距的定位算法,BLE 信標定位存在獨特的優勢,并得到廣泛應用.首先,BLE 信標定位無需額外的定位設備,用戶只需攜帶具有藍牙功能的終端設備,通用的手機都具有該功能;其次,BLE 信標定位可應用的智能手機平臺更廣泛,iOS 平臺和安卓平臺均可;最后,部署BLE 信標經濟,且功耗低.
依據定位策略的不同,BLE 信標定位算法可分為基于距離和信號指紋定位兩類.基于距離的定位算法是通過測量接收信號強度(RSSI)測距,但是由于室內環境對信號多徑衰落的影響,基于距離的定位算法定位精度較低.
相比之下,基于信號指紋定位更適應于室內環境.信號指紋定位算法首先在室內固定位置點測量不同信標的RSSI 值,再利用這些RSSI 值以其對應的位置信息建立指紋地圖(Fingerprints),再將在線測量的RSSI 值與指紋地圖匹配,進而估計用戶的位置[10].
然而,室內環境存在嚴重的多徑衰落,使測量的RSSI 值呈現復雜的非高斯特性.因此,基于信號指紋的BLE 信標定位需對測量的RSSI 值進行修正.為此,提出的高斯和濾波的藍牙信標室內定位(GSF-IL)算法.GSF-IL 算法首先在離線階段測量RSSI 值,構建信號指紋地圖;再通過在線階段的實時測量RSSI值,并對實時測量的RSSI 值進行平滑處理,濾除一些異常值;最后,通過匹配,估計用戶位置.
將整個定位區域A×A劃分M個正方形網格.用Gl表示網格l,且1 ≤l≤M.每個網格區域的中心為離線的訓練點,如圖1 所示.

圖1 網格模型
在定位區域內部署N個BLE 信標,通過訓練各訓練點的RSSI 信號強弱,形成各訓練點的指紋地圖.用戶(定位目標)在定位區域進行移動,在線測量所接收的RSSI 值,再通過與指紋地圖匹配,估計用戶的位置.
GSF-IL 算法由離線訓練和在線定位兩個階段構成.離線訓練階段,從各訓練點訓練BLE 信標的RSSI 值,并建立高斯混合(GM)模型,構建指紋地圖;在線定位階段,先在線測量RSSI 值,與指紋地圖匹配,進而估計用戶的位置.
首先收集各BLE 信標的RSSI 數據.令Rl為經過Gl網格的來自M個beacon 包的RSSI 值,其定義如式(1)所示:

式中:1 ≤l≤M;Rl中的列表示同一個訓練點從N個BLE 信標節點所接收的RSSI 值.
然后,將Rl中的RSSI 值構建成GM 模型.令P(Gl) 表示GM 分量.假定GM 模型由nc個高斯分量組成

值得注意的是,與現存的指紋地圖算法不同,GSF-IL 算法在離線階段是將與單一個網格Gl相關的RSSI 值構建成多元的GM 模型P(Gl),且1 ≤l≤M.
2.2.1 基于GSF 的后驗分布

2.2.2 基于瓦瑟斯坦距離的GSF
作為對稱的概率相似性測量指標,瓦瑟斯坦距離(WD)能夠降低轉換成本.利用WD 將式(9)降維成單高斯分布利用WD 距離將后驗分布P(xk?1|zk?1) 分解成通過計算建立預測階段:

再建立狀態矢量,對RSSI 值進行修正:

2.2.3 位置匹配
式(2)的概率分布反映的是離線階段的RSSI 值,即訓練階段的概率分布;式(6)反映的是在線階段的RSSI 值的概率分布.利用巴氏距離(BD)計算這兩個概率分布的距離,進而驗證了實驗位置的匹配.

最后,選擇具有最小BD 值的位置作為用戶位置的估計值,如式(16)所示:

估計用戶位置的框架如圖2 所示.首先在離線階段訓練模型,并推導式(2)的分布;在線階段收集BLE 信標的RSSI 值,并結合GSF 和WD 構建式(6)的概率分布.然后,計算這兩者概率分布間的BD 距離,最終,選擇具有最小BD 距離的位置作為用戶的估計位置.

圖2 估計用戶位置的框架
利用Castalia 軟件器建立仿真平臺.考慮1 0 m×10 m 的監測區域的四個角部署4 個BLE 信標.采用SKYLAB 研發的VG05 信標,如圖3 所示.VG05信標可連續廣播信標信號,如UUID、Major 以及RSSI 值等信息.發射功率在?20~4 dBm;數據速率為1 Mbps.

圖3 BLE 信標(VG05)
將1 0m×10m 區域劃分64 個正方形網格,如圖4所示.用戶手持具有能夠接收藍牙信號的手機,在監測區內移動,移動速度約1 m/s.此外,為了構建指紋地圖,在每個網格收集1 000 個RSSI 矢量.

圖4 仿真場景
本小節分析GSF-IL 算法利用高斯和濾波對RSSI 值的過濾作用.圖5 顯示了30 個位置所采取的RSSI 值.

圖5 RSSI 值的濾波前后對比
從圖5 可知,經濾波后的RSSI 數據較平滑.同時也保存了原始數據的變化趨勢.這說明經高斯和濾波實現了對RSSI 值的修正,降低了RSSI 值波動起伏.對圖5 的RSSI 值進行統計可得:原始數據的RSSI 值的平均數為?81.23,方差為20.53;濾波后的RSSI 值的平均數和方差分別為:?81.33、7.10.經濾波后,極大地降低了方差,濾除異常值,緩解了RSSI 值的波動.
本小節分析GSF-IL 算法定位精度的性能,選用位置估計的均方誤差(MSE)作為定位精度指標,其定義如式(17)所示:

式中:Nmax表示迭代次數;分別表示第k次迭代所估計的位置、真實位置.
選擇文獻[13]提出基于卡曼濾波的定位算法(KFLA)算法作為參照.圖6 給出KFLA 和GSF-IL算法在不同的迭代次數時的MSE 值.

圖6 KFLA 和GSF-IL 算法的MSE
從圖6 可知,相比于KFLA 算法,GSF-IL 算法有效地控制了MSE,提高了定位精度.最初,在迭代次數小于5 時,GSF-IL 算法的MSE 大于KFLA,但隨著迭代次數的增加,GSF-IL 算法的MSE 逐步減少,并收斂于接近于0.而KFLA 算法的MSE 未能隨迭代次數增加.
基于RSSI 的室內定位算法受到室內環境的信號多徑衰落及波動.為此,本文提出基于GSF-IL 的算法.GSF-IL 算法將指紋地圖數據與進行GM 模型處理,并結合GSF 和WD 距離將多分量的模型降至單高斯模型.通過計算離線階段的概率分布與在線階段的概率分布間的BD 距離,估計用戶位置.仿真結果表明,相比于基于KF 的室內定位算法,GSF-IL 算法提高了定位精度.