CN110996388B - 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法 - Google Patents

基于锚节点选择及随机抽样粒子群的DV-Hop定位方法 Download PDF

Info

Publication number
CN110996388B
CN110996388B CN201911265975.6A CN201911265975A CN110996388B CN 110996388 B CN110996388 B CN 110996388B CN 201911265975 A CN201911265975 A CN 201911265975A CN 110996388 B CN110996388 B CN 110996388B
Authority
CN
China
Prior art keywords
anchor node
node
distance
anchor
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911265975.6A
Other languages
English (en)
Other versions
CN110996388A (zh
Inventor
孙丽君
宋晓东
陈天飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan University of Technology
Original Assignee
Henan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan University of Technology filed Critical Henan University of Technology
Priority to CN201911265975.6A priority Critical patent/CN110996388B/zh
Publication of CN110996388A publication Critical patent/CN110996388A/zh
Application granted granted Critical
Publication of CN110996388B publication Critical patent/CN110996388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明提出了一种基于锚节点选择及随机抽样粒子群的DV‑Hop定位方法,其步骤为:锚节点广播数据包,在锚节点集中选择距离目标锚节点最近的锚节点作为中间锚节点,利用中间锚节点估算未知节点与目标锚节点的第一距离;根据DV‑Hop定位算法求解出未知节点与锚节点之间的第二距离;对计算出来的第一距离和第二距离加权求和得到最终的估算距离;根据粒子群算法的收敛性确定其惯性权重和两个学习因子的取值区间,在取值空间内随机抽样取值更新粒子群的速度位置,得到优化的粒子群算法;利用最终的估算距离建立目标函数,利用优化的粒子种群算法求解未知节点的坐标。本发明不仅在定位精度上要显著优于现有算法,且在定位稳定性方面得到明显改善。

Description

基于锚节点选择及随机抽样粒子群的DV-Hop定位方法
技术领域
本发明涉及无线传感器网络的技术领域,尤其涉及一种基于锚节点选择及随机抽样粒子群的DV-Hop定位方法。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是由大量成本低廉,具有感知、计算以及无线通信能力的传感器节点组成的网络。WSN在军事、医疗、环境监测等领域有很高的应用价值。其中节点位置信息是WSN的重要基础,也是必不可少的研究环节。因此,WSN中节点定位问题是一大研究热点。
对节点定位的研究方向主要分为基于测距(range-based)和无需测距(range-free)两类。基于测距的算法利用节点之间的距离、角度、信号强度等进行计算,几种常见的方法有:基于信号传输时间的方法(TOA)、基于信号传输时间差的方法(TDOA)、基于接收信号强度指示(RSSI)和基于信号角度的方法(AOA)。上述方法可以获得较高的定位精度,但与无需测距算法相比较,对硬件环境的要求较高。DV-Hop算法是典型基于无需测距的节点定位算法,通过求取锚节点的平均跳距来获得未知节点的平均跳距,根据跳距与跳数值来获得节点之间的距离。由于求取平均跳距时存在一定的误差,进而导致节点定位存在误差。
王兴等利用锚节点定位误差来修正未知节点的坐标误差,利用锚节点间的估计距离,将估计误差大的锚节点剔除掉,然后计算锚节点估算坐标的误差,未知节点接受此误差并用此修正自身误差,参考文献[1]---[王兴,聂云峰,徐飞飞.一种基于坐标改正的改进DV-Hop定位算法[J].传感技术学报,2017(10):1560-1564.]。纪杰等在求解锚节点的平均跳距后,取所有锚节点跳距的平均值作为未知节点的平均跳距,并在求取差值的过程中将未知量移到同一侧,从而提高算法的精度,参考文献[2]---[纪杰,施伟斌.改进的无线传感器网络DV-Hop节点定位算法[J].电子科技,2016(10):86-89.]。石为人等通过锚节点实际距离和估计距离的误差来修正每跳平均距离。改进DV-Hop节点坐标计算方法,摒弃传统的三边定位算法而采用新的二维双曲线定位算法计算节点坐标。最后求得包含误差修正值的最终节点坐标,它更接近实际节点坐标,参考文献[3]---[石为人,贾传江,梁焕焕.一种改进的无线传感器网络DV-Hop定位算法[J].传感技术学报,2011,24(1):83-87.]。这些算法都是先利用锚节点间的定位误差,来修正平均跳距或者未知节点的坐标,或者对最小二乘法优化。赵菊敏等对锚节点进行了误差加权处理,在定位阶段采用粒子群对定位结果进行修正,参考文献[4]---[赵菊敏,李灯熬,武健.基于DV-hop定位的误差加权改进算法[J].自动化仪表,2014,35(7):1-4.]。
因此,目前基本DV-Hop定位算法及其一些改进算法普遍都采用求取锚节点间的误差修正模式,没有充分利用锚节点之间的实际距离这一有效信息。此外,为了进一步降低DV-Hop算法的误差,拟采用优化的粒子群算法来求解未知节点的坐标。
发明内容
针对现有DV-Hop定位方法计算的节点间估算距离误差较大,采用最小二乘法求解坐标精度不高的技术问题,本发明提出一种基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,提高了节点间距离估算及未知节点位置求解的精度。
为了达到上述目的,本发明的技术方案是这样实现的:一种基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其步骤如下:
步骤一:锚节点广播数据包,选择距离未知节点最近的至少两个锚节点组成锚节点集,在锚节点集中选择距离目标锚节点最近的锚节点作为中间锚节点,利用中间锚节点估算未知节点与目标锚节点的第一距离;
步骤二:根据DV-Hop定位算法求解出未知节点与锚节点之间的第二距离;
步骤三:根据中间锚节点分别与目标锚节点、未知节点及未知节点与目标锚节点形成的三条线段能否组成三角形进行对权重的计算,对计算出来的第一距离和第二距离加权求和得到最终的估算距离;
步骤四:根据粒子群算法的收敛性确定其惯性权重和两个学习因子的取值区间,在相应取值空间内随机抽样取值更新粒子群的速度和位置,从粒子群中选择最优的至少四个粒子产生新的粒子,利用新的粒子对种群最优值的每一维更新,得到优化的粒子群算法;
步骤五:利用步骤三得到的最终的估算距离建立目标函数,利用步骤四优化的粒子种群算法求解未知节点的坐标。
所述步骤一中利用中间锚节点估算未知节点与目标锚节点的第一距离的计算方法为:
步骤1:在未知节点周围选出距离其最近的若干锚节点组成锚节点集,在锚节点集中找出距离目标锚节点最近的一个锚节点当作中间锚节点;
步骤2:根据DV-Hop定位算法计算出未知节点a与中间锚节点之间的距离da,l3,将距离da,l3与中间锚节点和目标锚节点之间的距离相加求和,为利用中间锚节点所估算的未知节点与目标锚节点的第一距离d'。
所述步骤一中所有锚节点先创建一个初始化的信息分组表{xi,yi,hi,ID},其中,{xi,yi}为自身的坐标,初始跳数hi=1,ID为自己独有的标志;锚节点向邻居节点广播自身信息分组,、位于锚节点传播范围内的邻居节点接收到该信息分组,如果该信息分组是来自同一锚节点的跳数值较大的信息分组,则抛弃该信息分组,否则将其记录下来,再将信息分组表内的跳数hi加1后转发;所述中间锚节点为锚节点集中接收未知节点发送信息最先的锚节点。
所述步骤二中根据DV-Hop定位算法求解第二距离的方法为:
A:求解平均跳距:
当锚节点接收到其它锚节点的坐标信息及与其跳数值后,计算每个锚节点的平均跳距值:
Figure GDA0002610021920000031
其中,Hopi表示锚节点i的平均跳距,(xi,yi)、(xj,yj)分别表示锚节点i和锚节点j的坐标,hij表示锚节点i和锚节点j之间的最小跳数值;
B:估算锚节点之间的距离:未知节点选择距离其最近的锚节点的平均跳距,未知节点a到锚节点i的距离计算为:d″ai=Hopa*hai
其中,Hopa表示未知节点的平均的跳距、hai表示未知节点和锚节点之间的最小跳数。
所述权重的计算步骤为:计算中间锚节点l3与目标锚节点l1之间的真实距离dl1,l3,按照DV-Hop定位算法估算未知节点a分别和中间锚节点l3、目标锚节点l1之间的距离d″a,l3,d″a,l1,则权重ω的确定方法为:
情况1:距离dl1,l3,d″a,l3,d″a,l1能够组成三角形即dl1,l3+d″a,l3>d″a,l1,权重
Figure GDA0002610021920000032
其中,
Figure GDA0002610021920000033
表示中间锚节点l3和目标锚节点l1之间的直线、未知节点和中间锚节点l3所在直线的夹角;
情况2:其他:ω=0。
所述最终的估算距离为:
destimate=(1-ω)*d″+ω*d′;
其中,d'表示按照步骤一计算出来的距离;d”表示按照步骤二计算出来的距离。
所述优化的粒子群算法的实现方法为:
S1:两个学习因子c1和c2在固定参数区间内随机抽样取值,在确定学习因子c1和c2的取值后,计算出惯性权重ω1的取值范围:
Figure GDA0002610021920000041
Figure GDA0002610021920000042
惯性权重ω1在取值区间[ωminmax]的中值附近随机抽样取值;
其中,ωmin和ωmax表示权重ω的最大值和最小值,μ和σ2分别表示粒子群算法中随机变量
Figure GDA0002610021920000045
的均值和方差;
S2:利用步骤S1随机抽样取值的惯性权重ω1和两个学习因子c1和c2更新粒子群的位置和速度;
S3:更新完粒子群的位置后,从种群中选择出最优的5个粒子,对这5个粒子计算所对应维度的平均值、中间值、绝对值最大值、绝对值最小值,从而产生4个新的粒子参与种群最优的竞争中,从而选出种群最优矩阵;
S4:对种群最优值进行逐维更新。
所述步骤S3中5个粒子所对应维度的平均值、中间值、绝对值最大值、绝对值最小值分别为:
平均值X1,j=mean(Xm,j)m=1,…5.;
中间值X2,j=median(X(:,j));
绝对值最大值
Figure GDA0002610021920000043
绝对值最小值
Figure GDA0002610021920000044
其中,j表示粒子的维度,Xm,j表示到第m个粒子的第j维度,X(:,j)表示第1~m粒子第j维度的值。
所述步骤S4中对种群最优值进行逐维更新的方法为:
(1)在粒子对每一维更新时,从这些粒子中随机选择两个维度的值,组成矩阵;
(2)从矩阵和种群最优值所对应的维度中找出最大值和最小值,并将最大值和最小组成区间;
(3)将区间平均分割成两个小区间,在每个小区间分别随机选择一个数;
(4)将两个数带入种群最优矩阵Pg所对应的维度,分别求取适应度,将最佳的作为对应维度的值。
所述步骤五中目标函数的表达式为:
Figure GDA0002610021920000051
其中,(x,y)为未知节点的坐标,di表示最终的锚节点i与未知节点的估算距离destimate,(xi,yi)表示锚节点的坐标,m表示锚节点个数,利用优化的粒子群算法求目标函数f(x,y),求得的坐标(x,y)使目标函数f(x,y)的值最小即为未知节点的坐标。
本发明的有益效果:在未知节点的周围选择距离其最近的若干锚节点,从这些锚节点中选择距离目标锚节点最近的一个作为中间锚节点。然后将中间锚节点和目标锚节点之间的实际距离,与中间锚节点和未知节点的估计距离求和作为未知节点与目标节点的一种距离估算;然后再按照DV-Hop算法求解未知节点与目标锚节点之间的距离;对这两种距离采用加权求和,权值采用中间锚节点分别与目标锚节点及未知节点的连线角度值;对粒子群优化时,首先对三个参数值采用随机抽样进行取值更新粒子的位置,然后,在每次迭代时选择种群中最优的5个粒子,按照取5个粒子所对应维度的平均值、中间值、绝对值最大值、绝对值最小值的方法产生4个新的粒子参与种群最优的竞争中,最后,对最优粒子进行逐维更新;在估算出节点之间的距离后,利用优化的粒子群算法来求解未知节点的坐标。本发明采用中间锚节点的方法计算节点之间的距离,并且根据角度值来确定权重,对求取的两种距离加权求和,优化了粒子群算法来用求解未知节点的坐标方程;最后,仿真的分析比较验证了本发明不仅在定位精度上要显著优于现有算法,且在定位稳定性方面也得到了明显改善。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
图2为本发明中间锚节点与目标锚节点、未知节点的网络拓扑示例图。
图3为本发明与现有算法的定位误差曲线图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其构思是:采用基于目标锚节点与中间锚节点实际距离的求解方式,利用中间锚节点与未知节点的估算距离,与目标锚节点之间的实际距离求和,作为节点间的一种距离估算方法。利用DV-Hop算法求解节点之间的距离,根据连线之间的角度值作为权重对两种距离加权求和;然后对粒子群的三个参数值采用随机抽样的取值方式,在更新完粒子的位置后,选择群体中最优的5个粒子,按照取5个粒子所对应维度的平均值、中间值、绝对值最大值、绝对值最小值的方法产生4个新的粒子,参与种群最优值的竞争,再对种群最优值进行逐维更新。最后,使用优化的粒子群算法求解未知节点的坐标。
本发明采用DV-Hop算法求解节点间距离,以及用中间锚节点的估算节点之间的距离,然后根据连线之间的角度值来设计权重。最后,利用优化的粒子群算法求解节点的坐标位置,其具体步骤为:
步骤一:锚节点广播数据包,选择距离未知节点最近的至少两个锚节点组成锚节点集,在锚节点集中选择距离目标锚节点最近的锚节点作为中间锚节点,利用中间锚节点估算未知节点与目标锚节点的第一距离。
所有信标节点先创建一个初始化的信息分组表{xi,yi,hi,ID},其中包括自身坐标{xi,yi},初始跳数hi=1以及自己独有的ID。信标节点向邻居节点广播自身信息分组,由于节点发射功率的限制,只有位于节点传播范围内的邻居节点才能接收到该信息分组。邻居节点接收到这些信息分组后,如果该信息分组是来自同一信标节点的跳数值较大的信息分组,则抛弃该信息分组,否则将其记录下来,再将信息分组表内的跳数hi加1后转发。
采用中间锚节点估算未知节点与目标锚节点的第一距离的方法为:找出中间锚节点,利用中间锚节点与目标锚节点、未知节点的距离,求取目标锚节点与未知节点的距离。如图2所示,利用中间锚节点估算未知节点与目标节点之间距离的示意图,其计算方法为:
步骤1:在未知节点周围选出距离其最近的若干锚节点l2,l3,l4组成锚节点集,在锚节点集中找出距离目标锚节点最近的一个锚节点l3,当作中间锚节点。
根据接收信息的先后次序,最先接受,说明距离最近。选择距离未知节点最近的若干锚节点,可以使估算目标锚节点与未知节点之间的距离时,误差较小;从中找出距离目标锚节点最近的一个,使中间锚节点尽可能落在目标锚节点与未知节点的连线上,从而使估算距离更加准确。
步骤2:根据DV-Hop定位算法计算出未知节点a与中间锚节点l3之间的距离da,l3,然后距离da,l3与中间锚节点和目标锚节点之间的距离dl1,l3相加求和,即为利用中间锚节点所估算的未知节点与目标锚节点的第一距离d'。
目标锚节点与中间锚节点之间的距离为实际所测距离,误差较小,而中间锚节点又是距离未知节点较近的。因此,估算的第一距离误差较小。
步骤二:根据DV-Hop定位算法求解出未知节点与锚节点之间的第二距离。
所述步骤二中根据DV-Hop定位算法求解出未知节点与目标锚节点之间的第二距离的估算方法为:
A:求解平均跳距:
当锚节点接收到其它锚节点的坐标信息及与其跳数值后,计算每个锚节点的平均跳距值:
Figure GDA0002610021920000071
其中,Hopi表示锚节点i的平均跳距,(xi,yi)、(xj,yj)分别表示锚节点i和锚节点j的坐标,hij表示锚节点i和锚节点j之间的最小跳数值。
将锚节点间的距离相加除以跳数值和得到锚节点平均跳距,用来估算未知节点与锚节点之间的距离。
B:估算锚节点之间的距离:
未知节点选择距离其最近的锚节点的平均跳距,未知节点a到锚节点i的距离计算为:
d″ai=Hopa*hai
其中,Hopa表示未知节点的平均的跳距、hai表示未知节点和锚节点之间的最小跳数。在图2中假设距离未知节点a最近的的锚节点为l3则未知节点a的平均跳距来自中间锚节点l3,未知节点a与中间锚节点l3之间的距离为未知节点a的平均跳距乘以跳数1(中间锚节点l3相当于公式中的i)。
通过网络泛洪的方式,未知节点仅记录接收到的第一个平均跳距,从而使未知节点接收最近的锚节点的平均跳距,使两者的网络拓扑尽可能相似。在求解平均跳距时,即为直线距离除以跳数值,因此,将未知节点的平均跳距与对应的锚节点的跳数值相乘,得到的数值与直线距离也较为接近,从而得到节点之间的估算距离---第二距离d”。第二距离d”计算的是未知节点和锚节点之间的距离。
步骤三:求解中间锚节点分别与目标锚节点、未知节点两条线段所组成的角度值作为权重,对计算出来的第一距离和第二距离加权求和得到最终的估算距离。
所述得到权重的实施步骤为:计算中间锚节点l3与目标锚节点l1之间的真实距离dl1,l3,计算按照DV-Hop定位算法估算的未知节点a分别和中间锚节点l3、目标锚节点l1之间的距离d″a,l3,d″a,l1,则权重ω的确定方法为:
情况1:距离dl1,l3,d″a,l3,d″a,l1能够组成三角形即dl1,l3+d″a,l3>d″a,l1,权重
Figure GDA0002610021920000081
其中,
Figure GDA0002610021920000082
表示∠l1 l3 a的大小,角度越大,则说明中间锚节点所在曲线越接近直线,即连接节点l1、l3和节点a、l3的直线,准确性越高,因此所占的比重也就越大。
情况2:ω=0。在其它一些别的情况下,按照DV-Hop定位算法来估计它们之间的距离。
最终的估算距离为:
destimate=(1-ω)*d″+ω*d′;
d'表示按照步骤一计算出来的距离;d”表示按照步骤二计算出来的距离。destimate为最终的距离估算结果。权重ω能反映中间锚节点所在曲线的直线度,角度值越大,则说明曲线越直,其距离与真实距离差距也越小,所占比重也越大。
如图2所示,连接目标锚节点l1和中间锚节点l3,中间锚节点l3和位置节点a的这条线,假设曲度越小,则越接近直线,则按照步骤一计算出来的距离越接近真实距离。
步骤四:根据粒子群算法的收敛性确定其惯性权重和两个学习因子的取值区间,在相应取值空间内随机抽样取值更新粒子群的速度和位置,从粒子群中选择最优的至少四个粒子产生新的粒子,利用新的粒子与5个粒子之间的关系对种群最优值的每一维更新,得到优化的粒子群算法。
所述优化的粒子群算法的实现方法为:
S1:两个学习因子c1和c2在固定参数区间内随机抽样取值,在确定学习因子c1和c2的取值后,按照下面的两个公式计算出惯性权重ω1的取值范围,惯性权重ω1在取值区间[ωminmax]的中值附近随机抽样取值。
Figure GDA0002610021920000083
Figure GDA0002610021920000091
其中,ωmin和ωmax表示权重ω1的最大值和最小值,μ和σ2分别表示随机变量
Figure GDA0002610021920000092
的均值和方差。
Figure GDA0002610021920000093
Figure GDA0002610021920000094
PSO(粒子群算法)模型可写成下式:
Figure GDA0002610021920000095
其中,
Figure GDA0002610021920000096
Figure GDA0002610021920000097
分别为服从于[0,c1],[0,c2]的均匀分布,则均值
Figure GDA0002610021920000098
方差
Figure GDA0002610021920000099
Figure GDA00026100219200000910
位置xt+1=xi(t+1),速度vt=vi(t),vt+1=vi(t+1),并假设p(t)=pi(t)=pg(t)。
通过对粒子群的收敛性分析,确定参数取值与粒子收敛之间的关系从而使参数的值能够保证粒子收敛。c1,c2的取值范围为[0,2],一般根据经验的得到。
S2:利用随机抽样取值的惯性权重ω1和两个学习因子c1和c2更新粒子群的位置和速度:
具体操作为:按照步骤S1选择出学习因子c1、c2和惯性权重ω1,然后按照粒子群的速度和位置的公式进行更新:
Figure GDA00026100219200000911
xi(t+1)=xi(t)+vi(t+1);vi(t+1)表示粒子i在t+1时刻的速度,vi(t)表示粒子i在t时刻的速度,xi(t+1)表示粒子i在t+1时刻的位置xi(t)表示粒子i在t时刻的位置。r1,r2表示学习因子,由经验或自己设计,pi(t)表示个体最优值pg(t)表示种群整体最优。
S3:更新完粒子群的位置后,从种群中选择出最优的5个粒子,对这5个粒子按下式计算所对应维度的平均值、中间值、绝对值最大值、绝对值最小值,从而产生4个新的粒子参与种群最优的竞争中,从而选出种群最优矩阵。
平均值X1,j=mean(Xm,j)m=1,…5.;
中间值X2,j=median(X(:,j));
绝对值最大值
Figure GDA00026100219200000912
绝对值最小值
Figure GDA00026100219200000913
其中,j表示粒子的维度,Xm,j表示到第m个粒子的第j维度,X(:,j)表示第1~m粒子第j维度的值,m为粒子的个数即上述5个粒子,上面4个公式求出的值可以理解为是求取平均值、中间值、绝对值最大值、绝对值最小值。
通过上式对5个最优粒子的处理,产生4个新的粒子,参与种群最优值的竞争,可以发现不同粒子维度之间存在的较优值,充分利用粒子的不同维度值。
S4:对种群最优值按照下面方法进行逐维更新:
(1)在粒子对每一维更新时,从这些粒子中随机选择两个维度的值,组成矩阵;
(2)从矩阵和种群最优值所对应的维度中找出最大值和最小值,并将最大值和最小组成区间;
(3)将区间平均分割成两个小区间,在每个小区间分别随机选择一个数。
(4)将两个数带入种群最优矩阵Pg所对应的维度,分别求取适应度,将最佳的作为对应维度的值。
假设有5个粒子,粒子的维度为10,从10个维度中随机选择2个维度,如1,3。从这5个粒子中都选择出第1,3维度,共10个数,这10中选择最大和最小值,组成一个取值范围,在将这个取值范围平分,在每个区域随机选择一个数。
通过对种群最优值逐维更新,可以充分利用不同维度之间的信息,避免错过粒子在某一维的最优解或者解空间,提高算法的精度。
步骤五:利用步骤三得到的最终的估算距离建立目标函数,利用步骤四优化的粒子种群算法求解未知节点的坐标。
在估算出未知节点与目标锚节点的距离后,用优化的粒子群求取节点的位置,目标函数表达式如下所示:
Figure GDA0002610021920000101
其中,(x,y)为未知节点的坐标,di表示最终的估算距离destimate,(xi,yi)表示锚节点的坐标,m表示锚节点个数,求得(x,y)使目标函数值最小。
依次求取未知节点(x,y)与所有锚节点之间的距离,通过使求得的距离与上述估算距离之间的差值和最小,所求结果即为未知节点的坐标,利用优化的粒子群算法求解此函数,使求解的结果更准确。
按照本发明的方法,在100m×100m的仿真网络区域内,随机布置100个传感器节点,并且锚节点的个数分别为20、25、30、35、40个,每个节点的最大通信半径为30m;各个定位算法独立运行100次,计算定位精度的平均值。基本DV-Hop算法、参考文献[1]算法、参考文献[2]算法、参考文献[3]算法、参考文献[4]算法所提算法和本发明方法的实验结果如图3所示。从图3中的仿真结果可验证:本发明结合了中间锚节点与优化的粒子群算法,其定位精度最好,结果要显著优于其余算法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,其步骤如下:
步骤一:锚节点广播数据包,选择距离未知节点最近的至少两个锚节点组成锚节点集,在锚节点集中选择距离目标锚节点最近的锚节点作为中间锚节点,利用中间锚节点估算未知节点与目标锚节点的第一距离;
利用中间锚节点估算未知节点与目标锚节点的第一距离的计算方法为:
步骤1:在未知节点周围选出距离其最近的若干锚节点组成锚节点集,在锚节点集中找出距离目标锚节点最近的一个锚节点当作中间锚节点;
步骤2:根据DV-Hop定位算法计算出未知节点a与中间锚节点之间的距离da,l3,将距离da,l3与中间锚节点和目标锚节点之间的距离相加求和,为利用中间锚节点所估算的未知节点与目标锚节点的第一距离d';
步骤二:根据DV-Hop定位算法求解出未知节点与锚节点之间的第二距离;
步骤三:通过中间锚节点分别与目标锚节点、未知节点及未知节点与目标锚节点之间的距离计算权重,所述权重的计算步骤为:计算中间锚节点l3与目标锚节点l1之间的真实距离dl1,l3,按照DV-Hop定位算法估算未知节点a分别和中间锚节点l3、目标锚节点l1之间的距离d″a,l3,d″a,l1,则权重ω的确定方法为:
情况1:距离dl1,l3,d″a,l3,d″a,l1能够组成三角形即dl1,l3+d″a,l3>d″a,l1,权重
Figure FDA0002610021910000011
其中,
Figure FDA0002610021910000012
表示中间锚节点l3和目标锚节点l1之间的直线、未知节点和中间锚节点l3所在直线的夹角;
情况2:其他:ω=0;
然后对计算出来的第一距离和第二距离加权求和得到最终的估算距离;
步骤四:根据粒子群算法的收敛性确定其惯性权重和两个学习因子的取值区间,在相应取值空间内随机抽样取值更新粒子群的速度和位置,从粒子群中选择最优的至少四个粒子产生新的粒子,利用新的粒子对种群最优值的每一维更新,得到优化的粒子群算法;
步骤五:利用步骤三得到的最终的估算距离建立目标函数,利用步骤四优化的粒子种群算法求解未知节点的坐标。
2.根据权利要求1所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述步骤一中所有锚节点先创建一个初始化的信息分组表{xi,yi,hi,ID},其中,{xi,yi}为自身的坐标,初始跳数hi=1,ID为自己独有的标志;锚节点向邻居节点广播自身信息分组,位于锚节点传播范围内的邻居节点接收到该信息分组,如果该信息分组是来自同一锚节点的跳数值较大的信息分组,则抛弃该信息分组,否则将其记录下来,再将信息分组表内的跳数hi加1后转发;所述中间锚节点为锚节点集中接收未知节点发送信息最先的锚节点。
3.根据权利要求1或2所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述步骤二中根据DV-Hop定位算法求解第二距离的方法为:
A:求解平均跳距:
当锚节点接收到其它锚节点的坐标信息及与其跳数值后,计算每个锚节点的平均跳距值:
Figure FDA0002610021910000021
其中,Hopi表示锚节点i的平均跳距,(xi,yi)、(xj,yj)分别表示锚节点i和锚节点j的坐标,hij表示锚节点i和锚节点j之间的最小跳数值;
B:估算锚节点之间的距离:未知节点选择距离其最近的锚节点的平均跳距,未知节点a到锚节点i的距离计算为:d″ai=Hopa*hai
其中,Hopa表示未知节点的平均的跳距、hai表示未知节点和锚节点之间的最小跳数。
4.根据权利要求3所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在,所述最终的估算距离为:
destimate=(1-ω)*d″+ω*d′;
其中,d'表示按照步骤一计算出来的距离;d”表示按照步骤二计算出来的距离。
5.根据权利要求1或4所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述优化的粒子群算法的实现方法为:
S1:两个学习因子c1和c2在固定参数区间内随机抽样取值,在确定学习因子c1和c2的取值后,计算出惯性权重ω1的取值范围:
Figure FDA0002610021910000022
Figure FDA0002610021910000031
惯性权重ω1在取值区间[ωminmax]的中值附近随机抽样取值;
其中,ωmin和ωmax表示权重ω的最大值和最小值,μ和σ2分别表示粒子群算法中随机变量
Figure FDA0002610021910000034
的均值和方差;
S2:利用步骤S1随机抽样取值的惯性权重ω1和两个学习因子c1和c2更新粒子群的位置和速度;
S3:更新完粒子群的位置后,从种群中选择出最优的5个粒子,对这5个粒子计算所对应维度的平均值、中间值、绝对值最大值、绝对值最小值,从而产生4个新的粒子参与种群最优的竞争中,从而选出种群最优矩阵;
S4:对种群最优值进行逐维更新。
6.根据权利要求5所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述步骤S3中5个粒子所对应维度的平均值、中间值、绝对值最大值、绝对值最小值分别为:
平均值X1,j=mean(Xm,j)m=1,…5.;
中间值X2,j=median(X(:,j));
绝对值最大值
Figure FDA0002610021910000032
绝对值最小值
Figure FDA0002610021910000033
其中,j表示粒子的维度,Xm,j表示到第m个粒子的第j维度,X(:,j)表示第1~m粒子第j维度的值。
7.根据权利要求5所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述步骤S4中对种群最优值进行逐维更新的方法为:
(1)在粒子对每一维更新时,从这些粒子中随机选择两个维度的值,组成矩阵;
(2)从矩阵和种群最优值所对应的维度中找出最大值和最小值,并将最大值和最小组成区间;
(3)将区间平均分割成两个小区间,在每个小区间分别随机选择一个数;
(4)将两个数带入种群最优矩阵Pg所对应的维度,分别求取适应度,将最佳的作为对应维度的值。
8.根据权利要求6或7所述的基于锚节点选择及随机抽样粒子群的DV-Hop定位方法,其特征在于,所述步骤五中目标函数的表达式为:
Figure FDA0002610021910000041
其中,(x,y)为未知节点的坐标,di表示最终的锚节点i与未知节点的估算距离destimate,(xi,yi)表示锚节点的坐标,m表示锚节点个数,利用优化的粒子群算法求目标函数f(x,y),求得的坐标(x,y)使目标函数f(x,y)的值最小即为未知节点的坐标。
CN201911265975.6A 2019-12-11 2019-12-11 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法 Active CN110996388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911265975.6A CN110996388B (zh) 2019-12-11 2019-12-11 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911265975.6A CN110996388B (zh) 2019-12-11 2019-12-11 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法

Publications (2)

Publication Number Publication Date
CN110996388A CN110996388A (zh) 2020-04-10
CN110996388B true CN110996388B (zh) 2020-09-15

Family

ID=70092386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911265975.6A Active CN110996388B (zh) 2019-12-11 2019-12-11 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法

Country Status (1)

Country Link
CN (1) CN110996388B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194533B (zh) * 2021-04-13 2023-08-22 南京信息工程大学 无线定位方法
CN113329490B (zh) * 2021-06-02 2022-06-21 哈尔滨工程大学 一种基于量子虎鲨机制的无线传感器网络节点定位方法
CN113490172B (zh) * 2021-07-01 2023-10-17 昆明理工大学 一种基于正余弦优化与跳段优化的DV-Hop定位算法
CN115861655B (zh) * 2023-02-15 2023-05-26 中建电子信息技术有限公司 一种基于施工大数据的ai辅助决策和管理优化服务系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747454A (zh) * 2014-01-14 2014-04-23 河南大学 基于三维定向移动的水下无线传感器网络覆盖方法
CN106993273A (zh) * 2017-03-29 2017-07-28 江南大学 基于距离加权和遗传优化的DV‑Hop定位方法
CN108535687A (zh) * 2018-03-20 2018-09-14 西安电子科技大学 基于tof和rssi信息融合的室内无线定位方法
CN108848447A (zh) * 2018-06-22 2018-11-20 河南工业大学 一种采用未知节点修正的差分DV_Distance节点定位方法
CN108848449A (zh) * 2018-06-25 2018-11-20 南京邮电大学 基于DV-Hop改进的无线传感器网络节点定位算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111876B (zh) * 2011-02-24 2013-10-09 华为技术有限公司 一种选择用于定位的参考标签的方法及装置
KR101260647B1 (ko) * 2011-08-19 2013-05-06 서울대학교산학협력단 무선센서네트워크 상에서 효율적인 다변측량을 이용한 무선측위방법과 이를 실시하기 위한 프로그램이 기록된 기록매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747454A (zh) * 2014-01-14 2014-04-23 河南大学 基于三维定向移动的水下无线传感器网络覆盖方法
CN106993273A (zh) * 2017-03-29 2017-07-28 江南大学 基于距离加权和遗传优化的DV‑Hop定位方法
CN108535687A (zh) * 2018-03-20 2018-09-14 西安电子科技大学 基于tof和rssi信息融合的室内无线定位方法
CN108848447A (zh) * 2018-06-22 2018-11-20 河南工业大学 一种采用未知节点修正的差分DV_Distance节点定位方法
CN108848449A (zh) * 2018-06-25 2018-11-20 南京邮电大学 基于DV-Hop改进的无线传感器网络节点定位算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DV_Hop优化算法的性能分析与比较;宋晓东;《电子测量与仪器学报》;20190531;全文 *

Also Published As

Publication number Publication date
CN110996388A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110996388B (zh) 基于锚节点选择及随机抽样粒子群的DV-Hop定位方法
Cao et al. Improved DV-hop localization algorithm based on dynamic anchor node set for wireless sensor networks
CN106792540B (zh) 一种基于路径匹配的改进DV-Hop定位方法
Lavanya et al. Swarm intelligence based localization in wireless sensor networks
CN102547918A (zh) 一种基于非测距的无线传感网三维节点定位方法
CN106162869B (zh) 移动自组织网络中高效协作定位方法
CN110062327A (zh) 小生境灰狼优化DV-Hop算法的无线传感器网络节点定位方法
CN113329490B (zh) 一种基于量子虎鲨机制的无线传感器网络节点定位方法
CN110113713A (zh) 基于DE改进的无线传感器网络DV-Hop节点定位方法
CN109842935A (zh) 一种基于混合smpso优化的加权dv-hop定位方法
CN108924755A (zh) 基于免疫粒子群优化的dv-hop室内定位方法
Chen et al. 3D DV–hop localisation scheme based on particle swarm optimisation in wireless sensor networks
Sayadnavard et al. Wireless sensor network localization using imperialist competitive algorithm
CN112954594A (zh) 一种基于人工蜂群的无线传感器网络节点定位算法
Hariri et al. A distributed measurement scheme for internet latency estimation
CN103369670A (zh) 一种基于跳数优选的改进DV-Hop定位方法
Tao et al. Enhancement of DV-Hop by weighted hop distance
CN107613561B (zh) 一种基于交流sce-pso算法的无线传感器网络节点三维定位方法
CN108134980A (zh) 一种适用于无人机蜂群自组织网络的快速分布式相对定位方法
CN115550837B (zh) 一种基于混沌映射与灰狼算法优化的DV-Hop定位方法
CN110351657A (zh) 一种无线传感器网络中节点几何定位的方法
CN112105081A (zh) 一种基于改进生物地理学优化算法的高精度无线定位方法
Hadir et al. Novel localisation algorithms in wireless sensor networks
CN112566241B (zh) 基于移动锚点的三维无线传感网节点定位方法
CN106332279A (zh) 一种基于节点间连通性差异及粒子群优化的DV‑Hop定位方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant