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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验八频率采样法设计FIR数字滤波器一、实验目的掌握频率取样法设计FIR数字滤波器的原理及具体方法。二、实验设备与环境计算机、MATLAB软件环境三、实验基础理论1.基本原理频率取样法从频域出发,把理想的滤波器等间隔取样得到,将作为实际设计滤波器的,N-1得到以后可以由来唯一确定滤波器的单位脉冲响应, ()D_Dd___________e??________________求得其中为内插函数由求得的频率响应来逼近。如果我们设计的是线性相位FIR滤波器,则的幅度和相位一定满足线性相位滤波器的约束条件。我们将表示成如下形式当为实数,则由此得到即以k=N/2为中心呈偶对称。再利用线性条件可知,对于1型和2型线性相位滤波器对于3型和4型线性相位滤波器其中,表示取小于该数的最大的整数。2.设计步骤(1)由给定的理想滤波器给出和。(2)由式求得。(3)根据求得和。四、实验内容1.采用频率采样设计法设计FIR数字低通滤波器,满足以下指标取N=20,过渡带没有样本。取N=40,过渡带有一个样本,T=0.39。取N=60,过渡带有两个样本,T1=0.5925,T2=0.1009。分别讨论采用上述方法设计的数字低通滤波器是否能满足给定的技术指标。实验代码与实验结果(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.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),

文档评论(0)

danli208 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档