预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

卡尔曼滤波原理及公式陈列 示范举例,加强对卡尔曼滤波的直觉理解 程序实现及结果分析 卡尔曼的性质在应用中的注意事项 卡尔曼的优缺点分析 结束语卡尔曼滤波器是一个最优化自回归数据处理算法。它是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法。其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。它适合于实时处理和计算机运算。状态估计的系统状态空间表达式K(k)=P(k)HT[HP(k)HT+R]-1►应用 我们的研究对象是一个房间的温度。 首先根据直觉,温度值是恒定的,下一分钟与这一分钟的温度是相等的,均为x度,实际温度可能有上下几度的偏差,我们把这些偏差看成是高斯白噪声; 另外,我们在室内放一个温度计,它与实际温度也有偏差,我们把这个偏差也看成是高斯白噪声; 目前状态估计误差协方差P(K-1)为3 直觉室温x1是23度,偏差是5 温度计显示x2为25度,偏差是4 本次状态估计误差协方差P(K)是25(公式一) 卡尔曼增益值K为25/25+16 新的状态估计x为23+k*(25-H*23) 下一次状态估计误差协方差P(K+1)=(1+K)*P(K) 由此进入下次一回归优化举例说明应用中应注意的地方: 运行程序kalman.m 给出测量值为25+1*randn(1,n) 初值选为23 初值为2 卡尔曼滤波器就是要从测量序列得到状态矢量的估计。一定的信号模型与一定的卡尔曼滤波器对应。 要求给出正确的初始值。在给定正确的初始值条件下,得出的每一步滤波估计才是无偏和最小方差的,否则就不是。幸好,卡尔曼滤波器有一个优越的性质,在迭代时间充分长之后,不正确初值的影响会逐渐消失,滤波器将收敛到最佳状态。初值23 基于卡尔曼滤波器收敛性的研究,对于初值的确定无需过分注意,至于状态方差矩阵Q和噪声方差矩阵R的选取,由于它们的取值直接影响到增益K的值,对滤波效果有很大影响,所以应予以较多的注意。 倘若对噪声统计值一无所知,则需要采用卡尔曼自适应方法。理论上讲,随着观测数据个数的不断增加,最优滤波应给出精确的状态估计,按模型计算出的滤波误差方针可能逐渐趋于零或是一稳定值。但在实际应用中会发现,滤波的实际误差却远远超过滤波误差的范围,甚至趋于无穷大,使滤波器失去作用。这就是滤波的发散现象。防止滤波发散的常用方法: (1)衰减记忆滤波 (2)限定记忆滤波 (3)自适应滤波 (4)平方根滤波推广的卡尔曼 卡尔曼要求信号模型的状态方程和测量方程都是线性的,但许多工程问题的模型是非线性的。 对于非线性模型的滤波,通常采用广义卡尔曼滤波方法,这是一种次优估计。 为了利用已有的卡尔曼滤波公式,把非线性函数按泰勒级数展开,取其一阶近似,便可得到线性化的近似信号模型。 泰勒级数展开式中,只采用一阶近似,因此要求滤波误差和预报误差都很小,才能保证泰勒级数的一阶近似成立。 由于采用了近似的状态方程和测量方程,不满足线性无偏最小方差条件,所以广义卡尔曼滤波只是一种次优滤波器,得到的增益不是最优的。并且初始误差较大,将会造成滤波的发散。 不是最佳滤波器,不能保证滤波的稳定,因此运行过程中要加以检验。 ►总结 卡尔曼可以推广应用在非平稳且非线性的环境中,是维纳滤波的极大改进。但是在处理非线性问题上,由于存在高阶泰勒阶数的省略,滤波误差较大,在这种情况下有种更好的方法是粒子滤波。有兴趣的同学可以自己去学习一下。