基于抑制离群值的三维空间定位算法

(整期优先)网络出版时间:2020-05-13
/ 2

基于抑制离群值的三维空间定位算法

李雪

身份证号码: 1304061991****0348 天津市 300000

摘要:针对传统四边测距定位算法自身的误差,提出基于抑制离群值的三维定位算法。从邻居节点中筛选4个节点作为参考节点,减小离群值对定位结果造成的误差。通过大量实验和仿真,表明该算法比传统的四边测距定位算法误差小,理论平均定位误差为1.86%,实验平均误差达到2.49%。

关键词:无线传感器网络;三维定位; RSSI;抑制离群值;

1 引言

无线传感器网络是一种自组织网络,它由大量具有通信功能和计算能力的微型传感器节点构成,部署在无人值守的监控区域, 通过无线通信,节点之间相互联系、传输信息、处理问题[1-2]。近年来,无线传感器网络常应用于复杂的三维环境,例如高山、森林、水下等,因此三维定位技术的研究有着极其重要的现实应用意义。

定位方法根据是否需要测量两个节点之间的距离可以分为基于测距(Rang-based)的定位方法和基于非测距(Range-free)的定位方法。基于测距的定位方法通过测量未知节点的绝对距离或绝对方向(Absolute distance or direction)来定位[3-5]。 基于接收信号强度指示(RSSI)的测距算法不需要增加额外的硬件设施,而且方法简单,且功率损耗小,因此广泛应用于无线传感器网络中。然而由于受到多路径、多反射等环境因素干扰,该方法存在一定的测量误差。针对目前定位算法存在的各种问题,本文结合离群值的特点,提出基于抑制离群值的三维定位算法,减小离群值对定位结果造成的误差。

2 算法模型

2.1 无线信号传输模型

RSSI测距模型描述了无线信号的接收功率、发射功率与节点之间距离的关系。对数正太阴影模型表达式为:

5ebb5ed9dc6af_html_8a5c6d0ff9da1fdf.gif (1)

其中,5ebb5ed9dc6af_html_7c35677801d677be.gif 是传输距离,5ebb5ed9dc6af_html_e5bca56c7df3b007.gif5ebb5ed9dc6af_html_8ed356d6956a51ab.gif 是参考距离,5ebb5ed9dc6af_html_e5bca56c7df3b007.gif5ebb5ed9dc6af_html_1b16a5049867573d.gif 是路径损耗指数;5ebb5ed9dc6af_html_53095e03a6b92da4.gif 是服从零均值分布的随机变量;5ebb5ed9dc6af_html_5662c85b071ebb16.gif 是距离为5ebb5ed9dc6af_html_8ed356d6956a51ab.gif 的接收信号强度,5ebb5ed9dc6af_html_832c4649a75d3321.gif5ebb5ed9dc6af_html_2997d54d72bd52c3.gif 是接收信号强度,5ebb5ed9dc6af_html_832c4649a75d3321.gif 。未知节点接收到来自锚节点的射频信号,通过公式(1)可以估算锚节点到未知节点的距离。

2.2 传统四边测距三维定位算法

在三维空间中,假设未知节点的坐标为5ebb5ed9dc6af_html_a6fba878b828ffb7.gif ,该未知节点的邻居锚节点为5ebb5ed9dc6af_html_8ce5f74ca3180ba9.gif 未知节点到锚节点的测量距离分别为5ebb5ed9dc6af_html_5d969e0b3a64feaa.gif ,根据三维空间距离计算公式,得到以下非线性方程组:

5ebb5ed9dc6af_html_c725f22ed7616999.gif (2)

求解,得矩阵:

5ebb5ed9dc6af_html_505f53a14308ad70.gif (3)

其中

5ebb5ed9dc6af_html_a71e084a2452814b.gif (4)

5ebb5ed9dc6af_html_906f127a26e9e61d.gif (5)

未知节点的计算结果为:

5ebb5ed9dc6af_html_fe29db094d969b10.gif (6)

3 基于抑制离群值的三维定位算法

3.1 离群值的来源

假设:

5ebb5ed9dc6af_html_385019bb6ed00e85.gif (10)

5ebb5ed9dc6af_html_7cec97b85a840dca.gif 存在误差5ebb5ed9dc6af_html_5bb86e70c60c7f02.gif5ebb5ed9dc6af_html_32531b3b5c0dc456.gif 存在误差5ebb5ed9dc6af_html_e3efcb2eb4e0dfff.gif ,因此结果为5ebb5ed9dc6af_html_b2738bb39960e31c.gif ,公式如下所示:

5ebb5ed9dc6af_html_a4889e15eac21fb9.gif (11)

公式(12)减去公式(13),得:

5ebb5ed9dc6af_html_8f1a78e43a91d014.gif

