MATAB课程设计 语音信号的时域频域分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.语音信号的采集

为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。取样是将时间上连续的语音信号离散化为一个样本序列。根据取样定理,当取样频率大于信号的两倍带宽时,取样过程不会丢失信息,且从取样信号中可以精确地重构原始信号波形。

经过预滤波和采样后,由A/D变换器变换为二进制数字码。这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字语音信号。

实际工作中,我们可以通过很多种方式录制语音信号,如手机、电脑、MP3、录音笔等,然后通过转换工具将音频格式转换为MATLAB可以识别的音频文件格式,这里的转换工具可以是千千静听或者其它的专用音频文件格式转换软件,可以获得任何我们想要的音频格式。本设计中我们利用windows自带的录音机录制语音文件,图1-1是基于PC机的语音信号录制过程,声卡可以完成语音波形的A/D转换,获得WAV文件,为后续的处理储备原材料。

图1-1 基于PC机的语音信号录制过程

本设计先用电脑自带的录音机录制自己的一段语音,保存在MATLAB软件的工作目录下,命名为“abc.wav”,然后经过MATLAB软件绘制出其时域波形图和频谱图。之后通过rand随机函数产生一个噪声,叠加到原信号中去,作为滤波器的输入。

2.语音信号的时、频域分析

2.1 语音信号的时域分析

语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。

这种分析方法的特点是:①表示语音信号比较直观、物理意义明确。②实现起来比较简单、运算量少。③可以得到语音的一些重要的参数。④只使用示波器等通用设备,使用较为简单等。

MATLAB数据采集箱中提供的进行语音信号分析的函数命令如下:

wavread :wavread 用于读取扩展名为“.wav”的声音文件。其调用形式为: y = wavread (‘filename’) 。其作用是读取wave 文件,将读取的采样数据送到y 中。

sound:音频信号是以向量的形式表示声音采样的。sound 函数用于将向量转换为声音,其调用形式为:sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。通过wavread和plot()函数即可显示语音信号的时域波形。图形如下图2-1上面的图所示。

2.2 语音信号的频域分析

语音信号的频域分析就是分析语音信号的频域持征。从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。本文介绍的是语音信号的傅里叶分析法。因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”

在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x 为一矩阵,则y是对矩阵的每一列向量进行FFT。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且

长度小于N ,则函数将x 补零至长度N ;若向量x 的长度大于N ,则函数截短x 使之长度为N ;若x 为矩阵,按相同方法对x 进行处理。

利用上述函数即可画出语音信号的频谱图,如下图2-1下面的图所示。

0123456

7

x 10

4

-0.5

0.5

语音信号时域波形

采样点

幅值

5000

10000

15000

050100150200

250语音信号频谱图

Hz

幅值

3.对语音信号进行加噪处理

利用MATLAB 中的随机函数(randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析。程序见附录。 加入噪声后的时域图和频谱图如下:

图3-1

2

4

68

10

12

14x 10

4

-0.4

-0.200.2

0.4加噪语音信号的时域波形

时间

幅度

2

4

68

10

12

14x 10

4

200400

600加噪语音信号的频域波形

时间

幅度

4. 数字滤波器的设计

4.1 滤波器的设计选择

设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR 滤波器的特征是,具有无限持续时间冲激响应。这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR 滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。

FIR 滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题;同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。它的最大好处是稳定、线性相位和广泛的适用范围,而它的最大缺点是阶数高,从而带来时延大、存储单元多等问题。而IIR 滤波器的首要优点是可在相同阶数时取得更好的滤波效果,对计算手段的要求较低,对频率分量的选择性好。故本课程设计设计IIR 滤波器。

4.2 IIR 数字滤波器的设计

IIR 数字滤波器是一种离散时间系统,其系统函数为

)

()

(1)(1

z X z Y z a z

b Z H N k k

k M

k k

k =

-=

∑∑=-=- 在设计IIR 数字滤波器时,通常利用模拟滤波器来设计数字滤波器。现广泛采取这种方法的原因是:(1) 模拟滤波器的技术已经非常成熟;(2)可得闭合形式的解;(3)关于模拟滤波器的设计有大量的程序和表格可用。

可用双线性变换法或者冲激响应不变法将模拟滤波器转换为数字滤波器。在实际应用中的滤波器一般都不是带限的,所以在用冲激响应不变法将模拟滤波器转换为数字滤波器时,会出现频谱混叠。而IIR 滤波器没有频谱混叠,故用双线性变换法设计IIR 数字滤波器。

用双线性变换法设计数字滤波器的一般步骤如下: (1)由模拟频率和数字频率的关系

)2

tan(2ω

T =Ω

相关文档
最新文档