ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:293.87KB ,
资源ID:4332377      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4332377.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IIR滤波器课程设计数字信号处理课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IIR滤波器课程设计数字信号处理课程设计报告.docx

1、IIR滤波器课程设计数字信号处理课程设计报告摘要:数字滤波器在数字信号处理领域中已经得到广泛的应用。利用MATLAB的数字滤波器设计工具可以快速有效地设计各种IIR数字滤波器,设计简单方便。在设计过程中可以随时对比设计要求和滤波器特性,并可通过不断调整参数,以使滤波器的设计得到最优化。本文所设计的IIR滤波器采用间接方法,借助模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将模拟滤波器系统函数按脉冲响应不变法转换成数字滤波器的系统函数。滤波器的使用者不仅可以看到相应类型滤波器的频响图和零、极点图,还可以通过音频文件进行功能测试,从而实现滤波器的最优化。关键词:M

2、ATLAB;IIR数字滤波器;脉冲响应不变法;1 课程综述1.1 课题的来源和意义随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器,根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应IIR滤波器和有限冲激响应FIR滤波器。与FIR滤波器相比,IIR滤波器的实现采用的是递归结构,极点须在单位圆内,在相同设计指标下,实现IIR滤波器的阶次较低,即所用的存储单元少,从而经济效率高。1.2 预期

3、目标IIR数字滤波器可以通过巴特沃斯、切比雪夫I和切比雪夫II三种类型的模拟滤波器,采用脉冲响应不变法实现IIR数字低通、高通、带通和带阻滤波器;同时,还具有测试功能,滤波器的使用者可以选择音频对滤波器的效果进行测试。1.3 面对的问题及解决问题的关键技术MATLAB是于1984年由美国MathWorks公司推出,该软件具有使用简单、方便,易编程,语言简练,函数库可任意扩充,采用全新数据类型和面向对象编程技术等特点,有强大的数值分析、矩阵运算、图形绘制、数据处理等功能,因此已被广泛应用在教学、科研和工程设计的各个领域。随着MATLAB软件的信号处理工具箱的推出,如今MATLAB已经成为信号与信

4、息处理,特别是数字信号处理应用中分析与仿真设计的主要工具。传统的滤波器分析与设计均使用繁琐的公式计算,改变参数后需要重新运算,从而在分析与设计滤波器尤其是高阶滤波器时工作量特别大,利用MATLAB信号处理工具箱可以快速而有效地实现滤波器的分析、设计与仿真。2 系统分析2.1 涉及的基础知识滤波器,是指对输入信号起到滤波作用的系统,其时域输入输出关系为:,假定、的傅里叶变换均存在,则滤波器输入输出的频域关系为。数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数字处理来达到频域滤波的目的。数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个

5、由有限精度算法实现的线性时不变离散系统。设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数,使其频率响应满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带最大衰减、阻带最小衰减。2.1.1 三种模拟原型滤波器1.滤波器的特点:(1)巴特沃斯滤波器:从通带中心向两边幅频特性单调下降。(2)切比雪夫I滤波器:通带内有等纹幅频特性函数,阻带内有单调下降的幅频特性函数。(3)切比雪夫II滤波器:通带内有单调下降的幅频特性函数,阻带内有等纹幅频特性函数。2.两种低通逼近法(1)巴特沃斯滤波器低通逼近法巴特沃斯低通滤波器幅度平方函数定义为式中,N为正整数,代表滤波器的阶数。(2)

6、切比雪夫低通逼近法2.2 解决问题的基本思路数字滤波器按单位脉冲相应h(n)的时域特性可分为无限长脉冲响应IIR滤波器和有限长脉冲响应FIR滤波器。其中IIR滤波器一般采用递归型的实现结构,其N阶递归型数字滤波器的差分方程为: (2-1)系数至少有一项不为零,说明必须将延时的输出序列反馈回来。相应的IIR滤波器的系统函数为: (2-2)IIR滤波器的系统函数的设计就是确定各系数,或零极点,A,以使滤波器满足给定的性能要求。本课题利用模拟滤波器的理论来设计数字滤波器。首先,设计一个合适的模拟滤波器,然后用脉冲响应不变法变换成满足预定指标的数字滤波器,即从已知的模拟滤波器传递函数设计数字滤波器的系

