基于RSSI修正的近似三角形加权质心定位算法
2015-11-25周鸣争
童 莉,周鸣争
(安徽工程大学计算机与信息学院,安徽芜湖 241000)
基于RSSI修正的近似三角形加权质心定位算法
童 莉,周鸣争∗
(安徽工程大学计算机与信息学院,安徽芜湖 241000)
节点的自身定位技术是无线传感器网络研究的核心技术,具有广泛的应用前景.针对基于RSSI测距技术的节点定位算法存在测量误差相对较大的缺陷,提出一种基于RSSI修正的近似三角形加权质心定位算法.该算法针对RSSI测距易受环境干扰,对测距数据进行高斯拟合和求均值,并以此作为节点的RSSI测量值.在此基础上,利用排序算法对测距结果进行排序,优选信标节点做三角形内点测试,最后采用加权质心定位算法来确定未知节点的坐标.仿真结果表明,改进算法改善了节点的定位精度.
无线传感器网络;节点定位;RSSI测距;高斯拟合;加权
无线传感器网络(WSN)是一种全新的信息获取技术和处理平台,由大量处于移动或静止状态的传感器节点组成.这些节点的硬件成本较低、体积结构较小,可以通过机器撒播或是人工部署的方式被随机安置在监测区域内,通过节点本身携带的具有无线通讯功能的收发装置,可以自组织形成具有多跳结构的网络系统.该网络可以协同感知目标对象的多维信息(温度、噪声、压力、湿度、光强度等),在网络中处理发布采集到的数据信息,以实现对目标区域的监测,为终端用户提供决策支持.因此,无线传感器网络节点自身的定位信息是其他很多应用的基础,离开了位置信息,传感器网络中的某些控制信息就会变得毫无意义.
目前,根据是否需要在定位过程中直接测量节点间的距离,WSN的节点定位算法主要包括基于测距(range-based)和基于非测距(range-free)两种.前者主要是通过测量相邻传感器节点的距离、方位角度等信息,然后使用三边测量、三角测量、最大似然估计等定位算法建立数学模型,估算出节点位置,从而获得被测未知节点的实际位置.常采用的测距技术包括RSSI(received signal strength indicator)[1]、AOA (angle of arrival)、TOA(time of arrival)和TDOA(time difference on arrival)等;而后者则主要是利用节点间的连通性和邻接关系等信息来实现定位,常用的非测距算法主要包括质心算法[2]、DV-Hop算法[3]、APIT算法[4]等.上述两种节点定位算法中,基于测距的定位算法的定位精度相对较高.其中,基于RSSI测距技术的方法具有成本低且复杂度低的优势,是目前无线传感器网络中较常用的一种方法.但是,基于RSSI测距技术的方法是通过RSSI衰减模型计算得出的节点距离,在实际环境中由于各种复杂因素影响测距值,导致测距误差较大.因此,首先对RSSI测距数据方法进行了修正,通过对无线信号传播模型和采集的数据进行分析和研究,利用高斯拟合处理数据进行首次过滤,并采用求平均值作二次处理,最后通过优选信标节点,进行近似三角形内点判定,采用加权质心定位算法得出未知节点的定位坐标,以期提高原算法的定位精度,达到更好的定位效果.
1 基于RSSI的测距修正[5]
无线传感器网络采用的无线信号传播模型主要有3种:自由空间传播模型(Free-Space)、对数距离路径损耗模型和对数正态分布模型(Shadowing).在理想的环境下进行信号传播,在自由空间中,接收信号强度与传输距离的平方是成反比的,具体公式如下所示:
式中,Pr(d)表示接收信号的功率;Pt代表发射信号的功率,都是关于距离的函数;Gr表示接收天线增益;Gt表示发射天线增益;d表示发射信号和接收信号的两个节点之间的距离;λ是发射信号的波长;L是与传播无关的系统损耗因子(L≥1).
这里取参考距离d0的值为20 cm,即0.2 m,由式(1)可以计算出P0(d0)的值,其中,Gt,Gr和L的值均取1来计算.
采用CC2430无线单片机作为传感器节点的核心芯片,它支持RSSI监测功能,其值可以通过编程读出.在50 m∗50 m的实验场地上进行测试实验,测试结果如图1所示.由图1可知,当测试节点和信标节点的距离较大时,射频信号衰减的速度比较慢.反之,当传输距离减小时,信号衰减就会相对较快.即在测距过程中,接收到的RSSI测量值随着发射端和接收端的传输距离增大,衰减速度变小.
通过测距实验发现,同一个RSSI值对应的距离并不是一一对应的关系.实验中又选择了2组RSSI值进行统计,发现因信号受干扰,在整个测量过程中,同一个距离的信号会出现很多值,这对RSSI的测距模型和公式带来了相当大的测量误差.70 dBm和85 dBm两组RSSI值得到的统计图如图2所示.
通过对实验数据进行分析,发现数据在某个位置的RSSI值是一个概率问题,而测量值和实际值最为接近的地方即是概率分布密度最大的地方.为达到滤除部分失效数据的目的,可以通过对数据进行高斯拟合来找出密度最大的波峰值.
对于测量得到的数据,文中采用了高斯函数拟合来进行采集数据的修正,用以剔除数据中那些“误差”较大的点.
设置一个门限值n,利用此值让发送节点连续进行信号发送,而同一位置的接收节点接收到的一组共n个RSSI测量值,然后建立高斯函数的数学模型,并对接收到的所有RSSI测量数据进行拟合处理:
其中,
其中,用xi来表示发射节点在第i次进行信号传送时,接收节点所得到的RSSI测量值.然后通过式(3)和式(4)计算可以得到该高斯函数的数学期望值和方差值,从而确定分布函数,再为其设定一个阈值m,分别计算出f(xi)的值.当f(xi)<m时,就将RSSI的测量值剔除出去;当f(xi)≥m时,将RSSI测量值保留下来.最后,对保留下来的所有RSSI测量值通过式(5)进行平均值计算,并以此作为该节点的RSSI测量值.
2 近似三角形加权质心定位算法
2.1 优选参考信标节点
一般来说,未知节点到信标节点的距离越近,由RSSI值的偏差产生的绝对距离误差就越小,那么定位的精度自然就越高.
设置两个信标节点的真实坐标分别为(xi,yi)和(xj,yj),根据式(6)进行计算,得两个信标节点之间的实际距离值:
再通过公式(7)计算得出未知节点与其他信标节点之间的估算距离d估:
在计算求出|d实-d估|的差值后,对计算结果按照数值从小到大进行排序,建立与排序后的距离大小顺序相对应的优选参考信标节点集合:
式中,Pr(d)是经过距离d后的路径损耗;P0(d0)是参考距离为d0时的路径损耗;β是路径损耗指数;Xσ是均值为零的高斯分布正态随机变量,标准差为σ,方差为σ2(即Xσ~N(0,σ2)).忽略掉Xσ对计算的影响,并将β的取值设为3,由式(8)可以推导出式(7),进行距离值的转换计算.
2.2 建立近似三角形集合
对优选后的参考信标节点集合任取3个节点组成一个三角形,在用近似三角形内点测试法进行判断未知节点是否位于此三角形内部,重复这一步骤直到整个集合中的3点组合全部完成判断.将所有可以把未知节点包含在内部区域的三角形组合成新的近似三角形集合,并统计集合中元素的个数.
2.3 加权质心定位算法[6]
未知节点的坐标(xi,yi)可由式(9)计算得出.式中,d1,d2,d3表示未知节点与信标节点的距离; (x1,y1),(x2,y2),(x3,y3)为从通过三角形内侧点判定的优选信标节点集合中任意组合的三角形.通过上述算法计算出的未知节点的3个估算坐标值.
最后对所有求解出的未知节点坐进行均值计算,其结果作为最终的未知节点的位置坐标.
3 仿真与分析
文中提出的改进算法是基于原有RSSI测距的三角形质心定位算法上的,因此,仿真的主要目的就是为了验证改进后的定位算法相较原算法是否在定位精度上有所提高.在使用MATLAB 2013进行仿真的过程中,编程时对其中的某些主要参数进行了相关设置,主要包括:①设置一个正方形的监测区域,其范围大小为100 m×100 m;②设置节点的通信半径为50 m(节点的通信半径一般在10~100 m左右);③设置WSN中的节点个数.其中,信标节点的总个数为30个,未知节点的总个数为70个,节点的位置坐标是利用MATLAB 2013随机生成函数并随机分布的.WSN网络的节点具体分部如图3所示;④设置RSSI距离测量公式中的路径衰落因子值为3(它的一般取值在1.5~5之间).
参数设置完成后,编程实现算法仿真.通过仿真发现,改进前的定位算法误差始终在5.8 m左右.而改进后的定位算法误差的大小会随着权重因子的取值不同而发生变化.当权值为1时,整个算法的定位误差最大;而定位误差最小的取值可以达到在2.3 m左右.改进前后定位算法对定位误差的影响如图4所示.
通过用MATLAB 2013进行仿真,当采用基于RSSI的无线传感器网络加权质心定位算法进行定位时,未知节点的定位效果图如图5所示.由图5可知,未知节点的坐标估计的平方误差为1.3539e+04.而本文所给出的基于RSSI测距修正的改进加权质心定位算法,通过仿真得到未知节点的定位效果图如图6所示.由图6可知,未知节点的坐标估计的平方误差为6.8413e+03.通过比较可以发现,相较于改进前的定位算法,后者在定位误差上有了明显改善,达到了预期效果.
4 结论
对无线传感器网络的定位算法进行了深入研究,提出了一种基于RSSI测距修正的近似三角形加权质心定位算法.重复多次试验,从仿真实验结果来看,改进后的定位算法提高了节点的定位精度.
[1] 詹杰,刘宏立,刘述钢,等.基于RSSI的动态权重定位算法研究[J].电子学报,2011,39(1):82-88.
[2] N Bulusu,J Heidemaim.Estnn D GPS-less low-cost outdoor localization for very small devices[J].IEEE Personal Communications Magazine,2000,7(5):28-34.
[3] D Nieuleseu,B Nath.DV based positioning in ad hoc networks[J].In Journal of Telecommunication Systems,2003, 22(1-4):267-280.
[4] 黄春华,韦海清.基于RSSI测距误差修正的方法[J].传感器世界,2014,20(4):31-35.
[5] 杨文铂,邢鹏康,刘彦华.一种基于自适应RSSI测距模型的无线传感器网络定位算法[J].传感技术学报,2015,28(1): 137-141.
[6] 林玮,陈传峰.萃于RSSI的无线传感器网络三角形质心定位算法[J].现代电子技术,2009(2):181-182.
Triangular weighted centroid localization algorithm based on RSSI amend
TONG Li,ZHOU Ming-zheng∗
(College of Computer and Information,Anhui Polytechnic University,Wuhu 241000,China)
In wireless sensor networks,the node localization is one of the core technologies,which has a wide promising application.Because the error of measurement is relatively large in the node localization algorithm based on RSSI distance measurement,a new approximate triangular weighted centroid localization algorithm based on RSSI correction is proposed.The algorithm according to the RSSI ranging is easily interfered by the environment,so the paper applies Gauss fitting and mean value to the ranging data, and regards it as the node of RSSI measure-ment value.Based on this,sorting algorithm is used to sort the ranging results,and then the authors preferred beacon node to triangle point test.Finally,weighted centroid localization algorithm is used to determine the coordinates of the unknown nodes.The simulation results show that the improved algorithm enhances the localization accuracy of the nodes.
wireless sensor networks;node localization;RSSI distance;Gauss fitting;weighting
TP393
A
1672-2477(2015)04-0062-05
2015-05-14
童 莉(1982-),女,安徽宁国人,硕士研究生.
周鸣争(1958-),男,安徽枞阳人,教授,硕导.