完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本帖最后由 ningkui 于 2012-3-19 14:47 编辑
卡尔曼滤波仿真程序用于匀速运动的目标跟踪 % kalman filtering load initial_track s; % y:initial data,s:data with noise T=0.1; % yp denotes the sample value of position % yv denotes the sample value of velocity % Y=[yp(n);yv(n)]; % error deviation caused by the random acceleration % known data Y=zeros(2,200); Y0=[0;1]; Y(:,1)=Y0; A=[1 T 0 1]; B=[1/2*(T)^2 T]'; H=[1 0]; C0=[0 0 0 1]; C=[C0 zeros(2,2*199)]; Q=(0.25)^2; R=(0.25)^2; % kalman algorithm ieration for n=1:200 i=(n-1)*2+1; K=C(:,i:i+1)*H'*inv(H*C(:,i:i+1)*H'+R); Y(:,n)=Y(:,n)+K*(s(:,n)-H*Y(:,n)); Y(:,n+1)=A*Y(:,n); C(:,i:i+1)=(eye(2,2)-K*H)*C(:,i:i+1); C(:,i+2:i+3)=A*C(:,i:i+1)*A'+B*Q*B'; end % the diagram of position after filtering t=0:0.1:20; figure(2); yp=Y(1,:); plot(t,yp,'r.-'); axis([0 20 0 20]); xlabel('time'); ylabel('yp position'); title('the track after kalman filtering'); hold on; % the diagram of velocity after filtering figure(3); yv=Y(2,:); plot(t,yv,'k.-'); xlabel('time'); ylabel('yv velocity'); title('the velocity caused by random acceleration'); 本帖被以下淘专辑推荐:
|
|
|
相关推荐
|
|
|
挺好挺好挺好挺好
|
|
|
|
|
|
|
|
|
谢谢分享~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
很喜欢matlab,请赐教
|
|
|
|
|
|
|
|
|
dddddddddddddddddddddd
|
|
|
|
|
|
|
|
|
1111111111111111111111111111111111111111111
|
|
|
|
|
|
|
|
我用matlab的coder 封装了一个c语言的dll, 但是在用labview调用时,会出现识别不到库的问题,有大神遇到过吗
2645 浏览 0 评论
5229 浏览 0 评论
在matlab中如何计算含有第一类修正的贝塞尔函数的积分算不出的问题?
9025 浏览 0 评论
怎么利用matlab得到95%,80%和70%的置信区间,并生成不同区间下的功率误差贝塔分布?
10466 浏览 0 评论
请问simulink的s-function模块如何添加多输入输出接口
14632 浏览 2 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 19:51 , Processed in 1.033477 second(s), Total 102, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