一种自适应的分布式目标定位算法

作者: 冯燕 徐琨

一种自适应的分布式目标定位算法0

摘要:在基于无线传感网络的分布式定位中,由于网络中的传感节点计算能力有限,会导致出现无法求解出最优解的问题。针对这个问题,该文提出了一种动态调整步长的分布式目标定位算法,提出算法在每次迭代求解过程中都动态调整步长大小,并考虑不同距离下锚节点的可靠性问题,利用目标对象前一次得到的位置估算值和相应的梯度值,求出目标对象在当前步的位置信息。采用实测数据对提出算法进行验证,结果显示和已有的经典分布式定位算法相比,提出算法能降低定位误差,获得较高的定位精度。

关键词:无线传感网络;分布式;优化;目标定位

中图分类号:TP393      文献标识码:A

文章编号:1009-3044(2022)27-0001-04

开放科学(资源服务)标识码(OSID):

1 概述

无线传感网络[1](Wireless Sensor Networks, WSN)是物联网[2](Internet of Thing, IoT)系统的骨干网络,具有易于部署、自组网络、多跳通信和协同感知等优点,使其被广泛地应用于医疗健康[3]、环境监控[4]、智能家居[5]和目标追踪[6]等各个领域。近十几年以来,国内外的企业、研究机构和学者开展了大量基于WSN网络的研究,在网络拓扑结构、目标定位与轨迹追踪、网络路由和协同感知等领域取得了大量的研究成果,推动了WSN网络在实际应用中的快速发展。目标定位是WSN网络的关键基础技术,是实现网络高阶应用的重要支撑基础,得到了研究机构的大量关注,是WSN领域的研究热点。

在WSN网络中,遍布监测区域的微型WSN传感节点能够感知到周围环境中的各种信息,通过无线网络将采集到的信息传送到服务器或云平台,其中,位置信息是最重要的基础数据,是确保网络功能准确实施和应用的关键,没有位置信息的数据是没有任何意义的。集中式定位[7]和分布式定位[8]是应用于WSN网络目标定位的两种重要类别。在WSN网络发展的早期阶段,由于硬件设备的限制,网络中的终端节点由于芯片处理能力较低,常在网络中部署一个或多个中心节点实现节点自身和目标的定位,网络中的终端节点将采集到的信息以多跳路由的方式传送给网关节点,由网关节点集中处理后再发回控制指令和信息给终端节点[9]。集中式定位方法能够高效地实现对网络终端节点的自定位和网络目标的定位,但是也存在很大的缺陷,WSN网络不同于传统网络,终端节点多、网络冗余度大、能耗低和带宽有限是其最大的特点,所有的终端节点都将数据传输到网关节点统一处理,会给WSN网络带来非常大的通信开销,造成很大的能耗,降低网络的生存周期,当多个终端节点同时向网络节点传输信息时,由于是采用多条路由的传输方式,会在网关节点附近出现网络堵塞,导致发生丢包的问题[10]。近几年来,芯片技术和无线传输技术的飞速发展,在功耗和成本没有明显增加的情况下,传感节点的处理能力越来越强,分布式的定位方式能够将信息在终端进行自主处理,无须将终端节点采集到的信息集中在网关节点统一处理,而且分布式处理方式能够降低网络的通信开销,平衡网络负载均衡,提高网络的生存周期,被越来越多的企业和研究机构所青睐。

在分布式定位中,网络中的传感节点能够通过接收周围节点或目标的信息,自主进行定位,但是WSN网络中的传感节点计算能力有限,会出现无法求解出最优解的问题。针对这个问题,本文提出了一种动态调整步长的分布式目标定位算法,提出算法考虑不同距离下锚节点的009657可靠性问题,每轮迭代过程中都动态推导步长大小,根据目标对象前一位置的加权平均值和对应的梯度值,迭代优化出目标对象当次的位置,每次求出的位置估算值都将广播给下一个邻居节点。根据实测数据对提出算法进行验证,结果表明相比于其他传统的分布式定位算法,提出算法具有更优的定位性能。

2 网络模型

在一个室内环境中部署由N个传感节点和M个目标对象组成的WSN网络,其中,N个传感节点被随机地部署在室内环境中,[Pi=pi,qi],其位置已知,这些传感节点会周期性地向周围区域发送包含自身位置信息的无线信号,也会接收来自邻近传感节点或目标对象的无线信号,一般将其称为锚节点。M个目标对象也随机分布在室内环境中,其位置未知,[Xi=xi,yi],需要利用位置已知的锚节点估算出目标对象的位置。目标对象能接收通信范围内锚节点广播的信标报文,报文中包含锚节点的位置信息和信号强度,传感节点广播的信标报文如图1所示。

信号强度在空气中传输时,会随着距离的增大逐渐衰减,锚节点和目标对象之间的距离与信号强度之间存在映射关系。目标对象能够根据接收到的多个锚节点的位置信息和接收信号强度估算自己的位置,目标对象s接收到的第i个锚节点的接收信号强度为Ri,[s=x,y],根据对数-正态衰减模型可以将其表示为:

[Ri=R0-10⋅np⋅log10did0+Ωi]     (1)

其中,Ri表示目标对象s收到的第i个锚节点的接收信号强度值,单位为dBm;R0表示目标对象s和锚节点距离为1m时的参考接收信号强度值;[di=s-Pi]表示目标对象s和第i个锚节点之间的欧氏距离;d0表示目标对象s和参考节点之间的欧氏距离,通常设为1m;np表示路径衰减因子,它是一个随监测环境变化的变量,一般在室内环境中取值在2~6之间;[Ωi]表示无线信号传输时的遮蔽效应,它是一个服从对数正态分布的高斯变量。

