语音信号处理及其MATLAB实现文档格式.docx

上传人:b****1 文档编号:313836 上传时间:2023-04-28 格式:DOCX 页数:37 大小:272.25KB
下载 相关 举报
语音信号处理及其MATLAB实现文档格式.docx_第1页
第1页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第2页
第2页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第3页
第3页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第4页
第4页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第5页
第5页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第6页
第6页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第7页
第7页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第8页
第8页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第9页
第9页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第10页
第10页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第11页
第11页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第12页
第12页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第13页
第13页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第14页
第14页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第15页
第15页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第16页
第16页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第17页
第17页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第18页
第18页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第19页
第19页 / 共37页
语音信号处理及其MATLAB实现文档格式.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

语音信号处理及其MATLAB实现文档格式.docx

《语音信号处理及其MATLAB实现文档格式.docx》由会员分享,可在线阅读,更多相关《语音信号处理及其MATLAB实现文档格式.docx(37页珍藏版)》请在冰点文库上搜索。

语音信号处理及其MATLAB实现文档格式.docx

entry 

theoriginalspeechsignal 

spectralanalysis 

intheMATLAB 

softwareplatform;

and 

collected 

voice 

signalto 

interference 

noise, 

spectralanalysis, 

designappropriate 

filter 

to 

filteroutthenoise 

signal 

byadding 

noise,andthenwe 

canalso 

sound 

command 

play 

back 

thevoicesignal, 

inorderto 

feel 

thechange 

the 

up 

in 

hearing. 

Thedesignalso 

useMATLABto 

readintothe(acquisition) 

assignit 

vector. 

Then 

vector 

as 

common 

signalto 

FFTtransform 

spectrumanalysis,andthen 

filtering 

it 

based 

on 

actualsituation.

Keywords:

speechsignalprocessing 

filter 

MATLAB 

spectrumanalysis

目录

目录3

第一章绪论4

1Matlab的简介4

2Matlab的特点和优势5

3语音信号处理的意义6

4语音信号处理的目的与要求6

5语音信号处理的基本步骤6

第二章设计方案论证8

1设计理论依据8

(1)采样定理8

(2)采样频率8

(3)采样位数与采样频率8

2语音信号的分析及处理方法9

(1)语音的录入与打开9

(2)时域信号的FFT分析9

(3)数字滤波器设计原理9

(4)数字滤波器的设计步骤10

(5)IIR滤波器与FIR滤波器的性能比较10

第三章GUI图形用户界面设计11

1GUI图形用户界面概念11

2GUI界面设计概述11

3GUI图形用户界面设计13

4GUI图形用户界面模块调试13

(1)语音信号的读入与打开13

(2)语音信号的定点分析14

(3)N阶高通滤波器16

(4)N阶低通滤波器17

(5)2N阶带通滤波器18

(6)2N阶带阻滤波器19

5图形用户界面制作20

第四章总结22

第五章致谢23

参考文献24

附录25

第一章绪论

1Matlab的简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

  MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。

1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。

到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

历经升级,到2001年已经有了6.0版,现在MATLAB6.1、6.5、7.0、7.X都已相继面世。

早期的MATLAB在DOS环境下运行,1990年推出了Windows版本。

1993年,Mathworks公司又推出了MATLAB的微机版本,从分支持在MicrosoftWindows界面下的编程。

随着版本的升级,内容不断扩充,它的功能越来越强大,特别是在系统仿真和实时运行等方面,有很多新进展,更扩大了它的应用前景,是各种科学计算软件中使用频率最高的软件。

MATLAB包括拥有数百个内部函数的主包和三十几种工具包。

工具包又可以分为功能性工具包和学科工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

  开放性使MATLAB广受用户欢迎。

除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

1993年出现SIMULINK,这是基于框图的仿真平台,SIMULINK挂接在MATLAB环境上,以MATLAB的强大计算功能为基础,以直观的模块框图进行仿真和计算。

SIMULINK提供了各种仿真工具,尤其是它不断扩展的、内容丰富的模块库,为系统的仿真提供了极大便利。

