一种基于传输延迟的无线传感器网络环形定位方法及其改进方法
技术领域
本发明涉及一种无线传感器网络环形定位方法,属于无线通信领域。
背景技术
无线传感器网络(Wireless Sensor Networks,WSN)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。
位置信息对传感器网络的监测活动至关重要,事件发生的位置或获取信息的节点位置是传感器节点监测消息中所包含的重要信息,如环境监测区域定位、森林火灾现场定位、战场上敌方车辆运动区域定位、天然气管道泄漏的具体地点定位等位置信息十分重要,是提供系统决策的重要依据。
在WSN中,节点定位主要分成两大类:第一类为基于测距range based的定位方法,如Amorphous方法、HCRL方法、DHL方法等;第二类为距离无关range free的定位方法,如质心定位方法、APIT方法、Bounding Box方法等。
质心定位方法利用锚节点的信息,通过在传感器节点间建立起一定的空间几何关系,求出未知节点坐标。目前有许多关于质心定位方法的研究。如密度自适应HEAP算法研究在锚节点密度低的区域增加锚节点来提高定位精度;近似三角形内点测试法(APIT)采用确定多个包含未知节点的三角形区域,其交集是一个多边形,不断缩小包含未知节点的区域,通过计算多边形区域的质心确定未知节点;基于弧心的节点定位算法提出确定出包括未知节点的扇形区域,以该扇形区域的质心作为未知节点的估计位置。
无线传感器网络的定位系统和算法的性能直接影响其可用性,对于它们的评价 主要有以下几个标准:
①定位误差:根据算法估计出的位置与真实位置之间的偏差。②锚节点密度:在网络中已知自身位置的节点占总节点数的比例。③功耗:定位所需的计算量、通信开销、存储开销等。④定位代价:包括时间、空间、成本等多种代价,主要是由定位算法决定的节点的硬件设施。
同心圆定位方法是一种精度较高的区域估计定位方法,未知节点首先根据节点广播的信息确定自己在以该节点为圆心的哪个圆环内,若干包含该未知节点的圆环的交集就是包含该未知节点的区域。
同心圆改进方法提出节点以由小到大的不同功率广播信标信号,未知节点首先确定自己在每个节点的哪个圆环内,然后未知节点广播精确化信息,每个未知节点根据收到的其他未知节点的精确化信息对自己之前确定的圆环再进行划分,划分为宽度更小的圆环,从而确定出更加精细的圆环的交集。
但是同心圆的定位方法及其改进方法需要节点重复发送信号,浪费了大量的能量,而且能量与精度之间很难协调。如果想要精度更高,则需要频繁广播信号,浪费大量能量;如果想要节能,则圆环太大,将会严重影响定位精度。
发明内容
本发明的目的在于克服上述现有定位方法的不足,提出一种基于传输延迟的无线传感器网络环形定位方法,定位精度高,功耗低。
并在此基础上,提出进一步的环形定位方法的改进方法,可使定位精度更高。
为了达到上述目的,本发明提供了一种基于传输延迟的无线传感器网络环形定位方法。
该方法利用锚节点先向周围节点广播自己的位置信息,确定自己通信半径内的未知节点及其他节点编号。
然后以该锚节点为圆心,分别以它到附近其他节点间的距离为半径画圆。
这样,把整个定位空间划分为各个大大小小的同心圆,未知节点通过判断自己是否在某个同心圆环内,最终能找到包含自己的最小圆环。
以不同锚节点做圆心,可以找到一系列这样的最小圆环。
最后,取这些最小圆环的交集作为未知节点的所在的估算区域,取这些估算区域的质心作为未知节点的位置估计坐标。
为了达到上述的本发明的目的,本发明在基于传输延迟的无线传感器网络环形定位方法基础上的还提供了改进方法,将最小圆环再次划分为更小的圆环,得到更加精确最小区域。
本发明是通过以下技术方案实现的,具体包括以下步骤:
步骤一,信息提取,这一步中,各锚节点向周围广播自己的位置信息,其他节点收到信息后,记录下该信息到达的时间。锚节点为自身的精确位置已知且通信能力较为强大的一类节点。
步骤二,为每个未知节点设定精度标识Flag,初始值设为1。这个标识符用来标识未知节点是否需要继续进行精确化。如果需要继续进行精确化则Flag=1,不需要则Flag=0。为每个未知节点设置一个最终精确化次数n,设当前精确化次数初始值Sn为0;
步骤三,如果未知节点的Flag=1,并且Sn<=n,则进行如下操作:
1)计算圆心节点发出的信号到达中界线处的时间
式中,T
外为圆心节点发出的信号到达外环的时间,T
内为圆心节点发出的信号到达内环的时间;
2)判断圆环圆心节点发出的信号到达未知节点X的时间TX是否大于T中,如果TX<=T中,则去掉外环信息,中界线则为新环的外环。否则,去掉内环信息,中界线则为新环的内环。
3)将Sn加1,判断Sn的值,如果Sn>n,则完成精确化过程,结束该未知节点区域估算;如果Sn<=n,则继续步骤二。
步骤四,其他节点重复以上步骤,直至找到最小估算区域,将最小估算区域的质心坐标作为未知节点的估算坐标。
本发明所产生的有益效果:本发明的环形定位方法及其改进方法与无线传感器网络节点定位的同心圆方法及其改进方法相比,降低了能耗,且具有更高的定位精度。
附图说明
图1为本发明环形定位方法示意图;
图2为本发明环形定位方法的改进方法的圆环模型;
图3为本发明环形定位方法的改进方法示意图;
图4为本发明交集区域确定示意图;
图5为本发明方法仿真结果示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
实施例1
如图1所示,使用本发明的基于传输延迟的无线传感器网络环形定位方法,实现对一未知节点X的位置进行定位。锚节点A、B、C先向周围节点广播自己的位置信息,确定自己通信半径内的未知节点及其他节点编号。然后以该锚节点A、B、C为圆心,分别以它到附近其他节点间的距离为半径画圆。以锚节点A为圆心,分别以它到节点a1间的距离R_A1和它到节点a2间的距离R_A2为半径分别画圆。以锚节点B为圆心,分别以它到节点b1间的距离R_B1别和它到节点b2间的距离R_B2为半径分别画圆。同理,以锚节点C为圆心进行同样操作。这样,把整个定位空间划分为各个大大小小的同心圆,未知节点X通过判断自己是否在某个同心圆环内,最终能找到包含自己的最小圆环。以不同锚节点做圆心,可以找到一系列这样的圆环,最后,取这些最小圆环的交集Z(图1中斜线区域)作为未知节点X的所在的估算区域,取这些估计区域的质心作为未知节点的位置估计坐标。
实施例2
在实施例1的基于传输延迟的无线传感器网络环形定位方法的基础上,可使用本发明的改进方法,对未知节点的位置进行更精确的定位。
在实施例1中使用环形定位方法确定了估算区域后,改进方法是将圆环再次进 行划分,划分为宽度更小的圆环。如图2所示,图中虚线所示为二次划分的中界线,中界线可根据信号到达外环及内环的时间计算得到。假设从锚节点A为圆心处信号到达外环的时间T外及到达内环的时间T内分别为10ns、5ns,我们认为中界线即为外环与内环的中间位置处,则信号到达中界线的位置处为7.5ns,并且信号到达未知节点X处的时间为9ns,则中界线位置处所确定的圆环必定在未知节点X的内侧。
实施例3
在实施例1、实施例2的基础上,使用本发明的基于传输延迟的无线传感器网络环形定位方法的改进方法,对未知节点X的位置进行更精确的定位。
如图3所示,在使用环形定位方法确定了估算区域Z后,将圆环再次进行划分,划分为宽度更小的圆环,根据信号到达外环及内环的时间计算得到虚线所示的二次划分的中界线,图中中界线分别为以锚节点A为圆心、以R_A12为半径所示的虚线,以锚节点B为圆心、以R_B12为半径所示的虚线,锚节点C为圆心、以R_C12为半径所示的虚线。根据信号到达未知节点X处的时间,可判断未知节点X相对于各中界线所处的位置。这样,可得到比实施例1中更加精确的圆环交集,取这些最小圆环的交集Z(图3中斜线区域)作为未知节点X的所在的估算区域,取这些估计区域的质心作为未知节点的位置估计坐标。
根据不同环境下的精度需求,可对圆环进行多次这种方式的划分,直至得到最终高精度的最小区域。
实施例4
本发明中的方法求环形区域是通过计算正方形个数得到的,把二维平面划分成无数个小正方形,小正方形是如图4中所示的小圆点,每四个相邻的小圆点表示一个小正方形,设置方块号对应的扫描次数初始值为0,在实际计算中,将小正方形所处位置的中心坐标作为小正方形的近似位置,相交区域置于空间中,通过扫描小正方形中心坐标,可得到交集的近似大小,如图4所示。
步骤1,信息提取,锚节点广播信息,根据未知节点接收到的信号,求出未知节点定位所需的锚节点编号,填入表1中。例如未知节点X1定位所需的已知节点编号为 51,68,88……490。同时,其他锚节点监听锚节点的广播信息,得到各锚节点的信号传播到自己位置时所用的时间,并填充表2。例如将1号锚结点的信号到达待定位结点处的时间填入表2(1,1)表项中,1号锚结点的信号到达2号锚结点处的时间填入表2(1,2)表项中,依次填充。同时,有可能出现I号锚结点与J号锚结点相隔距离太远,这2个锚结点虽然都能被待定位的普通结点监听到,但互相之间不能监听到,则普通结点接收到的信息仍然不能填充(I,J)和(J,I)项,这样填入一个特殊的数-1代表监听不到,这些信息将不会再次被利用。
步骤2,求最小圆环过程,依次扫描表2中各行,即比较某个锚节点位置信息到达未知节点、其他锚节点的时间大小,根据时间大小确定定位圆环大小。例如在表2中扫描第1行,获得51号锚节点与该区域内其他节点之间的通信距离,得知与该节点到达68号锚节点的时间为(51,68)=11.854,而该节点到达88号锚节点的时间为(51,88)=22.476,该节点到达待定位节点处的时间为(51,51)=12.174。由此,得出未知节点(待定位节点)的位置介于以51号锚节点为圆心,分别以(51,68),(51,88)之间距离为半径的环形内部。如此,通过比较一行数据的大小关系,可以找到最小的一个圆环。这时计算这个最小的圆环扫过的哪些小正方形,将扫过的方块所对应的表3中的表项中的值增加。依次扫描表2中的各行,可以得到以不同锚结点为圆心的最小的圆环。
步骤3,求所有环形交集。也就是求出空间中被扫过次数最多的小正方形的位置。扫描表3找到值最高的那些表项,其对应的空间区域就是所有环形的交集区域。
步骤4,求出这个交集区域的近似质心位置,作为未知节点的近似定位坐标。
表1各未知节点保存定位所需已知节点位置信息
表2某未知节点保存已知节点时间信息(单位:ns)
表3某未知节点保存小正方形被扫面次数
实施例5
为了进一步说明本发明的方法,以一仿真实施例分别对环形定位方法,环形定位改进方法,同心圆定位方法,同心圆定位改进方法进行仿真比较。采用NS2(Network Simulator version 2)作为环形定位方法仿真平台,NS2由美国国防部高级研究计划局资助.伯克利大学1989年开始开发的一种源代码开放的共享软件,是一种可扩展、可重用、基于离散事件驱动、面向对象的仿真软件。主要针对有线局域网、无线局域网、Ad hoc网络、卫星通信网、路由选择协议、组播路由协议等进行网络模拟仿真。
仿真环境:在20*20的方形区域内随机分布1000个节点,节点之间通信无阻,精确化算法的精确次数设为固定值2,在仿真环境中随机选取20个节点作为未知节点进行仿真,连续进行50次实验,锚节点比例由5%变化到10%,每次增加0.5%,即锚节点个数由50变化到100,每次增加5个锚节点。定位误差为:
x
real分别表示横坐标的理论计算值、真实值,
y
real分别表示纵坐标的理论计算值、真实值,N表示仿真的节点总数。
分别对环形定位方法,环形定位改进方法,同心圆定位方法,同心圆定位改进方法进行仿真,得到结果如图5所示(图中横坐标表示锚节点占节点总数的百分比,纵坐标表示定位误差,Concentric Anchor Beacon、Improved Concentric Anchor Beacon、Circular Localization Algorithm、Improved Circular Localization Algorithm分别表示同心圆定位方法,同心圆定位改进方法,环形定位方法,环形定位改进方法)。
从图5中可以看出,在实验中,随着锚节点个数增加,环形定位方法相对于同心圆定位方法及环形定位改进方法相对于同心圆定位改进方法定位精度有大幅提升,在锚节点比例达到9%时,精度达到一个稳定的状态。
本发明的定位方法与已有的同心圆定位方法相比,节省了大量的通信能量开销。设同心圆定位方法每个节点(节点为n个)发送功率为P
1,P
2,P
3……P
n,传播时间为T
1,T
2,T
3……T
n,同心圆改进方法精确m次,能量与传播距离近似为线性关系,功率P
n所传播最大距离为该节点的通信半径。则同心圆定位方法每个节点所需能量为
同心圆改进方法每个节点所需能量近似为
而本发明的环形定位方法及其改进方法所需能量为E
3=P
nT
n。显然,本发明的方法所需能量比同心圆定位方法及其改进方法小了很多。
本发明的方法占用内存空间跟未知节点个数m及每个未知节点所需已知节点个数n有关,则表1占用的内存大小为
表2占用的内存大小为O(n
2)。表3占用的内存大小与小正方形个数n
1有关,表4占用内存大小为O(n
1)。因此,空间复杂度为O(m·n)+O(n
2)+O(n
1)。