当前位置:首页 > 基于MATLAB语音信号检测分析及处理
基于MATLAB的语音信号检测分析及处理
第二章 语音信号处理
2.1 语音信号特点
语音信号是随时间变化的一维信号,由一连串的音组成,各个音的排列有一定的规则。语音具有声学特征的物理性质,声音质量与它的频率范围有关,语音信号的频率一般是在200Hz~3500Hz范围内,随着带宽的增加,信号的自然度将逐步得到改善。语音信号本身的冗余度是较大的,少数辅音清晰度下降并不明显影响语句的可懂度,比如通常的模拟电话带宽只有3KHz~4KHz。
语音信号的特性是随时间变化的,所以是一种典型的非稳态信号。但是,从另一方面来看,由于语音的形成过程与发音器官的运动密切相关,这种物理运动比起声音振动速度来讲要缓慢得多,因此,语音信号常常可假定为短时平稳的。研究表明,在5ms-40ms的范围内,语音信号的频谱特性和一些物理特征参数基本保持不变。这样,我们就可以将平稳过程的处理方法和理论引入到语音信号的短时处理中。因此,“短时分析技术”贯穿于语音分析的全过程。
语音信号的基本组成单位是音素。音素可分成“浊音”和“清音”两大类。如果将不存在语音而只有背景噪声的情况称为“无声”。那么音素可以分成“无声”、“浊音”、“清音”三类。一个音节由元音和辅音构成。元音在音节中占主要部分。所有元音都是浊音。在汉语普通话中,每个音节都是由“辅音一元音”构成的。 在信号处理中,语音按其激励形式的不同可分为2 类: (1)浊音 当气流通过声门时,如果声带的张力刚好使声带发生张弛振荡式的振荡,产生一股准周期的气流,这一气流激励声道就产生了浊音。这种语音信号是1 种激励信号,它是由规则的全程激励产生的,其时域波形具有准周期性,语音频率集中在比较低的频率范围内,短时能量较高,由于语音信号中的高频成分有高的过零率而低频有低的过零率,因此浊音的过零率低。通常,浊音信号可以由周期激励通过线性滤波器合成。 (2)清音 当气流通过声门时,如果声带不振动,而在某处收缩,迫使气流高速通过这一收缩部分而产生湍流,就得到清音。清音是由不规则的激励产生的,发清音时声带不振动,其时域波形不具有周期性, 自相关函数没有很强的自相关周期峰,其语音频率集中在较高的范围内,短时能量较低,因而过零率较高。通常,清音信号可由白噪声通过线性滤波器合成。
5
基于MATLAB的语音信号检测分析及处理
2.1.1 语音信号的“短时谱”
对于非平稳信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短段,再进行傅里叶变换,就可以得到该语音的短时谱。
2.1.2 基音周期
浊音信号的周期称为基音周期,它是声带振动频率的倒数,基音周期的估计称为基音检测。基音检测是语音处理中的一项重要技术,它在有调语音辨意、低速率语音编码、说话人识别等方面起着非常关键的作用。但在实现过程中,由于声门激励波形不是一个完全的周期脉冲串,再加上声道影响去除不易、基音周期定位困难、背景噪声影响强烈等一系列因素,基音检测面临着很大的困难。现在已有很多性能优越的基音检测算法,自相关基因检测算法就是一种基于语音时域分析理论较好的算法,在这里基于声音文件比较稳定的基础上,使用观察法获取基音周期。
2.2 语音信号预处理
为了消除因为人类发声器官本身和因一些采集语音信号的设备等所引起的混叠、高次谐波失真现象,在对语音信号进行分析和处理之前,必须对其进行预处理。语音信号的预处理应尽可能地保证处理后得到的信号更均匀、平滑,且能提高语音的质量。
2.2.1预加重
在进行语音信号数字处理时,为了获取一段语音信号的时域波形,首先要将语音信号转换成电信号,再用A/D转换器将其变换为离散的数字化采样信号。己经数字化的语音信号将依次进入一个数据区。由于语音信号的平均功率受声门激励和口鼻辐射影响,高频端大约在800Hz以上按6dB/倍频程跌落,即6dB/oct(2倍频)或20dB/dec(10倍频),所以求语音信号频谱时,频率越高相应的成分越小,高频部分的频谱比低频部分的难求,为此要在预处理中进行预加重处理。目的是提升高频部分,使信号变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,而且预加重零点与辐射零点将抵消声门波的影响,使语音信号中只包含声道部分,以便于频谱分析或声道参数分析。图2.1表明了语音预处理的
6
基于MATLAB的语音信号检测分析及处理
过程
语音 采样 量化 预加重 加窗分帧 算法处理 图2.1 语音信号的预处理
预加重一般是在语音信号数字化之后,用具有6dB/倍频程的提升高频特性的预加重数字滤波器来实现,它一般是一阶的数字滤波器:
H(z)?1??z?1
(2-1)
式中?的取值接近于1。
有时要恢复原信号,需要从做过预加重的信号频谱来求实际的频谱时,要对测量值进行去加重处理,即加上6dB/倍频程的下降的频率特性来还原成原来的特性。
2.2.2加窗分帧
语音信号检测首先要进行分帧处理,然后依次判断每一帧是否为语音的端点。如果采用较小的窗长,则计算量增加,语音识别的速度会降低。我们可以在语音静音段时,采用较长的窗 ;在语音和静音的过渡段时采用较小的窗 ,可以确切判断语音的起始点 ;一旦确定语音的起点,就改用常规窗长。
在进行了预加重后,接下来就要对语音信号进行加窗分帧处理。将语音信号划分为许多短时的语音段,每个短时的语音段称为一个分析帧。另外,由于不同语音信号的基音周期不同,为了兼顾男声和女声的最高和最低基音频率,且能准确地描述语音能量自身的实际变化规律,通常将窗宽选为10ms~20ms。
图2.2 帧长和帧移
7
基于MATLAB的语音信号检测分析及处理
如图2.2所示分帧一般采用交叠分段的方法,这是为了使帧与帧之间能平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为0~0.5之间。分帧是用可移动的有限窗口长度进行加权实现的,即用窗函数?(n)乘以语音信号s(n),从而形成加窗的语音信号:
S?(n)?S(n)??(n) (2-2)
由于窗函数一般取为S(n)中间大两头小的光滑函数,这样的冲激响应所对应的滤波器具有低通特性,其带宽和频率取决于窗函数的选取。用得最多的三种窗函数是矩形窗、汉明窗(Hamming)和汉宁窗(Hanning),它们的定义如下:
矩形窗:
?(n)??汉明窗:
?1, 0?n?N?1 (2-3)
?0, 其他?0.54?0.46cos(2?n/(N?1)),0?n?N?1?(n)?? (2-4)
0,其他?汉宁窗:
?(n)???0.5?1?cos(2?n/N)?,0?n?N?1 (2-5)
?0,其他式中N为窗长,窗函数?(n)的选取(形状和长度)对于短时分析参数的特性影响很大,为此应该选择合适的窗口,使其短时参数能更好地反映语音信号的特性变化。以上这些窗函数的幅度频率响应都具有低通特性,它们的主瓣宽度和旁
瓣高度如表1-1所示。
表1-1 1s长的各种窗的主瓣宽度和旁瓣高度
主瓣宽度 旁瓣宽度 矩形 0.81Hz -13dB 汉明 1.19Hz -43dB 汉宁 1.87Hz -32dB 从表中可知:矩形窗的主瓣宽度最小,但其旁瓣高度最高;汉明窗的主瓣最宽,而旁瓣高度最低。矩形窗的旁瓣太高,会产生严重的泄漏现象。汉明窗旁瓣
8
共分享92篇相关文档