主要内容

线性卡尔曼过滤器

当您使用Kalman过滤器跟踪对象时,使用一系列检测或测量来构造对象运动的模型。对象运动由对象状态的演变定义。卡尔曼滤波器是用于估计对象的轨道的最佳递归算法。过滤器是递归的,因为它使用前一个状态更新当前状态,使用可能在间隔中的测量值。卡尔曼滤波器包含这些新测量,以保持状态估计尽可能准确。过滤器是最佳的,因为它最大限度地减少了状态的平均方形误差。您可以使用过滤器来预测未来状态或估计当前状态或过去的状态。

状态方程

对于工具箱中跟踪的大多数类型的对象,状态矢量由一、二或三维位置和速度组成。

从牛顿方程开始,物体在X- 在恒定加速度下,将这些方程转换为空间状态。

M. X ¨ = F X ¨ = F M. = 一种

如果您定义了状态

X 1 = X X 2 = X ˙

你可以把牛顿定律写成状态空间的形式。

D. D. T. [ X 1 X 2 ] = [ 0. 1 0. 0. ] [ X 1 X 2 ] + [ 0. 1 ] 一种

当您有信心遵循这种类型的运动时,使用线性动态模型。有时该模型包括过程噪声反映运动模型中的不确定性。在这种情况下,牛顿的等式有一个额外的术语。

D. D. T. [ X 1 X 2 ] = [ 0. 1 0. 0. ] [ X 1 X 2 ] + [ 0. 1 ] 一种 + [ 0. 1 ] V. K.

V.K.为未知的加速度噪声扰动。只有噪声的统计数据是已知的。假设它是零均值高斯白噪声。

您可以将此类型的等式扩展到多个维度。在两个维度中,等式具有表单

D. D. T. [ X 1 X 2 y 1 y 2 ] = [ 0. 1 0. 0. 0. 0. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. ] [ X 1 X 2 y 1 y 2 ] + [ 0. 一种 X 0. 一种 y ] + [ 0. V. X 0. V. y ]

右边的4 × 4矩阵是状态转换模型矩阵.独立X-y -动作,该矩阵是块对角线。

转换到离散时间时,将动作方程集成在时间间隔的长度上。以离散形式,用于采样间隔T.,州代表就变成了

[ X 1 K. + 1 X 2 K. + 1 ] = [ 1 T. 0. 1 ] [ X 1 K. X 2 K. ] + [ 0. T. ] 一种 + [ 0. 1 ] V. ˜

的数量Xk + 1状态是在离散时间吗k + 1,XK.是早期离散时间的状态,K..如果您包括噪声,则等式变得更加复杂,因为噪声的整合并不直接。

状态方程可推广为

X K. + 1 = F K. X K. + G K. K. + V. K.

FK.状态转移矩阵是和吗GK.是控制矩阵。控制矩阵考虑了作用在物体上的任何已知力。给出了这两种矩阵。最后一个术语表示动态模型的噪声样随机扰动。假设噪声是零均值高斯白噪声。

具有输入噪声的连续时间系统由线性随机微分方程描述。具有输入噪声的离散时间系统由线性随机微分方程描述。状态空间表示是物理系统的数学模型,其中输入,输出和状态变量由一阶耦合方程相关。

测量模型

测量就是你观察到的系统。测量依赖于状态向量,但并不总是与状态向量相同。例如,在雷达系统中,测量值可以是球面坐标,如距离、方位角和仰角,而状态向量是笛卡尔坐标的位置和速度。对于线性卡尔曼滤波器,测量值总是状态向量的线性函数,排除了球坐标。使用球坐标时,使用扩展卡尔曼滤波器。

度量模型假设任何时候的实际度量与当前状态相关

Z. K. = H K. X K. + W. K.

W.K.表示当前时间步骤的测量噪声。测量噪声也是具有协方差矩阵的零均匀性白色高斯噪声问:问:K.= E [nK.N.K.T.]

线性卡尔曼滤波方程

没有噪声,动力学方程是

X K. + 1 = F K. X K. + G K. K.

同样,测量模型没有测量噪声的贡献。在每个实例中,过程和测量噪声都是未知的。只有噪声统计数据是已知的。的

Z. K. = H K. X K.

你可以把这些方程放入一个递归循环中来估计状态是如何发展的以及状态分量中的不确定性是如何发展的。

过滤循环

