1、 1 (一一)用窗函数法设计用窗函数法设计 FIR 数字滤波器数字滤波器 一、一、设计题目设计题目 用窗函数法设计 FIR 数字低通滤波器 二、二、设计目的设计目的 1. 熟悉设计线性相位数字滤波器的一般步骤。 2. 掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 3. 熟悉各种窗函数的作用以及各种窗函数对滤波特性的影响。 4. 学会根据指标要求选取合适的窗函数。 三、三、设计原理设计原理 窗函数法又称为傅里叶级数法,FIR 数字滤波器的设计问题就是 要所设计的 FIR 数字滤波器的响应 H(ejw)去逼近所要求的理想滤波 器的响应 Hd(ejw)。从单位取样响应序列来看,就是使所设计的
2、滤波 器的 h(n)逼近理想单位取样响应序列 hd(n)。而且 Hd(ejw)=逐段恒 定的,且在频带边界处有不连续点,因此序列 hd(n)是无限长的,通 过直接截取无限长序列以得到有限长序列的办法, 可以形象的比喻为 h(n)通过一个窗口所看到的一段 hd(n)。因此,h(n)也可以表达为 hd(n)和一个窗函数 w(n)的乘积,h(n)=w(n)hd(n)。这里的窗函数就 是矩形序列 RN(n)。 四、实现方法四、实现方法 用 MATLAB 编程实现给定指标要求的滤波器设计 五、设计内容及要求五、设计内容及要求 1、各窗函数图(假设N=67;) N=67; 2 n=0:N-1; wn1=o
3、nes(1,N); stem(n, wn1);矩形窗 figure; wn2=hamming(N); stem(n, wn2);海明窗 figure; wn3=BARTLETT(N); stem(n, wn3);巴特列特 figure; wn4= Hanning(N); stem(n, wn4);汉宁窗 将窗函数分别画出来 2、计算理想低通滤波器单位冲激响应的源程序 functionhd=ideal(wc,N) q=(N-1)/2; n=0:N-1; m=n-q+eps; hd=sin(wc*m)./(pi*m); 3、计算频率响应的源程序 functionH=fr(b,a,w); m=0:l
4、ength(b)-1; l=0:length(a)-1; num=b*exp(-j*m*w); den=a*exp(-j*l*w); H=num./den; 3 4、低通滤波器设计程序 wp=0.2*pi; ws=0.3*pi; width=ws-wp; N=ceil(6.6*pi/width)+1; n=0:N-1;a=1; wc=(ws+wp)/2; hd=ideal(wc,N); wn=(hamming(N); h=hd.*wn; k=0:500;w=(pi/500)*k; H=fr(h,a,w); mag=abs(H); db=-20*log10(mag+eps)/max(mag);
5、wth=pi/500; rp=max(db(1:1:wp/wth+1) as=round(min(db(ws/wth+1:1:500) subplot(2,2,1); stem(n,hd); title(理想冲激响应); axis(0 N-1 -0.1 0.3); ylabel(hd); 4 subplot(2,2,2); stem(n,wn); title(海明窗); axis(0 N-1 0 1.1); ylabel(wn); subplot(2,2,3); stem(n,h); title(实际冲激响应); axis(0 N-1 -0.2 0.3); xlabel(n); ylabel(
6、h); subplot(2,2,4); plot(w/pi,-db); title(幅度响应(dB)); axis(0 1 -100 10); grid; xlabel(以pi为单位的频率) ylabel(分贝数); 六、六、各种窗函数:各种窗函数: 矩形窗 5 海宁窗: 汉宁窗: 6 三角形窗: 1.理想冲激响应、海明窗、实际冲激响应及幅度响应波形图 7 0204060 -0.1 0 0.1 0.2 0.3 理想冲激响应 hd 0204060 0 0.2 0.4 0.6 0.8 1 海明窗 wn 0204060 -0.2 -0.1 0 0.1 0.2 0.3 实际冲激响应 n h 00.51 -100 -80 -60 -40 -20 0 幅度响应(d B ) 以pi为 单位的频率 分贝数 七七、回答思考题回答思考题 1.设计线性相位数字滤波器的一般步骤。 答:1)确定数字滤波器的性能要求。确定各临界频率wk和滤 波器单位