一种基于分簇的无线传感器网络移动锚节点定位算法_2

文档序号:8946254阅读:来源:国知局
锚节点先移动到其中任意一个节点,然后判断区域中是否还有节点未被定位,若有, 则锚节点移动到其中任意一个,直到区域中节点都完成自定位,则锚节点移动到下一个簇 首,后面的移动过程类似,直到整个区域内的节点都可以自定位,锚节点停止移动。正六边 形的边长L与簇首的通信半径R、未知节点的通信半径R。及锚节点通信半径RJ司存在如下 关系:
[0041] 步骤5中,当未知节点收到移动锚节点发来的位置信息时,将锚节点的位置信息 及RSSI值保存起来,若收到的位置信息达到3个就可以自定位;当未知节点收到来自不同 位置的第4个锚节点发来的消息时,若此时节点的误差比较大时,需要利用这个位置信息 重新定位,以便得到未知节点更加精确的位置。若是收到第5个锚节点发来的消息,做法同 上。
[0042] 首先部署网络,在确定了区域中簇头的个数后,对锚节点的具体的移动策略进行 规划。在网络中任选一个簇头,把它作为锚节点开始移动的位置。在本算法中,选择通信区 域内含未知节点最多的节点为簇头,它做为锚节点的初始移动位置。CMLA算法是为解决随 机模型中存在的共线问题而提出的。在定位开始之前,需要知道簇头、簇头标号及移动策 略。这样锚节点可以根据拓扑结构并按要求发送自己的位置信息,使网络区域内的待定位 节点可以完成定位。未知节点的位置由锚节点直接确定,或者通过接收到的锚节点的位置 信息并借助优化的三边定位法或者极大似然估计计算得到,该策略确保待监测区域内的所 有未知节点都可以完成自定位。
[0043]当未知节点收到移动锚节点发来的位置信息时,将锚节点的位置信息及RSSI值 保存起来,若收到的位置信息达到3个就可以自定位;当未知节点收到来自不同位置的第4 个锚节点发来的消息时,若此时节点的误差比较大时,需要利用这个位置信息重新定位,以 便得到未知节点更加精确的位置。若是收到第5个锚节点发来的消息,做法类似收到的第4 个节点。所以当未知节点收到多个锚节点发来的消息时,需要在定位的过程中加进各种优 化的方法,进行优化式的定位,以便得到未知节点的更加准确的位置。
[0044] 在CMLA算法中,簇首间的移动是根据簇首间的距离,距正在访问的簇首最近且未 被访问的簇首是下一次要移动到的目的地,簇首的移动路径也是锚节点移动路径的主线。 当锚节点到达簇首后,其先判断簇首区域内未知节点的个数,若大于等于6个,则锚节点沿 着以簇首为中心点的正六边形移动,正六边形的偏转角度值是这个簇首与下一次要移动到 的簇首的连线的倾斜角。为了保证簇首区域内的未知节点都可以正确的自定位,正六边形 的边长至少等于簇首区域的外切正六边形的边长,即正六边形的边长至少是簇首区域半径 的2/#V咅;若区域内未知节点的个数小于6个,则锚节点先移动到其中任意一个节点,然 后判断区域中是否还有节点未被定位,若有,则锚节点移动到其中任意一个,直到区域中节 点都完成自定位,则锚节点移动到下一个簇首,后面的移动过程类似,直到整个区域内的节 点都可以自定位,锚节点停止移动。根据以上分析,正六边形的边长L与簇首的通信半径R、 未知节点的通信半径R。及锚节点通信半径RJ司存在如下关系:
[0046] 下面结合仿真实例,进一步说明本发明的有益效果。
[0047] 具体实施为对基于分簇的无线传感器网络移动锚节点定位算法进行模拟仿真,仿 真平台为MATLAB仿真基本实验参数设定如下:设仿真区域为正方形,边长L为IOOm;未知 节点的个数为100,节点在区域中随机布放,移动锚节点的通信半径为Rffl;未知节点的通信 半径为R。;簇首通信半径为R,由未知节点转化而成的静态锚节点的通信半径为15m,簇首 通信半径为17m。
[0048] 按照如上基本实验参数设定,改变锚节点通信半径,运行CMLA算法,观察分析定 位覆盖率的变化,结果如图2所示。可以看出,随着锚节点通信半径的增加,定位覆盖率总 体趋先是逐渐增大而后趋于稳定。由于受RSSI值的影响,定位覆盖率在小范围内有些波 动。根据这一试验结果可知,当锚节点通信半径达到一定值后,定位覆盖率已很高了,当锚 节点通信半径增大到20m后,定位覆盖率高达95%,所以锚节点的通信半径可以取得一个 合适的值,不一定是越大越好,因为锚节点的通信半径越大,则耗能也越大,进而会增大整 个系统的能耗。
[0049] 设置代码显示移动路径长度随着锚节点通信变化的改变,结果如图3所示。可以 看出,锚节点的移动路径长度的变化是不均匀的,这是由RSSI测距引起的,RSSI测距易受 外界环境的干扰,所以每次测得的RSSI值不一定相同,于是对区域内未知节点的定位产生 影响,进而影响锚节点的移动路径。在CMLA算法进行定位时,锚节点的移动路径是动态变 化的,因而会对锚节点的移动路径产生影响,所以该算法的动态性也会使锚节点的移动路 径产生波动。虽然路径长度有所波动,通过观察图3可知,在本次仿真中当锚节点的通信半 径为22m时,锚节点的移动的路径长度相对较小。
[0050] 设置代码显示节点定位效果图,结果如图4所示,图中短线为节点实际位置和计 算得到的位置间的差值。通过观察图4可知,定位误差大的不一定是边界区域的点;节点定 位的误差偶有几个误差相对大些的,其他的都较小,节点的总体定位效果较好。
[0051] 本发明在把分簇的思想引入到了移动锚节点的动态路径规划过程中,使得锚节点 的移动路径中无效路径的存在减小,同时在具有较多节点的簇中移动的路径为正六边形, 这使得未知节点收到的虚拟信标成正三角形的几率大大增加,因此提高了定位精度。
【主权项】
1. 一种基于分簇的无线传感器网络移动锚节点定位算法,其特征在于: (1) 确定网络区域中的簇头节点,选择通信范围内含未知节点最多的点为簇头并将整 个簇进行标记,除去标记节点继续按上述要求选择簇头,直到所有节点都被标记; (2) 锚节点选择有最多待定未知节点的簇的簇首位置作为初始位置,准备按规划好的 路径策略进行移动; (3) 当锚节点到达簇首后,判断簇首区域内未知节点的个数,若大于等于6个,则锚节 点沿着以簇首为中心点的正六边形移动,正六边形的偏转角度值是这个簇首与下一次要移 动到的簇首的连线的倾斜角,若未知节点小于6个,则锚节点直接向未知节点移动; (4) 锚节点在每个簇首、正六边形的顶点及移动到的未知节点处广播自己的位置消 息; (5) 当未知节点接收到3个及以上的虚拟锚节点的位置消息后,未知节点进行自定位 或重定位; (6) 判断区域内节点是否都已完成自定位,若是则锚节点停止移动,定位完成,否则,锚 节点向下一个簇进行移动,在簇内继续按照步骤3进行移动。2. 根据权利要求1所述的一种基于分簇的无线传感器网络移动锚节点定位算法,其特 征在于:所述步骤(3)中正六边形的边长与簇首的通信半径、未知节点的通信半径及锚节 点通信半径间存在如下关系:其中,L为正六边形的边长,R为簇首的通信半径,R。为未知节点的通信半径,R "为锚节 点通信半径。3. 根据权利要求1或2所述的一种基于分簇的无线传感器网络移动锚节点定位算法, 其特征在于:当所述步骤5中的节点达到转化为静态锚节点的条件时,将该节点转变为静 态锚节点,参与到区域内未知节点的定位过程中。
【专利摘要】本发明涉及一种基于分簇的无线传感器网络移动锚节点定位算法。本发明包括:确定网络区域中的簇头节点,选择通信范围内含未知节点最多的点为簇头并将整个簇进行标记,除去标记节点继续按上述要求选择簇头,直到所有节点都被标记;锚节点选择有最多待定未知节点的簇的簇首位置作为初始位置,准备按规划好的路径策略进行移动。本发明有效且低成本得解决了锚节点共线问题。传统移动模型在定位时需要借助雷达等外设或者增加一些信号接收阵列装置来解决此问题,而本算法在具有较多节点的簇内的移动路径为以簇首为中心的正六边形,大大减小了未知节点收到三个共线的位置信息的可能性。
【IPC分类】H04W84/18, H04W64/00, H04W4/02
【公开号】CN105163280
【申请号】CN201510522234
【发明人】蔡绍滨, 潘实, 王念滨, 张志强, 潘海为, 冯晓宁, 谢晓芹, 周连科
【申请人】哈尔滨工程大学
【公开日】2015年12月16日
【申请日】2015年8月24日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1