《Phase-Based Dual-Microphone Robust Speech Enhancement》

论文下载链接: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.9360&rep=rep1&type=pdf

前言

这篇论文提到的算法,适用场景以及设备摆放情况如下:

正文

基于相位差的双麦语音增强算法,概算法的本质是维纳滤波,基于相位差计算出维纳增益的上界阈值,接着采用上界阈值公式来定义该增益函数,并加入调整系数,对两路分别进行维纳增益幅值调整,将调整后的两路信号采用DAS算法进行相加,最后通过IFFT还原到时域上,完成语音增强。

​ 算法定义了相位差表达式,由维纳滤波入手,将维纳增益函数用相位差来表示,并提供了推导的细节。

细节

双麦信号定义为
x1(t)=s(t)+n1(t)(1)x_1(t)=s(t)+n_1(t) \tag{1} x1​(t)=s(t)+n1​(t)(1)
x2(t)=s(t−τ)+n2(t)(2)x_2(t)=s(t-\tau)+n_2(t) \tag{2} x2​(t)=s(t−τ)+n2​(t)(2)
其中,n1(t)、n2(t)n_1(t)、n_2(t)n1​(t)、n2​(t)是独立的服从高斯分布的噪声信号
这里假设了噪声在双通道上具有稳定的幅值,信号在k时刻的w频点的傅里叶变换X1,k(w)X_{1,k}(w)X1,k​(w),下面给出其极坐标的形式:
X1,k(w)=∣Sk(w)∣ei∠Sk(w)+∣Nk(w)∣ei∠N1,k(w)(3)X_{1,k}(w)=|S_k(w)|e^{i\angle S_k(w)}+|N_k(w)|e^{i\angle N_{1,k}(w)} \tag{3} X1,k​(w)=∣Sk​(w)∣ei∠Sk​(w)+∣Nk​(w)∣ei∠N1,k​(w)(3)
X2,k(w)=∣Sk(w)∣ei∠Sk(w)−iwτ+∣Nk(w)∣ei∠N2,k(w)(4)X_{2,k}(w)=|S_k(w)|e^{i\angle S_k(w)-iw\tau}+|N_k(w)|e^{i\angle N_{2,k}(w)} \tag{4} X2,k​(w)=∣Sk​(w)∣ei∠Sk​(w)−iwτ+∣Nk​(w)∣ei∠N2,k​(w)(4)
​ 相位误差表示为
θτ,k(w)=∠X1,k(w)−∠X2,k(w)−wτ(5)\theta_{\tau, k}(w)=\angle X_{1,k}(w)-\angle X_{2, k}(w)-w\tau \tag{5} θτ,k​(w)=∠X1,k​(w)−∠X2,k​(w)−wτ(5)

​ 幅值调整公式(维纳滤波):
ηk(w)=Rk(w)1+Rk(w)(6)\eta_k(w)=\frac{R_k(w)}{1+R_k(w)}\tag{6} ηk​(w)=1+Rk​(w)Rk​(w)​(6)
​ 利用信噪比公式:
Rk(w)=∣Sk(w)∣2∣Nk(w)∣2(7)R_k(w)=\frac{|S_k(w)|^2}{|N_k(w)|^2} \tag{7} Rk​(w)=∣Nk​(w)∣2∣Sk​(w)∣2​(7)
​ 联合(3)、(4)、(6)得出:
∠X1,k(w)=∠(Rk(w)ei∠Sk(w)+ei∠N1,k(w))(8)\angle X_{1,k}(w)=\angle (\sqrt{R_k(w)}e^{i\angle S_k(w)}+e^{i\angle N_{1,k}(w)}) \tag{8} ∠X1,k​(w)=∠(Rk​(w)​ei∠Sk​(w)+ei∠N1,k​(w))(8)
∠X2,k(w)=∠(Rk(w)ei∠Sk(w)−iwτ+ei∠N2,k(w))(9)\angle X_{2,k}(w)=\angle(\sqrt{R_k(w)}e^{i\angle S_k(w)-iw\tau}+e^{i\angle N_{2,k}(w)}) \tag{9} ∠X2,k​(w)=∠(Rk​(w)​ei∠Sk​(w)−iwτ+ei∠N2,k​(w))(9)
​ 代入(5)可以得到:
θk(w)=∠(Rk(w)+eiy1)−∠(Rk(w)+eiy2)(10)\theta_k(w)=\angle (\sqrt{R_k(w)}+e^{iy_1})-\angle(\sqrt{R_k(w)}+e^{iy_2}) \tag{10} θk​(w)=∠(Rk​(w)​+eiy1​)−∠(Rk​(w)​+eiy2​)(10)
​ 其中,y1=∠N1,k(w)−∠Sk(w)y_1=\angle N_{1,k}(w)-\angle S_k(w)y1​=∠N1,k​(w)−∠Sk​(w),y2=∠N2,k(w)+wτ−∠Sk(w)y_2=\angle N_{2,k}(w)+w\tau-\angle S_k(w)y2​=∠N2,k​(w)+wτ−∠Sk​(w)

