基于matlab的语音信号的采集与处理说明书.doc

上传人:h**** 文档编号:140604 上传时间:2018-07-10 格式:DOC 页数:11 大小:161KB
下载 相关 举报
基于matlab的语音信号的采集与处理说明书.doc_第1页
第1页 / 共11页
基于matlab的语音信号的采集与处理说明书.doc_第2页
第2页 / 共11页
基于matlab的语音信号的采集与处理说明书.doc_第3页
第3页 / 共11页
基于matlab的语音信号的采集与处理说明书.doc_第4页
第4页 / 共11页
基于matlab的语音信号的采集与处理说明书.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、洗手 目 录 洗手 第 1章 前言 - 1 -洗手 第 2章 语音信号分析处理的目的和要求 - 1 -洗手 2.1MATLAB软件功能简介 - 1 -洗手 2.2课程设计意义 - 2 -洗手 第 3章 语音信号的仿真原理 - 2 -洗手 第 4章 语音信号的具体实现 - 3 -洗手 4.1语音信号的采集 - 3 -洗手 4.2语音信号加噪与频谱分析 - 4 -洗手 4.3设计巴特沃斯低通滤波器 - 5 -洗手 4.4用滤波器对加噪语音滤波 - 6 -洗手 4.5比较滤波前后语音信号波形及频谱 - 6 -洗手 第 5章 总结 - 7 -洗手 参考文献 - 8 -洗手 附录 - 8 -洗手 洗手

2、- 1 - 洗手 语音信号的采集与处理 洗手 洗手 第 1 章 前言 洗手 数字信号处理是利用计算机或专用处理设备 , 吃饭 以数值计算的方法对信号进行采集 、 bef抽样 、 bef变换 、 bef综合 、bef估值与识别等加工处理 , 吃饭 借以达到提取信息和便于应用的目的 。 洗手 它在语音 、 bef雷达 、 bef图像 、 bef系统控制 、 bef通信 、 bef航空航天 、 bef生物医学等众多领域都获得了极其广泛的应用 。 洗手 具有灵活 、 bef精确 、 bef抗干扰强 、 bef度快等优点 。 洗手洗手 数字 滤波器 , 是数字信号处理中及其重要的一部分 。 洗手 随着信

3、息时代和数字技术的发展 , 吃饭 受到人们越来越多的重视 。 洗手 数字滤波器可以通过数值运算实现滤波 , 吃饭 所以数字滤波器处理精度高 、 bef稳定 、 bef体积小 、 bef重量轻 、 bef灵活不存在阻抗匹配问题 , 吃饭 可以实现模拟滤波器无法实现的特殊功能 。 洗手 数字滤波器种类很多 , 吃饭 根据其实现的网络结构或者其冲激响应函数的时域特性 , 吃饭 可分为两种 , 吃饭 即有限冲激响应 ( FIR, 吃饭 Finite Impulse Response)滤波器和无限冲激响应 ( IIR, 吃饭 Infinite Impulse Response)滤波器 。 洗手洗手 FI

4、R 滤波器 结构上主要是非递归结构 , 吃饭 没有输出到输入的反馈 , 吃饭 系统函数 H (z)在处收敛 , 吃饭 极点全部在 z = 0 处(因果系统) , 吃饭 因而只能用较高的阶数达到高的选择性 。 洗手 FIR 数字滤波器的幅频特性精度较之于 IIR 数字滤波器低 , 吃饭 但是线性相位 , 吃饭 就是不同频率分量的信号经过 fir 滤波器后他们的时间差不变 , 吃饭 这是很好的性质 。 洗手 FIR 数字滤波器是有限的单位响应也有利于对数字信号的处理 , 吃饭 便于编程 , 吃饭 用于计算的时延也小 , 吃饭 这对实时 的信号处理很重要 。 洗手 FIR 滤波器因具有系统稳定 ,

5、吃饭易实现相位控制 , 吃饭 允许设计多通带(或多阻带)滤波器等优点收到人们的青睐 1。 洗手洗手 IIR 滤波器 采用递归型结构 , 吃饭 即结构上带有反馈环路 。 洗手 IIR 滤波器运算结构通常由延时 、 beef乘以系数和相加等基本运算组成 , 吃饭 可以组合成直接型 、 beef正准型 、 beef级联型 、 beef并联型四种结构形式 , 吃饭 都具有反馈回路 。 洗手 同时 , 吃饭 IIR 数字滤波器在设计上可以借助成熟的模拟滤波器的成果 , 吃饭 如巴特沃斯滤波器等 。 洗手 洗手 洗手 洗手 洗手 洗手 第 2章 语音信号分析处理的目的和要求 洗手 2.1 MATLAB软件

