实验二:用窗函数法设计FIR数字滤波器
1.实验目的
1) 熟悉矩形窗、海宁窗、汉明窗和布莱克曼窗。
2) 掌握用上述窗函数法设计FIR数字滤波器的原理和方法。
3) 熟悉线性相位FIR数字滤波器特性。
4) 了解各种窗函数对滤波特性的影响
2.实验原理
如果所希望的滤波器的理想频率响应函数为,则其对应的单位脉冲响应为
用窗函数将截断,并进行加权处理,得到:
就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为:
如果要求线性相位特性,则还必须满足:
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波特性正确选择其中一类。
例如,要设计线性相位低通特性,可选择
一类,而不能选一类。
常用的窗函数有矩形窗、巴特列特窗(三角形窗)、汉宁窗(升余弦窗)、海明窗(改进的升余弦窗)、布拉克曼窗(二阶升余弦窗)及凯泽窗。
3.实验内容与步骤
1) 复习用窗函数法设计FIR数字滤波器一节内容,阅读本实验原理,了解各窗函数,掌握设计步骤。
2) 编写程序。
①编写能产生四种窗函数的子程序。
②编写主程序。
主程序框图如右图所示。
其中幅度特性要求用dB表示。
设
画图时,用打印幅度特性。
第k 点对应的频率为。
为使曲线包络
更接近的幅度特性曲线,DFT变换区间要选大些。
例如窗口长度N=33时,可通过在h(n)末尾补零的方法,使长度变为64,再进行64点DFT,则可得到更精确的幅度衰减特性曲线。
(3) 上机实验内容。
①设计低通FIR数字滤波器时,一般以理想低通滤波特性为逼近函数,即
用四种窗函数设计线形相位低通滤波器。
要求在两种窗口
长度下,绘制相应的幅频和相频特性曲线,观察3dB和20dB带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。
4.实验程序
wc=pi/4;
N=15;
a=(N-1)/2;
n=0:N-1;
hd=sin(wc*(n-a))/(n-a)*pi;
w1=boxcar(N);
h1=hd*w1;
w2=hanning(N);
h2=hd*w2;
w3=hamming(N);
h3=hd*w3;
w4=blackman(N);
h4=hd*w4;
H1=20*log10(abs(fft(h1,1024))); H2=20*log10(abs(fft(h2,1024))); H3=20*log10(abs(fft(h3,1024))); H4=20*log10(abs(fft(h4,1024))); w=(0:1023)/1024;
subplot(2,4,1);
plot(w,H1);
title('矩形窗幅频曲线'); subplot(2,4,2);
plot(w,H2);
title('Hanning窗幅频曲线'); subplot(2,4,3);
plot(w,H3);
title('Hamming窗幅频曲线'); subplot(2,4,4);
plot(w,H4);
title('Blackman窗幅频曲线'); subplot(2,4,5);
plot(w,angle(fft(h1,1024))); title('矩形窗相频曲线'); subplot(2,4,6);
plot(w,angle(fft(h2,1024))); title('Hanning窗相频曲线'); subplot(2,4,7);
plot(w,angle(fft(h3,1024))); title('Hamming窗相频曲线'); subplot(2,4,8);
plot(w,angle(fft(h4,1024))); title('Blackman窗相频曲线') 5.实验结果图
6.思考题
(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
答:a) 求出对应的数字频率。
通带截止频率
阻带截止频率
b)求。
设为理想线性相位滤波器
其中为线性相位所必须的位移,且满足。
c)求窗函数。
由阻带衰减确定窗形状,由过度带宽确定N。
d)求。
由窗函数表达式确定FIR滤波器的。
e)由求,检验各项指标是否满足要求。
如不满足要求,则要改变N,或改变窗形状,然后重新计算。
(2) 如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为和,试求理想带通的单位脉冲响应hd(n) .
答:a) 求出对应的数字频率。
通带截止频率
阻带截止频率
b)求。
设为理想线性相位滤波器
其中为线性相位所必须的位移,且满足。
c)求窗函数。
由阻带衰减确定窗形状,由过度带宽确定N。
d)求。
由窗函数表达式确定FIR滤波器的。
e)由求,检验各项指标是否满足要求。
如不满足要求,则要改变N,或改变窗形状,然后重新计算。