我一直在尝试理解卡尔曼滤波器的概念。我遇到了这篇很棒的文章,它使这个概念足够清晰。
但是我无法理解矩阵的概念我认为是观察矩阵。在本文的公式 8 中,传感器使用此矩阵建模。我浏览了这个网站上的一些帖子,在那里我发现矩阵始终是 1 和 0 的组合。
对于我试图估计速度或位置等参数值的任何系统,这是否总是正确的?
我一直在尝试理解卡尔曼滤波器的概念。我遇到了这篇很棒的文章,它使这个概念足够清晰。
但是我无法理解矩阵的概念我认为是观察矩阵。在本文的公式 8 中,传感器使用此矩阵建模。我浏览了这个网站上的一些帖子,在那里我发现矩阵始终是 1 和 0 的组合。
对于我试图估计速度或位置等参数值的任何系统,这是否总是正确的?
如果你能那样做,就可以直接实现卡尔曼滤波器。举个例子 - 考虑笛卡尔坐标中的恒定速度模型,但您唯一测量的是位置(不是速度),并且您正在测量笛卡尔坐标系中的位置。然后你的矩阵只会像您描述的那样挑选位置值。
现在考虑一个声纳或雷达系统——它测量距离和方位而不是 x、y、z。现在测量在极坐标/球坐标系中进行,但更容易将目标的模型保持为在笛卡尔坐标系中具有恒定速度。现在您的状态传播矩阵与前一种情况相同,但现在您的矩阵需要将您的笛卡尔状态坐标转换为极坐标/球坐标以进行测量。例如,. 所以现在你的矩阵不是简单地提取状态变量之一。事实上你的甚至不是一个常数值——它随着状态向量的值而变化。因此测量矩阵中的变换是非线性的,所以卡尔曼滤波器甚至不再是最优的。在这种情况下,您现在进入扩展卡尔曼滤波器以尝试处理转换中的非线性。
这是为了给你一个具体的例子。另外,请注意,还有其他方法可以处理笛卡尔到球面的转换问题。
正是这种形式矩阵需要取决于您的信号模型。
位置模型的好处是我们在加速度、速度和位置之间有非常清晰的关系——我们用来测量这些量的仪器直接测量它们。
这意味着我们可以根据这些量写下状态更新方程和测量方程——这些量是系统状态的良好选择(有时没有加速度)。
在这种情况下,当我们应用卡尔曼滤波器的系统状态是可直接测量的(通过一些噪声传感器)时,矩阵只有 1 和 0。
有时情况并非如此。例如,可以使用不同的状态选择来定义等效的状态空间系统。该系统仍然模拟我们的位置问题,但状态不直接映射到位置和速度。
观察矩阵H实际上是一个变换矩阵。它将状态空间转换为测量空间。
例如,系统状态可以是“s”,是两个传感器输出“a”和“b”之和。
s = a + b
现在在更新阶段的状态变量更新期间,卡尔曼增益将应用于测量(也称为观察)数据和预测状态之间的差异。
在我们设计的示例中,预测状态是一个标量,而测量数据是一个向量 [一个包含两个传感器输出的向量]。观察矩阵将预测状态转换为向量,以便可以获取差异并应用卡尔曼增益。
假设我们正在使用雷达/激光雷达跟踪车辆。雷达/激光雷达放置在观察车辆的位置。车辆的状态是
从雷达/激光雷达,我们可以读取回波信号的时间,不是距离,而是时间。为了连接状态向量和测量,我们需要测量矩阵. 在这种情况下,
在哪里是光速。
因此,测量是关于时间的,然后我们将估计的状态投影到测量单元。
这是一个例子,是基于时间 k-1 的状态在时间 k 的预测状态。我们将预测状态投影到具有观测模型的测量单元系统中,以便在下一步中合并分布。