摘要:针对传统四边测距定位算法自身的误差,提出基于抑制离群值的三维定位算法。从邻居节点中筛选4个节点作为参考节点,减小离群值对定位结果造成的误差。通过大量实验和仿真,表明该算法比传统的四边测距定位算法误差小,理论平均定位误差为1.86%,实验平均误差达到2.49%。
关键词:无线传感器网络;三维定位; RSSI;抑制离群值;
1 引言
无线传感器网络是一种自组织网络,它由大量具有通信功能和计算能力的微型传感器节点构成,部署在无人值守的监控区域, 通过无线通信,节点之间相互联系、传输信息、处理问题[1-2]。近年来,无线传感器网络常应用于复杂的三维环境,例如高山、森林、水下等,因此三维定位技术的研究有着极其重要的现实应用意义。
定位方法根据是否需要测量两个节点之间的距离可以分为基于测距(Rang-based)的定位方法和基于非测距(Range-free)的定位方法。基于测距的定位方法通过测量未知节点的绝对距离或绝对方向(Absolute distance or direction)来定位[3-5]。 基于接收信号强度指示(RSSI)的测距算法不需要增加额外的硬件设施,而且方法简单,且功率损耗小,因此广泛应用于无线传感器网络中。然而由于受到多路径、多反射等环境因素干扰,该方法存在一定的测量误差。针对目前定位算法存在的各种问题,本文结合离群值的特点,提出基于抑制离群值的三维定位算法,减小离群值对定位结果造成的误差。
2 算法模型
2.1 无线信号传输模型
RSSI测距模型描述了无线信号的接收功率、发射功率与节点之间距离的关系。对数正太阴影模型表达式为:
2.2 传统四边测距三维定位算法
在三维空间中,假设未知节点的坐标为
,该未知节点的邻居锚节点为
未知节点到锚节点的测量距离分别为
,根据三维空间距离计算公式,得到以下非线性方程组:
3 基于抑制离群值的三维定位算法
3.1 离群值的来源
假设:
3.2基于抑制离群值的三维定位算法
随着距离的增大,RSSI的误差也随之增大,因此我们选择约束值最小的四个锚节点对未知节点进行
4 仿真结果
为了检验算法性能,本文采用MATLAB软件构建了一个
的三维空间,125个锚节点,随机分布的50个未知节点,节点发射功率为0dB,测距模型采用公式(1),用定位误差作为衡量算法性能的标准。为得到的结果更精确,同一环境下重复试验50次,对50次定位结果求均值。平均误差结果如图1所示,基于抑制离群值的四边测距定位算法的定位误差明显小于传统四边测距定位算法,两种算法误差对比如表1,平均定位误差百分比由2.92%下降到1.86%。
表 1 两种算法理论误差对比
5 结论
基于抑制离群值的算法比传统的四边三维定位算法误差小,精度高,同时有效减少了四边测量定位算法中无解和多解的情况。仿真说明基于抑制离群值的四边测距定位算法更稳定,具有更高的精确度。该算法可结合GPS系统应用于监测建筑内危险品的存放位置,一旦危险品发生泄漏,能及时定位并发出警告,保护生命财产安全。
参考文献
[1]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005:135-136.
[2]X Wang.Wireless sensor networks measurement systems[M], China Machine Press, China,2005:326–328.
[3]周艳,李海成..基于RSSI无线传感器网络空间定位算法[J].通信学报,2009,30(6):75-79