DSP语音信号处理课程设计(精)

DSP语音信号处理课程设计(精)
DSP语音信号处理课程设计(精)

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频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。

1

4.数字滤波器设计

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

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起始界面

4

2.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设计窗口中显示的结果是不一样的。

GUI设计窗口由菜单栏、工具栏、空间工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help六个菜单项,使用其中的命令可以完成图形用户界面的设计操作。

4.2.3 GUI设计窗口的基本操作

(1)前面板的设计:在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。如图4-1所示。例如,创建一个Push Button对象,并设计该对象的属性值。

6

图4-1 按钮属性编辑器

通过以上的按钮属性编辑器可以根据个人情况对按钮的名称、颜色、大小等方面的属性进行修改,使按钮在视觉上变的更加完美。

(2)按钮功能的实现:在GUI设计窗口创建按钮后,通过右键单击按钮,选择View callbacks下的callback对相应的按钮进行编程,使按钮实现相应的功能,如图4-2所示对按钮的响应功能进行设置。

图4-2 按钮功能编辑器

7

进入到按钮程序编辑窗口,通过编程即可实现按钮的相应功能,如图4-3。

图4-3 按钮的编程实现界面

通过对各个按钮控件的修改,和对m文件程序的添加就完成对GUI窗口的设计,最后得到的图形化操作界面如图4-4所示。

图4-4 图形化操作界面

8

4.2.4 语音的录入与打开

在MATLAB中,[y,fa,bits]=wavread(‘Blip’,[N1 N2]);用于读取语音,采样值放在向y中,fs表示采样频率,bits表示采样位数。[N1 N2]表示读取从N1点到N2点的值。

Suond(x,fs,bits);用于对声音的回放,向量y则就代表了一个信号也就是说可以像处理一个信号表达式一样处理这个声音信号。

4.3课程设计的软件实现

4.3.1语音信号的短时谱

周期性声门波可表示为

:

(4-1)

其中,g[n]是声门波的单周期的波形,p[n]是间隔为P的周期采样序列。当u[n]通过线性非时变声道,且该声道的单位冲击响应为h[n]时,声道输出为:

(4-2)

为了观察一段语音,需要降生到输出乘以一个一时刻τ 为中心的窗函数w[n,τ] ,即得到:

(4-3)

这段语音信号的频域表达式为:

即语音信号的谱包络为(4-4)语谱图就是现实时变频谱幅度特征的图形表达式为:

(4-5)

将语音信号短时谱程序写入到MATLAB中得到单色语谱图的波形如图4-5所示。

9

图4-5 语音信号单色语谱图

4.3.2 自相关方法估计语音信号的声道参数

由均方预测误差最小的得到正则方程:

其中,

在最佳解时的误差为

在自相关法中式4-6,式4-8变为

(4-10)

由式4-9和式4-10可列出方程组式4-11

10 (4-6)(4-7)(4-8)(4-9)

(4-11)

解方程组式4-9求出线性预测系数,通过误差式4-11可求出增益

G

(4-12)

加窗后信号频谱图如图4-6所示。

图4-6 加窗后信号频谱图

通过以上的方法,改变参数分别求得4极点模型频率响应和6极点模型频率响应,6极点波形如图4-7所示。

图4-7 六极点波形图

11

最后通过以上方法用一个函数分别实现以上三个功能,三个波形显示在一个界面,通过观察图形,查看它们之间的分别。三者比较所得到的波形如下:

图4-8 三者比较波形图

4.3.3 基音周期检测

数据为浊音语音信号speech1_10k(10000样点/秒)用25ms的汉明窗对语音信号speech1_10k进行加窗处理,并画出所得到的加窗信号的自相关函数,再用根据中心消波法及三电平中心消波法原理改进程序,最后对比中方法基音检测的效果并分析结果。

实验原理及方法

相关检测原理:对于离散的数字语音信号序列x(n),如果周期N,则自相关函数也是同周期的周期函数。即:x(n)=x(n+N)。清音信号没有周期性,他的自相关函数也没有周期。浊音新海具有准周期性。自相关基音检测正是利用这一性质对语音信号进行基音检测的。

中心消波法检测原理:中心消波处理是使用如图4-9所示的中心消波函数进行处理的:

图4-9 中心消波检测图

三电平消波法原理:为了减少自相关计算中的乘法运算,可以把上述中心消 12 波以后的信号y(n)的自相关用两个信号的互相关代替,其中一个信号是y(n)另一个信号是对y(n)进行三电平量化产生的结果。且这个信号有三种可能的取值,因而这里的互相关计算只需要做加减法,而这个互相关序列的周期性与y(n)的自相关序列是近似相同的。

三电平法对语音信号处理得到的波形如图4-10。

图4-10 三电平法波形图

中心消波法得到的波形如图4-11。

图4-11 中心消波法波形图

13

4.4 GUI实验箱操作界面设计

通过对各个控件的编程和对参数的设计,最后得到的GUI实验箱操作界面如下图所示,通过界面上的各个按钮即可实现相应的功能。

图4-12 GUI实验箱操作界面

14

第五章总结与心得体会

通过本次课程设计,在锻炼我的动手能力的同时还加强了我对DSP和语音的理解,一直觉得这是两门非常难学的科目,总是害怕接触,通过这次设计和制作,我发现只要用心动手其实我们都可以,主要是绘制一个GUI界面,做到通过简单操作来完成对数字信号处理的典型处理和分析。主要进行了信号采集,信号的频谱显示,信号的时域分析,信号的高,低通滤波等。由于本次课程设计要求利用matlab对语音信号进行数字信号处理和分析,所以还加深了对MATLAB软件的应用,真可谓是一举两得啊!

这次课程设计提高了我的分析解决问题的能力,在设计中不时的出现许多不懂的问题,经过自己的分析和老师的指点最终得以解决。这样的机会不是很多,希望学校能够多多提供这样的机会。同时也非常感谢老是的知道和帮助。我想在未来的日子我们会学到更多的知识,能够更好的提高自己。

15

参考文献

[1]陈怀琛.MATLAB及在电子信息课程中的应用【M】.北京电子工业出版

社.2008.1

[2]张文.基于MATLAB的语音信号的滤波域实现【M】.山西电子技术.2008.2

[3]徐靖涛.基于MATLAB的语音信号分析与处理【M】.重庆科技学院学报.2008.1

[4]张威.MATLAB基础与编程入门【M】.西安电子科技大学出版社,2006.

[5]周渊,王炳和,刘斌胜.基于MATLAB的噪声信号采集和分析系统的设计【J】.噪声控制.2004(7):52-54.

[6]张雄伟,陈量,杨吉斌.现代语音处理技术及应用【M】.北京:机械工业出版社.2003

16

相关主题
相关文档
最新文档