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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字信号处理课程设计1MATLAB实现.docx

1、数字信号处理课程设计1MATLAB实现数字信号处理课程设计报告选题名称: IIR滤波器分析与设计 系(院): 计算 机 工 程 学 院 专 业: 通信工程 班 级: 姓 名:学 号: 指导教师: 学年学期: 2010 2011 学年 第 1 学期 2011 年 01 月 08 日摘要:随着社会的进步,数字信号处理技术也在飞跃的发展,作为通信工程的学生要对数字信号有更深一层的理解,本次要做的课程设计就是用MATLAB做滤波器的设计,这次课程设计是检验本学期学习的数字信号处理这门课,加深了对滤波器设计原理以及实现方法的理解。常用的设计低通滤波器的方法有脉冲响应不变法以及双线性法,这两种方法都有各自

2、的优缺点,可以通过编写MATLAB程序观察他们的幅度特性,相位特性,以及更高一层次的就是用自己设计的滤波器来实现数字滤波。现在也有相当成熟的滤波器设计模型,如巴特沃斯,以及切比雪夫滤波器。通过设计界面,编写函数,最终还可以达到可以将自己录制的声音加载到设计的滤波器中,听滤波前后的声音的变化,这种更加直观的感受滤波器的效果的方法,而此次设计的滤波器在现实当中以用也是相当广范的,这也是学习数字信号处理这门课程,以及掌握滤波器设计方法的现实所在。关键词:数字信号;脉冲响应不变法;双线性法;数字滤波目 录1 课题综述 11.1 课程设计的意义 11.2 课程设计的目的 11.3 课程设计面对的问题以及

3、关键技术 12 系统分析 22.1 整体分析 22.2脉冲响应不变法 22.3双线性变换法的基本原理 32.4 巴特沃斯滤波器 52.5 切比雪夫滤波器 52.6 总体设计图 53 代码编写 63.1 显示幅度谱函数IIR_DispMag() 63.2 创建滤波器IIR_Createfilter() 73.3 显示相位谱函数IIR_DispAngle() 83.4 显示零极点图函数IIR_DispZplane() 83.5 选择波形文件IIR_GetWAVFile() 83.6 播放原始文件IIR_Playorg 83.7 播放时滤波后文件IIR_Playmod 94 代码的运行与调试 95

4、软件运行与测试 9总结 12致谢 13参考文献 14设计任务书课题名称IIR滤波器分析与设计设计目的1. 理解并掌握无限脉冲响应数字滤波器(IIR)的机理,分析IIR滤波器的结构特性,观察IIR滤波器的频域特性;2. 学习IIR数字滤波器的三种典型的设计方法,并观察、比较设计结果;3. 熟悉IIR数字滤波器的计算机编程;4. 加深对课堂知识的理解与灵活应用,学习开发资料的收集与整理,学会撰写课程设计报告。实验环境1. 微型电子计算机(PC);2. MATLAB 6.5或Visual C+ 6.0等开发环境。任务要求1. 利用课余时间查阅课题相关资料,深入理解课题含义及设计要求;2. 在第18周

5、完成预设计,并请指导教师审查,通过后方可进行下一步工作;3. 按指导书要求设计软件;4. 要求形成稳定的程序软件,可以运行,方可申请答辩;5. 结束后,及时提交课程设计报告(含纸质稿、电子稿)。工作进度计划序号起止日期工 作 内 容12011.01.032011.01.03在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。22011.01.042011.01.05设计总体方案,绘制流程框图,编写代码,上机调试。32011.01.062011.01.07测试程序,优化代码,增强功能,撰写设计报告。42011.01.082011.01.08提交软件代码、设计报告,参加答辩,根据教师反馈

6、意见,修改、完善设计报告。指导教师(签章): 年 月 日 1 课题综述数字滤波器是数字信号处理理论的一部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。1.1 课程设计的意义数字信号处理课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATL

