卡尔曼滤波算法:原理、实现与意义
1. 状态估计的困境与测量数据的价值
在状态估计问题中,仅依靠模型方程和状态向量的初始值进行估计存在局限性,我们无法判断模型是否产生越来越不准确的结果,也难以采取相应措施。幸运的是,在实际场景中,我们除了有模型方程和状态向量初始值(以及其初始不确定性,由初始协方差矩阵 $P(t)$ 表示)之外,还能在每次迭代中获得新的测量值 $z(t)$。
然而,单纯依赖测量值来估计状态变量 $x(t)$ 也有弊端。因为每个测量仪器的读数都存在一定程度的不确定性,我们可以用测量向量 $z(t)$ 的协方差矩阵 $R(t)$ 来表示这种不确定性。
这就使我们陷入了一个两难的境地:是应该“信任”模型在“预测阶段”方程(方程 6.4 和 6.5)中提供的状态向量(及其协方差矩阵),还是应该“信任”测量系统的读数 $z(t)$(及其由协方差矩阵 $R(t)$ 表示的不确定性),并以此来生成 $x(t)$ 的估计值呢?
实际上,将这个问题看作非此即彼的“二元选择”是短视的。在很多情况下,构建模型所依据的知识与通过观察系统实际行为获得的测量知识至少部分是相互独立的。而且,影响模型预测值的不确定性来源与影响测量设备读数的不确定性来源可能至少部分不同。因此,我们可以结合这两种知识来源,利用仪器的当前测量值来“丰富”(改进)模型提供的初始状态估计 $x_M(t + 1)$(以及相应的不确定性评估 $P_M(t + 1)$)。
2. 利用贝叶斯估计进行“校正阶段”的估计
卡尔曼滤波算法可以理解为一个利用贝叶斯估计原理来实现“丰富”估计的过程,以得到“后验”概率密度函数。具体来说,我们使用模型通过“预测方程”得到的 $x
超级会员免费看
订阅专栏 解锁全文
7万+

被折叠的 条评论
为什么被折叠?



