基于Matlab,用Kalman滤波实现线性变化的电压测量滤波处理。
%卡尔曼滤波
clear
N=800;
w(1)=0;
w=randn(1,N)
%系统预测的随机拦肢白噪声
x(1)=0;
a=1;
for
k=2:N;
x(k)=a*x(k-1)+w(k-1);
%系统的预测值
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;
for
t=2:N;
p1(t)=a.^2*p(t-1)+Rww;
%前一时刻X的相关系数
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);%t状态下x(t|t)的相关系数
end
figure(1)
plot(x)
title('系统的预测值'😉
figure(2)
plot(Y)
title('测量值'😉
figure(3)
plot(s)
title('滤波后的信号'😉
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。聚才发仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.jucaifa.com/en/post/1156964.html