卡尔曼滤波温度估计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设房间的真实温度为25度,我模拟了200个测量值,这些测量值的平均值为25度,但是加入了标准偏差为几度的高斯白噪声。
% % ÊÒÄÚζȹÀ¼Æ
clc;
clear;
N=200;
X_noise=randn(1,N); %²úÉúÒ»×é¾ùֵΪ0£¬·½²îΪ1µÄËæ»úÐźÅ
for i=1:N
X_measure(i)= 25+X_noise(i);% °üº¬ÔëÉùµÄ¹Û²âÖµ
S(i)=25;
end
X_estimate(1)= 0;
P_estimate(1)=10;
Q=1e-6;
R=1e-1;
% ÒÔÉÏËĸö²ÎÊýËæÒâÑ¡È¡£¬µ«ÊÇPÒ»°ã²»Ñ¡Îª0
for k=2:N
X_estimate1= X_estimate(k-1);
P_estimate1=P_estimate(k-1)+Q;
Kg(k)= P_estimate1/(P_estimate1+ R);
X_estimate(k)= X_estimate1+Kg(k)*(X_measure(k)-X_estimate1);
P_estimate(k)=(1-Kg(k))*P_estimate1;
end
t=1:N
plot(t,X_measure(1:N),'r',t,X_estimate(1:N),'g',t,S(1:N),'b');