一种基于高斯和滤波的蓝牙信标室内定位算法
2021-08-07严志
严志
(长沙民政职业技术学院 软件学院,长沙 410004)
0 引 言
基于位置的服务是物联网(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 值进行平滑处理,滤除一些异常值;最后,通过匹配,估计用户位置.
1 网络模型
将整个定位区域A×A划分M个正方形网格.用Gl表示网格l,且1 ≤l≤M.每个网格区域的中心为离线的训练点,如图1 所示.
图1 网格模型
在定位区域内部署N个BLE 信标,通过训练各训练点的RSSI 信号强弱,形成各训练点的指纹地图.用户(定位目标)在定位区域进行移动,在线测量所接收的RSSI 值,再通过与指纹地图匹配,估计用户的位置.
2 GSF-IL 算法
GSF-IL 算法由离线训练和在线定位两个阶段构成.离线训练阶段,从各训练点训练BLE 信标的RSSI 值,并建立高斯混合(GM)模型,构建指纹地图;在线定位阶段,先在线测量RSSI 值,与指纹地图匹配,进而估计用户的位置.
2.1 离线训练阶段
首先收集各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 在线定位阶段
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 估计用户位置的框架
3 性能仿真与分析
3.1 仿真环境
利用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 仿真场景
3.2 RSSI 值的过滤性能
本小节分析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 值的波动.
3.3 定位的均方误差性能
本小节分析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 未能随迭代次数增加.
4 总 结
基于RSSI 的室内定位算法受到室内环境的信号多径衰落及波动.为此,本文提出基于GSF-IL 的算法.GSF-IL 算法将指纹地图数据与进行GM 模型处理,并结合GSF 和WD 距离将多分量的模型降至单高斯模型.通过计算离线阶段的概率分布与在线阶段的概率分布间的BD 距离,估计用户位置.仿真结果表明,相比于基于KF 的室内定位算法,GSF-IL 算法提高了定位精度.