卡尔曼滤波器与指数滤波器
我想知道,卡尔曼滤波器和指数滤波器有什么优缺点?我有一个多传感器融合问题,我正在尝试决定选择哪种方法。
我认为,卡尔曼滤波器的计算更加复杂,但它具有更详细的系统模型,因此在多传感器融合中更准确(?)。
而指数滤波器是一个简单的方程,但它受到 alpha 选择的限制(较高的 alpha => 滤波器的“记忆”较少,因此平滑程度较低,但对测量的权重较大,而较低的 alpha 具有较高的平滑程度,但突然 另外
当存在抖动等时,指数滤波器在噪声消除中更有用,而卡尔曼滤波器对于实际的多传感器融合有用,这是正确的吗?
,遗传算法对传感器有多有用 。融合?我正在尝试结合磁罗盘和陀螺仪来估计真实方向。
I was wondering, what are the advantages and disadvantages of Kalman Filter and Exponential Filter? I have a multi-sensor fusion problem and I'm trying to decide which method to choose.
I think, Kalman filter is more computationally complicated but it has a more detailed model of the system so it is more accurate(?) in multi-sensor fusion.
Whereas the Exponential filter is a simple equation but it is limited by the choice of alpha (Higher alpha => less "memory" of the filter and thus lesser smoothing, but more weightage on measurements whereas lower alpha has higher degree of smoothing but sudden changes are not reflected properly.
The Exponential filter is more useful in noise cancellation, when there is jitter etc. whereas the Kalman filter is useful for the actual multi-sensor fusion. Is this correct?
Also, how useful is the Genetic Algorithm for sensor fusion? I am trying to combine a magnetic compass and gyroscope for estimating true orientation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基本上就是这样,一般来说,系统的模型越好,越好无论您是否使用卡尔曼滤波器,您的滤波器都会如此。
我不同意这种说法。卡尔曼滤波器在噪声消除方面非常聪明。它比低通滤波器聪明得多,因为它充分利用了协方差矩阵中存储的所有信息。如果您正在查看的性能指标是“过滤后的值与真实值的匹配程度如何?”我认为简单的低通滤波器所能做到的最好的就是匹配它的性能,而这只是在 随机游走 。一旦你有了一个有趣的状态转移矩阵,我认为低通滤波器就没有机会,因为它无法看到速度不确定性如何泄漏到位置不确定性中。
这正是卡尔曼滤波器的设计目的。
但是,如果您担心实现卡尔曼滤波器的复杂性,请从实现低通滤波器版本开始:
1)从简单的模拟开始
2)根据您的测量更新模拟状态
这基本上是卡尔曼的框架(最简单)用于该系统的过滤器。
所缺少的是:
alpha
的固定值我不知道它们适合哪里。你能详细说明一下吗?
That's basically it, in general the better your model the system is, the better your filter will be, regardless of whether you're using a Kalman filter.
I would disagree with this statement. The Kalman filter is being smart about the noise cancellation. It's a lot smarter than a low pass filter can be because it takes full advantage of all the information stored in the covariance matrix. If the performance measure you're looking at is "How closely does the filtered value match the true value?" I think the best a simple low pass filter can hope to do is match it's performance, and that is only in the simplest case of a random walk . As soon as you have an interesting state-transition matrix I think the low pass filter has no chance, because it can't see how velocity uncertainty leaks into position uncertainty, for example.
This is exactly the sort of thing a Kalman filter is designed for.
But if you're worried about the complexity of implementing a kalman filter, start by implementing the low pass filter version:
1) Start with a simple simulation
2) Update the simulation state based on your measurements
That is basically the framework for the kalman (simplest) filter for this system.
All that's missing is to:
alpha
'sI don't see where they would fit in. Can you elaborate?
指数滤波器是卡尔曼滤波器的一种特殊情况,它限制了对
因此,在适用这些假设的情况下,它们是等效的。在其他情况下,您可以使用卡尔曼滤波器获得更好的结果(如果您对系统进行适当的建模)。
另一个主要决定是是否将速度包含在状态空间中;如果您这样做,那么卡尔曼滤波器就是您的最佳选择。
The exponential filter is a special case of the Kalman filter that restricts consideration to
Thus, in cases where these assumptions apply, they are equivalent. In other cases, you can achieve better results using the Kalman filter (if you appropriately model the system).
The other main decision is whether you include the velocity in the state space; if you do, then the Kalman filter is the way to go.