《MATLAB课程设计报告正文.doc》由会员分享,可在线阅读,更多相关《MATLAB课程设计报告正文.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、附件3:课程设计报告正文黑1粗居中;标题控制在一行内 空行 语音信号滤波去噪基于三角窗的FIR滤波器黑3粗居中 空行 黑小4学生姓名:谢枫 指导老师:胡双红宋小4,行距1.5 空行 摘 要 本课程设计主要内容是设计利用窗口设计法选择三角窗设计一个FIR滤波器,对一段含噪语音信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。本课程设计仿真平台为MATLAB7.0,开发工具是M语言编程。首先利用*工具录制一段语音信号,并人为加入一单频噪声,然后对信号进行频谱分析以确定所加噪声频率,并设计滤波器进行滤波去噪处理,最后比较滤波前后的波形和频谱并进行分析。由分析结果可知,滤波器后的语音信号与原
2、始信号基本一致,即设计的FIR滤波器能够去除信号中所加单频噪声,达到了设计目的。分号摘要要求:你希望做什么?如何做的?结果如何?黑小4 空行 关键词 滤波去噪;FIR滤波器;三角窗;MATLAB结尾无标点符号 空行 1级小节,黑3粗居中1 引 言小节后无点号本课程设计主要解决在含噪情况下对语音信号的滤波去噪处理,处理时采用的是利用窗口设计法选择三角窗设计的FIR滤波器1。2级小节黑4粗居左。(略)。以下为院里给的通用模板未经修改每个1、2级小节前空1行,不允许出现3级小节1.1 课程设计目的参考文献顺序标记,小4上标在程序设计中,可以用两种方法解决问题:一是传统的结构化程序设计方法,二是更先进
3、的面向对象程序设计方法2。每段起始空2个中文字符在结构化程序设计中关键是如何将问题域中的行为(即操作)抽取出来,作为C+程序中的函数。由于多个函数均需要访问某些数据,这些数据常被设计为全局变量。而在面向对象程序设计中关键是如何将问题域中的实体(即日常所见的概念)抽取出来,作为C+程序中的类,而属性与行为作为类的两类要素通常是必不可少的,甚至还应考虑类必须满足的约束。格式要求:(1)页面设置为:上:2cm,下:2cm,左:3cm,右:2cm(2)1级标题为:黑3粗;2级标题为:黑4;不允许出现3级标题(3)正文字体为:宋小4;行距为:1.5倍(4)所有英文和数字为:“Times New Roma
4、n”字体(5)所有图、表必须有文字说明、编号和名称(6)所有参考文献必须顺序注明引用编号内容要求:(1)正文页面在10页以上(2)参考文献必须达到3篇或以上(3)正文必须4个1级小节或以上,每个1级小节不少于1页(4)正文内源程序段不允许超过20行(5)正文内源程序必须有设计说明、程序功能说明、算法说明、流程图、主要变量说明、调试说明等(6)源程序行中文注释必须达到50以上(7)正文内必须有程序运行截图(8)主要源程序代码作为附录表格前必须有文字说明每小点起始空2个中文字符;黑小4。(略)。(4)常用的流输入/输出函数输入、输出流类库函数的数量非常多,相对常用的如表3-1所示。表3-1 常用输
5、入、输出流类库函数函数声明功能声明黑小4Int get();黑小4粗,表名在上读入下一个字符,带回其int型码值(0-0xff)相当于C语言中的getchar()。Int peek();功能同上,但并不后移其指针,所以若连续多次用peek()将读入同一个字符。istream &get(char&);功能同上,但值以引用型字符带回。istream &read(char *, int);读入一个字串,长度由int给出。ostream &put(char);输出指定的字符。ostream &write(char*, int);以第二参数的值为长度输出首参数地址的字符。(略)。4.2 异常处理程序在执
6、行时经常会出现一些违反设计期望的异常情况(如除零),过去的解决方法是利用操作系统中断代为处理。由于这种解决方法强行中止了应用程序的运行,一些大型的应用系统的开发人员提出,可以在允许的范围内由应用程序自身来处理一般性的程序运行错误。C+语言异常处理由三个部分构成。异常检测的触发、异常检测的捕获和异常检测的处理3。它们分别对应了“try”、“throw”和“catch”三个关键字。这三者的关系如图4-1所示。图前必须有文字说明判断框为菱形,有Y和N黑小4,图名在下图4-1 C+异常处理流程图被throw语句扔出的数据实际上被压入了相应层的catch语句所对应的堆栈内,最后才被catch语句捕获到的
7、。当try语句出现嵌套时,情况可能会更加复杂。(略)。5 结束语以上两个程序中面向对象的程序的优点是显而易见的。首先程序2避免了使用全局变量,而在程序1中函数select_menu()也同样可以访问全局变量quantity和amount(当然为了避免这种情况发生我们也可以利用文件模块实现封装与信息隐藏)。(略)。参考文献序号居左黑3粗居中1G.Perry. C+程序设计教程. 北京:清华大学出版社,19942李文军,李师贤,周晓聪. C+作为计算机专业程序设计入门语言的实践与探讨. 计算机科学,1999,26(4):80833F.Brokken and K.Kubat. C+ Annotati
8、ons. Version 4.4.0m,ICCE,University of Groningen,Netherlands,1990. 250280有多个作者时,中间用“,”分开4周晓聪,李文军,李师贤. 面向对象程序设计实践与提高. 中山大学计算机科学学院讲义,19995粟利民,孙强. 如何用VC+和Visual Foxpro进行ActiveX数据通讯. 程序太平洋网站,著作文献格式:序号 作者1,作者2. 译者. 书名. 版次. 出版地:出版社,出版年期刊文献格式:序号 作者. 文献名称. 期刊名称,出版年,卷(期):页页网站文献格式:序号 作者. 文献名称. 网站名称,网址:发布或查阅日期
9、附录1:语音信号滤波去噪设计源程序清单黑小4居左附录另起新页% 程序名称:voicenoisefilter.m% 程序功能:采用基于三角窗的窗口设计法,设计FIR滤波器对含噪语音进行滤波去噪处理。必须有程序说明注意MATLAB中的注释必须以%开头% 程序作者:谢枫/% 最后修改日期:2012-3-1x,fs,bits=wavread(e:yuyin.wav); % 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放N=length(x); % 计算信号x的长度fn=2100; % 单频噪声频率,此参数可改t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率x=x; y=x+0.1*sin(fn*2*pi*t); sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声。(略)。(略)。
限制150内