卡尔曼滤波器介绍

阅读: 评论:0

卡尔曼滤波器介绍
摘要
1960年,卡尔曼出版了他最著名的论文,描述了一个对离散数据线性滤波问题的递归解决方法。从那以后,由于数字计算的进步,卡尔曼滤波器已经成为广泛研究和应用的主题,特别在自动化或协助导航领域。
卡尔曼滤波器是一系列方程式,提供了有效的计算(递归)方法去估计过程状态,是一种以平方误差的均值达到最小的方式。滤波器在很多方面都很强大:它支持过去,现在,甚至将来状态的估计,而且当系统的确切性质未知时也可以做。
这篇论文的目的是对离散卡尔曼滤波器提供一个实际介绍。这次介绍包括对基本离散卡尔曼滤波器推导的描述和一些讨论,扩展卡尔曼滤波器的描述和一些讨论和一个相对简单的(切实的)实际例子。
离散卡尔曼滤波器
1960年,卡尔曼出版了他最著名的论文,描述了一个对离散数据线性滤波问题的递归解决方法[Kalman60]。从那以后,由于数字计算的进步,卡尔曼滤波器已经成为广泛研究和应用的主题,特别在自动化或协助导航领域。第一章讲述了对卡尔曼滤波器非常“友好的”介绍[Maybeck79],而一个完整的介绍可以在[Sorenson70]到,也包含了一些有趣的历史叙事。更加广泛的参考包括Gelb74Grewal93Maybeck79Lewis86Brown92Jacobs93].
被估计的过程
卡尔曼滤波器卡用于估计离散时间控制过程的状态变量。这个离散时间过程由以下离散随机差分方程描述:
                    1.1
测量                              1.2
随机变量分别表示过程和测量噪声。他们之间假设是独立的,正态分布的高斯白噪:                                  1.3
                              1.4
在实际系统中,过程噪声协方差矩阵Q 和观测噪声协方差矩阵R 可能会随每次迭代计算而变化。但在这儿我们假设它们是常数。
当控制函数或过程噪声为零时,差分方程1.1中的阶增益矩阵A 将过去时刻状态和现在的时刻状态联系起来。实际中A 可能随时间变化,但在这儿假设为常数。阶矩阵B 代表可选的控制输入的增益。测量方程1.2中的阶矩阵H 表示状态变量对测量变量的增益。实际中H 可能随时间变化,但在这儿假设为常数。
滤波器的计算原型
我们定义 -代表先验,^代表估计)为在已知第k步以前的状态情况下,k 步的先验状态估计。定义为已知测量变量时第k 步的后验状态估计。由此定义先验估计误差和后验估计误差 
先验估计误差的协方差为:                            (1.5)
后验估计误差的协方差为:                            (1.6)
1.7构造了卡尔曼滤波器的表达式:先验估计和加权的测量变量及其预测之差的线性组合构成了后验状态估计。式1.7的理论解释请参看“滤波器的概率原型”一节。
                              (1.7)
1.7中测量变量及其预测之差被称为测量过程的革新或残余。残余反映了预测值和实际值之间的不一致程度。残余为零则表明二者完全吻合。
1.7阶矩阵K 叫做残余的增益或混合因数,作用是使1.6式中的后验估计误差协方差最小。可以通过以下步骤计算K :首先将1.7式代入的定义式,再将代入1.6式中,求得期望后,将1.6式中的K 求导。并使一阶导数为零从而解得K 值。详细推导清参照[Maybeck79, Brown92, Jacobs93] K 的一种表示形式为:
                1.8
