基于跳数阈值优化平均跳距的改进DV-Hop定位方法

文档序号:9915089阅读:2459来源:国知局
基于跳数阈值优化平均跳距的改进DV-Hop定位方法
【技术领域】
[0001]本发明涉及一种基于跳数阈值优化平均跳距的改进DV-Hop定位方法,属于无线传 感器网络技术领域。
【背景技术】
[0002] DV-Hop算法是一种非测距分布式的、逐跳的定位算法,这种算法的实现主要包括 三个步骤。
[0003] 第一步:未知节点获取锚节点坐标信息和到锚节点最小跳数
[0004] 锚节点通过洪泛(Flooding)方式广播自身的坐标信息,其中初始跳数为0,未知节 点接收并记录到每个锚节点的最小跳数,同时忽略到同一锚节点其他跳数较大的路径,然 后将跳数值加1,并转发给邻居节点。通过这个机制,网络中的所有节点都能得到自己距离 每个锚节点的最小跳数。
[0005] 第二步:估计未知节点到锚节点距离
[0006] 锚节点得到其他所有锚节点的最小跳数和坐标,然后估算自己的平均跳距,把它 计算出的平均跳距广播到整个网络。在接收到最近锚节点的平均跳距之后,未知节点将平 均跳距乘以到锚节点最小跳数,得到未知节点到锚节点的估计距离。
[0007] 第t个锚节点的平均跳距由下面的公式得到:
[0009] 其中:(xt,yt)和(xk,yk)分别是锚节点t和锚节点k的坐标,htk是锚节点S t和Sk之间 的最小跳数。
[0010]第三步:计算未知节点坐标
[0011]未知节点通过最小二乘法计算出自身坐标。未知节点U的坐标为(x,y),锚节点Sk (k=l,2,···,Nk)的坐标为(xk,yk),未知节点与锚节点间的距离为dk(k=l,2,···,Nk)。未知 节点U与k个锚节点的距离方程为:
[0013]未知节点U可由下面的方程得到:
[0017] 其中:χ=(ΑτΑ)-Vb。
[0018] DV-Hop算法存在的问题及分析
[0019] DV-Hop定位算法的优势在于计算过程简单,对硬件要求较低,但是存在定位误差 比较大的不足。通过分析研究,误差产生的来源主要包括以下几点:
[0020] (1)首先在原始DV-Hop定位算法中的第(1)阶段,由于传感器节点随机分布性和洪 泛广播分组过程中可能存在广播冲突等因素,节点到锚节点的最小跳数存在一定的偏差 性,且跳数越多,偏差越大。由此偏差带来的误差影响DV-Hop算法中并没有考虑。
[0021] (2)锚节点采用公式(1)计算平均跳距时,利用的是除自身外的所有锚节点,所以 得到的平均跳距能够反映全局范围内的节点平均密度情况,但不能反映本锚节点局部范围 内的网络密度分布情况。因此,在密度均匀的各向同性网络中计算出的平均跳距与真实平 均跳距间的误差相对较小,但在密度不均匀的各向异性网络中将造成较大的误差。
[0022] (3)当未知节点到锚节点的跳数2 2时,误差将会累计。跳数越大,误差累积值越 大,因此导致DV-Hop算法的估算距离与真实距离间存在较大的误差,且误差的大小与跳数 成正比。平均跳距乘以跳数的估计距离也只是对真实距离的一种估算,不可避免会存在着 误差,锚节点与未知节点跳数越多,估计距离的误差也就越大,利用较远锚节点的估计距离 信息参与位置计算,反而可能降低了定位结果的精确度。
[0023] (4)未知节点的定位阶段,锚节点的迭代定位会使误差积累。因为下一轮可能会在 前一轮定位误差的基础上引入新的误差而累计出更大误差,当网络规模较大时,累积误差 将会导致极大的定位误差。
[0024]通过以上对于DV-Hop算法的分析可以知道算法产生误差主要是由未知节点平均 跳距的不准确以及到参与计算的锚节点的距离误差较大,针对DV-Hop算法存在的定位误差 较大,提出一种基于跳数阈值优化平均跳距的改进DV-Hop定位方法。

【发明内容】

