我对在 Python 中实现卡尔曼滤波器很感兴趣。首先,我编写了一个非常简单的 K-Filter 版本——只有一个状态(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
还是有更合适的方法/解决方案涉及卡尔曼滤波器?