我现在正在学习卡尔曼滤波器一周。我刚刚发现 EKF(扩展卡尔曼滤波器)可能更适合我的情况。
假设我将 KF/EKF 应用于变差计(告诉飞机和降落伞他们的垂直位置和速度是什么的设备)。在我的例子中,我生成了一些示例数据:他(例如降落伞)在下降的前几秒(速度为正),然后他在上升(速度为负)。
据我所知,这个系统是线性的。那么我应该使用 KF 还是 EKF?
我现在正在学习卡尔曼滤波器一周。我刚刚发现 EKF(扩展卡尔曼滤波器)可能更适合我的情况。
假设我将 KF/EKF 应用于变差计(告诉飞机和降落伞他们的垂直位置和速度是什么的设备)。在我的例子中,我生成了一些示例数据:他(例如降落伞)在下降的前几秒(速度为正),然后他在上升(速度为负)。
据我所知,这个系统是线性的。那么我应该使用 KF 还是 EKF?
答案很简单:如果您的系统是线性的,那么(常规)卡尔曼滤波器就可以了。非常简要地总结了两者之间的差异:
扩展卡尔曼滤波器 (EKF)是可应用于非线性系统的扩展。放宽了测量和状态转移模型对线性方程的要求;相反,模型可以是非线性的,只需要是可微的。
EKF 通过将每个时间步的非线性模型转换为线性方程组来工作。在单变量模型中,您可以使用当前模型值及其导数来执行此操作;多个变量和方程的推广是雅可比矩阵。然后以与标准卡尔曼滤波器类似的方式使用线性化方程。
在许多使用线性模型逼近非线性系统的情况下,EKF 在某些情况下表现不佳。如果你对底层系统的状态有一个错误的初始猜测,那么你可能会得到垃圾。与线性系统的标准卡尔曼滤波器相比,EKF 在任何意义上都没有被证明是最优的。它只是将线性系统技术扩展到更广泛的问题类别。
我的回答是,如果它是线性系统,你应该使用 KF;如果是非线性弱的非线性系统,你应该使用EKF,如果是高非线性的非线性系统,你可以考虑众所周知的UKF。我为此画了一个图表,希望它有用。
一项快速的文献调查告诉我,EKF 通常用于 GPS、定位/导航系统以及无人驾驶飞行器。[参见例如“扩展卡尔曼滤波器在无人机识别中的应用”,Abhijit G. Kallapur, Shaaban S. Ali 和 Sreenatha G. Anavatti, Springer (2007)]。
如果您有理由相信系统中非线性的线性近似不会太有害,那么 EKF 可能会比 KF 提供更好的结果。但是没有最优性的理论上的保证。