【文件属性】:
文件名称:后置维纳滤波-codesys2.3中文教程(学习plc编程的最好教程)
文件大小:2.37MB
文件格式:PDF
更新时间:2021-06-11 06:51:56
延迟-求和 麦克风阵列 语音增强
5.3后置维纳滤波
为了消除改进的LSA—MMSE处理后的语音中的残留噪声,特添加一个后置维
纳滤波【41。
假定带噪信号为x(t)=s(f)+d(f),s(t)和门(f)都是短时平稳过程,则对
Winer.Hopf方程[4]
如(f)。L办(口)如(f—a)aa (5-33)
两边取傅里叶变换可得:
P。(∞)=H(co)p=(co) (5-34)
从而得到:
H(ro):丝婴 (5-35)
p。坶)
又因为:
‰(∞)=见(国) (5—36)
且考虑到s(f)和力(f)相互独立,所以有:
艮(∞)=只(国)+以(国) (5-37)
这样将式(5-36)和式子(5.37)代入式子(5.35),则可以得到如下的式子:川叫2鼎(5-38)ps旧)+pn@)
需要注意的是:在推导过程中,假设信号是短时平稳的,所以语音信号必须
是加窗后的短时分帧信号。
本方法在实际中,对语音信号加汉明窗,每帧长为25ms,帧间重叠12.5ms,
首先对带噪语音x(f)进行离散傅里叶变换,即X(w)=FFT(x(t));然后提取语音的
幅度Y(m)和相位Y(p)分别存储起来。
首先进行初始噪声估计。取噪声段即语音初始段的帧数,然后求得初始噪声
功率谱的均值PN。接下来进行维纳滤波,对每一帧语音进行噪声估计更新。当采
样数小于初始噪声段时,此时为非有声段。反之,先令noisemargin=3,Hangover=8,
然后根据下式计算
SpectralDist=20(109 l 0(】,(七))一log 1 0(M7V)) (5-39)
其中MN为初始噪声均值;并使spectralDist中小于0的值都等于0,然后取其均
值Dist,如果Dist小于Noisemargin,那么就为噪声段,噪声段加1;否则不是噪
声。当检测到大于Hangover的噪声段时,说明此段为无语音段,否则为语音段。
如果是无语音段即噪声段,根据下面的式子