式(1)描述了接收信号强度Ri和距离di之间的映射关系,可以采用最大似然估计算法对其进行求解。[Ωi]服从对数正态分布,则求解出来的目标对象s的位置坐标[s=x,y]是其真实坐标的概率密度函数为:

[Px=xT,y=yT=12πσNexpi=1Ns-Pi-di2] (2)

其中,[xT,yT]表示目标对象s在网络中的真实坐标,用最大似然估计算法对式(2)进行求解,目标位置[s=x,y]的最大似然估计量为:

[s=argmaxx,yPx=xT,y=yT]                 (3)

在WSN网络中,离目标对象s较近的锚节点由于相隔距离比较短,广播的信标报文会比距离较远的锚节点具有更高的可靠性,进而在求解目标对象s的位置坐标时能提供更多的价值。因此在求解式(3)描述的定位问题时,需要考虑锚节点和目标对象s之间的距离,距离越近的锚节点可靠性越高。将式(2)中的具体项代入式(3),考虑不同距离下锚节点的可靠性问题,式(3)可以被进一步表示为:

[s=argmaxx,ywi⋅i=1Ns-Pi-di2]     (4)

其中,[wi]是一个加权系数,表示锚节点对目标对象的可靠程度,离目标对象较近的锚节点的[wi]值较大,通过这个加权系统可以突出在定位过程中占重要位置的锚节点,提供对目标对象的定位精度。

令[fs=wi⋅i=1Ns-Pi-di2],将式(4)进一步简化为:

[s=argmaxx,yfs]                     (5)

式(5)中存在非线性项[s-Pi],采用最大似然算法求解最优值是一件非常困难的事情,而且计算复杂度非常高。针对式(5)中存在非线性项的问题,结合WSN网络低能耗和有限处理能力的特点,将采用分布式的迭代优化算法进行求解。

3 基于动态步长的分布式定位算法

在对网络中的目标对象进行定位时,由于存在[s-Pi]这一非线性项,直接对其处理是非常困难的,因此需要对式(5)中包含的[s-Pi]进行线性化处理,降低计算的复杂度,让其能够便利地求出最优解。为了便于迭代优化算法求出最优解,将求最大化的问题等价转换为求最小化问题,然后将式(5)按照一级泰勒级数展开,可以将其转换为:

[s=argmin[x,y]i=1Nfis+∇fix0⋅s-s]   (6)

其中,[x0=x0,y0]表示泰勒级数展开的初始位置,取值为使[fiΔs+∇fix0⋅s-Δs≥0]的任意点;[∇fix0]表示函数[fs]在点[x0]处的梯度值;[s]表示前一阶段的目标对象的估算位置。在对式(6)采用迭代方式进行最优值求解时,需要进行多次迭代循环。针对网络中存在多个目标对象的情况,采用分布式的迭代优化方式对式(6)进行求解。

在对目标对象的坐标[[x,y]]进行迭代时,对于每一步迭代,都需要向梯度[∇fi]的反方向对上一次求出的坐标进行更新。当采用分布式方式进行迭代时,每一个目标对象都将经历m次循环迭代过程,每次迭代,目标对象都要根据接收到的多个锚节点的接收信号强度和位置信息进行迭代计算。目标对象在第k次迭代循环后得到的位置估计值为:

[sk=arg minxk,yki=1kfis+∇fix0s-s, k=1,2,…m]    (7)

其中,[sk=xk,yk]表示目标对象在第k次迭代后得到的位置估值,经过m次迭代循环后求出目标对象位置的最优值,实现对目标对象的定位。由于非线性项的存在,只能通过最小化[fis+∇fix0s-s]的值来求出[xk,yk]的最优解。但是如果存在[xk,yk],能使[fis+∇fix0s-s=0]时,可以得到式(7)的最小值,从而求出[xk,yk]的最优解。

令[fis+∇fix0s-s=0],可以将求解式(7)最优解的问题进行等价变换,其表示形式为:

[∇fix0⋅ss=sk=∇fix0⋅s-fis]              (8)

用第k-1次迭代得到的目标对象的坐标位置[sk-1=xk-1,yk-1]代替式(8)中的[x0]和[s],经过整理后的表达式为:

[∇fisk-1⋅sk=∇fisk-1⋅sk-1-fisk-1] (9)

其中,[∇fisk-1]表示函数[fi]在[sk-1]处的梯度值,式(9)中有两个参数,分别是[sk-1]和[sk],[sk-1]表示第k-1个迭代后求出的目标对象的位置估计值,[sk]表示第k个迭代后求出的目标对象的位置估计值。在迭代优化过程中,第k个位置估计值要基于第k-1次迭代后的位置估计值进行估算,经过变换后的式(9)能够很好地描述第k-1次迭代和第k个迭代之间的转换关系,其表示形式为:

[sk=sk-1-fisk-1W⋅∇fisk-1]                   (10)

其中,[∇fisk-1]表示函数[fi]在位置[sk-1]处的梯度值;[fisk-1W]表示在第i次迭代时的步长大小,[W=1∇fisk-12]表示步长的分母部分。式(10)很好地反映了第k-1次迭代后的估算结果和第k次迭代的估算结果之间的映射关系。根据第k-1次的坐标位置、第k-1次迭代的梯度值和步长值,能够估算出第k次的目标对象坐标位置。而且从式(10)可以看出,[W]和[fisk-1]都只和第k-1次迭代时的目标对象的估算位置[sk-1]有关,和之前其他的迭代估算结果无关。令[λ=-fisk-1W],将式(10)进一步表示为:

[sk=sk-1+λ⋅∇fisk-1]                     (11)

上一篇 点击页面呼出菜单 下一篇