6、功能简介 洗手 MATLAB 的名称源自 Matrix Laboratory,1984 年由美国 Mathworks 公司推向市场 。 洗手 它是一种科学计算软件 , 吃饭 专门以矩阵的形式处理数据 。 洗手 MATLAB将高性能的数值计算和可视化集成在一起 , 吃饭 并提供了大量的内置函数 , 吃饭 从而被广泛的应用于科学计算 、 bef控制系统和信息处理等领域的分析 、 beef仿真和设计工作 。 洗手 洗手 MATLAB软件包括五大通用功能 , 吃饭 数值计算功能( Nemeric) 、 beef符号运算功能 ( Symbolic) 、bef数据可视化功能( Graphic) 、 bee

7、f数字图形文字统一处理功能( Notebook)和建模仿真可视化功能( Simulink) 。 洗手 其中 , 吃饭 符号运算功能的实现是通过请求 MAPLE内核计算并将结果返回到 MATLAB 命令窗口 。 洗手 该软件有三大特点 , 吃饭 一是功能强大 ; bef二是界面友善 、 bef语言自然 ; bef三是开放性强 。 洗手 目前 , 吃饭 Mathworks公司已推出 30多个应用工具箱 。 洗手 MATLAB在线性代数 、bef矩阵分析 、 bef数值及优化 、 bef数值统计和随机信号分 析 、 bef电路与系统 、 bef系统动力学 、 bef次那好和图像处理 、 bef控制理

8、论分析和系统设计 、 bef过程控制 、 bef建模和仿真 、 bef通信系统以及财政金融等:语音信号的采集与处理 - 2 - 众多领域的理论研究和工程设计中得到了广泛应用 。 洗手洗手 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析 。 洗手 由于信号与系统课程的许多内容都是基于公式演算 , 吃饭 而 MATLAB 借助符号数学工具箱提供的符号运算功能 , 吃饭 能基本满足信号与系统课程的需求 。 洗手 例如解微分方程 、 bef傅里叶正反变换 、 bef拉普拉斯正反变换和 z正反 变换等 。 洗手 MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析 ,吃饭 主

9、要包括函数波形绘制 、 beef函数运算 、 beef冲击响应与阶跃响应仿真分析 、 beef信号的时域分析 、 beef信号的频谱分析 、 bef系统的 S域分析和零极点图绘制等内容 。 洗手 数值计算仿真分析可以帮助学生更深入地理解理论知识 , 吃饭 并为将来使用 MATLAB 进行信号处理领域的各种分析和实际应用打下基础 2。 洗手洗手 2.2 课程设计意义 洗手 本次课程设计的课题为基于 MATLAB 的语音信号采集与处理 , 吃饭 学会运用 MATLAB的信号处理功 能 , 吃饭 采集语音信号 , 吃饭 并对语音信号进行滤波及变换处理 , 吃饭 观察其时域和频域特性 , 吃饭 加深对

10、信号处理理论的理解 , 吃饭 并为今后熟 。 洗 手 洗手 洗手 洗手 第 3章 语音信号的仿真 原理 洗手 利用 MATLAB 对语音信号进行分析和处理 , 吃饭 采集语音信号后 , 吃饭 利用 MATLAB 软件平台进行频谱分析 ; beef并对所采集的语音信号加入干扰噪声 , 吃饭 对加入噪声的信号进行频谱分析 , 吃饭 设计合适的滤波器滤除噪声 , 吃饭 恢复原信号 。 洗手 语音信号的 “ 短时谱 ”对于非平稳信号 , 它是非周期的 , 频谱随时间连续变化 , 因此由傅里叶变换得到 的频谱无法获知其在各个时刻的频谱特性 。 洗手 如果利用加窗的方法从语音流中取出其中一个短断 , 再进

11、行傅里叶变换 , 就可以得到该语音的短时谱 。 洗手洗手 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析 。 洗手 由于信号与系统课程的许多内容都是基于公式演算 , 吃饭 而 MATLAB 借助符号数学工具箱提供的符号运算功能 , 吃饭 能基本满足信号与系统课程的需求 。 洗手 例如解微分方程 、 bef傅里叶正反变换 、 bef拉普拉斯正反变换和 z正反变换等 。 洗手 MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析 ,吃饭 主 要包括函数波形绘制 、 beef函数运算 、 beef冲击响应与阶跃响应仿真分析 、 beef信号的时域分析 、 beef信号的频

