1.什么是汉明窗?
从语音的角度说
理论:
语音信号是一种非平稳的时变信号,其产生过程与发声器官的运动紧密相关。而发声器官的状态变化速度较声音振动的速度要缓慢的多,因此语音信号可以认为是短时平稳的。研究发现,在10~30ms的范围内,语音频谱特征和一些物理特征参数基本保持不变。因此可以将平稳过程的处理方法和理论引入到语音信号的短时处理中,将语音信号划分为很多短时的语音段,每个短时的语音段称为一个分析帧。这样,对一帧语音信号进行处理就相当于对特征固定的持续信号进行处理。帧既可以是连续的,也可以采用交叠分帧,一般帧长取10~30ms。
一般每秒的帧数约为33~100帧,视实际情况而定。分帧虽然可以采用连续分段的方法,但一般要采用交叠分段的方法,这是为了使帧与帧之间平滑过度,保持其连续性。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比值一般取为0~1/2。分帧是用可移动的有限长度窗口进行加权的方法来实现的,就是用一定的窗函数w(n)来乘S(n)。
取10ms到30ms之间的语音信号,我们可以把它看成是平稳的。为了处理语音信号,我们要对语音信号进行加窗,也就是一次仅处理窗中的数据。因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行一次性处理。明智的解决办法就是每次取一段数据,进行分析,然后再取下一段数据,再进行分析。(分段截取数据) 怎么仅取一段数据呢?一种方式就是构造一个函数。这个函数在某一区间有非零值,而在其余区间皆为0.汉明窗就是这样的一种函数。它主要部分的形状像sin(x)在0到pi区间的形状,而其余部分都是0.这样的函数乘上其他任何一个函数f,f只有一部分有非零值。
为什么汉明窗这样取呢?因为之后我们会对汉明窗中的数据进行FFT,它假设一个窗内的信号是代表一个周期的信号。(也就是说窗的左端和右端应该大致能连在一起)而通常一小段音频数据没有明显的周期性,加上汉明窗后,数据形状就有点周期的感觉了。
因为加上汉明窗,只有中间的数据体现出来了,两边的数据信息丢失了,所以等会移窗的时候,只会移1/3或1/2窗,这样被前一帧或二帧丢失的数据又重新得到了体现。
简单的说汉明窗就是个函数,它的形状像窗,所以类似的函数都叫做窗函数。
2.加Hanmming窗的作用
由于直接对信号(加矩形窗)截断会产生频谱泄露,为了改善频谱泄露的情况,加非矩形窗,一般都是加汉明窗,因为汉明窗的幅频特性是旁瓣衰减较大,主瓣峰值与第一个旁瓣峰值衰减可达43db。
汉明窗函数为
*W(n,α ) = (1 -α ) - α cos(2*PI*n/(N-1)),0≦n≦N-1*