Kalman滤波中文版

卡尔曼滤波器介绍
Greg Welch1and Gary Bishop2
TR95-041
Department of Computer Science
University of North Carolina at Chapel Hill3
Chapel Hill,NC27599-3175
翻译:姚旭晨
更新日期:2006年7月24日,星期一
中文版更新日期:2007年1月8日,星期一
摘要
1960年,卡尔曼发表了他著名的用递归方法解决离散数据线性滤波问题的论文。从那以后,得益于数字计算技术的进步,卡尔曼滤波器已成为推广研究和应用的主题,尤其是在自主或协助导航领域。
卡尔曼滤波器由一系列递归数学公式描述。它们提供了一种高效可计算的方法来估计过程状态,并使估计均方误差最小。卡尔曼滤波器应用广泛且功能强大:它可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质。
这篇文章介绍了离散卡尔曼理论和实用方法,包括卡尔曼滤波器及其衍生:扩展卡尔曼滤波器的描述和讨论,并给出了一个相对简单的带图实例。
1welch@cs.unc.edu,www.cs.unc.edu/˜welch
2gb@cs.unc.edu,www.cs.unc.edu/˜gb
3北卡罗来纳大学教堂山分校,译者注。
1
Welch&Bishop,卡尔曼滤波器介绍2
1离散卡尔曼滤波器
1960年,卡尔曼发表了他著名的用递归方法解决离散数据线性滤波问题的论文[Kalman60]。从那以后,
得益于数字计算技术的进步,卡尔曼滤波器已成为推广研究和应用的主题,尤其是在自主或协助导航领域。[Maybeck79]的第一章给出了一个非常“友好”的介绍,更全面的讨论可以参考[Sorenson70],后者还包含了一些非常有趣的历史故事。更广泛的参考包括[Gelb74,Grewal93,Maybeck79,Lewis86,Brown92,Jacobs93]。
被估计的过程信号
卡尔曼滤波器用于估计离散时间过程的状态变量x∈ n。这个离散时间过程由以下离散随机差分方程描述:
x k=Ax k−1+Bu k−1+w k−1,(1.1)定义观测变量z∈ m,得到量测方程:
z k=Hx k+v k.(1.2)随机信号w k和v k分别表示过程激励噪声1和观测噪声。假设它们为相
p(w)∼N(0,Q),(1.3)
p(v)∼N(0,R).(1.4)实际系统中,过程激励噪声协方差矩阵Q和观测噪声协方差矩阵R可能会随每次迭代计算而变化。但在这儿我们假设它们是常数。
当控制函数u k−1或过程激励噪声w k−1为零时,差分方程1.1中的n×n 阶增益矩阵A将上一时刻k−1的
状态线性映射到当前时刻k的状态。实际中A可能随时间变化,但在这儿假设为常数。n×l阶矩阵B代表可选的控制输入u∈ l的增益。量测方程1.2中的m×n阶矩阵H表示状态变量x k 对测量变量z k的增益。实际中H可能随时间变化,但在这儿假设为常数。滤波器的计算原型
定义ˆx−k∈ n(−代表先验,ˆ代表估计)为在已知第k步以前状态情况下第k步的先验状态估计。定义ˆx k∈ n为已知测量变量z k时第k步的后验状态估计。由此定义先验估计误差和后验估计误差:
≡x k−ˆx−k,
e−
k
e k≡x k−ˆx k
1原文为process noise,本该翻译作过程噪声,由时间序列信号模型的观点,平稳随机序列可以看成是由典型噪声源激励线性系统产生,故译作过程激励噪声。
UNC-Chapel Hill,TR95-041,July24,2006
Welch &Bishop,卡尔曼滤波器介绍3先验估计误差的协方差为:
P −k =E [e −k e −k T ],(1.5)
后验估计误差的协方差为:
P k =E [e k e k T ],(1.6)
式1.7构造了卡尔曼滤波器的表达式:先验估计ˆx −k 和加权的测量变量z k 及其预测H ˆx −k 之差的线性组合构成了后验状态估计ˆx k 。式1.7的理论解释请参看“滤波器的概率原型”一节。ˆx k =ˆx −k +K (z k −H ˆx −k )(1.7)
式1.7中测量变量及其预测之差(z k −H ˆx −k )被称为测量过程的革新或残余。残余反映了预测值和实际值之间的不一致程度。残余为零表明二者完全吻合。
式1.7中n ×m 阶矩阵K 叫做残余的增益或混合因数,作用是使1.6式中的后验估计误差协方差最小。可以通过以下步骤计算K :首先将1.7式代入e k 的定义式,再将e k 代入1.6式中,求得期望后,将1.6式中的P k 对K 求导。并使一阶导数为零从而解得K 值。详细推导清参照[Maybeck79,Brown92,Jacobs93]。K 的一种表示形式为:
K k =P −k H T (HP −k H T +R )−1
=P −k H T HP −k H T +R .(1.8)
由1.8式可知,观测噪声协方差R 越小,残余的增益越大K 越大。特别地,R 趋向于零时,有:
lim R k →0K k =H −1.
另一方面,先验估计误差协方差P −k 越小,残余的增益K 越小。特别地,P −k 趋向于零时,有:
lim P −k →0K k =0.
增益K 的另一种解释是随着测量噪声协方差R 趋于零,测量变量z k 的权重越来越大,而z k 的预测H ˆx −k 的权重越来越小。另一方面,随着先验估计误差协方差P −k 趋于零,测量变量z k 的权重越来越小,而z k 的预测H ˆx −k 的权重越来越大。
UNC-Chapel Hill,TR 95-041,July 24,2006
Welch&Bishop,卡尔曼滤波器介绍4
滤波器的概率原型解释
1.7式的解释来源于贝叶斯规则:ˆx k的更新取决于在已知先前的测量变量z k的情况下x k的先验估计−k的概率分布。卡尔曼滤波器表达式中包含了状态分布的前二阶矩。
E[x k]=ˆx k
E[(x k−ˆx k)(x k−ˆx k)T]=P k.
后验状态估计1.7式反应了状态分布的均值(一阶矩)——如果条件式1.3和1.4成立,均值的估计便是正态分布的。后验估计误差协方差1.6式反映了状态分布的方差(二阶非中心矩)。在已知z k的情况下,x k的分布可写为:
p(x k|z k)∼N(E[x k],E[(x k−ˆx k)(x k−ˆx k)T])
=N(ˆx k,P k).
有关卡尔曼滤波器的概率原型的更多讨论,请参考[Maybeck79, Brown92,Jacobs93]。
离散卡尔曼滤波器算法
我们先给出卡尔曼滤波器的总体性概述,然后讨论方程式的具体细节及其作用。
卡尔曼滤波器用反馈控制的方法估计过程状态:滤波器估计过程某一时刻的状态,然后以(含噪声的)测量变量的方式获得反馈。因此卡尔曼滤波器可分为两个部分:时间更新方程和测量更新方程。
时间更新方程负状态构造先验估计。测量更新方程负责反馈——也就是说,它将先验估计和新的测量变量结合以构造改进的后验估计。
时间更新方程也可视为预估方程,测量更新方程可视为校正方程。最后的估计算法成为一种具有数值解的预估-校正算法,如图1-1所示。
UNC-Chapel Hill,TR95-041,July24,2006
Welch&Bishop,卡尔曼滤波器介绍5
图1-1:离散卡尔曼滤波器循环更新图。时间更新方程将当前状态变量作为先验估计及时地向前投射到测量更新方程,测量更新方程校正先验估计以获得状态的后验估计。
表1-1和表1-2分别给出了时间更新方程和测量更新方程的具体形式。
表1-1:离散卡尔曼滤波器时间更新方程
ˆx−
k
=Aˆx k−1+Bu k−1(1.9)
P−
k
=AP k−1A T+Q(1.10)请再次注意表1-1中的时间更新方程怎样将状态估计x−k和协方差估计
P−
k 从k−1时刻向前推算到k时刻。A和B来自式1.1,Q来自式1.3,滤
波器的初始条件在早先的引用中讨论过。
表1-2:离散卡尔曼滤波器状态更新方程
K k=P−
k H T(HP−
k
H T+R)−1(1.11)
ˆx k=ˆx−
k
+K k(z k−Hˆx−k)(1.12)
P k=(I−K k H)P−
k
(1.13)
测量更新方程首先做的是计算卡尔曼增益K k。注意1.11式和1.8式是相同的。其次便测量输出以获得z k,然后按1.12式(与1.7式相同)产生状态的后验估计。最后按1.13式估计状态的后验协方差。
计算完时间更新方程和测量更新方程,整个过程再次重复。上一次计
UNC-Chapel Hill,TR95-041,July24,2006

本文发布于:2024-09-25 04:28:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/95432.html

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

标签:估计   方程   状态   测量   过程   时间   离散
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议