第四章 数字滤波器
§ 4-1 数字滤波器的实现
1.数字滤波器的传递函数
?卷积滤波器 (FIR滤波器 ),
?递推滤波器 (IIR滤波器 ),
?
?
??
N
i
i
i zhzH
0
)(?
?
?
?
?
?
?
?
?
L
i
i
i
N
i
i
i
zg
zh
zH
1
0
1
)(?
?综合以上两式,数字滤波器的一般表达式,
注,Matlab的向量下标是从 1开始的,故此处从 b(1)开始
记向量
b=[b(1) b(2) b(3) …… b(N+1)]
a=[1 a(2) a(3) …… a(L+1)]
则一个滤波器完全由向量 a,b决定。
特例,a=1 时,为 FIR滤波器。
L
N
zLazaza
zNbzbzbbzH
???
???
?????
??????
)1()3()2(1
)1()3()2()1()(?
21
21
?
?
2.滤波器函数
(1)filter函数
格式,y=filter(b,a,x)
功能:用给定的 b,a作为滤波系数构成滤波器,对 x进
行滤波,结果放在 y中,长度为 max(na,nb)。
注:既适用于 IIR,也适用于 FIR滤波器 (a=1)。
(2)fftfilt函数
格式:① y=fftfilt(b,x)
② y=fftfilt(b,x,n)
功能:基于 FFT的 FIR滤波器
①用给定的 b作为滤波系数构成 FIR滤波器,对 x
进行滤波,结果放在 y中。
②用给定的 b作为滤波系数构成 FIR滤波器,对 x
进行滤波,结果放在 y中。其中 FFT的长度为
nfft=2^nextpow2(n); 数据长度为 nfft-length(b)+1,
注,nextpow2(n)函数得到大于 n且与 n最接近的 2的幂。
如 nextpow2(33)=6; nextpow2(32)=5
length(b)函数得到 b的长度。
(3)filtfilt函数
格式,y=filtfilt(b,a,x)
功能:零相位滤波器。先将数据按顺序滤波,再将结
果逆转后反向通过滤波器,可得到零相位失真。
例 4.1 对比上述几种滤波器。 (ex41.m)
§ 4-2 数字滤波器的分析
1.数字滤波器的频率响应函数 freqz
格式:有如下 7种格式,
① [h,w]=freqz(b,a,n)
----得到滤波器 n点的频率响应,这 n点均匀分布在单位
圆的上半圆 (0-π)。 h中为频率响应 H(f),w中为这 n点的
频率。 (缺省 n=512)
② [h,f]=freqz(b,a,n,Fs)
----得到滤波器 n点的频率响应,这 n点均匀分布在单位
圆的 (0-Fs/2)范围内。 h中为频率响应 H(f),f中为这 n点
的频率 (Fs 和 f以 Hz为单位 )。
③ [h,w]=freqz(b,a,n,’whole’)
----得到滤波器 n点的频率响应,这 n点均匀分布在单
位圆上 (0-2π) 。 h中为频率响应 H(f),w中为这 n点的
频率。
④ [h,f]=freqz(b,a,n,’whole’,Fs)
----得到滤波器 n点的频率响应,这 n点均匀分布在单
位圆上 0-Fs的范围内 。 h中为频率响应 H(f),f中为这 n
点的频率 (Fs 和 f以 Hz为单位 )。
⑤ h=freqz(b,a,w)
----得到滤波器在矢量 w所给定频率上的频率响应。
注,w所给定频率必须在 0-2π的范围内 。 h中为频率
响应 H(f)。
⑥ h=freqz(b,a,f,Fs)
----得到滤波器在矢量 f所给定频率上的频率响应。注:
f所给定频率必须在 0-Fs的范围内 。 h中为频率响应
H(f)。
⑦不带输出变量的 freqz函数画出幅频和相频特性曲线。
例 4.2 对一数字滤波器
求频率特性。 (ex42.m)
21
21
4.01
3.02.0)(
??
??
??
???
zz
zzzH
2.数字滤波器的脉冲响应函数 impz
格式:有如下 4种格式,
① [h,t]=impz(b,a)
----得到滤波器的脉冲响应 h,取样点数 n由 impz函数
自动选取并记录在 t中 (t=[0:n-1]’)。
② [h,t]=impz(b,a,n)
----得到滤波器在指定点的脉冲响应 h。当 n为标量时,
t= [0:n-1]’;当 n为矢量时 (其值应为整数 ),则 t=n,即在
这些指定的点计算脉冲响应 h。
③ [h,t]=impz(b,a,n,Fs)
----得到滤波器在指定点的脉冲响应 h。取样间隔为 1/Fs。
④不带输出变量的 impz函数用 stem(t,h)画出脉冲响应特
性曲线。
例 4.3 对一数字滤波器
求脉冲响应。 (ex43.m)
4321
4321
3.07.05.11.11
2.01.03.01.02.0)(
????
????
????
?????
zzzz
zzzzzH
3.数字滤波器的零极点图 zplane
格式:有如下 3种格式,
① zplane(z,p)
----在 z平面上画出系统的零点 z(用‘ o’表示 )和极点 p
(用‘ x’表示 ),并画出单位圆。
② zplane(b,a)
----在 z平面上画出用分子 b和分母 a表示的系统的零点
(用‘ o’表示 )和极点 (用‘ x’表示 ),并画出单位圆。
③ [hz,hp,ht]=zplane(z,p)
----返回三个句柄矢量:零点线句柄 hz;极点线句柄
hz;坐标轴、单位圆及文本句柄 ht。
例 4.4在 z平面上画出上例的零极点图。 (ex44.m)
§ 4-3 数字滤波器的设计
1.递推滤波器 (IIR)的设计
可以设计如下的模拟和数字滤波器,
besself Bessel(贝塞尔)模拟滤波器的设计
butter Butterworth(巴特沃斯 )滤波器的设计 *
cheby1 Chebyshev(切比雪夫) I型滤波器的设计
cheby2 Chebyshev(切比雪夫) II型滤波器的设计
ellip 椭圆滤波器的设计
yulewalk 递归数字滤波器的设计
( 1) butter函数
功能,Butterworth模拟和数字滤波器的设计。
(只讲数字滤波器的设计)
格式,[b,a]=butter(n,Wn,’ftype’)
说明,b,a---所要求的滤波器系数;
n-------滤波器阶数;
Wn----截止频率,即幅值下降 1/√2处的频率。
此处,Wn∈ [0,1],Wn=1相当于 0.5fs。
‘ ftype’--类型:无 --低通或带通( Wn=[w1
w2]);
‘ high’--高通;
‘ stop’且 Wn=[w1 w2]---带阻。
例 4.4 设采样频率 fs=900Hz,设计 n=9阶的 Butterworth的低通滤
波器,截止频率 ωn=300Hz。与 n=50阶的 Butterworth的
低通滤波器比较。 (ex44.m)
解,(a) [b,a]=butter(9,300/450); freqz(b,a,512,1000)
(b) [b,a]=butter(50,300/450); freqz(b,a,512,1000)
(a) (b)
0 50 100 150 200 250 300 350 400 450 500
- 8 0
- 6 0
- 4 0
- 2 0
0
20
Fr e q u e n c y ( H z )
M
a
g
n
it
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 5 0 0 0
- 4 0 0 0
- 3 0 0 0
- 2 0 0 0
- 1 0 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
0 50 100 150 200 250 300 350 400 450 500
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
it
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 0 0 0
- 8 0 0
- 6 0 0
- 4 0 0
- 2 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.5 设采样频率 fs=1000Hz,设计 n=10阶的 Butterworth的高通
滤波器,截止频率 ωn=300Hz。
解,[b,a]=butter(10,300/500,’high’); freqz(b,a,512,1000)
(ex45.m)
0 50 100 150 200 250 300 350 400 450 500
- 4 0 0
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.6 用上述滤波器滤波。 (ex46.m)
( 2) buttord函数
功能:选择 Butterworth滤波器的阶数。
(只讲数字滤波器的设计)
格式,[n,Wn]=buttord(Wp,Ws,Rp,As)
说明, n-------满足 Wp,Ws,Rp,As的滤波器最小阶数;
Wn----截止频率;
Wp----(0,Wp)通带;
Rp-----通带内波纹系数;
Ws-----(Ws,1)阻带;
As-----阻带内衰减系数。
注,①当 Wp>Ws-----高通滤波器;
② Wp=[Wp1,Wp2],Ws=[Ws1,Ws2]
Wp1> Ws1,Ws2> Wp2 → 带通
Wp1< Ws1,Ws2< Wp2 → 带阻
Wp,Ws,Rp,As的含义(低通滤波器为例),
δ2
1+δ1
1
1-δ1
0 ωp ωs π 通带 过渡带 阻带
1
2
10
1
1
10
1
lo g20
1
1
lo g20
?
?
?
?
?
??
?
?
??
s
p
A
R
Rp,As的大小,
设,δ1=0.01,δ2=0.001
则 Rp=0.1737 dB
As=60 dB
例 4.7 设计一个低通滤波器,通带 0-100Hz,
Rp<1dB,As=30dB
解:取采样频率 fs=1000Hz,则
Wp=100/500; Ws=150/500
(ex47.m)
0 50 100 150 200 250 300 350 400 450 500
- 6 0 0
- 4 0 0
- 2 0 0
0
200
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 0 0 0
- 8 0 0
- 6 0 0
- 4 0 0
- 2 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.7 设计一个 低通 滤波器,通带 0-100Hz,
Rp<1dB,As=30dB (ex47.m)
解:取采样频率 fs=1000Hz,则
Wp=100/500; Ws=150/500
例 4.8 设计一个 带通 滤波器,通带 100-250Hz,
Rp<1dB,As=30dB (ex48.m)
解:取采样频率 fs=1000Hz,则
Wp=[100 250]/500; Ws=[50 300]/500
0 50 100 150 200 250 300 350 400 450 500
- 4 0 0
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
500
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.9 设计一个 带阻 滤波器,阻带 100-200Hz,
Rp<1dB,As=30dB (ex49.m????? )
解:取采样频率 fs=1000Hz,则
Wp =[50 250]/ 500; Ws =[100 200]/ 500
2.卷积滤波器 (FIR)的设计
可以设计如下的模拟和数字滤波器,
fir1 基于窗函数的 FIR滤波器的设计 --标准响应 *
fir2 基于窗函数的 FIR滤波器的设计 --任意响应 *
firls 最小二乘 FIR滤波器的设计
intfilt 内插 FIR滤波器的设计
remez Parks-McCellan最优 FIR滤波器的设计
( 1) fir1函数
功能:基于窗函数的 FIR滤波器的设计 --标准频率响应。
格式,b=fir1(n,Wn,’ftype’,Window)
说明,b---所要求的滤波器系数;
n-------滤波器阶数;
Wn----截止频率,即幅值下降 1/√2处的频率。
此处,Wn∈ [0,1],Wn=1相当于 0.5fs。
‘ ftype’--类型:无 --低通或带通( Wn=[w1
w2]);
‘ high’--高通;
‘ stop’且 Wn=[w1 w2]---带阻。
Window--窗口:无 --Hamming窗
Hanning(n)--汉宁窗
Kaiser(n,beta)--凯泽窗
Chebwin(n,r)--切比雪夫窗
……
例 4.10 设计 48阶 FIR带通 滤波器,0.35<w<0.65。
例,b=fir1(48,[0.35 0.65]);freqz(b,1,512)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 1 0 0
- 5 0
0
50
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 2 5 0 0
- 2 0 0 0
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.11 设计 34阶 FIR高通 滤波器,Wn=0.48。
例,b=fir1(34,0.48,’high’]);freqz(b,1,512)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 1 5 0
- 1 0 0
- 5 0
0
50
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 2 0 0 0
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
500
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
( 2) fir2函数
功能:基于窗函数的 FIR滤波器的设计 --任意频率响应。
格式,b=fir2(n,f,,m,Window)
说明,b---所要求的滤波器系数;
n-------滤波器阶数;
[m,f]--构成期望频率响应。此处,f∈ [0,1],f=1
相当于 0.5fs。必从 0开始,到 1结束。
Window--窗口:无 --Hamming窗
Hanning(n)--汉宁窗
Kaiser(n,beta)--凯泽窗
Chebwin(n,r)--切比雪夫窗
……
例 4.12 设计一个 30阶低通 FIR滤波器,使之接近于理想频率特
性,
f=[0 0.6 0.6 1]
m=[1 1 0 0]
解,(ex412.m)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
0
0, 2
0, 4
0, 6
0, 8
1
1, 2
1, 4
§ 4-4 DSP BlockSet 工具箱
§ 4-1 数字滤波器的实现
1.数字滤波器的传递函数
?卷积滤波器 (FIR滤波器 ),
?递推滤波器 (IIR滤波器 ),
?
?
??
N
i
i
i zhzH
0
)(?
?
?
?
?
?
?
?
?
L
i
i
i
N
i
i
i
zg
zh
zH
1
0
1
)(?
?综合以上两式,数字滤波器的一般表达式,
注,Matlab的向量下标是从 1开始的,故此处从 b(1)开始
记向量
b=[b(1) b(2) b(3) …… b(N+1)]
a=[1 a(2) a(3) …… a(L+1)]
则一个滤波器完全由向量 a,b决定。
特例,a=1 时,为 FIR滤波器。
L
N
zLazaza
zNbzbzbbzH
???
???
?????
??????
)1()3()2(1
)1()3()2()1()(?
21
21
?
?
2.滤波器函数
(1)filter函数
格式,y=filter(b,a,x)
功能:用给定的 b,a作为滤波系数构成滤波器,对 x进
行滤波,结果放在 y中,长度为 max(na,nb)。
注:既适用于 IIR,也适用于 FIR滤波器 (a=1)。
(2)fftfilt函数
格式:① y=fftfilt(b,x)
② y=fftfilt(b,x,n)
功能:基于 FFT的 FIR滤波器
①用给定的 b作为滤波系数构成 FIR滤波器,对 x
进行滤波,结果放在 y中。
②用给定的 b作为滤波系数构成 FIR滤波器,对 x
进行滤波,结果放在 y中。其中 FFT的长度为
nfft=2^nextpow2(n); 数据长度为 nfft-length(b)+1,
注,nextpow2(n)函数得到大于 n且与 n最接近的 2的幂。
如 nextpow2(33)=6; nextpow2(32)=5
length(b)函数得到 b的长度。
(3)filtfilt函数
格式,y=filtfilt(b,a,x)
功能:零相位滤波器。先将数据按顺序滤波,再将结
果逆转后反向通过滤波器,可得到零相位失真。
例 4.1 对比上述几种滤波器。 (ex41.m)
§ 4-2 数字滤波器的分析
1.数字滤波器的频率响应函数 freqz
格式:有如下 7种格式,
① [h,w]=freqz(b,a,n)
----得到滤波器 n点的频率响应,这 n点均匀分布在单位
圆的上半圆 (0-π)。 h中为频率响应 H(f),w中为这 n点的
频率。 (缺省 n=512)
② [h,f]=freqz(b,a,n,Fs)
----得到滤波器 n点的频率响应,这 n点均匀分布在单位
圆的 (0-Fs/2)范围内。 h中为频率响应 H(f),f中为这 n点
的频率 (Fs 和 f以 Hz为单位 )。
③ [h,w]=freqz(b,a,n,’whole’)
----得到滤波器 n点的频率响应,这 n点均匀分布在单
位圆上 (0-2π) 。 h中为频率响应 H(f),w中为这 n点的
频率。
④ [h,f]=freqz(b,a,n,’whole’,Fs)
----得到滤波器 n点的频率响应,这 n点均匀分布在单
位圆上 0-Fs的范围内 。 h中为频率响应 H(f),f中为这 n
点的频率 (Fs 和 f以 Hz为单位 )。
⑤ h=freqz(b,a,w)
----得到滤波器在矢量 w所给定频率上的频率响应。
注,w所给定频率必须在 0-2π的范围内 。 h中为频率
响应 H(f)。
⑥ h=freqz(b,a,f,Fs)
----得到滤波器在矢量 f所给定频率上的频率响应。注:
f所给定频率必须在 0-Fs的范围内 。 h中为频率响应
H(f)。
⑦不带输出变量的 freqz函数画出幅频和相频特性曲线。
例 4.2 对一数字滤波器
求频率特性。 (ex42.m)
21
21
4.01
3.02.0)(
??
??
??
???
zz
zzzH
2.数字滤波器的脉冲响应函数 impz
格式:有如下 4种格式,
① [h,t]=impz(b,a)
----得到滤波器的脉冲响应 h,取样点数 n由 impz函数
自动选取并记录在 t中 (t=[0:n-1]’)。
② [h,t]=impz(b,a,n)
----得到滤波器在指定点的脉冲响应 h。当 n为标量时,
t= [0:n-1]’;当 n为矢量时 (其值应为整数 ),则 t=n,即在
这些指定的点计算脉冲响应 h。
③ [h,t]=impz(b,a,n,Fs)
----得到滤波器在指定点的脉冲响应 h。取样间隔为 1/Fs。
④不带输出变量的 impz函数用 stem(t,h)画出脉冲响应特
性曲线。
例 4.3 对一数字滤波器
求脉冲响应。 (ex43.m)
4321
4321
3.07.05.11.11
2.01.03.01.02.0)(
????
????
????
?????
zzzz
zzzzzH
3.数字滤波器的零极点图 zplane
格式:有如下 3种格式,
① zplane(z,p)
----在 z平面上画出系统的零点 z(用‘ o’表示 )和极点 p
(用‘ x’表示 ),并画出单位圆。
② zplane(b,a)
----在 z平面上画出用分子 b和分母 a表示的系统的零点
(用‘ o’表示 )和极点 (用‘ x’表示 ),并画出单位圆。
③ [hz,hp,ht]=zplane(z,p)
----返回三个句柄矢量:零点线句柄 hz;极点线句柄
hz;坐标轴、单位圆及文本句柄 ht。
例 4.4在 z平面上画出上例的零极点图。 (ex44.m)
§ 4-3 数字滤波器的设计
1.递推滤波器 (IIR)的设计
可以设计如下的模拟和数字滤波器,
besself Bessel(贝塞尔)模拟滤波器的设计
butter Butterworth(巴特沃斯 )滤波器的设计 *
cheby1 Chebyshev(切比雪夫) I型滤波器的设计
cheby2 Chebyshev(切比雪夫) II型滤波器的设计
ellip 椭圆滤波器的设计
yulewalk 递归数字滤波器的设计
( 1) butter函数
功能,Butterworth模拟和数字滤波器的设计。
(只讲数字滤波器的设计)
格式,[b,a]=butter(n,Wn,’ftype’)
说明,b,a---所要求的滤波器系数;
n-------滤波器阶数;
Wn----截止频率,即幅值下降 1/√2处的频率。
此处,Wn∈ [0,1],Wn=1相当于 0.5fs。
‘ ftype’--类型:无 --低通或带通( Wn=[w1
w2]);
‘ high’--高通;
‘ stop’且 Wn=[w1 w2]---带阻。
例 4.4 设采样频率 fs=900Hz,设计 n=9阶的 Butterworth的低通滤
波器,截止频率 ωn=300Hz。与 n=50阶的 Butterworth的
低通滤波器比较。 (ex44.m)
解,(a) [b,a]=butter(9,300/450); freqz(b,a,512,1000)
(b) [b,a]=butter(50,300/450); freqz(b,a,512,1000)
(a) (b)
0 50 100 150 200 250 300 350 400 450 500
- 8 0
- 6 0
- 4 0
- 2 0
0
20
Fr e q u e n c y ( H z )
M
a
g
n
it
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 5 0 0 0
- 4 0 0 0
- 3 0 0 0
- 2 0 0 0
- 1 0 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
0 50 100 150 200 250 300 350 400 450 500
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
it
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 0 0 0
- 8 0 0
- 6 0 0
- 4 0 0
- 2 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.5 设采样频率 fs=1000Hz,设计 n=10阶的 Butterworth的高通
滤波器,截止频率 ωn=300Hz。
解,[b,a]=butter(10,300/500,’high’); freqz(b,a,512,1000)
(ex45.m)
0 50 100 150 200 250 300 350 400 450 500
- 4 0 0
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.6 用上述滤波器滤波。 (ex46.m)
( 2) buttord函数
功能:选择 Butterworth滤波器的阶数。
(只讲数字滤波器的设计)
格式,[n,Wn]=buttord(Wp,Ws,Rp,As)
说明, n-------满足 Wp,Ws,Rp,As的滤波器最小阶数;
Wn----截止频率;
Wp----(0,Wp)通带;
Rp-----通带内波纹系数;
Ws-----(Ws,1)阻带;
As-----阻带内衰减系数。
注,①当 Wp>Ws-----高通滤波器;
② Wp=[Wp1,Wp2],Ws=[Ws1,Ws2]
Wp1> Ws1,Ws2> Wp2 → 带通
Wp1< Ws1,Ws2< Wp2 → 带阻
Wp,Ws,Rp,As的含义(低通滤波器为例),
δ2
1+δ1
1
1-δ1
0 ωp ωs π 通带 过渡带 阻带
1
2
10
1
1
10
1
lo g20
1
1
lo g20
?
?
?
?
?
??
?
?
??
s
p
A
R
Rp,As的大小,
设,δ1=0.01,δ2=0.001
则 Rp=0.1737 dB
As=60 dB
例 4.7 设计一个低通滤波器,通带 0-100Hz,
Rp<1dB,As=30dB
解:取采样频率 fs=1000Hz,则
Wp=100/500; Ws=150/500
(ex47.m)
0 50 100 150 200 250 300 350 400 450 500
- 6 0 0
- 4 0 0
- 2 0 0
0
200
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 0 0 0
- 8 0 0
- 6 0 0
- 4 0 0
- 2 0 0
0
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.7 设计一个 低通 滤波器,通带 0-100Hz,
Rp<1dB,As=30dB (ex47.m)
解:取采样频率 fs=1000Hz,则
Wp=100/500; Ws=150/500
例 4.8 设计一个 带通 滤波器,通带 100-250Hz,
Rp<1dB,As=30dB (ex48.m)
解:取采样频率 fs=1000Hz,则
Wp=[100 250]/500; Ws=[50 300]/500
0 50 100 150 200 250 300 350 400 450 500
- 4 0 0
- 3 0 0
- 2 0 0
- 1 0 0
0
100
Fr e q u e n c y ( H z )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 50 100 150 200 250 300 350 400 450 500
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
500
Fr e q u e n c y ( H z )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.9 设计一个 带阻 滤波器,阻带 100-200Hz,
Rp<1dB,As=30dB (ex49.m????? )
解:取采样频率 fs=1000Hz,则
Wp =[50 250]/ 500; Ws =[100 200]/ 500
2.卷积滤波器 (FIR)的设计
可以设计如下的模拟和数字滤波器,
fir1 基于窗函数的 FIR滤波器的设计 --标准响应 *
fir2 基于窗函数的 FIR滤波器的设计 --任意响应 *
firls 最小二乘 FIR滤波器的设计
intfilt 内插 FIR滤波器的设计
remez Parks-McCellan最优 FIR滤波器的设计
( 1) fir1函数
功能:基于窗函数的 FIR滤波器的设计 --标准频率响应。
格式,b=fir1(n,Wn,’ftype’,Window)
说明,b---所要求的滤波器系数;
n-------滤波器阶数;
Wn----截止频率,即幅值下降 1/√2处的频率。
此处,Wn∈ [0,1],Wn=1相当于 0.5fs。
‘ ftype’--类型:无 --低通或带通( Wn=[w1
w2]);
‘ high’--高通;
‘ stop’且 Wn=[w1 w2]---带阻。
Window--窗口:无 --Hamming窗
Hanning(n)--汉宁窗
Kaiser(n,beta)--凯泽窗
Chebwin(n,r)--切比雪夫窗
……
例 4.10 设计 48阶 FIR带通 滤波器,0.35<w<0.65。
例,b=fir1(48,[0.35 0.65]);freqz(b,1,512)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 1 0 0
- 5 0
0
50
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 2 5 0 0
- 2 0 0 0
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
例 4.11 设计 34阶 FIR高通 滤波器,Wn=0.48。
例,b=fir1(34,0.48,’high’]);freqz(b,1,512)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 1 5 0
- 1 0 0
- 5 0
0
50
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
M
a
g
n
i
t
u
d
e
(
d
B
)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
- 2 0 0 0
- 1 5 0 0
- 1 0 0 0
- 5 0 0
0
500
N o r m a l i z e d A n g u l a r Fr e q u e n c y ( ′ p r a d s / s a m p l e )
P
h
a
s
e
(
d
e
g
r
e
e
s
)
( 2) fir2函数
功能:基于窗函数的 FIR滤波器的设计 --任意频率响应。
格式,b=fir2(n,f,,m,Window)
说明,b---所要求的滤波器系数;
n-------滤波器阶数;
[m,f]--构成期望频率响应。此处,f∈ [0,1],f=1
相当于 0.5fs。必从 0开始,到 1结束。
Window--窗口:无 --Hamming窗
Hanning(n)--汉宁窗
Kaiser(n,beta)--凯泽窗
Chebwin(n,r)--切比雪夫窗
……
例 4.12 设计一个 30阶低通 FIR滤波器,使之接近于理想频率特
性,
f=[0 0.6 0.6 1]
m=[1 1 0 0]
解,(ex412.m)
0 0, 1 0, 2 0, 3 0, 4 0, 5 0, 6 0, 7 0, 8 0, 9 1
0
0, 2
0, 4
0, 6
0, 8
1
1, 2
1, 4
§ 4-4 DSP BlockSet 工具箱