单通道语音增强之统计信号模型

1. 信号估计理论简述

信号估计理论是现代统计处理的基础课题[@ZhangXianDa2002ModernSP],在通信、语音、图像领域均有广泛应用。语音增强,就是从带噪的语音测量信号中估计原始的无噪语音,这是典型的信号估计问题。
《语音增强–理论与实践》[@loizou2007speech]一书中列举了用于语音增强的一系列统计模型。

假设麦克风采集到的带噪语音序列为,并且噪声都是加性噪声。则带噪语音序列为无噪语音序列与噪声序列的和。原始语音信号与噪声均可视为随机信号。

在时域对进行估计是非常困难的,通过傅立叶变换,我们可以将信号分解为频域上互相独立的系数。信号估计模型转变为对每一个频点的系数进行估计的模型,不同频点之间的参数是相互独立的。

这个方法就叫做统计信号谱分析(Statistical Spectral
Analysis)。显然地,纯净信号谱带有幅度与相位两参数,我们实际上是对幅度和相位进行参数估计。

重组谱幅度和谱相位估计值即可恢复纯净语音谱,估计值用上标来表示:。

实际信号的幅度和相位是不方便直接用在运算过程中的,因为信号取值范围不定,且瞬时变化。在噪声抑制领域,更常用的语音谱估计方法是对抑制增益(Suppression
Gain)进行估计,不同的估计准则称为抑制准则(Supression Rule)。

通常会根据先验信噪比、后验信噪比来估计抑制增益。
并且可以在只有噪声出现的时刻更新,
在语音存在的时刻进行抑制,无须每帧去调用噪声抑制算法,计算过程比直接估计信号谱灵活。

综上,语音增强的典型流程就是:

  1. 对带噪语音y[n]分帧, 每一帧进行DFT得到。

  2. 估计或者沿用上一帧的抑制增益,得到纯净语音谱

  3. 对进行IDFT,得到纯净语音序列的估计。

为了估计模型的建模,对测量信号、估计信号、噪声信号都需要作一些数学上的假设和简化。其中对噪声一般会作以下假设:

  1. 噪声是与语音独立的加性噪声;

  2. 每一帧噪声的统计分布是稳态的;

  3. 噪声的傅立叶级数是零均值复高斯分布。

2. 最大似然估计ML

如果不考虑信号的先验分布,即认为信号值是确定信号,而不是随机信号,我们只需要分析含有信号为参数的带噪信号的概率分布,并使之最大。这种估计方法叫最大似然估计器(Maximum
Likelihood
Estimation)。将的带参概率分布称为似然函数(Likelihood
Function)。对纯净信号的估计,表达为求解合适的值,使得似然函数最大。

文献[@mcaulay1980speech]最早将最大似然估计法用在语音增强领域。对于纯净语音,可以假设纯净语音幅度和相位是未知但确定,无需考虑其先验概率分布。最大似然语音增强模型表达为:

把代入噪声零均值复高斯分布公式中,得到:

3.贝叶斯估计

如果比最大似然估计更进一步,考虑待估计量也是随机变量,且的先验分布为,这种假设下的估计方法叫做贝叶斯估计[@ZhangXianDa2002ModernSP]。定义估计值与实际值之间的误差函数为,贝叶斯估计器的目标即为找出是平均误差最小的估计值。

对于待估计的纯净语音谱,贝叶斯估计器可以表达为:

误差的期望值取决于待测信号与测量信号的联合概率分布。

根据条件概率密度公式对联合概率密度进行分解:

因为估计值与相互独立,可以把外层对的积分消除,也就是:

误差函数的计算模型,会引出不同种类的估计器。典型的误差函数有几种类型[@ZhangXianDa2002ModernSP]:

  1. 平方误差函数,对应最小均方估计。

  2. 绝对值误差函数,对应条件中位数估计。

  3. 均匀误差函数,对应最大后验估计。

3.1 最小均方估计(MMSE)

最小均方估计(Minimum Mean Square Error
Estimation)[@ephraim1985speech]使用平方误差函数,平均误差为:

为求平均误差的极大值,可对估计量求导,并求极值点。

显然极值点的为被估计量的条件均值:

亦可以使用贝叶斯公式展开,得到:

在语音增强的模型里,纯净语音谱的估计为其在带噪语音谱下的条件均值。

