史 进, 蔡 竞, 徐 锋
(1. 浙江警察学院现代教育技术实验中心,杭州 310053;2.浙江警察学院刑事科学技术系,杭州 310053;3.浙江大学信息技术中心,杭州 310058)
第五代移动通信技术(5th-generation,5G)作为“中国制造2025”重要组成部分,正在日益成为最重要的经济增长技术之一[1]。随着国家对以移动无线传感网为代表的新一代互联网+经济支持力度的增加,5G技术也在其中起到了相当的支撑作用[2]。移动无线传感网(mobile wireless sensor network,M-WSN)主要由若干具有移动特性的廉价传感器节点所构成,用于部署在需要监控的区域、物体中,起到搜集环境参数与信息的作用,实践中往往利用5G技术提高M-WSN的传输能力。M-WSN适用领域十分广泛,如远程医疗、工业4.0等方面,能够优化生产流程,提高数据传输能力,具有精度优良的特性[3]。然而,M-WSN技术也存在一些待改进之处,主要体现在定位困难方面。这是因为M-WSN技术所使用的廉价传感器节点具有移动特性,需要对节点的定位坐标进行精确测量。由于M-WSN节点往往处于随机游走状态,且移动速度较快,虽然可以使用北斗定位系统(BeiDou navigation satellite system,BDS)进行精确定位,但考虑到费用因素,使其难以大规模推广。实践中,节点定位过程一般均依赖锚节点来实现坐标初始化,随后使用BDS系统或人工定位算法精确获取节点坐标[4]。
当前,移动无线传感网定位算法主要采用直接定位和间接定位两种机制[5]。直接定位机制主要利用节点之间的拓扑连通及邻域感知特性直接获取节点坐标,如Peter等[5]提出了一种基于旋跳解决方案的移动无线传感网定位算法,该算法采用预设锚节点方式,通过锚节点感知其节点覆盖范围内的移动无线传感网节点,实时获取其在网络中的拓扑位置,可实现短时延状态下的节点位置信息捕捉,具有实现过程较为简单的优势。但是,考虑到移动无线传感网中锚节点覆盖半径较低,无线传感网节点经过网络盲区时将暂时失去定位功能,因此该算法环境适应性较低。Devesh等[6]提出了一种基于TOA直接测序机制的移动无线传感网定位算法,算法通过固定锚节点捕捉移动无线传感网节点与基准节点之间多普勒平移的方式,直接获取待定位节点与基准节点间距离,随后引入极坐标定位算法实现角度相位捕捉,具有精度较高的特点。然而,该算法也存在一定的不足,主要体现在精度随着节点移动速度的增加不断降低,难以适应节点移动速度较快以及节点移动拓扑较为复杂的场景。Slavica等[7]提出了一种基于双源定位机制的移动无线传感网定位算法,采用分组部署正交状态锚节点方式,通过捕捉定位信号对的方法获取移动节点的初始坐标,随后结合文献[6]极坐标定位精度较高的特点,可实现复杂拓扑条件下节点快速精确定位,且部署过程较为简单。但是该算法需要对锚节点位置进行调整,实践中维护成本较高,难以大规模应用。
针对上述不足,提出一种基于病毒体投射机制的移动无线传感网节点定位算法。鉴于实践中测序过程存在的抗噪能力差的不足,通过将多个锚节点进行联合定位,采用接收信号强度指示(received signal strength indication,RSSI)方式感知节点坐标,消除单个锚节点定位过程中存在的节点感知困难。随后,引入了病毒体投射机制,采用感染方式定向感知锚节点覆盖范围内的待定位节点,并采用迭代算法来优化待定位节点坐标精度,解决因拓扑漂移速度较快而导致定位过程收敛较慢的问题。最后,针对定位过程中存在的误差,引入权重调节机制来消除误差。最后通过仿真实验,测试了本文算法的有效性。
由文献[5-6]可知,无论采用旋跳还是直接测序方案,二者均存在一定的不足,主要原因是由于移动无线传感网节点与传统无线传感网相比,节点具有移动特性。特别是引入5G技术后,移动无线传感网节点除了需要承担传统无线传感网须实现的数据采集及传输功能外,还需要承担一定的数据处理及节点优化功能,使其拓扑变动较为复杂[8]。因此,对节点进行距离估测时应尽量提高定位收敛性能,以降低节点移动性对定位精度的不利影响。
针对上述问题,采取基于RSSI的直接定位模型,节点分布区域内部署Sink节点作为信号判决节点,实时获取各移动无线传感网节点的信号强度,Sink节点通过RSSI感知节点信号强度来取得通信半径,如图1所示。
图1 RSSI定位Fig.1 The location of RSSI
移动无线传感网节点与Sink节点间通信半径越大,则Sink节点接受到的移动无线传感网节点信号强度也越弱,如图2所示。因此,根据信号强度与通信半径间呈现的比例关系,可以迅速获取移动无线传感网节点与Sink节点间距离,规避移动无线传感网节点拓扑快变化因素而导致的定位困难[9]。此外,由于移动无线传感网环境具有信道噪声干扰强等因素[10],测距过程中信号强度与通信半径间呈现的比例关系一般为非线性比例关系,容易造成一定的误差[11]。测量过程中信号传输路径往往具有多径传输特性[12],传输信道存在信号衰落现象,也会造成误差[13]。
图2 通信半径Fig.2 Communication radius
针对定位过程中存在的多径衰落及信道噪声强干扰等因素[14],本文算法在定位过程中引入对数正态阴影分布来描述这些干扰因素[15]:
(1)
式(1)中:Psend为移动无线传感网节点当前功率;Precv(l)为移动无线传感网节点与Sink节点间信道损耗功率;l为移动无线传感网节点与Sink节点距离;μ为信道损耗因子,一般取0~1随机数,移动无线传感网条件下一般取0.1左右;Φ为莱斯噪声分布,其功率为σ;ln表示以e为底的对数函数。
移动无线传感网节点在定位过程中可通过Sink节点直接按式(1)测量获取节点与Sink节点距离,显然获取的传感器节点疑似坐标满足圆环分布,如图3所示,存在多种可能。
图3 圆环分布Fig.3 Circular distribution
在实践中,针对圆环分布,可通过测量方位角来获取精确位置,详见文献[6]。然而,由于移动无线传感网节点移动速度较快,难以精确测量方位角[16],因此,通过布设锚节点来得到节点坐标,并根据式(1),精确得到其与移动无线传感网节点间距离。
设任意锚节点坐标为(xi,yj),移动无线传感网中共计包含m个锚节点(x,y),则待定位节点与锚节点间距离L(i,j)为
(2)
采用式(2)可以精确测量待定位节点(x,y)与锚节点间的距离d(i,j),再联立式(1)来构建误差函数derror:
derror=[L(i,j)-d(i,j)]2
(3)
若待定位节点(x,y)周围锚节点个数为n个,则式(3)可改写为
(4)
当网络中待定位的移动无线传感网节点共计k个时,式(4)所示误差函数可演化为
(5)
依据式(5)可知,当移动无线传感网中待定位节点个数为k时,通过误差消除机制来最小化式(5),以得到最佳的节点定位准确性。
传统算法进行定位过程中的锚节点需要预先设置,由于锚节点定位存在“镜像效应”,当多个锚节点共线时容易存在严重的误差,如图4所示。实践中往往采用分组或三角固定部署模式[17],虽然可以解决“镜像效应”,然而移动无线传感网节点处于移动状态,采取固定部署模式需要的锚节点个数较多,一些处于边缘位置的无线传感网节点无法估计,且锚节点个数较多的情况下也将会出现较高频率的误差积累现象,难以满足实践需求。
图4 镜像效应Fig.4 The mirror effect
为了改善节点的定位精度,设计了基于病毒体投射机制的移动无线传感网节点定位算法(virus body projection,VBP)。其主要包括了基于病毒体投射机制的节点定位,以及基于权重调节机制的节点定位坐标误差消除。
传统方案主要针对固定节点的传感网场景进行节点定位,定位过程中首先需要预设多个锚节点。考虑到锚节点覆盖能力存在差异,待定位节点又存在拓扑漂移现象,监测过程中节点位置快速移动过程中存在各定位参数难以获取的问题。利用病毒体投射机制,针对待定位节点存在的运动轨迹更迭频繁,采用迭代预估方式优化定位过程,迭代步数越高则定位能力越强,且节点处于快速移动状态时,将提高算法迭代的速度。因此,节点定位过程中无须进行精确定位,仅须捕获初始位置,因此能够快速获取目标节点坐标,应对节点快速移动状态下运动轨迹频繁更迭的问题。
考虑到移动无线传感网节点处于随机移动状态,锚节点处于固定状态,因此对于任意时刻的锚节点而言,移动无线传感网节点将难以长期处于该锚节点的影响范围下。因此可以将锚节点看作病毒体,将待定位的移动无线传感网节点看作子病毒体,病毒体将以随机频率对子病毒体进行投射,如图5所示[11]。每个病毒体xi平均产生的子病毒体数量mi为
图5 病毒体投射过程Fig.5 The process of virosome projection
(6)
式(6)中:kmin表示网络中投射子病毒体最少的病毒体,以衡量锚节点对移动无线传感网节点的控制能力,显然该数值越高说明锚节点对无线传感网节点的控制能力越强;L(xi)用来表示单位时间内病毒体xi对子病毒体投射的数量,该数值越高说明单位时间内锚节点需要定位的移动无线传感网节点数量越多;ω表示网络中病毒体的数量。
由于不同的病毒体投射能力存在差异,因此,投射距离di为
(7)
式(7)中:dmax表示投射能力最大的病毒体的投射距离。
由于投射能力最大的病毒体可能随时发生改变,即di可能不断发生改变:
di=dmax, 当仅当di≤dmax
(8)
式(8)经过k次迭代后,di演变为di(k):
(9)
式(9)中:di(k)代表第k次迭代投射距离;di(ffrist)表示病毒体初始投射距离;di(ffrist)表示病毒体最终投射距离;t为迭代时长。
获取病毒体在经过k次迭代后的投射距离后,再计算病毒体投射密度为
ρ=rand[di(k),xi]
(10)
式(10)中:rand为随机函数,用以表示病毒体xi在一定距离上投射子病毒体的平均距离。
联立式(9)和式(10),则可计算任意子病毒体被投射的最远位置Δdi(k)为
Δdi(k)=di(k)rand[di(k),xi]
(11)
由于子病毒体可处于的位置有k个,则其与病毒体xi之间的距离总和为
(12)
式(12)中:d(xi,xj)表示病毒体xi与子病毒体之间的距离。
由于子病毒体采用随机方式出现,根据式(12),则位于子病毒体中心位置xj的概率为
(13)
由式(10)、式(11)可知,子病毒体按照随机方式进行投射,则子病毒体实际位置xj(k)满足:
xj(k)=p(xj)Xi(k)+rand[di(ffrist),di(flast)]
(14)
Xi(k)=Δdi(k)+rand[Δdi(k),Δdi(k-1)]
(15)
式中:xj(k)为子病毒体所处位置。
通过式(14)、式(15)可以获取任意时刻子病毒体实际位置,由于所提算法是采用迭代方式,式(14)处于自收敛状态,因此,只需要子病毒体被投射的最远位置Δdi(k)在病毒体收敛区间(实际中对应锚节点的通信半径),则子病毒体实际位置xj(k)将能够精确到锚节点1跳半径内,从而有效消除因节点移动拓扑快速变动而导致定位精度较低的问题。
由于移动无线传感网节点处于随机分布状态,按照式(5)所获取的节点坐标存在精度不高的问题。为此,结合式(14)、式(15),定义新的误差函数:
(16)
式(16)中:d(i,j)代表两个移动无线传感网节点间实际距离。
估计完移动无线传感网节点位置后,使用3个锚节点逐个按照模型式(15)、式(16)进行迭代,子病毒体的位置为满足模型式(16)最小化的xj(k)。
综上所述,详细的误差消除过程见图6,其步骤如下。
图6 基于权重调节机制的误差消除过程Fig.6 Error elimination process based on weight adjustment mechanism
Step 1若子病毒体i处于病毒体控制范围外,则按模型式(16)重新定义权值,本次迭代过程结束,反之,转Step2。
Step 2按式(14)、式(15)更新网络中子病毒体,遍历全部可达节点。
Step 3如图6所示,逐点按式(16)计算误差函数,当仅当误差函数重新取得较小值时反馈到Step 1。
Step 4逐跳遍历网络中全部节点i,直到节点遍历完毕,算法结束。
为验证本文算法性能,采用MATLAB仿真实验环境[18],与当前常用的凸优化的无线传感网障碍环境下定位算法[19](location algorithm in wireless sensor network obstacle environment based on convex optimization,OECO)及基于精确定位机制的改进DV-Hop算法[20](on improved DV-Hop localization algorithm for accurate node localization in wireless sensor networks,AN-DV-Hop)。本文算法的实验参数设置为:病毒体密度不低于10个/102m2,投射距离不高于50 m,子病毒体密度不低于2个/102m2。为便于进行比较,式(1)中Precv(l)取值为256 dB。其余参数如表1所示。为了客观评估算法的定位准确度,采用收敛轮数、定位误差、定位精度来描述。
表1 仿真参数Table 1 Simulation parameters
图7为本文算法与OECO算法、AN-DV-Hop算法的收敛轮数测试结果。预设初始信道信噪比分别为2、20 dB,节点运动速率均设置为20 m/s,用以模拟两种不同信道噪声干扰条件下的实际部署场景,传输信道均设置为莱斯信道。
由图7可知,本文算法的收敛轮数较低,收敛速度要显著高于对照组算法,说明OECO算法及 AN-DV-Hop算法定位过程中需要较长时间才能获取较为满意的精度。原因是所提算法设计了基于病毒体投射机制的定位方案,方案采用迭代方式优化节点定位感知质量,有效改善因信道噪声以及拓扑变动较快而导致的节点感知困难,提高了定位精度。OECO算法主要通过引入三角函数定位方式进行直接定位,定位过程中需要绕过存在低密度节点分布的拓扑区域,并采用凸函数方式降低节点感知失效现象,当节点运动速度较快时容易因感知失效而导致定位误差,因此达到一定的精度时需要更高的收敛轮数。AN-DV-Hop算法主要通过估测方式对节点进行一次定位,定位过程中需要引入三点定位模式进行邻域估测,容易因锚节点共线而导致“镜像效应”。因此,该算法定位效果要弱于所提算法,亦需要更高的轮数来实现定位收敛。
图7 不同算法在两种信道下的收敛轮数测试结果Fig.7 Test results of convergence rounds for different algorithms under two channels
图8为本文算法与OECO算法及AN-DV-Hop算法的定位误差测试结果。预设节点运动速率均设置为20 m/s,信道信噪比为-24 dB,传输信道设置为拉普拉斯信道与莱斯信道,用于模拟中等、高干扰信道部署环境。
图8 3种算法在不同信道下的定位误差测试结果Fig.8 The positioning error test results of the three algorithms under different channels
由图8可知,本文算法的定位误差始终处于较低水平,具有波动幅度小的特性,而OECO算法及AN-DV-Hop算法定位误差始终要高于本文算法,特别是AN-DV-Hop算法的定位误差最高达到11.9 m,远远高于本文算法的8.4 m,这显示了本文算法具有的优越性能。本文算法设计了基于病毒体投射机制的定位方案,方案中针对移动无线传感网容易出现的拓扑漂移现象采用了迭代机制,能够改善因拓扑漂移而导致的定位误差。OECO算法的定位误差主要来源于拓扑漂移过程中存在的空洞现象,需要耗费更多的资源进行凸函数匹配过程,因此定位误差要高于本文算法。AN-DV-Hop算法主要采取估测方式进行节点定位,估测过程中存在较为显著的“镜像效应”,因此该算法的定位误差亦要远远高于本文算法。
图9为本文算法与OECO算法及AN-DV-Hop算法的定位精度测试结果。预设初始信道信噪比分别为2、20 dB,节点运动速率均设置为20 m/s,用以模拟两种不同信道噪声干扰条件下的实际部署场景,传输信道均设置为莱斯信道。
图9 不同算法在两种信道下的定位精度测试结果Fig.9 The location accuracy test results of different algorithms under two channels
由图9可知,本文算法的定位精度较高,且定位精度收敛速度较快,OECO算法及AN-DV-Hop算法定位精度始终要低于本文算法。这是由于本文算法采用的病毒体投射机制可对移动节点存在的拓扑漂移现象进行定向消除,方案采取的权值修正机制能够有效降低定位误差并可快速收敛定位过程,因此定位精度较高。OECO算法因移动无线传感网节点拓扑漂移严重存在的空洞现象难以消除,容易因凸函数匹配收敛过程较慢而导致定位精度不高。AN-DV-Hop算法由于定位过程中因“镜像效应”导致定位误差较大,因而在定位精度上的性能亦要低于本文算法。
针对当前移动无线传感网定位方案存在的不足,提出了一种基于病毒体投射机制的移动无线传感网节点定位算法,主要设计了基于病毒体投射机制的定位方法,优化定位过程中的节点坐标收敛速度,降低定位误差,稳定节点定位质量。此外,设计了基于权重调节机制的误差消除方案,提高了算法对定位误差的修正程度,增强了节点的定位精度。测试实验数据验证了所提算法的有效性与优势。
下一步,将考虑结合直接定位方案的优越性,引入极坐标定位机制,进一步增强本文坐标对定位过程中难以实时修正角度的不足,提高算法的实际适用性能。