kalman滤波matlab源码程序 - matlab通信信号 - 谷速源码
下载频道> 资源分类> matlab源码> 通信信号> kalman滤波matlab源码程序

标题:kalman滤波matlab源码程序
分享到:

所属分类: 通信信号 资源类型: 文件大小: 3.42 KB 上传时间: 2016-01-24 21:48:34 下载次数: 47 资源积分:1分 提 供 者: 马云 kalman滤波matlab源码程序
内容:
kalman滤波matlab源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
部分代码如下:
% kalman filtering
close all;
clc;
clear all;
 
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
figure(3) 
t=0:0.1:20;
yp=Y(1,:);A
plot(t,yp,'+');
axis([0 20 0 20]);
xlabel('time');
ylabel('yp position');
title('the track after kalman filtering');
 
% the diagram of velocity after filtering
figure(4) 
yv=Y(2,:);
plot(t,yv,'+');
xlabel('time');
ylabel('yv velocity');
title('the velocity caused by random acceleration');
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

kalman滤波matlab源码程序/
kalman滤波matlab源码程序/code/
kalman滤波matlab源码程序/code/initial_track.m
kalman滤波matlab源码程序/code/initial_track.mat
kalman滤波matlab源码程序/code/kalman.m

关键词: 源码 程序

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved