具有2个测量噪声的卡尔曼滤波器

时间:2014-05-18 14:20:40

标签: noise measurement kalman-filter

我正在研究我的项目,这是一种自动驾驶汽车。我们在2个轮子上固定了1对测距编码器,在它上面安装了1个激光陀螺仪。我正在设计一个卡尔曼滤波器来滤除测量中的噪声。但是,我的问题是,我不知道如何使用2个单独的测量噪声。

在卡尔曼滤波器方程中,测量预测是

y(k+1)=g(xk, uk,vk) 

其中vk是测量噪声协方差矩阵。好吧我很困惑,因为在我的情况下,我有2个传感器(测距和陀螺仪)测量2个不同的东西,那我怎样才能构建卡尔曼滤波器的均衡矩阵?

2 个答案:

答案 0 :(得分:4)

卡尔曼滤波器可以处理来自多个源的噪声测量。您将它们视为单个噪声向量。在您的情况下,由于您有两个噪声测量值,因此您将拥有一个2乘1的矢量。在Matlab表示法中......

mk = [vo; vg]; 

这里mk是你的测量噪声矢量。它有2个元素:vo(测距噪声)和vg(陀螺噪声)。

由于您的测量噪声是2乘1矢量,因此您的测量噪声协方差矩阵将是2乘2的矩阵。在Matlab表示法中......

vk = [varo, rho; rho, varg];

此处vk是您的测量噪声协方差矩阵。它的对角线元素varo和varg是你的测距和陀螺噪音的变化。非对角线元素(rho)是测距和陀螺噪声之间的相关性。

答案 1 :(得分:1)

据我所知,您正在将测量结果混合在一起。就卡尔曼滤波器而言,测距和陀螺仪读数彼此无关。滤波器提供了预测单个读数的下一次测量的方法。因此,您必须在每个传感器上使用一个过滤器。关于如何计算协方差矩阵的问题,我建议一般阅读卡尔曼滤波器,因为在不了解滤波器工作原理的情况下实现滤波器可能很棘手。