WSN中基于改进的RSSI定位算法研究
2017-03-09傅彬
傅 彬
(绍兴职业技术学院,浙江 绍兴 312000)
WSN中基于改进的RSSI定位算法研究
傅 彬
(绍兴职业技术学院,浙江 绍兴 312000)
降低节点定位误差是无线传感网一直不断改进的方向。在RSSI定位算法的基础上,引入加权概念降低定位误差。首先针对定位算法中RSSI均值不准确的问题,采用常态分布处理,通过似然函数来获得RSSI的阈值,从而避免均值过大的情况;其次通过权值因子来分配锚节点与未知节点之间估算距离的权重。在MATLAB仿真实验平台中,与其他算法在通信半径和锚节点密度等条件下的相比发现,文中算法具有比较好的效果。
节点定位;RSSI;WSN
0 引言
如何能够更好地进行节点定位一直以来都是无线传感网的主要研究方向,节点定位效果的好坏一方面受地理位置和环境的影响,另一方面主要来自锚节点与未知节点之间的计算方式等影响[1]。本文从RSSI定位算法角度来研究有关未知节点的定位。文献[2]采用RSSI测距法测出未知节点与锚节点的距离,用最小二乘法粗略定位,取得了一定的效果;文献[3]提出对节点初始位置进行初步估计,然后对其进行逐步精解;文献[4]提出了将RSSI测距与量子粒子群算法进行结合调度节点定位方法;文献[5]提出以多信标节点质心定位修正算法来计算节点坐标修正值;文献[6]提出了以恒定步长进行节点趋势移动的校验法,仿真实验说明能够提高定位精度;文献[7]提出了一种基于RSSI距离比的MDS定位算法;文献[8]提出基于RSSI比例修正的DV-Hop定位算法,该算法能够提高定位精度;文献[9]提出基于RSSI的MCL定位算法,提高了采样准确率,从而可以提高定位精度,降低功耗。
根据以上研究的结果,本文在RSSI定位算法的基础上,针对其不足,采用似然函数来处理RSSI阈值,通过权值因子来分配锚节点与未知节点之间估算距离的权重,取得了比较好的效果。
1 RSSI测距简介
在RSSI中主要是通过信号功率之间能量损失来估算发射节点与接收节点之间的距离,如下:
PR(d)=PtGtGrλ2/16π2d2L
(1)
式中,PR(d)表示与发射节点相距d处的接收功率,Pt为发射节点的功率,Gt、Gr分别为发射节点和接收节点的增益,L为损耗定量,d为距离,λ为波长。通过式(1)得到各个节点之间的实际距离。
RSSI是一种与距离相关的定位算法,由于定位效果容易受到来自自然界等外部因素的影响,因此这种测距方法与真实距离存在一定的差距。加权算法是一种与距离无关的算法,将这两种算法进行融合,利用前者为后者提供距离权值信息,后者通过使用加权算法提高RSSI算法的定位精度,这样可以降低成本,提高精度,降低能耗。设定某个区域中存在N个锚节点,其中,A、B、C为其中的3个锚节点,坐标分别为(xa,ya)、(xb,yb)和(xc,yc);未知节点为D,坐标为(x,y),由3个锚节点定位出来的未知节点的估算坐标为(xi,yi),因此通过使用RSSI模型计算节点D到3个锚节点的距离为:da、db和dc,采用三边测量法得到如下:
(2)
得到未知节点的近似坐标为:
(3)
通过加权得到未知节点的最终估计位置如下:
(4)
2 基于改进的RSSI的加权定位算法
2.1 改进RSSI处理方法
原来的RSSI模型算法使用的是均值模型,得到RSSI的结果如下:
(5)
式(5)中,m是预先设定好的RSSI的阈值,采用均值法可以解决RSSI随机问题,但受到较大干扰而使得数值结果出现震荡,因此效果不是很好。根据对数模型,在收发距离相同时,RSSI值服从正态分布,概率函数如下:
(6)
设定RSSI1,RSSI2,…,RSSIm是RSSI的总体样本,rssi1,rssi2,…,rssim是对应的样本的观测值,则似然函数如下:
(7)
对式(7)两边分别对μ、σ2取导数,得到方程组如下:
(8)
解方程,得到未知参数μ、σ2的最大似然估计值:
(9)
通过采集的RSSI样本数据就能估计出总体服从正态分布的均值和方差。将其代入RSSI的测距模型,最后得到锚节点与未知节点之间的距离。
2.2 权值因子
对RSSI中三边定位法获得的未知节点的估计坐标进行加权,权值因子只考虑三边定位时的距离信息。
(10)
当距离增大时,RSSI的值下降,当距离增大到一定程度时,RSSI值的变化就无法反映距离的增长了。因此RSSI值越大,该数据换算成距离信息的定位带来的误差也就越小,因此估算坐标进行加权计算就越重要。为了进一步提高定位精度,将权重因子改为如下公式:
(11)
改进的权重因子不但将聚类信息作为权值因子,还考虑了角度、边长、面积等因素。在进行三边定位中,3个锚节点组成的三角形如果是等边三角形,定位效果最佳,当3个锚节点处于一条直线上时,定位效果最差。因此本文采用以下方法作为权值因子。
(12)
其中,l表示三边的边长,S为面积。
本文采用的加权算法如下:
(13)
结合式(12), (x1,y1)、(x2,y2)和(x3,y3)是通过式(12)计算出来的未知节点的坐标,对于这三个坐标再进行加权处理,权值系数分别为α、β和χ,三者满足α+β+χ=1,因此未知节点的坐标为:
(14)
2.3 算法流程
本文算法流程如图1所示。
3 仿真实验
本文选取节点随机分布在50 m×50 m的二维正方形区域中,节点总数为50,选择锚节点的数量分别为20、25、30、35,未知节点随机分布个数为20个,本文算法中的权值系数分别为α,β和χ,分别取值为0.6、0.2和0.2,通过节点之间的距离推出RSSI数值,进行仿真,次数为100次。硬件选择CPU为酷睿i3,内存为4GB,硬盘容量为500GB。软件环境选择WindowsXP,仿真软件选择MATLAB2010。
3.1 与基本的RSSI模型算法比较
选择锚节点为20时,采用基本RSSI模型算法与本文算法的定位效果分别如图2、图3所示。
从图2、3中可以发现,本文算法定位误差要明显小于基于RSSI的差分修正质心定位算法。当选择锚节点个数为20时,20个未知节点在两种算法下的定位误差分别为3.64 m和8.14 m。因此,当锚节点数据占据总节点数目50%时,节点定位的误差有了一定的改进。
图4是两种算法进行100次仿真的平均定位误差折线图。可以看出,本文算法的定位误差始终小于基本RSSI模型算法,这说明本文算法采用多种权值因子确实有效地降低了算法的定位误差。而且随着信标节点数量的增大,两种算法的定位误差都在逐步减少,本文算法首先在25~30个锚节点处取得比较不错的定位误差情况,而基本RSSI模型算法在锚节点数量达到30个之后,其定位误差才趋于稳定。这说明本文算法不需要过多的锚节点就能实现大概在2 m左右的定位误差,节省了成本,降低了定位能耗,有效地提高了网络的生命周期。
3.2 与其他RSSI模型算法的比较
将本文算法与文献[8]、文献[9]算法从不同通信半径和锚节点密度两个方面进行比较。
3.2.1 不同通信半径下的定位误差对比
设置不同的节点通信半径,将本文算法与文献[8]算法、文献[9]算法进行定位误差比较,效果如图5所示。从图中可以发现,当节点通信半径逐渐增大时,锚节点信号强度不断增加,测量距离更加准确。本文算法由于改进了RSSI处理方法并增加了权值因子,因此使得传感器节点定位误差慢慢减少,定位精度逐步提高。
3.2.2 不同锚节点密度下的定位误差比较
锚节点的数量不同关系到无线传感网中节点定位成本的不同。图6展示了本文算法和文献[8]、文献[9]算法在锚节点密度不同时的定位误差变化情况。从图中发现,锚节点的密度不断增加时,三种定位算法的误差都在逐步减小,从整个定位过程来看,本文算法相比于其他两
种算法定位误差最低,这说明本文算法具有改进效果,从另一个侧面降低了整个无线传感网络的成本。
4 结束语
无线传感中的节点定位一直都是研究的重点,本文基于RSSI模型定位算法,采用了改进的加权定位,使得算法的定位效果有了明显的提高。仿真实验说明本文算法对降低节点的定位误差具有一定的效果。
[1] 吕淑芳.无线传感器网络节点定位研究综述[J].传感器与微系统,2016,35(5):1-3.
[2] 颜嘉俊,雷勇.基于RSSI的无线传感器网络节点定位[J].计算机仿真,2012,29(7):151-154.
[3] 章磊,黄光明.基于RSSI的无线传感器网络节点定位算法[J].计算机工程与设计,2010,29(2):291-294.
[4] 姚汝贤,王晓涓.基于测距和自学习粒子群算法的WSN节点定位[J].重庆师范大学学报(自然科学版),2015,32(11):111-115.
[5] 刘玉军,蔡猛,高立恒.基于RSSI测距的传感器节点质心定位修正算法[J].计算机测量与控制,2014,22(9):2860-2862.
[6] 信召建,胡屏.基于RSSI值的WSNs节点测距算法改进与定位实现[J].传感器与微系统,2014,33(6):133-136.
[7] 吴桂平,虞慧群,范贵生.一种基于RSSI距离比的传感器节点定位算法[J].华东理工大学学报(自然科学版),2013,39(5):596-600.
[8] 方旺盛,雷高祥,黄辉.节点RSSI比值跳数修正的DV-Hop算法[J].传感器与微系统,2016,35(7):132-135.
[9] 黄海辉,李龙连.WSN中一种基于RSSI的移动节点改进定位算法[J].电子技术应用,2015,41(1):86-89.
Research on positioning algorithm based on improved RSSI in WSN
Fu Bin
(Shaoxing Vocational & Technical College,Shaoxing 312000, China)
To reduce node positioning error has always been a direction that has been constantly improved in wireless sensor network. Based on RSSI positioning algorithm, this paper adds the concept of weighting to reduce positioning error. First of all, aiming at the inaccurate average value of RSSI in positioning algorithm, normal distribution is used to obtain the threshold value through likelihood function so as to prevent the average value from being too large. Secondly, weight factor is used to distribute the weight of estimated distance between the anchor node and unknown node. In the MATLAB simulation experiment platform, it has been found from comparing algorithms in terms of communication radius and anchor node density that algorithm in this paper has better effect.
node positioning;RSSI;WSN
TP393
A
10.19358/j.issn.1674- 7720.2017.05.021
傅彬.WSN中基于改进的RSSI定位算法研究[J].微型机与应用,2017,36(5):69-71,75.
2016-10-12)
傅彬(1980-),男,硕士,讲师,主要研究方向:信息安全,无线传感。