正如第一个答案(投票最多)所说,卡尔曼滤波器在信号变化的任何情况下都更好。
注意问题陈述这些使用算法来估计一些恒定电压。使用卡尔曼滤波器如何比保持运行平均值更好?这些例子只是过滤器的过度简化用例吗?使用卡尔曼滤波器来估计恒定电压绝对是矫枉过正。在那个特定问题中,最好使用运行平均值,我们知道它是高斯分布的最佳估计量。在本例中,测得的电压是实际电压 V,但有一些噪声通常建模为 0 均值高斯(白噪声)。所以我们的测量是高斯的,平均值=V,sigma=sigma 噪声。
卡尔曼滤波器更适合估计随时间变化的事物。最明显的例子是跟踪移动的物体。让我们想象一下扔一个球,我们知道它会形成抛物线,但我们的估算器会显示什么?
卡尔曼滤波器将非常接近实际轨迹,因为它表示最近的测量值比旧的测量值更重要(当协方差较低时)。运行平均值平均采用所有测量值

蓝球轨迹,红球平均线
(对不起,没有卡尔曼,如果我有时间,我会把它扔在那里,但如果你对系统建模得很好,我会更接近蓝线)
方程式由维基百科提供
另一方面,卡尔曼滤波器表示,如果我们的协方差和残差很小(意味着我们有一个很好的估计),那么我们将坚持不使用先前的估计,并根据残差(或我们的估计误差)稍微调整一下)。现在由于我们的 xhat k|k 非常接近实际状态,所以当我们进行下一次更新时,我们将使用与实际状态非常匹配的系统状态。
在 x=30 时,运行平均值表明,初始条件 y(0) 与 y(29) 一样重要,就是这样,你会得到一个巨大的错误。卡尔曼滤波器解释了这一点。它说由于我们上次的错误很大,让我们对我们的估计(我们的 xhat)做一个大的改变,所以当我们将它用于下一次更新时,它会更接近实际发生的情况
我希望这有点道理
- - - - - - - - - - - - -编辑 - - - - - - - - - - - - --------
我刚刚注意到您的问题是关于移动平均线与卡尔曼的关系。我回答了 running avg vs kalman (这是您提供的链接的主题)

只是为了向移动(窗口)平均值添加更多信息。移动平均线是对变化值的更好估计。因为它只考虑最近的样本。不幸的是,它有一个滞后,特别是在改变导数的时候(只要看看 t=30 附近,导数从正变为负)。这是因为平均看波动缓慢。这通常是我们使用它来消除波动(噪音)的原因。窗口大小也起作用。较小的窗口通常更接近测量值,这很有意义并且听起来不错,对吧?这样做的缺点是,如果您有嘈杂的测量,小窗口意味着更多的噪声出现在输出中。我们再来看看另一个问题
平均值 = .5,sigma = .1 的测量值;
z = [0.3708435, 0.4985331, 0.4652121,...
前 3 个样本的平均值为 0.4448629,并不完全接近 0.5 的预期值。这再次表明,对于较小的窗口,噪声对输出的影响更大。
因此,从逻辑上讲,我们的下一步是采用更大的窗口,以提高我们的抗噪能力。好吧,事实证明更大的窗口更慢地反映实际变化(再次查看我的图表中的 t=30),最极端的窗口情况基本上是运行平均值(我们已经知道这对更改数据不利)
现在回到神奇的卡尔曼滤波器。如果您认为它类似于 2 个样本窗口平均值(相似不一样)。查看更新步骤中的 X k|k ,它采用先前的值,并向其添加当前样本的加权版本。你可能会想,那么噪音呢?为什么它不像小样本量的窗口平均值那样容易受到同样的问题影响?因为卡尔曼滤波器考虑了每次测量的不确定性。权重值 K(卡尔曼增益)可以看作是您估计的协方差(不确定性)与当前估计的协方差(不确定性)之间的比率(实际上是残差,但这样想起来更容易) . 因此,如果最近的测量有很多不确定性,K 会降低,因此最近的样本会发挥较小的作用。如果最新测量的不确定性小于预测,k 增加,现在新信息在下一次估计中发挥更大的作用。因此,即使样本量很小,卡尔曼滤波器仍能阻挡大量噪声。
无论如何,我希望现在回答“windowed avg vs kalman”问题