24

我只是在学习卡尔曼滤波器。在卡尔曼滤波器术语中,我在处理噪声方面遇到了一些困难。在许多具体示例中,过程噪声似乎被忽略了(主要集中在测量噪声上)。如果有人可以向我指出一些介绍性级别的链接,这些链接通过示例很好地描述了过程噪音,那就太好了。

让我们为我的问题使用一个具体的标量示例,给出:

x_j = a x_j-1 + b u_j + w_j

假设x_j随时间模拟冰箱内的温度。它是 5 度,应该保持这种状态,所以我们用 建模a = 1。如果在某个时候t = 100,冰箱的温度变成 7 度(即炎热的一天,绝缘差),那么我相信此时的过程噪音是 2 度。所以我们的状态变量x_100 = 7degrees,这就是系统的真实值。

问题一:

如果我再解释一下我经常看到的描述卡尔曼滤波器的短语,“我们对信号 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)建模的状态之间的差异。而卡尔曼滤波器试图做的是让预测更接近实际状态。从这个意义上说,它实际上是通过残差反馈机制将过程噪声部分“纳入”到预测中,而不是“消除”它,从而更好地预测实际状态。我在搜索的任何地方都没有阅读过这样的解释,如果有人对此观点发表评论,我将不胜感激。

4

4 回答 4

18

在卡尔曼滤波中,“过程噪声”代表系统状态随时间变化的想法/特征,但我们不知道这些变化何时/如何发生的确切细节,因此我们需要将它们建模为随机过程.

在您的冰箱示例中:

  • 系统的状态是温度,
  • 我们通过查看温度计刻度盘以某个时间间隔(例如每小时)获得温度测量值。请注意,您通常需要在卡尔曼滤波中表示测量过程中涉及的不确定性,但您在问题中并未关注这一点。让我们假设这些错误很小。
  • t你看温度计时,看到它说的是 7 度;由于我们假设测量误差非常小,这意味着真实温度(非常接近)7 度。
  • 现在的问题是:稍后某个时间的温度是多少,比如在您查看 15 分钟后?

如果我们不知道冰箱中的冷凝器是否/何时打开,我们可能会:1.稍后的温度仍然高于7度(15分钟设法接近一个循环中的最高温度),2 . 如果冷凝器正在/已经运行,则降低,或者甚至, 3. 几乎相同。

这种认为系统的真实状态在以后某个时间存在可能结果分布的想法是“过程噪声”

注意:我对冰箱的定性模型是:冷凝器没有运行,温度上升直到达到比标称目标温度高几度的阈值温度(注意 - 这是一个传感器,因此可能存在噪音冷凝器打开的温度),冷凝器保持打开状态,直到温度低于设定温度几度。另请注意,如果有人打开门,则温度会升高;因为我们不知道什么时候有人会这样做,所以我们将其建模为一个随机过程。

于 2013-10-25T19:52:10.147 回答
4
  1. 是的,我认为这句话不好。卡尔曼滤波器的主要目的是最小化观察噪声的影响,而不是过程噪声。我认为作者可能将卡尔曼滤波与卡尔曼控制混为一谈(您试图将过程噪声的影响降至最低)。
  2. 状态不会随时间“波动”,除非受到过程噪声的影响。

请记住,系统通常没有固有的“真实”状态。冰箱就是一个不好的例子,因为它已经是一个具有非线性特性的控制系统。飞行的炮弹是一个更好的例子。在某些地方它“确实存在”,但这不是 A 所固有的。在这个例子中,您可以将风视为一种“过程噪音”。(不是一个很好的例子,因为它不是白噪声,但在这里和我一起工作。)风是影响炮弹速度的 3 维过程噪声;它不会直接影响炮弹的位置。

现在,假设这个地区的风总是向西北吹。我们应该看到风的北部和西部分量之间存在正协方差。炮弹速度向北的偏差应该使我们期望看到与向西类似的偏差,反之亦然。

更多地将 Q 视为协方差而不是方差;它的自相关方面几乎是偶然的。

于 2013-10-23T10:02:43.290 回答
0

这是一个很好的讨论。我想补充一点,过程噪声的概念是,基于模型所做的任何预测都有一些错误,它使用 Q 矩阵表示。如果您注意 KF 中用于预测协方差矩阵 (P_prediction) 的方程,这实际上是被预测状态的均方误差,则只需将 Q 添加到其中。PPredict=APA'+Q 。我建议,如果您能找到 KF 方程的推导,它将提供一个很好的见解。

于 2017-10-25T05:22:24.653 回答
0

如果您的状态转换模型是精确的,则过程噪声将为零。在现实世界中,用数学模型几乎不可能捕捉到确切的状态转换。过程噪声捕捉到了这种不确定性。

于 2021-07-30T05:32:32.020 回答