概述
SDB(Superdirective Beamformer,超指向波束)是麦克风阵列处理中实现语音增强的一种方法。SDB使用MVDR(Minimum Variance Distortionless Response)准则,且采用理论推导的噪声场,如散射噪声场。超指向的“超(Super)”指的是SDB相对于传统DSB(Delay-Sum Beamformer)能实现更好的指向性。本文介绍频域SDB原理,包括MVDR准则、所用噪声场并画出波束图(Beam Pattern)。
符号表示:对语音信号做短时傅里叶变换,用 k k k 表示各频点, l l l 表示帧编号, M M M表示麦克风个数, c c c表示声速, θ \theta θ为目标声源的角度, τ m n \tau_{mn} τmn表示第 m m m个麦克风与第 n n n个麦克风的时延差, l m n l_{mn} lmn表示第 m m m个麦克风与第 n n n个麦克风的距离。 W ( k , l ) W(k,l) W(k,l)表示波束的系数, d θ ( k , l ) = ( 1 , e − j w τ 21 , . . . , e − j w τ M 1 ) T \textbf{d}_\theta(k,l)=(1, e^{-jw\tau_{21}}, ..., e^{-jw\tau_{M1}})^T dθ(k,l)=(1,e−jwτ21,...,e−jwτM1)T表示来自角度 θ \theta θ方向的方向向量, R z z ( k , l ) R_{zz}(k,l) Rzz(k,l)表示噪声互相关矩阵。下文为简洁起见省略括号,分别用 W W W、 d \textbf{d} d和 R z z R_{zz} Rzz表示对应项。
原理
MVDR
MVDR的目标是求解如下优化问题:
min W { W H R z z W } \min \limits_{W}\{W^HR_{zz}W\} Wmin{WHRzzW}
s . t . d θ H W = 1 s.t. \textbf{d}_{\theta}^HW=1 s.t.dθHW=1
采用拉格朗日乘子法可解得
W o p t = R z z − 1 d θ d θ H R z z d θ W_{opt}=\frac{R_{zz}^{-1}\textbf{d}_{\theta}}{\textbf{d}_{\theta}^HR_{zz}\textbf{d}_{\theta}} Wopt=dθHRzzdθRzz−1dθ
可见,如果已知目标声源方向,已知噪声互相关矩阵
R z z R_{zz} Rzz,就可使用上式求得
W W W。其中目标声源方向可使用DOA估计算法求得,而标准的超指向波束使用的噪声互相关矩阵为散射(Diffused)噪声场的互相关矩阵,后文将介绍。
拉格朗日乘子法推导
W o p t W_{opt} Wopt的具体过程如下:
拉格朗日函数为
L ( W , λ ) = W H R z z W + λ ( d θ H W − 1 ) L(W, \lambda)=W^HR_{zz}W+\lambda(\textbf{d}_{\theta}^HW-1) L(W,λ)=WHRzzW+λ(dθHW−1)
对其求导且置零
∂ L ( W , λ ) ∂ W ∗ = R z z W + λ d θ = 0 \frac{\partial L(W, \lambda)}{\partial W^*}=R_{zz}W+\lambda\textbf{d}_{\theta}=\textbf{0} ∂W∗∂L(W,λ)=RzzW+λdθ=0
得
W o p t = − λ R z z − 1 d θ W_{opt}=-\lambda R_{zz}^{-1}\textbf{d}_{\theta} Wopt=−λRzz−1dθ
将上式代入MVDR的约束条件
d θ H W o p t = 1 \textbf{d}_{\theta}^HW_{opt}=1 dθHWopt=1中,可解得
λ = − 1 d θ H R z z d θ \lambda=-\frac{1}{\textbf{d}_{\theta}^HR_{zz}\textbf{d}_{\theta}} λ=−dθHRzzdθ1,再将
λ \lambda λ代入上式,即可得上文所示
W o p t W_{opt} Wopt的解析式。
散射噪声场
散射噪声场描述处于强反射封闭空间中的噪声场,即麦克风接收到的噪声来自于四面八方的反射噪声。3D空间的散射噪声场,也称为spherical isotropic noise field,其互相关矩阵为
R z z = [ 1 R z 1 z 2 ⋯ R z 1 z M R z 2 z 1 1 ⋯ R z 2 z M ⋮ ⋮ ⋱ ⋮ R z M z 1 R z M z 2 ⋯ 1 ] 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] Rzz=⎣⎢⎢⎢⎡1Rz2z1⋮RzMz1Rz1z21⋮RzMz2⋯⋯⋱⋯Rz1zMRz2zM⋮1⎦⎥⎥⎥⎤
其中
R z m z n = s i n c ( w l m n c ) Rz_mz_n=sinc(\frac{wl_{mn}}{c}) Rzmzn=sinc(cwlmn)
2D空间的散射噪声场,也称为cylindrical isotropic noise field,模拟比如天花板和地板弱反射而四周强反射的房间内的噪声场。其互相关矩阵中的元素为
R z m z n = J 0 ( w l m n c ) Rz_mz_n=J_0(\frac{wl_{mn}}{c}) Rzmzn=J0(cwlmn)
其中
J 0 ( ⋅ ) J_0(·) J0(⋅)为第一类零阶Bessel函数。
由于散射噪声场的互相关矩阵只与麦克风阵列结构有关,而与信号无关,因此计算所得的波束系数
W o p t W_{opt} Wopt也与数据无关。只有当目标方向改变时,才需重新计算
W o p t W_{opt} Wopt。
以两麦为例,互相关矩阵的推导如下:
对spherical isotropic噪声场,考虑下图所示的球体,假设球半径
R R R远大于麦克风间距
d d d。
图1 spherical isotropic 噪声场示意图
先考虑只有两个噪声源,分别来自不同的方向
ϕ 1 \phi_1 ϕ1和
ϕ 2 \phi_2 ϕ2,两个麦克风分别用下标A和B表示,则麦克风接收信号为
s A ( t ) = s 1 ( t ) + s 2 ( t ) s_A(t)=s_1(t)+s_2(t) sA(t)=s1(t)+s2(t)
s B ( t ) = s 1 ( t − d c o s ϕ 1 c ) + s 2 ( t − d c o s ϕ 2 c ) s_B(t)=s_1(t-\frac{dcos\phi_1}{c})+s_2(t-\frac{dcos\phi_2}{c}) sB(t)=s1(t−cdcosϕ1)+s2(t−cdcosϕ2)
自相关功率谱和互相关功率谱分别为
S A A ( e j w ) = S 1 ( e j w ) + S 2 ( e j w ) S_{AA}(e^{jw})=S_1(e^{jw})+S_2(e^{jw}) SAA(ejw)=S1(ejw)+S2(ejw)
S B B ( e j w ) = S 1 ( e j w ) + S 2 ( e j w ) S_{BB}(e^{jw})=S_1(e^{jw})+S_2(e^{jw}) SBB(ejw)=S1(ejw)+S2(ejw)
S A B ( e j w ) = S 1 ( e j w ) e − j w d c o s ϕ 1 c + S 2 ( e − j w d c o s ϕ 2 c ) S_{AB}(e^{jw})=S_1(e^{jw})e^{-jw\frac{dcos\phi_1}{c}}+S_2(e^{-jw\frac{dcos\phi_2}{c}}) SAB(ejw)=S1(ejw)e−jwcdcosϕ1+S2(e−jwcdcosϕ2)
由互相关函数的定义
γ ( e j w ) = S A B ( e j w ) S A A ( e j w ) S B B ( e j w ) \gamma(e^{jw})=\frac{S_{AB}(e^{jw})}{\sqrt{S_{AA}(e^{jw})S_{BB}(e^{jw})}} γ(ejw)=SAA(ejw)SBB(ejw) SAB(ejw)
可知
γ ( e j w ) = 1 2 ( e − j w d c o s ϕ 1 c + e − j w d c o s ϕ 2 c ) \gamma(e^{jw})=\frac 1 2(e^{-jw\frac{dcos\phi_1}{c}}+e^{-jw\frac{dcos\phi_2}{c}}) γ(ejw)=21(e−jwcdcosϕ1+e−jwcdcosϕ2)
如果存在N个不相关的噪声源,互相关函数为
γ ( e j w ) = 1 N ∑ n = 1 N e − j w d c o s ϕ n c \gamma(e^{jw})=\frac 1 N\sum\limits_{n=1}^Ne^{-jw\frac{dcos\phi_n}{c}} γ(ejw)=N1n=1∑Ne−jwcdcosϕn
考虑图1所示球面上所有点都是噪声源,红线所示的圆环都对应同一个角度
ϕ \phi ϕ,圆环的面积是
2 π R s i n ϕ R d ϕ 2\pi Rsin \phi Rd\phi 2πRsinϕRdϕ,球表面积为
4 π R 2 4\pi R^2 4πR2,则有
γ ( e j w ) = 1 4 π R 2 ∫ 0 π e j w d c o s ϕ c 2 π R 2 s i n ϕ d ϕ = s i n c ( w d c ) \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}) γ(ejw)=4πR21∫0πejwcdcosϕ2πR2sinϕdϕ=sinc(cwd)
同理,对cylindrical isotropic噪声场,在平面圆上求解,有
γ ( e j w ) = 1 2 π R ∫ 0 2 π e − j w d c o s ϕ c R d ϕ = J 0 ( w d c ) \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}) γ(ejw)=2πR1∫02πe−jwcdcosϕRdϕ=J0(cwd)
以上。
波束图
Beam pattern的定义为 ∣ W H d ϕ ∣ |W^H\textbf{d}_\phi| ∣WHdϕ∣,即给定那个某 W W W,它反映波束在不同频点 f f f上对不同来声方向 ϕ \phi ϕ的信号给予多大增益。从波束图上能清晰看出波束的指向性、不同频点的主瓣宽度、混叠频率等信息。
这里设麦克风阵列为彼此间距6cm的四麦克风圆阵(分别分布在0°、90°、180°和270°方向),目标方向为135°,采样率为16kHz,使用超指向波束计算 W W W,噪声场采用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