版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、卡尔曼滤波的MATLAB 实现一、实验内容一个系统模型为 ( ( 1(, 1, 0, ( ( ( 1(22211k w k x k x k k w k x k x k x +=+=+=+同时有下列条件:(1) 初始条件已知且有T x 0, 0 0(=。(2) (k w 是一个标量零均值白高斯序列,且自相关函数已知为jkk w j w E =( (。另外,我们有下列观测模型,即 1( 1( 1(, 1, 0, 1( 1( 1(222111+=+=+=+k v k x k y k k v k x k y且有下列条件:(3) 1(1+k v 和 1(2+k v 是独立的零均值白高斯序列,且有 , 2
2、, 1, 0, 2( (,( (2211=k k v j v E k v j v E jkjk(4) 对于所有的j 和k , (k w 与观测噪声过程 1(1+k v 和 1(2+k v 是不相关的,即, 2, 1, 0, , 2, 1, 0, 0( (,0( (21=k j k v j w E k v j w E我们希望得到由观测矢量 1(+k y ,即T k y k y k y 1(, 1( 1(21+=+估计状态矢量T k x k x k x 1(, 1( 1(21+=+的卡尔曼滤波器的公式表示形式,并求解以下问题:(a ) 求出卡尔曼增益矩阵,并得出最优估计 1(+k x 和观测矢量1
3、(,., 2(, 1(+k y y y 之间的递归关系。(b ) 通过一个标量框图(不是矢量框图)表示出状态矢量 1(+k x 中元素1(1+k x 和 1(2+k x 估计值的计算过程。(c ) 用模拟数据确定状态矢量 (k x 的估计值, 10,., 1, 0, (=k k k x 并画出当k 0,1,10时 (1k k x 和 (2k k x 的图。(d ) 通常,状态矢量的真实值是得不到得。但为了用作图来说明问题,表P8.1和P8.2给出来状态矢量元素得值。对于k 0,1,10,在同一幅图中画出真实值和在(c )中确定的 (1k x 的估计值。对 (2k x 重复这样过程。当k 从1变
4、到10时,对每一个元素i 1,2,计算并画出各自的误差图,即 ( (k k x k x i i -。(e ) 当k 从1变到10时,通过用卡尔曼滤波器的状态误差协方差矩阵画出(21k k E 和(22k k E ,而( ( (111k k x k x k k -=,( ( (222k k x k x k k -=。(f ) 讨论一下(d )中你计算的误差与(e )中方差之间的关系。表P8.1 题8.1到题8.3中的观测值时间下标k 观测值 (1k y (2k y 观测值1 23456789103.296919693.387365157.028306419.7121252111.42018315
5、15.9787058322.0693428528.3021278130.4468383138.758755952.101342940.475407973.176888982.498111402.919924246.173076165.425192743.053657415.980511414.51016361表P8.2 题8.1到题8.3中的由模拟得到的实际状态值时间下标k实际状态值(1k x 实际状态值(1k x 0123456789100.00000000001.654287143.503007025.9978529249.1504074012.5087391016.9219259421.
6、3448335225.8933514431.5413533036.936056700.0000000001.654287141.848719882.475522223.171878163.358331704.413186844.422907584.548517925.648001865.394470340二、实验原理1、卡尔曼滤波简介卡尔曼滤波是解决以均方误差最小为准则的最佳线性滤波问题,它根据前一个估计值和最近一个观察数据来估计信号的当前值。它是用状态方程和递推方法进行估计的,而它的解是以估计值(常常是状态变量的估计值)的形式给出其信号模型是从状态方程和量测方程得到的。卡尔曼过滤中信号和噪声
7、是用状态方程和测量方程来表示的。因此设计卡尔曼滤波器要求已知状态方程和测量方程。它不需要知道全部过去的数据,采用递推的方法计算,它既可以用于平稳和不平稳的随机过程,同时也可以应用解决非时变和时变系统,因而它比维纳过滤有更广泛的应用。2、卡尔曼滤波的递推公式(11-+=k k k k k k k k x A C y H x A x (11(-+''=k k k k k k k R C P C C P H (211-+='k k k k k Q A P A P (3k k k k P C H I P '-= (43、递推过程的实现 如果初始状态x 的统计特性0x E
8、 及var0x 已知,并令 000=x E x又 var (000000x x x x x E P =-=将P 代入式(3)可求得1P ',将1P '代入式(2)可求得1H ,将此1H 代入式(1)可求得在最小均方误差条件下的1x ,同时将1P '代入式(4)又可求得1P ;由1P 又可求2P ',由2P '又可求得2H ,由2H 又可求得2x ,同时由2H 与2P '又可求得2P ;以此类推,这种递推计算方法用计算机计算十分方便。三、MATLAB 程序%卡尔曼滤波实验程序 clc;y1=3.29691969,3.38736515,7.02830
9、641,9.71212521,11.42018315,15.97870583,22.06934285,28.30212781,30.44683831,38.75875595; %观测值y1(ky2=2.10134294,0.47540797,3.17688898,2.49811140,2.91992424,6.17307616,5.42519274,3.05365741,5.98051141,4.51016361; %观测值y2(k p0=1,0;0,1;p=p0; %均方误差阵赋初值 Ak=1,1;0,1; %转移矩阵Qk=1,0;0,1; %系统噪声矩阵 Ck=1,0;0,1; %量测矩阵
10、Rk=1,0;0,2; %测量噪声矩阵 x0=0,0'xk=x0; %状态矩阵赋初值 for k=1:10Pk=Ak*p*Ak'+Qk; %滤波方程3 Hk=Pk*Ck'*inv(Ck*Pk*Ck'+Rk; %滤波方程2 yk=y1(k;y2(k; %观测值xk=Ak*xk+Hk*(yk-Ck*Ak*xk; %滤波方程1 x1(k=xk(1;x2(k=xk(2; %记录估计值 p=(eye(2-Hk*Ck*Pk; %滤波方程4pk(:,k=p(1,1,p(2,2' %记录状态误差协方差矩阵 endfigure %画图表示状态矢量的估计值 subplot(
11、2,1,1 i=1:10;plot(i,x1(i,'k'h=legend('x1(k的估计值' set(h,'interpreter','none' subplot(2,1,2 i=1:10;plot(i,x2(i,'k'h=legend('x2(k的估计值' set(h,'interpreter','none'X1=0,1.65428714,3.50300702,5.997852924,9.15040740,12.50873910,16.92192594,21.34
12、483352,25.89335144,31.54135330,36.93605670; %由模拟得到的实际状态值X1(kX2=0,1.65428714,1.84871988,2.47552222,3.17187816,3.35833170,4.41318684,4.42290758,4.54851792,5.64800186,5.394470340; %由模拟得到的实际状态值X2(kfigure %在同一幅图中画出状态矢量的估计值与真实值 subplot(2,1,1 i=1:10;plot(i,x1(i,'k',i,X1(i+1,'b'h=legend('
13、;x1(k的估计值','x1(k的真实值' set(h,'interpreter','none' subplot(2,1,2 i=1:10;plot(i,x2(i,'k',i,X2(i+1,'b'h=legend('x2(k的估计值','x2(k的真实值' set(h,'interpreter','none'for i=1:10 %计算x(k的误差 e1(i=X1(i+1-x1(i; e2(i=X2(i+1-x2(i; endfigure %画
14、出误差图 subplot(2,1,1 i=1:10;plot(i,e1(i,'r'h=legend('x1(k的误差' set(h,'interpreter','none' subplot(2,1,2 i=1:10;plot(i,e2(i,'r'h=legend('x2(k的误差' set(h,'interpreter','none'figure %通过用卡尔曼滤波器的状态误差协方差矩阵画出E1(k/k2和E2(k/k2 i=1:10;subplot(2,1,1 pl
15、ot(i,pk(1,i,'r'h= legend('由状态误差协方差矩阵得到的E1(k/k2' set(h,'Interpreter','none' subplot(2,1,2 plot(i,pk(2,i,'r'h= legend('由状态误差协方差矩阵得到的E2(k/k2' set(h,'Interpreter','none'四、实验结果分析(a )卡尔曼增益矩阵:k k k T T 1H P C (CP C R -=+ 估计值与观测值之间的递归关系为:k k-1k-1k k k k k X A X H (YC A X =+-(b )状态矢量估计值的计算框图: xk +1 yk +1 + xk +1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春职业技术大学《金匮要略》2025-2026学年期末试卷
- 2026六年级数学下册 负数方法拓展
- 【 生物 】生命的延续和发展(第一、二章)复习课件-2025-2026学年人教版生物八年级下册
- 2024高考语文复习的重点
- 中风昏迷患者护理
- 安全生产四查制度讲解
- 美图M8 AI美颜技术
- 2023长春某中学高三数学(理)期末试题及答案
- 2023年军队文职人员招录考试《档案专业》考前模拟题及答案
- 智能化弱电机房工程防雷接地知识
- 2026年丹阳事业单位笔试真题
- 科室廉洁行医管理课件
- 客车交通事故应急演练脚本
- 北京市平谷区滨河街道网格员招聘32人笔试参考题库及答案解析
- 《食品安全监督管理》课件-实训四 食品安全事故调查处理
- 3.3+服务业的区位选择++第1课时课件2025-2026学年湘教版高中地理必修第二册
- 2026四川德阳丰能企业管理服务有限责任公司招聘2人备考题库附答案详解(满分必刷)
- 农村会计大培训实施方案
- 2026年云南高考历史考试真题及答案
- 2026年中小学德育试题及答案
- 2026年ptcd引流管护理考核试题
评论
0/150
提交评论