​ 先验信噪比的取值范围(详见附A):

Rk(w)≤1sin2(θk(w)2)R_k(w)\leq \frac{1}{sin^2(\frac{\theta_k(w)}{2})} Rk​(w)≤sin2(2θk​(w)​)1​
​ 进而得到,维纳增益函数的上限:
ηk∗(w)≤11+sin2(θτ,k(w)2)(11)\eta_k^*(w)\leq \frac{1}{1+sin^2(\frac{\theta_{\tau,k}(w)}{2})}\tag{11} ηk∗​(w)≤1+sin2(2θτ,k​(w)​)1​(11)
​ 在该论文中,维纳增益函数采用下述表达式:
ηk(w)=11+γθτ,k2(w)(12)\eta_k(w)=\frac{1}{1+\gamma \theta_{\tau,k}^2(w)}\tag{12} ηk​(w)=1+γθτ,k2​(w)1​(12)

ηk(w)=11+γθτ,k2(w)\eta_k(w)=\frac{1}{1+\gamma \theta^2_{\tau, k}(w)} ηk​(w)=1+γθτ,k2​(w)1​

​ 其中,γ\gammaγ是一个固定的常数,用于控制消噪的激进程度(实际上是对相位差的敏感度),对该参数的取值进行对照实验。

上图中,维纳增益函数随着相位差的绝对值,减小而增大,在0处达到最大值1。系数γ\gammaγ越大,维纳增益越小,表示的是该算法的消噪强度越大。
​ 从上面这张图也可以知道,经过延时校准后,语音信号的相位差应当逼近0,所以此时维纳增益应该接近1,即保持原幅值,两路噪声信号则不会等于0,维纳增益随着相位差的增大而减少。

延时校准

延时和相位的关系
Δϕ=2πfSNτ\Delta\phi=\frac{2\pi f S}{N}\tau Δϕ=N2πfS​τ
SSS是采样频率,NNN是FFT分析帧长,τ\tauτ是信号的时间差。

A、信噪比上界推导