在SIMULINK平台上,拖拉和连接典型模块就可以绘制仿真对象的模型框图,并对模型进行仿真。

在SIMULINK平台上,仿真模型的可读性很强,这就避免了在MATLAB窗口使用MATLAB命令和函数仿真时,需要熟悉记忆大量M函数的麻烦,对广大工程技术人员来说,这无疑是最好的福音。

现在的MATLAB都同时捆绑了SIMULINK,SIMULINK的版本也在不断升级,从1993年的MATLAB4.0/SIMULINK1.0版到2001年的MATLAB6.1/SIMULINK4.1版,2002年即推出了MATLAB6.5/SIMULINK5.0版。

MATLAB已经不再是单纯的“矩阵实验室”了,它已经成为一个高级计算和仿真平台。

2Matlab的特点和优势

简单易用的程序语言:

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

特点:

(1)此高级语言可用于技术计算

(2)此开发环境可对代码、文件和数据进行管理

(3)交互式工具可以按迭代的方式探查、设计及求解问题

(4)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分

(5)二维和三维图形函数可用于可视化数据

(6)各种工具可用于构建自定义的图形用户界面

(7)各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成

优势:

(1)友好的工作平台和编程环境

(2)简单易用的程序语言

(3)强大的科学计算机数据处理能力

(4)出色的图形处理功能

(5)应用广泛的模块集合工具箱

(6)实用的程序接口和发布平台

(7)应用软件开发(包括用户界面)

3语音信号处理的意义

语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段。

通过语言相互传递信息是人类最重要的基本功能之一。

语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。

语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。

语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。

4语音信号处理的目的与要求

本次课程设计的目的是利用MATLAB对语音信号进行数字信号处理和分析,要求学生采集语音信号后,在MATLAB软件平台进行频谱分析;

并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

要求利用MATLAB来读入(采集)语音信号,将它赋值给某一向量。

然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

5语音信号处理的基本步骤

1.理论依据

根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;

时域信号的FFT分析;

数字滤波器设计原理和方法,各种不同类型滤波器的性能比较),阐明设计原理。

2.信号采集

采集语音信号,并对其进行FFT频谱分析,画出信号的时域波形图和频谱图。

3.构造受干扰信号并对其进行FFT频谱分析

对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。

并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。

4.数字滤波器设计

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

5.信号处理

用所设计的滤波器对含噪语音信号进行滤波。

对滤波后的语音信号进行FFT频谱分析。

画出处理过程中所得各种波形及频谱图。

对语音信号进行回放,感觉滤波前后声音的变化。

比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。

6.设计图形用户界面

设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的参数,显示滤波器的频率响应,选择信号等。

第二章设计方案论证

1设计理论依据

(1)采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:

fs.max>

=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;

采样定理又称奈奎斯特定理。

1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:

理想低通信道的最高大码元传输速率=2W*log2N(其中W是理想低通信道的带宽,N是电平强度)

(2)采样频率

采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。

这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

(3)采样位数与采样频率

采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。

无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。

每增加一个采样位数相当于力度范围增加了6dB。

采样位数越多则捕捉到的信号越精确。

对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。

显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。

2语音信号的分析及处理方法

(1)语音的录入与打开

在MATLAB中,[y,fs,bits]=wavread('

Blip'

[N1N2]);

用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。

[N1N2]表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。

sound(x,fs,bits);

用于对声音的回放。

向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。

(2)时域信号的FFT分析

FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;

若x为一矩阵,则y是对矩阵的每一列向量进行FFT。

如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。

函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;

若向量x的长度大于N,则函数截短x使之长度为N;

若x为矩阵,按相同方法对x进行处理。

(3)数字滤波器设计原理

数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。

在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。

数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。

(4)数字滤波器的设计步骤

不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:

(1)按照实际任务的要求,确定滤波器的性能指标。

(2)用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。

根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。

(3)利用有限精度算法实现系统函数,包括结构选择、字长选择等。

(5)IIR滤波器与FIR滤波器的性能比较

FIR:

FiniteImpulseresponse,有限冲击响应

IIR:

InfiniteImpulseresponse,无限冲击响应

1、从性能上看,IIR滤波器传输函数的极点可能位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存储单元少,所以经济而效率高。

