一种应急环境下无线传感器网络节点定位方法

文档序号:8366058阅读:167来源:国知局
一种应急环境下无线传感器网络节点定位方法
【技术领域】
[0001] 本发明涉及无线传感器网络节点定位领域,具体是一种基于DV-HOP的改进分布 式节点定位方法。
【背景技术】
[0002] 节点定位是无线传感器网络中的一项关键技术,在灾难救援、危险环境监测等系 统中有着举足轻重的地位。1、节点的定位问题是许多应用的基础和核心,部署在监测区域 内的传感器节点必须先知道自身所在的位置才能为用户提供有实际意义的监测数据以及 实现对目标的跟踪和定位;2、无线传感器网络的其他许多技术的实现都需要节点定位技 术作为支撑,一些基于地理信息的路由协议需要依据节点的位置信息才能做出相应的路由 决策,使得路由过程具有明确的方向性,提高路由过程的效率;3、在应急环境下,无线传感 器网络一般都是由大规模的传感器节点随机分布在监测区域所组成的,在很多时候人很难 进入或不方便进入这些区域,因此预先对每个节点配置坐标是不现实的;4、传感器节点具 有体积小、成本低和能量有限等特点,如果给每个节点都装上GPS设备,虽能实现节点的定 位,但是这样不仅造成成本的大幅提升,也会使节点的能量消耗过大,因此也是不可行的。
[0003] DV-Hop是无线传感器网络中一种典型的无需测距的节点定位算法,具有分布式计 算、可扩展性强、对硬件要求不高等优点,在实际应用中广泛使用。但是,传统的DV-Hop算 法在估算未知节点与锚节点的距离时,使用全局网络的平均每跳距离与未知节点到锚节点 跳数的乘积作为估算值,在节点均匀分布的网络中,DV-Hop算法能够比较准确地估算出未 知节点与锚节点之间的距离,能够获取较高的定位精度。但是,在节点不规则分布的网络或 非凸区域的网络(如C型网络冲,由于计算出来的网络平均每跳距离与实际值相差很大,所 以用全局网络的平均每跳距离去估算节点间的距离时会产生较大的误差,并且这种误差会 随着未知节点与锚节点之间跳数的增加而累加。综上,传统的DV-Hop不适合在节点不规则 分布的网络或非凸区域的网络中使用。

【发明内容】

[0004] 1、本发明的目的。
[0005] 本发明针对传统的DV-Hop算法在节点不规则分布的网络或非凸区域的网络中传 感器节点定位误差较大的缺点,提出了一种基于DV-Hop的改进节点定位方法一Advanced DV-Hop(简称ADV-Hop),以改善定位算法对不规则网络拓扑的适应能力,提高定位精度,同 时,减少定位过程中的通信量和能量消耗。
[0006] 2、本发明所采用的技术方案。
[0007] 应急环境下无线传感器网络节点定位方法的具体步骤为: 步骤1、距离矢量交换 la、所有锚节点广播包含自身位置和初始跳数值为1的消息报文,且该消息报文初始 设定最大转发次数,每转发一次,该字段值减1,一旦该字段值减为〇则节点不对其进行转 发; lb、每个节点记录并维护一个到各个锚节点距离的信息表,当节点获取一个广播报文, 如果信息表中没有相应锚节点的记录,则保存广播包中的锚节点的位置坐标和跳计数,然 后更新广播包的跳计数递增1;如果信息表中已有该锚节点的记录,说明节点和该锚节点 之间存在多条通路,则比较信息表中的跳计数和广播包中的跳计数,如果广播包中的跳计 数小于信息表中的跳计数,则更新信息表中的跳计数,然后更新广播包中的跳计数递增1; 如果广播包中的跳计数不小于信息表中的跳计数,则舍弃该广播包,从而保证节点到锚节 点的路径为最小跳数; 1C、未丢弃的广播包根据转发次数字段判断是否需要转发给邻居节点,如果转发次数 大于0则以广播方式转发给所有的邻居节点,否则不进行转发,距离矢量交换阶段结束后, 网络中的所有节点都可以获取可达锚节点的位置坐标以及它们之间的最小跳数; 步骤2、获取网络平均每跳距离校正值 距离矢量交换阶段结束后,网络中的锚节点获取到其他锚节点的位置坐标和它们之间 的跳计数,然后计算校正值信息,并将校正值信息广播至网络中; 步骤3、网络中的未知节点接收并转发锚节点发布的校正值信息,保存收到的第一个 校正值信息,从而使节点从最近的锚节点接收校正值信息,获取该节点周围的平均每跳距 离; 步骤4、锚节点广播校正值信息。
[0008] 3、本发明的有益效果。
[0009] (1)、改善了传统DV-Hop算法对不规则网络拓扑的适应能力。在节点均匀分布或 随机分布的不同网络(如方形网络、C形网络等),本发明均能取得较好的定位精度,尤其是 在不规则网络拓扑下其定位效果较传统的DV-Hop算法有很大幅度的改善; (2)、减少了定位过程中的通信量以及节点的能量消耗。
【附图说明】
[0010] 图1为本发明的算法总流程。
[0011] 图2为本发明中锚节点收到广播消息的处理流程。
[0012] 图3为本发明中一般节点收到广播消息的处理流程。
【具体实施方式】 实施例
[0013] 本发明按照如下步骤进行:1、不使用全局网络的平均每跳距离去估算局部网络的 平均每跳距离,而使用各个局部网络分别估算所在小范围区域内的平均每跳距离的方法; 2、 锚节点估算所在局部区域的平均每跳距离时,根据跳数的多少分别估算2种平均每跳距 离,其中一种使用小跳数节点之间的距离计算,另一种使用较大跳数节点之间的距离计算; 3、 未知节点在估算与锚节点之间的距离时,根据跳数的多少使用不同的平均每跳距离进行 计算。而且,未知节点只选择离自身较近的锚节点信息进行定位计算,从而减少跳数增大带 来的误差累加。
[0014] 本发明执行的具体步骤为: (1)、距离矢量交换 所有锚节点广播包含自身位置和初始跳数值为1的消息报文,且该消息报文初始 设定最大转发次数,每转发一次,该字段值减1,一旦该字段值减为0则节点不对其进 行转发,。每个节点记录并维护一个到各个锚节点距离的信息表,表中条目的格式为 其中(.U)
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1