Matlab设计和实现IIR低通滤波器
对于智能车的车友来说,滤波器在处理比赛任务相当有效,像这样处理传感器数据
q = 0.95;
y = y*q + x*(1-q);
如果需要更高性能的滤波器怎么办?matlab提供了IIR 滤波器设计设计工具,IIR 滤波器的主要优点是,满足同样的性能,阶数远远低于 FIR 滤波器。
参考链接
如果对数字信号处理什么的不太会的话看的会一头雾水,下面的脚本可供参考。修改周期和设计指标为你需要的参数,运行脚本即可查看设计的滤波器的频率响应和设计滤波器的参数N,Bz,Az
% 采样周期和采样频率
T=0.001;
fs = 1/T;
%低通滤波器设计指标
Fp = 0.1*fs;%通带边界频率(hz)
Rp=1;%通带最大衰减(db)
Fs = 0.15*fs;%阻带边界频率(hz)
Rs=20;%阻带最小衰减(db)
% 0 巴特沃斯
% 1 切比雪夫1型
% 2 切比雪夫2型
% 3 椭圆滤波器
filter_type = 0;
Wp=(2/T)*tan(pi*(Fp/fs));
Ws=(2/T)*tan(pi*(Fs/fs));
if filter_type==0
[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s'); % 计算滤波器阶数N和Wc
elseif filter_type==1
[N,Wc]=cheb