5ebb5ed9dc6af_html_cfd3f27469205894.gif

5ebb5ed9dc6af_html_dea509c39f6ad357.gif

5ebb5ed9dc6af_html_21fb3c19e92731d9.gif (12)

5ebb5ed9dc6af_html_30b9e76742b24720.gif

由传统四边测距算法可知,矩阵A由锚节点的坐标构成,为定值,因此上式可简化为:

5ebb5ed9dc6af_html_dc9e5b5bd8a652aa.gif (13)

假设测量精度范围很严格,即5ebb5ed9dc6af_html_eca84bc6ce262812.gif 很小,因此5ebb5ed9dc6af_html_6e0063a673e18d05.gif 决定了最终定位结果的精确性。

定义公式(14)为矩阵A的约束条件值:

5ebb5ed9dc6af_html_818c27e2b468635c.gif (14)

5ebb5ed9dc6af_html_ec13588f2c9bad20.gif 越大,最终定位误差的范围越大,方程组也就更可能成为病态方程组。

实际应用中,选定的四个定位锚节点决定了矩阵5ebb5ed9dc6af_html_7cec97b85a840dca.gif5ebb5ed9dc6af_html_ec13588f2c9bad20.gif 的值。为了避免病态方程,应选择5ebb5ed9dc6af_html_ec13588f2c9bad20.gif 值最小的四个邻居锚节点来定位未知节点的位置,使误差达到最小。

3.2基于抑制离群值的三维定位算法

随着距离的增大,RSSI的误差也随之增大,因此我们选择约束值最小的四个锚节点对未知节点进行定位。例如,距离最近的5个锚节点分别是5ebb5ed9dc6af_html_77bc19010fa98776.gif5ebb5ed9dc6af_html_f2ce6762c87f3a99.gif5ebb5ed9dc6af_html_9966ce7f1983e484.gif5ebb5ed9dc6af_html_ccb96d66e44b74c6.gif5ebb5ed9dc6af_html_e8c47c75f5b35eb9.gif 。我们用锚节点1、2、3、4根据公式(4)和公式(11)计算矩阵5ebb5ed9dc6af_html_8bdb972ab815eb0e.gif ,同理计算5ebb5ed9dc6af_html_e50a54cc6afecffa.gif5ebb5ed9dc6af_html_da7aa4c4d69838b1.gif5ebb5ed9dc6af_html_134d8c1e2fc44bff.gif5ebb5ed9dc6af_html_8398f9c3d4cb2523.gif

假设,5ebb5ed9dc6af_html_8bdb972ab815eb0e.gif <5ebb5ed9dc6af_html_e50a54cc6afecffa.gif <5ebb5ed9dc6af_html_da7aa4c4d69838b1.gif <5ebb5ed9dc6af_html_134d8c1e2fc44bff.gif <5ebb5ed9dc6af_html_8398f9c3d4cb2523.gif ,我们选择锚节点1,2,3,4对未知节点进行定位。

根据最小约束条件值,提出以下计算流程:

1)锚节点相互定期发送包含节点标识和自身位置的数据包。

2)未知节点接收到n个锚节点的数据包,保存锚节点标识和位置。

3)未知节点将RSSI从大到小排序,构建3个集合:

5ebb5ed9dc6af_html_1396d29486503498.gif

5ebb5ed9dc6af_html_9a8646797b745488.gif

5ebb5ed9dc6af_html_deb816def79e71b7.gif

4) 当5ebb5ed9dc6af_html_1d71396605d25e59.gif 由距离最近的5个锚节点中,选择条件约束值最小的4个锚节点对未知节点进行定位。

5ebb5ed9dc6af_html_881a98534a372b27.gif 只利用这四个锚节点进行定位。

5ebb5ed9dc6af_html_514110ade29cfa9b.gif ,邻居锚节点不足四个,利用已经定位完成邻居未知节点进行定位。

4 仿真结果

为了检验算法性能,本文采用MATLAB软件构建了一个5ebb5ed9dc6af_html_3762f71fdc60fadc.gif 的三维空间,125个锚节点,随机分布的50个未知节点,节点发射功率为0dB,测距模型采用公式(1),用定位误差作为衡量算法性能的标准。为得到的结果更精确,同一环境下重复试验50次,对50次定位结果求均值。平均误差结果如图1所示,基于抑制离群值的四边测距定位算法的定位误差明显小于传统四边测距定位算法,两种算法误差对比如表1,平均定位误差百分比由2.92%下降到1.86%。

表 1 两种算法理论误差对比

本文算法

传统算法

平均误差/m

0.55

0.87

最大误差/m

0.783

1.341

最小误差/m

0.453

0.603

方差

0.09

0.15

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