麦克风阵列处理之超指向波束与散射噪声场

概述

SDB(Superdirective Beamformer,超指向波束)是麦克风阵列处理中实现语音增强的一种方法。SDB使用MVDR(Minimum Variance Distortionless Response)准则,且采用理论推导的噪声场,如散射噪声场。超指向的“超(Super)”指的是SDB相对于传统DSB(Delay-Sum Beamformer)能实现更好的指向性。本文介绍频域SDB原理,包括MVDR准则、所用噪声场并画出波束图(Beam Pattern)。
  符号表示:对语音信号做短时傅里叶变换,用kk 表示各频点,ll 表示帧编号,MM表示麦克风个数,cc表示声速,θ\theta为目标声源的角度,τmn\tau_{mn}表示第mm个麦克风与第nn个麦克风的时延差,lmnl_{mn}表示第mm个麦克风与第nn个麦克风的距离。W(k,l)W(k,l)表示波束的系数,dθ(k,l)=(1,ejwτ21,...,ejwτM1)T\textbf{d}_\theta(k,l)=(1, e^{-jw\tau_{21}}, ..., e^{-jw\tau_{M1}})^T表示来自角度θ\theta方向的方向向量,Rzz(k,l)R_{zz}(k,l)表示噪声互相关矩阵。下文为简洁起见省略括号,分别用WWd\textbf{d}RzzR_{zz}表示对应项。

原理

MVDR

MVDR的目标是求解如下优化问题:
 


  minW{WHRzzW}\min \limits_{W}\{W^HR_{zz}W\}
  s.t.dθHW=1s.t. \textbf{d}_{\theta}^HW=1
 

采用拉格朗日乘子法可解得

Wopt=Rzz1dθdθHRzzdθW_{opt}=\frac{R_{zz}^{-1}\textbf{d}_{\theta}}{\textbf{d}_{\theta}^HR_{zz}\textbf{d}_{\theta}}

可见,如果已知目标声源方向,已知噪声互相关矩阵RzzR_{zz},就可使用上式求得WW。其中目标声源方向可使用DOA估计算法求得,而标准的超指向波束使用的噪声互相关矩阵为散射(Diffused)噪声场的互相关矩阵,后文将介绍。
  拉格朗日乘子法推导WoptW_{opt}的具体过程如下:
拉格朗日函数为

L(W,λ)=WHRzzW+λ(dθHW1)L(W, \lambda)=W^HR_{zz}W+\lambda(\textbf{d}_{\theta}^HW-1)
 

对其求导且置零

L(W,λ)W=RzzW+λdθ=0\frac{\partial L(W, \lambda)}{\partial W^*}=R_{zz}W+\lambda\textbf{d}_{\theta}=\textbf{0}
 



Wopt=λRzz1dθW_{opt}=-\lambda R_{zz}^{-1}\textbf{d}_{\theta}
 

将上式代入MVDR的约束条件dθHWopt=1\textbf{d}_{\theta}^HW_{opt}=1中,可解得λ=1dθHRzzdθ\lambda=-\frac{1}{\textbf{d}_{\theta}^HR_{zz}\textbf{d}_{\theta}},再将λ\lambda代入上式,即可得上文所示WoptW_{opt}的解析式。

散射噪声场

散射噪声场描述处于强反射封闭空间中的噪声场,即麦克风接收到的噪声来自于四面八方的反射噪声。3D空间的散射噪声场,也称为spherical isotropic noise field,其互相关矩阵为


Rzz=[1Rz1z2Rz1zMRz2z11Rz2zMRzMz1RzMz21]R_{zz}= \left[ \begin{matrix} 1 & Rz_1z_2 & \cdots & Rz_1z_M \\ Rz_2z_1 & 1 & \cdots & Rz_2z_M \\ \vdots & \vdots & \ddots & \vdots \\ Rz_Mz_1 & Rz_Mz_2 & \cdots & 1 \\ \end{matrix} \right]
 

其中

Rzmzn=sinc(wlmnc)Rz_mz_n=sinc(\frac{wl_{mn}}{c})
 

2D空间的散射噪声场,也称为cylindrical isotropic noise field,模拟比如天花板和地板弱反射而四周强反射的房间内的噪声场。其互相关矩阵中的元素为

Rzmzn=J0(wlmnc)Rz_mz_n=J_0(\frac{wl_{mn}}{c})
 