​ 假设在给定的时频区间中,噪声在两个通道中具有稳定的幅值,我们定义信号在k时刻的w频点上的表达式为:
X1,k(w)=∣Sk(w)∣ei∠Sk(w)+∣Nk(w)∣ei∠N1,k(w)(A-1)X_{1,k}(w)=|S_k(w)|e^{i\angle S_k(w)}+|N_k(w)|e^{i\angle N_{1,k}(w)}\tag{A-1} X1,k​(w)=∣Sk​(w)∣ei∠Sk​(w)+∣Nk​(w)∣ei∠N1,k​(w)(A-1)
X2,k(w)=∣Sk(w)∣e∠Sk(w)−iwτ+∣Nk(w)∣ei∠N2,k(w)(A-2)X_{2,k}(w)=|S_k(w)|e^{\angle S_k(w)-iw\tau}+|N_k(w)|e^{i\angle N_{2,k}(w)}\tag{A-2} X2,k​(w)=∣Sk​(w)∣e∠Sk​(w)−iwτ+∣Nk​(w)∣ei∠N2,k​(w)(A-2)
对应的相位误差为:
θk(w)=∠X1,k(w)−∠X2,k(w)−wτ(A-3)\theta_k(w)=\angle X_{1,k}(w)-\angle X_{2,k}(w)-w\tau\tag{A-3} θk​(w)=∠X1,k​(w)−∠X2,k​(w)−wτ(A-3)
又,先验信噪比Rk(w)=∣Sk(w)∣2/∣Nk(w)∣2R_k(w)=|S_k(w)|^2/|N_k(w)|^2Rk​(w)=∣Sk​(w)∣2/∣Nk​(w)∣2,联合(A-1)、(A-2)有:
∠X1,k(w)=∠(Rk(w)⋅ei∠Sk(w)+e∠N1,k(w))(A-4)\angle X_{1,k}(w)=\angle(\sqrt{R_k(w)}\cdot e^{i\angle S_k(w)}+e^{\angle N_{1,k}(w)})\tag{A-4} ∠X1,k​(w)=∠(Rk​(w)​⋅ei∠Sk​(w)+e∠N1,k​(w))(A-4)
∠X2,k(w)=∠(Rk(w)⋅ei∠Sk(w)−wτ+e∠N2,k(w)))(A-5)\angle X_{2,k}(w)=\angle(\sqrt{R_k(w)}\cdot e^{i\angle S_k(w)-w\tau}+e^{\angle N_{2,k}(w)})\tag{A-5}) ∠X2,k​(w)=∠(Rk​(w)​⋅ei∠Sk​(w)−wτ+e∠N2,k​(w)))(A-5)
代入(A-3)中,得到:
θk(w)=∠(Rk(w)+eiy1)−∠(Rk(w)+eiy2)(A-6)\theta_k(w)=\angle(\sqrt{R_k(w)}+e^{iy_1})-\angle(\sqrt{R_k(w)}+e^{iy_2})\tag{A-6} θk​(w)=∠(Rk​(w)​+eiy1​)−∠(Rk​(w)​+eiy2​)(A-6)
其中,y1=∠N1,k(w)−∠Sk(w)y_1=\angle N_{1,k}(w)-\angle S_k(w)y1​=∠N1,k​(w)−∠Sk​(w),y1=∠N2,k(w)+wτ−∠Sk(w)y_1=\angle N_{2,k}(w)+w\tau-\angle S_k(w)y1​=∠N2,k​(w)+wτ−∠Sk​(w),通常来讲,很难知道y1y_1y1​、y2y_2y2​的值,因为需要知道语音、噪声的具体相位值。设θ=∠X1,k(w)\theta=\angle X_{1,k}(w)θ=∠X1,k​(w),即有:
θ=∠(Rk(w)+eiy1)=∠(Rk(w)+cosy1+jsiny1)(A-7)\begin{aligned} \theta &= \angle(\sqrt{R_k(w)}+e^{iy_1})\\ &=\angle(\sqrt{R_k(w)}+cosy_1+jsiny_1) \end{aligned} \tag{A-7} θ​=∠(Rk​(w)​+eiy1​)=∠(Rk​(w)​+cosy1​+jsiny1​)​(A-7)
等式两边分别求tantantan函数:
sinθcosθ=siny1Rk(w)+cosy1(A-8)\frac{sin\theta}{cos\theta}=\frac{siny_1}{\sqrt{R_k(w)}+cosy_1}\tag{A-8} cosθsinθ​=Rk​(w)​+cosy1​siny1​​(A-8)
展开得:
sinθ⋅Rk(w)+cosy1⋅sinθ=siny1⋅cosθ⇓sinθ⋅Rk(w)=siny1⋅cosθ−cosy1⋅sinθ⇓sinθ⋅Rk(w)=sin(y1−θ)≤1⇓sinθ≤1Rk(w)(A-9)\begin{aligned}sin\theta\cdot \sqrt{R_k(w)}+cosy_1 \cdot sin\theta&=siny_1 \cdot cos\theta \\ &\Downarrow \\ sin\theta \cdot \sqrt{R_k(w)}&=siny_1\cdot cos\theta-cosy_1\cdot sin\theta \\ &\Downarrow \\ sin\theta \cdot \sqrt{R_k(w)}&=sin(y_1-\theta)\leq1 \\ &\Downarrow \\ sin\theta &\leq \frac{1}{\sqrt{R_k(w)}} \\ \end{aligned}\tag{A-9} sinθ⋅Rk​(w)​+cosy1​⋅sinθsinθ⋅Rk​(w)​sinθ⋅Rk​(w)​sinθ​=siny1​⋅cosθ⇓=siny1​⋅cosθ−cosy1​⋅sinθ⇓=sin(y1​−θ)≤1⇓≤Rk​(w)​1​​(A-9)
又因为,cosθ=m(Rk(w)+cosy1)≥0cos\theta= m(\sqrt{R_k(w)}+cosy_1)\geq 0cosθ=m(Rk​(w)​+cosy1​)≥0(m为非负实数),所以−π2≤θ≤π2-\frac{\pi}{2}\leq\theta \leq \frac{\pi}{2}−2π​≤θ≤2π​,此时sinθsin\thetasinθ单调递增,所以:
θ≤arcsin(1Rk(w))(A-10)\theta \leq arcsin(\frac{1}{\sqrt{R_k(w)}})\tag{A-10} θ≤arcsin(Rk​(w)​1​)(A-10)

