基于短时傅里叶变换的语音信号时频分析

更新时间:2023-09-16 09:18:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于STFT的语音信号时频分析

摘要:视频分析是近年来信号处理的新热点。本文首先介绍了语音信号STFT的相关知识,随后利用MATLAB将采集到的语音信号进行处理,并进行了信号时域和频域的相关分析。

关键词:语音信号 STFT 时频分析

语音信号的短时傅里叶变换

傅里叶变换是一种信号的整体变换,要么完全在时域,要么完全在频域进行分析处理,无法给出信号的频谱如何随时间变化的规律。而有些信号,例如语音信号,它具有很强的时变性,在一段时间内呈现出周期性信号的特点,而在另一段时间内呈现出随机信号的特点,或者呈现出两个混合的特性。对于频谱随时间变化的确定性信号以及非平稳随机信号,利用傅里叶变换分析方法有很大的局限性,或者说是不合适的。傅里叶变换无法针对性的分析相应时间区域内信号的频率特征。可以用一个窗函数与时间信号相乘积,当该窗函数的时宽足够窄,使取出的信号可以被看成是平稳信号时,就可以对乘积信号进行傅里叶变换,从而反映该时宽中的信号频谱变化规律。

早在1946年,Gabor就提出了短时傅立叶变换(Short Time Fourier Transform,STFT)的概念,用以测量声音信号的频率定位[64]。

给定一信号x(t)?L2(R),其STFT定义为 式中

STFTx(t,?)??x(?)gt*,?(?)d???x(?)g(??t)e*?j??d???x(?),g(??t)e

j??

?

gt,?(?)?g(??t)ej??

||g(?)||?1,||gt,?(?)||?1

并且窗函数g(?)应取对称函数。STFT的含义可解释如下:

在时域用窗函数g(?)去截x(?)(注:将x(t),g(t)的时间变量换成?),对截下来的局部信号作傅立叶变换,即得在t时刻得该段信号得傅立叶变换。不断

地移动t,也即不断地移动窗函数g(?)的中心位置,即可得到不同时刻的傅立叶变换。这些傅立叶变换的集合,即是STFTx(t,?),如图1所示。显然,STFTx(t,?)是变量(t,?)的二维函数。

设语音波形分帧处理后得到的第n帧语音信号为 Xn(m),则Xn(m)满足下式:

xn(m)?w(m)x(n?m)(m) 0?m?N?1

, m?0~(N?1)w(m)?{10, m?其他值

其中,n=0,1T,2T,?,并且N为帧长,T为帧移长度。某一帧的短时傅里叶变换的定义如下:

Xn(e)?j?m????x(m)w(n?m)e???j?m

式中w(n-m)是窗函数。不同的窗函数,可得到不同的傅里叶变换的结果。可以看出短时傅里叶变换有两个变量,即离散时间n及连续频率w。若令??2πkN,则可得到离散的短时傅里叶变换如下: Xn(ej2πkN)?Xn(k)?m????x(m)w(n?m)e???j2πkmN ,0?k?N?1

j?X(e) 频率抽样。将上述某一帧语音信号的傅里叶变n它实际上就是

换写为

Xn(e)?j?m????[x(m)w(n?m)]e???j?m

可以看出时变傅里叶变换是时间标号n的函数,当n变化时,窗函数w(n-m)沿着x(m)滑动。

图1 窗函数w(n-m)沿着x(m)滑动

可以得出结论:短时傅里叶变换实际就是窗选语音信号的标准傅里叶变换。这里,窗w(n-m)是一个“滑动的”窗口,它随n的变化而沿着序列X(n)滑动。由于窗口是有限长度的,满足绝对可和条件,所以这个变换是存在的。当然窗口函数不同,博里叶变换的结果也将不同。

对于w(n-m)窗来说,它除了具有选出x(m)序列中被分析部分作用外,其形状对时变傅里叶变换的特性也具有重要作用,从标准傅里叶变换可以

j?nX(e)被看成是w(n-m)x(m)序列的标准傅里叶方便的解释这种作用。如果n变换,同时假设x(m)及w(m)的标准傅里叶变换存在,即:

X(e)???j?m????x(m)e???j?m

W(e)?j?m????w(m)e?j?m

当n固定时,序列w(n-m)的傅里叶变换为

m????w(n?m)e???j?m?W(e?j?)e?j?n

根据卷积定理,有:

Xn(ej?)?[W(e?j?)?e?j?n]* [X(ej?)]

因为上式右边两个卷积项均为关于角频率w的以2π为周期的连续函数,所以也可将其写成以下的卷积积分形式:

Xn(ej?)?1π?j??j?nj(???)W(e)e?X(e)d? 2π??π假设x(m)的DTFT是X(ejw),且w(m)的DTFT是W(ejw),那么Xn(ejw)是

X(ejw)和W(ejw)的周期卷积。

根据信号的时宽带宽的积为一常数这一基本性质,可知W(ejw)主瓣宽度与窗口宽度成反比,N越大,W(ejw)的主瓣越窄。为了使Xn(ejw)忠实再现X(ejw)的特性,W(ejw)相对于X(ejw)来说必须是—个冲激函数。所以为了使

N??;但是N值太大时,信号的分帧又失去了意义。尤Xn(ejw)?X(ejw,需)其是N大于语音的音素长度时,Xn(ejw)已不能反映该语音音素的频谱了。因此,应折衷选择窗的宽度N。另外,窗的形状也对短时博氏频谱有影响,如矩形窗,虽然频率分辨率很高(即主辩狭窄尖锐),但由于第一旁瓣的衰减很小,有较大的上下冲,采用矩形窗时求得的Xn(ejw)与X(ejw)的偏差较大,这就是Gibbs效应,所以不适合用于频谱成分很宽的语音分析中。而汉明窗在频率范围中的分辨率较高,而且旁瓣的衰减大,具有频谱泄漏少的优点。所以在求短时频谱时一船采用具有较小上下冲的汉明窗。

短时傅里叶变换有下列性质:

(1) 时移性 设 f(t)?f(t?t0) 则

STFT~(t,w)?STFTf(t?t0,w)e?jwt0

f~ (2) 频移性 设 f(t)?f(t)ejw0t,则

STFT~(t,w)?STFTf(t,w?w0)

f~短时傅里叶变换具有频移不变性,不具有时移不变性.但是,它在某一调制范围内即相差一相位因子的范围内保持时移不变性. (3) 若综合窗函数h(t)满足“完全重构条件”:

?????(t)h*(t)dt?1

则f(t)可由逆变换完全重构,即

???jw?STFT(t,w)h(t??)ed?dw f(t)?????????

语音信号的时域分析

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

割、预处理、大分类等。

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

MATLAB数据采集箱中提供的进行语音信号分析的函数命令如下: wavread :wavread 用于读取扩展名为“.wav”的声音文件。其调用形式为: y = wavread (‘filename’) 。其作用是读取wave 文件,将读取的采样数据送到y 中。

sound:音频信号是以向量的形式表示声音采样的。sound 函数用于将向量转换为声音,其调用形式为:sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。

通过wavread和plot()函数即可显示语音信号的时域波形。如图2所示。

图2 语音信号的时域波形

贯穿于语音分析全过程的是“短时分析技术”。因为,语音信号从整体来看其特性及表征其本质特征的的参数均是随时间而变化的,所以它是一个非平稳过程,不能用处理平稳信号的数字信号处理技术对其进行分析处理。但是,由于不同的语音是由人的口腔肌肉运动产生的,相对于语音频率来说是非常缓慢的,所

本文来源:https://www.bwwdw.com/article/bw5h.html

Top