卡尔曼滤波器简介

上传人:枫** 文档编号:473047925 上传时间:2023-06-11 格式:DOC 页数:10 大小:522.50KB
返回 下载 相关 举报
卡尔曼滤波器简介_第1页
第1页 / 共10页
卡尔曼滤波器简介_第2页
第2页 / 共10页
卡尔曼滤波器简介_第3页
第3页 / 共10页
卡尔曼滤波器简介_第4页
第4页 / 共10页
卡尔曼滤波器简介_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《卡尔曼滤波器简介》由会员分享,可在线阅读,更多相关《卡尔曼滤波器简介(10页珍藏版)》请在金锄头文库上搜索。

1、3卡尔曼滤波器的简介3.1 卡尔曼滤波器的概述卡尔曼滤波器4由一系列递归数学公式描述,它们提供了一种高效可计算的方法来估计过程的状态, 并使估计均方误差最小。卡尔曼滤波器应用广泛且功能强大,它可以估计信号的过去和当前状态,甚至能 估计将来的状态,即使并不知道模型的确切性质。假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下 一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。假设你对你的经验不是100%的相信,可能会有上下偏差几度。我们把这些偏差看成是高斯白噪声(White Gaussian Noise ),也就是这些偏差跟前后时间是没有关

2、系的而且符合高斯分配(Gaussian Distribution )。另外,我们在房间里放一个温度计,但是这个温度计也不准确的,测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。现在对于某一分钟我们有两个有关于该房间的温度值:你根据经验的预测值(系统的预测值)和温度 计的值(测量值)。下面我们要用这两个值结合他们各自的噪声来估算出房间的实际温度值。假如我们要估算 k时刻的是实际温度值。首先你要根据k-1时刻的温度值,来预测 k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是 23度,同时该值的高斯噪声的偏差是 5度(5是这样得到的:如果 k

3、-1时刻估算出的最优温度值的偏差是3 ,你对自己预测的不确定度是 4度,他们平方相加再开方,就是 5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是 4度。由于我们用于估算 k时刻的实际温度有两个温度值,分别是 23度和25度。究竟实际温度是多少呢? 相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的协方差来判断。因为 Kg2 = 5(5 22)所以Kg =0 . 7 8我们可以估算出k时刻的实际温度值是: 23+0.78*(25 23) =24.56度。可以看出,因为温度计的协方差比较小(比较相信温度计),所以估算出的最优温度值偏向温度计的值。现在我们已

4、经得到 k时刻的最优温度值了,下一步就是要进入k-1时刻,进行新的最优估算。到现在为止,好像还没看到什么自回归的东西出现。对了,在进入k -1时刻之前,我们还要算出k时刻那个最优值(24.56度)的偏差。算法如下:(1 Kg)*52)-P.5 = 2.35。这里的5就是上面的k时刻你预测的那个23度温度值的偏差, 得出的2.35就是进入k+1时刻以后k时刻估算出的最优温度值的偏差(对应于上面的3 )。就是这样,卡尔曼滤波器就不断的把协方差递归,从而估算出最优的温度值。他运行的很快,而且它 只保留了上一时刻的协方差。上面的Kg,就是卡尔曼增益(Kalman Gain )。他可以随不同的时刻而改变

5、他自己的值!3.2卡尔曼滤波器的算法首先,我们先要引入一个离散控制过程的系统。该系统可用一个线性随机微分方程(Linear StochasticDifference equation )来描述:X(k) = AX(k -1) BU (k) W(K)(3.1)再加上系统的测量值:Z(k) =HX (k) V(k)(3.2)上两式子中,X(k)是k时刻的系统状态,U (k)是k时刻对系统的控制量。A和B是系统参数,对于多模型系统,他们为矩阵。Z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵。W(K)和V (k)分别表示过程和测量的噪声。他们被假设成高斯白噪声(White Ga

6、ussian Noise) ,他们的协方差分别是Q,R (这里我们假设他们不随系统状态变化而变化)。对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声),卡尔曼滤波器是最优的信息处理器。下面我们来用他们结合他们的协方差s来估算系统的最优化输出。首先我们要利用系统的过程模型,来预测下一状态的系统。假设现在的系统状态是k ,根据系统的模型,可以基于系统的上一状态而预测出现在状态:X(kk-1) = AX(k-1 k-1) + BU(k) (3.3)式(3.3)中,X(k k-1)是利用上一状态预测的结果,X(k1k1)是上一状态最优的结果,U(k)为现在状态的控制量,如果没有控制量,它

7、可以为0。到现在为止,我们的系统结果已经更新了,可是,对应于 X(k k-1)的协方差(协方差)还没更新。我 们用P表示协方差:P(k k -1) = AP(k-1 k-1)A +Q(3.4)式(3.4)中,P(kk1)是X(kk1)对应的协方差,P(k1.k1)是X(k1k1)对应的协方差,A表示A的转置矩阵,Q是系统过程的协方差。式子 (3.3),(3.4)就是卡尔曼滤波器 5个公式当中的前两个,也就是对系统的预测。现在我们有了现在状态的预测结果,然后我们再收集现在状态的测量值。结合预测值和测量值,我们可以得到现在状态(k)的最优化估算值 X(k k):X(k k) =X(k k1) +

