资源描述:
《基于matlab的语音信号采集与处理课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告成绩课程设计报告题目:基于MATLAB的语音信号采集与处理学生姓名:学生学号:系别:电气信息工程学院专业:电子信息工程届别:2013指导教师:淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告基于MATLAB的语音信号采集与处理学生:指导教师:电气信息工程学院电子与通信工程系1课程设计的任务与要求1.1课程设计的任务利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波
2、器滤除噪声,恢复原信号。语音信号的“短时谱”对于非平稳信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断,再进行傅里叶变换,就可以得到该语音的短时谱。1.2课程设计的要求本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。此次实习课程主要是为了进一步熟悉对matlab软件的使用,
3、以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。1.3课程设计的研究基础信号与系统、Matlab程序设计及应用2基于MATLAB的语音信号采集与处理方案的制定(1).语音信号的采集及分析基于声卡进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。在Matlab软件平台下可以利用函数wavread对语音信号进行采
4、样,得到了声音数据变量x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告1为原始语音信号的时域图形。从图中可以看出在时域环境下,信号呈现出6不规则的信号峰值。通过freqz函数绘制原始语音信号的频率响应图figure2。然后对语音信号进行频谱分析,在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱图figure3,从图中可以看出对各个频点上的随机信号在频域进行抽样,抽样频率为22050Hz。(2).给原始信号加上
5、一个高频噪声在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*5500*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和6000Hz频点处有一高峰,其中5500Hz正是本设计所要利用的。(3).设计一个滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采用的是双线性变换法,它保留的是从模拟到数字域的系统函数表示。在滤波器的选取时,由于设计方法的侧重
6、点不同,作出比较是困难的。如果FIR滤波器情况下,最优的设计将是椭圆滤波器。本设计是用双线性变换法设计BW带阻型滤波器的。在MATLAB中,可以利用函数butterworth,设计FIR滤波器,利用MATLAB中的函数freqz画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出,5500Hz看到的高峰消失了,语音信号与开始的一样,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进
7、行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。3基于MATLAB的语音信号采集与处理方案的设计设计步骤:1)打开Matlab软件;2)点击File新建M文件;3)在编辑框内写入系统Matlab程序;4)点击保存并运行程序,显示仿真图形。淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告4基于MATLAB的语音信号采集与处理的仿真与调试4.1仿真软件介绍Matlab是一种交互式的、以矩阵为基础的软件开发环境,它用于