《数字信号处理》课程研究性学习报告姓名张然学号13211074同组成员蔡逸飞13211078朱斌指导教师陈后金时间2015/6数字滤波器设计专题研讨【目的】(1)掌握IIR和FIR数字滤波器的设计方法及各自的特点。(2)掌握各种窗函数的时频特性及对滤波器设计的影响。(3)培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。【研讨题目】基本题1.IIR数字滤波器设计设计一个IIR数字低通滤波器,其能取代下列指标的模拟低通滤波器(系统的抽样频率为44.1kHz)fp=2kHz,fs=10kHz,Ap=0.5dB,As=50dB(1)分别用双线性变换和冲激响应不变法设计一个BW型数字低通滤波器,并进行比较。(2)用双线性变换分别设计ChebyshevI型ChebyshevII型和椭圆型数字低通滤波器,并进行比较。【温磬提示】在数字滤波器的设计中,不管是用双线性变换法还是冲激响应不变法,其中的参数T的取值对设计结果没有影响。但若所设计的数字滤波器要取代指定的模拟滤波器时,则抽样频率(或抽样间隔T)将对设计结果有影响。【仿真】(1)脉冲响应不变法clear;Fs=44100;fs=10000;fp=2000;ws=fs*2*pi;wp=fp*2*pi;%确定模拟滤波器指标Ws=ws/Fs;Wp=wp/Fs;Ap=0.5;As=50;N=buttord(wp,ws,Ap,As,'s');%确定滤波器阶数fprintf('N=%.0f\n',N);wc=wp/10^(0.1*Ap-1)^(1/N/2);%计算3DB截频[numa,dena]=butter(N,wc,'s');%确定BWAF,求出滤波器系统函数[numd,dend]=impinvar(numa,dena,Fs);w=linspace(0,pi,512);h=freqz(numd,dend,w);%模拟滤波器到数字滤波器的转换norm=max(abs(h));numd=numd/norm;%计算频谱plot(w/pi,20*log10(abs(h)/norm));xlabel('Ω/π');ylabel('幅值');w=[WpWs];h=freqz(numd,dend,w);fprintf('Ap=%.4f\n',-20*log10(abs(h(1))));fprintf('As=%.4f\n',-20*log10(abs(h(2))));%计算通带衰减、阻带衰减gridon;Ap=0.4618As=60.4050N=5原本As应该为50.000,但是由于有混叠,所以As大于50.000双线性变换法clear;FS=44100;fp=2000;fs=10000;Ap=0.5;As=50;wp=fp*2*pi;ws=fs*2*pi;wp1=wp/FS;ws1=ws/FS;OmegaP=2*FS*tan(wp1/2);OmegaS=2*FS*tan(ws1/2);[N,wc]=buttord(OmegaP,OmegaS,Ap,As,'s');[bt,at]=butter(N,wc,'s');[bz,az]=bilinear(bt,at,FS);w=linspace(0,pi,512);h=freqz(bz,az,w);norm=max(abs(h));bz=bz/norm;plot((w/pi),20*log10(abs(h)/norm));xlabel('Ω/π');ylabel('幅值');w=[wp1ws1];h=freqz(bz,az,w);fprintf('Ap=%.4f\n',-20*log10(abs(h(1))));fprintf('As=%.4f\n',-20*log10(abs(h(2))));gridon;Ap=0.2445As=50.0000利用双线性变换法,使得混叠现象被克服(2)ChebyshevI型clear;FS=44100;fp=2000;fs=10000;Ap=0.5;As=50;wp=fp*2*pi;ws=fs*2*pi;wp1=wp/FS;ws1=ws/FS;OmegaP=2*FS*tan(wp1/2);OmegaS=2*FS*tan(ws1/2);[N,wc]=cheb1ord(OmegaP,OmegaS,Ap,As,'s');[bt,at]=cheby1(N,Ap,wc,'s');[bz,az]=bilinear(bt,at,FS);w=linspace(0,pi,512);h=freqz(bz,az,w);norm=max(abs(h));bz=bz/norm;subplot(2,1,1);plot((w/pi),20*log10(abs(h)/norm));xlabel('Ω/π');ylabel('幅值');[r,p,k]=residuez(bz,az);subplot(2,1,2);zplane(bz,az);w=[wp1ws1];h=freqz(bz,az,w);fprintf('Ap=%.4f\n',-20*log10(abs(h(1))));fprintf('As=%.4f\n',-20*log10(abs(h(2))));Ap=0.4999As=71.0563ChebyshevII型clear;FS=44100;fp=2000;fs=10000;Ap=0.5;As=50;wp=fp*2*pi;ws=fs*2*pi;wp1=wp/FS;ws1=ws/FS;OmegaP=2*FS*tan(wp1/2);OmegaS=2*FS*tan(ws1/2);[N,wc]=cheb2ord(OmegaP,OmegaS,Ap,As,'s');[bt,at]=cheby2(N,As,wc,'s');[bz,az]=bilinear(bt,at,FS);w=linspace(0,pi,512);h=freqz(bz,az,w);norm=max(abs(h));bz=bz/norm;subplot(2,1,1);plot((w/pi),20*log10(abs(h)/norm));xlabel('Ω/π');ylabel('幅值');[r,p,k]=residuez(bz,az);subplot(2,1,2);zplane(bz,az);w=[wp1ws1];h=freqz(bz,az,w);fprintf('Ap=%.4f\n',-20*log10(abs(h(1))));fprintf('As=%.4f\n',-20*log10(abs(h(2))));Ap=0.5000As=53.0577椭圆型滤波器clear;FS=44100;fp=2000;fs=10000;Ap=0.5;As=50;wp=fp*2*pi;ws=fs*2*pi;wp1=wp/FS;ws1=ws/FS;OmegaP=2*FS*tan(wp1/2);OmegaS=2*FS*tan(ws1/2);[N,wc]=ellipord(OmegaP,OmegaS,Ap,As,'s');[bt,at]=ellip(N,Ap,As,wc,'s');[bz,az]=bilinear(bt,at,FS);w=linspace(0,pi,512);h=freqz(bz,az,w);norm=max(abs(h));bz=bz/norm;subplot(2,1,1);plot((w/pi),20*log10(abs(h)/norm));xlabel('Ω/π');ylabel('幅值');[r,p,k]=residuez(bz,az);subplot(2,1,2);zplane(bz,az);w=[wp1ws1];h=freqz(bz,az,w);fprintf('Ap=%.4f\n',-20*log10(abs(h(1))));fprintf('As=%.4f\n',-20*log10(abs(h(2))));Ap=0.5000As=51.2355ChebyshevI型ChebyshevII型椭圆型滤波器【结果分析】双线性变换和冲激响应不变法所设计的滤波器的性能有什么不同。脉冲响应不变法的主要优点是模拟频率与数字频率之间的关系是线性的,其主要缺点是存在频谱混叠,使得阻带衰减不满足条件。双线性变换法主要优点是避免了频谱混叠,依靠频率的非线性关系得到s平面与z平面的单值对应关系,整个轴单值对应于单位圆一周,消除了脉冲响应不变法固有的频谱混叠效应,其缺点是模拟频率与数字频率之间的关系是非线性的。ChebyshevI型、ChebyshevII型和椭圆型滤波器的零极点分布各有什么特点。在相同的设计指标下,BW型滤波器的阶数最高,椭圆滤波器的阶数最低。即使阶数相等,它们的裕量也不同。零极点分布都是关于虚轴对称且都在单位园内。在滤波器的实现过程中,BW型滤波器最容易实现,而椭圆滤波器不易实现。【自主学习内容】利用脉冲响应不变法和双线性变换法设计滤波器【阅读文献】《数字信号处理》【问题探究】脉冲响应不变法的优缺点优点:数字滤波器和模拟滤波器的频率关系为线性缺点:存在频谱混叠,故不能用脉冲响应不变法设计高通、带阻等滤波器。双线性变换法的优缺点优点:当模拟滤波器的幅度响应为分段常数时,双线性变换后的数字滤波器能保持模拟滤波器的幅度响应,但分段边界点将产生畸变,这种畸变可以利用式在数字滤波器指标转换成相应的模拟滤波器指标时进行预畸变校正。双线性变换法一般适合于设计幅度相应为分段常数的数字滤波器,缺点:幅度响应不是常数时会产生幅度失真,不适合设计像数字微分器等幅度相应为非常数的数字滤波器。BW型、ChebyshevI型、ChebyshevII型和椭圆型滤波器的特点;1.在相同的设计指标下,一般来说,BW型滤波器的阶数最高,椭圆滤波器的阶数最低。即使阶数相等,它们的裕量也不同。2.在滤波器的实现过程中,BW型滤波器最容易实现,而椭圆滤波器不易实现(因为它的系统函数H(s)的极点离jw轴最近)。3.由图可以看出,BW型设计的的滤波器没有震荡,而CBI型在通带会有波动,CBII型在阻带有较大波动,椭圆型在通阻带都有波动。且由图可以看出不同滤波器的过渡带的宽度也有差距。【研讨题目】基本题2.窗函数研究分析矩形窗、汉纳窗、哈明窗、布莱克曼窗、凯泽窗的频域特性,并进行比较。【仿真结果】设计一满足下列指标的线性相位FIR高通滤波器:Wp=0.67π,Ws=0.53π,Ap=0.3dB,As=50dB。采用Hamming窗加窗截断,设计过程如下:Wp=0.67*pi;Ws=0.53*pi;Ap=0.3;As=50;N=ceil(7*pi/(Wp-Ws));%确定滤波器阶数,并使滤波器为I型N=mod(N+1,2)+N;%进行取余运算M=N-1;fprintf('N=%.0f\n',N);%输出Nw=hamming(N)';Wc=(Wp+Ws)/2;%理想低通截频k=0:M;hd=-(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);hd(0.5*M+1)=hd(0.5*M+1)+1;h=hd.*w;omega=linspace(0,pi,512);%0-π取512个点mag=freqz(h,[1],omega);magdb=20*log10(abs(mag));plot(omega/pi,magdb);N=51哈明窗:通带衰减Ap≈0dB阻带衰减As≈54dB设计一满足下列指标的线性相位FIR高通滤波器:Wp=0.67π,Ws=0.53π,Ap=0.3dB,As=50dB。采用blackman窗加窗截断,设计过程如下:Wp=0.67*pi;Ws=0.53*pi;Ap=0.3;As=50;N=ceil(7*pi/(Wp-Ws));N=mod(N+1,2)+N;M=N-1;fprintf('N=%.0f\n',N);w=blackman(N)';Wc=(Wp+Ws)/2;k=0:M;hd=-(Wc/pi)*sinc(Wc*(k-0.5*M)/pi);hd(0.5*M+1)=hd(0.5*M+1)+1