数字信号课程设计---有限冲激响应数字滤波器设计.doc

数字信号课程设计---有限冲激响应数字滤波器设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 报 告 课程名称: 数字信号处理 设计名称: 有限冲激响应数字滤波器设计 姓 名: 班 级: 学 号: 指导教师: 时 间: 数字信号处理课程设计 ——有限冲激响应数字滤波器设计 一、实验目的 加深对数字滤波器的常用指标和设计过程的理解。 二、实验原理 图一 数字低通滤波器的典型幅度响应曲线 低通滤波器的常用指标为: 数字滤波器技术指标为: 通带边缘频率,阻带边缘频率 ,通带,最小阻带衰减通带峰值起伏,最小阻带衰减。 IIR和FIR两种类型,它们的特点和设计方法不同。窗系数需要实现用窗函数blackman(),hamming()和kaiser()产生。 三、实验内容: 用海明窗 (hamming(N))、布拉克曼窗 (Blackman(N))、凯塞窗(Kaiser(N,beta))分别设计FIR低通滤波器,通带边界频率,阻带边界频率,阻带衰减不小于50dB。 四、设计分析: 用窗函数设计FIR滤波器的步骤为: 根据对过度带宽及阻带衰减要求,选择窗函数的类型并计算窗口长度N。窗函数类型可根据其阻带最小衰减As的条件独立选择,因为其长度N对阻带最小衰减没有影响。在确定窗函数类型后,就可根据过度带宽小于给定指标的条件,确定所拟用的窗函数长度N。 所要求的过渡带宽 △w=ws-wp 由于窗函数满足: 海明窗 N=6.6*pi/△w 布拉克曼窗 N=11*pi/△w 凯泽窗 N=[(As-7.95)/(14.36*△f)]+2 △f=(ws-wp)/2 (2) 根据待求滤波器的理想频率响应求出单位脉冲响应hd(n) wc=(ws+wp)/2; %wc为截止频率 =(N-1)/2; %N为理想滤波器的长度 n=[0:(N-1)]; m=n-+eps; %加一个小数以避免零做除数 hd=sin(wc*m)./(pi*m) %hd为点0到N-1之间的理想脉冲响应 (3) 计算滤波器的单位脉冲响应h(n) h(n)=hd(n).*w(n) %w(n)为窗函数 (4) 验算技术指标是否满足要求。如果不满足要求,则要改变N,或改变窗函数(或两者都改变),然后重新计算。 五、MATLAB编程 (1) 海明窗 程序实现如下: clear all; wn=hamming(33); nn=[0:1:32]; alfa=(32-1)/2; hd=sin(0.25*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps));%eps为一个非常小的数,防止出%现零为除数;点除 h=hd.*wn; %hd为一个行向量,wn为一个列向量,需要转置 [h1,w1]=freqz(h,1); plot(w1/pi,20*log10(abs(h1)));%通过求对数得到以db为单位的幅度特性 axis([0,1,-100,10]); grid; xlabel(归一化频率/pi); ylabel(幅度/dB); 所得图形为: (2) 布拉克曼窗 程序实现如下: clear all; wn=blacman(55); nn=[0:1:54]; alfa=(55-1)/2; hd=sin(0.25*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps)); %eps为一个非常小的数,防止出%现零为除数;点除 h=hd.*wn; [h1,w1]=freqz(h,1); plot(w1/pi,20*log10(abs(h1))); axis([0,1,-100,10]); grid; xlabel(归一化频率/pi); ylabel(幅度/dB); 所得图形为: (3) 凯泽窗 程序实现如下: clear all; wn=Kaiser(31,7.5); nn=[0:1:30]; alfa=(31-1)/2; hd=sin(0.25*pi*(nn-alfa+eps))./(pi*(nn-alfa+eps));%eps为一个非常小的数,防止出%现零为除数;点除 h=hd.*wn; [h1,w1]=freqz(h,1); plot(w1/pi,20*log10(abs(h1))); axis([0,1,-100,10]); grid; xlabel(归

文档评论(0)

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

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

1亿VIP精品文档

相关文档