fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤

我们的教科书中总喜欢先介绍IIR,再介绍FIR,我也先介绍IIR。

IIR滤波器的设计:

低通滤波器顾名思义就是低频率成分通过,高频率成分截止,那么在设计一个低通滤波器时首先要明白想要截止多大的频率。比如想截掉4Hz以上的信号,理想状态下就是将4Hz以上的信号成分全部截止,4Hz以下的信号全部保留。然而事实上几乎不存在这样的滤波器,通常情况下总是在通过频率和截止频率之间存在一个过渡带。通过频率这部分称为通带,允许通过的最大频率为通带截止频率ωp,截至频率这部分称为阻带,阻带最小截至频率为ωs,通带和阻带之间的部分为过渡带,也即ωpp。通带之间的波动称为通带波动δ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/sqrt(2))时对应的频率,也称3db截频。

%%巴特沃斯数字滤波器函数:

[n,Wc] = buttord(Wp/pi,Ws/pi,Ap,As);

[b,a] = butter(n,Wc,'low');%低通滤波器

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第1张图片

----------------------------------------

%% 切比雪夫1型低通滤波器

[N,wc] = cheb1ord(Wp/pi,Ws/pi,Ap,As);

[b,a] = cheby1(N,Ap,wc,'low');

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第2张图片

%% 椭圆低通滤波器

[N,wc] = ellipord(Wp/pi,Ws/pi,Ap,As);

[b,a] = ellip(N,Ap,As,wc,'low');

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第3张图片

FIR滤波器的设计:

采用窗函数法设计理想低通,高通滤波器,参考北京交通大学陈后金主编的【数字信号处理】5.2节 窗函数法设计线性相位FIR数字滤波器P164,和P188。

设计步骤如下:

1) 确定滤波器类型,不同的FIR类型可设计不同类型的滤波器,I型可设计LP(低通滤波器),HP(高通滤波器),BP(带通滤波器),BS(带阻滤波器)。

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第4张图片

2) 确定设计的滤波器的参数

Eg:若要设计一个低通滤波器,fp=20,fs=30;Ap=1,As=40,则3db截频Wc = 2*pi*(fs-fp)/Fs;Fs为采样频率。

当选定某一窗函数时,衰耗Ap和As就已经确定,凯撒窗除外。Ap和As的计算方法可参看另外一篇博客: https://www.cnblogs.com/xhslovecx/p/10118570.html

3) 确定窗函数

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第5张图片

50

21<=A<=50, β=0.5842(A-21)^0.4 + 0.07886(A-21);

A<21, β = 0;

4) 确定滤波器的阶数M,首先确定滤波器的长度N。对于除凯撒窗以外的窗函数,N值由以下公式确定:

N>=(窗函数近似过渡带宽度)/(Wp-Ws)

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第6张图片

若采用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);

fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第7张图片
fir数字滤波器设计与软件实现_FIR和IIR滤波器的设计步骤_第8张图片

你可能感兴趣的:(fir数字滤波器设计与软件实现,fir滤波器,iir数字滤波器,iir数字滤波器设计及软件实现)