基于RSSI的无线传感器网络室内定位算法研究
2020-10-28张玲华
黄 威,张玲华
(南京邮电大学 通信与信息工程学院 江苏省通信与网络技术工程研究中心,江苏 南京 210003)
0 引 言
定位在许多应用中起到了关键作用,比如地理导航,位置感知数据处理。近年来,许多定位技术被提出,比如蓝牙技术、Wi-Fi技术、超声波定位技术、红外线室内定位技术、射频识别技术以及新型的超宽带技术等。应用较广的是Wi-Fi技术和蓝牙技术,因为可以直接利用室内已有的Wi-Fi和蓝牙设备,实现比较容易。但是,由于Wi-Fi和蓝牙信号易受环境干扰,信号不稳定,而其他方法对设备要求较高,算法较为复杂,因此目前仍无法大面积推广。
无源室内定位则不需要携带有源设备,进入无线环境的人或者物体因为会改变环境,都将会被侦测到。无源室内定位具有很好的应用前景,比如侦测室内入侵、工业财产设施保护、定位被困室内人员以及老年养护等[1-3]。所以无源室内定位近年来吸引了很多人的注意。基于RSSI的无源室内定位,由于布置简单,低花费而受到广泛研究。这项技术通过测量各个节点之间接收信号的强度改变来进行识别定位[4-7]。
Youssff等[3]通过Wi-Fi设备可以侦测到单个入侵者,其侦测率较高,假阳性结果较小。Zheng等[8]提出适应性的框架结构从而在室内环境中侦测出变速物体。作者进行了一系列实验,测试了不同速度对定位精度的影响,从而提高了不同速度的定位准确性。Ahmed等[9]提出了一种新型的无线环境下的室内无源定位系统。提供了低开销,准确和稳健的运动检测,并给出了跟踪能力。Seifeldin等[10]提出了大规模室内无源定位和追踪。在多径效应下,它的定位精度相对较高。Xu等[11]更好地描述了无源定位的本地化分类模型,改进了数据集的质量,并且减少了多径效应引起的误差。Zhang等[12]提出了三种无源室内定位方法,并且讨论到了多目标对结果产生的影响。文献[13-14]中用到的基于RSS的在实际应用中的定位,该方法因为路径损耗模型的多样性,而导致算法显得极不可信。而在文献[15]中提出了基于RSSI的侧向定位方法,他们认为用RSSI来提高室内定位的精度,数值计算方法是非常重要的。
以上研究中基于RSSI的WSN无源室内定位都是定位单目标,或者是多目标成群同时移动。然而,在现实场景中,大多数的情况都是多目标分别移动,这样就需要进行多目标定位。张子博等[17]提出了利用WIFI技术实现室内多目标定位,可以在短距离内较准确地推算出用户位置,但长时间后会出现误差累计的现象。所以该文利用RSSI,在室内的特定位置摆放发射器和接收器,当目标出现在无线环境中,接收信号强度的方差值将进行大幅度变化。如果发射器和接收器的数量较多,目标将会改变多条链路,该文提出权重链路最小误差定位法和异常链路选取法,完成多目标定位。权重链路最小误差法,是通过链路接收信号的强度方差值,给链路赋予权重。通过仿真,发现该方法有效并可以用于大型室内定位系统。
1 RSSI时间窗方差侦测
每个接收器和发射器之间的连线就是无线链路。将发射器和接收器分别取做TXi和RXi,这里0
定义rl,T(i)为第l个链路上在时间窗T内的第i个接收信号强度样值。通过rl,T(i)值计算接收信号强度方差。方差值公式如下:
(1)
在长为Lm,宽为Wm的室内两边分别摆放上n个发射器和n个接收器,相比于Li等[16]提出的把房间分割为两部分的方式,该文认为只需要在房间左右摆上信号发射和接收装置即可,结果如图1所示。
图1 发射器、接收器位置摆放
2 多目标定位
首先介绍基于最小二乘法的单目标最小误差定位。预估的结果将会成为后续优化运算的基础。然后,提出基于单目标最小误差定位和预估目标与异常链路距离测量的权重链路最小误差定位法。最后,在权重链路最小误差定位法和异常链路选取的基础上,提出多目标定位。
2.1 单目标最小误差定位法
如图1设定的坐标系中,在Y轴的左右两边,有两列平行于Y轴的发射器和接收器。同一排的接收器和发射器之间的距离相同,同一列不同排的接收器或发射器之间的间隔相同。因此将所有发射器、接收器的坐标定义为:
(2)
(3)
(4)
对于每个目标,当有链路的方差值超过阈值时,用上式表示异常链路。通常情况下,由于目标的体积和运动,目标会影响不止一条链路。N条链路的统一表达式为:
aix+biy=ci,i=0,1,…,N
(5)
定义矩阵A和矩阵C:
(6)
(7)
则式(5)可以表示为:
(8)
目标的坐标可以被预估为:
(9)
此坐标为优化定位的基础。由于上式中的结果太过理想化,现实中目标与异常链路之间的距离会对方差值造成很大的影响。因此,文中提出通过距离给异常链路赋予权重的修正方法。
2.2 权重链路最小误差定位法
异常链路的权重是由式(1)中接收信号强度方差值决定的,首先根据接收信号强度方差值给异常链路排序,从大到小排序,序号从1到N。例如接收信号强度方差值最大的链路就赋予编号1,第i个就赋予编号i,然后根据Sigmoid函数[8]赋予权重:
(10)
此外,为了提升计算机运算效率,首先通过式(9)中的单目标最小误差定位法得到一个初始位置,然后集中在初始位置附近。通过权重链路最小误差算法可以找到一个最优化坐标,这个坐标到附近的异常链路距离总和最少,这个坐标也是需要定位的坐标。
算法1:权重链路最小误差定位法:
(1)(x,y)←式(9)中得到的点为圆心半径为0.3 m内测试所有点。
(2)di←点(x,y)距离各个异常链路的距离。
(3)wi←根据接收信号强度方差值赋予权重。
的累积值。
(5)搜寻范围内的每个点,得到所有情况的p值。
(6)找到最少的p值对应的坐标,即为最优坐标。
2.3 区分异常链路
假设两个目标不是聚在一起行动,如图1所示,星星表示需要定位的目标。首先,找出所有的异常链路,然后进行排序。将异常链路区分为两组的方法步骤如下:
首先,选出接收信号强度方差值最大的两条异常链路。情况1:如果有交点,则把它们放入组1。情况2:如果没有交点,则把它们分别放入组1和组2。
情况1:如图2,这种情况下,前两条异常链路都被分在组1。首先,找到这两条异常链路的交点,然后,计算这个交点到其余剩下的异常链路的距离。如果距离小于阈值,则将其放入组1,否则,将其放入组2。
图2 情况1
情况2:组1组2中都有一条异常链路,通过搜寻异常链路方差值排第三的异常链路,决定第三条异常链路该被分到哪一组时,出现了两种可能性:
可能性1:如图3,第三条异常链路只与组1或者组2的其中一条有交点,利用这个交点和情况1中的方法,就可以分出两组异常链路组。
图3 情况2-可能性1
可能性2:如图4,第三条异常链路与前两条链路都有交点,那先把这条异常链路放入组3。然后按顺序寻找其他链路,直到找到一条链路只与组1或者组2其中一条异常链路有交点。然后再用可能性1中的方法,完成链路分组,包括组3中的异常链路。
图4 情况2-可能性2
这个过程把异常链路分为两组,然后用权重链路最小误差定位法分别去定位目标即可。
算法2:异常链路选取与权重链路最小误差法。
(1)aix+biy=ci←通过接受信号强度方差值从大到小排序。
(2)(x,y)←找到排在第一位和第二位的异常链路交点。
(3)如果没有交点,则在剩余的异常链路中,按顺序找到一条异常链路只与前两条中的一条有交点。
(4)组1←挑选到(x,y)距离小于阈值的异常链路。
(5)组2←剩余的不属于组1的异常链路。
(6)通过权重链路最小误差定位法分别定位这两个目标。
算法流程如图5所示。
图5 算法流程
3 仿真结果
用MATLAB对算法进行仿真分析。首先,将估计的点坐标与真实点坐标进行对比,从而得到定位的准确性。结果表明物体和链路之间的距离可以反映出接收信号强度值,如果某条链路在某一时刻接收信号强度方差值大,说明物体离该链路比较近,反之则说明物体离该链路比较远。其次,给方差值增加了一个在-0.5 m到0.5 m的值,用来模拟环境中的各种干扰。
如图1所示,在长L=20 m,宽W=10 m的房间两侧分别放上20个接收器和20个发射器。定位结果如图6所示。
图6 仿真定位结果
其中,黑色的圆点代表随机取得两个需要定位的点,白色的星星是经过初级定位,然后结合异常链路选取与权重链路最小误差定位法定位出的目标点。
假设一个点静止,另外一个点全图遍历房间各个坐标点。该文通过计算坐标点与实际点的距离,来表示误差的大小。如图7,颜色棒表示了距离的远近。颜色越深,距离越远,颜色越浅,距离越近。图8展示了误差的CDF曲线,从图中可以看出,误差<0.5 m的点占所有点的90%。相比于文献[6]中的仿真结果,提高了近20%。
图7 误差分布表
图8 累积误差分布图
4 结束语
通过无源室内定位去定位分布在室内不同位置的两个目标。在室内的左右两边布置发射器和接收器。然后通过结合最小误差法和权重链路挑选,最终定位目标。通过MATLAB仿真,发现定位结果精度比参考文献高出20%。而且,没有考虑多径效应、杂物以及更多目标对接收信号强度和算法的干扰。在文献[18]中为了提高室内定位系统的性能,提出了一种利用无源RFID技术定位目标物体的算法。文中的定位算法只考虑了二维平面,没有探究三维坐标下的定位情况。在之后研究中,将会把2维平面升级到3维立体空间,继续研究基于RSSI的室内定位。