1.8式可知,观测噪声协方差R 越小,残余的增益越大K 越大。特别地, R 趋向于零时,有:
另一方面,先验估计误差协方差越小,残余的增益K 越小。特别地,趋向于零时,有:
增益K 的另一种解释是随着测量噪声协方差R 趋于零,测量变量的权重越来越大,而的预测的权重越来越小。另一方面,随着先验估计误差协方差趋于零,测量变量的权重越来越小,而的预测的权重越来越大。
滤波器的概率原型解释
1.7式的解释来源于贝叶斯规则:的更新取决于在已知先前的测量变量的情况下的先验估计的概率分布。卡尔曼滤波器表达式中包含了状态分布的前二阶矩。           
后验状态估计1.7式反应了状态分布的均值(一阶矩)――如果条件式1.31.4成立,均值的估计便是正态分布的。后验估计误差协方差1.6式反映了状态分布的方差(二阶非中心矩)。在已知的情况下,的分布可写为:
有关卡尔曼滤波器的概率原型的更多讨论,请参考[Maybeck79, Brown92, Jacobs93]
离散卡尔曼滤波器算法
我们先给出卡尔曼滤波器的总体性概述,然后讨论方程式的具体细节及其作用。
卡尔曼滤波器用反馈控制的方法估计过程状态:滤波器估计过程某一时刻的状态,然后以(含噪声的)测量变量的方式获得反馈。因此卡尔曼滤波器可分为两个部分:时间更新方程和测量更新方程。时间更新方程负责及时向前推算当前状态变量和误差协方差估计的值,以便为下一个时间状态构造先验估计。测量更新方程负责反馈——也就是说,它将先验估计和新的测量变量结合以构造改进的后验估计。
时间更新方程也可视为预估方程,测量更新方程可视为校正方程。最后的估计算法成为一种具有数值解的预估-校正算法,如图1-1所示。
1-1
离散卡尔曼滤波器循环更新图。时间更新方程将当前状态变量作为先验估计及时地向前投射到测量更新方程,测量更新方程校正先验估计以获得状态的后验估计。
如下分别给出了时间更新方程和测量更新方程的具体形式。
                                    1.9
                                    1.10
请再次注意上式中的时间更新方程怎样将状态估计和协方差估计k-1时刻向前推算到k 刻。A B 来自式1.1 Q 来自式1.3,滤波器的初始条件在早先的引用中讨论过。
                            (1.11)
                                (1.12)
                                        (1.13)
测量更新方程首先做的是计算卡尔曼增益。注意1.11式和1.8式是相同的。其次,便测量输出以获得,然后按1.12式(与1.7式相同)产生状态的后验估计。最后按1.13 估计状态的后验协方差。
计算完时间更新方程和测量更新方程,整个过程再次重复。上一次计算得到的后验估计被
作为下一次计算的先验估计。这种递归推算是卡尔曼滤波器最吸引人的特性之一——它比其它滤波器更容易实现:例如维纳滤波器[Brown92] ,每次估计必须直接计算全部数据,而卡尔曼滤波器每次只根据以前的测量变量递归计算当前的状态估计。图1-2将表1-1和表1-2结合显示了滤波器的整个操作流程。
滤波器系数及调整
    滤波器实际实现时,测量噪声协方差R 一般可以观测得到,是滤波器的已知条件。观测测量噪声协方差R 一般是可实现的(可能的),毕竟我们要观测整个系统过程。因此通常我们离线获取一些系统观测值以计算测量噪声协方差。
通常更难确定过程激励噪声协方差的Q 值,因为我们无法直接观测到过程信号。有时可以通过Q 的选择给过程信号“注入”足够的不确定性来建立一个简单的(差的)过程模型而产生可以接受的结果。当然在这种情况下人们希望信号观测值是可信的。
在这两种情况下,不管我们是否有一个合理的标准来选择系数,我们通常(统计学上的)都可以通过调整滤波器系数来获得更好的性能。调整通常离线进行,并经常与另一个(确定无误的)在线滤波器对比,这个过程称为系统识别。
在讨论的结尾,我们指出在Q R 都是常数的条件下,过程估计误差协方差R 和卡尔曼增益都会快速收敛并保持为常量(参照图1-2中的更新方程)。若实际情况也如此,那么滤波器系数便可以通过预先离线运行滤波器计算,或者,比如说,用[Grewal93] 中的方法计算的稳定值。

本文发布于:2023-05-11 17:39:09,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/95809.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:估计   测量   过程   方程   状态   协方差   时间   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图