卡尔曼实验实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
卡尔曼实验实验报告

Kalman 滤波实验报告 一、实验内容简介 卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,实质是由量测值重构系统的状态向量。它以“预测—实测—修正”的顺序递推,根据系统的量测值来消除随机干扰, 卡尔曼过滤中信号和噪声是用状态方程和测量方程来表示的。设计卡尔曼滤波器要求已知状态方程和测量方程。它不需要知道全部过去的数据,采用递推的方法计算,它既可以用于平稳和不平稳的随机过程,同时也可以应用解决非时变和时变系统, 采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值它适合于实时处理和计算机运算。 二、自编实验 2.1自编仿真程序 %定义仿真的长度 nlen=20; %Define the system. a=1; h=3; %噪声协方差 Q=0.01; R=2; % 所有阵列的预分配内存 % 1) the state. % 2) the a priori error. 先验误差 初步估计 x=zeros(1,nlen); z=zeros(1,nlen); xapriori=zeros(1,nlen); xaposteriori=zeros(1,nlen); residual=zeros(1,nlen); papriori=ones(1,nlen); paposteriori=ones(1,nlen); k=zeros(1,nlen); % 计算过程和测量误差 w1=randn(1,nlen); v1=randn(1,nlen); %运行该脚本一次生成多个具有相同 %.噪声 w=w1*sqrt(Q); v=v1*sqrt(R); % 初始条件对状态、x x_0=1.0; %现状和后验概率方差的初始猜测 xaposteriori_0=1.5; paposteriori_0=1; %计算基于初始状态和后验概率方差的所有值的第一个估计,将计算在一个循环中的其余步骤。 %Calculate the state and the output计算状态和输出 x(1)=a*x_0+w(1); z(1)=h*x(1)+v(1);%预测方程 xapriori(1)=a*xaposteriori_0; residual(1)=z(1)-h*xapriori(1); papriori(1)=a*a*paposteriori_0+Q;%校正方程 k(1)=h*papriori(1)/(h*h*papriori(1)+R); paposteriori(1)=papriori(1)*(1-h*k(1)); xaposteriori(1)=xapriori(1)+k(1)*residual(1); %计算值的估计 for j=2:nlen, %计算状态和输出 x(j)=a*x(j-1)+w(j); z(j)=h*x(j)+v(j); %预测方程 xapriori(j)=a*xaposteriori(j-1); residual(j)=z(j)-h*xapriori(j); papriori(j)=a*a*paposteriori(j-1)+Q; %校正方程 k(j)=h*papriori(j)/(h*h*papriori(j)+R); paposteriori(j)=papriori(j)*(1-h*k(j)); xaposteriori(j)=xapriori(j)+k(j)*residual(j); end j=1:nlen; %状态以及状态估计 subplot(221); h1=stem(j+0.25,xapriori,b); hold on h2=stem(j+0.5,xaposteriori,g); h3=stem(j,x,r); hold off % 设计的格式 legend([h1(1) h2(1) h3(1)],a priori,a posteriori,exact); title(State with a priori and a posteriori elements); ylabel(State, x); xlim=[0 length(j)+1]; set(gca,XLim,xlim); % 协方差 subplot(222); h1=stem(j,papriori,b); hold on; h2=stem(j,paposteriori,g); hold off legend([h1(1) h2(1)],a priori,a posteriori); title

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档