APP下载

NLOS环境下基于粒子滤波的动态更新信道模型定位系统

2020-01-14张殿臣魏国亮朱凯群

小型微型计算机系统 2019年12期
关键词:信道损耗行人

张殿臣,魏国亮,田 昕,朱凯群

1(上海理工大学 光电信息与计算机工程学院,上海 200093)2(上海理工大学 理学院,上海 200093)

1 引 言

基于无线传感器网络(wireless sensor networks,WSN)的室内定位系统已经在很多领域得到了广泛应用,如工厂仓库的工人和设备的监测,博物馆或购物中心的导游服务以及医院的患者定位等.实用的定位技术主要基于以下几种方式:到达时间(Time of Arrival,ToA)[1],达到时间差(Time Difference of Arrival,TDoA)[2],到达角(Angle of Arrival,AoA)[3]以及接收信号强度指示器(Received Signal Strength Indication,RSSI)[4-6].基于ToA、TDoA和AoA的定位方式需要额外的硬件设备,增加了成本[7].而基于RSSI的定位方式是一种简单且廉价的定位技术,更适合在WSN中使用.

基于RSSI的定位方法通常分为指纹识别[6,8,9]和基于信道模型[5,10-12]两种.基于信道模型的定位方法需要准确的信道模型以获得高精度的定位结果.然而,由于室内环境的动态特性,信号强度的衰减会发生很大变化,很难获得适用于所有情况的通用信道模型.

可以通过融合不同传感器信息的方法提升基于信道模型RSSI定位系统的定位性能.常用的惯性传感器价格低廉且不需要额外基础设施,特别是惯性传感器中隐含的姿态信息可以用来计算人体运动参数,然后借助于行人航位推算算法(Pedestrian Dead Reckoning,PDR)追踪行人的位置.文献[11,13,14]建议通过数据融合技术将其与RSSI系统融合.由于该系统的非线性特点,一般采用非线性滤波器,如扩展卡尔曼滤波器(extended Kalman filter,EKF)[15]、无迹卡尔曼滤波器(unscented Kalman filter,UKF)[16]和粒子滤波器(particle filter,PF)[17]来做数据融合.由于PF在高度非线性环境中具有更好的滤波性能和处理非高斯噪声影响的测量系统的能力,因此在定位系统中得到了广泛应用.然而,PF也存在不足之处,即粒子的多样性损失导致估计误差的增加,且单纯的融合定位系统也没有解决非视距(Non-Line-of-Sight,NLOS)环境下定位误差较大的问题.NLOS通常是由障碍物或墙壁遮挡通信信道引起的,在室内或建筑物内,环境更加复杂,更容易产生NLOS的情况.因此,如何在NLOS的影响下进行精确的室内定位成为了亟需解决的问题.本文采用PF来融合从RSSI和PDR获得的位置信息.为了防止粒子多样性的退化问题,在重采样阶段将其中一些粒子加入随机量,使权值无法聚集在少数乃至一个粒子上,提升了定位精度.而且,我们利用PF融合之后得到的位置信息,以迭代的形式持续更新信道模型的参数,实时模拟动态通信信道,使我们的定位系统在NLOS的环境下,依然可以精确的定位.

本文的贡献可以归纳为:1)在PF的重采样阶段,通过将其中一些粒子添加随机量的方式,使PF不会因粒子耗尽而陷入局部最优,引起定位误差的增大;2)在NLOS环境中实时跟踪信道模型中的路径损耗因子,进而获得NLOS下的信道模型,使系统在NLOS环境中仍可进行精确定位;3)在视距(Line-of-Sight,LOS)环境中,通过设定阈值的方式,减少因噪声引起路径损耗因子的波动问题.

2 定位系统描述

本文通过粒子滤波将RSSI定位系统与行人航位推算(PDR)系统相结合,实现精确的室内定位.

RSSI定位系统包含布置在已知位置的参考节点、由要定位的人或对象携带的移动节点以及负责上位机与移动节点通信的无线传感器网关.考虑了一个动态的室内环境,即信号的传输是在非视距(NLOS)条件下,移动节点测量每个参考节点的RSSI值,并通过网关将数据上传.

PDR系统通过采集惯导模块的加速度信息进行行人的步数检测与步长估计,再利用电子罗盘来获得行人的方向.PDR算法的实现可能会受惯导模块安装位置的影响,在本文中,采用了脚部安装传感器的方式.

2.1 RSSI定位系统

考虑式(1)中的基于无线通信的对数距离路径损耗模型[18]:

(1)

