基于区域限制的WiFi/PDR融合实时定位算法

2022-10-15 03:47胡文强胡建鹏
电子科技 2022年10期
关键词:信号强度指纹行人

胡文强,胡建鹏

(上海工程技术大学 电子电气工程学院,上海 201620)

作为位置服务手段,全球导航卫星系统(Global Navigation Satellite System,GNSS)拥有良好的定位效果和广泛的覆盖范围。然而,在空间结构复杂的室内环境下,由于GNSS信号被阻挡,无法进行精准的定位与导航服务。随着5G技术商业化发展,室内定位技术再度引起了广泛关注。对于基于位置服务(Location Based Service,LBS)的需求日益增加,这也刺激了室内定位系统和相关技术的快速发展[1]。

以WiFi为代表的室内定位技术可与GNSS形成有效的互补。相较于其它定位技术,WiFi定位能够有效利用现有公共服务场合下的硬件设施,在满足基本定位需求的同时,降低定位系统所需的成本。但由于WiFi信号在时域上具有波动性,因此仅靠单独的定位系统进行位置服务存在较大的局限性,无法充分利用WiFi系统所表现出的优势。针对该问题,可以将多种信号进行融合互补,例如可以将WiFi与惯性导航系统进行融合[2]。

为提高目前单一定位系统的性能,研究人员围绕有关WiFi与行人航位推算(Pedestrian Dead Reckoning,PDR)的定位系统展开了研究和讨论。文献[3]将惯性导航与WiFi指纹定位进行融合,设计完成了一套基于智能终端的绝对定位系统。文献[4]针对WiFi定位存在的回跳及点位重积等问题,通过PDR方法对其进行修正,采用渐消因子的自适应加权扩展卡尔曼滤波(Extended Kalman Filtering,EKF)算法对两种方法进行了松耦合。文献[5]提出了一种改进的指纹定位方法,并以此设计并实现了相应的定位系统原型,该系统能起到抗干扰的作用,具有良好的鲁棒性与可靠性。文献[6]在WiFi定位部分采用了一种改进的加权K-最近邻(Weighted K-Nearest Neighbor,WKNN)算法;PDR定位算法则使用了多重约束条件的步态检测和在线步长估计方法;最后将EKF作为WiFi和PDR定位的融合滤波器。文献[7]提出了一种基于自适应粒子滤波的室内行人WiFi 与PDR 组合定位算法,该算法能够通过自适应因子自动调节观测量对粒子分布的影响。

上述研究将WiFi定位与惯性导航技术应用到了室内定位系统中,并对系统的实时性、定位精度以及算法复杂度等进行了探讨。但是目前存在以下需要解决的问题:(1)WiFi指纹定位在线匹配的计算性能问题没有得到解决,这将导致定位系统无法进行实时定位;(2)在使用EKF算法时,融合阶段的多传感器融合部分没有针对时间配准问题的解决方案,导致系统无法进行有效的数据融合。基于以上问题和不足,本文在WiFi/PDR融合定位方法的基础上,提出了一种基于区域限制的自适应滑动窗口指纹匹配方法,并在融合定位部分结合了EKF与PDR的系统特性来解决时间配准问题。本文所提方法通过自适应窗口缩小了指纹匹配的范围,提高了定位系统的计算性能,同时能根据系统迭代过程中定位环境所反馈的信息进行动态调整,从而提高最终的定位精度。

1 改进的WiFi指纹定位算法

1.1 WiFi指纹定位原理

基于接收信号强度指示(Received Signal Strength Indicator,RSSI)的WiFi指纹定位方法可被分为两个阶段:采集RSSI数据建立指纹库的离线阶段和匹配定位的在线阶段[8-9]。

离线阶段通过移动终端收集特定WiFi的RSSI数据。首先对定位区域进行部署规划,利用一些地标信息将定位区域划分为不同网格。然后,将每个网格的顶点作为定位参考点,并将其中的特征信息(包括坐标信息、WiFi信号强度值、MAC地址等)作为一组指纹信息,从而可以得到一组位置指纹数据RP

(1)

式中,(xL,yL)为第L个参考点的位置;附属值代表在该参考点的RSSI数据,其中rssiLN表示在位置L接收到的第N个信号接入点数据。

在线阶段利用接收到的信号强度数据,通过匹配算法得到移动终端的位置。在该阶段中,采用WKNN算法作为指纹匹配方法。WKNN通过不同指纹节点的贡献比来给每条指纹分配权重,从而提高了原始K-最近邻(K-Nearest Neighbor,KNN)算法的运行精度[10]。WKNN经过多次选择,得到k条与未知点指纹相似度最小的指纹样本,从而得到未知点的估算坐标。

1.2 基于自适应滑动窗口的WiFi指纹定位

WiFi指纹定位可有效地利用现存的WiFi信号接入点,无需增设额外的定位基站。在真实情景中,信号接收终端在不同行走区域所采集到的WiFi列表存在连续变动的情形,不同位置采集到的信号总数与信号强弱均有所不同,因此无法依据预先指定的信号接入点的MAC地址来获取相应的RSSI数据,这给后续指纹匹配的实现带来了阻碍[11]。同时,在WiFi指纹定位的在线匹配阶段,位置的全局搜索会增加定位误差变大的概率,从而影响了算法最终的性能与复杂度。

