
Citation: | Hou Hui-feng, Liu Xiang-wen, Yu Hong-yi, Hu Han-ying . A Minimum Energy Consumption Routing Algorithm Based on Geographical Location Information for Wireless Sensor Networks[J]. Journal of Electronics & Information Technology, 2007, 29(1): 177-181. doi: 10.3724/SP.J.1146.2005.00748 |
随着水下自主航行器(Autonomous Underwater Vehicle, AUV)技术的发展,由AUV协调运作组成的移动水声网络逐渐成为研究的热点。相较于传统的水声网络,移动水声网络具有更广的探测范围以及更高的机动性,可实现更大范围的海洋环境数据采集及实时海洋侦查等各方面的应用,因此得到了更多学者的关注[1]。
移动水声网络在进行数据分析与处理时,网络节点自身的位置以及节点间统一的时钟信息是数据处理的基础。由于水下环境的特殊性,移动水声网络不易通过全球卫星定位系统(Global Positioning System, GPS)获得统一的授时与定位,因此网络节点通常以各自的本地时钟为基准,通过节点间的信息交互来实现自定位。然而受到制作工艺及工作环境等因素的影响,节点的本地时钟往往存在频偏和漂移等时间异步问题,影响了后续网络的自定位性能。因此针对移动水声异步网络的自定位与时间同步研究是网络各方面应用的基础,具有重要的研究意义。
水声网络的自定位与时间同步可分别独立进行,即网络首先根据时间同步算法统一各节点的时钟信息,再根据统一的时钟信息进行网络自定位。网络的时间同步算法主要包括泛洪时间同步协议 (Flooding Time Synchronization Protocol, FTSP)、长时延时间同步协议(Time Synchronization for High Latency, TSHL)和移动水声网络时间同步协议(time Synchronization for Underwater Mobile networks, MU-Sync)等[2,3]。其中TSHL和MU-Sync协议可以有效地针对水下长时延环境,实现网络的高精度时间同步。水声网络的自定位算法可以分为基于测距的定位算法与基于非测距的定位算法,其中基于测距的定位算法精度更高,应用更为广泛,主要包括广覆盖下的定位算法(Wide coverage Position System, WPS)、多层定位算法(Multi-Stage Localization, MSL)、大范围定位算法(Large-Scale Localization, LSLS)、水下自主航行器协助下的定位算法(Autonomous underwater vehicle-Aided Localization, AAL)、基于有向参考节点的定位算法(Localization with Directional Beacons, LDB)等 [4-7]。由于网络的时间同步算法与基于测距的定位算法在多方面具有紧密联系,近年来学者提出了多种联合时间同步的定位算法,如联合时间同步与定位算法(Joint Time Synchronization and Localization, JTSL)通过使用最大似然或最小二乘来实现距离与时钟漂移的联合估计;使用置信传播(Belief Propagation, BP)和变分消息传递(Variational Message Passing, VMP)的算法也可实现时间同步与定位的联合估计;针对复杂声速背景下的多跳动态网络,时间同步与定位联合设计算法(Joint time Synchronization and Localization design, JSL)可用于实现其时间同步与定位的联合估计。采用联合时间同步的定位算法不仅可以提高节点异步时的网络定位精度,还可提高网络的定位与时间同步效率,因此得到了广泛的关注[8-15]。然而上述联合算法均需要通过节点间的多轮双向信息交互来实现时间同步与定位的联合估计。对于移动水声异步网络,受到水下长传输时延的影响,移动节点间的双向信息交互往往存在时延差异,从而降低了算法的时间同步与自定位精度。
基于此,本文研究并提出一种基于移动水声异步网络的自定位和时间同步单向联合动态预测算法。本算法通过建立时间同步与自定位的联合状态模型与观测模型,采用节点间的单向信息传输方式,实时预测不同时刻下的网络位置信息与节点时钟差异,有效减小了节点移动及水下长传输时延对网络自定位与时间同步精度的影响,高精度且高效地实现了网络的移动位置跟踪与动态时间同步。
本节针对移动水声异步网络分别介绍网络的结构模型与时钟模型。
本文研究的移动水声异步网络主要由两部分组成:(1)锚节点:布放在海底或海面,具有更强的通信与计算能力,位置信息已知且装备有高精度时钟;(2)普通节点:位置信息未知且时钟精度不高,需要通过与锚节点进行信息交互,从而获得其自身位置信息和精准的时钟信息。
本文假设网络内锚节点与普通节点间均一跳通信可达,网络的结构模型如图1所示。
在移动水声异步网络中,普通节点通常仅能通过本地时钟获得时间信息。本地时钟的不准确导致了网络节点的异步问题。基于此,本文建立网络节点的时钟模型。假设网络内所有锚节点均可通过统一授时获得标准时间信息,而网络内第i个普通节点的本地时钟可表示为
fi(t)=ait+bi |
(1) |
其中,t为标准时间,
根据式(1),网络节点的时钟模型如图2所示。
本文针对移动水声异步网络的特点,提出一种自定位与时间同步联合的单向预测算法。该算法通过建立自定位与时间同步的联合模型,采用节点间的单向信息传输方式,有效减小了节点移动及水下长传输时延对网络自定位与时间同步精度的影响,动态且高精度地实现了网络的移动位置跟踪与时间同步。算法共分为两部分:(1)网络节点的初始粗同步与初始位置估计;(2)网络节点的自定位与时间同步联合预测。
假设移动水声异步网络由M个锚节点和N个普通节点组成。由于移动节点在不同采样点下的位置有所不同,因此将第k次采样下的锚节点与普通节点的位置状态信息分别表示为
Xki=[xki,˙xki,yki,˙yki,zki,˙zki]T,1≤i≤M+N |
(2) |
假设网络初始布放时节点仍处于静止状态,此时锚节点j分别广播包含n个时间戳的初始消息包至网络中,该消息包可表示为
根据上述发送与接收时间戳,通过线性回归即可计算普通节点i的时钟频偏初始值
a0i=1MM∑j=1{n∑k=1[(τkj−ˉτj)(fi(τkj + Δt)−ˉfi(τkj + Δt))]/n∑k=1(τkj−ˉτkj)2} |
(3) |
其中,
根据频偏估计的初始值,采用基于时延差的定位算法(Time Difference Of Arrival, TDOA)和最小二乘算法得到网络节点的初始位置估计,即
[x0iy0iz0i˜d0(i,1)]T=(ATA)−1ATβ |
(4) |
A=2⋅[x02−x01y02−y01z02−z01l021⋮⋮⋮⋮x0M−x01y0M−y01z0M−z01l0M1] |
(5) |
β=[(x02−x01)2 + (y02−y01)2+(z02−z01)2+(l021)2⋮(x0M−x01)2 + (y0M−y01)2+(z0M−z01)2+(l0M1)2] |
(6) |
l0j1≈1nn∑k=1c{[fi(τkj+Δt))−fi(τk1+Δt))]/a0i−τkj+τk1},2≤j≤M |
(7) |
其中,
根据网络节点的初始频偏估计值
b0i=1nn∑k=1[fi(τk1+Δt)−a0i(τk1+˜d0(i,1)/˜d0(i,1)cc)] |
(8) |
受到节点移动及水下长传输时延的影响,移动水声异步网络节点间的双向信息交互将导致时延差异,并影响网络的时间同步与自定位精度。基于此,本文提出一种自定位和时间同步的单向联合预测算法。该算法首先建立基于自定位与时间同步的联合状态与观测模型;通过采用节点间的信息单向传输方式,实时预测不同时刻下的网络节点位置信息与时钟差异,动态且高精度地实现了网络的移动位置跟踪与时间同步。
假设
[Xkiθki] = Φi[Xk−1iθk−1i] + [ωkiεki] |
(9) |
其中
Φi=[FiO6×2O2×6I2×2],Fi=[1Ti0000010000001Ti0000010000001Ti000001] |
(10) |
本文针对移动水声异步网络,建立时钟差异下的自定位与时间同步联合观测模型,即
Zk(i,j)=h(θki,Xki,Xkj)+μk(i,j)=[fi(tkj+dk(i,j)/dk(i,j)cc)−tkj]⋅c+μk(i,j)=[aki(tkj+dk(i,j)/dk(i,j)cc)+bki−tkj]⋅c+μk(i,j)=akictkj+akidk(i,j)+bkic−ctkj+μk(i,j) |
(11) |
其中,
dk(i,j)=√(xki−xkj)2+(yki−ykj)2+(zki−zkj)2 |
(12) |
由于系统观测的非线性特性,本文首先基于扩展卡尔曼滤波(Extended Kalman Filter, EKF)方法,将非线性的联合观测进行线性化;再通过锚节点与普通节点间的单向信息传输,实现自定位与时间同步的联合动态预测。实现步骤如下:
(1)锚节点j根据固定时间间隔广播标准时间消息包。假设锚节点共发送m次标准时间,表示为
[t1j,t2j,⋯,tmj],1≤j≤M |
(13) |
其中,
(2)普通节点i接收来自锚节点j的标准时间消息包,并获得对应的m个本地接收时间,即
[fi(t1j+d1(i,j)/c),fi(t2j+d2(i,j)/c),⋯,fi(tmj+dm(i,j)/c)],M+1≤i≤M+N,1≤j≤M |
(14) |
(3)普通节点i利用步骤(1)与步骤(2)中的发送-接收时间消息包,根据式(10)获得联合观测
(4)普通节点i根据式(8),计算系统在k+1时刻的联合状态先验预测矩阵
[Xk+1|kiθk+1|ki]=Φi[Xkiθki] |
(15) |
其中,
(5)普通节点i计算系统在k+1时刻的联合状态协方差矩阵的先验预测值
Pk+1|ki=ΦiPkiΦTi+[WkiΓki] |
(16) |
其中,
(6)普通节点i计算k+1时刻系统的联合滤波增益
Kk+1i=Pk+1|kiJT(i,j)[J(i,j)Pk+1|kiJT(i,j)+Rk(i,j)] |
(17) |
J(i,j)=∂Zk(i,j)∂Xki∂θki=[aki(xkj−xki)dk(i,j)aki(ykj−yki)dk(i,j)⋅aki(zkj−zki)dk(i,j)c⋅tkj+dk(i,j)c] |
(18) |
其中,
(7)普通节点i计算系统在k+1时刻的联合状态后验更新矩阵
[Xk+1iθk+1i]=[Xk+1|kiθk+1|ki]+Kk+1⋅[Zk + 1(i,j)−h(θk+1|ki,Xk+1|ki,Xk+1j)] |
(19) |
其中,
(8)普通节点i计算系统在k+1时刻的联合状态协方差矩阵的后验更新值
Pk+1i = Pk+1|ki−Kk+1i[J(i,j)Pk+1|kiJT(i,j)+Rk(i,j)]⋅(Kk+1i)T |
(20) |
通过上述分析可知,本文所提算法仅利用锚节点与普通节点间的单向信息传输,即可联合实现网络的移动位置跟踪与动态时间同步。本文所提算法的示意图如图3所示。
本节通过仿真实验对本文所提算法进行性能分析与比较。假设移动水声异步网络由5个锚节点与10个普通节点共同组成,节点随机分布于1000 m×1000 m×1000 m的空间范围内。锚节点位置已知,普通节点位置未知且会在不同时刻发生位置移动。假设网络中锚节点的时钟为标准时钟,普通节点与锚节点间存在时钟差异,因此需要进行时间同步。任意时刻下网络的拓扑结构如图4所示。
假设网络内任意普通节点的本地时钟频偏为400 ppm,时钟漂移为10 ms;节点的运动模型满足vx=7 m/s, vy=6 m/s, vz=5 m/s;忽略声速剖面的影响,将水中声速近似为1500 m/s。采用本文所提算法,比较观测噪声方差分别为5和10时的联合定位与时间同步结果。
图5显示了网络内任意普通节点的定位结果。由图5可知,移动节点的预测轨迹在不同观测噪声下均逐渐收敛至真实值;且随着观测噪声的减小,轨迹预测逐渐接近真实值。
图6和图7分别比较了观测噪声方差为5和10时,网络中任意移动节点在各采样点处的时钟频偏和时钟漂移估计值。
由图6和图7可知,移动节点可在定位的同时联合实现时间同步的动态估计,且随着观测噪声的减小,时间同步的估计值也越接近真实值。
将本文所提的动态联合预测算法与JSL算法、两步时间同步与定位算法、直接定位算法相比较。算法的性能评价指标为网络的定位误差,即网络内各节点位置估计的均方根误差平均值。观测噪声满足均值为0,方差为5的高斯分布,采用1000次蒙特卡罗实验,实验结果如图8所示。
由图8可知,直接定位算法利用节点的本地时钟进行网络的自定位,未考虑时间同步差异,因此其定位误差最大。两步时间同步与定位算法由于将时间同步与定位分两步独立进行,无法实现时间同步的实时估计,引起较大的同步误差和定位误差累积。因此该算法的定位误差在采样点较少时,定位精度较高;随着采样点的增多,其定位误差累积逐渐增大。JSL定位算法与本文所提的动态联合预测算法均随着采样点的增加,定位结果逐渐减小并收敛至接近真实值。由于本文所提算法可通过单向信息传输,实时更新运动节点的时间同步与动态位置信息,减小了长传输时延及节点移动对网络时间同步与自定位精度的影响,时间同步与定位精度更高。
将距离观测误差的方差由2增加至10,比较不同算法的定位误差结果。由于直接定位算法的误差远大于另3种定位算法,因此仅将本文所提的动态联合预测算法与JSL算法、两步时间同步与定位算法进行比较。采用1000次蒙特卡罗验,结果如图9所示。
由图9可知,3种算法的定位误差均随着距离观测误差的增加而增加,其中本文所提动态联合预测算法误差最小,两步时间同步与定位算法的误差最大,该结果与图8所示结果一致。与此同时,当距离观测误差的方差较大时,距离观测误差对定位精度的影响将大于时间同步误差的影响,此时3种算法的定位误差将逐渐接近。
本文以移动水声异步网络完成首轮自定位及时间同步的耗时为指标,分析本文所提算法在时间效率方面的性能。
假设网络采用时分复用(Time Division Multiple Access, TDMA)协议进行通信传输,每个节点分配的时隙长度为
由图10可知,本文所提算法1由于仅需锚节点与普通节点间的单向信息传输即可实现网络自定位与时间同步的协同处理,更快速地实现了网络的自定位与时间同步,有效提高了算法的时间效率。算法2利用节点间的双程信息交互来实现网络的联合时间同步与自定位,因此时间消耗大于算法1。算法3由于将时间同步与网络定位分为两步独立进行,因此其时间消耗最大。
本文针对移动水声异步网络的时间同步与自定位问题,研究并提出一种自定位和时间同步联合的单向动态预测算法。该算法通过建立网络时间同步与自定位的联合状态与观测模型,利用网络节点间的单向信息传输,同时预测不同时刻下移动节点的位置信息与时钟差异,有效减小了节点移动及水下长传输时延对网络自定位与时间同步精度的影响,高精度地实现了网络的联合位置跟踪与动态时间同步。仿真结果表明,本文所提算法可以联合预测移动水声异步网络的时间同步与自定位,既提高了网络的时间同步与自定位精度,也增强了网络的时间同步与自定位时间效率。