∣∠(Rk(w)+eiy1)∣≤arcsin(1Rk(w))(A-11)|\angle(\sqrt{R_k(w)}+e^{iy_1})|\leq arcsin(\frac{1}{\sqrt{R_k(w)}})\tag{A-11} ∣∠(Rk​(w)​+eiy1​)∣≤arcsin(Rk​(w)​1​)(A-11)
由(A-6)、(A-11)得:
∣θk(w)+∠(Rk(w)+eiy2)∣≤arcsin(1Rk(w))(A-12)|\theta_k(w)+\angle(\sqrt{R_k(w)}+e^{iy_2})|\leq arcsin(\frac{1}{\sqrt{R_k(w)}})\tag{A-12} ∣θk​(w)+∠(Rk​(w)​+eiy2​)∣≤arcsin(Rk​(w)​1​)(A-12)
由(A-11),同理可得:
∣∠(Rk(w)+eiy2)∣≤arcsin(1Rk(w))(A-13)|\angle(\sqrt{R_k(w)}+e^{iy_2})|\leq arcsin(\frac{1}{\sqrt{R_k(w)}})\tag{A-13} ∣∠(Rk​(w)​+eiy2​)∣≤arcsin(Rk​(w)​1​)(A-13)
由(A-12)、(A-13)可得
∣θk(w)2∣≤arcsin(1Rk(w))(A-14)|\frac{\theta_k(w)}{2}|\leq arcsin(\frac{1}{\sqrt{R_k(w)}})\tag{A-14} ∣2θk​(w)​∣≤arcsin(Rk​(w)​1​)(A-14)
整理得:
Rk(w)≤1sin2(θk(w)2)(A-15)R_k(w)\leq \frac{1}{sin^2(\frac{\theta_k(w)}{2})}\tag{A-15} Rk​(w)≤sin2(2θk​(w)​)1​(A-15)

