我对在Python中实现卡尔曼滤波器感兴趣。首先,我编写了一个非常简单的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
或者有没有更合适的方法/解决方案涉及卡尔曼滤波器?
有许多方法可以使用卡尔曼滤波器处理多个传感器测量的融合。一种方法是按顺序更新卡尔曼滤波器,使用新的测量值。
请参阅传感器融合先驱Hugh Durrant-Whyte在此答案中找到的幻灯片,了解如何融合传感器数据。