8、Kg(k)(Z(k) HX(kk1)(3.5)其中Kg为卡尔曼增益(Kalman Gain):Kg(k) = P(k k 1)H /(HP(k k -1)H + R)(3.6)到现在为止,我们已经得到了k状态下最优的估算值 X(k k)。但是为了要令卡尔曼滤波器不断的运行下去直到系统过程结束,我们还要更新k状态下X(k k)的协方差:P(k k) =(1 Kg(k)H)P(kk 1)(3.7)其中I为1的矩阵,对于单模型单测量,I =1。当系统进入 k+1状态时,P(k k)就是式子(3.4)的P(k -1 k -1) o这样,算法就可以自回归的运算下去。式子(3.3 ) , (3.4 ) ,

9、 (3.5 ) , ( 3.6 )和(3.7 )就是卡尔曼滤波器的基本原理了。根据这 5个公式,可 以很容易的实现计算机的程序。3.3 卡尔曼滤波器的原理在现代,随机最优控制和随机信号处理技术中,信号和噪声往往是多维非平稳随机过程。卡尔曼滤波 理论采用时域上的递推算法在数字计算机上进行数据滤波处理。对于离散域线性系统:x(k) = Ax(k -1) B(u(k) w(k)(3.8 )yv(k) = Cx(k) v(k)(3.9 )式中,w( k)为过程噪声指号,v(k)为测量噪声信号。离散卡尔曼滤波器递推算法为:P(k)CTMn(k) =CP(k)CT R(3.10 )P(k AP(k-1)A

10、r BQBt(3.11 )P(k) =(In -Mn(k)C)P(k)(3.12 )x(k) = Ax(k-1) Mn(k)(yv(k)-CAx(k-1)(3.13 )ye(k) =Cx(k)(3.14 )误差的协方差为:err cov(k) = CP(k)CT(3.15 )卡尔曼滤波器结构如图所示卡尔曼滤波器结构3.4 卡尔曼滤波器的仿真及分析3.4.1 系统描述验证卡尔曼滤波器的滤波性能5对象为二阶传递函数:一、 133Gp (s) = 2s 25s取采样时间为1m采样Z变换将对象离散化,并描述离散状态方程的形式:x(k 1) =Ax(k) B(u(k) w(k)y(k) =Cx(k)带有

11、测量噪声的被控对象输出为:yv(k) =Cx(k) v(k)(3.16 )(3.17 )(3.18 )(3.19 )式中,1.0000000,0.00098760.0000659,A =,B =,C = 1,01, D - 1010.0000000,0.9753099J0.13135123.4.2仿真方法一:采用 M语言进行仿真控制干扰信号 w(k)和测量噪声信号 v(k)幅值均为0.10的白噪声信号,输入信号幅值为为1.5Hz的正图信号。采用卡尔曼滤波器实现信号的滤波,取 Q =1,R = 1。仿真时间为3s,的变化,原始信号及带有噪声的原始信号和原始信号及滤波后的信号和分别如图1、图2和图

12、1.0、频率误差协方差3所示。图1误差协方差的变化epon vv-LansrLaeMLy-0.2 00.5122.528 6 4 o o O2OO1.5time(s)图2原始信号及带有噪声的原始信号time(s)图3原始信号及滤波后的信号仿真结果表明,该滤波器对控制干扰和测量噪声具有良好的滤波作用。3.4.3 仿真方法二:采用Simulink进行仿真卡尔曼算法由 M函数实现。控制干扰信号 w(k)和测量噪声信号 v(k)幅值均为0.10的白噪声信号,输 入信号幅值为1.0、频率为0.5Hz的正弦信号采用卡尔曼滤波器实现信号的滤波,取 Q = 1,R = 1。仿真时 间为10s,仿真结果如下图

13、4和图5所示昌自9 A图4原始信号y (红色线)及滤波后的信号ye (黄色线)图5原始信号y及带有噪声的原始信号yv#仿真程序如下图所示基于Kalman滤波器的Simulink 仿真5基于卡尔曼滤波器的PID控制算法及仿真5.1基于卡尔曼滤波器PID控制的原理结合卡尔曼滤波器与经典PID控制得到一种基于卡尔曼滤波器的PID控制方法。其控制系统结构6,7如图:V基于卡尔曼滤波器的PID控制系统结构5.2仿真程序及分析被控对象为二阶传递函数8:133 Gp(s)= 5S 离散化结果与3.4的仿真实例相同。采样时间为1ms。控制干扰信号 w(k)和测量噪声信号 v(k)幅值均为0.002的白噪声信号,输入信号为一阶跃信号。采用卡尔曼滤波器实现信号的滤波,取Q = 1,R = 1。仿真时间为1s,分两种情况进行仿真:M = 1时为未加滤波,M =2时为加滤波。在 PID控制器中,取kp =8.0,k =0.80,峪=0.20。用MATLAB行仿真 9,加入滤波前后 PID阶跃响应如图6和图7所示。图6未加入滤波的PID控制阶跃响应(M = 1 )u otime(s)图7加入滤波后PID控制阶跃响应(M = 2 )仿真结果表明,采用滤波器使控制效果明显改善。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号