在传感器融合的情况下使用哪种滤波器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在传感器融合的情况下使用哪种滤波器?相关的知识,希望对你有一定的参考价值。

我正在尝试融合GPS和加速度计数据,以使用运动方程估算位置和速度

x = x'+ vdt + 0.5dt ^ 2。

到目前为止,从我所看到的看起来卡尔曼滤波器似乎是流行的选择 - (123)。

但是,当系统是线性时,似乎使用卡尔曼滤波器。

运动方程不是非线性的,因为它是

dt ^ 2?

他们不应该使用EKF / UKF吗?如果没有,你能解释一下原因吗?我糊涂了。谢谢!

答案

要指定卡尔曼滤波的设置,您需要指定要估计的内容(“状态”)以及要测量的内容(“观察结果”)。此外,您需要说明观察结果如何取决于状态,即您需要将观察结果表示为状态的函数,以及如何及时传递状态,即您需要在以后表达状态作为早期国家的职能。当谈到过滤器的线性或其他时,所提到的是这两组方程(观察方程和预测方程)是否是线性的。也就是说,重要的是观察是否是状态的线性函数,以及未来状态是否是先前状态的线性函数。状态或观察如何依赖于时间是无关紧要的。

作为玩具示例,假设我们有一个1d系统,并且可以测量位置P和加速A.作为状态,我们可以采取位置p,速度v和加速度a。然后观察方程非常简单:

P = p
A = a

预测方程只是稍微复杂一些:在左边(带''),我们在时间t处的预测状态大于先前估计的状态的时间

p' = p + t*v + 0.5*t*t*a
v' = v + t*a
a' = a

由于这些方程组中的每一组在p,v和a中显然是线性的,因此系统是线性的。

然而,真实的(3d)系统可能要复杂得多。例如,可能是来自加速度计的读数相对于固定在身体中的坐标系,而位置(和速度,如果可用)是相对于完全不同的坐标系。您需要能够将这两个帧关联起来。可能是测量,例如俯仰滚转和偏航,你可以引入新的“态度”状态;然而,观察和预测很可能都是状态的非线性函数。

以上是关于在传感器融合的情况下使用哪种滤波器?的主要内容,如果未能解决你的问题,请参考以下文章

扩展卡尔曼滤波EKF与多传感器融合

matlab代码复现:目标跟踪多传感器融合非线性滤波等探讨及技术支持

matlab代码复现:目标跟踪多传感器融合非线性滤波等探讨及技术支持

matlab代码复现:目标跟踪多传感器融合非线性滤波等探讨及技术支持

基于整数的传感器融合/卡尔曼滤波器

无损卡尔曼滤波UKF与多传感器融合