7、AB并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。1.2 课程设计的目的1. 理解并掌握无限脉冲响应数字滤波器(IIR)的机理,分析IIR滤波器的结构特性,观察IIR滤波器的频域特性;2. 学习IIR数字滤波器的三种典型的设计方法,并观察、比较设计结果;3. 熟悉IIR数字滤波器的计算机编程;4. 加深对课堂知识的理解与灵活应用,学习开发资料的收集与整理,学会撰写课程设计报告。1.3 课程设计面

8、对的问题以及关键技术 本次课程设计是用MATLAB软件来实现的,所以第一个需要解决的问题就是如何把自己的思想转化为MATLAB语言,但是在这次的课程设计中要感谢我们的老师,因为他已经将大部分的代码提供给我们了。本次设计的关键技术就是脉冲响应不变法以及双线性法的函数调用以及求极点,零点的Z变换函数调用。最后就是如何实现语音信号的数字滤波。2 系统分析2.1 整体分析 利用模拟滤波器设计数字滤波器,就是从已知的模拟滤波器系统函数Ha(s)设计数字滤波器系统函数H(z),这归根到底是一个由S平面到Z平面的变换,这种映射变换应遵循两个基本原则: 1)H(z)的频响要能与Ha(s)的频响保持一致,即S平

9、面的虚轴应映射到Z平面的单位圆上。 2)Ha(s) 的因果稳定性映射成 H(z)后保持不变,即S平面的左半平面 ReS0 应映射到Z平面的单位圆以内|Z|1。所以滤波器的设计就是在给定了滤波器的技术指标后,确定滤波器的阶数N和系数和系数ai,bi。在满足技术指标的条件下,滤波器的阶数应尽可能低,因为滤波器的阶数越低,实现滤波器的成本就越低。2.2脉冲响应不变法脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)正好等于模拟滤波器的冲激响应ha(t)的采样值,即h(n)=ha(nT), T为采样周期。 如以 Ha(s) 及 H(z)分别表示 ha(t) 的拉氏变换及 h

10、(n) 的 Z 变换,即 Ha(s)=Lha(t) , H(z)=Zh(n) 计算 H(Z) :脉冲响应不变法特别适用于用部分分式表达系统函数,模拟滤波器的系统函数若只有单阶极点,且分母的阶数高于分子阶数 NM,则其拉氏反变换为: (2.2.1)单位阶跃对ha(t)采样得到数字滤波器的单位脉冲响应序列 (2.2.2)再对h(n)取Z变换,得到数字滤波器的传递函数: (2.2.3) 第二个求和为等比级数之和,要收敛的话, 必有所以有 (2.2.4)根据理想采样序列拉氏变换与模拟信号拉氏变换的关系 (2.2.5)以上表明,采用脉冲响应不变法将模拟滤波器变换为数字滤波器时,它所完成的 S 平面到 Z

11、 平面的变换,正是拉氏变换到Z变换的标准变换关系,即首先对Ha(s)作周期延拓,然后再经过z=est的映射关系映射到 Z 平面上。稳定性: 如果模拟滤波器是稳定的,则所有极点 si 都在s左半平 面,即 Resi0 , 那么变换后H(Z)的极点est也都在单位圆以内,即:因此数字滤波器保持稳定。2.3双线性变换法的基本原理脉冲响应不变法使得数字滤波器在时域上能够较好的模仿模拟滤波器,但是由于从S平面到Z平面的映射具有多值性,使得设计出来的数字滤波器不可避免的出现频谱混迭现象。为了克服脉冲响应不变法可能产生的频谱混跌效应的缺点,我们使用一种新的变换双线性变换。双线性变换法可认为是基于对微分方程的