上式中,为得到纯净语音谱需要分别估计谱幅度和谱相位: 。

同时估计谱幅度和谱相位是很难的,研究者提出了许多分别估计谱幅度和谱相位的方法,估计完成后再用两者重组复语音信号。

3.1.1 MMSE谱幅度估计

最小均方根估计器MMSE short-time spectral amplitude

    def mmse_stsa_gain(parameters=None):
        gamma = parameters['gamma']
        ksi = parameters['ksi']
            
        vk = ksi * gamma / (1 + ksi)
        j0 = np.i0(vk / 2)
        j1 = np.i1(vk / 2)
            
        A = sqrt(pi * vk) / 2 / gamma
        B = (1 + vk) * j0 + vk * j1
        C = np.exp(-0.5 * vk)
        gain = A * B * C
        return gain

3.1.2 MMSE对数谱幅度估计

对数最小均方根估计器The MMSE log spectral amplitude (MMSE-LSA),
或者缩写为LogMMSE估计器。

    def logmmse_gain(parameters=None):
        gamma = parameters['gamma']
        ksi = parameters['ksi']
        A = ksi / (1 + ksi)
        vk = A * gamma
        ei_vk = 0.5 * expn(1, vk)
        gain = A * np.exp(ei_vk)
        return gain

3.1.3 MMSE平方谱幅度估计

频谱幅度平方估计器MMSE magnitude squared[@wolfe2003efficient]

    def mmse_sqr_gain(parameters=None):
        gamma = parameters['gamma']
        ksi = parameters['ksi']
            
        vk = ksi * gamma / (1 + ksi)
        j0 = np.i0(vk / 2)
        j1 = np.i1(vk / 2)
            
        A = ksi / (1 + ksi)
        B = (1 + vk) / gamma
        gain = sqrt(A * B)
        return gain

3.2 最大后验估计 MAP

当贝叶斯估计器采用均匀误差函数时,平均误差为:

显然要使得平均误差最小,就是要求目标估计,使得
最大。这种估计模型称作最大后验估计(Maximum A Posteriori
Estimation)。这个模型的意思是只有估计值与原始值相等,误差才为0,其他时候误差均匀为1。估计值可以表达为:

在语音增强的模型里,纯净语音谱的估计为其在带噪语音谱下的条件均值。

文献[@wolfe2003efficient]提出了两种基于最大后验估计(Maximum A Posteriori
Estimation)的语音增强算法。一种是同时求解幅度和相位的混合最大后验估计:
另外一种是单纯估计幅度的方法,两种估计器最后的噪声抑制增益略有不同。

3.2.1 幅度和相位混合最大后验估计

[@wolfe2003efficient]

def map_joint_gain(parameters=None):
    gamma = parameters['gamma']
    ksi = parameters['ksi']
    
    eps = 1e-6
    gain = (ksi + sqrt(ksi^ 2 + 2 * (1.0 + ksi)* ksi/ (gamma + eps))) / 2.0/ (1.0 + ksi)
    return gain

3.2.2 纯幅度最大后验估计

[@wolfe2003efficient]

def map_sa_gain(parameters=None):
    gamma = parameters['gamma']
    ksi = parameters['ksi']
    
    eps = 1e-6
    gain = (ksi + sqrt(ksi^ 2 + (1.0 + ksi)* ksi/ (gamma + eps))) / 2.0/ (1.0 + ksi)
    return gain


参考文献

[1] 张贤达, 现代信号处理. 清华大学出版社有限公司, 2002.

[2] P. C. Loizou, Speech enhancement: theory and practice. CRC press, 2007.

[3] R. McAulay and M. Malpass, Speech enhancement using a soft-decision noise suppression filter," IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 28, no. 2, pp. 137-145,1980.

[4] Y. Ephraim and D. Malah, Speech enhancement using a minimum mean-square error log-spectral amplitude estimator," IEEE transactions on acoustics, speech, and signal processing,vol. 33, no. 2, pp. 443-445, 1985.

[5] P. J. Wolfe and S. J. Godsill, Efficient alternatives to the ephraim and malah suppression rule for audio signal enhancement," EURASIP Journal on Applied Signal Processing, vol. 2003, pp.1043-1051, 2003.

你可能感兴趣的:(单通道语音增强之统计信号模型)