ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:1,018.31KB ,
资源ID:3224121      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3224121.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音信号处理课设说明书.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音信号处理课设说明书.docx

1、语音信号处理课设说明书目 录1 技术要求 - 1 -2 基本原理 - 1 -2.1 语音信号时域波形和频谱特性 - 1 -2.2 窗函数法和双线性变换法 - 2 -2.2.1 窗函数法的设计步骤 - 2 -2.2.2 双线性变换法 - 2 -2.3 GUI界面设计和MATLAB编程 - 3 -2.3.1 GUI界面 - 3 -2.3.2 MATLAB编程 - 3 -3 建立模型描述 - 3 -3.1 系统模型描述 - 3 -3.1.1 实时语音信号的采集和保存 - 4 -3.1.2 语音信号分析 - 5 -3.1.3 分析结果的动态输出 - 5 -3.2 系统模型建立 - 6 -3.2.1 G

2、UI界面设计 - 6 -4 程序流程图 - 8 -5 源程序代码 - 9 -6 调试过程及结论 - 14 -7 心得体会 - 20 -8 思考题 - 21 -9 参考文献 - 22 -语音信号处理的设计1 技术要求录制一段个人的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。2 基本原理语音信号处理是研究用数字信号处理技术对

3、语音信号进行处理的一门学科。语音信号处理的目的是要得到某些语音特征参数以便高效地传输或存储;或者通过某种运算以达到某种用途的要求,例如人工合成语音、辨别出说话者、识别出讲话的内容等。本次课程设计涉及到语音信号的时域波形和频谱特性,窗函数法和双线性变换法,以及GUI界面设计和MATLAB编程等方面的理论知识,下面从这几方面进行简单的介绍。2.1 语音信号时域波形和频谱特性在时域里,语音信号可以直接用他的时间波形表示出来,通过观察时间波形可以看出语音信号的一些重要特性。语音信号是一个随机非平稳过程,具有短时平稳性,一般认为在10-30ms内语音信号特性基本是不变的,或者变化很缓慢。语音信号是时变信

4、号,所以其频谱也是随时间变化的。但是由于语音信号随时间变化是很缓慢的,因而在一段时间内(如10-30ms之间,即所谓的一帧之内)可以认为其频谱是固定不变的,这种频谱又称为短时谱。本次课程设计主要工作是设计滤波器实现对语音信号的滤波,并观察滤波前后信号的时域和频谱变化,为了简化处理,不对语音信号进行加窗分帧处理,而仅利用傅里叶变换(FFT)代替短时傅里叶变换(STFT)。2.2 窗函数法和双线性变换法2.2.1 窗函数法的设计步骤窗函数法设计FIR滤波器的主要步骤如下:(1)给出希望设计的滤波器的频率频率响应Hd(ejw);(2)根据允许的过渡带宽度及阻带衰减,初步选定窗函数及其长度N;(3)根

5、据技术要求确定待求滤波器的单位取样响应hd(n),。(4)将hd(n)与窗函数相乘得FIR数字滤波器的单位取样响应h(n),。(5)按如下方法计算FIR数字滤波器的频率响应,并验证是否达到所要求的技术指标:或。2.2.2 双线性变换法双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法,为了克服映射这一缺点,首先把整个平面压缩变换到某一中介的平面的一条横带里(宽度为,即从到),其次再通过标准变换关系将此横带变换到整个z平面上,这样就是s平面与z平面是一一对应的关系,消除了多值变换性,从根本上消除了频谱混叠现象。s平面与z平面之间的单值映射关系:其中变换常数c一般取为2/

6、T,上述变换就成为双线性变换。 由于在双线性变换中,即模拟角频率和数字角频率之间存在非线性关系,所以双线性变换避免了混叠失真,却又带来了非线性的频率失真。2.3 GUI界面设计和MATLAB编程2.3.1 GUI界面GUI(Graphical User Interfaces)即图形用户界面,是由窗口、光标、按键、菜单、文字说明对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,如实现计算、绘图等。MATLAB中设计GUI程序的前台界面有全命令行的M文件编程和GUIDE辅助的图形界面设计两种方式。由于使用GUIDE建立G

7、UI界面相对简单,故本次课程设计采用GUIDE创建GUI界面并进行相关回调函数的编程。2.3.2 MATLAB编程本次课程设计的主要工作量在于GUI界面回调函数(callback)的编写,程序界面越丰富,编程量越大,代码也相对越长。编程中用到与语音信号处理相关的函数有wavrecord、wavplay、wavwrite等,它们分别实现录音、播放和保存的功能。其他未用到的如wavread函数实现语音数据的读取,sound函数也可以实现语音播放的功能。关于滤波器这块,filter函数实现滤波,freqz函数绘制频率响应,bilinear函数实现双线性变换,fir1函数实现窗函数滤波。由于原理较简单

8、,其他相关函数及其功能可以参见所附源程序代码及注释。3 建立模型描述3.1 系统模型描述根据技术要求,我设计了一个基于MATLAB的实时语音可视化时频域分析系统,该系统可以通过计算机声卡和语音采集工具箱采集实时的语音信号,并通过MATLAB进行时频域分析处理以及滤波处理后,将语音信号进行可视化输出。同时使用MATLAB的GUI集成开发环境GUIDE进行界面的设计,通过简单的图形界面简化操作过程及参数的修改和调试。GUI界面设计主要包括语音信号采集、播放和保存部分,滤波处理部分和图形动态显示输出部分等。语音信号采集部分可以设置采样时间和采样频率,并可实现语音信号的播放和保存功能。滤波处理部分可以

