司明豪,汪云甲,徐生磊,刘 辉
(中国矿业大学 环境与测绘学院,江苏 徐州 221116)
随着基于位置服务需求的增加,国内外研究人员提出了很多基于不同技术的室内定位方法,例如基于UWB[1]、WiFi[2]、蓝牙[3]、计算机视觉[4]、惯导[5]、可见光通信[6,7]、射频信号[8]和地磁[9]。其中,基于WiFi的室内定位技术由于WLAN APs已广泛部设在建筑中,并且所有智能手机都可以连接而备受关注。基于WiFi的室内定位技术可以分为基于指纹库匹配的方法[10]和基于距离反演的方法这2种方法。基于指纹库匹配的方法定位精度在3~5 m,且需要构建并维护指纹库,耗费大量人力。基于距离的定位方法通过对接收信号强度与距离关系进行建模,得到距离的估计值,再通过最小二乘、三边定位等方法计算位置。但由于接收信号强度受设备异构性和非视距(NLOS)误差影响较大,很难构建出误差小且同时适用于视距(LOS)和NLOS两种情况的距离-信号强度模型,且仅通过接收信号强度又无法区分LOS和NLOS,基于距离的WiFi难以广泛使用。
但在2016年IEEE802.11发布了Fine Time Measured (FTM)协议[11],通过测量RTT计算距离,可以提供米级的定位精度,基于WiFi FTM测距的定位方法开始受到很多人的关注,但和很多其他的测距手段一样(例如UWB,GPS),基于WiFi的测距精度也受NLOS误差影响。文献[12]融合PDR,计算通过PDR得到的坐标和WiFi AP的坐标间的距离,依据距离值分别对LOS和NLOS两种情况建立高斯模型,并用二分类来识别结果。但NLOS的信号衰减大小受阻隔物的材质、厚度等多种因素影响,本文方法设置单一的信号衰减来给所有的NLOS情况建模,普适性较差。文献[13]将多个测距结果进行随机组合并对比不同组合的残差实现LOS和NLOS的识别。文献[14]基于同一WiFi AP发出的2.4,5 GHz信号,在LOS和NLOS两种情况下RSSI差值存在较大差异的现象,通过判断二者差值来识别NLOS和LOS。由于新的WiFi FTM仅发送单频信号,且阈值的设置对判定结果影响较大,普适性较差。
本文设计了一种基于WiFi FTM的LOS/NLOS识别定位方法。通过构建LOS/NLOS识别模型,计算定位结果前,剔除了来自NLOS的测距结果,提高了测距精度。
WiFi FTM协议使用了Time of Flight (TOF)Echo技术,使基于往返时间的WiFi测距更加方便[16]。通过WiFi FTM脉冲信号从移动端到WiFi AP基准站的往返时间可以确定二者之间的距离。WiFi FTM测距过程如图1所示,用硬件支持且安卓版本高于9.0的手机作为移动端向支持802.11mc协议的WiFi设备发送一个FTM请求。随后WiFi设备接收FTM请求后,返回一个ACK信号给移动端,其模型为:
图1 WiFi FTM 测距过程Fig.1 WiFi FTM ranging process
(1)
式中,tround,ttrip为流动站FTM请求信号的发送时间和响应信号的到达时间;Pr为流动站在发送请求信号时刻的位置;Pb为基准站接收到请求信号时刻的位置;td为流动站和基准站之间的标准时间偏差;eNLOS为NLOS误差所造成的时间延迟;c为光速。那么,流动站与基准站间的距离为:
(2)
式中,drtt为RTT的测距结果;dD为标准时间偏差造成的测距误差;dNLOS为NLOS误差所造成的测距误差。标准时间偏差所造成的测距误差dD不仅包括脉冲信号在流动站和基准站中的固定时延误差、器件误差和逐次启动误差,而且还与脉冲信号传播的距离、温度等外界环境有关[15],模型可表示为:
dD=cn+φ(s)+en,
(3)
式中,cn为固定时延误差、器件误差、逐次启动误差和外界环境所造成的常值误差项;φ(s)为不同测距距离形成的误差,可以看作是与距离s构成的多项式函数;en为系统噪声。由此可知,需要逐一对设备进行标定,确定每个基准站和流动站间的标准时间偏差误差项,获得更精确的RTT测距信。
本文定位算法流程如图2所示。
图2 定位算法流程Fig.2 Flow chart of positioning method
采集多个WiFi AP的测距结果和信号强度值,将信号强度和测距结果输入LOS/NLOS识别模型,模型对所有WiFi AP进行筛选,选出其中的LOS信号,如果LOS的数量N大于定位所需的最少信号数,则用筛选后的数据作为单点定位的输入,计算定位结果;若LOS数量小于定位所需的最少信号数,则将未筛选前所有的信号作为单点定位的输入计算定位结果。
在NLOS和LOS两种环境下,不同距离的测距结果和信号强度的对比如图3所示。实验人员将WiFi设备放在空旷走廊,等间距同时采集WiFi的信号强度和测距结果,后将WiFi设备放置在房间内、隔墙等间距采集信号强度和测距值。采样间距1 m,采样时间30 s,采样频率5 Hz,采集设备为Pixel3手机。红色实线和虚线分别为LOS和NLOS环境下的测距结果。蓝色实线和虚线分别为LOS和NLOS环境下的信号强度值。由图3可知,在LOS和NLOS情况下,采集到的测距结果相近,而信号强度却相差较大,下面具体描述基于该现象设计的LOS/NLOS识别方法。
图3 不同距离下的测距结果和信号强度Fig.3 Ranging results and signal strength at different distances
依据文献[16-17],WiFi信号衰减受阻隔物材质的影响差异较大,在复杂多变的室内环境,很难对NLOS情况下的RSSI进行建模,因此与文献[18-20]不同,本方法针对LOS环境进行建模。当LOS信号输入模型后,输出较大概率;当NLOS信号输入后,输出较小概率。依据文献[21],在固定点采集的WiFi信号强度可以用高斯模型来表示,因此建立高斯模型来计算当前信号为LOS信号的概率。
高斯模型如式(5)所示,模型参数由输入为移动端发出请求后返回的测距值确定,模型的输入为RSSI。依据极大似然法,参数μ为当前测距值情况下的RSSI均值,参数σ为当前测距值情况下的RSSI方差。该方法的模型参数μ,σ的计算将在下文详细讲述。高斯模型参数确定后,将RSSI输入高斯模型,输出该RSSI为LOS的概率并与阈值Θ进行对比,若概率大于阈值,该用户在LOS环境,小于则不在。
(4)
(5)
(6)
LOS/NLOS识别模型如图4所示。
图4 LOS/NLOS识别模型Fig.4 LOS/NLOS identification model
2.2.1 信号强度均值
μ为移动端和基站距离为d时的RSSI均值。依据信号距离关系:
(7)
真实距离和RSSI呈指数关系,因此用指数模型来拟合测距值和信号强度。
将WiFi设备放置在固定点,实验人员持手机在距离WiFi的23 m范围内,缓慢匀速沿直线行走,将采集到的测距结果和信号强度值作为训练数据。拟合实验结果如图5所示。
(a)单指数模型拟合
观测可见,12 m后的拟合效果不佳。通过计算0到不同距离的拟合结果的均方差(MSE)发现,0~15 m范围内,随着距离的增加,训练数据的增多,MSE减小;15~20 m后MSE变大,拟合效果不佳;20 m后均方差趋于稳定。因此对测距结果-信号强度模型进行改进,改为双指数模型计算μ:
(8)
分别对0~15 m,15~25 m两个范围内的数据进行拟合。经计算单指数模型的MSE为4.85 m,改进后的双指数模型MSE为4.15 m,双指数模型更符合测距-信号强度的关系。
2.2.2 信号强度方差
σ为移动端和基站距离为d时的RSSI方差。文献[12,22]将LOS环境内,不同距离的RSSI方差设为固定值,根据上面的分析,在不同距离RSSI方差不同,为此不同距离范围内接收信号强度方差如表1所示。由表可以看出,随着距离的增加,接收信号强度的方差会逐渐减小,最后趋于稳定。因此,用指数函数来拟合距离和接收信号强度方差的关系。
表1 不同距离处RSSI均方差Tab.1 RSSI mean square error at different distances
由于测距结果通常不相同,无法在某一测距处获得大量信号强度数据,将0至最大测距值的向上取整数值区间,等间距分割,间距为0.5。然后所有的训练数据根据其测距结果放入对应的区间,计算每个区间内所有测距值的平均数,将平均数作为距离-方差模型中的距离值。用如下2种方法确定距离一定情况下的信号强度方差:
① 依据方差计算式(6),直接计算各个区间所有信号强度的方差。
② 统计该区间的所有出现的信号强度,并计算各个信号强度的出现概率,将概率和对应的信号强度进行高斯回归,将高斯模型的σ作为当前距离的σ。各距离σ确定后,对距离-σ进行拟合,生成σ的计算公式。
2种方案的计算和拟合结果如图6所示。红点为各个区间测距向量及其对应由方法①计算得到的方差,蓝点为各个区间测距向量及其对应由方法②计算得到的方差。红色实线为方法①的距离-方差拟合曲线,蓝色实线为方法②的距离-方差拟合曲线。由图可以看出,在同一距离处方法②计算得到的方差均高于方法①得到的方差,这可能是由过拟合导致的。在0~4 m范围内,方案②的方差均高于15,由表1可知,由钢筋混凝土造成的信号衰减大约为15 dBm,当方差高于15 dBm时,LOS和NLOS输出概率相似,难以通过设置阈值准确判断,因此此处采用方案①计算方差,拟合测距结果-方差,得到方差计算模型。
图6 拟合结果Fig.6 Fitting results
本小节分别介绍LOS/NLOS识别模型和论文定位方法的测试结果。
对本文设计的LOS/NLOS识别模型进行测试。在走廊放置一个WiFi AP,实验人员手持移动端放置在身前高约1.3 m处,分别在实验区域的走廊、房间中正常行走,采集并记录所有接收到的AP的测距结果和信号强度。将采集到的数据导入Matlab中进行仿真实验。实验中,用于模型参数拟合的数据共1 800个,测试数据6 560个,其中LOS的测试数据个数为3 280,非视距的测试数据个数为3 280。训练数据和测试数据采集时间相隔一天,且训练数据不参与测试。
查准率实验结果如图7和图8所示,其中图7为在不同距离区间的查准率,图8为查准率的累计分布图。经计算平均查准率为83.01%,均方差为0.19,所有距离处的查准率均高于70%,查准率低于85%的占9.09%,低于95%的占15.15%。该方法在部分区域查准率较差,这可能是由于空间距离和信号强度拟合模型在该段区域拟合效果较差导致的。
图7 不同距离的查准率Fig.7 Precision of different distances
图8 查准率的累积分布Fig.8 Cumulative distribution of precision
图9 不同距离的查全率Fig.9 Recall rate of different distances
图10为查全率的累计分布图,横坐标为不同的查全率,纵坐标为大于对应横坐标查全率的距离区间数占距离区间总数的百分比。蓝色柱状图的变换趋势和红色折线的变化趋势大致相同,且在大多距离区间内,模型识别准确率和平均输出概率相近,可见θ的设置数值的能较好地区分LOS和NLOS。经计算平均查准率为74.97%,均方差为0.2,查准率高于60%的占75.76%,高于80%的占48.48%。
图10 查全率的累计分布Fig.10 Cumulative distribution of recall rate
本小节介绍基于RTT的LOS/NLOS识别定位方法的实验过程和实验环境。实验环境如图11所示,包括2个相邻房间和一条长走廊,房间总长19.05 m,宽5.83 m,走廊长19.51 m,宽1.74 m。共布设10个WiFi AP,被放置在高为1.3 m的三脚架上,2个房间各布设4个,走廊布设3个,位置在图中用红色五角星标出。WiFi AP采用的是Compulab公司生产的支持802.11mc协议的路由器,移动端使用谷歌的Pixel3手机,系统为安卓9.0,并且硬件支持WiFi FTM,可以获得周围AP的实时基于RTT的测距结果和信号强度。共有测试点197个,在图中用蓝色方块表示,采样点间隔约为1.2 m,采样时间30 s采样频率1 Hz,分别进行2组实验来评估本文方法的定位性能。
图11 实验环境Fig.11 Experimental environment
第1组实验中,分别在东侧房间外布设不同数量的WiFi AP,仅采集东侧房间的67个测试点,然后分别使用利用全部测距结果的单点定位方法和论文方法进行定位。通过对比二者的平均定位精度,评估论文方法在不同NLOS信号数量下的定位性能。
在不同NLOS数的情境下,剔除NLOS和未剔除NLOS的定位精度,如图12所示。在无NLOS信号情况下,由于误判的存在,剔除NLOS的定位误差大于未剔除NLOS;而当加入NLOS后,剔除NLOS的定位误差小于未剔除NLOS,且随着NLOS信号数的增加,剔除NLOS的定位精度基本不变,而未剔除NLOS的定位误差开始变大。可见当存在NLOS的情况下,剔除NLOS定位性能优于未剔除NLOS。
图12 不同NLOS信号数下的定位误差Fig.12 Positioning error under different numbers of NLOS signals
第2组实验,采集所有测试点,用论文方法进行定位实验。并且将平均误差、最大误差和均方根误差作为评标方法的指标。
识别NLOS和未识别NLOS的定位结果在各个测试点上的平均定位误差如图13所示。
图13 平均定位误差Fig.13 Average positioning error
在195个测试点中,18个点剔除NLOS的定位误差大于未剔除NLOS,误差最大相差0.3 m,剩余的177个点的剔除NLOS的定位误差均小于未剔除NLOS的定位误差。
定位误差统计结果如表2所示。剔除NLOS的最大误差、中误差和均方根误差均小于未剔除NLOS。可见剔除NLOS的定位效果明显优于未剔除NLOS。
表2 定位误差Tab.2 Positioning error 单位:m
剔除NLOS和未剔除NLOS的误差统计图如图14所示。在所有距离剔除NLOS的定位表现均优于未剔除NLOS。
图14 累计误差分布图Fig.14 Cumulative error distribution chart
由第1组实验可以看出,在不同数量的NLOS情况下,IDA-未剔除NLOS定位精度均优于未剔除NLOS。由第2组实验可以看出,剔除NLOS的定位精度更高,定位精度提高了约0.3 m,定位结果更加稳定,均方根误差减小了约0.45 m。
为了减少由NLOS造成的定位误差,提出了一种基于RTT的LOS/NLOS剔除定位方法。方法提出了一种LOS/NLOS识别模型,模型适用于大多数的室内环境,且模型的参数自适应确定。在识别和剔除NLOS信号后,用基于LS的单点定位算法进行定位。实验结果显示,论文的识别模型的平均查全率为83.01%,平均查全率为74.97%。定位结果的平均误差为0.935,且在不同NLOS数量情况下,定位精度均优于未剔除前。论文方法能剔除部分NLOS测距结果,有效提高了定位精度。但论文方法的识别模型的查全率不高,导致部分LOS信号在定位计算时被剔除,影响了定位精度。因此为了解决这个问题,地图匹配可以加入论文的方法中,减少误判。