论文:麦克风阵列增强相关推荐

  1. 音视频开发(37)---麦克风阵列语音增强(二)

    麦克风阵列语音增强(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhanglu_wind/article/details/81217093 ...

  2. 音视频开发(35)---麦克风阵列语音增强

    1. 引言   对于语音增强的研究,基本上可以划分成两大分支:单通道的语音增强算法和麦克风阵列的语音增强算法(也称为,多通道的语音增强算法).麦克风阵列的语音增强方法的优势在于考虑了声源的位置信息,可 ...

  3. 菜鸡学习小结--麦克风阵列的波束成形论文(一)

    ROBUST STEERABLE DIFFERENTIAL BEAMFORMERS WITH NULL CONSTRAINTS FOR CONCENTRIC CIRCULAR MICROPHONE A ...

  4. 麦克风阵列语音增强算法——固定波束形成算法

    与单一麦克风不同,麦克风阵列除了能区分接收到的语音信号的时域和频域特性之外,还能区分空间特效,能在嘈杂的语音环境中在特定的方向上形成波束来获得特定声源发出的语音信号,并且能有效抑制噪声.波束形成方法可 ...

  5. 【声源定位】 球面散乱数据插值方法/似然估计hybrid spherical interpolation/maximum likelihood (SI/ML) 麦克风阵列声源定位

    1.软件版本 MATLAB2021a 2.本算法理论知识点 球面散乱数据插值方法/似然估计SI/ML 麦克风阵列声源定位 3.算法具体理论 这个部分的程序如下所示: 这个部分理论如下所示: 本文最后的 ...

  6. 麦克风阵列盲源分离技术

    麦克风阵列盲源分离技术 盲源分离技术仅根据观察到的每一路混叠信号估计原始多路信号,独立成分分析(independent component analysis)卷积混合情况的盲源分离技术.第一部分麦克风 ...

  7. 音视频开发(38)---麦克风阵列仿真环境的搭建

    麦克风阵列仿真环境的搭建 1. 引言   之前,我在语音增强一文中,提到了有关麦克风阵列语音增强的介绍,当然,麦克风阵列能做的东西远远不只是在语音降噪上的应用,它还可以用来做声源定位.声源估计.波束形 ...

  8. 音视频开发( 34)---麦克风阵列原理二

    麦克风阵列原理二 1 麦克风阵列 麦克风阵列,是一组位于空间不同位置的全向麦克风按一定的形状规则布置形成的阵列,是对空间传播声音信号进行空间采样的一种装置,采集到的信号包含了其空间位置信息.根据声源和 ...

  9. 音视频开发(33)----麦克风阵列入门(一)

    麦克风阵列入门(一) 什么是麦克风阵列: 所谓麦克风阵列其实就是一个声音采集的系统,该系统使用多个麦克风采集来自于不同空间方向的声音. 为什么使用麦克风阵列: 麦克风按照指定要求排列后,加上相应的算法 ...

最新文章

  1. php高版本安装ecshop错误解决方法
  2. 单片机检测stc没反应_STC 核心板 入门记 - 你好我叫郑某人
  3. VTK修炼之道81:VTK开发基础_vtkObject类深入分析
  4. 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
  5. 【机器学习基础】一文读懂用于序列标注的条件随机场(CRF)模型
  6. js验证开始日期不能大于结束日期_Excel之日期与时间函数YEAR/MONTH/DAY/DATE/DATEFIF...
  7. Arcgis自下而上从左到右进行编号
  8. WINDOWS 下安装boost
  9. 2021-09-08推荐系统 简述DeepFM模型
  10. svn sync主从同步学习
  11. 一个简单的例子开启Spark机器学习
  12. 海康录像机识别不到硬盘_海康硬盘录像机提示“资源不足”如何解决?
  13. 蒟蒻的控制台贪吃蛇(新手实验)
  14. 计算机的新兴技术在测绘工程领域的应用,测绘新技术在测绘工程测量中应用探讨.doc...
  15. 微信JSAPI几个函数介绍
  16. 51单片机 八音盒设计
  17. 【Restful接口】restful接口的两种使用方式
  18. 开源配置管理系统的选择和搭建
  19. 用ajax接收后台数据里的具体数据,ajax动态接收后台向后台传输数据以及接收数据...
  20. Telegram 搜索机器人BOT

热门文章

  1. 死亡搁浅系统服务器,《死亡搁浅》车辆获取及制造方法
  2. 音视频社交的应用和优势
  3. lanmp centOS7 一键式 搭建配置
  4. 阵列信号DOA估计系列(三).MVDR/Capon波束形成(附代码)
  5. 转:Spark案例:Scala版统计单词个数
  6. 在PC体验sailfishos(旗鱼)系统
  7. python输入日期选择日期_python输入日期输出星座?
  8. 几何光学学习笔记(34)- 7.5 颜色的匹配
  9. 怎么让上下两排对齐_如何快速调整WORD里上下两行名字对齐 - 卡饭网
  10. 厦门大学计算机考研经验分享,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...