收藏 分销(赏)

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

上传人:仙人****88 文档编号:9343189 上传时间:2025-03-22 格式:DOCX 页数:8 大小:110.55KB 下载积分:10 金币
下载 相关 举报
频率采样法设计FIR数字滤波器.docx_第1页
第1页 / 共8页
频率采样法设计FIR数字滤波器.docx_第2页
第2页 / 共8页


点击查看更多>>
资源描述
实验八 频率采样法设计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'); (2)N=40 过渡带有一个样本,T=0.39 N=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'); (3)N=60 过渡带有两个样本 T1=0.5925,T2=0.1009 N=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'); (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'); 五、实验心得与体会 通过这次实验,我掌握了用MATLAB实现采用频率取样法设计FIR数字滤波器的具体方法,在实验过程中,我加深了对频率取样法原理的理解和学习,对理论知识有了更深刻的记忆。理论结合实际,两者在学习中有机的统一起来,对学习这门课程有着重要的意义,对今后其他课程的学习打下坚实的基础。所以,这次实验令我受益匪浅。这是本门课程的最后一次实验,在这里感谢实验指导老师一学期以来的辛苦工作。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服