- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于优化算法的无线传感器网络定位算法
摘要:该文提出一种基于遗传模拟退火算法的定位算法。在现有的定位算法中,DV-Hop算法的硬件开销小,但定位精度不高,当网络中节点的跳数大于或等于2时,未知节点与锚节点之间的估计距离会产生较大的误差,为此本文将遗传模拟退火算法用于DV-Hop算法中,以提高节点间的平均每跳通信距离估计精度,进一步提高定位精度。仿真结果与分析表明,新算法的定位精度有一定的提高。
关键词:定位算法;遗传算法;模拟退火;DV-Hop
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)04-0775-02
无线传感器网络(Wireless Sensor Network,WSN)是由大量的廉价微型传感器节点通过无线通信方式形成的一个多跳的自组织网络系统,而定位是WSN的一个关键问题。节点准确地进行自身定位在无线传感器网络的应用中非常重要。首先,传感器节点采集到的数据必须结合其位置信息才有意义,否则,如果不知道数据所对应的地理位置,数据就失去意义。其次,无线传感器网络节点自身定位还可以在外部目标的定位和追踪以及提高路由效率等方面发挥作用。因此,实现节点的自身定位对无线传感器网络有着重要的意义。
现有的WSN定位算法是根据少量的位置已知的节点(锚节点)以及它们与其他节点的通信信息来估算整个网络中每个节点的位置。WSN定位算法可分为基于距离信息(Range-Based)和不基于距离信息(Range-Free)两类,前者是根据节点间的距离或角度等信息定位,后者仅仅根据节点间的连通信息实现节点定位。本文主要是对不基于距离信息的定位算法DV-Hop进行研究并改进。
1 DV-Hop算法
1.1 DV-Hop算法
DV-Hop算法由三个阶段组成。
第一阶段,使用典型的距离矢量交换协议,使网络中所有未知节点获得距初始锚节点的跳数;
第二阶段,在获得其他锚节点位置(xj,yj)和相隔跳数后,各锚节点(xi,yi)利用所收集的信息按式(1)计算平均跳距:
(1)
式中si是锚节点i的平均每跳距离,hij为节点i和节点j之间的跳数;然后将平均每跳距离作为一个校正值广播至网络中。校正值采用可控洪泛法在网络中传播,这意味着一个节点仅接收获得的第一个校正值,而丢弃所有后来者,这个策略确保了绝大多数节点可以从最近的锚节点接收校正值。在大型网络中,可通过为数据包设置一个TTL域来减少通信量。当接收到校正值之后,节点根据跳数计算与锚节点之间的距离。
第三阶段,在二维空间中,一旦一个未知节点获得与3个或更多锚节点的距离后,执行三边测量法或最大似然估计法计算自身的位置。
如图1所示,已知信标节点L1与L2,L3之间的距离和跳数。L2计算得到校正值(即平均每跳距离)(40+75)/(2+5)=16.42。假设A从L2获得校正值,则它与3个信标节点之间d1=3×16.42,d2=2×16.42,d3=3×16.42,然后使用三边测量法确定节点A的位置。
1.2 DV-Hop算法中锚节点平均每跳距离现有的改进方法
原DV-Hop算法的主要误差在于计算未知节点与锚节点之间的估计距离时,是用跳数乘以平均每跳距离来表示,而当网络中的跳数大于或等于2跳时,未知节点与锚节点之间的实际距离与跳数乘以平均每跳距离所得的值,存在较大的误差,因此如何提高锚节点的平均每跳距离的估计精度是本文改进的出发点。
文献[2]中对算法改进的思想为:
当所有的节点获得每跳距离后,使用公式(其中Hopsizei为单个节点的每跳距离,n为锚节点个数)计算全网平均每跳距离,并将该值用于di=hops*Hopsizeave中,计算未知节点与锚节点之间的距离。
文献[3]中对算法改进的思想为:
未知节点在接收多个锚节点的平均每跳距离后,对各锚节点估计的平均每跳距离作归一化加权处理,离未知节点越近的锚节点的权值越大。
记锚节点i估计的平均每跳距离为si、未知节点距锚节点i的跳数为Ni,其中i=1,2…。设未知节点共收到k个锚节点的信息,每个锚节点的平均每跳距离的加权值为Wi,则取,即锚节点i的权值等于未知节点到锚节点j的跳数的倒数除以该未知节点到各锚节点的跳数的倒数和。由各锚节点估计的平均每跳距离,可得未知节点的平均跳距为,即未知节点的平均每跳估计等于各锚节点估计的平均每跳距离的加权和。
文献[6]中对算法的改进思想为:
为了充分利用各锚节点的信息,未知节点不仅仅记录接受到的第一个平均每跳距离,而是记录所有锚节点的平均每跳距离,然后进行加权平均。考虑到各锚节点距离未知节点的远近不同,对不同锚节点的平均每跳距离赋予不同的权值,权值取决于未知节
文档评论(0)