DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计指导老师:专业:电子信息工程班级:姓名:学号:设计时间: 2011年10月12日至地点:摘要语音信号处理是研究数字信号处理技术和语音信号进行处理的一门学科,是一门新型的学科,是在多门学科基础上发展起来的综合性技术,它涉及到数字信号处理、模式识别、语言学。
语音信号处理是研究用数字信号处理技术对语音信号处理的一门学科。
处理的目的是要得到一些语音参数以便高效的传输或存储;或者是通过处理的某种运算以达到某种用途的要求。
语音信号处理又是一门边缘学科。
如上所诉,它是“语言语音学”与“数字信号处理”两个学科相结合的产物。
语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展。
在数字音频技术和多媒体技术迅速发展的今天,传统的磁带语音录放系统因体积大、使用不便、放音不清晰而受到了巨大挑战。
本次课程设计提出的体积小巧,功耗低的数字化语音存储与回放系统,可以有效的解决传统的语音录放系统在电子与信息处理的使用中受到的限制。
本文提出了语音信号处理课程建设的实验环节中的一些考虑,作为专业课程的学习,实验内容不能仅仅停留在验证性实验上,还应增加实验延伸的设计要求,是学生加深对理论分析认识的同时,强调培养学生的实际动手能力和知识综合运用能力。
从而提高语音信号的教学和实验的质量。
实验内容采用MATLAB编程实现,不仅易于语音信号处理的实现,更易引导学生完成实验延伸的设计。
目录第一章绪论 (1)1.1课程设计的目的及意义 (1)1.2设计要求 (1)1.3 研究内容 (1)第二章语音信号处理理论基础 (3)第三章系统方案论证 (4)2.1 设计方案 (4)2.2 GUI界面功能介绍 (4)2.3 GUI界面的具体操作 (5)第四章 GUI设计实现 (6)4.1 图形用户界面概念 (6)4.2用户界面设计 (6)4.2.1 GUI设计模板 (6)4.2.2 GUI设计窗口 (6)4.2.3 GUI设计窗口的基本操作 (6)4.2.4 语音的录入与打开 (9)4.3课程设计的软件实现 (9)4.3.1语音信号的短时谱 (9)4.3.2 自相关方法估计语音信号的声道参数 (10)4.3.3 基音周期检测 (12)4.4 GUI实验箱操作界面设计 (14)第五章总结与心得体会 (15)参考文献 (16)第一章绪论1.1课程设计的目的及意义目的:通过课程设计,使我们加强对MATLAB和语音的认识,能够实际操作处理语音信号,并能够应用MATLAB设计GUI界面。
能够学会搜集资料,做方案比较,设计出更加完美的界面。
意义:进一步提高分析解决问题的能力,创造一个独立完成实验的机会,锻炼分析解决问题能力,实现由课本知识向实际能力的转化,加深对基本原理的了解。
1.2设计要求1.基本要求:本次课程设计要求利用MATLAB对语音信号进行数字信号处理和分析,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
2.基本教学要求:每组一台电脑(附话筒和耳机),电脑安装MATLAB7.1版本以上软件。
1.3 研究内容1.理论依据根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较),阐明设计原理。
2.信号采集采集语音信号,并对其进行FFT频谱分析,画出信号的时域波形图和频谱图。
3.构造受干扰信号并对其进行FFT频谱分析对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。
并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。
14.数字滤波器设计根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性。
5.信号处理用所设计的滤波器对含噪语音信号进行滤波。
对滤波后的语音信号进行FFT频谱分析。
画出处理过程中所得各种波形及频谱图。
对语音信号进行回放,感觉滤波前后声音的变化。
比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。
6.设计图形用户界面设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等。
2第二章语音信号处理理论基础语音检测算法是现在语音信号处理研究的一个热点。
近些年来,语音信号处理技术伴随着人们对通讯技术升级的需求得到了迅猛的发展。
IP电话已经走向大规模产业化应用,并以其低廉的成本和满意的话音质量成为通讯供应商竞争的利器,大有取代传统电话的趋势。
语音识别技术也已经实现了与说话者无关的大词汇量连续语音识别,并试图从试验研究走向商用。
说话者识别技术作为一个新一代的门禁安防技术也已经出现商业应用。
很多单工的通讯设备可以通过语音检测技术的应用实现收发状态的自动转换而以比较小的代价达到双工设备的功能。
语音检测技术作为这些语音处理算法中的核心预处理单元,成为这些技术能否走向成熟商业应用的关键技术之一。
实际通讯环境中会遇到各种不同类型、不同强度的噪声。
它们各自在时域或频域中有互不相同的特点,没有一致的统计参数。
语音信号本身也是一个时变的复杂信号。
不同的语言,不同的音位(语音中的最小发声单位)各不相同。
总之,实际中的噪声和语音信号都是复杂的时变信号。
如果不是面向特定背景噪声的应用,通过寻找噪声的共同特征以构建一个噪声信号与语音信号的区分函数是不现实的。
语音信号处理本身是一个涉及到传统数字信号处理、统计信号处理、模式识别与建模、发声学、语音语言学等多学科的综合技术。
论文在前人研究的基础上,从语音信号的形制机理出发,对语音信号中的基本成分—轻音和浊音的特征进行了深入的研究。
Source-Filter模型在语音信号建模中有着广泛的应用,论文在基于Source-Filter模型求取语音信号的LPC谱中发现,语音的短时稳定性(short time stationary)在LPC谱中有着不同于噪声信号的鲜明体现,从而提出了基于音位共振峰轨迹跟踪的语音检测新方法。
论文对新算法与国际电信联盟(ITU)的G729B推荐语音检测标准算法进行了对比验证,证明在强背景噪声环境下新算法的性能有20%左右的提高。
同时新算法也体现出比G729B更强的背景噪声适应能力。
在算法的实现中,局部大能量的噪声会形成LPC谱中的局部极大值点,它具有类似语音共振峰的特征。
为了消除噪声极大值点对音位共振峰轨迹跟踪的不良影响,论文提出了一个共振峰的形态判别标准—音位共振峰的幅值峰谷比原则,并通过大量的试验研究确定了峰谷比的优化量值。
试验证明,此方法是剔除局部噪声极值点的有效方法。
论文工作将新算法在一个基于TI TMS320C6711的数字信号处理器平台上实时实现。
在实现过程中,使用了幅值、步长的分段拟合和插值算法,大大降低了复杂数学函数的运算时间,满足了算法了实时性要求。
3第三章系统方案论证2.1 设计方案利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。
对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。
我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。
选择设计此方案,是对数字信号处理的一次实践。
在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。
这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。
这个方案用到的软件也是在数字信号处理中非常通用的一个软件——MATLAB 软件。
所以这个课题的设计过程也是一次数字信号处理在MATLAB中应用的学习过程。
课题用到了较多的MATLAB语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。
2.2 GUI界面功能介绍该界面主要实现了以下几个功能:1打开wav格式的音频文件,并将该音频信号的值读取并赋予某一向量; 2播放音频文件,可以选择性的显示该音频信号的波形、频谱、幅值及相位; 3对音频信号进行IIR与FIR的5阶固定滤波处理,可以选择性的显示滤波前后信号的波形、频谱、幅值以及相位,以及播放滤波后的声音。
界面如图2-1所示:图2-1 GUI起始界面42.3 GUI界面的具体操作在MATLAB版面上,通过键入GUIDE弹出一个菜单栏进入gui制作界面(或者在File到new来进入gui),从而开始应用界面的制作。
1.将所需控件从控件面板拖拽到GUIDE的设计区域;2.利用工具条中的工具(或相应的菜单和现场菜单),快速完成界面布局;3.设置控件的属性。
尤其是tag属性,它是控件在程序内部的唯一标识;4.如果需要,打开菜单编辑器为界面添加菜单或现场菜单;5.保存设计。
GUIDE默认把GUI程序保存为两个同名文件:一个是.fig文件,用来保存窗体布局和所有控件的界面信息;一个是.m文件,该文件的初始内容是GUIDE自动产生的程序框架,其中包括了各个控件回调函数的定义。
该M文件与一般的M文件没有本质区别,但是鉴于它的特殊性,MATALAB把这类文件统称为GUI-M文件。
保存完后GUI-M文件自动在编辑调试器中打开以供编辑。
6.为每个回调函数添加代码以实现GUI程序的具体功能。
这一步与一般函数文件的编辑调试过程相同。
5第四章 GUI设计实现4.1 图形用户界面概念图形用户界面或图形用户接口是指采用图形方式显示的计算机操作环境由用户接口。
与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。
GUI是MATLAB提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。
4.2用户界面设计4.2.1 GUI设计模板在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。
MATLAB为GUI设计一共准备了四个模板,分别是Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。
当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。
4.2.2 GUI设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口,选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。