引言
室内定位技术已广泛应用于商场导航、智能家居、人员搜救等领域,具有不可估量的商业价值和非常广阔的应用前景。全球导航卫星系统(GNSS)可以为室外定位提供良好的定位精度,然而在室内环境下卫星信号的衰减使得室内的位置信息获取困难,从而难以满足室内定位的需求。因此,如何实现室内环境下满足需求的定位服务成为了国内外研究的热点。在本文中,将介绍主流的室内定位技术——Wi-Fi指纹匹配定位。
Wi-Fi技术概述
Wi Fi即无线保真技术(Wireless Fidelity),其遵循IEEE 802.11系列通信协议。Wi-Fi技术通过提供无线局域网接口解决了移动终端和有线网络的连接,可以极大方便人们的生活。Wi-Fi技术具有覆盖范围广,实现成本低,信息传输快等优点,通过搜索室内环
境中的无线网络节点来进行人员定位、目标监控及跟踪等功能。
在无线局域网络中,部署好的AP能够以固定发射功率发送信号,接收设备可以通过周期性扫描得到射频信号携带的数据信息,数据信息主要包括AP节点的名字,硬件的MAC地址以及信号对应的RSSI(接收信号强度指标,Received Signal Strength Indicator)数据,可以用扫描采集到的这些信息来进行室内定位。
Wi-Fi指纹定位原理
Wi-Fi指纹定位是通过建立空间中Wi-Fi信号的特征与物理位置的映射关系来实现定位。在室内环境下,Wi-Fi信号传播过程经过直射、反射以及折射后形成与环境有关的信号特征,在室内不同的位置信号强度各不相同,如下图所示。每个位置都能接收到来自不同AP的信号RSSI。
因此,根据Wi-Fi信号强度数值不同的分布情况,通过采集各个位置坐标的信号,经过相应处理并进行特征提取,然后对特征数据进行训练并与其位置坐标之间形成映射以此来构建指纹数据库,在进行位置定位时只需要将实时采集数据和指纹数据库中的指纹特征进行匹配,即可估计出待测点的位置。如下图所示,Wi-Fi指纹定位算法流程包括离线信号采集和在线位置定位两个阶段。
(1)离线(Offline)信号采集阶段:首先在定位区域内选取一些固定位置参考点,然后采集固定位置参考点能采集到AP的MAC地址对应的RSSI数据,预处理RSSI数据后,最后利用固定位置参考点的坐标,采集到AP的BSSID以及对应的RSSI数据构建指纹数据库。
(2)在线(Online)位置定位阶段:在相同的室内环境中采集待测点的RSSI数据,形成在线位置指纹,并将该指纹和指纹数据库中的指纹进行对比,通过选择的匹配算法从而得到待测点的位置坐标。
Wi-Fi定位方法
传统的在线匹配算法包括确定性的方法(deterministic)和概率性的方法(probabilistic)。
(1)确定性的算法使用相似性指标来区分在线信号测量和指纹数据,然后将目标定位在信号空间中最接近的指纹位,。欧氏距离、余弦相似度等指标已被用于信号比较。常用的方法包括:KNN(K近邻)、WKNN(加权K近邻)、SVM(支持向量机)、RF(随机森林)等。
(2)概率算法是基于目标信号测量和存储的指纹之间的统计推理,使用一个训练集,这些算法以最大的可能性找到目标的位置。常用的方法包括:贝叶斯网络、期望最大化、高斯过程等。
(上述方法较多,本文就不在赘述)
定位性能评价指标
评价室内定位算法性能时,常用的指标包括包括定位误差、平均定位误差、累计分布函数(Cumulative Distribution Function CDF)等等。
(1)定位误差
定位误差表示的是待测点实际位置和定位算法预测位置之间的欧式距离,在指纹位置定位中欧式距离公式如下:
(2)平均定位误差
平均定位误差是对𝑛次定位误差结果求取算术平均值,能够表征定位过程中的准确性。平均定位误差的计算公式如下:
(3)累积分布函数(CDF)
累积分布函数能够刻画出定位误差分布在某一个范围内的概率大小,公式如下:
累计分布函数曲线中横坐标代表定位误差,纵坐标表示当前定位误差下定位的准确率。由定义可知当曲线收敛的速度越快,定位算法的性能就越好,同时定位误差也相对较小。
实验代码
附上基于Wi-Fi指纹匹配的室内定位代码,里面已经包含了数据和相关算法,朋友们可以自行尝试哦~
Wi-Fi定位代码
参考文献
[1] S. He and S. . -H. G. Chan, “Wi-Fi Fingerprint-Based Indoor Positioning: Recent Advances and Comparisons,” in IEEE Communications Surveys & Tutorials, vol. 18, no. 1, pp. 466-490, Firstquarter 2016, doi: 10.1109/COMST.2015.2464084.