[0025]针对DV-Hop算法存在的定位误差较大,本发明提供一种基于跳数阈值优化平均跳 距的改进DV_Hop(Threshold mechanism and Correcting distance DV-Hop,TMCD_DV_ Hop)定位方法。
[0026]本发明采用以下技术方案来实现:首先计算跳数阈值,考虑最近锚节点之外的其 他锚节点在局部范围和全局范围的影响,依据阈值选择最优的校正平均跳距来估计距离, 并对参与定位的单跳通信半径内的锚节点进行组合优化后,采用质心算法得到一个估计坐 标,同时利用加权最小二乘法得到另一个估计坐标,最后以两个估计坐标的算术平均值作 为未知节点的定位坐标。
[0027]本发明具体包括以下步骤:
[0028] S1:节点部署前,获取监测区域长度,锚节点密度,通信半径等;
[0029] S2:在监测区域随机分布部署节点,形成无线传感器网络;
[0030] S3:跳数阈值的取值与通信半径、锚节点密度密切相关,阈值的取值设定;
[0031] S4:网络中所有节点获取每个锚节点的最小跳数和未知节点获取最近锚节点的平 均跳距;
[0032] S5:校正未知节点接收的平均跳距;
[0033] S6:依据跳数阈值选择最优的校正平均跳距来估计距离;
[0034] S7:对参与定位的单跳通信半径内的锚节点进行组合优化后,采用质心算法得到 一个未知节点估计坐标;
[0035 ] S8:利用加权最小二乘法得到未知节点另一个估计坐标;
[0036] S9:以质心估计坐标和加权最小二乘法估计坐标的算术平均值作为未知节点的定 位坐标。
[0037]本发明的有益效果:在不改变DV-Hop算法的总体框架下,在距离估计阶段和未知 节点定位阶段进行改进:距离估计阶段,考虑最近锚节点之外的其他锚节点在局部范围和 全局范围的影响,依据阈值选择最优的校正平均跳距来估计距离;未知节点定位阶段,对参 与定位的单跳通信半径内锚节点组合进行优化,以质心法以及加权最小二乘法的两个估计 坐标算术平均值作为未知节点的定位坐标。本发明在充分利用网络中锚节点信息的同时, 更好地反映了网络的实际状态,提高平均跳距的准确性。通过仿真表明,改进DV-Hop算法在 不需额外硬件设备的情况下,可以有效降低测距误差,提高定位精度。
【附图说明】
[0038]图1为改进的DV-Hop定位方法流程图;
[0039] 图2为平局定位覆盖率比较曲线图;
[0040] 图3为平均定位误差与锚节点数量关系图;
[0041 ]图4为平均定位误差与未知节点数量关系图;
[0042]图5为平均定位误差与通信半径关系图。
【具体实施方式】
[0043]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明 而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价 形式的修改均落于本申请所附权利要求所限定的范围。
[0044] 一种基于跳数阈值优化平均跳距的改进DV-Hop定位方法,下面对本发明的创新点 进行详细阐述:
[0045] 第一步:阈值取值设定
[0046] 在LXL的定位区域中,未知节点乂41 = 1,2,~,吣),锚节点51{仏=1,2,~,池)的坐 标为(xk,yk),节点通信半径为R,跳数阈值V的取值与通信半径、锚节点密度密切相关,一般 来说V由公式(6)确定。
[0048]其中:P是锚节点密度。为提高节点定位率和定位精度,V的取值通常要比理论值稍 大一些,根据大量仿真实验结果表明,一般V的取值为2~5,即可达到理想的定位精度。 [0049] 第二步:平均跳距校正
[0050]在算法的距离估计阶段,本文提出了另一种方法。如图所示,未知节点A不再使用 最近锚节点B1的平均跳距来计算到各个锚节点的距离,而是每个锚节点的平均跳距都参与 未知节点A的距离计算。当每个锚节点用公式(1)算出平均跳距后,需要进一步校正。通过欧 几里得公式算出所有锚节点之间的距离,用锚节点之间的距离减去估计距离得到估计距离 的误差,然后除以总跳数得到单跳平均误差,其计算方法如式(7)所示。然后根据式(8)计算 校正之后的平均跳距,再乘以跳数得到到各锚节点的距离。经过跳距校正之后,未知节点A 的定位误差明显比原始算法的少。
[0052]则锚节点校正平均跳距为:
[0053] ? = Hopsizel +st .(.8)
[0054] 当节点随机分布在监测区域中,网络拓扑结构不规则,所以未知节点定位需要考 虑全局与局部范围来校正平均跳距,选择出最优平均跳距以降低不同的网络密度对锚节点 平均跳距的误差影响,使未知节点到锚节点的估计距离更加准确,从而提高定位精度。首先 从全局范围来考虑,把所有相互通信的锚节点按跳数n(l<n<V)分类记录下来,计算出全 局η跳的单跳平均跳距ζ,:
[0056] 依据大量实验表明,当锚节点跳数1!>¥,未知节点的定位从单个锚节点的局部范 围来考虑,远比从全局范围来考虑时的定位误差小。把其他锚节点到未知节点按跳数η分类 记录,利用公式(8)计算出锚节点局部η跳的单跳平均跳距h n。
[0057] 一般情况下,定位误差服从高斯分布,根据参数估计理论,作为估计子误差的代价 函数,使用均方误差比使用方差或偏差更为合理 [13]。即
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1