用卡尔曼滤波器对时间无关的传感器读取进行去噪以及如何对其进行编码是否可行?

时间:2016-02-23 04:40:42

标签: r kalman-filter

在我做了一些研究后,我可以理解如何用时间相关的功能实现它。但是,我不确定是否可以将它应用于时间无关的场景。

我们有一个简单的函数y=a*x^2,其中yx都以恒定的间隔(比如1分钟/样本)进行测量,而a是不变。但是,yx测量都有白噪声。

更具体地说,xy是两个独立测量的变量。例如,x是管道中的空气流速,y是管道上的压降。因为空气流量由于风扇速度的变化而变化,所以管道上的压降也是变化的。压降y和流速x之间的关系为y=a*x^2,但两者都测量嵌入的白噪声。是否可以使用Kalman Filter来估算更准确的yxy都以恒定的时间间隔记录。

以下是我的问题:

  1. Kalman Filter阅读降噪实施y是否可行?换句话说,对y有更好的估计?

  2. 如果可行,如何在R或C中编码?

  3. P.S。

    我尝试将Kalman Filter应用于单个变量,但效果很好。结果如下。我接下来试试Ben的建议,看看我是否能让它发挥作用。

    enter image description here

1 个答案:

答案 0 :(得分:1)

我认为你可以在这里应用一些卡尔曼滤波器。

使用差异a制作您的州P_a。您的更新仅为F=[1],您的衡量结果只有H=[1]且观察y/x^2。换句话说,您通过在原始等式中求解x来衡量ya并估算a。像往常一样更新标量KF。近似R非常重要。如果xy都具有零均值高斯噪声,那么y/x^2肯定不会,但您可以得出近似值。

现在您的估计值为a随机常量,理想情况下为Q=0,但可能为Q=[tiny]以避免出现数值问题)你可以用它来获得更好的y

您有y_measy_est=a*x_meas^2。将使用差异的那些组合为(R_y * a * x^2 + (P_a + R_x2) * y_meas) / (R_y + P_a + R_x2)。随着时间P_a变为零(您确定对a的估计),您可以看到最终将xy测量值中的信息与您的单独信任他们。早期,当P_a很高时,您大多信任y_meas的直接衡量标准,因为您不了解这种关系。