7、统函数。脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应,将等间隔采样,使h(n)正好等于的采样值。 (2-3)再对h(n)求Z变换,即得数字滤波器的系统函数: (2-4)具体步骤:(1)将数字滤波器设计指标转换为相应的模拟滤波器指标。(2)设计相应的模拟滤波器,得到模拟系统函数。(3)将模拟滤波器系统函数转换成数字滤波器系统函数。2.3 总体方案1.创建图形化用户界面。2.编写控件回调函数在MATLAB的图形用户界面应用程序中,控件主要响应用户的鼠标单击动作。响应鼠标动作的方法通过编写回调函数来完成。回调函数是指在界面控件被选中的时候,响

8、应动作的M语言函数。回调函数主要完成的功能是:(1)获取发出动作的对象句柄;(2)根据发出的动作,设置影响的对象属性。3.编写功能子函数(1)函数IIR_Createfilter,用于根据设定参数创建数字滤波器。(2)显示幅度谱函数IIR_DispMag。(3)显示相位谱函数IIR_DispAngle。(4)显示零极点图函数IIR_DispZplane。(5)选择波形文件函数IIR_GetWAVFile。(6)播放原始波形文件函数IIR_Playorg。(7)显示幅度谱函数IIR_Dispmod。2.3 功能模块框图图2.1 功能模块框图3 系统设计3.1 算法描述1函数IIR_Createf

9、ilter():functionnum,den,FsCY,FlagYYY=IIR_Createfilter()num=;den=;FlagYYY=1;hndl=gcbf;name_hndl=findobj(hndl,Tag,PMenu_Fileter); %获取控件句柄str1_full=get(name_hndl,String); %获取控件的文本信息val=get(name_hndl,Value); %获取组合框选项的索引号fil_name=str1_fullval; %获取索引号对应的文本set(name_hndl,UserData,fil_name); %将文本信息设置到UserDat