12、谱分析 、 bef系统的 S域分析和零极点图绘制等内容 。 洗手 数值计算仿真分析可以帮助学生更深入地理解理论知识 , 吃饭 并为将来使用 MATLAB 进行信号处理领域的各种分析和实际应用打下基础 3。 洗手洗手 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现 。 洗手 随着 MATLAB 软件及信号处理工具箱的不断完善 , 吃饭 MATLAB很快成为应用学科等领域不可或缺的基础软件 。 洗手 它可以快速有效地实现数字滤波器的 设计 、 bef分析和仿真 , 吃饭 极大地减轻了工作量 ,有利于滤波器设计的最优化 。 洗手 洗手 利用 MATLAB 中的随机函数产生噪声加入到语音信号中

13、 , 吃饭 模仿语音信号被污染 , 吃饭 并对其进行频谱分析 ; bef设计巴特沃斯滤波器 , 吃饭 并对被噪声污染的语音信号进行滤波 , 吃饭 对滤波前后信号进行时域分析 。 洗手洗手 洗手 洗手 洗手 洗手 洗手 洗手 :语音信号的采集与处理 - 3 - 洗手 洗手 洗手 第 4章 语音信号的具体实现 洗手 4.1语音信号的采集 洗手 基于声卡进行数字信号的采集 。 洗手 将话筒插入计算机的语音输入插口上 ,启动录音机 。 洗手 按下录音按 钮 , 吃饭 对话筒说话 ,说完后停止录音 。 洗手 要保存文件时 ,利用了计算机上的 A/D转换器 ,把模拟的声音信号变成了离散的量化了的数字信号

14、,放音时 ,它又通过 D/A转换器 ,把保存的数字数据恢复为原来的模拟的声音信号 。 洗手 在 Matlab软件平台下可以利用函数 wavread对语音信号进行采样 ,得到了声音数据变量 x1,同时把 x1 的采样频率 fs=22050Hz 和数据位Nbits=16Bit放进了 MATALB的工作空间 。 洗手 图 4.1为原始语音信号的时域图形 。 洗手洗手 洗手 图 4.1 原始语音信号 洗手 从图中可以看出在时域环境下 ,信号呈现出不规则的信号峰值 。 洗手洗手 通过 freqz函数绘制原始语音信号的频率响应图 4.2。 洗 手洗手 :语音信号的采集与处理 - 4 - 洗手 图 4.2

15、语音信号频率响应图 洗手 然后对语音信号进行频谱分析 ,在 Matlab中可以利用函数 fft对信号行快速傅里叶变换 ,得到信号的频谱图 4.3, 吃饭 洗手 洗手 图 4.3 原始语音信号 FFT 与信号频谱 洗手 从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。 洗 手洗手 4.2语 音信号加噪与频谱分析 洗手 :语音信号的采集与处理 - 5 - 洗手 图 4.4 加噪后的信号时域图 洗手 在 Matlab 中人为设计一个固定频率 5500Hz 的噪声干扰信号 。 洗手 噪声信号通常为随机序列 ,在本设计中用正弦序列代替 ,干扰信号构建命令函数为 d=Au

16、*sin(2*pi*5500*t),给出的干扰信号为一个正弦信号 , 吃饭 针对上面的语音信号 ,采集了其中一段 。 洗手 再对噪音信号进行频谱变换得到其频谱图 ,从图中可以看出干扰信号 , 吃饭 在 4000Hz 和 6000Hz 频点处有一高峰 ,其中 5500Hz 正是本设计所要利用的 。 洗手洗手 4.3设计巴特沃斯低通滤波器 洗手 洗手 图 4.5 原始信号与加噪后信号频谱对比 洗手 由模拟滤波器变换为数字滤波器时 ,采用的是双线性变换法 ,它保留的是从模拟到数字域的系统函数表示 。 洗手 在滤波器的选取时 , 由于设计方法的侧重点不同 , 作出比较是困难的 。 洗手 如果 FIR滤

17、波器情况下 ,最优的设计将是椭圆滤波器 。 洗手 用双线性变换法设计低通滤波器 。 洗手 的本:语音信号的采集与处理 - 6 - 设计是用双线性变换法设计 BW 带阻型滤波器 。 洗手 在 MATLAB 中 ,可以利用函数 butterworth,设计 FIR滤波器 ,利用 MATLAB 中的函数 freqz 画出各 滤波器的频率响应 。 洗手 用设计好的带阻滤波器对含噪语音信号进行滤波 ,在 Matlab用 FIR滤波器利用函数 fftfilter对信号进行滤波 ,FIR 滤波器利用函数 filter 对信号进行滤波 。 洗手 在一个窗口同时画出滤波前后的波形及频谱 。 洗手 从图中可以看出

