DSP实验报告实验四:IIR数字滤波器的设计实验五:FIR数字滤波器的设计实验四、IIR数字滤波器的设计【1】f c = 0.3kHz,delta = 0.8dB,fr = 0.2kHz,At = 20dB,T = 1ms:设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
实验结果:实验代码:>> Wc = 2*pi*300/1000;Wr = 2*pi*200/1000;Rp = 0.8;Rs = 20;[N,Wc] = cheb1ord(Wc,Wr,Rp,Rs,'s');[B,A] = cheby1(N,Rp,Wc,'high','s');omega = [0:pi/1000:pi];h = freqs(B,A,omega);gain = 20*log10(abs(h));plot(omega/(2*pi/1000),gain);结果分析:由实验所得关于设计的滤波器的增益曲线来看,当f<200Hz时,衰减大于20dB,当f>300Hz时,衰减趋近于零,满足设计参数要求。
【5】利用双线性变换法设计满足下列指标的切比雪夫型数字带阻滤波器,并作图验证设计结果:当1kHz<=f<=2kHz时,At>=18dB;当f<=500Hz以及f>=3kHz时,delta<=3dB;采样频率fs = 10kHz。
实验结果程序代码:>> W1 =2*10000*tan(2*pi*500/(2*10000));W2 =2*10000*tan(2*pi*1000/(2*10000));W3 =2*10000*tan(2*pi*2000/(2*10000));W4 =2*10000*tan(2*pi*3000/(2*10000));Wp = [W2,W3];Ws = [W1,W4];[N,Wn] = cheb1ord(Wp,Ws,3,18,'s');[B,A] = cheby1(N,3,Wn,'stop','s');[num,den] = bilinear(B,A,10000);[h,w] = freqz(num,den);f = w/pi*5000;plot(f,20*log10(abs(h)));axis([0,3500,-100,10]);结果分析:根据设计要求,取要求中的参数值为极限值,所得滤波器增益曲线如上图。
由图可知当频率在1kHz到2kHz之间时,增益衰减大于18dB,当频率小于500或大于3000Hz时,增益略小于1,通带波动delta小于3dB,满足设计需求。
实验五、FIR数字滤波器的设计【1】N = 45,计算并画出矩形窗、汉明窗、布莱克窗的归一化幅度谱,并比较各自的主要特点。
实验结果:程序代码:>> N=45;w1=boxcar(N);w2=hamming(N);w3=blackman(N);[h,w]=freqz(w1,N);subplot(221); plot(w/pi,20*log10(abs(h))); axis([0,1,-80,1]);title('矩形窗')subplot(222);[h,w]=freqz(w2,N);plot(w/pi,20*log10(abs(h)));axis([0,1,-80,0]);title('汉明窗');subplot(223);[h,w]=freqz(w3,N);plot(w/pi,20*log10(abs(h)));axis([0,1,-150,1]);title('布莱克曼窗');实验结果分析:矩形窗函数具有最窄的主瓣宽度,但有最大的旁瓣峰值;汉明窗函数的主瓣稍宽,而旁瓣较小;布莱克曼窗函数则更甚之。
矩形窗设计的滤波器过渡带最窄,但是阻带最小衰减也最差;布莱克曼窗设计的滤波器阻带衰减最好,过渡带最宽,约为矩形窗设计的的三倍。
汉明窗设计的滤波器处于矩形窗和布莱克曼窗之间。
【4】用凯塞窗设计一专用线性相位滤波器,N = 40,|Hd(exp(jw))|下图所示,当β = 4、6、10时,分别设计、比较他们的幅频特性和相频特性,注意β不同值时的影响实验结果:实验代码:>> Wd=[0.2 0.4 0.6 0.8];M=39;beta=4;hh=fir1(M,Wd,'DC-0',kaiser(M+1,beta)); [H,w]=freqz(hh,1);figure;subplot(2,1,1);plot(w/pi,abs(H));ylabel('幅度');grid;title('幅频特性,beta=4');subplot(2,1,2);plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('弧度');grid; title('相频特性');Wd=[0.2 0.4 0.6 0.8];M=39;beta=6;hh=fir1(M,Wd,'DC-0',kaiser(M+1,beta)); [H,w]=freqz(hh,1);figure;subplot(2,1,1);plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('幅度');grid;title('幅频特性,beta=6');subplot(2,1,2);plot(w/pi,angle(H));ylabel('弧度');grid;title('相频特性');Wd=[0.2 0.4 0.6 0.8];M=39;beta=10;hh=fir1(M,Wd,'DC-0',kaiser(M+1,beta)); [H,w]=freqz(hh,1);figure;subplot(2,1,1);plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('幅度');grid;title('幅频特性,beta=10');subplot(2,1,2);plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('弧度');grid;title('相频特性');实验结果分析:随着β的增加,窗变窄,频谱过渡带增加,相位特性变好。
【5】用频率采样法设计【4】中的滤波器,过渡带分别设一个过渡点,令H(k) = 0.5。
比较两种方法的结果。
实验结果:实验代码:>> N=45;k=0:N-1;for k=0:N-1w=2*pi/N*k;hk(1,k+1)=0;if((w>=0.2*pi)&&(w<=0.4*pi))||(w>=0.6*pi&&w<=0.8*pi)||(w>=1.2*pi&& w<=1.4*pi)||(w >=1.6*pi&&w<=1.8*pi);hk(1,k+1)=1;end;end;k=0:N-1;hk(1,5)=0.5;hk(1,11)=0.5;hk(1,14)=0.5;hk(1,20)=0.5;hk(1,27)=0.5;hk(1,33)=0.5;hk(1,36)=0.5;hk(1,42)=0.5;thetak=-k*2*pi/N*((N-1)/2);hk1=hk.*exp(j*thetak);hn=ifft(hk1);[h1,w1]=freqz(hn,1);plot(w1/pi,20*log10(abs(h1)));grid onaxis([0,1,-80,10]);xlabel('频率 ');ylabel('幅度/dB');实验结果分析:相较于【4】中所设计的滤波器,在幅频特性上出现多个尖峰以及副瓣,由此看来频率比较法在该设计中幅频特性较差。
【7】利用雷米兹交替算法,设计一个线性相位高通FIR数字滤波器,其指标为:通带边界频率fc = 800Hz,阻带边界fr = 500Hz,阻带波动delta = 1dB,阻带最小衰减At = 40dB,采样频率fs = 5000Hz。
实验结果:实验代码:>> f=[500 800];fs=5000;a=[0 1];dev=[0.009 0.1];[M,fpts,mag,wt]=remezord(f,a,dev,fs);h=remez(M,fpts,mag,wt);[H,w]=freqz(h,1);plot(w*2500/pi,20*log10(abs(H)));grid onxlabel('幅频/Hz');ylabel('幅度');实验结果分析:由实验所得滤波器的幅频特性看,满足通带、阻带分界,通带波动和阻带最小衰减等设计指标,满足设计要求。