其中:η为路径损耗指数,表示路径损耗随距离增长的速率;d0为近地参考距离(一般为1m);d为T-R(Transmitter-Receiver)距离;P(d)和P(d0)分别代表当距离为d和d0时的接收信号强度,dBm表示分贝毫瓦.

根据公式(1)可以推导出发射器(参考节点)与接收器(移动节点)之间的距离d,如式(2)所示:

(2)

式(2)中路径损耗因子η会受周围环境的影响而呈现不同的数值,因此在利用式(2)估计距离d之前,需要通过大量的实验来校准η.但在NLOS环境中,如建筑物内的分隔和阻挡物,使通信信道发生改变,此时很难估计出固定的η值,因此,为了进行精确定位,实时更新η变得非常重要.

(3)

根据(3)式,当参考节点i≠1时,将其与参考点(i=1) 相减,则得到:

(4)

将式(4)写成式(5)所示的矩阵形式:

HX=b

(5)

其中:z*表示行人的高度,且为定值,

该等式的最小二乘解为:

X=(HTH)-1HTb

(6)

2.2 行人航位推算

行人航迹推算(Pedestrian Dead Reckoning,PDR)是基于当前确定的位置,利用方位角和步长推算下一时刻行人位置的定位算法.通过使用惯导模块的加速度计判断是否发生走步行为,利用电子罗盘获得方位角,再乘以步长即可计算出行人的位置信息:

(7)

其中:xt、yt为t时刻行人在X和Y坐标系下的坐标,SLt为t时刻的步长,θt为t时刻行人的航向角.

为了确定是否发生步行行为,采用峰值检测的方法[19].首先定义一个峰值检测的参数,然而在实验中发现,由于个人行走的习惯及噪声的影响,检测到的步数通常高于实际步数,如图1所示.因此我们定义了一个峰值之间的间隔ΔTn,如果在ΔTn内出现多个峰值, 则将第一个峰值作为行人的一步并将峰值大小作为后续的步长估计值,并忽略ΔTn时间内的其他峰值.因为常人的步频通常不超过3Hz,而本文中采用的是单脚绑定惯导模块的方式,即通常的两步为本方案的一步,所以将ΔTn设为0.6s.

图1 基于峰值检测的步数计算Fig.1 Step calculation based on peak detection

步长可以设成一个固定值,也可以通过加速度信号进行计算,本文应用文献[20]中的经验公式,利用z轴的加速度信息对步长进行估计:

SL=K×(Amax-Amin)(1/4)

(8)

其中:Amax和Amin是在单步中的最大和最小垂直加速度,K是常数,可通过步行训练得到.

2.3 粒子滤波融合

由于PDR系统模型具有明显的非线性特点,而粒子滤波算法源于蒙特卡罗思想,可以处理非线性和非高斯的估计问题,因此粒子滤波更适合用于集成PDR和RSSI定位系统.

2.3.1 初始化

2.3.2 粒子更新

在本文中,将PDR算法获得的行人位置作为状态量,将RSSI定位系统获得的行人位置作为观测量.首先将初始化的粒子带入到式(7)中进行更新,为了验证粒子的合理性,需要将各粒子与观测量进行对比,即将各粒子所代表的可能行人位置信息与由式(6)求出的观测位置信息进行比较,越接近观测量的粒子所获得的权重越大,反之则越小.假设由式(6)求出的行人位置为(a,b),则粒子的权重如式(9)所示:

(9)

其中:k与M为常数,且M足够大.将权值进行归一化处理:

(10)

2.3.3 行人位置确定

根据上述更新粒子的位置信息,以及各粒子的权重,通过加权和的方式求出行人的位置信息:

(11)

2.3.4 改进的重要性重采样

传统的粒子滤波采用序贯重要性采样的方法,该方法会产生粒子的退化问题,为了避免这种情况,本文采用了重要性重采样(Sampling Importance Resampling,SIR)的方法,忽略权重低的粒子,复制权重高的粒子.但这种重采样的方式又会出现另一种极限情况,即粒子集中只包含一种粒子及其复制,引起严重的粒子耗尽问题.

针对这种情况,在重采样之后,对其中一些粒子的位置信息加入随机量,改进粒子容易陷入局部最优的缺点,并且加入随机量的粒子会在更新时获得相应的权重,不会对定位结果造成较大的影响.

综合以上内容,可得到基于改进的粒子滤波的室内定位算法,如算法1所示.

算法1.基于改进的粒子滤波室内定位算法

初始化:

循环:

if 检测到行人的一步步行行为,方向为θt

1.根据式(7)更新各粒子

2.根据式(9)计算各粒子的权重,并由式(10)进行归一化处理

3.根据式(11)确定行人位置

