《数字信号处理课程设计报告书--应用Matlab进行信号分析及滤波器设计.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告书--应用Matlab进行信号分析及滤波器设计.docx(7页珍藏版)》请在优知文库上搜索。
1、课程设计报告书数字信号处理课程设计报告书应用MatIab进行信号分析及滤波器设计一、课程设计目的L进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;2.增强运用Matlab软件编写数字信号处理的应用程序及分析、解决实际问题的能力。二、课程设计题目应用Matlab进行信号分析及滤波器设计三、课程设计内容为了巩固所学的数字信号处理理论知识,使学生对信号的存储、时频域分析、图形显示以及数字滤波等有系统性的掌握和理解,安排了以下的课程设计内容:针对噪声干扰的语音信号,首先利用sound函数试听语音信号的内容,接着通过编写程序分析语音信号时域波形和功率谱波形。按照给定要求,分别设计IlR和FI
2、R数字渡波器,并分析滤波器的幅度响应、相位响应,群延迟响应以及零极点位置。然后用设计好的滤波器对存在噪声干扰的语音信号进行漉波,分析滤波后语音信号的时域波形和功率谱波形,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号,检验噪声干扰是否消除;最后,利用GUl设计一个信号处理系统界面。下面对各步骤加以具体说明。3.1 提取噪声干扰的语音信号,播放其内容给定了4段噪声干扰的语音信号(见附件说明),要求学生利用audioread函数提取语言信号的数据,并用sound函数播放其内容。(说明:本小节利用的函数可以从MATLAB帮助文件中GUIBuiIdingXPredefinedDiaIogBo
3、xes及DataImportandExportAudioandVideo中找到,不同版本的matlab的帮助文件位置可能有所不同,本项目以matlab2014b版本为参考。)3.2 噪声干扰的语音信号的时域和频域分析语音信号是非平稳的随机过程,频率会随着时间而变化。在语音信号处理研究领域,通常用短时间的傅里叶变换(STFT)来分析其时域和频率特性,也就是在20ms-50ms以内,可以将语音信号看成是平稳的随机过程。平稳的随机过程是功率信号,可以用功率谱来描述。所加的噪声干扰是单音干扰,单音干扰是周期信号。要求学生首先画出噪声干扰的语音信号时域波形;然后画出语音信号的功率谱波形,从而加深学生对信
4、号时域和频域特性的理解。提示:这里提取了20ms的语音信号来分析其时域和功率谱特性,由于采样频率是8000Hz,因此我们利用了160个采样点,起始点在第IoOOl点,结束点在第10160点。功率谱密度函数为periodogramo3.3 设计数字滤波器和画出其频率响应要求学生分别设计无限长单位冲激响应(IIR)和有限长单位冲激响应(FlR)的低通、高通、带通和带阻数字滤波器。IIR滤波器的设计方法模拟滤波器设计法。首先设计模拟低通原型滤波器(巴特沃斯滤波器、切比雪夫滤波器、椭圆形滤波器),然后分别利用脉冲响应不变法和双线性变换法转化成数字滤波器。FIR滤波器的设计方法窗函数设计法。利用不同的窗
5、函数(矩形窗,巴特列特,汉宁窗,海明窗,布拉克曼窗,凯泽窗)来设计FIR数字滤波器。分析滤波器的幅度响应、相位响应、零极点分布以及群延迟。3.4 用数字源波器对信号进行滤波要求学生用设计好的数字滤波器对噪声干扰的语音信号进行数字滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。3.5 比较滤波前后语音信号的波形及频谱要求学生在一个窗口同时画出滤波前后的时域波形及频域波形。3.6 回放语音信号利用sound函数回放经过数字滤波器滤波之后的语音信号,检验噪声是否已经准除,如无法滤除,重新设计滤波器的参数,直到噪声完全消除。3.
6、7 设计系统界面为了使编制的程序操作方便,要求学生设计简洁的用户界面。在所设计的用户界面上可以选择滤波器的响应类型,如低通,高通;可以选择滤波器的设计方法,如IlR和FIR,其中IIR下又可选butter,chebylzchebyll和ellip,FIR可根据输入的参数,选择不同的窗函数。三、结果分析以高频噪声的滤波处理为例:1选取带高频噪声的音频文件*audiofile(*.wav)个此电脑文档MATLABfilterwavesvU组织新建文件交会快速访问下羲4 Desktop图9*图片OneDriveDlttJ_ Seagate Expansion*网珞脏H名称入#标题参与创作的艺术家唱片
7、集同Hnoise.wav图Lnoise.wav|me.wavMMnotse.wav国nuonuo.wav向Snoise.wav文(S(b():Hnoise.wavv(.wav)z|I打刑Q)I蝇2对音频的时域及功率谱分析3选定各参数,设计滤波器NmainfileFilterFilteredSoundAnalysisFrequency Parameters(Unit:Hz)Type Lowpass ”FpI 2300 IFsI 3000 IMagnitudeParameterS(UnitdB)Apass1Astop40WindowFunction(FIR)DesignMethod(IIR)Kal
8、Ser,BilinearDesign!4滤波器的幅度响应、相位响应、群延迟响应及零极点分布filterplot5滤波前后波形的时域/频域比较,*5jcomp五、心得体会在这次课程设计之前我其实是没有过图形界面的编程经验的,因此在起初时对于完成这个课程设计任务中的的困难有过不小的担心,但真正开始做界面编程,仔细阅读了matlab官方文档和网络上找到的一些例程之后,发现matlab的界面编程实际上还是比较容易掌握的,不用花很多时间就能把课程设计中需要的界面元素运用起来。实操中的这一经历让我体会到可能有更多的知识和技术就像这样,虽然看上去令人生畏,但只要花时间去研究运用,也是可以比较顺利的掌握的。M
9、atlab的官方帮助文档非常强大,在设计整个程序的过程中,大多数关于内置函数的使用、数据的存放和调用等的问题都可以在帮助文档中寻找到答案,偶有漏网之鱼也可以通过在网络上搜索相关问题加以解决,这时英语阅读的能力以及触类旁通举一反三的能力就显得相当重要了。任何程序的开发编写都需要持续的思考、优化和耐心的调试排错,用matlab编写程序也是如此。在编写这个信号分析及滤波的程序的过程中,需要我们持续的思考,以进一步地优化程序的逻辑流程,提高运行效率和可靠性,以及精简代码量。另一方面,在编程的过程中由于自身的疏忽或matlab语言本身的限制,我们会经常遇到些bug或者执行结果与预想结果出现偏差的情况,这时就需要我们耐心的调试,仔细排查找出症结所在,再加以合理解决。六、参考文献L程佩青.数字信号处理教程(笫四版).清华大学出版社,20132.刘舒帆、赵红、陆辉等.信号与系统操作、仿真与综合设计实验机械工业出版社,2013