电工基础

电工基础知识_电工技术-电工最常见电路

卡尔曼滤波的原理及算法说明(4)

时间:2017-11-26 20:06来源:未知 作者:y930712 点击:
该系统的真实温度为25度,图中用黑线表示。图中红线是卡尔曼滤波器输出的最优化结果(该结果在算法中设置了Q=1e-6,R=1e-1)。 附matlab下面的kalman滤波程
(责任编辑:admin)

该系统的真实温度为25度,图中用黑线表示。图中红线是卡尔曼滤波器输出的最优化结果(该结果在算法中设置了Q=1e-6,R=1e-1)。

××××××××××××××××××

附matlab下面的kalman滤波程序:
clear
N=200;
w(1)=0;

w=randn(1,N) //产生一个均值为0,方差为1的1*n维向量(白噪声、正态分布而非均匀分布)
x(1)=0;
www.dgzj.com
a=1;//即A
fork=2:N; //FOR

x(k)=a*x(k-1)+w(k-1); //200个X(k)赋值,初始值?
end //END

V=randn(1,N);

q1=std(V); //标准差
Rvv=q1.^2;
q2=std(x);
Rxx=q2.^2;
q3=std(w);
Rww=q3.^2;

c=0.2;
Y=c*x+V;
p(1)=0;
s(1)=0;

fort=2:N; //FOR
p1(t)=a.^2*p(t-1)+Rww;

b(t)=c*p1(t)/(c.^2*p1(t)+Rvv); //增益?
s(t)=a*s(t-1)+b(t)*(Y(t)-a*c*s(t-1)); //结果?
p(t)=p1(t)-c*b(t)*p1(t);

end //END

t=1:N; //循环?

plot(t,s,'r',t,Y,'g',t,x,'b'); //RGB? s,Y,x都是向量

织梦二维码生成器
相关文章
------分隔线----------------------------
栏目列表
推荐内容