1实验五FIR数字滤波器的设计一.实验目的1.掌握用窗函数法、频率采样法设计FIR滤波器的原理,熟悉MATLAB编程;2.知道线性相位FIR滤波器的幅频特性和相频特性;3.了解不同窗函数对滤波器性能的影响。二.实验内容1.N=45,计算并画出矩形窗、三角窗、Hanning窗、Hamming窗和Blackman窗归一化频谱,比较它们的特点;2.N=15,带通滤波器的边界频率分别为0.3pi和0.5pi。用Hanning设计线性相位滤波器,观察3dB和20dB带宽;将N改为45,重复上述设计,观察N变化对幅频特性影响。3.改用矩形窗和Blackman窗,重复“2”中滤波器设计,观察并记录窗函数对幅频特性影响,比较它们特点。4.用Kaiser窗设计内容2参数的滤波器,N取40,Beta分别取4、6、10,比较Beta取值不同时对幅频特性影响。5.试用频率采样法设计内容2参数的滤波器。自己确定过渡带宽和过渡点值,将其与时域设计法比较,说说特点。三.思考题若没有给出滤波器h(n)长度,但知道通带截止频率、阻带边界频率和衰减要求,说说如何确定滤波器长度并设计滤波矩形窗函数具有最窄的主瓣宽度,但有最大的旁瓣峰值;汉明窗函数的主瓣稍宽,而旁瓣较小;布莱克曼窗函数则更甚之。矩形窗设计的滤波器过渡带最窄,但是阻带最小衰减也最差;布莱克曼窗设计的滤波器阻带衰减最好,过度带最宽,约为矩形窗设计的的三倍。汉明窗设计的滤波器处于矩形窗和布莱克曼窗之间。(2)N=15,带通滤波器的两个通带边界分别是ω1=0.3π,ω2=0.5π。用汉宁(Hanning)窗设计此线性相位带通滤波器,观察它的实际3dB和20dB带宽。N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N变化的影响。程序如下:n=15;wn=[0.3,0.5]b=fir1(n,wn,Hanning(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15Hanning');figure;n=45;wn=[0.3,0.5]b=fir1(n,wn,Hanning(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45Hanning');运行结2果如图:所设计滤波器的h(n):相应的幅频相频特性曲线:器。观察它的实际3dB和20dB带宽,发现N=15时,3DB带宽约为0.2pi,20db带其宽约为0.45pi;N=45时,其3DB带宽约为0.16pi,20db带宽约为0.3pi5DSP试验04008012可见N增大,其3db带宽和20db带宽分别减小,滤波器特性变好,过渡带变陡,幅频曲线显示其通带较平缓,波动小,阻带衰减大。相频特性曲线显示其相位随频率变化也变大。(3)分别改用矩形窗和Blackman窗,设计(2)中的带通滤波器,观察并记录窗函数对滤波器幅频特性的影响,比较三种窗的特点。程序如下:n=15;wn=[0.3,0.5]b=fir1(n,wn,boxcar(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15boxcar');figure;n=45;b=fir1(n,wn,boxcar(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45boxcar');figure;n=15;b=fir1(n,wn,blackman(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15blackman');figure;n=45;b=fir1(n,wn,blackman(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45blackman');相应的幅频曲线如图:3内容一程序代码:wp=pi/2;ws=pi/4;wc=(wp+ws)/2/pi;hn0=fir1(44,wc,boxcar(45));hn1=fir1(44,wc,bartlett(45));hn2=fir1(44,wc,hanning(45));[hw0,wc]=freqz(hn0,1);[hw1,wc]=freqz(hn1,1);[hw2,wc]=freqz(hn2,1);subplot(321)stem(hn0)gridxlabel('n');ylabel('hn0');title('N=45时boxcar设计的hn波形');subplot(322)plot(wc/pi,20*log10(abs(hw0)))xlabel('w/pi');ylabel('幅度/db');gridon;title('N=45时boxcar设计低通')axis([0,1,-100,0])subplot(323)stem(hn1);gridxlabel('n');ylabel('hn1');title('N=45时bartlett设计的hn波形');subplot(324)plot(wc/pi,20*log10(abs(hw1)))xlabel('w/pi');ylabel('幅度/db');gridon;title('N=45时bartlett设计低通')axis([0,1,-100,0])subplot(325)stem(hn2);gridxlabel('n');ylabel('hn2');title('N=45时hanning设计的hn波形');subplot(326)plot(wc/pi,20*log10(abs(hw2)))xlabel('w/pi');ylabel('幅度/db');gridon;title('N=45时hanning设计低通')axis([0,1,-100,0])wp=pi/2;ws=pi/4;wc=(wp+ws)/2/pi;hn3=fir1(44,wc,hamming(45));hn4=fir1(44,wc,blackman(45));[hw3,wc]=freqz(hn3,1);[hw4,wc]=freqz(hn4,1);subplot(221)stem(hn3);gridxlabel('n');ylabel('hn3');title('N=45时hamming设计的hn波形');subplot(222)plot(wc/pi,20*log10(abs(hw3)))xlabel('w/pi');ylabel('幅度/db');gridon;title('N=45时hamming设计低通')axis([0,1,-100,0])subplot(223)stem(hn4);gridxlabel('n');ylabel('hn4');title('N=45时blackman设计的hn波形');subplot(224)plot(wc/pi,20*log10(abs(hw4)))xlabel('w/pi');ylabel('幅度/db');gridon;title('N=45时blackman设计低通')axis([0,1,-100,0])4内容二程序代码n=15;wn=[0.3,0.5]b=fir1(n,wn,Hanning(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15Hanning');figure;n=45;wn=[0.3,0.5]b=fir1(n,wn,Hanning(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45Hanning');内容三程序代码:n=15;wn=[0.3,0.5]b=fir1(n,wn,boxcar(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15boxcar');figure;n=45;b=fir1(n,wn,boxcar(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45boxcar');figure;n=15;b=fir1(n,wn,blackman(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=15blackman');figure;n=45;b=fir1(n,wn,blackman(n+1));[h,w]=freqz(b,1,512);freqzplot(h,w);title('n=45blackman');内容四程序代码:n=40;wn=[0.2,0.4,0.6,0.8];b=fir1(n,wn,kaiser(n+1,4));[h,w]=freqz(b,1,512);freqzplot(h,w);title('kaiserbeta=4');figure;b=fir1(n,wn,kaiser(n+1,6));[h,w]=freqz(b,1,512);freqzplot(h,w);title('kaiserbeta=6');figure;b=fir1(n,wn,kaiser(n+1,10));[h,w]=freqz(b,1,512);freqzplot(h,w);title('kaiserbeta=10');内容五程序代码:n1=15;w=[00.10.20.250.30.370.450.50.60.70.80.91];m=[0000.511110.50000];b1=fir2(n1,w,m);[h1,w1]=freqz(b1,1,512);figure(1)plot(w1/pi,20*log10(abs(h1)));title('n=15频率采样法');gridn2=45;b2=fir2(n2,w,m);[h2,w2]=freqz(b2,1,512);figure(2)plot(w2/pi,20*log10(abs(h2)));title('n=45频率采样法');grid5图一:内容一对应图6图二:内容二对应图图三:内容三对应图7图四:内容四对应图00.10.20.30.40.50.60.70.80.91-3000-2000-100001000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-100-50050NormalizedFrequency(rad/sample)Magnitude(dB)kaiserbeta=400.10.20.30.40.50.60.70.80.91-3000-2000-100001000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-150-100-500NormalizedFrequency(rad/sample)Magnitude(dB)kaiserbeta=6图五:内容五对应图