为了解决上述问题,在指纹建库阶段,通过信号强度排列与列表交集来保留最能表征当前位置指纹的信号强度数据。在指纹匹配阶段,本文采用了一种基于自适应滑动窗口的WiFi指纹匹配方法以提高定位系统的定位精度与算法执行性能。具体的定位流程如下:

(1)离线阶段采集数据建立WiFi指纹库,将WiFi列表中的数据进行排序,并从中选取数值最大的M条信号强度数据,则位置L采集到信号数据可以表示为RSSIL(i)(0

(2)计算参考点L信号数据的交集,从而获取最接近真实值的位置信息,以此表征当前WiFi接入点的位置指纹数据

(2)

式中,M表示WiFi列表中的信号采样数目;RSSIL(i)表示第i条信号强度数据;

(3)对其中的每组信号强度数据,通过高斯函数拟合RSSI采样数据的分布状态,从而获得概率值最大的RSSI数据[12]。其中,RSSI值服从(μ,σ2)的高斯分布,其概率密度函数为

(3)

其中

(4)

(5)

式中,M表示获取交集以后的信号采样数目;

(4)在在线阶段采集RSSI信号,并与指纹库中的数据进行配对。根据信号强度数据的欧式距离设定滑动窗口的大小,从而增加指纹匹配的区域限制。根据指纹数据的欧氏距离获得滑动窗口SWk

(6)

式中,Dk表示相邻状态的信号强度数据的欧氏距离;[Dmin,Dmax]表示在一个稳定环境下Dk的取值范围;S表示WiFi定位方法的定位最大误差,其中Dmin、Dmax、S均被设置为经验值。

当k=0时,初始值SW0为常量,为WiFi指纹定位方法的最大误差;

当k≥1时,SWk由式(6)获得,Dk为

(7)

式中,RSSI(k)表示用户运动时,第k个状态对应的位置点所采集到的一组WiFi信号强度数据;

(5)在WKNN匹配算法执行过程中,以上一状态的定位坐标为基准,在搜索窗口大小为SWk×SWk的区域范围内选取距离最小的k个位置,位置的平均坐标即为最终的定位估计值

(8)

式中,x和y表示系统估计的定位坐标;xi和yi表示指纹匹配的可选位置;wi表示所选取第i个位置的权重。

2 基于EKF的WiFi/PDR融合定位算法

在基于扩展卡尔曼滤波的融合定位系统中,以一种或多种融合信息源构建状态空间。与此同时,通过其他定位信息源构建观测空间信息,由卡尔曼增益赋予测量值和当前状态估计值的相对权重,通过系统对不同参考信息进行调和以获得精准的定位性能[13-14]。在基于扩展卡尔曼滤波的融合定位过程中,系统首先以PDR方法构建状态空间,然后以WiFi指纹定位方法构建系统观测空间,并按照模型规则对系统的状态空间进行更新。系统流程图如图1所示。

《白皮书》显示,全国年轻家庭母婴用品月均花费达1294元,较2016年增长48%,高级别城市花费更多。但随着租房成本上升,局部母婴消费市场还是呈现出了明显的“消费降级”趋势。然而,绝大多数父母并不愿意在“食品”上动刀,而选择把减少开支的矛头指向“亲子游”“玩具”等非必需品。

图1 WiFi/PDR融合定位算法流程图

2.1 行人航位推算方法

PDR定位算法根据行人状态(位置、航向角等)的变化,实时累积计算行人的位置[15]。在二维平面内,行人的运动轨迹可以通过步长和方向角计算得到。已知在第k-1步的坐标为 (Ek-1,Nk-1),则在第k步的位置坐标为

(9)

式中,dk-1为第k-1步到第k步间的行走步长;θk-1为第k-1步的航向角。通过式(9)可以推算出每一步的状态信息。

在步频检测上,PDR采用峰值检测法,通过检测加速度计输出信号的波峰来识别行人步数。在波峰搜索时,两个连续波峰即被确定为一步[16]。本文通过Weinberg步长估计模型[17]来推算行人步长

(10)

式中,C为步长比例因子;amin和amax分别是行人行走一步时所检测到的最小加速度和最大加速度。

2.2 多源融合时间配准流程

在基于WiFi/PDR的融合定位系统中,不同传感器的数据采集频率不同。PDR所依赖的惯性传感器采样频率可以达到几十赫兹,例如iOS平台的频率为50 Hz,Android平台的频率为100 Hz。PDR的定位结果以每一步作为一个状态,因此与步频一致,约为0.5~2.0 Hz。由于WiFi信号采样频率较低,大约为2 Hz,且频率固定,因此在进行WiFi与PDR的数据融合前,需要对其进行时间对准处理[17]。WiFi与PDR数据采集频率的差异如图2所示。

图2 WiFi与PDR采样频率示意图

常见的时间配准方法是以最低频率数据为基准,将高频率数据进行低频转换。在所涉及定位系统中,行人的步行频率为0.5~2.0 Hz。为了保留行人行走步伐中的有效信息,应当采用PDR信息的采集频率。与在数据预处理阶段进行时间配准的方法不同,本文按照如图3所示的流程在融合阶段进行时间配准。

图3 融合定位算法流程图

由图3可知,只有在WiFi数据更新时才能通过EKF算法进行数据融合;在WiFi数据未更新时,定位终端的WiFi记录值保留了上一状态的数据,该信息无法对定位结果进行校正,而PDR方法可以在较短的时间内获得相对准确的定位结果,此时可直接将PDR方法输出的结果作为最终位置。

2.3 基于扩展Kalman滤波的融合定位算法

通过式(11)计算得到用户运动时在第k步所对应的系统状态矩阵X′k。

(11)

在完成EKF线性化与状态初始化后,系统的先验估计为

X′k=AXk-1+W

(12)

P′k=APk-1AT+Q

(13)

卡尔曼增益矩阵可以表示为

Kk=P′kHT(HP′kHT+R)-1

(14)

根据观测结果,更新系统状态与协方差矩阵,系统后验估计为

Xk=X′k+Kk(Zk-HX′k)

(15)

Pk=(I-KkH)P′k

(16)

式中,A是作用在系统状态Xk-1上的状态变换矩阵;Q表示预测模型的噪声;H是观测模型矩阵,它将真实状态空间映射成观测空间;R表示观测噪声的协方差矩阵;P′k为先验估计误差协方差矩阵;Pk为后验估计误差协方差矩阵;I为单位矩阵;Kk为卡尔曼增益;Zk为系统的观测变量。

3 算法验证与分析

为评估所提方法的性能,本文选取了本校电子电气工程学院七楼整层作为实验场所。实验信号选用了校园网的WiFi信号接入点,其布局情况如图4所示,WiFi接入点随机分布在不同的办公区域内。实验场所长约70 m,宽约25 m,是典型的室内办公环境。区域内包括了展厅、师生办公室、会议室等。实验定位终端采用华为荣耀8作为PDR和WiFi数据的采集工具。参数中的Dmin、Dmax、S分别被设为20、70和10,滑动窗口初值SW0为10。

图4 实验场景及AP分布平面示意图

在WiFi指纹定位的离线阶段,以0.8 m大小的方格为间隔,离线采集了整层楼的WiFi指纹数据并建立了WiFi位置指纹数据库,将其存储为JSON格式数据。

实验过程中,身高为170 cm、体重为70 kg的志愿者以固定姿态持握手机在定位系统测试区域正常行走。图5中的带箭头实线为测试人员行走时的真实运动轨迹。

图5 实验场景及真实轨迹示意图

在实验中分别记录了通过WiFi指纹定位与PDR方法所获得的结果,并绘制了定位轨迹。此外,采用EKF算法获得了融合定位轨迹,如图6所示。

图6 实验轨迹对比图

由图6可见,相较于其它方法的定位轨迹,融合定位轨迹更为平滑,也更接近行人的实际轨迹。WiFi定位虽能输出绝对的估计位置,但其数据波动较大,平均定位精度为3.42 m。PDR定位在短时间内可保持良好的精确度,但随着迭代次数的增加,累积误差会越来越大,尤其在行人转向时,可能会产生较大的偏差,最终累积误差为5.74 m。本文所提的改进EKF算法能有效融合两者的优势,其平均精度为2.27 m,精度提升较为明显,表明该方法能提高最终的定位精度。

针对图6中定位系统所估计的行人运动轨迹,图7给出了对应的误差累积分布函数曲线。该误差累积分布函数曲线进一步分析了所提融合定位算法的运行性能。由图可见,以定位误差小于3 m为例,WiFi指纹定位与PDR定位的误差累积分布函数均不到60%,而基于所提融合定位算法的定位误差累积分布函数达到了80%,可见所提基于EKF的融合定位算法对定位精度有较明显的提升作用,其结果也优于单一定位系统的定位性能。

图7 定位误差累积分布函数

4 结束语

为实现室内行人的实时定位,本文提出了一种基于EKF的WiFi/PDR融合定位算法。在WiFi定位的在线阶段提出了一种自适应滑动窗口的指纹匹配方法,从而保证结果能快速收敛,提高了定位系统的计算性能。在融合定位阶段,本文结合了EKF与PDR的系统特性来解决时间配准问题。结果表明,该系统在实际定位场景中具有较高的运行效果与稳定性。然而,本文也存在一定的局限性,目前的实验均采用了固定的行人手持终端姿态,该情况不足以代表真实的应用场景。在未来的研究工作中,将设计更适用于当前软硬件框架的定位方法,同时也会考虑复杂行人行走姿态对系统输出结果所造成的影响。

猜你喜欢
信号强度指纹行人
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
毒舌出没,行人避让
为什么每个人的指纹都不一样
路不为寻找者而设
我是行人
唯一的指纹
钻铤对随钻电磁波测井信号的影响分析
TETRA数字集群通信系统在露天矿山的应用
可疑的指纹
以WiFi和ZigBee联合定位的消防灭火救援系统