数字信号处理课程设计-语音信号合成

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计说明书设计题目:基于幅度调制法的语音信号合成专业:电子信息工程班级:2011级1班设计人:王钱磊201101101530山东科技大学2013年12月27日1山东科技大学课程设计任务书电子信息工程专业2011级1班学生王钱磊一、课程设计题目:基于幅度调制法的语音信号合成二、设计原始资料:MATLAB软件编程环境;PentiumIV计算机三、设计应解决下列各主要问题:1、掌握幅度调制法的概念,设计GUI界面。2、采集语音信号,运用MATLAB软件计算信号的时域图和频谱图。3、利用幅度调制法进行语音合成。四、设计说明书应附有下列图纸:五、命题发出日期:2013-12-15设计应完成日期:2013-12-27设计指导教师(签章)教研室主任(签章)2指导教师对课程设计的评语指导教师(签章):年月日摘要语音信号处理是一门比较实用的电子工程专业课程,语音是人类获取信息的的重要来源和利用信息的重要手段。通过语言相互传递信息是人类最重要的基本功能之一。语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。Matlab是一个数据分析和处理功能十分强大的工程实用软件。本文介绍了利用matlab软件及其中的图形用户界面(GUI)实现驱动声卡采集语音信号和语音信号采集后的文档处理方法,并通过实例利用matlab分析了语音信号处理的过程。关键词:语音信号处理MATLAB频谱分析语音合成山东科技大学学生课程设计2目录1绪论………………………………………………………………………32软件设计与实现……………………………………………………42.1MATLAB软件介绍…………………………………………………42.2GUI用户界面介绍…………………………………………………52.3软件总体设计及框图…………………………………………62.4软件设计原理……………………………………………………82.5软件实现过程………………………………………………………103设计中遇到的问题及解决过程………………………………………144设计总结与心得体会…………………………………………………195附录………………………………………………………………………205.1参考文献……………………………………………………………205.2程序代码……………………………………………………………21山东科技大学学生课程设计31绪论语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展。进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法。80年代初一种新的基于聚类分析的高效数据压缩技术(矢量量化)应用于语音信号处理中。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。山东科技大学学生课程设计42软件设计与实现本课程设计利用MATLAB软件进行设计,主要涉及到两个子函数的设计,一是线性预测函数,二是语音信号的合成,通过主函数对两个子函数的调用来完成设计功能。2.1MATLAB软件介绍本次课程设计用到的编辑软件是MATLAB,下面对它做一下简要介绍:MATLAB是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。它使用方便,输入简捷,内容丰富,运算高效,并且很容易由用户自行扩展,因此,当前己成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。MATLAB是矩阵实验室(MATRIXLABORATORY)的缩写,主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。与其他计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。它用解释方式工作,键入程序立即得出结果,人机交互性能好,深得科技人员喜爱。MATLAB具有起点高、人机界面适台科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强等诸多特点,可以充分满足大学理工科本科的计算需要,在控制系统、信号处理、图像处理、系统辨识、模糊集山东科技大学学生课程设计5合、神经元网络和小波分析等领域具有广泛的应用。MATLAB的工作环境主要由命令窗(CommandWindow)、图形窗(figurewindow)和文本编辑窗(FileEditor)组成。本次课程设计也主要是在这三个窗口中进行编辑调试。2.2图形用户界面介绍GUIDE是GraphicUserInterfaceDesignEnvironment的简称。它是一个设计图形用户界面的集成开发环境。它使得图形对象的生成和管理变得简单、直接。在MATLAB的命令窗口中输入guide命令,即可开启GUIDE的主界面图形用户界面(GUI)是包含图形的对象,如:窗口、图标、菜单和文本的用户界面。它以某种方式选择或激活这些对象,通常引起动作或发生变化。MATLAB的GUI的基本图形对象分为两类:用户界面控件对象(uicontrol)和用户界面菜单对象(uimenu)。uicontrol对象能建立如按钮,滚动条,弹出式菜单以及文本框等对象。控件对象是这样一类图形界面对象:用户用鼠标在控件对象上进行操作,单击鼠标时,将会是应用程序作出响应并执行某些预定的功能子程序(Callback)。Uicontrol产生UI控件对象坐标轴(Axes)静态文本框(Text)可编辑文本框(Edit)弹出式菜单(PopupMenu)滑标(Slider)框架(Frame)命令按钮(PushButton)单选按钮(RadioButton)复选框(CheckBox)列表框(ListBox)uimenu对象能在图形窗口中产生下拉式菜单和子菜单。在每一个窗口系统中使用菜单让用户选择命令和选项。通常在显示屏或窗口的顶部有一菜单山东科技大学学生课程设计6条。移动鼠标指针到菜单标志上按下鼠标按键,顶层菜单就被选中,一列菜单项就从菜单标志拉下来。这种款式菜单就叫下拉式菜单。按下鼠标将指针移动至菜单项并松开鼠标,则完成菜单项的选择。MATLAB的GUI的特性是MATLAB图形句柄系统的子系统。“句柄图形”的理解是设计和实现GUI的先决条件。2.3软件总体设计及框图分析和处理音频信号,首先要对声音信号进行采集,MATLAB的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。本文以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的基本流程是:先将WAV格式音频信号经wavread函数转换MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite转换成WAV格式文件或用sound、wavplay等函数直接回放。山东科技大学学生课程设计7图1.1为本次课程设计的语音合成流程图。录入女生信号录入男生信号时域频谱分析时域频谱分析提取女生声色提取男生包络合成声音分析处理图1.1语音合成流程图。图1.2为GUI界面设计该界面分为两部分。第一部分为坐标显示区域,左侧一列坐标图,由上到下依次为所录入女生声音信号的时域波形图和频谱图;中间一列坐标图,由上到下依次为所录入男生声音信号的时域波形图和频谱图。第二部分为按钮区。其意义由按钮上的汉字所说明。若想获得合成器上的坐标图,可以在plot函数前加figure命令。山东科技大学学生课程设计8图1.2语音合成器的GUI界面2.4软件设计原理2.4.1语音信号的频谱分析过程傅里叶频谱分析是语音信号频域分析中广泛采用的一种方法。语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”。进行频谱分析时,在时域数据进行短时FFT处理之前都要进行加窗处理。在FFT处理之后,普通频谱分析可以进行频域上的滤波处理,从而使频谱更加平滑。2.4.2信号调制所谓调制,就是将调制信号加载在三个参数中的某一个参数上,或幅值、或频率、或相位随调制信号大小成线性变化的过程。主要有三种基本调制方法,分别如下:第一种是把调制信号加载在载波信号的幅值上,称为幅度调制,简称山东科技大学学生课程设计9AM。第二种是把调制信号装载在载波的频率上,称为频率调制,简称FM。第三种是把调制信号装载在载波的相位上,称为相位调制,简称PM。本设计采用的是第一种方法,用采集到的男生信号去对女生信号进行幅度调制,实现语音合成的目的。下面以简单的调制信号为单频余弦波来说明幅度调制的原理。设单频余弦波调制信号为()coscos2mututFt设载波信号为()coscos2CcmccutUtft由幅度调制定义可知,幅度调制是用基带信号控制载波的振幅,使载波的振幅随基带信号的规律变化,因此调制后形成的已调波)(tuAM可表示为tCostukUtucacmAM))(()(已调信号的振幅部分也可以表示为)1()(tCosmUtukUacmacm式中因此,普通调幅信号可以表示为tCostCosmUtucacmAM)1()(按照上述简单分析,只要已知基带信号和载波,就可以画出已调波的波形。在一个信号周期内,其最大振幅为max(1)ccmaUUm最小振幅为min(1)ccmaUUm由上两式可得cmmaaUUkm山东科技大学学生课程设计10minmincmaxcacmaxcUUmUU有上式可知,1am且am越大,调幅波的外包络线凹陷越深,即调制越深。普通调幅信号的波形与频谱,简单而直观的表示出了幅度调制的基本原理。2.4.3Hilbert变换MATLAB提供了计算Hilbert变换的函数,其格式为y=Hilbert(x)。但需注意的是,该函数计算出的结果是序列的解析信号,其虚部才是序列的Hilbert变换。Hilbert变换具有两个性质:性质1序列x(n)通过Hilbert变换器后,信号频谱的幅度不发生变化,这是因为Hilbert变换器是全通滤波器,引起频谱变化的只是其相位。性质2序列x(n与其Hilbert变换是正交的。)2.5软件实现

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功