基于多跳策略的分布式迭代凸优化节点定位方法

文档序号:30223521发布日期:2022-05-31 23:34阅读:107来源:国知局
基于多跳策略的分布式迭代凸优化节点定位方法

1.本发明涉及无线传感器节点定位领域,尤其是涉及一种基于多跳策略的分布式迭代凸优化节点定位方法。


背景技术:

2.无线传感器网络(wsn,wireless sensor networks)由大量部署在监控区域内的传感器节点组成。由于其简单可靠、易于部署和自组织等特性,被广泛应用于搜索救援、救灾、目标跟踪和智能环境检测等。上述应用中,带有传感器位置的监测数据具有重要意义。虽然全球卫星导航系统(gps)可为传感器提供自身位置信息,但由于其价格和能耗,为wsn中每个节点都配备gps是不现实的。此外,某些特殊应用场合,如水下传感器网络,水下传感器节点无法使用gps设备。因此,目前wsn中未知节点定位主要依靠位置信息已知节点(锚节点)的协同定位实现。
3.未知节点协同定位方法可分为基于测距和非测距两类。基于测距方法,如toa(time of arrival)或aoa(angle of arrival),通过节点间距离测量,利用多边定位原理实现节点位置估计,但该方法需要待定位节点有距离测量设备,导致更高的能耗和总成本增加。与基于测距方法直接测量节点间距离不同,非测距节点定位方法基于网络连通性获取节点之间的距离,不需要额外的硬件测量设备。因此避免了测量误差对定位精度的影响,可有效减小网络能耗。
4.目前经典的非测距方法主要是有dv-hop(distance vector-hop),该方法利用多跳的最短路径估计节点间距离,不需要为节点配备特殊距离探测单元,仅利用网络连通性可实现未知节点位置估计,同时该方法由于简单可靠易于实现在许多领域得到广泛使用。然而,该方法通过多跳距离来近似节点间直线距离策略存在较大偏差。最近对于dv-hop算法改进算法已经出现,cc-dv-hop(correct coordinate distance vector-hop)通过筛选贡献大的锚节点来修正对未知节点的位置估计,但是该改进算法仍是基于线性最小二乘估计未知节点位置,导致定位精度较低。然而,一种基于pso(particle swarm optimization)优化的pso-dv-hop改进算法利用最小化累积误差提高未知节点定位精度,但该优化算法容易陷入局部最优解定位效果不佳,同时在锚节点稀疏分布时定位精度下降较大。上述节点定位方法虽可以估计未知节点的位置,但仍未达到最佳定位性能。


技术实现要素:

5.本发明的目的在于提供一种基于多跳策略的分布式迭代凸优化节点定位方法,能够更好的提高稀疏锚节点分布网络中未知节点的定位精度。
6.本发明采用的技术方案为:
7.基于多跳策略的分布式迭代凸优化节点定位方法,主要包括以下具体的步骤:
8.步骤1:初始化参数;
9.步骤2:计算未知节点到锚节点之间的距离:
10.利用锚节点的平均跳距,通过平均跳距乘最小跳数估算节点间距离,具体步骤如下:
11.步骤2.1:锚节点平均跳距计算,具体的:
12.根据网络连通性,锚节点a将包含自身信息的数据包广播到网络,数据包信息包含锚节点id、位置坐标(xi,yi)和初始0的跳数值h,即id=a,xa=(xa,ya),h=0,a=1,