4.执行改进的重要性重采样

5.t=t+1

End if

2.3.5 NLOS处理

当两个节点之间存在障碍物时,使得两个节点之间的通信信号出现反射、衍射或绕射等情况的现象,称为非视距(NLOS)传播.由于室内环境复杂,障碍物较多,很容易产生NLOS现象,并且NLOS误差会随着环境改变.在RSSI的定位系统中,当环境发生变化时,路径损耗模型中的路径损耗因子η会随环境改变,而η值对定位精度又有很大的影响.为了实时获取在不同环境下的η值,使定位更加准确,利用上文中的算法1获得的融合之后的位置信息以迭代的形式来动态的更新η.根据式(1)可以推导出η的以下形式:

(12)

算法2.NLOS环境下的粒子滤波融合算法

初始化:

循环:

if 检测到行人的一步步行行为,方向为θt

1. 应用算法1计算出行人的位置信息

2. 将位置信息代入式获得更新后的ηnew

3. if |ηnew-η|>T

用ηnew替换掉式(2)中的η

4. endif

5.t=t+1

end if

3 仿真试验和结果分析

为了验证定位系统的性能,模拟了一个室内定位的场景.在模拟中,假设在一个以原点为中心的100×100的房间内,在固定的地点分布有8个参考节点,行人带有移动节点和惯性导航模块在8个参考节点的覆盖范围内,从(30,-30)点直线运动到(30,30)点,逆时针旋转90度后直线运动到(-30,30)处.PDR系统中步长设为0.7m,共走了173步,角度噪声设为Na~(0,π/50).RSSI定位系统中P(d0)设为-45dBm,接收信号强度的噪声设为Np~(0,π/50).粒子滤波中粒子数N为100,路径损耗因子更新阈值T为0.05.

3.1 LOS环境下的仿真结果

为了证明在噪声的影响下,提出的方法与单纯使用粒子滤波进行定位的方式有同等的定位性能,进行如下实验.根据第二节可知,环境变化时,路径损耗因子η会随环境改变,为了模拟LOS环境,可将路径损耗因子η设为固定值2.因为RSSI值受噪声的影响,估计的路径损耗因子η也会发生波动,增加定位误差,所以需要设置阈值T,减小噪声对算法在LOS环境下的影响.由图2可知,在LOS环境下,没有设置阈值时,路径损耗因子η的波动范围大多在±0.05范围内,因此将T设为0.05.

图2 无阈值T时的路径损耗因子的误差Fig.2 Error of path loss exponent without threshold T

由图3可知,估计的路径损耗因子η基本保持不变,说明在噪声影响下的路径损耗因子η的大小一般不超过阈值T.图4显示了算法2和改进的PF方法以及RSSI定位的误差,从中可看出算法2与改进的PF方法的定位误差基本一致,且最大误差均在1.6m以下,而RSSI的最大定位误差达到了8.5m.由图3和图4两个图形结果的分析可知,在LOS环境以及噪声的影响下,路径损耗因子η不会随着噪声波动,因此,系统依然有很好的定位性能.

图3 估计的路径损耗因子Fig.3 Estimated path loss exponent

3.2 NLOS环境下的仿真结果

上文已经证明提出的两种方法在LOS环境下具有很好的定位性能,但主要目的是为了处理在NLOS环境下的定位问题.具体为,在NLOS环境中实时估计和更新路径损耗因子η,动态校准信道模型,以减小NLOS的影响,这是基于RSSI的定位系统及其混合定位系统所不具备的,也是算法2具备高定位精度的原因.

因为系统需要跟踪路径损耗因子η的值,而路径损耗因子η可能会在两种环境下发生改变:1)因为室内温度、湿度等的缓慢变化,导致路径损耗因子η的缓慢变化;2)当参考节点被障碍物或墙壁遮挡,导致路径损耗因子η从一个值突然跳变到另一个值.以下试验将模拟以上两种情况,证明系统在上述两种情况下依然具有很好的定位性能.

图4 三种定位方式的定位误差比较Fig.4 Comparison of positioning errors of three positioning methods

3.2.1 路径损耗因子η缓慢变化

在此模拟中,将真实的路径损耗因子η从2缓慢增长到2.34.由图5可知,在阈值T内估计的路径损耗因子ηnew不变,在阈值T之后估计的路径损耗因子ηnew在真实路径损耗因子η附近波动,而且误差都在±0.08内,证明估计的路径损耗因子ηnew很准确.且由图6可以看出,系统在路径损耗因子η缓慢变化时仍具有很好的定位性能,最大误差在2m左右,而未经算法2处理的PF定位方式,最大误差达到了13.8m,RSSI定位系统的误差更是呈指数性增长,这是由信道损耗模型所决定的.由这些结果可知,算法2的NLOS处理方法能充分利用PDR和RSSI系统的融合结果,在路径损耗因子η缓慢变化时仍然具有较好的定位性能.

