我想知道,卡尔曼滤波和指数滤波的优缺点是什么?我有一个多传感器融合的问题,我试图决定选择哪种方法。
我认为,卡尔曼滤波在计算上更复杂,但它有一个更详细的系统模型,所以它更准确(?)在多传感器融合中。
指数滤波器是一个简单的方程,但它受到α(较高的α=>较少的“记忆”滤波器)的选择的限制,因而较小的平滑度,但对测量的权重较高而较低的α具有较高的平滑度,但突然的变化没有得到适当的反映。
指数滤波在存在抖动等噪声消除方面更为有用,而卡尔曼滤波则适用于实际的多传感器融合。这是正确的吗?
此外,遗传算法在传感器融合中的作用有多大?我试图结合一个磁罗盘和陀螺仪来估计真正的方位。
发布于 2012-01-21 01:43:22
卡尔曼滤波和指数滤波的优点和缺点是什么?我认为,卡尔曼滤波在计算上比较复杂,但是它对系统有一个更详细的模型,因此它在多传感器融合中更精确。
基本上就是这样,一般来说,你的系统模型越好,你的滤波器就越好,不管你是否使用卡尔曼滤波器。
指数滤波在存在抖动等噪声消除方面更有用,而卡尔曼滤波则适用于实际的多传感器融合。这是正确的吗?
我不同意这一说法。卡尔曼滤波器在消除噪声方面很聪明。它比低通滤波器聪明得多,因为它充分利用了存储在协方差矩阵中的所有信息。如果您正在查看的性能度量是“筛选后的值与真实值的匹配程度如何?”我认为一个简单的低通滤波器所能做的最好的事情就是匹配它的性能,而这只是在随机游动中最简单的情况下。当你有一个有趣的状态转移矩阵,我认为低通滤波器没有机会,因为它看不出速度不确定性如何泄漏到位置不确定性,例如。
“我正试图结合一个磁罗盘和陀螺仪来估计真实方位。”
这正是卡尔曼滤波器设计的目的。
但是,如果您担心实现kalman滤波器的复杂性,请从实现低通滤波版本开始:
1)从一个简单的模拟开始
predictedAngle = oldAngle+rotationRate*dt2)根据测量结果更新模拟状态
rotationRate = alpha1*rotationRate +(1-alpha1)*gyro.rotationRate
filteredAngle = alpha2*predictedAngle+(1-alpha2)*compass.angle这基本上是这个系统的kalman (最简单)滤波器的框架。所缺少的就是:
alpha的固定值。“此外,遗传算法对于传感器融合有多大用处?”
我看不出他们适合哪里。你能详细说明一下吗?
发布于 2013-02-26 18:43:20
指数滤波器是Kalman滤波器的特例,它限制了对
因此,在适用这些假设的情况下,它们是等价的。在其他情况下,使用Kalman滤波器可以获得更好的结果(如果您对系统进行了适当的建模)。
另一个主要的决定是你是否在状态空间中包含速度;如果你包含了,那么卡尔曼滤波就是要走的路。
https://stackoverflow.com/questions/4363514
复制相似问题