18、 ,5500Hz 看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号 。 洗手 利用 MATLAB 对语音信号进行分析和处理 , 吃饭 采集语音信号后 , 吃饭 利用 MATLAB 软件平台进行频谱分析 ; beef并对所采集的语音信号加入干扰噪声 ,吃饭对加入噪声的信号进行频谱分析 , 吃饭 设计合适的滤波器滤除噪声 , 吃饭 恢复原信号 4。 洗 手洗手 4.4用滤波器对加噪语音滤波 洗手 洗手 图 4.6 低通滤波器频率响应曲线 洗手 给原始的 语音 信号加上一个高频余弦 噪声 , 吃饭 频率为 5500Hz。 洗手 对加噪后的 语音进行分析 ,吃饭并画出其 信号时域

19、和频谱图 。 洗手 与原始信号对比 , 吃饭 区别 : bef洗手 先原始信号没加噪音之前 0 到 2000 有幅值 , 吃饭 在 4000 到 6000 之间没有幅值 , 吃饭 但是在加了噪音之后 4000到 6000之间出现最大幅值 12, 吃饭超出正常值 。 洗手 洗手 4.5比较滤波前后语音信号波形及频谱 洗手 :语音信号的采集与处理 - 7 - 洗手 图 4.7 滤波前后时域波形图 洗手 通过对比分析可知 , 吃饭 滤波后的输出波形和原始语音加 噪声信号的图形发生了一些变化 , 吃饭 在 3000-6000Hz之间的信号消失 , 吃饭 出现 0-1000和 7000-8000之间的信

20、号 。 洗手 滤波后的输出波形明显在对应时间幅度比原语音加 噪声信号的要小 , 吃饭 而且滤波的效果也与 滤波器的选择有关 , 吃饭 可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响 , 吃饭 并且通过回放可以发现滤波前后的声音 有变化 .低通滤波后 ,已很接近原来的声音 , 吃饭 人耳几乎辨别不出 。 洗手 从频谱图中我们还可以看出声音的能量信号主要集中在低频部分 , 吃饭 说明高频语音信号被滤出 , 吃饭滤波器达到既定要求 。 洗手 信噪比为 0.62。 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 第 5章 总结 洗手 通过用巴特沃斯滤波器对原始信号进行滤波

21、, 吃饭 对滤波前后的波形分析对比可知 , 吃饭 总体可以恢复原始信号波形 , 吃饭 效果很明显 , 吃饭 稍有点误差 , 吃饭 在以后的设计中需要改进 。 洗手 滤波后的输出波形明显在对应时间幅度比原语音加 噪声信号的要小 , 吃饭 而且 滤波的效果也与 滤波器的选择有关 , 吃饭 可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响 , 吃饭 并且通过回放可以发现滤波前后的声音有变化 .低通滤波后 ,已很接近原来的声音 , 吃饭 人耳几乎辨别 不出 。 洗手 洗手 通过为期两周的 MATLAB课程设计 , 吃饭 我对 MATLAB这个仿真软件有了更进一步的认识和了解 。 洗手 在

22、这两周时间里 , 吃饭 我通过自己摸索 , 吃饭 查阅资料 , 吃饭 并且在指导老师朱老师的指导下完成了 : beef语音信号的采集及分析 ; beef给原始信号加上一个高频噪声 ; beef设计一个滤波器 , 吃饭滤除高频噪声 ; beef并最终将课程设计报告总结完毕 。 洗手洗手 :语音信号的采集与处理 - 8 - 在整个设计过程中我懂得了许多东西 , 吃饭 也培养了独立思考和设计的能力 , 吃饭 树立了对知识应用的信心 , 吃饭 相信会对今后的学习工作和生活有非常大的帮助 , 吃饭 并且提高了自己的动手实践操作能力 , 吃饭 使自己充分体会到了在设计过程中的成功喜悦 。 洗手 虽然这个设

23、计做的不怎么好 ,吃饭但是在设计过程中所学到的东西是这次课程设计的最大收获和财富 , 吃饭 使我终身受益 。 洗手洗手 在没有做课程设计以前 , 吃饭 觉得课程设计只是对知识的单纯总结 , 吃饭 但是通过这次课程设计发现自己的看法有点太片面 , 吃饭 课程设计不仅是对前面所学知识的一种检验 , 吃饭 也是对自己能力的一种提高 , 吃饭 通过这次课程设计使自己明白了原来的那点知识是非常欠缺的 , 吃饭 要学习的东西还很多 , 吃饭 通过这次课程设计 , 吃饭 明白学习是一个长期积累的过程 , 吃饭 在以后的工作和生活中都应该不断的学习 , 吃饭努力提高自己的知识和综合素质 。 洗手洗手 洗手 洗

