我只是在学习卡尔曼滤波器。在卡尔曼滤波器术语中,我在处理噪声方面遇到了一些困难。在许多具体示例中,过程噪声似乎被忽略了(主要集中在测量噪声上)。如果有人可以向我指出一些介绍性级别的链接,这些链接通过示例很好地描述了过程噪音,那就太好了。
让我们为我的问题使用一个具体的标量示例,给出:
x_j = a x_j-1 + b u_j + w_j
假设x_j
随时间模拟冰箱内的温度。它是 5 度,应该保持这种状态,所以我们用 建模a = 1
。如果在某个时候t = 100
,冰箱的温度变成 7 度(即炎热的一天,绝缘差),那么我相信此时的过程噪音是 2 度。所以我们的状态变量x_100 = 7
degrees,这就是系统的真实值。
问题一:
如果我再解释一下我经常看到的描述卡尔曼滤波器的短语,“我们对信号 x 进行滤波,以使噪声 w 的影响最小化”,http://www.swarthmore.edu/NatSci/echeeve1/Ref/Kalman/ ScalarKalman.html如果我们最小化 2 度的影响,我们是否试图摆脱 2 度的差异?但真正的状态是x_100 == 7
度数。当我们进行 Kalmen 滤波时,我们对过程噪声 w 做了什么?
问题2:
过程噪声的方差为Q
。在简单的冰箱示例中,建模似乎很容易,因为您知道潜在的真实状态是 5 度,您可以将Q
其视为与该状态的偏差。但是,如果真正的底层状态随着时间而波动,那么当你建模时,这其中的哪一部分将被视为状态波动与“过程噪声”。我们如何确定一个好的Q
(再一个例子会很好)?
我发现Q
无论您在哪个时间步,总是会添加到协方差预测中,(请参阅来自http://greg.czerniak.info/guides/kalman1/的协方差预测公式)如果您选择过大Q
,那么卡尔曼滤波器似乎不会表现良好。
谢谢。
EDIT1 我的解释
我对术语过程噪声的解释是系统的实际状态与从状态转换矩阵(即a * x_j-1
)建模的状态之间的差异。而卡尔曼滤波器试图做的是让预测更接近实际状态。从这个意义上说,它实际上是通过残差反馈机制将过程噪声部分“纳入”到预测中,而不是“消除”它,从而更好地预测实际状态。我在搜索的任何地方都没有阅读过这样的解释,如果有人对此观点发表评论,我将不胜感激。