非线性函数的扩展卡尔曼滤波器 (EKF) 线性化

信息处理 卡尔曼滤波器
2022-02-22 07:15:19

我对扩展卡尔曼滤波器的使用有更一般的问题。我不清楚的是为什么 EKF 使用非线性函数进行状态预测和估计,而在其他地方使用这些函数的雅可比行列式。fh

为什么从不使用以下内容?

首先使用雅可比行列式计算先前估计点的线性化状态和测量模型。在此特定迭代中,到处使用线性化状态转换和测量矩阵,而不是非线性。

3个回答

我们不能在每次迭代中一次又一次地使用非线性系统的初始线性化模型,因为线性模型仅在起点的一些小邻域附近逼近非线性模型。换句话说,线性模型是好的(即近似非线性模型)仅在该点周围的一些小区间内。因为,我们需要一次又一次地估计当前状态,如果我们不在每次迭代中围绕当前估计线性化非线性模型,我们会变得越来越糟(就线性模型而言),因此我们会不再正确估计状态。

卡尔曼滤波器仅对线性模型是最优的。它可以扩展到非线性情况,因为卡尔曼滤波算法中的所有方程都是差分方程。它只是非线性情况的近似解。

在非线性模型的情况下(即状态转移方程和测量方程是非线性的),每当我们需要卡尔曼滤波器方程中的状态转移矩阵或测量矩阵时,我们使用线性(一阶)近似非线性状态转换和测量泛函。由于泰勒级数的一阶近似,雅可比开始发挥作用。

因此,不使用非线性函数,它们的线性近似值用于 EKF 中的状态预测和估计。

加上@Siva 和@kaka 的出色答案,因为模型是非线性的,具有它的线性近似值,在某个点(例如)计算意味着您对该模型的值有一个很好的近似值一定的线性化点。离它有多远,该线性化点仍然可以提供良好的近似值取决于非线性的“严重性”。X0

作为本指南中关于泰勒展开的示例,可以尝试将 sin 函数线性化到附近。请注意,对于中的值,线性化近似提供了相当准确的结果。但是,如果我们离开这个不成立的范围(例如),我们需要再次围绕新点重新线性化模型(理想情况下围绕)。0(1,1)x=2x=2

在此处输入图像描述