我对用Python实现Kalman过滤器很感兴趣。首先,我编写了一个非常简单的K过滤器版本-仅一个状态(Y方向的位置)。我的状态转换矩阵如下:
X <- X + v * t
v和t为常数。
我用简单的线性函数模拟测量结果
y = mx + b
并添加噪音:
y1 = np.random.normal(y, sigma, Nsamples).
效果很好,我可以重新定义R和Q来更改测量和过程噪声值(直到现在,它还不是矩阵)。
现在我有一个主意...
如果我进行第二次测量会怎样?
y2 = np.random.normal(y, sigma2, Nsamples)
我该如何处理?我是否可以对测量进行预过滤,如:
(y1 + y2) / 2
或者是否存在涉及卡尔曼滤波器的更合适的方法/解决方案?
有许多方法可以使用卡尔曼滤波器处理多种传感器测量结果的融合。一种方法是依次用新的测量值更新卡尔曼滤波器。
请参阅this answer中的传感器融合先驱Hugh Durrant-Whyte的幻灯片,其中有很多方法可以融合传感器数据。