其中J0()J_0(·)为第一类零阶Bessel函数。
  由于散射噪声场的互相关矩阵只与麦克风阵列结构有关,而与信号无关,因此计算所得的波束系数WoptW_{opt}也与数据无关。只有当目标方向改变时,才需重新计算WoptW_{opt}
  以两麦为例,互相关矩阵的推导如下:
对spherical isotropic噪声场,考虑下图所示的球体,假设球半径RR远大于麦克风间距dd

麦克风阵列处理之超指向波束与散射噪声场
图1 spherical isotropic 噪声场示意图
 

先考虑只有两个噪声源,分别来自不同的方向ϕ1\phi_1ϕ2\phi_2,两个麦克风分别用下标A和B表示,则麦克风接收信号为

sA(t)=s1(t)+s2(t)s_A(t)=s_1(t)+s_2(t)
sB(t)=s1(tdcosϕ1c)+s2(tdcosϕ2c)s_B(t)=s_1(t-\frac{dcos\phi_1}{c})+s_2(t-\frac{dcos\phi_2}{c})
 

自相关功率谱和互相关功率谱分别为

SAA(ejw)=S1(ejw)+S2(ejw)S_{AA}(e^{jw})=S_1(e^{jw})+S_2(e^{jw})
SBB(ejw)=S1(ejw)+S2(ejw)S_{BB}(e^{jw})=S_1(e^{jw})+S_2(e^{jw})
SAB(ejw)=S1(ejw)ejwdcosϕ1c+S2(ejwdcosϕ2c)S_{AB}(e^{jw})=S_1(e^{jw})e^{-jw\frac{dcos\phi_1}{c}}+S_2(e^{-jw\frac{dcos\phi_2}{c}})
 

由互相关函数的定义


γ(ejw)=SAB(ejw)SAA(ejw)SBB(ejw)\gamma(e^{jw})=\frac{S_{AB}(e^{jw})}{\sqrt{S_{AA}(e^{jw})S_{BB}(e^{jw})}}
 

可知

γ(ejw)=12(ejwdcosϕ1c+ejwdcosϕ2c)\gamma(e^{jw})=\frac 1 2(e^{-jw\frac{dcos\phi_1}{c}}+e^{-jw\frac{dcos\phi_2}{c}})
 

如果存在N个不相关的噪声源,互相关函数为

γ(ejw)=1Nn=1Nejwdcosϕnc\gamma(e^{jw})=\frac 1 N\sum\limits_{n=1}^Ne^{-jw\frac{dcos\phi_n}{c}}
 

考虑图1所示球面上所有点都是噪声源,红线所示的圆环都对应同一个角度ϕ\phi,圆环的面积是2πRsinϕRdϕ2\pi Rsin \phi Rd\phi,球表面积为4πR24\pi R^2,则有

γ(ejw)=14πR20πejwdcosϕc2πR2sinϕdϕ=sinc(wdc)\gamma(e^{jw})=\frac 1 {4\pi R^2}\int_0^{\pi} e^{jw\frac{dcos\phi}{c}}2\pi R^2 sin\phi d\phi=sinc(\frac{wd}{c})
 

 同理,对cylindrical isotropic噪声场,在平面圆上求解,有

γ(ejw)=12πR02πejwdcosϕcRdϕ=J0(wdc)\gamma(e^{jw})=\frac 1 {2\pi R}\int_0^{2\pi} e^{-jw\frac{dcos\phi}{c}}Rd\phi=J_0(\frac{wd}{c})
 
 
 以上。

波束图

Beam pattern的定义为WHdϕ|W^H\textbf{d}_\phi|,即给定那个某WW,它反映波束在不同频点ff上对不同来声方向ϕ\phi的信号给予多大增益。从波束图上能清晰看出波束的指向性、不同频点的主瓣宽度、混叠频率等信息。
  这里设麦克风阵列为彼此间距6cm的四麦克风圆阵(分别分布在0°、90°、180°和270°方向),目标方向为135°,采样率为16kHz,使用超指向波束计算WW,噪声场采用spherical isotropic噪声场,根据定义画出Beam pattern如图2所示。


麦克风阵列处理之超指向波束与散射噪声场
图2 超指向波束的波束图示意
 

 以上。

Reference

本文主要参照书[1]的第2章,关于散射噪声场的推导参照Gannot博士论文[2]的附录A。图1来自[2]。
[1] M. Brandstein, D. Ward, Microphone Arrays: Signal Processing Techniques and Applications, Germany, Berlin:Springer, 2001.
[2] http://www.eng.biu.ac.il/~gannot/articles/phd_pdf.pdf