24、手 洗手 洗手 洗手 洗手 洗手 参考文献 洗手 周利清 , 吃饭苏菲数字信号处理基础北京 : bef北京邮电大学出版社 , 吃饭 2005 洗手 姚东 .MATLAB及在电子信息课程中的应用 M.第二版 .北京 : beef北京电子工业出版社 ,2000 洗手 高西全 , 吃饭丁玉美数字信号处理第 3版北京 : bef西安电子科技大学出版社 , 吃饭 2008 洗手 肖伟 、 beef刘忠 . MATLAB程序设计与应用 M.北京 : beef清华大学出版社 2005 洗手 张智星 .MATLAB程序设计与应用 .北京 : beef清华大学出版社 , 吃饭 2002 洗手 洗手 洗手 洗手

25、洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 附录 洗手 fs=22050;beef %语 音信号采样频率为 22050 洗手 :语音信号的采集与处理 - 9 - x1=wavread(H:nnyy.wav);beef洗手 %读取语音信号的数据 , 吃饭赋给变量 x1, 吃饭 洗手 sound(x1,22050);beef %播放语音信号 洗手 y1=fft(x1,1024);beef %对信号做 1024点 FFT变换 洗手 f=fs*(0:511)/1024;beef %将 0到 511, 吃饭 步长为 1的序列的值与 fs 相乘并除以 1

26、024的值 , 吃饭赋值给 f 洗手 figure(1) %创建图形窗 1 洗手 plot(x1) %做原始语音信号的时域图形 洗手 title(原始语音信号 );beef洗手 xlabel(time n);beef %x轴的名字是 “time n”洗手 ylabel(fuzhi n);beef %y轴的名字是 “fuzhi n”洗手 figure(2)洗手 freqz(x1) %绘制原始语音信号的频率响应图 洗手 title(频率响应图 )洗手 figure(3)洗手 subplot(2,1,1);beef %创建两行一列绘图区间的第 1个绘图区间 洗手 plot(abs(y1(1:512)

27、 %做原始语音信号的 FFT频谱图 洗手 title(原始语音信号 FFT频谱 )洗手 subplot(2,1,2);beef洗手 plot(f,abs(y1(1:512);beef %abs是绝对值 , 吃饭 plot是直角坐标下线性刻度曲线 洗手 title(原始语音信号频谱 )洗手 xlabel(Hz);beef洗手 ylabel(幅值 );beef洗手 fs=22050;beef 洗手 x1=wavread(H:nnyy.wav);beef洗手 %读取语音信号的数据 , 吃饭 赋给变量 x1 洗手 f=fs*(0:511)/1024;beef %将 0 到 511, 吃饭 步长为 1

28、的序列的值与 fs 相乘并除以1024的值 , 吃饭赋值给 f 洗手 t=0:1/fs:(length(x1)-1)/fs;beef %将 0到 x1 的长度减 1后的值除以 fs的值 , 吃饭 且步长为 1/fs的值 , 吃饭的序列的值 , 吃饭 赋予 t 洗手 Au=0.03;beef %噪声幅值 洗手 d=Au*sin(2*pi*5500*t);beef %所加的噪声是正弦信号 洗手 x2=x1+d;beef %将正弦信号噪声加在语音信号上 洗手 sound(x2,22050);beef %播放语音信号 洗手 y1=fft(x1,1024);beef %对信号 y1 做 1024点 FF

29、T变换 洗手 y2=fft(x2,1024);beef %对信号 y2 做 1024点 FFT变换 洗手 figure(4);beef %创建图形窗 1 洗手 plot(t,x2);beef %做加噪后的信号时域图形(绘出 t对 x2 的线性图) 洗手 title(加噪后的信号 );beef洗手 xlabel(time n);beef %x轴的名字是 “time n”洗手 ylabel(fuzhi n);beef %y轴的名字是 “fuzhi n”洗手 figure(5) %创建图形窗 2 洗手 subplot(2,1,1);beef % 创建两行一列绘图区间的第 1个绘图区间 洗手 plot(f,abs(y1(1:512);beef %做原始语音信号的频谱图 洗手 title(原始语音信号频谱 );beef洗手

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。