王苏慧 ,王黎明,韩星程,叶泽甫,朱竹君
(1.中北大学信息探测与处理山西省重点实验室,山西 太原 030051;2.山西格盟中美清洁能源研发中心有限公司,山西 太原 030032)
中国海域辽阔,海岸线长,急需发展先进的监测设备和配套的计算方法。水下无线传感测量监听网络是一种集环境数据采集、数据处理、数据传输于一体的系统,可配合水面浮标对水下运动目标进行实时定位与跟踪,因其低成本、自配置和无线传输的特点而被广泛用于数据监控、目标跟踪和环境监测等场景,这些应用场景通常需要节点间协同工作[1]。由于水下环境的特殊性,目前常采用非线性滤波算法对目标状态进行估计。
常用非线性滤波算法主要为:无迹Kalman滤波(unscented Kalman filter,UKF)和扩展Kalman滤波(extended Kalman filter,EKF)[2]。Zhan等[3]通过EKF方法用于恢复水下目标的轨迹,但这种方法会导致滤波器性能下降甚至造成发散,在计算过程中雅可比矩阵计算量大、复杂度高且不易实现。Li等[4]采用加权平均一致性的UKF方法用于解决水下目标分布式估计时滤波发散的问题,但该方法借助的平均一致策略是一种近似逼近技术,无法实现精度更高的定位。对此,Liu等[5]提出了一种基于有限时间最大一致性的分布式Kalman滤波器算法,可知该算法中的最大一致性可以实现精确一致,但无法适用于非线性系统。
基于以上研究现状,为了将平均一致UKF的近似逼近改进为精确一致且适用于水下传感器节点协同定位,本文利用等价变换将集中式UKF迭代过程用信息矩阵和信息向量表示,以降低传感器计算维数,进而设计分布式最大一致无迹Kalman信息滤波算法来进行水下目标协同定位。该方法适用于多传感器系统,对感知节点的时钟同步不作要求。
水下目标协同定位的基本思想是:假设传感器网络各节点位置准确已知,每个节点获取观测值后,依据一定的定位算法提取其相关信息并与邻居节点相互通信,各节点可依据获得的信息对声源位置进行估计[6]。通过建立水声传感器网络架构、目标运动学模型及传感器观测模型来构建水下目标协同定位框架。
水声传感器网络由大量传感器节点组成,这些节点上装有声载调制解调器,可以通过缆绳等固定在海底或者水下不同深度,节点之间能够通过声学进行水下通信[7]。如图1所示为水声传感器网络架构,主要包括水面浮标与传感器节点,长虚线部分为目标运动轨迹。
水面浮标漂浮在水面,配备GPS以获取其位置和全球时间参考。它们充当“卫星”节点,其主要作用是为水下传感器节点提供自定位,并且作为水下信息传送至水上的枢纽节点,保证与水下各个位置的传感器节点均能保持通信,而且还需要拥有2种通信模式:水声通信以及射频通信,水声通信用于接收水下传感器处理整合好的数据,射频通信则用于水上环境,负责将接收好的数据发送至船上的工作人员。
图1 水声传感器网络模型
水下传感器节点配备有滤波器,负责整体网络的通信、数据采集、计算等工作,固定悬浮于水下,使用压力传感器来获取深度,具有低复杂度以及廉价等特点,可通过浮标的协助获取自身位置。每个传感器节点可以将自己采集到的信息与自己的邻居节点通过水声通信进行交互并将数据进行融合,再将融合后的信息传递给邻居节点。
X(k+1)=f(X(k))+υ(k)
(1)
其中
(2)
假设坐标位置为(xj,yj)的传感器节点j对目标s进行定位,可以得到传感器和目标之间的距离rk和目标相对于传感器节点的角度φk,实际测量中具有加性噪声ωj(k),则在N个传感器节点组成的无线网络中以传感器为中心的坐标系下测量方程为
(3)
其中,j∈1,2,…,N。
目前时刻k,根据当前可用的观测值Zj(k),对状态变量X(k)进行估计。本文采用最大一致方法实现多传感器节点间信息融合,已知一致性方法分为2种,分别是平均一致性和最大一致性。平均一致性的目标是达到所有节点状态值的平均值,实现渐进收敛[8],可表示为
(4)
最大一致性的目标是通过迭代得到最大状态值,实现精确一致,可表示为
(5)
j为节点i的集合;Xi(0)为各节点的初始值。
已有研究提出的UKF定位算法,削弱了水下噪声的影响并减小了定位误差,但多为集中式UKF,一旦中心节点失效整个网络将会瘫痪,计算维数大且鲁棒性差。为解决此问题,本文对集中式UKF算法的具体步骤进行简述,并采用统计线性误差传播方法对其进行改写得到无迹Kalman信息滤波算法,用于降低传感器计算维数且提高稳定性。
a.预测。经选取Sigma点并进行加权运算,先验状态估计值可表示为
(6)
协方差矩阵计算式为
P(k|k-1)=
(7)
其中,Ws=λ/(n+λ),如果s=0,则Ws=1/(2(n+λ))。
(8)
(9)
(10)
上述传感器网络模型建模是非线性的,并且在定位目标时需要多个传感器把测量值传输到中央处理单元进行批量工作,这种方式存在计算量大且可靠性较差的问题。
在集中式UKF算法框架的基础上,以近似的方式替换信息滤波器中的雅可比矩阵,得到无迹Kalman信息滤波算法。其他部分表示不变,通过使用统计线性误差传播方法重新制定使得测量更新中的误差协方差矩阵P(k|k-1)、自协方差矩阵PZZ(k|k-1)、互协方差矩阵PZX(k|k-1)改写为:
(11)
H(k)P(k|k-1)HT(k)+R(k)
(12)
(13)
由信息滤波器算法可得无迹Kalman信息滤波算法的信息向量ik和信息矩阵Ik为:
ik=HT(k)R-1(k)H(k)X(k)+ω(k)=
(14)
Ik=HT(k)R-1(k)H(k) =
P-1(k|k-1)PZX(k|k-1)R-1(k)×
(15)
(16)
因此可以得到信息状态向量与信息矩阵的更新方程为
(17)
由于分布式估计器具有各自处理信息的能力,即使有单个传感器受损或瘫痪情况出现,整个网络依旧可以照常工作。相对集中式而言,其优势在于利用目标在网络中的局部测量和邻居信息来重构目标状态的估计,而不需要集中式节点进行信息融合,提高了大规模网络的可扩展性和高容错性。本文通过最大一致性处理策略对传感器测量得到的信息进行融合,达成精确一致,并将最大一致性算法与UKF的信息滤波形式相结合,提出一种新的分布式滤波方法,具体步骤如下:
a.对于每个节点j∈N,获取测量值并计算信息状态向量和信息矩阵:
P-1(k|k-1)X(k)
(18)
Y(k|k)=Y(k|k-1)+P-1(k|k-1)×
P-1(k|k-1)
(19)
b.最大一致过程。单个传感器i将其测量结果与邻居节点j∈Ni相互通信,使得互相得到对方的信息。
(20)
(21)
bj(l+1)=bj*(l)
(22)
利用虚拟节点避免节点同值问题,即:
(23)
(24)
c.状态值更新,即
(25)
d.状态估计及其协方差更新,即
(26)
该算法是对基于平均一致无迹Kalman滤波器的改进,通过增加节点的计算量来减小节点之间信息的传输量,利用最大一致性算法进行信息融合,实现传感器测量信息的精确一致,提升目标定位的精度与鲁棒性。
本文部署了4个传感器节点来定位目标,传感器节点的拓扑关系如图2所示,图中实线部分表示各传感器节点获取目标测量信息,长虚线部分表示相邻传感器节点之间相互传递各自处理得到的目标信息。
图2 传感器节点拓扑关系
根据分布式最大一致无迹Kalman信息滤波算法融合各传感器节点测量值,假设目标的过程噪声υ(k)有协方差矩阵Qk,系统噪声ωj(k)有协方差矩阵Rk,分别为:
将本文提出的分布式最大一致无迹Kalman信息滤波器(分布式UIF)与平均一致无迹Kalman滤波器(平均一致UKF)的位置状态估计结果进行对比,得到的定位轨迹比较如图3所示。此外,以轨迹估计值与目标真实值之差的绝对值作为误差值,对2种滤波器之间的定位误差进行比较。结果如图4所示。
图3 定位轨迹比较
图4 定位误差比较
由图3可知,分布式最大一致无迹Kalman信息滤波器所得定位轨迹与目标轨迹重合度更高,总体来看仅在轨迹的x轴方向上1 500~1 700 m时有稍明显的偏差;平均一致UKF与目标轨迹相比总体偏离部分较多且偏差更大,整体波动大。由图4可知,分布式最大一致无迹Kalman信息滤波器误差值相对更小,随着测量次数增加稳定在0~6 m之间;平均一致UKF误差值更大且最大值达到30.92 m,在前220次测量中误差呈上升趋势,之后稍有下降但仍然保持在高位;无论是定位轨迹对比还是误差值比较,本文提出算法均优于平均一致UKF。
为衡量误差的整体水平,将每次实验误差的平均值定义为
(29)
由表1可知,对N次实验中的误差值求平均值,误差值单位为米,本文提出算法的误差均值完全小于平均一致UKF算法,即分布式最大一致无迹Kalman信息滤波算法相较平均一致UKF定位精度更高。
表1 多次实验误差均值
运用本文所提算法,传感器节点1与节点2对目标的测量误差以及2个节点间信息融合后对目标的测量误差如图5所示,传感器节点3与节点4对目标的测量误差以及2个节点间信息融合后对目标的测量误差如图6所示。由图可知,经最大一致信息融合后传感器对目标的测量误差相比单个节点对目标的测量误差有所减小,具有更高的定位精度。
图5 节点1、2测量误差比较
图6 节点3、4测量误差比较
本文基于传感器网络的水下目标协同定位问题,提出了一种分布式最大一致无迹Kalman信息滤波算法。该算法以集中式UKF为框架采用统计线性误差传播方法将其改写为无迹Kalman信息滤波算法,降低了传感器计算维数,并将最大一致性处理策略与之结合,实现了传感器测量信息的精确一致。仿真实验结果表明,该算法在水下运动目标的定位场景中与目标实际轨迹的重合度更高且整体误差水平更小,在提升定位精度的同时增强了传感器网络的鲁棒性,验证了本文算法的实用性与有效性。