本文主要是介绍Matlab 一阶低通滤波/一阶IIR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LPF
一阶低通滤波
同样拿那个炸机气压计日志分析,可以更好对比
- 新建变量,把高度存进去BaroAlt.mat
- 写获取高度值函数
- 写LPF函数
function output = LPF(x)persistent lastx Initif isempty(Init)lastx = x;Init = 1;
endalpha = 0.9;
output = alpha*lastx + (1 - alpha)*x;lastx = output;
- 写个调用脚本RunLPF.m
clear all
Nsamples = 6800;
Xsaved = zeros(Nsamples, 1);
Xmsaved = zeros(Nsamples, 1);
for k=1:Nsamplesxm = GetAlt();x = LPF(xm);Xsaved(k) = x;Xmsaved(k) = xm;
enddt = 0.02;
t = 0:dt:Nsamples*dt-dt;figure
hold on
plot(t, Xmsaved, 'r.');
plot(t, Xsaved, 'b');
legend('Measured', 'LPF')
- 实验结果如下:
这篇关于Matlab 一阶低通滤波/一阶IIR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!