• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: 滤波  

资源简介

里面包含了卡尔曼滤波程序,一维维纳滤波程序,二维维纳滤波程序,供大家学习参考

资源截图

代码片段和文件信息


%第一条曲线
% t=0.1:0.1:6;
% X=t.^2;
%第二条曲线
% t=1:1:60;
% X=t.^2;
%第三条曲线
% t=1:1:60;
% X=sin(t);
% %第四条曲线
t=1:1:60;
X=60*sin(t);

N=1:60;
figure;
plot(NX‘r‘);
hold on;
 
   
%系统方程:X(k+1)=A*X(k)+w(k) 
%观测方程:Z(k)=H*Z(k)+v(k) 
%这个是生成高斯噪声的随机数
w=randn(160);   
v=randn(160);
 
A=1;
H=1;
X_k(1)=0;                      %状态估计初值             
P_kk(1)=0;                     %P(k/k)
P_k(1)=0;                      %P(k/k-1) 这个初始化不需要,就给你们看看变量的对应
Z_k(1)=X_k(1)+w(1) ;       %测量值
 
R=(std(v)).^2; 
Q=(std(w)).^2; 
 
Kg(1)=P_kk(1)*H‘/(H*P_kk(1)*H‘+R);        %卡尔曼增益 Kg
P_k(1)=A*P_kk(1)*A‘+Q ;                   %方差预测   P_k/k-1
 
for i=2:60
    X_k(i)=A*X_k(i-1)+Kg(i-1)*(Z_k(i-1)-H*A*X_k(i-1)); %这边就直接代入式(1),所以没出现
    Kg(i)=P_k(i-1)*H‘\((H*P_k(i-1)*H‘+R)) ;
    P_k(i)=A*P_kk(i-1)*A‘+Q;
    P_kk(i)=P_k(i-1)-Kg(i)*H*P_kk(i-1) ;
    Z_k(i)=H*X(i)+w(i) ;
end 
n=1:60;

plot(nX_k);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2048  2017-10-27 18:52  wine.m
     文件        1122  2017-11-01 20:13  winner2.m
     文件        1014  2017-10-27 19:05  kalmantst.m

评论

共有 条评论