但是这个高效率是以相位的非线性作为代价的。

选择性越好,则相位非线性越严重。

相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性。

2、从结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。

相反,FIR滤波器主要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,运算误差也较小。

此外,FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快的多。

3、从设计工具看IIR滤波器可以借助于模拟滤波器的成果,因此一般都有有效的封闭形式的设计公式可供准确计算,计算工作量比较小,对计算工具的要求不高。

FIR滤波器设计则一般没有封闭形式的设计公式,因此对计算工具要求较高。

第三章GUI图形用户界面设计

1GUI图形用户界面概念

图形用户界面或图形用户接口(GraphicalUserInterface,GUI)是指采用图形方式显示的计算机操作环境用户接口。

与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。

GUIDE是Matlab提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。

2GUI界面设计概述

GUI设计面板是GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。

进行设计时,首先单击面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当位置,这时将在该位上为图形界面添加相应的控件。

一个图形界面的完成,除了设计其外观外,还有相当的一部分是通过属性的设来完成的。

因此在设置这些属性时,要注意下面几个常用又很重要的属性设置:

 

1、控件风格和外观

(1)BackgroundColor:

设置控件背景颜色,使用[RGB]或颜色定义。

(2)CData:

在控件上显示的真彩色图像,使用矩阵表示。

(3)ForegroundColor:

文本颜色。

(4)String属性:

控件上的文本,以及列表框和弹出菜单的选项。

(5)Visible:

控件是否可见。

2、对象的常规信息

(1)Enable属性:

表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。

(2)Style:

控件对象类型。

(3)Tag:

控件表示(用户定义)。

(4)TooltipString属性:

提示信息显示。

当鼠标指针位于此控件上时,显示提示信息。

(5)UserData:

用户指定数据。

(6)Position:

控件对象的尺寸和位置。

(7)Units:

设置控件的位置及大小的单位

(8)有关字体的属性,如FontAngle,FontName等。

3、控件回调函数的执行

(1)BusyAction:

处理回调函数的中断。

有两种选项:

即Cancel:

取消中断事件,queue:

排队(默认设置)。

(2)ButtonDownFcn属性:

按钮按下时的处理函数。

(3)CallBack属性:

是连接程序界面整个程序系统的实质性功能的纽带。

该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。

(4)CreateFcn:

在对象产生过程中执行的回调函数。

(5)DeleteFcn:

删除对象过程中执行的回调函数。

(6)Interruptible属性:

指定当前的回调函数在执行时是否允许中断,去执行其他的函数。

4、控件当前状态信息

(1)ListboxTop:

在列表框中显示的最顶层的字符串的索引。

(2)Max:

最大值。

(3)Min:

最小值。

(4)Value:

控件的当前值。

应用MATLAB制作这样一个过程是非常方便的,我们可以通过GUI操作来看到。

该环境下要设计一个友好的仿真界面,一般应完成以下两个步骤:

(1)GUI界面设计。

主要是通过不同的文本框、按钮等许多工具的使用,设计出一个图形用户界面。

要清楚这个图形界面的功能是什么,即在图形界面上的操作会引发什么样的结果。

(2)回调函数的设计。

用户应根据设计好的图形界面的功能,针对各个不同的图形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功能。

3GUI图形用户界面设计

1.GUI设计模板

在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。

MATLAB为GUI设计一共准备了4种模板,分别是BlankGUI(默认)、GUIwithUicontrols(带控件对象的GUI模板)、GUIwithAxesandMenu(带坐标轴与菜单的GUI模板)与ModalQuestionDialog(带模式问话对话框的GUI模板)。

当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。

2.GUI设计窗口

在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。

选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。

GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。

GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。

3.GUI设计窗口的基本操作

在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。

例如,创建一个PushButton对象,并设计该对象的属性值。

4GUI图形用户界面模块调试

(1)语音信号的读入与打开

下面的一段程序是语音信号在MATLAB中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。

[x,fs,bits]=wavread('

door2.wav'

);

sound(x,fs,bits);

X=fft(x,4096);

magX=abs(X);

angX=a

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2