10、atype_hndl=findobj(hndl,Tag,PMenu_Fileter_Style);str2_full=get(type_hndl,String);val=get(type_hndl,Value);fil_type=str2_fullval;set(type_hndl,UserData,fil_type);pbr_hndl=findobj(hndl,Tag,P_Rp); %通带最大衰减 val=str2num(get(pbr_hndl,string);set(pbr_hndl,UserData,val);sbr_hndl=findobj(hndl,Tag,S_Rs); %阻带最小

11、衰减val=str2num(get(sbr_hndl,string);set(sbr_hndl,UserData,val);f1_hndl=findobj(hndl,Tag,CY_Fs); %采样频率 val=str2num(get(f1_hndl,string);set(f1_hndl,UserData,val);f2_hndl=findobj(hndl,Tag,P_Fp); %通带截止频率val=str2num(get(f2_hndl,string);set(f2_hndl,UserData,val);f3_hndl=findobj(hndl,Tag,S_Fs); %阻带截止频率val=s

12、tr2num(get(f3_hndl,string);set(f3_hndl,UserData,val);fil_name=get(name_hndl,UserData);fil_type=get(type_hndl,UserData);Rp=get(pbr_hndl,UserData);Rs=get(sbr_hndl,UserData);f1=get(f1_hndl,UserData);FsCY=f1;f2=get(f2_hndl,UserData);f3=get(f3_hndl,UserData);f22_hndl=findobj(hndl,Tag,P_Fp2);val=str2num(g

13、et(f22_hndl,string);set(f22_hndl,UserData,val);f32_hndl=findobj(hndl,Tag,S_Fs2);val=str2num(get(f32_hndl,string);set(f32_hndl,UserData,val);f22=get(f22_hndl,UserData);f32=get(f32_hndl,UserData);%模拟滤波器原型为巴特沃斯滤波器if(strcmp(fil_name,巴特沃斯) %数字低通滤波器的设计 if(strcmp(fil_type,低通) Wp=2*pi*f2/f1; %数字滤波指标 Ws=2*pi

14、*f3/f1; OmigaP=Wp*f1; %把数字滤波指标转换为模拟滤波指标 OmigaS=Ws*f1; n W=buttord(OmigaP,OmigaS,Rp,Rs,s); %计算相应的模拟滤波器阶数N和3dB截止频率W B A=butter(n,W,s); %计算相应的模拟滤波器系统函数 num,den=impinvar(B,A,f1); %用脉冲响应不变法将模拟滤波器转换成数字滤波器%数字高通滤波器的设计 elseif(strcmp(fil_type,高通) Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=b

15、uttord(OmigaP,OmigaS,Rp,Rs,s); B A=butter(n,W,high,s); num,den=impinvar(B,A,f1); %数字带通滤波器的设计 elseif(strcmp(fil_type,带通) Wp=2*pi*f2,f22/f1; Ws=2*pi*f3,f32/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=buttord(OmigaP,OmigaS,Rp,Rs,s); B A=butter(n,W,s); num,den=impinvar(B,A,f1); %数字带阻滤波器的设计elseif(strcmp(fil_type

16、,带阻) Wp=2*pi*f2,f22/f1; Ws=2*pi*f3,f32/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=buttord(OmigaP,OmigaS,Rp,Rs,s); B A=butter(n,W,stop,s); num,den=impinvar(B,A,f1); End %模拟滤波器原型为切比雪夫1滤波器elseif(strcmp(fil_name,切比雪夫1)%数字低通滤波器的设计 if(strcmp(fil_type,低通) Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1;

17、n W=cheb1ord(OmigaP,OmigaS,Rp,Rs,s); B A=cheby1(n,Rp,W,s); num,den=impinvar(B,A,f1);%数字高通滤波器的设计 elseif(strcmp(fil_type,高通) Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=cheb1ord(OmigaP,OmigaS,Rp,Rs,s); B A=cheby1(n,Rp,W,high,s); num,den=impinvar(B,A,f1); End%模拟滤波器原型为切比雪夫2滤波器elseif(st

18、rcmp(fil_name,切比雪夫2) %数字低通滤波器的设计if(strcmp(fil_type,低通) Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=cheb2ord(OmigaP,OmigaS,Rp,Rs,s); B A=cheby2(n,Rp,W,s); num,den=impinvar(B,A,f1); %数字高通滤波器的设计elseif(strcmp(fil_type,高通) Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=ch

19、eb2ord(OmigaP,OmigaS,Rp,Rs,s); B A=cheby2(n,Rp,W,high,s); num,den=impinvar(B,A,f1); End3.2 详细流程图4 运行与测试 1.图形化用户界面2.图4.1 用户界面图图4.2 低通滤波器幅度响应图3.图4.3低通滤波器相位响应图图4.4 零、极点图致 谢首先,衷心地感谢淮阴工学院、计算机工程学院提供的实践机会,实验室人员提供的舒适的实验环境!本论文是在老师们的亲切关怀和悉心指导下完成的。老师们严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,老师都始终给予我

20、细心地指导和不懈的支持。在此向老师致以诚挚的谢意和崇高的敬意。同时,我还要感谢我们小组的其他成员,虽然时间紧迫,我们仍愉快地度过了这短暂的课程设计周,正是由于你们的帮助和支持,我才能克服一个一个的困难喝疑惑,直至本文的顺利完成,特别感谢我的同学,他们对本课题做了不少工作,给予我不少的帮助。最后,对所参考的文献原作者,以及其他提供帮助的所有人员和机构表示真诚的谢意!参 考 文 献1 高西全,丁玉美.数字信号处理.第3版.西安:西安电子科技大学出版社,20082 王世一.数字信号处理.北京:北京工业学院出版社,19873 刘波.MATLAB信号处理.北京:电子工业出版社,20064 飞思科技产品研发中心MATLAB7辅助信号处理技术与应用.北京:电子工业出版社,20055 郑君里,应启珩,杨为理.信号与系统(下册).北京:电子工业出版社,20036 伯晓晨.MATLAB工具箱应用指南.北京:电子工业出版社,2000.忽略此处.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1