利用扩展卡尔曼滤波算法进行目标状态估计.doc_第1页
利用扩展卡尔曼滤波算法进行目标状态估计.doc_第2页
利用扩展卡尔曼滤波算法进行目标状态估计.doc_第3页
利用扩展卡尔曼滤波算法进行目标状态估计.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1)扩展卡尔曼的递推公式的程序function x_kk,p_kk=KF(x_k1k1,p_k1k1,yk) TT=0.2; ztzy=1 TT TT2/2;0 1 TT;0 0 1; F=ztzy zeros(3,3) zeros(3,3);zeros(3,3) ztzy zeros(3,3);zeros(3,3) zeros(3,3) ztzy; gr=TT2/2 TT 1; tou=gr zeros(3,1) zeros(3,1);zeros(3,1) gr zeros(3,1);zeros(3,1) zeros(3,1) gr; R=20 0 0;0 5*2*pi/6000 0;0 0 5*2*pi/6000; x_kk1=F*x_k1k1; x=x_kk1(1,1); y=x_kk1(4,1); h=x_kk1(7,1); h_k=(x2+y2+h2)(1/2);atan2(y,x);atan2(h,sqrt(x2+y2); H_k=1/(x2+y2+h2)(1/2)*x 0 0 1/(x2+y2+h2)(1/2)*y 0 0 1/(x2+y2+h2)(1/2)*h 0 0; -y/x2/(1+y2/x2) 0 0 1/x/(1+y2/x2) 0 0 0 0 0;-h/(x2+y2)(3/2)*x/(1+h2/(x2+y2) 0 0 -h/(x2+y2)(3/2)*y/(1+h2/(x2+y2) 0 0 1/(x2+y2)(1/2)/(1+h2/(x2+y2) 0 0; p_kk1=F*p_k1k1*F+0.1*tou*tou; k_k=p_kk1*H_k*inv(H_k*p_kk1*H_k+R); x_kk=x_kk1+k_k*(yk-h_k); p_kk=(eye(9)-k_k*H_k)*p_kk1; return2)主函数的程序cd D:MATLAB;load(polreal2.dat);load(polcl2.dat);for i=1:150; cpol(i,1)=polcl2(i,1)*cos(polcl2(i,3)*2*pi/6000)*cos(polcl2(i,2)*2*pi/6000); cpol(i,2)=polcl2(i,1)*cos(polcl2(i,3)*2*pi/6000)*sin(polcl2(i,2)*2*pi/6000); cpol(i,3)=polcl2(i,1)*sin(polcl2(i,3)*2*pi/6000);end %cpol直角坐标下的for i=1:150 cpolreal(i,1)=polreal2(i,1)*cos(polreal2(i,2)/6000*2*pi)*cos(polreal2(i,3)/6000*2*pi); cpolreal(i,2)=polreal2(i,1)*cos(polreal2(i,3)/6000*2*pi)*sin(polreal2(i,2)/6000*2*pi); cpolreal(i,3)=polreal2(i,1)*sin(polreal2(i,3)/6000*2*pi);end %cpolreal直角坐标下的(单位弧度)for i=1:150 ppol(i,1)=polcl2(i,1); ppol(i,2)=polcl2(i,2)*2*pi/6000; ppol(i,3)=polcl2(i,3)*2*pi/6000;endT=0.2;dx=(cpol(2,1)-cpol(1,1)/T;dxx=(cpol(3,1)+cpol(1,1)-2*cpol(2,1)/T2;dy=(cpol(2,2)-cpol(1,2)/T;dyy=(cpol(3,2)+cpol(1,2)-2*cpol(2,2)/T2;dh=(cpol(2,3)-cpol(1,3)/T;dhh=(cpol(3,3)+cpol(1,3)-2*cpol(2,3)/T2;xk(1,1)=cpol(1,1);xk(1,2)=dx;xk(1,3)=dxx;xk(1,4)=cpol(1,2);xk(1,5)=dy;xk(1,6)=dyy;xk(1,7)=cpol(1,3);xk(1,8)=dh;xk(1,9)=dhh;x0=xk(1,:);p0=1000*eye(9);x_k1k1=x0;p_k1k1=p0;for k=2:150; yk=ppol(k,:); x_kk,p_kk=KF(x_k1k1,p_k1k1,yk); xk(k,:)=x_kk; x_k1k1=x_kk; p_k1k1=p_kk;endfor i=1:150;error(i,1)=xk(i,1)-cpolreal(i,1);error(i,2)=xk(i,4)-cpolreal(i,2);error(i,3)=xk(i,7)-cpolreal(i,3);endt=0:0.2:149*0.2;figure(1);hold on;title(x-y曲线);xlabel(Position x);ylabel(Position y);legend(xk,cpolreal,cpol);plot(xk(:,1),xk(:,4),r-v);hold on;plot(cpolreal(:,1),cpolreal(:,2),k-o);hold on;plot(cpol(:,1),cpol(:,2),b-x);t=0:0.2:149*0.2;figure(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论