数字滤波器设计专题研讨综述

  • 格式:doc
  • 大小:762.50 KB
  • 文档页数:9

《数字信号处理》课程研究性学习报告

姓名

学号

同组成员

指导教师

时间

【研讨题目】 基本题

2.(M5-5)在用窗口法设计FIR滤波器时,由于理想滤波器的频幅响应在截频处发生突变,使得设计出的滤波器的频幅响应发生振荡,这个现象被称为Gibbs现象。解决这个问题的一个方案是本书中介绍的用逐步衰减的窗函数。另一个方案是使理想滤波器过渡带为渐变的,如下图所示具有线性过渡带的理想低通滤波器的频率响应,试用窗口法设计逼近该频率响应的FIR滤波器。

pHL(ej)sps

题2图

【设计步骤】

(1) 确定线性相位滤波器的类型(I型)

(2) 确定理想滤波器的幅度函数Ad(Ω)

(3) 确定滤波器相位

(4) 计算hd[k]

(5)

利用窗函数截断hd[k]

方案一(Gibbs现象):用矩形窗设计一个FIR滤波器,理想低通滤波器过渡带是跳变的。

方案二:用逐步衰减的hamming窗函数设计一个FIR滤波器,理想低通滤波器过渡带是跳变的。

方案三:用矩形窗设计一个FIR滤波器,理想滤波器过渡带是线性渐变的。

【单位脉冲响应证明】

试证该滤波器的单位脉冲响应为