,m,其中m为锚节点数量,当相邻节点收到此数据包后与本地存储数据进行比较,选择性保存跳数值最小的数据包,同时将此数据包中跳数值加1广播给其余相邻节点。根据锚节点a本地保存的数据包信息可计算平均跳距并广播到网络。
[0013][0014]
其中,分别表示第个锚节点与第a个锚节点之间的距离和最小跳数值,计算如下:
[0015][0016]
其中,||
·
||2表示l2范数,xa分别表示第个锚节点与第a个锚节点的位置坐标,m表示锚节点数量。
[0017]
步骤2.2:未知节点到锚节点之间的距离计算:根据步骤2.1广播的平均跳距,未知节点获得锚节点a(a=1,

,m)平均跳距,其中m为锚节点数量,然后根据未知节点u(u=1,

,n)到锚节点之间的最小跳数h
au
,其中n为未知节点数量,从而可以方便得到未知节点到锚节点之间的距离
[0018][0019]
其中,表示第a个锚节点的平均跳距,h
au
表示第a个锚节点与第u个未知节点之间的最小跳数值。
[0020]
步骤3:构建最小化最大误差目标函数,具体的:
[0021]
根据步骤2.1和步骤2.2可获得位置节点位置xa以及估计距离利用范数近似方法可将节点定位问题构建如下最小化最大误差问题:
[0022][0023]
其中,xu表示第u个未知节点位置坐标待优化变量,xa表示第a个锚节点的位置坐标,||
·
||2表示l2范数,|
·
|表示绝对值,m表示锚节点数量,表示第a个锚节点与第u个未知节点之间的估计距离。
[0024]
步骤4:求解目标函数估计未知节点的位置坐标,具体包括如下步骤:
[0025]
步骤4.1:通过引入辅助变量将非凸目标函数转化为凸目标函数,具体的:
[0026]
根据步骤3构建的最小化最大误差目标函数,由于该目标函数非凸性,令为最大误差,则原问题可转化为如下优化问题:
[0027]
目标函数:
[0028]
约束条件:
[0029][0030]
其中,||
·
||2表示l2范数,xu表示第u个未知节点待优化坐标变量,t表示未知节点到锚节点距离的最大误差,xa表示第a个锚节点的位置坐标,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0031]
步骤4.2:将非凸约束转化为凸约束,具体的:
[0032]
根据步骤4.1中带有非凸约束优化问题,根据凸问题定义可知如下不等式为非凸约束:
[0033][0034]
其中,||
·
||2表示l2范数,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,t表示未知节点到锚节点距离的最大误差,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0035]
利用泰勒展开并省略高次项,其该不等式线性化处理得:
[0036][0037]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离。
[0038]
进而可将非凸约束转化为凸约束得:
[0039][0040]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0041]
步骤4.3:连续凸逼近迭代优化估计未知节点位置坐标,具体的:
[0042]
根据步骤4.1和4.2得到如下凸优化问题,给定未知节点u的优化初值迭代求解得到并将作为下一次迭代初值优化求解得到以此方式迭代优化,直到满足精度阈值∈。
[0043]
目标函数:
[0044]
约束条件:
[0045][0046]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,t表示未知节点与锚节点之间的距离最大误差,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0047]
本发明的有益效果:
[0048]
通过上述技术方案,本发明针对网络中锚节点稀疏分布导致未知节点定位精度较低问题,提出了一种基于多跳策略的分布式迭代凸优化节点定位方法。首先,根据最小最大准则将节点定位问题转化为最小-最大误差问题。其次,考虑到非凸问题求解的困难性,本发明引入辅助变量给出了具有非凸约束的优化问题,并通过一阶泰勒展开将非凸约束转化为凸约束。最后,给出了一种迭代求解节点定位非凸优化问题的连续凸逼近方法,从而实现对未知节点的高进度定位。
附图说明
[0049]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本发明的流程图;
[0051]
图2未知节点和锚节点分布图;
[0052]
图3不同算法对未知节点定位误差仿真对比图。
具体实施方式
[0053]
如图1所示,本发明包括以下几个步骤:
[0054]
步骤1:初始化参数;
[0055]
步骤2:计算未知节点到锚节点之间的距离:
[0056]
利用锚节点的平均跳距,通过平均跳距乘最小跳数估算节点间距离,具体步骤如下:
[0057]
步骤2.1:锚节点平均跳距计算,具体的:
[0058]
根据网络连通性,锚节点a将包含自身信息的数据包广播到网络,数据包信息包含锚节点id、位置坐标(xi,yi)和初始0的跳数值h,即id=a,xa=(xa,ya),h=0,a=1,

