卡尔曼滤波器传感器处理

信息处理 卡尔曼滤波器 传感器
2022-02-18 03:51:37

卡尔曼滤波器通过传感器观测实现状态向量的收敛。

假设像速度传感器这样的传感器,在 X 轴和 Y 轴上给出两个轴速度信息(请参阅编辑以获取另一个示例以捕捉我的问题的本质)

我总是可以设计卡尔曼滤波器,使 X 轴和 Y 轴速度被视为两个不同的标量传感器读数,以及一个卡尔曼滤波器,我将它们作为矢量传感器读数。

从理论和实践两方面来看,将 X 轴和 Y 轴作为独立读数有什么损失吗?

或者将它们放在一起有助于更快地收敛?什么是更好的方法?为什么?

编辑:假设一个人在飞机上,相机捕捉到图像并告诉最低点的纬度和经度。有了这些数据,我想更正我的状态向量。现在,如果我使用纬度作为不同的读数,而使用经度作为不同的读数,而不是使用这两种数据。我会失去什么吗?正如下面的答案所指出的,如果信号模型在阅读组件之间存在交互,我就会失去这种交互。现在纬度和经度有相互作用吗?如何用 H 矩阵在数学上捕捉这种相互作用?

3个回答

与任何此类问题一样,答案是:视情况而定。

它取决于什么?您的信号模型。

如果您的信号模型生成XY轴速度彼此独立,因此两个通道之间没有传递函数,那么两个 1D 卡尔曼滤波器将与一个 2D 卡尔曼滤波器一样工作。

如果您的信号模型允许XY轴值,那么您将失去捕获的轴之间的交互,这可能会降低两个 1D 卡尔曼滤波器的性能,而不是一个更精确的 2D 卡尔曼滤波器。

要给出更详细的答案,您需要说明您的信号模型。


编辑确实没有给我足够的信息,但让我尝试更新我的答案。

根据您的说法,我假设纬度和经度是根据最低点图像估算的。如果这是真的,那么除非图像像素与纬度和经度线精确对齐,否则您的纬度和经度估计值之间会出现交叉耦合。

这种交叉耦合意味着您最好使用 2D 卡尔曼滤波器。

好的,简单来说,扩展一点 Peter K. 的正确评估。

这只小蜘蛛爬上墙,然后向正在想办法把粥放进桶里的杰克和吉尔冲过去。

只要蜘蛛在墙上向上移动,向上/向下方向的卡尔曼滤波器就会很好地跟踪。水平卡尔曼滤波器将预测有噪声的静止位置,因为 UP/DOWN 状态将具有 UP/DOWN 速度分量,因此水平滤波器也将具有速度状态,但水平滤波器的速度状态不是简约运动模型。

蜘蛛水平地刺入。UP/DOWN 过滤器一直在预测蜘蛛保持在同一方向。水平卡尔曼滤波器的水平状态需要唤醒。

在任何一种情况下,过滤器中的一个都将被过度确定,并受到下冲和过冲的影响,很有可能在冲刺上失去轨道,以及由不需要的状态引起的额外噪音。

如果您有两组完全独立的变量(例如 xy 坐标),则可以通过将每组与其他组分开并单独对每组进行预测来简化过滤器。将独立的集合集中到同一个过滤器中是没有意义的,因为您创建的矩阵很大,最终会导致大量浪费的操作。

请记住,卡尔曼滤波器的目的是预测隐藏状态的最终估计。只有当您的隐藏状态取决于或被您可以测量的其他状态所依赖时,您才能执行此操作。只将三角化隐藏状态所需的变量集中在一起。如果您有独立集,则改为创建两个过滤器。这将使您的实现更简单。