当前位置:编程学习 > 网站相关 >>

语音信号的加窗处理

平稳的随机过程是研究语音信号的主要手段,但是语音信号本身并不是平衡的。
一,语音信号不平稳
语音信号在产生过程中与环境和发声器官的联系很紧密,与各种运动都是相关的,信号本身是不平移的信号。主要是由于发声器官的运动不可预测带来的短时变。
但发声器官的状态变化速度较声音振动的速度要缓慢的多,因此语音信号可以认为是短时平稳的。研究发现,在10~30ms的范围内,语音频谱特征和一些物理特征参数基本保持不变。因此可以将平稳过程的处理方法和理论引入到语音信号的短时处理中,将语音信号划分为很多短时的语音段,每个短时的语音段称为一个分析帧。这样,对一帧语音信号进行处理就相当于对特征固定的持续信号进行处理。
如果帧和帧之间都是连续的,那会不会出现帧和帧之间的信息可能会得不到处理的机会,为了避免这种情况,在分帧时需要确定一个帧移,也就是帧是叠加的,使帧和帧之间能够平滑的过渡,帧移一般都是取0~1/2之间的某一个值。我一般取2/5。
 
二,问题
在对语音信号进行分帧之后,然后每一帧都当成平稳信号来处理,后面我们会用傅里叶展开每一项,以获取Mel频谱特征,这时问题就出来了。如下效应会出现
[html] 
将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。这种现象称为吉布斯效应。  
这样就不好了,因为我们的帧在起始和结束肯定是会出现不连续情况的,那样这个信号在分帧之后,就会越来越背离原始信号,此时我们需要对信号进行加窗处理,目的很明显了,就是为了减少帧起始和结束的地方信号的不连续性问题。
三,加窗函数作用
在明白上面的问题之后,就知道为什么需要加窗了。另外,加窗之后是为了进行傅里叶展开,所以加窗的目的大致如下:
使全局更加连续,避免出现吉布斯效应。
加窗之后,原本没有周期性的语音信号呈现出周期函数的部分特征。
 
四,hamming窗定义
 
hamming窗在matlab里有函数表示为hamming,如4hamming窗:
[html]  
>> window=hamming(4)  
  
window =  
  
    0.0800  
    0.7700  
    0.7700  
    0.0800  
hamming的定义如下:
,在0~N以外,全是0。
当然也可以加其他的窗,如方窗,或者hann窗,但hamming窗应用比较多。
补充:Web开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,