音频信号处理与分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

题目:基于matlab的语音信号的采集与分析

学院信息科学技术学院

系别自动化

专业班级自动化2班

学生姓名娄颖楷

指导教师宁树实张旗

提交日期 2014年11月28日

目录

目录

一、设计目的 (1)

二、设计要求和设计指标 (1)

三、设计内容 (1)

3.1设计原理 (2)

3.1.1 信号的采集与分析 (2)

3.1.2 叠加高频噪声 (2)

3.1.3 设计滤波器并滤掉噪声信号 (2)

3.2 实验结果与分析 (3)

四、本设计改进和建议与不足 (5)

五、总结 (5)

六、主要参考文献 (5)

附录 (6)

一、设计目的

音频信号分析和处理,就是用计算机对音频信号进行频谱分析和处理,以达到预期的目的。本课程设计旨在引导学生进一步了解、熟悉音频信号分析和处理的相关理论后,并进行综合性训练,其目的是:

1 回顾信号分析和处理的基本概念、理论、分析方法和实现方法;

2 增强应用 Matlab 编写应用程序及分析、解决实际问题的能力;

3 用所学的内容解决实际工程问题,培养工程实践能力。

二、设计要求和设计指标

利用MATLAB对音频信号进行数字信号处理和分析,要求采集音频信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

要求利用MATLAB来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。然后通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

三、设计内容

1 信号采集

采集语音信号,并对其进行FFT频谱分析,画出信号的时域波形图和频谱图。

2 构造受干扰信号并对其进行FFT频谱分析

对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。

3 数字滤波器设计

根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性。

4 信号处理

用所设计的滤波器对含噪语音信号进行滤波。对滤波后的语音信号进行FFT频谱分析。画出处理过程中所得各种波形及频谱图。

对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及

频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。

3.1 设计原理

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

3.1.1 信号的采集与分析

基于声卡进行数字信号的采集。利用Windows7系统自带的录音机软件进行录音,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x,同时把x的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure 1为原始语音信号的时域图形。从图中可以看出在时域环境下,信号呈现出不规则的信号峰值。通过freqz函数绘制原始语音信号的频率响应图figure 2 。然后对语音信号进行频谱分析,在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。

3.3.2 添加高频噪声

在Matlab中人为设计一个固定频率3000Hz的噪声干扰信号。噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*3000*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在2000Hz和 4000Hz频点处有一高峰 ,其中3000Hz 正是本设计所要利用的。

3.3.3 设计滤波器并滤掉噪声信号

本设计是用双线性变换法设计巴特沃斯带阻型滤波器。在 MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用 MATLAB 中的函数freqz 画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中 FIR滤波器利用函数

fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出,3000Hz看到的高峰消失了 ,语音信号与开始的一样,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

3.2实验结果与分析

Figure1为原始信号的时域图,figure2为原始信号的频率响应图,figure3为原始信号的频谱图。

相关文档
最新文档