目标静止、观测站运动条件下的目标参数估计算法是研究非线性纯距离系统滤波算法的基础。本节没有采用需要复杂运算的非线性滤波算法,而是对运算量相对较小的两种算法进行了研究 [169,170] 。
3.3.1.1 算法原理
由2.4节纯距离系统的可观测性分析结论可知,当目标静止时,匀速直线运动的观测站需进行机动,才能实现对目标的观测。现假定系统未受到干扰,解方程 MX = A T B 可求出 X 的精确解。假定测量距离存在测量误差 δr i ( i =1,2,…, k ),求解目标参数的一种方案是将测量距离 r i = r mi + δr i 代入 A T B 阵中,利用 MX = A T B 求解 ,并称 是 X 的一个估计,这里 r mi 代表目标距离的精确值 [171] 。在 k 时刻,存在如下的等式关系:
式中
设静止目标的位置向量为 X =[ x y ] T ,则有:
解方程组可得:
式中
式中
共进行 k -1次递推,当 k ≥2时,便可利用上述推导过程递推解出 。
3.3.1.2 仿真试验及分析
由于不同的测距技术对测距误差的影响比较大,双向测距技术的测距精度可以达到1m以下 [172] ,而水下声学的测距误差又可能达到5% D ,其中 D 为观测站与目标之间的距离 [173] ,因此,为不失一般性,本书仿真态势条件中测距误差的选取跨度比较大。
现假设目标静止不动,观测站进行匀速转弯运动,运动模型采用3.2节中的机动转弯模型,设转弯率已知, ω =0.02,测量时间间隔为10s,测距误差服从均值为0,均方差为 10m 的高斯白噪声,对上述过程进行仿真试验,其结果如图 3-1 所示。而后,增大测距误差,使测距误差服从均值为0,均方差为 100m的高斯白噪声,其他参数保持不变,仿真试验的结果如图3-2和图3-3所示。
图3-1 基于最小二乘原理递推格式的目标跟踪算法性能
图3-2 不同测量误差下的目标状态估计值比较
图3-3 不同测量误差下目标状态估计值的相对误差
上述仿真试验表明,在噪声增大的情况下,递推算法对测量噪声不敏感,仍能取得较好的收敛效果,相对误差在2%左右。此外,由于该算法本质上采用的是圆交汇法,即以观测站为圆心,以观测半径作圆,根据圆相交的情况来估计目标参数值,因此,当多个相交圆交点处切线之间的夹角较小时,不易准确估计出目标参数,如图3-4所示,甚至出现发散的可能;当增大夹角后,可以较容易地估算出目标参数。在实际应用中,可以采用合理增大观测间隔、减小观测站转弯率等办法来提高目标参数的估计精度。
图3-4 相交圆切线夹角对目标参数估计的影响
该算法的特点是:递推格式计算量小,无须 的初值。需要注意的一点是,当观测站始终做匀速直线运动时,会导致观测方程奇异。因此,该递推方法适用于观测站连续三次观测位置不在同一直线的情况。
上节中曾指出,基于最小二乘原理的递推格式的目标参数估计算法只适用于观测站连续三次观测均不在一条直线上的情形,对于一般情形,需要寻找精度较高的一般性算法。
高斯—牛顿算法是一种格式简单、计算量较小的搜索算法。当系统初值偏离真实值较远、函数非线性程度较高或随机观测误差较大时,该算法并不能取得较好的效果。本节将全局收敛策略与高斯—牛顿搜索算法结合,达到了较好的目标定位与跟踪效果。
3.3.2.1 非线性最小二乘原理
假设要根据 k 个观测量 z i ( i =1,2,…, k )估计向量 X ;观测误差为 ω i ( i =1,2,…, k ),这时测量方程可写为 [174] :
k 个方程可写成向量形式为:
式中, Z 为观测向量; W 为随机误差测量误差。其中测量误差的协方差矩阵可表示为:
如果 W 服从零均值高斯分布,则在给定条件下 Z 的条件概率密度,即似然函数可表示为:
最大似然估计就是求 X 以最大化上式,即极小化如下二次型:
在这种情况下成为最小二乘估计。此时 P 可作为加权系数矩阵,通常 f ( X )为非线性函数。
3.3.2.2 算法模型
目标与观测站的运动模型如图2-1所示。现假设观测站进行了 k 次观测,现定义函数 ,式中:
r i 表示带有误差的观测量,求取目标位置坐标往往需要极小化下式:
式中, 为对应的观测误差的方差,这是一个非线性最小二乘问题。
记残差函数为:
则有如下表达式:
定义 F ( X )在( x , y )处的Jacobian矩阵为:
根据求解非线性最小二乘问题的高斯—牛顿方法,可得 F ( X )的梯度向量为:
F ( X )的二阶导数Hessian矩阵为:
在小残量的情况下,忽略二阶信息项,可以得到:
至此,可以得到高斯—牛顿方法的迭代形式为:
式中, i δ 为牛顿步长。若选取某个初值( x 0 , y 0 ),可以利用上述高斯—牛顿法求解。
高斯—牛顿法的收敛速度和收敛精度受初值影响很大。当初值的估计值靠近最优解时,可以获得超线性的收敛速度;而当初值偏离最优解时,高斯—牛顿法面临失效的可能,此时需要采用全局收敛策略。有研究表明 [175] ,带有步长的高斯—牛顿是总体收敛的,此时寻找收敛策略问题就转化为寻找步长因子的问题,以保证每次迭代都趋于解。在实际应用中,有两种策略可以使目标函数值减小:精确一维搜索策略和不精确一维搜索策略。
精确一维搜索即通过寻找步长因子保证在每次迭代时目标函数值最小。该方法模型简单,实现复杂,计算量大;若采用不精确一维搜索策略,即每次找到使目标函数值下降的步长因子后,即开始下一次迭代。该策略与前一策略相比计算量相对较小。
当二阶矩阵 G ( X )正定时,牛顿方向对目标函数值是下降方向,即:
因此,可以首先采用牛顿全步长公式,当发现目标函数值未减少时,可以沿着牛顿方向回溯,选择合适的步长因子,使得目标函数值减少。但是,目标函数值减少并不能保证解趋于极小,文献表明只有当目标函数下降程度满足如下关系式时,即:
才可以使逐渐趋于极小值, α 通常为10 -4 。
综上所述,该策略可以归结为如下步骤 [143] :
步骤1: 选取迭代初值,迭代终止误差值 ε >0, k =0。
步骤2: 计算 g k ,若|| g k ||≤ ε ,停止迭代,输出 X k ;否则转入步骤3。
步骤3: 解方程求解步长,即 δ k 。
步骤4: 进行一维搜索,求步长因子 k λ ,以满足全局收敛策略;令 X k +1 = X k + λ k δ k 及 k = k +1,转入步骤2。
3.3.2.3 仿真试验及分析
现假设目标静止,观测站进行匀速转弯运动,运动模型采用3.2节中的机动转弯模型,设转弯率已知, ω =0.02,测量时间间隔为10s,迭代步数为50。此外,为记录目标函数值的增减情况,在 Matlab 源程序中增加标记点,当目标函数减小时,标记点置为0;当目标函数没有减小时,标记点置为1。
(1)算法迭代的初始值设为(800m,3800m),测距误差服从均值为 0,均方差为100m的高斯白噪声,仿真结果如图3-5~图3-7所示。
图3-5 初始值较好时的算法性能
图3-6 初始值较好时的相对误差
图3-7 初始值较好时的目标函数曲线
(2)算法迭代初始值远离真值,设初始值为(0,0),测距误差服从均值为0、均方差为100m的高斯白噪声,仿真结果如图3-8~图3-10所示;标记点的输出情况如表3-1所示。
(3)算法迭代的初始值保持(0,0)不变,增大测距误差,使测距误差服从均值为0、均方差为1000m的高斯白噪声;仿真结果如图3-11~图3-13所示。
图3-8 初始值较差时的算法性能
图3-9 初始值较差时的相对误差
图3-10 初始值较差时的目标函数曲线
表3-1 原算法与改进算法标记点值(*表示标记点值为1)
图3-11 增大测距误差后的算法性能
图3-12 增大测距误差后的相对误差
图3-13 增大测距误差后的目标函数曲线
由条件(1)的仿真试验可以发现,当算法的初始值偏差不大,并且观测噪声相对较小时,原算法和改进算法均能取得较好的收敛效果,通过在 Matlab 源程序中设置标记点,可以发现两种算法的标记点值均为0,不存在函数值增加的情况;在条件(2)下,当算法的初始值偏差较大时,改进算法比原算法具有更快的收敛速度和更好的精度;通过对比标记点的值,可以发现在每次迭代中,改进算法的目标函数值均减小,而原算法的目标函数值有增加的情况;在条件(3)下,进一步增大观测噪声,改进算法同样比原算法具有更快的收敛速度和更好的精度。上述情况的出现,主要是由于改进算法通过使用全局收敛策略使算法在每一次迭代过程中均趋于最优解,即使是在初值估计不准以及观测方程非线性较强的情况下,仍然可以取得较好的效果。该算法的缺点是:需要在全部观测结束后,才能进行目标参数估计;当观测次数较多时,算法的计算量会增加。因此,使用该算法进行目标参数估计时,需要合理地设置观测次数。另外,该方法也可以扩展到状态向量为多维的情况,相关矩阵的计算会相对复杂。