12、积分,利用对积分的数值逼近的道德。仿真滤波器的传递函数为 (2.2.5)将展开为部份分式的形式,并假设无重复几点,则 (2.2.6)那么,对于上述函数所表达的数字信号处理系统来讲,其仿真输入和模拟输出有如下关系 (2.2.7)利用差分方程来代替导数,即 (2.2.8)同时令 这样,便可将上面的微分方程写为对应的差分方程形式 (2.2.9)两边分别取变换,可得 (2.2.10)这样,通过上述过程,就可得到双线性变换中的基本关系,如下所示 所谓的双线性变换,仅是指变换公式中与的关系无论是分子部份还是分母部份都是线性的。MATLAB中设计IIR数字滤波器的具体步骤如下:1.把给出的数字滤波器的性能指

13、标转换为模拟低通滤波器的性能指标;2.根据转换后的性能指标,通过滤波器结束选择函数,来确定滤波器的最小阶数n 和固有频率wn;3.由最小阶数n得到低通滤波器原型;4.由固有频率wn把模拟低通滤波器转换为模拟低通、高通、带通或带阻滤波器;运用双线性变换法把模拟滤波器转换成数字滤波器。2.4 巴特沃斯滤波器巴特沃斯滤波器是最常用的滤波器,而巴特沃斯滤波器又可以采用脉冲响应不变法和双线性法来设计,本文主要讲述的是脉冲相应不变法的的设计。脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha

14、(t)的采样值,满足:h(n)=ha(nT),式中,T是采样周期。这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内,才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真。但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤

15、波器才能得到良好的效果。2.5 切比雪夫滤波器切比雪夫滤波器的幅度特性具有等波纹特性,它有两种形式,这里仅描述切比雪夫I滤波器,其振幅特性在通带内是等波纹的、在阻带内是单调递减的。切比雪夫滤波器特点是在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。2.6 总体设计图设计的步骤流程: 图2.1 设计流程图MATLAB数字滤波器设计整体图:图2.2 整体界面3 代码编写3.1 显示幅度谱函数IIR_DispMag()function IIR_DispMag() %显示幅度谱函数IIR_DispM

