【问题标题】:Explain process noise terminology in Kalman Filter解释卡尔曼滤波器中的过程噪声术语
【发布时间】:2013-11-01 12:06:56
【问题描述】:

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

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

x_j = a x_j-1 + b u_j + w_j

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

问题 1:

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

【问题讨论】:

    标签: kalman-filter


    【解决方案1】:

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

    在您的冰箱示例中:

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

    如果我们不知道冰箱中的冷凝器是否/何时打开,我们可以: 1.后期温度仍高于7度(15分钟左右) 接近一个循环中的最高温度), 2. 如果冷凝器正在/已经运行,则降低,甚至, 3. 差不多。

    这种想法是,对于现实的真实状态存在可能的结果分布 系统在稍后的某个时间是“过程噪音”

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

    【讨论】:

    • 谢谢,我想我理解了过程噪声的定义。但是关于卡尔曼滤波器的大多数材料似乎都说卡尔曼滤波器最小化了过程噪声,但过程就是正在发生的事情(即在这种情况下,基于冷凝器的操作......等等),所以噪声不是离开。卡尔曼滤波器如何帮助处理过程噪声?
    • @frank 如果您正在阅读的内容是通用的“噪音”,它可能指的是测量噪音;如果他们真的在说“过程噪音”,那么我会说这是一种不好的解释方式。
    【解决方案2】:
    1. 是的,我认为这句话不好。卡尔曼滤波器的主要目的是最小化观察噪声的影响,而不是过程噪声。我认为作者可能将卡尔曼滤波与卡尔曼控制混为一谈(您试图将过程噪声的影响降至最低)。
    2. 状态不会随时间“波动”,除非受到过程噪声的影响。

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

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

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

    【讨论】:

    • 谢谢。当我在谷歌上搜索卡尔曼控制时,结果大多是卡尔曼滤波器示例。它完全是一个单独的设置吗,即。 swarthmore.edu/NatSci/echeeve1/Ref/Kalman/ScalarKalman.html 图 5 中的反馈框图和相关的卡尔曼方程有什么不同。似乎最小化过程噪音是我感兴趣的,我想了解更多。这是我发布的另一个卡尔曼过滤器问题:stackoverflow.com/questions/19440881/…
    • 我添加了一个 EDIT1 块,其中包含我对过程噪声的解释,请看一下,让我知道您的想法。谢谢。
    【解决方案3】:

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

    【讨论】:

    • 尽量避免在答案中发表评论,除非您有具体的详细答案。请使用下面的评论框,一旦您有足够的声誉,您就可以对任何帖子发表评论。 :)
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 2011-06-12
      相关资源
      最近更新 更多