9、选用窗函数法或双线性变换法,实现语音信号的低通、高通、带通、带阻滤波,实现语音信号的波形变换。图形动态显示输出部分实现原始语音信号波形、原始信号频谱、滤波后语音信号波形、滤波后信号频谱以及所设计的滤波器的频率响应的绘制。由上述分析可知,为了实现系统的各项功能,设计的系统结构如下图1所示。下面将从这三个部分对系统的原理和工作过程进行介绍。图 1 系统结构图3.1.1 实时语音信号的采集和保存一般来说,语音信号的频率范围通常是在300Hz-3400Hz之间,在设定语音信号的采样频率时要注意采样频率必须要不小于最高频率的两倍,这时语音信号才能无失真的恢复。MATLAB中利用wavrecord函数实现

10、语音信号的采集,在最终设计的GUI界面中可以通过可编辑文本框(Edit Text)控制采样时间和采样频率,实际中采样频率可以取8000Hz、11025Hz、22050Hz和44100Hz。利用wavwrite函数可以实现以指定的名字将语音信号以wav格式保存起来,同时,wavplay函数可以实现语音信号的播放。编程时将采样频率和采样的语音信号存储在全局变量(global)中,便于程序的后续处理。在“开始录音”按钮的回调函数中先读入输入可编辑文本框设置的参数,然后按指定录音时间和采样频率进行录音。3.1.2 语音信号分析语音信号分析包括傅里叶变换后的频谱分析和滤波后的时域波形和频谱。对采样所得的

11、语音信号进行FFT变换后即可得到原始语音信号的频谱图,令原始语音信号通过所设计的滤波器,即可得到滤波后时域的语音信号,然后对该信号进行FFT变换,即可得到滤波后的频谱图。滤波器设计是本次课程设计的重点,可以采用窗函数法和双线性变换法,而每一种方法又有着低通、高通、带通、带阻等多种滤波器,在所设计的GUI界面中,低通滤波器和高通滤波器的相关参数可以通过可编辑文本框(Edit Text)输入,进而得到相应的滤波效果。由于带通和带阻滤波器的参数个数较低通和高通滤波器的多,回调函数中已设定好带通和带阻滤波器的参数,滤波器输入参数不会影响带通和带阻滤波器的效果。注意调试时滤波器输入参数中抽样频率必须与语

12、音信号的采样频率相等,否则滤波后横坐标的频率范围与实际输入滤波器的截止频率有出入,例如录音时的采样频率为8000Hz,则滤波器抽样频率Fs也必须响应为8000Hz。在窗函数法中,可以通过下拉列表框选择相应的窗函数,从而实现利用不同的窗函数对原始语音信号的滤波处理,可供选择的窗函数有boxcar(矩形窗)、triang(三角窗)、hamming(汉明窗)、hanning(汉宁窗)、blackman(布莱克曼窗)和kaiser(凯泽窗)等。3.1.3 分析结果的动态输出采用GUI界面设计,设计输出界面以及控制界面,以达到语音信号的可视化处理并简化操作。通过GUI界面上的按钮可以实现原始语音信号波形

13、、原始信号频谱、滤波后语音信号波形、滤波后信号频谱以及滤波器的频率响应的绘制,还可以实现指定滤波器的设计和语音信号滤波处理,以及录制指定时间的语音信号。3.2 系统模型建立3.2.1 GUI界面设计GUI界面设计主要步骤如下:(1)打开GUI界面编辑器,新建一个GUI文件。(2)在界面编辑器的GUI布局区中放入10个Push Button、5个Axes、2个Panel、2个Button Group、6个Radio Button、11个Edit Text、1个Pop-up Menu和17个Static Text对象,将各GUI对象布局在合适位置。(3)在各对象上双击打开属性查看器,设置对象的相应

14、属性,由于控件对象数量较多,下面仅对重要的控件属性分别进行说明:Pop-up Menu的String属性设置为“-请选择窗口类型-(回车)boxcar(回车)triang(回车)hamming(回车)hanning(回车)blackman(回车)kaiser”;11个Edit Text的String属性全部设为空字符串,对齐方式全部设为右对齐(right)方式,其Tag属性可以参考源程序代码部分查看;6个Radio Button控件属性如下表1所示;表 1 Radio Button属性TagStringValueradiobutton1窗函数法1.0radiobutton2双线性变换法0.0l

15、owpass低通1.0highpass高通0.0bandpass带通0.0bandstop带阻0.010个Push Button属性设置如下表2所示;表 2 Push Button属性TagStringFontsizerecord_speech开始录音10save_speech保存录音10续表2pushbutton3原始信号波形12pushbutton4原始信号频谱12pushbutton5滤波后波形12pushbutton6滤波后频谱12play_speech播放语音12pushbutton10滤波后语音12close关闭12pushbutton7滤波器频率响应12其他如Static Text、Panel、Button Group以及Axes控件对象属性大部分取默认属性,仅相关控件的String属性需要修改,具体可参照所设计的GUI界面。(4)编写相关控件的回调函数,主要是编写10个Push Button按钮的回调函数,实现对语音信号可视化的时频域分析。经过上述主要步骤后,最终设计的GUI界面如图2所示, 该GUI界面为

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1