从对州的最佳估计开始,X0/0,状态协方差,P.0/0.过滤器在持续循环中执行这些步骤。

  1. 使用运动方程将状态传播到下一步。

    X K. + 1 | K. = F K. X K. | K. + G K. K.

    也传播协方差矩阵。

    P. K. + 1 | K. = F K. P. K. | K. F K. T. + 问: K.

    下标符号k + 1 | k表示数量是最佳估计k + 1从步骤传播的步骤K..这个估计通常被称为先天的估计。

    然后在更新时间预测测量结果。

    Z. K. + 1 | K. = H K. + 1 X K. + 1 | K.

  2. 使用实际测量和预测测量的差值来修正更新时间的状态。校正需要计算卡尔曼增益。要做到这一点,首先计算测量预测协方差(创新)

    S. K. + 1 = H K. + 1 P. K. + 1 | K. H K. + 1 T. + R. K. + 1

    那么卡尔曼增益是

    K. K. + 1 = P. K. + 1 | K. H K. + 1 T. S. K. + 1 - 1

    并由最优性条件导出。

  3. 用测量校正预测的估计。假设估计是预测状态和测量的线性组合。校正后的估计使用下标符号,k + 1 | k + 1.是从中计算的

    X K. + 1 | K. + 1 = X K. + 1 | K. + K. K. + 1 Z. K. + 1 - Z. K. + 1 | K. 的)

    在哪里K.k + 1就是卡尔曼增益。被纠正的状态通常被称为一个后念对状态的估计,因为它是在包括测量之后导出的。

    修正状态协方差矩阵

    P. K. + 1 | K. + 1 = P. K. + 1 | K. - K. K. + 1 S. K. + 1 K. ' K. + 1

    最后,您可以基于校正状态计算测量。这不是对测量的校正,而是最好估计测量将基于状态的最佳估计。将其与实际测量进行比较,为您提供了滤波器性能的指示。

该数字总结了卡尔曼循环操作。

卡尔曼方程式

恒定速度模型

线性卡尔曼滤波器包含内置线性恒定速度运动模型。或者,您可以指定用于线性运动的转换矩阵。下次步骤的状态更新是当前状态的线性函数。在该滤波器中,测量结果也是由测量矩阵描述的状态的线性函数。对于在3-D空间中移动的物体,状态由位置和速度描述X-,y-, 和Z.坐标。等速运动的状态转移模型为

[ X K. + 1 V. X K. + 1 y K. + 1 V. y K. + 1 Z. K. + 1 V. Z. K. + 1 ] = [ 1 T. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 1 T. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 1 T. 0. 0. 0. 0. 0. 1 ] [ X K. V. X K. y K. V. y K. Z. K. V. Z. K. ]

测量模型是状态向量的线性函数。最简单的情况是测量是状态的位置组件的情况。

[ M. X K. M. y K. M. Z. K. ] = [ 1 0. 0. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 0. 1 0. ] [ X K. V. X K. y K. V. y K. Z. K. V. Z. K. ]

恒加速度模型

线性卡尔曼滤波器包含一个内置的线性恒加速度运动模型。或者,您可以指定恒定加速度线性运动的过渡矩阵。线性加速度的过渡模型为

[ X K. + 1 V. X K. + 1 一种 X K. + 1 y K. + 1 V. y K. + 1 一种 y K. + 1 Z. K. + 1 V. Z. K. + 1 一种 Z. K. + 1 ] = [ 1 T. 1 2 T. 2 0. 0. 0. 0. 0. 0. 0. 1 T. 0. 0. 0. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 0. 0. 0. 1 T. 1 2 T. 2 0. 0. 0. 0. 0. 0. 0. 1 T. 0. 0. 0. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 0. 0. 0. 1 T. 1 2 T. 2 0. 0. 0. 0. 0. 0. 0. 1 T. 0. 0. 0. 0. 0. 0. 0. 0. 1 ] [ X K. V. X K. 一种 X K. y K. V. y K. 一种 y K. Z. K. V. Z. K. 一种 Z. K. ]

最简单的情况是测量是状态的位置组件的情况。

[ M. X K. M. y K. M. Z. K. ] = [ 1 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1 0. 0. ] [ X K. V. X K. 一种 X K. y K. V. y K. 一种 y K. Z. K. V. Z. K. 一种 y K. ]

也可以看看

对象