学习卡尔曼滤波推导笔记系列(3)
2016-12-31 00:44
316 查看
经过前两部分第二部分的学习,我们大致回顾了一下卡尔曼滤波涉及的知识和理论基础,现在我们可以开始正式的推导卡尔曼滤波方程了。
1960年,美籍匈牙利数学家卡尔曼将状态空间分析方法引入滤波理论中,对状态和噪声进行了完美的统一描述,得到时域上的递推滤波算法,即卡尔曼滤波,相应的算法公式称为卡尔曼滤波器。注意卡尔曼滤波是在时域上应用的。
卡尔曼滤波是在已知系统和量测的数学模型、量测噪声统计特性及系统状态初值的情况下(这也是用卡尔曼滤波的前提条件,需要搞清楚卡尔曼滤波的初值),利用输出信号的量测数据和系统模型方程,实时获得系统状态变量和输入信号的最优估计值。它是一种线性,无偏,且误差方差最小的随机系统最优估计算法。其实,说到底,卡尔曼滤波就是递推形的线性最小方差估计。
我将从基于离散系统模型推导卡尔曼滤波公式,之所以这样的顺序是因为卡尔曼首先解决了离散时间形式的滤波问题,而且用的方法是直观法。
假设线性离散系统模型如下:
式中,过程噪声ωk-1和观测噪声υk的统计特性为
我们可以知道,过程噪声和观测噪声是均值为零的高斯白噪声过程,其中Qk是系统干扰方差矩阵,是对称非负定矩阵,Rk是观测噪声方差矩阵,δ是狄拉克函数,即
而且ω和υ是互不相关的。
初始状态x0的统计特性是
假定x0与ωk和υk均无关,即
假设在k时刻已经获得k次测量值z1,z2,…zk-1,zk,根据k-1个量测对x做最小方差估计得:
根据线性最小方差估计的性质:
我们可以得到:
已知ωk-1只影响xk,所以ωk-1与z1,z2,…zk-1不相关,且E[ωk-1]=0,根据线性最小方差公式
我们可以得到:
又因为
因此
所以,根据k-1时刻之前的量测值条件下的k时刻的预测值可以求得,而用该预测值代替真实值Xk引起的误差为:
在得到k时刻测量值zk之后,可以计算出它与预测值的差,即:
引起的对量测的估计误差为:
滤波理论中也称
为残差(也叫新息)从上式可以看到,残差包含有一步预测误差信息,对
作适当的加权处理就能将
分离出来,用来修正
即可得到状态的估计:
式中,Kk为对残差的加权阵,称为滤波增益阵。
1960年,美籍匈牙利数学家卡尔曼将状态空间分析方法引入滤波理论中,对状态和噪声进行了完美的统一描述,得到时域上的递推滤波算法,即卡尔曼滤波,相应的算法公式称为卡尔曼滤波器。注意卡尔曼滤波是在时域上应用的。
卡尔曼滤波是在已知系统和量测的数学模型、量测噪声统计特性及系统状态初值的情况下(这也是用卡尔曼滤波的前提条件,需要搞清楚卡尔曼滤波的初值),利用输出信号的量测数据和系统模型方程,实时获得系统状态变量和输入信号的最优估计值。它是一种线性,无偏,且误差方差最小的随机系统最优估计算法。其实,说到底,卡尔曼滤波就是递推形的线性最小方差估计。
我将从基于离散系统模型推导卡尔曼滤波公式,之所以这样的顺序是因为卡尔曼首先解决了离散时间形式的滤波问题,而且用的方法是直观法。
假设线性离散系统模型如下:
式中,过程噪声ωk-1和观测噪声υk的统计特性为
我们可以知道,过程噪声和观测噪声是均值为零的高斯白噪声过程,其中Qk是系统干扰方差矩阵,是对称非负定矩阵,Rk是观测噪声方差矩阵,δ是狄拉克函数,即
而且ω和υ是互不相关的。
初始状态x0的统计特性是
假定x0与ωk和υk均无关,即
假设在k时刻已经获得k次测量值z1,z2,…zk-1,zk,根据k-1个量测对x做最小方差估计得:
根据线性最小方差估计的性质:
我们可以得到:
已知ωk-1只影响xk,所以ωk-1与z1,z2,…zk-1不相关,且E[ωk-1]=0,根据线性最小方差公式
我们可以得到:
又因为
因此
所以,根据k-1时刻之前的量测值条件下的k时刻的预测值可以求得,而用该预测值代替真实值Xk引起的误差为:
在得到k时刻测量值zk之后,可以计算出它与预测值的差,即:
引起的对量测的估计误差为:
滤波理论中也称
为残差(也叫新息)从上式可以看到,残差包含有一步预测误差信息,对
作适当的加权处理就能将
分离出来,用来修正
即可得到状态的估计:
式中,Kk为对残差的加权阵,称为滤波增益阵。
相关文章推荐
- 学习卡尔曼滤波推导笔记系列(2)
- 卡尔曼滤波从应用到推导 -- kalman学习笔记
- ASP.NET Forum 学习笔记系列--Web.config
- [学习笔记]Asp.net(C#)菜鸟进级系列之引用类型
- LPC2000系列学习笔记5--中断
- Lua入门系列----pil学习笔记之Getting Start
- Lua入门系列----pil学习笔记之Type and Values (2)
- Struts入门文章系列(链接)及学习笔记
- Lua入门系列----pil学习笔记之 Type and Values (1)
- LPC2000系列学习笔记3--引脚连接模块
- Lua入门系列----pil学习笔记之 Type and Values (1)
- Lua入门系列----pil学习笔记之Type and Values (2)
- [学习笔记]Asp.net(C#)菜鸟进级系列之流程控制
- STL学习笔记一(深入VC之STL系列)
- ASP.NET Forum 学习笔记系列--Web.config
- LPC2000系列学习笔记4--存储器映射控制
- [学习笔记]Asp.net(C#)菜鸟进级系列之值类型
- Lua入门系列----pil学习笔记之Type and Values (2)
- 李浩学习计算机系列笔记——ADO.NET基础入门
- Lua入门系列----pil学习笔记之 Type and Values