李 昂,陈姝君,王 艳
(南京理工大学紫金学院 ,江苏 南京 210023)
近期,水下传感网络(underwater sensor networks,UWNs)在海域环境感测、军事勘察等领域得到广泛应用[-2]。UWNs主要由浮标和传感节点组成。浮标浮于水面,收集水下传感节点的数据。而传感节点位于下水,实时感测数据,并以声通信方式传输至浮标。收集数据后,浮标再以无线方式传输至控制中心。典型的UWNs 拓扑结构如图1所示。
图1 典型的UWNs 拓扑结构
而传感节点位置信息对传感节点所感测的数据有重要影响。若感测的数据没有相应的位置信息,则该数据无任何意义。目前,研究人员对无线传感网络的节点定位算法进行大量的研究[3]。然而,针对UWNs的水下测距定位研究较少。
然而,由于水域通信对声通信的快速衰减[4],如散射、反射、多径衰落,仅通过简单测量节点间距离难以获取高的定位精度。
现存的测距方案遭受了声速波动的影响[5-6]。文献[5]提出基于射线弯曲的定位算法(ray bending-based localization, RBL)。RBL算法依据节点的深度-声速剖面(depth-dependent sound profile, SSP)信息估计节点位置。然而,该算法只考虑了射线弯曲情况(如散射),并没有考虑反射。类似地,文献[6]提出基于射线的根搜索(root finding, RF)测距(ray-based root finding ranging, RRFR)算法。相比于RBL,RRFR不仅考虑散射的直线路径,也考虑了具有散射、反射的变化声射线模型。此外,该算法引用压力传感器精确地测量了传感节点的深度。当获取了两个节点的深度以及射线到达时间(Time of Arrival, ToA),RRFR算法就利用根搜索算法计算垂直距离。
然而,根搜索RF是利用“平面二叉搜索”策略估计传感节点位置,其需经过多次的射线轨迹迭代。因此,RRFR算法计算成本大,运行时间长。这就使得RRFR算法并不适合于实时应用环境,如定位、跟踪。
为此,本文提出基于BELLHOP的实时声测距(real-time acoustic ranging, RAR)算法。RAR算法引用射线跟踪模型,并对声速时变,射线轨迹进行补偿,并压缩搜索空间,降低运算时间。实验数据表明,提出的RAR算法有效地平衡了测距精度与运算开销关系。
引用声源和接收器间的信号到达时间差ToA进行测距。依据ToA值,并引用BELLHOP射线跟踪模型估计声场[7]。
BELLHOP模型通过高斯波束跟踪方法计算非均匀环境中的声场。通过高斯近似方法处理能量焦散和绝对影响等问题,使其适用于复杂环境下的距离相关声线传播的计算。
BELLHOP模型依据输入参数,预测到达射线的轨迹。这些输入参数包括垂直距离d,z轴(c(z))方向上的SSP、水深信息B、声源深度zs、接收节点的深度zr、信号频率fs以及射线数Nray。
假定接收节点能够识别先到达的射线。接收节点就计算射线遍历时间,并将些时间作为ToA。然后,再利用水压传感节点获取深度值。
令d表示声源离接收节点的距离。令表示从声源至接收节点射线轨迹rtraj的长度。依据式(1)可粗略地估计的值
(1)
(2)
其中εss表示由未知声速时变所导致的误差,而εtraj表示由未知声轨迹所引起的误差。RAR算法的目的就是降低(εss+εtraj)的总体误差,进而提高对d的估计精度。
RAR算法旨在通过降低声速补偿和轨迹补偿的误差,提高定位精度。
图2 声速补偿
(3)
(4)
(5)
由于射线的散射、反射等原因,形成轨迹误差εtraj,如图3所示。
图3 轨迹补偿
(6)
(7)
图4 RAR算法的伪代码
图5 实验环境
为了更好地分析RAR算法性能[11],进行实验仿真。实验环境如图5所示。考虑两个测试点:第一个测试点VLA1离声源位置为5800 m,第二测试点VLA2离声源为4800 m。且这两个测试点水深为40 m。同时,选择RRFR算法作为参照,并比较它们的归一化测距误差率(normal ranging error, NRE)性能,其定义如式(8)所示。实验的进行时间为一天。
(8)
图6 声速测量值
图7显示RAR和RRFR两个算法在两个测试点的NRE值,如图7所示。
图7 在不同时间点的NRE
从图7可知,在每个测距阶段,RRFR算法与RAR算法的NRE的NRE非常接近。此外,也注意,相比于初始估计误差,RAR算法、RRFR算法的测距误差分别提高了近32 m、40 m。
尽管RAR算法与RRFR算法的NRE很相近,但是RAR算法的运行时间远低于RRFR算法。表1 显示了RAR和RRFR算法完成两个测试点测距的运行时间。
表1 运行时间
从表1可知,RAR在4800 m、5800 m的平均测距时间分别为2.15 s、2.38 s,而RRFR算法的在这两个测试点的平均测距时间高达为16.32 s、18.56 s。原因在于:RAR算法降低了射线跟踪迭代次数。
针对水下传感网络的声测距问题,提出基于实时声测距RAR算法。RAR算法引用BELLHOP模型,对声速时变和射线轨迹进行补偿,同时,通过减少射线跟踪迭代次数,降低搜索空间,进而降低运算时间成本。实验数据表明,相比于RRFR,提出的RAR算法能够以低的运行时间完成测距精度。