设计⼀个三阶巴特沃斯滤波器_FIR和IIR滤波器的设计步骤我们的教科书中总喜欢先介绍IIR,再介绍FIR,我也先介绍IIR。 IIR滤波器的设计:
低通滤波器顾名思义就是低频率成分通过,⾼频率成分截⽌,那么在设计⼀个低通滤波器时⾸先要明⽩想要截⽌多⼤的频率。⽐如想截掉4Hz以上的信号,理想状态下就是将4Hz以上的信号成分全部截⽌,4Hz以下的信号全部保留。然⽽事实上⼏乎不存在这样的滤波器,通常情况下总是在通过频率和截⽌频率之间存在⼀个过渡带。通过频率这部分称为通带,允许通过的最⼤频率为通带截⽌频率ωp,截⾄频率这部分称为阻带,阻带最⼩截⾄频率为ωs,通带和阻带之间的部分为过渡带,也即ωp~ωp。通带之间的波动称为通带波动δp,阻带之间的波动称为阻带波动δs。 数字滤波器设计中,Wp和Ws为归⼀化⾓频率,如果⼯程要求设计低通数字滤波器满⾜通带截⽌频率为fp = 40,阻带截⽌频率fs = 50,则fp,fs和Wp,Ws之间的转换关系为: Wp = 2*pi*fp/Fs;
功率测量Ws = 2*pi*fs/Fs;
截⽌频率的定义是当输出幅值响应下降到输⼊幅值的-3dB ( 20*log(1/sqrt(2)) ),也就是0.707(也就是 1/s
qrt(2))时对应的频率,也称3db截频。
压刨
[n,Wc] = buttord(Wp/pi,Ws/pi,Ap,As);对接接头
[b,a] = butter(n,Wc,'low');%低通滤波器
----------------------------------------
%% 切⽐雪夫1型低通滤波器
[N,wc] = cheb1ord(Wp/pi,Ws/pi,Ap,As);
[b,a] = cheby1(N,Ap,wc,'low');
%% 椭圆低通滤波器
[N,wc] = ellipord(Wp/pi,Ws/pi,Ap,As);
[b,a] = ellip(N,Ap,As,wc,'low');
FIR滤波器的设计:
采⽤窗函数法设计理想低通,⾼通滤波器,参考北京交通⼤学陈后⾦主编的【数字信号处理】5.2节 窗函数法设计线性相位FIR数字滤波器P164,和P188。
设计步骤如下:
甘薯苗
1) 确定滤波器类型,不同的FIR类型可设计不同类型的滤波器,I型可设计LP(低通滤波器),HP(⾼通滤波器),BP(带通滤波器),BS(带阻滤波器)。
燃煤助燃剂
2) 确定设计的滤波器的参数
Eg:若要设计⼀个低通滤波器,fp=20,fs=30;Ap=1,As=40,则3db截频Wc = 2*pi*(fs-fp)/Fs;Fs为采样频率。
3) 确定窗函数
50
21<=A<=50, β=0.5842(A-21)^0.4 + 0.07886(A-21);
A<21, β = 0;
4) 确定滤波器的阶数M,⾸先确定滤波器的长度N。对于除凯撒窗以外的窗函数,N值由以下公式确定:
电石发气量
N>=(窗函数近似过渡带宽度)/(Wp-Ws)
若采⽤Kaiser窗,则
M≈ (A-7.95)÷ 2.285*|Wp-Ws|,A>21。其中,A = -20lg(min(δp,δs))
5) 理想滤波器脉冲信号如下:
hd = (Wc/pi)*sinc(Wc*(k-0.5*M)/pi);%低通
hd = -(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);%⾼通
6) 加窗:
W = hanning(N); W = hamming(N); W = blackman(N); N = M+1;
W = kaiser(N,beta);
7) 截断
h = hd.*W;
8)滤波
sigFiltered = filter(h,[1],signal);