【dual-mic】A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios

@[TOC](A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios) 1

1 . Abstract

这里介绍一种基于相干函数的双麦降噪算法,上一篇2中的方法从本质上讲应该是这篇论文里的一个特例,或者说是一种简化处理,这里咱们就来看看完整的框架
  先上系统框图:
  【dual-mic】A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios
  基本与上一篇里面的相同,这里就多了一个SNR EstimationSNR Estimation(信噪比估计),很多降噪算法都依赖于信噪比估计,得到信噪比后,就可以用谱减或维纳滤波进行降噪。那这里我们就主要来看看怎么得到这个信噪比。

2 . SNR Estimation

信号定义以及相干函数的计算都是跟上一篇相同,这里就不重复,直接跳到相干函数跟信噪比的公式:
  公式
  (1)  Γ^y1y2(ω)=[cos(ωτ)+jsin(ωτ)]SNR^1+SNR^+[cos(ωτcosθ)+jsin(ωτcosθ)]11+SNR^     \hat{\Gamma }_{y_{1}y_{2}}(\omega)=[cos(\omega \tau)+jsin(\omega \tau)]\frac{\hat{SNR}}{1+\hat{SNR}}+[cos(\omega \tau cos\theta)+jsin(\omega \tau cos\theta)]\frac{1}{1+\hat{SNR}} \tag{1}   
  分别写出Γ^y1y2(ω)\hat{\Gamma }_{y_{1}y_{2}}(\omega)的实部和虚部如下:
  (2)=SN^R1+SN^Rcosω˙+11+SN^Rcosα \Re=\frac{\mathrm{S} \hat{\mathrm{N}} \mathrm{R}}{1+\mathrm{S} \hat{\mathrm{N}} \mathrm{R}} \cos \dot{\omega}+\frac{1}{1+\mathrm{S} \hat{\mathrm{N}} \mathrm{R}} \cos \alpha\tag{2}
(3)=SNR^1+SN^Rsinω˙+11+SNR^sinα   \Im=\frac{\hat{SNR}}{1+\mathrm{S} \hat{\mathrm{N}} \mathrm{R}} \sin \dot{\omega}+\frac{1}{1+\hat{SNR}} \sin \alpha  \tag{3}
其中ω˙=ωτα=ω˙cosθ\dot{\omega}=\omega \tau,\alpha=\dot{\omega} cos\theta
观察(2)、(3)两式,两个方程,两个未知量,SNR^α\hat{SNR}和\alpha,因此,根据(2)、(3)两式解方程可以得到SNR^α\hat{SNR}和\alpha,其中SNR^\hat{SNR}是我们想要的信息,α\alpha是方向信息,因此这种方法其实也可以用在DOA相关方向上。
  先写出SN^R\mathrm{S} \hat{\mathrm{N}} \mathrm{R}关于α\alpha的表达式:
  (4)SN^R=sinαsinω˙ \mathrm{S} \hat{\mathrm{N}} \mathrm{R}=\frac{\sin \alpha-\Im}{\Im-\sin \dot{\omega}} \tag{4}  
  论文中给出了详细推导求解过程,这里就直接写出结果了
  (5){A=sinω˙B=cosω˙C=sinω˙cosω˙ \left\{\begin{array}{l}{A=\Im-\sin \dot{\omega}} \\ {B=\cos \dot{\omega}-\Re} \\ {C=\Re \sin \dot{\omega}-\Im \cos \dot{\omega}}\end{array}\right. \tag{5}
(6)T=1cosω˙sinω˙ T=1-\Re \cos \dot{\omega}-\Im \sin \dot{\omega} \tag{6}
(7)sinα=BC+ATA2+B2 \sin \alpha=\frac{-B*C+A*T}{A^2+B^2} \tag{7}
  式(5)、(6)都是已知量,然后计算(7),最后代入到(4)中就得到了SN^R\mathrm{S} \hat{\mathrm{N}} \mathrm{R}
  最后,就可以写出增益函数如下了,这里用的是(square-root) Wiener filter
  (8)G(ω,k)=SNR(ω,k)SNR(ω,k)+1  G(\omega, k)=\sqrt{\frac{\operatorname{SNR}(\omega, k)}{\operatorname{SNR}(\omega, k)+1}} \tag{8}

3. Experiment

还是上篇一样的音频,对比下处理前后结果
  【dual-mic】A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios
【dual-mic】A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios
  干扰抑制效果明显,且没有了上一篇中声音变小的现象
References:


  1. Yousefian, N., & Loizou, P. C. (2013). A Dual-Microphone Algorithm That Can Cope With Competing-Talker Scenarios. IEEE Transactions on Audio, Speech, and Language Processing, 21(1), 145–155 ↩︎

  2. Yousefian, N., & Loizou, P. (2011). A Dual-Microphone Speech Enhancement Algorithm Based on the Coherence Function. IEEE Transactions on Audio, Speech, and Language Processing. ↩︎