资源简介
3.2.2kalman_tempreture.m
代码片段和文件信息
% Kalman滤波用在一维温度数据测量系统中
function main
N=120;%采样点的个数,时间单位是分钟,可理解为实验进行了60分钟的测量
CON=25;%室内温度的理论值,在这个理论值的基础上受过程噪声会有波动
%对状态和测量的初始化
Xexpect=CON*ones(1N);%期望的温度是恒定的25度,但正是温度不可能这样
X=zeros(1N);%房间各时刻真是温度值
Xkf=zeros(1N);%卡尔曼滤波处理的状态,也叫估计值
Z=zeros(1N);%温度计测量值
P=zeros(1N);
%赋初值
X(1)=25.1;%假如初始房间温度为25.1度
P(1)=0.01;%初始值的协方差
Z(1)=24.9;
Xkf(1)=Z(1);%初始测量值为24.9度,可以作为滤波器的初始估计状态
%噪声
Q=0.01;
R=0.25;
W=sqrt(Q)*randn(1N); %方差决定噪声的大小
V=sqrt(R)*randn(1N); %方差决定噪声的大小
%系统矩阵
F=1;
G=1;
H=1;
I=eye(1);%本系统状态为一维
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%模拟房间温度和测量过程,并滤波
for k=2:N
%第一步:随时间推移,房间真实温度波动变化
%k时刻房间的真实温度,对于温度计来说,这个真实值是不知道的
%但是它的存在又是客观真实,读者要深刻领悟这个计算机模拟过程
X(k)=F*X(k-1)+G*W(k-1);
%第二步:随时间推移,获取实时数据
%温度计对k时刻房间温度的测量,Kalman滤波是站在温度计角度进行的
%他不知道此刻真实状态X(k)只能利用本次测量值Z(k)和上一次估计值Xkf(k)
%来做处理其目标是最大限速地降低测量噪声R的影响,尽可能
相关资源
- DLM_constant_delta.m
- binary.m
- svgensim4.mdl
- magsint.m
- xiangganleiji.m
- 298496基于Matlab的m序列发生器的设计与
- 有源四阶切比雪夫滤波器.ms12
- sy3_2DPSK.mdl
- Matlab.vR2016b_NMac.to.torrent
- 欺骗的艺术-凯文·米特尼克.mobi
- Boost(1).mdl
- bd503b752b2ccf3d8e0912b7522098d7.m
- PD.m
- PIDTUNING.mlappinstall
- u0xaoz.ms10
- MATLAB的系统动力学仿真.pdf
- lung_test.m
- matlab使用libsvm进行分类代码.rar
- 高频单调谐回路放大器.ms11
- 无刷直流电机MATLAB模型.rar
- 基于MATLAB的质点弹道计算与外弹道优
- yw5bth.m
- s_niblack3.m
- matlab2014中文.txt
- zw_matlab形成节点导纳矩阵的程序.zip
- zw_MATLAB实现图像去噪滤波锐化边缘检
- 分支定界法Matlab程序实现与验证.pdf
- arithintdecod.m
- finsh-2677.m3u8
- SMO_matlabfunction.rar
评论
共有 条评论