数字滤波器窗函数法设计FIR数字滤波器.docVIP

数字滤波器窗函数法设计FIR数字滤波器.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字滤波器窗函数法设计FIR数字滤波器

窗函数法设计FIR数字滤波器 1.目的与要求 能够运用本课程中学到的知识,设计基于窗口函数法的FIR 数字滤波器。要求掌握数字信号处理的基本方法;FIR滤波器的设计步骤和方法;能够熟练采用C 语言或MATLAB语言进行计算机辅助设计和仿真验证设计内容的合理性。 2.正文 2.1设计题目: 请采用窗口函数法设计一个带通FIR数字滤波器,要求设计的频率响应为 2.2设计步骤 2.2.1 根据设计要求,确定FIR滤波器的频率响应,包括过渡带宽、通带和阻带阻尼限制 依题意得滤波器的通带,通带宽度0.2 取比较窄的过渡带,. 阻带宽度0.45以及宽度为0.2。 阻带最小衰减为㏒0.05=-26.02dB 2.2.2根据前一步的过渡带宽、通带和阻带阻尼限制,确定选择的窗口函数类型和的列长度: 由于阻带最小衰减要求为-26.02dB,根据下表可查的海明窗的阻带最小衰减为-41dB,符合要求且结构最简,因此选择海明窗。同样可以查得海明窗的过渡带宽为8/N.所以0.05=8/N,N=8/(0.1)=160,取N=161. 同样可以查得海明窗函数表达式: 窗函数 第一旁瓣相对于主瓣衰减/dB 主瓣宽 矩形窗 -13 4/N 三角窗 -25 8/N 汉宁窗 -31 8/N 海明窗 -41 8/N 布拉克曼窗 -57 12/N 2.2.3根据第一步确定理想的频率响应,通过求的逆傅里叶变换得到,对进行右移、截短和窗口函数处理,求得因果FIR数字滤波器的单位冲激响应 : 由已知得条件可以得出理想得频率响应 ; 其它。 右移、截短 . 因此因果FIR数字滤波器的单位冲激响应=* . 2.2.4求得傅里叶变换,检验是否符合要求; =* =* ; 附录:MATLAB程序代码 clear all; %清空变量 Wpl=0.3*pi; Wph=0.5*pi; %通带频率 Wsl=0.2*pi; Wsh=0.55*pi; %阻带频率 tr_width=min((Wpl-Wsl),(Wsh-Wph)); %过渡带带宽 N=ceil(8*pi/tr_width)+1 ; %序列长度 Wcl=(Wsl+Wpl)/2; Wch=(Wsh+Wph)/2; %截止频率 %计算序列 for i=0:N-1 hd(i+1)=[sin(Wch*(i-(N-1)/2+eps))-sin(Wcl*(i-(N-1)/2+eps))]/(pi*(i-(N-1)/2+eps)); end; plot(hd); xlabel(理想hd(n)); pause; %采用汉明窗计算 y=hanning(N); n=0:1:N-1; plot(n,y); xlabel(汉明窗); pause; for i=1:N h(i)=hd(i)*(0.54-0.46*cos(2*pi*i/(N-1))); end %打印序列 stem(h); %保持序列图形 pause; %将频率在0-pi区间等分1000份 for i=0:999 w(i+1)=pi/1000*i; end %计算不同频率下的幅频响应 for i=0:999 a=0; %为傅里叶变换的实部赋初值 b=0; %为傅里叶变换的虚部赋初值 for j=0:N-1 a=a+h(j+1)*cos((w(i+1)*j)); b=b-h(j+1)*sin((w(i+1)*j)); end Rm(i+1)=(a^2+b^2)^0.5; %计算频率为pi500*i时的幅频响应 end high=max(Rm)%取出幅频响应最大值 low=min(Rm) %取出幅频响应最小值 plot(Rm) %打印幅频响应 pause; %给定频率为0.2*pi的输入正弦序列 i=0:100; x1=sin(0.2*pi*i); plot(x1) pause %给定频率为0.4*pi的输入正弦序列 i=0:100; x2=sin(0.4*pi*i); plot(x2) pause %给定频率为0.75*pi的输入正弦序列 i=0:100; x3=sin(0.75*pi*i); plot(x3) pause x=x1+x2+x3; plot(x) pause %x与h序列作卷积 N=length(x); M=length(h); for(n=1:N+M-1) y(n)=0; for(m=1:M) k=n-m+1; if(k=1k=N) y(n)=y(n)+h(m)*x(n-m+1); end end end plot(y)

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档