卡尔曼滤波_3(EKF)

wiki原文

EKF

在估计理论中,EKF是KF的非线性版本,对当前估计的均值和协方差进行线性化。如果状态转移模型很准确的话,EKF会是非线性状态估计理论、导航系统、GPS中最好的方法。

历史

创造卡尔曼滤波器的论文发表于上世纪60年代。卡尔曼滤波器对于线性系统模型,在状态转移系统和测量系统中加上独立白噪声下,都是最有估计器。然而,实际应用问题中,大部分都是非线性系统,需要对卡尔曼滤波器进行一些改进。这方面大部分工作由NASA Ames童鞋完成。EKF采用的方法来源于微积分中的泰勒展开式,对模型进行线性化。如果系统模型不太清楚或者不够精确(下面会描述这种情况),蒙特卡洛方法,特别是粒子滤波的方法,就派上用场。蒙特卡洛方法在EKF之前就出现了,但是蒙特卡洛方法计算比EKF慢。

计算公式

在EKF中,状态转移模型和观测模型(就是KF中的俩矩阵)不必是状态变量的线性函数,而可以是可微分函数。

分别是过程噪声和测量噪声,假定是0均值的高斯分布,协方差分别是是控制输入向量。

函数用来从上一次估计的状态计算预测的状态,同样的,函数从预测的状态计算测量量。但是,无法直接计算协方差,而是需要计算偏导矩阵(雅可比矩阵)。

每一步计算时,需要从当前的估计值中计算雅可比矩阵。这些矩阵才可以用于卡尔曼滤波器方程。这个步骤就是在对非线性系统进行线性化。

离散时间域下的预测和更新方程

预测

状态预测方程

协方差预测方程

更新

Innovation or measurement residual
Innovation (or residual) covariance
卡尔曼增益
状态预测更新
协方差预测更新

状态转移矩阵和观测矩阵如下:

高阶EKF

上述是一阶EKF。更高阶的EKF可以通过保留更多项泰勒展开来实现。例如,二阶和三阶EKF。不过,只有当测量误差很小时,更高阶的EKF才会表现更好。

非加性噪声下的公式和方程

EKF下的典型形式假设过程噪声和测量噪声都是加性的。这个假设,在EKF的实现下,不是必须的。可以考虑下面更加一般的情况:

分别是过程噪声和测量噪声,假定是0均值的高斯分布,协方差分别是。这样一来,预测的协方差以及相应的方程就变成如下形式:

其中,都是雅可比矩阵:

The predicted state estimate and measurement residual are evaluated at the mean of the process and measurement noise terms, which is assumed to be zero. Otherwise, the non-additive noise formulation is implemented in the same manner as the additive noise EKF.

连续时间下的EKF

EKF的缺陷

Robust EKF

UKF

比EKF性能更好的非线性卡尔曼滤波器是UKF。在UKF中,通过采样点来估计潜在高斯分布的概率密度函数。这些采样点为了能对后验概率进行估计,需要进行变换。这个变换叫做U变换。UKF在误差估计方面,比EKF还要鲁棒和精确。

Invariant UKF

你可能感兴趣的:(英文博客翻译,卡尔曼滤波)