16、agnum den CYPL YYYFlag=IIR_Createfilter; %参数调用以设计好的滤波器参数if(YYYFlag) return;endfigure(1);h f=freqz(num,den,512,CYPL); % 转换成数字滤波器plot(f,abs(h); %回执幅频曲线grid on;zoom on;3.2 创建滤波器IIR_Createfilter()3.2.1 巴特沃斯低通滤波器设计 Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; 脉冲相应不变法的数字指标与模拟指标频率转换 OmigaS=Ws*f1; n W=buttor

17、d(OmigaP,OmigaS,Rp,Rs,s);%调用巴特沃斯滤波器函数 B A=butter(n,W,s);%默认为低通滤波器 num,den=impinvar(B,A,f1);3.2.2 巴特沃斯高通滤波器设计 Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; OmigaP=Wp*f1; OmigaS=Ws*f1; n W=buttord(OmigaP,OmigaS,Rp,Rs,s); B A=butter(n,W,high,s); %高通滤波器设计 num,den=impinvar(B,A,f1); 3.2.3 切比雪夫I型低通滤波器设计Wp=2*pi*f2/f1; Ws=2

18、*pi*f3/f1; wp1=Wp*f1; %频率转换 ws1=Ws*f1; n W=cheb1ord(wp1,ws1,Rp,Rs,s); % 切比雪夫I型函数调用 B A=cheby1(n,1,W,low,s); num,den=bilinear(B,A,f1); 3.2.4 切比雪夫I型高通滤波器设计 Wp=2*pi*f2/f1; Ws=2*pi*f3/f1; wp1=Wp*f1; %频率转换 ws1=Ws*f1; n W=cheb1ord(wp1,ws1,Rp,Rs,s); % 切比雪夫I型函数调用 B A=cheby1(n,1,W,high,s); num,den=bilinear(B

19、,A,f1);3.3 显示相位谱函数IIR_DispAngle()function IIR_DispAngle()num den CYPL YYYFlag=IIR_Createfilter;if(YYYFlag) return;endfigure(2);h f=freqz(num,den,512,CYPL);plot(f,(angle(h);grid on;zoom on;3.4 显示零极点图函数IIR_DispZplane()function IIR_DispZplane()num den CYPL YYYFlag=IIR_Createfilter;if(YYYFlag) return;en

20、dfigure(3);zplane(num,den); % Z域变换axis(-5,5,-2,2);3.5 选择波形文件IIR_GetWAVFile()function sig=IIR_GetWAVFile()name,path=uigetfile(*.wav,请选择一个.wav波形文件);%选取文件的函数调用file_path=path,name;if(isstr(name)|(isstr(path) sig=; return;enddata freq bits=wavread(file_path);time=length(data)/freq;%info=源信号-name ;str2num

21、(time) 秒;fs=str2num(freq) Hz;s=;s.data=data;s.freq=freq;s.bits=bits; %s.info=info;s.time=time;data_hndl=findobj(gcbf,Tag,Button_WAV);set(data_hndl,Userdata,s);3.6 播放原始文件IIR_Playorgfunction IIR_Playorg()data_hndl=findobj(gcbf,Tag,Button_WAV);sig_info=get(data_hndl,Userdata);data=sig_info.data;fs=sig_

22、info.freq;sound(data,fs);3.7 播放时滤波后文件IIR_Playmodfunction IIR_Playmoddata_hndl=findobj(gcbf,Tag,Button_WAV);sig_info=get(data_hndl,Userdata);data=sig_info.data;fs=sig_info.freq;B A suc1 suc2=IIR_Createfilter;if(suc2) return;endout=filter(B,A,data); %音频文件通过选择的滤波器sound(out,fs);4 代码的运行与调试本次试验的大部分代码是书上给出

23、的,但是有点小问题,就是在自编函数哪有错误,原句是:if(strcmp(fil_name,错误代码),修改过后的if(strcmp(fil_name,巴特沃斯),这样程序就可以运行了。再有就是要录一段自己的音频文件,并且格式是WMA的,最好是有高音和低音区别的,因为这样我们就可以更清楚的辨别滤波器的滤音效果。5 软件运行与测试在巴特沃斯低通滤波器环境情况下,设置通带截止频率与阻带截止频率分别为100,500;得到的幅度、相位,零极点图如图示:幅度响应(a)相位响应(b)零极点(c)图5.1 低通的幅度、相位,零极点图在巴特沃斯高通滤波器环境情况下,设置通带截止频率与阻带截止频率分别为500,1

24、00;得到的幅度、相位,零极点图如图示:幅度响应(a)相位响应(b)零极点(c)图5.2 高通的幅度、相位,零极点图在切比沃雪夫I高通滤波器环境下,设置通带截止频率与阻带截止频率分别为200,100;得到幅度、相位,零极点图如图5.3所示。幅度(a)相位(b)零极点(c)图5.3 幅度、相位,零极点图在切比沃雪夫I低通滤波器环境下,设置通带截止频率与阻带截止频率分别为200,100;得到幅度、相位,零极点图如图5.4所示。幅度(a)相位(b)零极点(c)图5.4 幅度、相位,零极点图点击选择音频文件按钮,会出现选择文件的信息框,如图5.4。图5.4 读取音频文件选择音频文件李栋.wav,先播放

25、原音频文件,然后播放滤波后的音频文件,二者一对比明显可以听出滤波后音频文件的效果了,高音部分是被滤除的,只保留了满足低通条件的那部分音频,听起来声音低沉,还有点延时。总 结这次课程设计是相当纠结的,因为我们还有考试,时间对我来说是宝贵的不行了,每天都是两点多睡觉,看书的同时还要把课程设计的界面,代码,以及原理进行详细的阅读分析。不过虽然是疲惫的,但是还是很充实的。而就是前一个星期,我们刚考完数字信号处理,所以对数字滤波器的设计还是很了解的,不管是脉冲响应不变法还是双线性法,我对原理部分还是比较懂的,设计的步骤以及关键技术如何用MATLAB语言实现我也都可以独立完成,但是本次是课程设计是一个综合

26、的滤波器,不仅有巴特沃斯滤波器,同时还有切比雪夫滤波器,但是原理大致还是相通的。而书上都已经给出了用脉冲响应不变法以及双线性法的设计步骤,我们要做的就是把代码同我们设计的滤波器界面进行一一对应,这个工作是需要耐心的,因为只要有控件对应不上,那么这个功能就实现不了。在这次的数字滤波器是设计中,我们学到了课上老师没怎么讲的关于语音信号的滤波功能,其实这也只是数字滤波器的其中一个小小的功能,其实滤波器还可以对图片,视频信号等进行滤波,经过处理过后的信号才是我们想要的。就我们本次设计的IIR数字滤波器,我们可以知道,IIR滤波器的优点就是阶数少,也就是说延时少,还可以借助成熟的滤波器的成功,比如巴特沃

27、斯,椭圆滤波器等,但同时不可避免的,IIR滤波器也有着它自己的缺点,主要就是非线性相位,易出现震荡,不稳定,主要是因为用的递归计算。这次课程设计由于时间的原因,我做的还是不怎么好的,其中对于代码的研究也没那么好,很多的用法,调用等,我都是照着课程设计指导书打上去的,也没多问几个为什么,这是我以后在学习上需要注意的地方。数字信号这门课虽然以及结束了,但是以后还将会结束很多关于数字信号处理的地方,都需要我们掌握扎实的基本功,这样不管遇到什么问题,只要我们把原理搞清楚,以及问题的思想,我们就可以运用自己所学的知识解决这些问题。致 谢在这次的课程设计中,我首先要感谢淮阴工学院,计算机工程学院给我这次十

28、分宝贵的实践机会,以及为我们准备实验而勤勤恳恳工作的机房工作人员,还有我的那帮乐于助人的同学们,没有他们的帮助我就没办法按时完成课程设计。课程设计的时间是短暂的,只有短短的一周,但是这一周的学习是充实的,同时也是对我个人的一个挑战,因为我们不仅要进行课程设计同时还要进行一门门的考试,虽然每天都我起早贪黑,很辛苦,但是收获却是相当丰富的。本次经过本次课程设计,让我们更熟悉了数字信号处理的基本知识,以及如何使用MATLAB的语言,让我们把课上的理论知识运用到实际中去,让我们更近一步地巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。因为学过数字信号处

29、理这门课,但这只是理论知识,通过实验我们才能真正理解其意义。语音信号处理在以前的学习中并没有怎么接触,但是通过网上查找资料,我很快的理解了其基本原理。总的来说,通过这次的课程设计我对语音信号有了全面的认识,对数字信号处理的知识又有了深刻的理解,让我感受到只有在充分理解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用MATLAB也可以很好的加深我对课程的理解,方便我的思维。这次设计使我更加了解了MATLAB的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力。同时我相信,进一步加强对MATLAB的学习与研究对我今后的学习将会起到很大的帮助!参 考 文 献1 楼顺天.基于MAT

30、LAB的系统分析.西安:西安电子科技大学出版社 .2000 2 程卫国.MATLAB5.3 精要编程及高级应用.北京:机械工业出版社.2000 3 丁玉美,高西全.数字信号处理 第二版 .西安:西安电子科技大学出版社.20014 高西全.数字信号处理(第二版)学习指导书.西安:清华大学出版社.20015 孙洪.数字信号处理实验指导书(MATLAB版).北京:电子工业出版社.2003指导教师评语学号姓名班级选题名称IIR波器分析与设计序号评价内容权重(%)得分1考勤记录、学习态度、工作作风与表现。52自学情况:上网检索机时数、文献阅读情况。103论文选题是否先进,是否具有前沿性或前瞻性。54成果验收:是否完成设计任务;能否运行、可操作性如何等。205报告的

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

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