频率采样法设计FIR数字滤波器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验八频率采样法设计FIR数字滤波器一、实验目的掌握频率取样法设计FIR数字滤波器的原理及具体方法。二、实验设备与环境计算机、MATLAB软件环境三、实验基础理论1.基本原理频率取样法从频域出发,把理想的滤波器等间隔取样得到,将作为实际设计滤波器的,N-1得到以后可以由来唯一确定滤波器的单位脉冲响应,()D_Dd___________ðϨϨ________________求得其中为内插函数由求得的频率响应来逼近。如果我们设计的是线性相位FIR滤波器,则的幅度和相位一定满足线性相位滤波器的约束条件。我们将表示成如下形式当为实数,则由此得到即以k=N/2为中心呈偶对称。再利用线性条件可知,对于1型和2型线性相位滤波器对于3型和4型线性相位滤波器其中,表示取小于该数的最大的整数。2.设计步骤(1)由给定的理想滤波器给出和。(2)由式求得。(3)根据求得和。四、实验内容1.采用频率采样设计法设计FIR数字低通滤波器,满足以下指标(1)取N=20,过渡带没有样本。(2)取N=40,过渡带有一个样本,T=0.39。(3)取N=60,过渡带有两个样本,T1=0.5925,T2=0.1009。(4)分别讨论采用上述方法设计的数字低通滤波器是否能满足给定的技术指标。实验代码与实验结果(1)N=20过渡带没有样本N=20;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,zeros(1,15),1,1];*对理想幅度函数取样得到取样样本Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1];*用于绘制理想函数幅度函数的曲线k1=0:floor((N-1)/2);k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(j*angH);*计算H(k)h=ifft(H,N);*计算h(n)w=[0:500]*pi/500;H=freqz(h,1,w);*计算幅度响应[Hr,wr]=zerophase(h);*计算幅度函数subplot(221);plot(wdl,Hdr,wl(1:11)/pi,Hrs(1:11),'o');axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)');subplot(222);stem(l,h,'filled');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');subplot(223);plot(wr/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');axis([0,1,-0.2,1.2]);xlabel('\omega(\pi)');ylabel('Hr(w)');subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H)))));axis([0,1,-50,5]);grid;xlabel('\omega(\pi)');ylabel('dB');00.5100.51()Hr(k)051015-0.100.10.20.3nh(n)00.5100.51()Hr(w)00.51-40-200()dB(2)N=40过渡带有一个样本,T=0.39N=40;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,1,1,0.39,zeros(1,29),0.39,1,1,1,1];*设置过渡带样本Hdr=[1,1,0.39,0,0];wdl=[0,0.2,0.25,0.3,1];k1=0:floor((N-1)/2);k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(j*angH);h=ifft(H,N);w=[0:500]*pi/500;H=freqz(h,1,w);[Hr,wr]=zerophase(h);subplot(221);plot(wdl,Hdr,wl(1:21)/pi,Hrs(1:21),'o');axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)');subplot(222);stem(l,h,'filled');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');subplot(223);plot(wr/pi,Hr,wl(1:21)/pi,Hrs(1:21),'o');axis([0,1,-0.2,1.2]);xlabel('\omega(\pi)');ylabel('Hr(w)');subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H)))))axis([0,1,-80,5]);grid;xlabel('\omega(\pi)');ylabel('dB');00.5100.51()Hr(k)0102030-0.100.10.20.3nh(n)00.5100.51()Hr(w)00.51-80-60-40-200()dB(3)N=60过渡带有两个样本T1=0.5925,T2=0.1009N=60;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[1,1,1,1,1,1,1,0.5925,0.1099,zeros(1,43),0.1099,0.5925,1,1,1,1,1,1];*设置过渡带样本Hdr=[1,1,0.5925,0.1099,0,0];wdl=[0,0.2,0.2+1/30,0.3-1/30,0.3,1];k1=0:floor((N-1)/2);k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(j*angH);h=ifft(H,N);w=[0:500]*pi/500;H=freqz(h,1,w);[Hr,wr]=zerophase(h);subplot(221);plot(wdl,Hdr,wl(1:31)/pi,Hrs(1:31),'o');axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)');subplot(222);stem(l,h,'filled');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');subplot(223);plot(wr/pi,Hr,wl(1:31)/pi,Hrs(1:31),'o');axis([0,1,-0.2,1.2]);xlabel('\omega(\pi)');ylabel('Hr(w)');subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H)))))axis([0,1,-120,5]);grid;xlabel('\omega(\pi)');ylabel('dB');00.5100.51()Hr(k)02040-0.100.10.20.3nh(n)00.5100.51()Hr(w)00.51-100-500()dB(4)答:由实验结果第四个图可知,当时,阻带增益都没有达到-50dB,阻带增益有所减低,所以设计结果不能满足最初的设计要求。2.采用频率采样技术设计下面的高通滤波器对于高通滤波器,N必须为奇数。选择N=33,过渡带有两个样本,过渡带样本最优值为T1=0.1095,T2=0.598。实验代码与实验结果:N=33;alpha=(N-1)/2;l=0:N-1;wl=(2*pi/N)*l;Hrs=[zeros(1,11),0.1095,0.598,ones(1,7),0.598,0.1095,zeros(1,11)];Hdr=[0,0,0.1095,0.598,1,1];wdl=[0,20/33,22/33,24/33,26/33,1];k1=0:floor((N-1)/2);k2=floor((N-1)/2)+1:N-1;angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];H=Hrs.*exp(j*angH);h=ifft(H,N);w=[0:500]*pi/500;H=freqz(h,1,w);h=real(h);[Hr,wr]=zerophase(h);subplot(221);plot(wdl,Hdr,wl(1:17)/pi,Hrs(1:17),'o');axis([0,1,-0.1,1.1]);xlabel('\omega(\pi)');ylabel('Hr(k)');subplot(222);stem(l,h,'filled');axis([0,N-1,-0.1,0.3]);xlabel('n');ylabel('h(n)');subplot(223);plot(wr/pi,Hr,wl(1:17)/pi,Hrs(1:17),'o');axis([0,1,-0.2,1.2]);xlabel('\omega(\pi)');ylabel('Hr(w)');subplot(224);plot(w/pi,20*log10((abs(H)/max(abs(H)))));axis([0,1,-120,5]);grid;xlabel('\omega(\pi)');ylabel('dB');00.5100.51()Hr(k)0102030-0.100.10.20.3nh(n)00.5100.51()Hr(w)00.51-100-500()dB五、实验心得与体会通过这次实验,我掌握了用MATLAB实现采用频率取样法设计FIR数字滤波器的具体方法,在实验过程中,我加深了对频率取样法原理的理解和学习,对理论知识有了更深刻的记忆。理论结合实际,两者在学习中有机的统一起来,对学习这门课程有着重要的意义,对今后其他课程的学习打下坚实的基础。所以,这次实验令我受益匪浅。这是本门课程的最后一次实验,在这里感谢实验指导老师一学期以来的辛苦工作。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功