图5 估计的路径损耗因子η与真实路径损耗因子η比较Fig.5 Comparison of estimated path loss exponent and the real path loss exponent

3.2.2 路径损耗因子η突然变化

在此模拟中,当行人走到第86步时,路径损耗因子η从2突变到2.4.由图7可知,估计的路径损耗因子ηnew的误差均在±0.05内,说明算法2可以快速的跟踪真实的路径损耗因子η的变化.特别是在图8中可以明显地看到,在第86步之后,未经过算法2处理的PF定位系统的定位误差明显增加,达到了8.9m,而算法2处理之后的定位方法,定位误差在此前后没有明显变化,均在2m以下.这说明在路径损耗因子η突然改变时算法2仍然具备稳定的定位性能,而未经算法2处理的RSSI和PF方法定位误差非常大,无法达到良好的定位效果.

图6 路径损耗因子η缓慢变化时的三种定位方式的定位误差比较Fig.6 Comparison of positioning errors of three positioning modes with the slowly changing path loss exponent η

图7 估计的路径损耗因子η与真实路径损耗因子η比较Fig.7 Comparison of estimated path loss exponent η and the real path loss exponent η

图8 路径损耗因子η突然改变时的三种定位方式的定位误差比较Fig.8 Comparison of positioning errors of three positioning modes when the real path loss exponent η is suddenly changed

3.2.3 不同比例的随机量粒子性能分析

本节测试了将不同比例的粒子加入随机量对定位性能的影响.在上一小节中的路径损耗因子η突然变化的模拟实验的基础上,分别对不同比例的粒子加入随机量,将得到的估计位置与实际位置做均方根误差分析.由图9可以看出,当加入随机量的粒子比例为30%时,均方根误差最小,定位性能最好.

图9 加入随机扰动的粒子比例对定位精度的影响Fig.9 Effect of the proportion of randomly disturbed particles on the localization accuracy

4 实验设计与结果分析

为了验证提出的定位算法的定位性能,自主搭建了融合PDR和RSSI的定位系统平台(如图10所示).该定位系统包括惯性导航模块(MPU6050),电子罗盘(SCM225),无线数传模块(SP3232EEN)以及由TI公司生产的具有无线通信功能的CC2530芯片为主体的移动节点、参考节点和网关.实验中,惯导模块和移动节点安装在行人的脚部,参考节点置于房间的四个角,移动节点将采集到的参考节点的ID与RSSI值发送到网关,网关再将数据发送给PC,惯导模块通过无线数传模块将惯导数据发送到PC端,PC端使用LabVIEW程序处理数据实现对行人的实时定位.

图10 室内定位系统实验图Fig.10 Experiment diagram of indoor localization system

利用上述系统进行验证,在一个9m×7m的房间内的四个顶点布置参考节点,行人在此区域的一个8m×5m的长方形上顺时针行走一圈,当行人走到一半的路程时,将其中一个参考节点通过添加阻挡物的方式,改变路径损耗因子η的值,达到NLOS的效果.

图11 两种定位方式的误差比较Fig.11 Comparison of errors between two localization methods

由图11可知,算法2在NLOS环境下,由于动态更新路径损耗因子η,使NLOS前后算法2的定位误差没有太大的变化,均在2.2m以下.从图11中还可以看出,未经算法2处理的PF融合定位方式的最大定位误差达到了7.8m.这表明算法2能够处理NLOS问题,且定位性能非常稳定.

5 结 论

本文提出了一种能在NLOS环境下进行正常定位的混合室内行人定位系统,该系统通过粒子滤波器将基于RSSI的定位系统与PDR系统相结合.并对粒子滤波器进行了改进,使其不会发生样本贫化的问题.针对以前方法中复杂且耗时的信道模型校准问题,提出了通过融合之后的结果迭代更新路径损耗因子的形式,实时更新信道模型,使系统在NLOS的环境下,仍能进行准确定位.

猜你喜欢

信道损耗行人
多工况下永磁电机损耗研究分析
信号/数据处理数字信道接收机中同时双信道选择与处理方法
毒舌出没,行人避让
三电平ANPC变流器损耗平衡的SVPWM策略
5G传播损耗及链路预算
路不为寻找者而设
一种高效多级信道化数字接收机的设计与实现
高品质变速器效率的理论分析
一种无人机数据链信道选择和功率控制方法
我是行人