0 π)sin(Δ)2/Δsin(2,0 ,π][cckkkkkkkhL

其中:psΔ,2/)(spc 1[]()21112221=()()()22()2()sinsinsin()ppspspppppssjjkLLjkjkjksssppsjkjkjkjkjkjkssspsppssssphkHeededededeeeeeejkjkjkkkk21()2()1(2cos2cos)2()(0)sin(2)2sin(/2)(0)pspjkspspspspcckdejkkkkkkkkk

【仿真结果】

实验一:方案对比,体现对Gibbs现象的改善

条件:三个方案滤波器阶数相同

00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4

第二方案第一方案第三方案

实验二:方案二与方案三作对比 00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4

第二方案M3=M2M3=5M3=3

实验三:对比方案二与方案三阻带衰减

条件:滤波器阶数相同

(Y轴以增益为坐标)

0.30.350.40.450.50.550.60.650.7-200-180-160-140-120-100-80-60-40-200Gain in dB

方案二方案三 实验四:滤波器阶数对阻带衰减和过渡带的影响

0.30.350.40.450.50.550.60.65-160-140-120-100-80-60-40-20020Gain in dB

M3=20M3=5M3=3

实验五:探究理想滤波器单位脉冲响应过渡带宽度对频率响应的影响

00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4

Wp=0.49pi,Ws=0.51piWp=0.45pi,Ws=0.55piWp=0.40pi,Ws=0.50pi

【结果分析】

1.从实验一中,可以看出,在滤波器阶数相同的前提下,方案一与方案二都能良好地减弱Gibbs现象,而且方案二的过渡带宽度比方案三的过渡带宽度小。

分析:通带,阻带的波动是由于信号的突然。

2.从实验二中,可以看出,在滤波器阶数相同的情况下,采用hamming窗设计的FIR滤波器比采用过渡带线性渐变的理想滤波器设计的滤波器过渡带更短。而且,对于第三种方案,若滤波器阶数M3越大即窗函数长度N越大,所设计的滤波器过渡带越窄。

3.从实验三中,可以看出,在滤波器阶数相同的情况下,第三种方案的过渡带比第二种方案的过渡带大,但是阻带衰减也大。

4.从实验四,可以看出,滤波器阶数越大,过渡带宽度就越小,但是阻带衰减也减小。

5.从实验五可以看出,当采用阻带线性渐变的理想滤波器是,单位脉冲响应的过渡带越长,频率响应中滤波器的过渡带越长,但是通、阻带波动越小。

原因:由理论我们可以知道,过渡带的宽度和窗函数频谱的主瓣宽度有关,当滤波器阶数M增加即窗函数长度N增加时,窗函数频谱的主瓣宽度减小,因此所设计的过渡带减小。滤波器通带、阻带的波动与窗函数的旁瓣有关,当滤波器阶数增加,主瓣增大,旁瓣减小,因而波动减小。总之,滤波器的阻带衰减与过渡带不可兼得,增加阻带衰减是以增大过渡带宽度为代价的,因而在实际的滤波器设计之中,要合理选择滤波器阶数以及窗函数。

【阅读文献】

《数字信号处理》高等教育出版社 陈后金主编,薛健、胡键编著

【仿真程序】

实验一:方案一、方案二、方案三作比较

%待设计滤波器过渡带指标%

Wp=0.4*pi; Ws=0.6*pi;

%第二方案%

N=ceil(7*pi/(Ws-Wp));

N=mod(N+1,2)+N;

M2=N-1;

w=hamming(N)';

Wc=(Wp+Ws)/2;

k=0:M2;

hd2=-(Wc/pi)*sinc(Wc*(k-0.5*M2)/pi);

h2=hd2.*w;

omega=linspace(0,pi,512);

mag=freqz(h2,[1],omega);

plot(omega/pi,abs(mag));

%第一方案%

M1=M2;%滤波器阶数与第二方案相同 %

k=0:M1;

Wc=(Wp+Ws)/2; hd1=-(Wc/pi)*sinc(Wc*(k-0.5*M1)/pi);

omega3=linspace(0,pi,512);

mag3=freqz(hd1,[1],omega3);

hold on;

plot(omega3/pi,abs(mag3),'k');

%第三方案%

W=Ws-Wp;

M3=M2;%滤波器阶数与第二方案相同%

k2=-M3:M3;%矩形窗%

Wc=(Wp+Ws)/2;

hd2=sinc(W*k2/2).*(sin(Wc*k2)./(k2.*pi));

hd2(M3+1)=Wc/pi;

omega2=linspace(0,pi,512);

mag2=freqz(hd2,[1],omega2);

hold on;

plot(omega2/pi,abs(mag2),'r');

grid;

实验二:方案二与方案三做对比

%待设计滤波器过渡带指标%

Wp=0.48*pi; Ws=0.52*pi;

%第二方案%

N=ceil(7*pi/(Ws-Wp));

N=mod(N+1,2)+N;

M2=N-1;

w=hamming(N)';

Wc=(Wp+Ws)/2;

k=0:M2;

hd2=-(Wc/pi)*sinc(Wc*(k-0.5*M2)/pi);

h2=hd2.*w;

omega=linspace(0,pi,512);

mag=freqz(h2,[1],omega);

plot(omega/pi,abs(mag));

%第三方案%

W=Ws-Wp;

M3=M2;%滤波器阶数与第二方案相同%

k2=-M3:M3;%矩形窗%

Wc=(Wp+Ws)/2;

hd2=sinc(W*k2/2).*(sin(Wc*k2)./(k2.*pi));

hd2(M3+1)=Wc/pi;

omega2=linspace(0,pi,512);

mag2=freqz(hd2,[1],omega2);

hold on;

plot(omega2/pi,abs(mag2),'r'); grid;

M3=5;%滤波器阶数为5%

k2=-M3:M3;%矩形窗%

Wc=(Wp+Ws)/2;

hd2=sinc(W*k2/2).*(sin(Wc*k2)./(k2.*pi));

hd2(M3+1)=Wc/pi;

omega2=linspace(0,pi,512);

mag2=freqz(hd2,[1],omega2);

hold on;

plot(omega2/pi,abs(mag2),'g');

M3=3;%滤波器阶数为3%

k2=-M3:M3;%矩形窗%

Wc=(Wp+Ws)/2;

hd2=sinc(W*k2/2).*(sin(Wc*k2)./(k2.*pi));

hd2(M3+1)=Wc/pi;

omega2=linspace(0,pi,512);

mag2=freqz(hd2,[1],omega2);

hold on;

plot(omega2/pi,abs(mag2),'m');

实验三:当Y轴以增益为坐标时

%´ýÉè¼ÆÂ˲¨Æ÷¹ý¶É´øÖ¸±ê%

Wp=0.48*pi; Ws=0.52*pi;

%µÚ¶þ·½°¸%

N=ceil(7*pi/(Ws-Wp));

N=mod(N+1,2)+N;

M2=N-1;

w=hamming(N)';

Wc=(Wp+Ws)/2;

k=0:M2;

hd2=-(Wc/pi)*sinc(Wc*(k-0.5*M2)/pi);

h2=hd2.*w;

omega=linspace(0,pi,512);

mag=freqz(h2,[1],omega);

plot(omega/pi,20*log(abs(mag)));

%µÚÈý·½°¸%

W=Ws-Wp;

M3=M2;%Â˲¨Æ÷½×ÊýÓëµÚ¶þ·½°¸Ïàͬ%

k2=-M3:M3;%¾ØÐδ°%

Wc=(Wp+Ws)/2;