基于RSSI的无线传感器网络三角形质心定位算法
扫描二维码
随时随地手机看文章
摘 要:节点定位是无线传感器网络中的关键技术之一。基于RSSI的定位技术是现阶段研究的热点,为解决RSSI测量方法定位误差较大的问题,提出一种将RSSI测量方法与三角形质心算法相结合的新型定位算法,该算法用三角形质心算法减小RSSI的测量误差。仿真表明该算法比基于RSSI的三边测量法定位算法的定位精度有较大提高。
关键词:无线传感器网络;定位算法;RSSI;质心;三角形质心定位算法
0 引 言
无线传感器网络是面向事件的监测网络,对于大多数应用,不知道传感器位置而感知的数据是没有意义的。实时地确定事件发生的位置或获取消息的节点位置是传感器网络最基本的功能之一,也是提供监测事件位置信息的前提,所以定位技术对传感器网络应用的有效性起着关键的作用。
在无线传感器网络中,按节点位置估测机制,根据定位过程中是否测量节点间的实际距离或角度,可分为基于距离(Range—based)的定位算法和距离无关(Range—free)的定位算法。前者需要测量节点间的实际距离;后者是利用节点间的估计距离来计算末知节点的位置。在基于距离的定位算法中,测量节点间距离或方位时采用的方法有TOA(Time of Arrival),TDOA(Time Difference of Arrival),RSSI(ReceivedSignal Strength Indication)和AOA(Angle of Arri—val)。距离无关的算法主要有质心算法、DV—hop算法等。相比之下,基于距离的定位算法测量精度较高,距离无关的定位算法对硬件要求较低。
比较各种基于距离的测距算法,TOA需要精确的时钟同步,TDOA需要节点配备超声波收发装置,AOA需要有天线阵列或麦克风阵列,这三种算法对硬件要求较高。RSSI技术主要是用RF信号,而节点本身就具有无线通信能力,故其是一种低功耗、廉价的测距技术。
接收信号强度指示RSSI的定位方法,是在已知发射节点的发射信号强度,根据接收节点收到的信号强度,计算出信号的传播损耗,再利用理论和经验模型将传输损耗转化为距离,最后计算节点的位置。因为理论和经验模型的估测性质,故而RSSI具有较大定位误差。
基于RSSI技术,提出一种将RSSI测量方法与三角形质心算法相结合的新型定位算法,该算法用三角形质心算法减小RSSI的测量误差。仿真表明,该算法基于RSSI的三边测量法定位算法相比,极大提高了定位精度。
1 国内外相关研究
当无线信号在大气环境中传播时,由于多种因素影响,信号强度会随着其传播距离的增加而衰减。这表明,信号强度变化与传播距离间存在着某种函数关系,且通常情况下传感节点均可很容易配置测定接收信号强度的模块。所以,近年来研究人员开始将RSSI技术用于传感器节点定位中。
目前,对RSSI的研究主要有两个方面。一是,提高改良传输损耗模型,建立更符合实际环境的数学模型;二是,结合各种测量算法,减小传输损耗模型带来的误差。这里研究重点在第二个方面。
最早的研究人员使用RSSI加三边测量法的定位技术,如文献中的RADAR室内定位系统。
文献的作者提出采用交叠环定位的方式,利用包含未知节点的相互交叠的环形区域来定位未知节点。该方法只是比较相应RSSI的大小,并未利用它测距。文献提出一种加权质心定位算法,它提出信标节点影响力的概念,节点到信号源的距离越近,由RSSI值的偏差产生的绝对距离误差越小,影响力越大。影响力越大的信标节点对节点位置有更大的决定权。其采用优选信标节点的方式,根据信标节点对未知节点的不同影响力确定加权因子,以此来提高定位精度。
文献提出综合RSSI算法和切圆圆心法的RCM算法,提高了定位精度,仿真表明,在RSSI测距误差散布达到50%时,定位误差可降到10%以内。
2 基于RSSI的三角形质心算法模型
与文献一样,该算法针对大规模随机散布野外应用环境,这类应用大都不需要节点进行精确定位,只需要知道节点的大概区域就可满足需求,同时要求硬件成本低、定位过程通信开销小、节能。
2.1 基于RSSI的定位
RSSI测量,一般利用信号传播的经验模型与理论模型。
对于经验模型,在实际定位前,先选取若干测试点,记录在这些点各基站收到的信号强度,建立各个点上的位置和信号强度关系的离线数据库(x,y,ss1,ss2,ss3)。在实际定位时,根据测得的信号强度(ss1′,ss2′,ss3′)和数据库中记录的信号强度进行比较,信号强度均方差最小的那个点的坐标作为节点的坐标。
对于理论模型,常采用无线电传播路径损耗模型进行分析。常用的传播路径损耗模型有:自由空间传播模型、对数距离路径损耗模型、哈它模型、对数一常态分布模型等。自由空间无线电传播路径损耗模型为:
式中,d为距信源的距离,单位为km;f为频率,单位为MHz;k为路径衰减因子。其他的模型模拟现实环境,但与现实环境还是有一定的差距。比如对数一常态分布模型,其路径损耗的计算公式为:
式中,Xσ是平均值为O的高斯分布随机变数,其标准差范围为4~10;k的范围在2~5之间。取d=1,代入式(1)可得,LOSS,即PL(d0)的值。此时各未知节点接收锚节点信号时的信号强度为:
RSSI=发射功率+天线增益一路径损耗(PL(d))
2.2 基于RSSI的三角形质心定位算法的数学模型
不论哪种模型,计算出的接收信号强度总与实际情况下有误差,因为实际环境的复杂性,换算出的锚节点到未知节点的距离d总是大于实际两节点间的距离。如图1所示,锚节点A,B,C,未知节点D,根据RSSI模型计算出的节点A和D的距离为rA;节点B和D的距离为rB;节点C和D的距离为rC。分别以A,B,C为圆心;rA,rB,rC为半径画圆,可得交叠区域。这里的三角形质心定位算法的基本思想是:计算三圆交叠区域的3个特征点的坐标,以这三个点为三角形的顶点,未知点即为三角形质心,如图2所示,特征点为E,F,G,特征点E点的计算方法为:
同理,可计算出F,G,此时未知点的坐标为由仿真得,在图2中,实际点为D;三角形质心算法出的估计点为M;三边测量法算出的估计点为N。可知,三角形质心算法的准确度更高。
3 基于RSSI的三角形质心算法过程
3.1 步骤
(1)锚节点周期性向周围广播信息,信息中包括自身节点ID及坐标。普通节点收到该信息后,对同一锚节点的RSSI取均值。
(2)当普通节点收集到一定数量的锚节点信息时,不再接收新信息。普通节点根据RSSI从强到弱对锚节点排序,并建立RSSI值与节点到锚节点距离的映射。建立3个集合。
锚节点集合:
(3)选取RSSI值大的前几个锚节点进行自身定位计算。
在B_set:中优先选择RSSI值大的信标节点组合成下面的锚节点集合,这是提高定位精度的关键。
对锚节点集合,依次根据(3)式算出3个交点的坐标,最后由质心算法,得出未知节点坐标。
(4)对求出的未知节点坐标集合取平均,得未知节点坐标。
3.2 误差定义
定义定位误差为ER,假设得到的未知节点的坐标为(xm,ym),其真实位置为(x,y),则定位误差ER为:
4 仿 真
利用Matlab仿真工具模拟三角形质心算法,考察该算法的性能。假设在100 m×100 m的正方形区域内,36个锚节点均匀分布,未知节点70个,分别用三边测量法和三角形质心定位算法进行仿真,仿真结果如图3所示。由图3可知,三角形质心算法比三边测量法,定位精度更高,当测距误差变大时,用三角形质心算法得出的平均定位误差比用三边测量法得出的小得多。
5 结 语
在此提出了将RSSI方法和三角形质心定位算法相结合的方法,通过仿真实验,将该算法和三边测量算法相比较,证明了该算法的优越性。下一步将研究在锚节点数量不同时的平均定位误差。