1 / 12
文档名称:

基于蝙蝠式算法的DV-hop算法改进.docx

格式:docx   大小:852KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于蝙蝠式算法的DV-hop算法改进.docx

上传人:bai1968104 2018/1/19 文件大小:852 KB

下载得到文件列表

基于蝙蝠式算法的DV-hop算法改进.docx

相关文档

文档介绍

文档介绍:MATLAB大作业
题目:基于蝙蝠算法的DV-Hop算法改进
院(系) 信息工程学院
专业班级 12级网络工程本(1)班
学号
学生姓名
指导教师
目录
1 引言 3
2 DV-Hop定位算法及误差分析 3
DV-Hop定位算法工作步骤 3
DV-Hop定位误差分析 5
3 BADV-Hop算法的节点定位 5
改进的蝙蝠算法 5
适应值函数设计 6
BADV-Hop算法的节点定位步骤 7
BADV-Hop算法的工作流程 7
4 仿真实例 8
仿真环境 8
结果与分析 9
5 结束语 11
摘要:为了减少DV-Hop算法对于无线传感网络的定位误差,我利用编蝠算法(BA)和DV-Hop算法相融合的传感器节点定位方法(BADV-Hop)。在DV-Hop算法的第三阶段,利用编蝠算法代替最小二乘法来计算未知节点的坐标,以降低定位误差。相对于DV-Hop算法,BADV-Hop算法提高了传感器的节点定位精度,具有较高的应用价值,利用MATLAB仿真工具仿真出的结果验证了BADV-Hop的有效性。
关键词: DV-Hop算法; 编蝠算法;节点定位
1 引言
无线传感器网络的关键技术是节点定位技术,当前传感器节点定位算法分为:距离有关和距离无关的定位算法[2]。距离有关定位算法由于受到外界环境因素的干扰比较大,所以获得的误差较大,且成本高[3];距离无关定位算法主要有质心算法、DV-Hop算法,这类定位算法无需额外硬件支持,功耗低,成为当前主要研究方向[4-5]。DV-Hop算法实现比较简单,只需要少量的锚节点就可以实现对未知节点的定位,备受关注,但是精度有待提高[6]。为此,学者们提出一些改进的DV-Hop算法,如文献[7]中将RSSI策略引入到DV-Hop算法节点距离计算中,减小节点间误差,提高定位精度;文献[8]在DV-Hop算法中引入介质访问机制来调节距离误差;文献[9]通过引入最佳调整因子对每个锚节点计算的距离进行修正,从而减小了平均跳距的计算误差。采用遗传算法、模拟退火算法、蛙跳算法、粒子群算法等群智能算法对DV-Hop算法的误差进行校正,一定程度上提高了DV-Hop算法的定位精度[9-11]。
蝙蝠算法(BA)是一种群智能优化算法,在准确性和有效性方面相较其他算法有很大优势,且没有许多参数要调整,为DV-Hop算法误差校正提供了一种新的研究思路[1-2]。
为了减少无线传感器网络节点的定位误差,提出一种改进蝙蝠算法(BA)和DV-Hop算法相融合的传感器节点定位方法(BA-DVHop)。在DV-Hop算法的第三阶段,利用蝙蝠算法代替最小二乘法来计算未知节点的坐标,并对蝙蝠算法进行改进避免算法陷入局部最优,最后在Matlab上对算法性能进行仿真分析。仿真结果表明,BADV-hop定位算法在不同锚节点密度、不同通信半径、不同节点数量以及定位精确度等方面表现出良好性能。
2 DV-Hop定位算法及误差分析
DV-Hop定位算法工作步骤
第一阶段:计算节点的最小跳数。信标节点向网络发送一个广播信号,邻居节点接收到
信号后,记录信标节点的坐标信息,并保存每个信标节点的最小跳数,然后向其他的邻居传感器节点传播,通过该方法,WSN网络中全部节点可以得到信标节点的位置信息和与信标
节点间的跳数。
第二阶段:估算到信标节点的跳段距离。通过第一阶段后,每个信标节点就可以得到其他信标节点的坐标值和跳数,然后通过式(1)计算平均每跳距离,同时将每跳平均距离广播至网络中,未知节点将平均每跳距离值与最小跳数值相乘,得到其与信标节点间的距离:
(1)
式中,hi是信标节点i和j之间的跳数,(xi,yi)、(xi,yi)是信标节点i,j的坐标。
第三阶段:通过最大似然法计算自身位置。设P1(x1,y1),P2(X2,Y2),…,Pn(Xn,yn) 表示n个信标节点的坐标位置,待定位节点位置为(x,y) ,其与信标节点估计距离分别为d1,d2,…dn-1,可以建立式(2)的方程:
(2)
第一个方程组减去最后一个方程后,得到:
(3)
用线性方程组表示为AL=b,其中:
在无线传感器节点测距过程中,不可避免会产生一些随机误差,这样线性方程组为AL+N=b,N为误差向量,最小二乘法的求解方程为:
(4)
DV-Hop定位误差分析
设信标节点(xi,yi),i=1,2,…,n,与未知节点(x,y)的实际距离为ri,i=1,2,∙∙∙,n测距误差为εi ,那么ri-di<εi,i=1,2,∙∙∙,n。根据式(2)可知,(x,y)应该满足如下约束条件:
(5)
求解(x,y),使得: