实验6 基于MATLAB 的FIR 数字滤波器设计
一、 实验目的
(1) 加深对数字滤波器的常用指标理解。 (2) 学习数字滤波器的设计方法。 二、 实验原理 低通滤波器
1()1()P P P S
S H H δδδπ?-≤Ω≤+Ω≤Ω??
Ω≤Ω≤Ω≤??
低通滤波器的常用指标:
1、 通带边缘频率P Ω,
2、 阻带边缘频率S
Ω ,
3、 通带起伏
P δ,
4、
通带峰值起伏
]
)[1(log
2010
dB p p
δα
--=,
5、
阻带起伏
s
δ,最小阻带衰减
]
)[(log 2010dB s S δα-=。
数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。
在MATLAB 中,可以用[b ,a]=butter (N,Wn )等函数辅助设计IIR 数字滤波器, 也可以用b=fir1(N,Wn,’ftype ’) 等函数辅助设计FIR 数字滤波器。 实验内容
利用MATLAB 编程设计一个数字带通滤波器,指标要求如下:通带边缘频率:
,
,通带峰值起伏:
]
[1dB p
≤α
。
阻带边缘频率:
,
,最小阻带衰减: ]
[40dB S ≥α。
分别用IIR 和FIR 两种数字滤波器类型进行设计。
实验要求:给出IIR 数字滤波器参数和FIR 数字滤波器的冲激响应,绘出它们的幅度和相
位频响曲线,讨论它们各自的实现形式和特点。 程序:(1)
wp1=0.4*pi; wp2=0.6*pi; ws1=0.3*pi; ws2=0.7*pi;
[N,wn]=buttord([wp1 wp2],[ws1 ws2],1,40,'s'); [B,A]=butter(N,wn,'s'); [num,den]=bilinear(B,A,1);
[h,w]=freqz(num,den);
S Ω-P
Ω-P S
ΩPassband Stopband
Transition
band
Fig 1 Typical magnitude
specification for a digital LPF