卡尔曼滤波是一种有效的递归滤波器,用于估计线性动态系统的状态。在标准的卡尔曼滤波中,系统和观测模型都是线性的,而在扩展卡尔曼滤波(EKF)和迭代卡尔曼滤波(IKF)中,系统或观测模型可以是非线性的。以下是两种更新公式的使用区别:
标准卡尔曼滤波更新公式:
这个公式是卡尔曼滤波的标准更新步骤,其中 residual 是观测值与当前状态预测的直接差值。K 是根据当前估计的协方差和观测模型计算出的卡尔曼增益。这个公式假设观测模型是线性的,即可以直接使用观测残差来更新状态。
扩展/迭代卡尔曼滤波更新公式:
这个公式出现在扩展卡尔曼滤波(EKF)或迭代卡尔曼滤波(IKF)中,用于处理具有非线性观测模型的情况。这里的 H * dx 表示在当前状态估计下,预测的状态变化量 dx 经过观测模型 H 的线性化(通常是一阶泰勒展开)所得到的预测残差。从 residual 中减去这个量是为了消除由于非线性特性导致的预测误差。
公式的使用区别:
线性 vs. 非线性:
第一个公式假设观测模型是线性的,而第二个公式适用于处理非线性观测模型。
预测误差的校正:
第二个公式通过减去 H * dx 来校正由于非线性特性导致的预测误差,使得状态更新更加准确。
计算复杂度:
第二个公式由于需要计算 H * dx,可能会比第一个公式有更高的计算复杂度,特别是在 H 的维度较高或 dx 的维度较大时。
在实际应用中,选择哪种公式取决于系统的观测模型是否具有非线性特性。如果观测模型是线性的,可以直接使用第一个公式;如果观测模型是非线性的,则可能需要使用第二个公式来进行更准确的状态估计。在某些情况下,为了提高估计精度,即使观测模型近似线性,也可能选择使用第二个公式。