,m,其中m为锚节点数量,当相邻节点收到此数据包后与本地存储数据进行比较,选择性保存跳数值最小的数据包,同时将此数据包中跳数值加1广播给其余相邻节点。根据锚节点a本地保存的数据包信息可计算平均跳距并广播到网络。
[0059]
[0060]
其中,分别表示第个锚节点与第a个锚节点之间的距离和最小跳数值,计算如下:
[0061][0062]
其中,||
·
||2表示l2范数,xa分别表示第个锚节点与第a个锚节点的位置坐标,m表示锚节点数量。
[0063]
步骤2.2:未知节点到锚节点之间的距离计算:根据步骤2.1广播的平均跳距,未知节点获得锚节点a(a=1,

,m)平均跳距,其中m为锚节点数量,然后根据未知节点u(u=1,

,n)到锚节点之间的最小跳数h
au
,其中n为未知节点数量,从而可以方便得到未知节点到锚节点之间的距离
[0064][0065]
其中,表示第a个锚节点的平均跳距,h
au
表示第a个锚节点与第u个未知节点之间的最小跳数值。
[0066]
步骤3:构建最小化最大误差目标函数,具体的:
[0067]
根据步骤2.1和步骤2.2可获得位置节点位置xa以及估计距离利用范数近似方法可将节点定位问题构建如下最小化最大误差问题:
[0068][0069]
其中,xu表示第u个未知节点位置坐标待优化变量,xa表示第a个锚节点的位置坐标,||
·
||2表示l2范数,|
·
|表示绝对值,m表示锚节点数量,表示第a个锚节点与第u个未知节点之间的估计距离。
[0070]
步骤4:求解目标函数估计未知节点的位置坐标,具体包括如下步骤:
[0071]
步骤4.1:通过引入辅助变量将非凸目标函数转化为凸目标函数,具体的:
[0072]
根据步骤3构建的最小化最大误差目标函数,由于该目标函数非凸性,令为最大误差,则原问题可转化为如下优化问题:
[0073]
目标函数:
[0074]
约束条件:
[0075][0076]
其中,||
·
||2表示l2范数,xu表示第u个未知节点待优化坐标变量,t表示未知节点到锚节点距离的最大误差,xa表示第a个锚节点的位置坐标,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0077]
步骤4.2:将非凸约束转化为凸约束,具体的:
[0078]
根据步骤4.1中带有非凸约束优化问题,根据凸问题定义可知如下不等式为非凸约束:
[0079][0080]
其中,||
·
||2表示l2范数,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,t表示未知节点到锚节点距离的最大误差,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0081]
利用泰勒展开并省略高次项,其该不等式线性化处理得:
[0082][0083]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离。
[0084]
进而可将非凸约束转化为凸约束得:
[0085][0086]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0087]
步骤4.3:连续凸逼近迭代优化估计未知节点位置坐标,具体的:
[0088]
根据步骤4.1和4.2得到如下凸优化问题,给定未知节点u的优化初值迭代求解得到并将作为下一次迭代初值优化求解得到以此方式迭代优化,直到满足精度阈值∈。
[0089]
目标函数:
[0090]
约束条件:
[0091][0092]
其中,||
·
||2表示l2范数,(
·
)
t
表示转置,t表示未知节点与锚节点之间的距离最大误差,xu表示第u个未知节点待优化坐标变量,xa表示第a个锚节点的位置坐标,表示未知节点u的优化变量初值,表示第a个锚节点与未知节点u之间的估计距离,m表示锚节点数量。
[0093]
通过上述技术方案,本发明针对网络中锚节点稀疏分布导致未知节点定位精度较低问题,提出了一种基于多跳策略的分布式迭代凸优化节点定位方法。首先,根据最小最大准则将节点定位问题转化为最小-最大误差问题。其次,考虑到非凸问题求解的困难性,本发明引入辅助变量给出了具有非凸约束的优化问题,并通过一阶泰勒展开将非凸约束转化为凸约束。最后,给出了一种迭代求解节点定位非凸优化问题的连续凸逼近方法,从而实现
对未知节点的高进度定位。
[0094]
本实例中使用150个节点随机拓扑在监控区域(如图2),其中锚节点数30个,未知节点数120个,所提算法、dv-hop、cc-dv-hop、pso-dv-hop对未知节点的定位性能rmse(root mean square error)进行比较(如图3)。本发明利用最小最大准则有效解决传统算法定位精度较低,同时在非凸目标函数求解中推导了一种迭代凸优化高效求解方法。
[0095]
需要说明的是,本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0096]
注意,上述仅为本发明的较佳实施例及运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行较详细的说明,但本发明不限于这里所述的特定实施例,在不脱离本发明构思的情况下,还可以包括更多其他等有效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1