一种基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)
一种基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)
文章目录
- 一种基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)
- 1.DV-hop算法原理
- 1.1 DV-Hop 算法中的平均跳距离估计算法
- 2.基于加权处理的平均跳距离估计算法
- 3.算法测试
- 4.参考文献
- 5.Matlab代码
摘要:定位技术是无线传感器网络的关键技术之一,传统 DV-Hop 定位算法只考虑了最近一个锚节点估计的平均跳距离值,而单个锚节点估计的平均跳距离值无法准确地反映网络的实际平均跳距离。本文提出了一种基于加权处理的平均跳距离估计算法,考虑多个锚节点估计的平均跳距离值,根据距离未知节点的跳数进行加权,使网络平均跳距离的估计更加准确。
1.DV-hop算法原理
DV-Hop 算法由 3 个阶段组成。首先使用典型的距离矢量交换协议,使网络中所有节点获得距锚节点的跳数。第 2阶段,在获得其他锚节点位置和跳数之后,锚节点估计网络平均跳距离,然后将其广播至网络中。平均跳距离值采用可控洪泛方法在网络中传播,使节点只接受最近的锚节点的
值。当接收到平均跳距离值之后,未知节点根据与锚节点之间的跳数计算与锚节点之间的距离。当未知节点获得与 3 个或更多锚节点的距离时,则在第 3 阶段执行三边测量定位。
1.1 DV-Hop 算法中的平均跳距离估计算法
DV-Hop 算法中未知节点接收距离自己最近的一个锚节点估计的平均每跳距离值作为自身的平均每跳距离值,具体计算平均跳距离的算法如下。
锚节点估计平均跳距离:
Si=∑j≠idij∑j≠iNij(1)S_{i}=\frac{\sum_{j \neq i} d_{i j}}{\sum_{j \neq i} N_{i j}}\tag{1} Si=∑j=iNij∑j=idij(1)
其中dij,Nijd_{ij},N_{ij}dij,Nij分别表示锚节点 iii 和 jjj 之间的距离和跳数,即锚节点iii估计的平均每跳距离值等于该锚节点与其他锚节点jjj 之间的距离之和除以该锚节点和其他锚节点的跳数之和。
未知节点将距离自己最近的锚节点 iii估计的平均每跳距离作为自身的平均每跳距离值,即
S=Si(2)S=S_i \tag{2} S=Si(2)
其中SSS是未知节点自身的平均每跳距离值,SiS_iSi 是离未知节点最近的锚节点估计的平均每跳距离值。未知节点则根据下述公式得到它与各个锚节点之间的距离did_idi
di=S×Ni(3)d_i=S\times N_i \tag{3} di=S×Ni(3)
2.基于加权处理的平均跳距离估计算法
基于加权处理的平均跳距离估计算法的基本思想如下:未知节点接收到多个锚节点的平均跳距离值后,对各个锚节点估计的平均跳距离值进行规一化加权处理,越近的锚节点的估计值赋给越大的权值。
这样的设计主要出于两个考虑:(1)对于网络来讲,单个锚节点估计的平均跳距离可能会产生比较大的偏差,如果未知节点以这个锚节点的估计值作为自身的平均跳距离就会造成该未知节点定位精度较低,从而影响整个网络的定位精度。因此需要综合考虑多个锚节点的平均跳距离以更为准确地估计平均跳距离;(2)对一个未知节点而言,与它距离不同的锚节点对其局部网络状态的反映是不一样的,离它更近的锚节点可能更为准确地反映它周围局部的网络实际平均每跳距离,因此需要给更近的锚节点赋以更大的权值。
下面具体介绍一下新算法中各个锚节点的加权值和未知节点的平均跳距离值的计算方法。为说明方便,将锚节点iii的估计的平均跳距离记为sis_isi,将未知节点距离锚节点iii的跳数记为NiN_iNi(其中 i=1,2,3…)。
假设未知节点共收到nnn个锚节点的信息,将每个锚节点的平均跳距离的加权值记为WiW_iWi ,则取
Wi=1/Ni∑j=1n1Nj(4)W_{i}=\frac{1 / N_{i}}{\sum_{j=1}^{n} \frac{1}{N_{j}}} \tag{4} Wi=∑j=1nNj11/Ni(4)
即锚节点 i 的加权值等于未知节点到锚节点 i 的跳数倒数除以该未知节点到各锚节点的跳数倒数和。这样做一个归一化的处理,使用统一标准对各个未知节点进行处理,并保证各个锚节点的权值之和为 1。同时通过对较近的锚节点赋以较大的权值区分了距离不同的锚节点对网络的实际平均每跳距离的反映程度。
根据每个锚节点估计的平均每跳距离距离,在 Weight-DV-Hop 算法中计算未知节点的平均每跳距离 SSS:
S=∑i=1nWiSi(5)S=\sum_{i=1}^{n} W_{i} S_{i} \tag{5} S=i=1∑nWiSi(5)
即未知节点的平均每跳距离等于每个锚节点平均每跳距离的加权值WiW_iWi与每个锚节点的平均每跳距离SiS_iSi 的乘积之和。这样各个锚节点的平均每跳距离值按照其离未知节点的距离进行了加权的处理,从而使未知节点的平均每跳距离的估计值更为准确,更好地反映了网络的实际平均每跳距离。
然后类似 DV-Hop 算法,根据式(3)计算未知节点与锚节点iii之间的距离did_idi。
与 DV-Hop 定位算法相比,Weight-DV-Hop 定位算法只是采用基于加权处理的平均跳距离替代DV-Hop中距离未知节点最近锚节点估计的平均跳距离,其它过程相同。
3.算法测试
设定节点覆盖范围为200x200,总节点数为:200,信标节点数50,通信半径为30,未知节点数为150。采用归一化平均定位误差作为评价指标:
error=∑i=1m(xi−xi∗)2+(yi−yi∗)2k∗m∗r(8)error = \frac{\sum_{i=1}^m\sqrt{(x_i-x_i^*)^2+(y_i-y_i^*)^2}}{k*m*r}\tag{8} error=k∗m∗r∑i=1m(xi−xi∗)2+(yi−yi∗)2(8)
式中,mmm为未知节点的数目;kkk为实验次数;rrr为节点的通信半径;(xi,yi)(x_i,y_i)(xi,yi)为未知节点的估计坐标;(xi∗,yi∗)(x_i^*,y_i^*)(xi∗,yi∗)为该未知节点的真实坐标。
wDV-hop的归一化定位误差:0.41648
4.参考文献
[1]刘锋,张翰,杨骥.一种基于加权处理的无线传感器网络平均跳距离估计算法[J].电子与信息学报,2008(05):1222-1225.
5.Matlab代码
一种基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)相关推荐
- 基于嵌入式系统linux无线传感器网络软件平台,基于嵌入式网络的无线传感器网络平台硬件和软件实现...
简要介绍资料的基于嵌入式网络的无线传感器网络平台硬件和软件实现主要内容,以获得更多的关注 随着技术的发展,基于分布式.无线传感器网络的应用也越来越多.本文提出了一个基于嵌入式系统的无线传感器网络实验平 ...
- 基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)
基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC) 无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工 ...
- 基于接收信号强度(RSS)的室内定位/无线传感器网络定位——极大似然估计ML/最小二乘估计WLS
基于接收信号强度(RSS)的室内定位/无线传感器网络定位--极大似然估计ML/最小二乘估计WLS 原创不易,路过的各位大佬请点个赞 针对AOA,TOA,TDOA,RSS等室内定位.导航的探讨.技术支持 ...
- 开源人工智能算法一种新颖的超像素采样网络深层特征来估计任务特定的超像素
开源人工智能算法一种新颖的超像素采样网络深层特征来估计任务特定的超像素摘要: 超像素提供图像数据的有效低/中级表示,这极大地减少了后续视觉任务的图像基元的数量. 现有的超像素算法无法区分,因此难以集成 ...
- 基于信息熵确立权重的topsis法_一种基于加权秩和比法的光伏并网逆变器多性能指标评价方法研究...
电能质量测试周马上就要开始,在各位粉丝阅读本篇推文之前,你的评论多少赞了?想要奖品的粉丝可得抓紧时间,活动截止之前都还有机会哦.点击下方链接赶快留言点赞吧! 电能质量测试周,让数据说话 作者:郑陆海 ...
- 基于共生生物搜索算法的无线传感器网络覆盖优化
文章目录 一.理论基础 1.节点覆盖模型 2.共生生物搜索算法(SOS) (1)种群初始化 (2)互利共生 (3)偏利共生 (4)寄生 二.仿真实验与分析 1.函数测试与数值分析 2.SOS优化WSN ...
- #每天一篇论文#238/365 基于注意力的上下文聚合网络用于单目视觉深度估计
Attention-based Context Aggregation Network forMonocular Depth Estimation 本文提出了一种在enconde阶段加入注意力网络结构 ...
- 无线传感器网络的时钟同步估计问题(Matlab代码实现)
- 【黑猩猩算法】基于加权反对技术和贪婪搜索进化黑猩猩优化算法求解多模态工程问题附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- CVPR2020 | 旷视研究院提出PVN3D:基于3D关键点投票网络的单目6DoF位姿估计算法
IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14- ...
最新文章
- VS2008中文正式版发布了,附下载链接!
- Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略
- 二十四、爬取古诗网中的100首古诗文
- 0002-Add Two Numbers(两数相加)
- C/C++学习之路: STL
- SAP Fiori Elements的change and save实现原理
- PS教程第十六课:图层是Ps的基石
- python-条件语句
- Node 实现 AES 加密,结果输出为“byte”。
- Zookeeper应用场景
- 但见苹果笑,那闻三星哭
- Linux学习笔记之(2)~linux目录树概览和说明
- “扫荡波”来袭 已造成大面积用户系统崩溃
- c++十六进制加法_16进制数之间的加法
- 翟东平微信公众号视频教程JAVA201810版3/3阶段-翟东平-专题视频课程
- 统计机器学习相关性分析
- Typora提示测试版过期,继续免费试用方法
- JAVA复健DateNote.001
- 计算机办公文档制作,办公室“大秘”教你:如何精确制作“红头文件”的“版记”?-红头文件格式...
- where和which的区别【定于从句】
热门文章
- 16.了解如何把vector和string数据传给旧的API
- ##HttpServletRequest 和 ##HttpServletResponse 基础知识
- 每天一道剑指offer-旋转数组的最小数字
- button执行onclick函数_【JavaScript】函数
- pycharm调节字体大小
- python可以移植哪些平台上_python移植到arm平台
- Node:正则验证手机号和身份证号
- Git:git同步git push时候提示filename too long解决办法
- Vue:vue中axios发起http请求报错net::ERR_CERT_DATE_INVALID
- Git:checkout命令无法切换回master