应用matlab对语音信号进行频谱分析及滤波



《应用matlab对语音信号进行频谱分析及滤波》由会员分享,可在线阅读,更多相关《应用matlab对语音信号进行频谱分析及滤波(24页珍藏版)》请在文档大全上搜索。
1、数 字 信 号 处 理 综合实验报告综合实验名称: 应用MatLab对语音信号进行 频谱分析及滤波 系 : 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间 学年 学期 目 录 一综合实验题目1二、综合实验目的和意义12.1 综合实验目的12.2 综合实验的意义1三综合实验的主要内容和要求13.2 综合实验的要求:2四实验的原理24.1 数字滤波器的概念24.2 数字滤波器的分类2(1)根据单位冲激响应h(n)的时间特性分类2五实验的步骤3下面对各步骤加以具体说明。 5.1语音信号的采集35.2 语音信号的频谱分析;35.3 设计数字滤波器和画出其频率响应55.3.1设计数字滤波
2、器的性能指标:55.3.2 用Matlab设计数字滤波器6 5.6 设计系统界面19六、心得体会20参考文献:21一综合实验题目应用MatLab对语音信号进行频谱分析及滤波二、综合实验目的和意义2.1 综合实验目的为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。2.2 综合实验的意义语言是我们人类所特有的功能,它是传承和
3、记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。三综合实验的主要内容和要求3.1综合实验的主要内容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函
4、数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号; 综合实验应完成的工作:(1)语音信号的采集;(2)语音信号的频谱分析;(3)数字滤波器的设计;(4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析;3.2 综合实验的要求:(1)学生能够根据设计内容积极主动查找相关资料;(2)滤波器的性能指标可以根据实际情况作调整;(3)对设计结果进行独立思考和分析;(4)设计完成后,要提交相关的文档; 综合实验报告书(纸质和电子版各一份,具体格式参照学校
5、课程设计管理规定),报告内容要涵盖设计题目、设计任务、详细的设计过程、原理说明、频谱图的分析、调试总结、心得体会、参考文献(在报告中参考文献要做标注,不少于5篇)。 可运行的源程序代码(电子版)(5)在基本要求的基础上,学生可以根据个人对该综合实验的理解,添加一些新的内容。四实验的原理4.1 数字滤波器的概念:若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF)。【1】数字滤波器实质上是一种运算过程用来描述离散系统输入与输出关系的差分方程的计算或卷积计算。数字滤波器的实质是用一有限精度算法实现的离散时间线性时不变系统,以完成对
6、信号进行滤波处理的过程。它是数字信号处理的一个重要分支,具有稳定性好、精度高、灵活性强、体积小、质量轻等诸多优点。【2】4.2 数字滤波器的分类:数字滤波器根据不同的分类标准可以将滤波器分成不同的类别。(1)根据单位冲激响应h(n)的时间特性分类 无限冲激响应(IIR)数字滤波器 有限冲激响应(FIR)数字滤波器1(2)根据实现方法和形式分类 递归型数字滤波器 非递归型数字滤波器 快速卷积型(3)根据频率特性分类低通数字滤波器、高通数字滤波器、带通数字波器4.3 滤波器的作用: 滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电【3】。对特定频率的频点或该频点以外的频率
7、进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。五实验的步骤 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。下面对各步骤加以具体说明。 5.1语音信号的采集: 利用 PC机上的声卡和 Windows操作系统可以进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按
8、下录音按钮,对话筒读一段话,读完后停止录音,屏幕左侧将显示所录声音的长度。【1】5.2 语音信号的频谱分析: (1)首先画出由wavread函数采样后的信号的时域波形和它的频域响应波形;语音信号的程序如下:x1,fs,bits=wavread('c:wudan2.wav'); %读取语音信号的数据,赋给变量x1figure(20)plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原始语音采样后时域信号');xlabel('时间轴 n');ylabel('幅值 A');figure(21)freqz(x1)
9、 %绘制原始语音信号采样后的频率响应图title('原始语音信号采样后频率响应图');运行结果:图1图2 (2) 对语音信号进行FFT变换,得到FFT频谱特性曲线,与原语音信号的频谱特性曲线进行比较。语音信号FFT的程序如下:x1,fs,bits=wavread(' c:wudan2.wav'); %读取语音信号的数据,赋给变量x1y1=fft(x1,1024); %对采样后信号做1024点FFT变换f=fs*(0:511)/1024;figure(19)subplot(2,1,1);plot(f,abs(y1(1:512);title('原始语音信号频
10、谱')xlabel('频率/Hz');ylabel('幅值')subplot(2,1,2);plot(abs(y1(1:1024) %采样后信号的FFT频谱图title('原始语音信号FFT频谱')xlabel('点数N');ylabel('幅值');运行结果:图35.3 设计数字滤波器和画出其频率响应5.3.1设计数字滤波器的性能指标: 低通滤波器性能指标fb=1000Hz,fc1200Hz, As100db,Ap1db。 高通滤波器性能指标 fs4800Hz,fb5000Hz,As100db,Ap1db
11、。 带通滤波器性能指标 fb11200Hz,fb23000Hz,fc11000Hz,fc23200Hz,As100db,Ap1db。5.3.2 用Matlab设计数字滤波器 用双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数butter,cheby1和ellip设计IIR滤波器;利用Matlab中的函数frepz画出各滤波器的频率响应。【2】 用窗函数法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。5.4对语音信号进行滤波处理用自己设计的各滤波器分别对采集的信号进行滤波,在Matl