上一篇关于beamformer的文章应该是一年之前,刚入门的时候看了,理解有些粗浅,现在就一些细节上的问题(也是上篇文章中没有提及的地方)补充一些理解,后面实践加深会继续补充。
导向向量估计
首先,导向向量$\mathbf{d}_f$的估计,$\mathbf{d}_f$描述的是声源的方位信息,对波束形成器的指向性十分关键。目前常见的方法是用协方差矩阵$\mathbf{R}_{xx}$的主特征值进行估计,背后的假设在理想情况下,方向性声源的$\mathbf{R}_{xx}^\theta$是个秩为1的矩阵,即可以表示为:
而通常我们采用二阶统计量估计出来的协方差矩阵秩是不为1的,因此,采用主特征值的想法是近似一个秩为1的矩阵,提取其方向信息,这种方法也称为PCA方法,因为可以视为PCA算法中主成分设为1时的特殊情况。这时的$\mathbf{R}_{xx}$被近似为:
考虑到$\mathbf{R}_{xx}$共轭对称,有:
其中$\mathbf{\Lambda}$为对角矩阵,$\mathbf{V}$为正交矩阵。
Beamformer等价性
signal的一些文章中还经常使用到下面两个性质,做一些等价变换
- $\text{trace}(AB) = \text{trace}(BA) $
- $\mathbf{R}_{yy} = \mathbf{R}_{xx} + \mathbf{R}_{vv}$
比如:$\mathbf{h}_{\text{MVDR}} = \mathbf{h}_{\text{PMWF-0}} $,即MVDR和PMWF-0二者等价。
MVDR的weight最常见的表达形式为:
如果认为$\mathbf{R}_{f,xx} = \phi_{ss} \mathbf{d}_{f}\mathbf{d}_{f}^H$,那么上式可以简化为:
$\mathbf{h}_{\text{PMWF-}\beta}$[2]通常写成:
$\beta = 0$时候,$\mathbf{h}_{f,\text{PMWF-}\beta}$和$\mathbf{h}_{f,\text{MVDR}}$只相差一个缩放因子$d_r$:
关于$\mathbf{u}_r$的选择,可以人为指定,也可以使用SNR选择[3](遍历channel,选平均snr最大的做参考):
最后说一下MCWF[1](考虑后面有人拿它直接做spatial feature),直接以参考信号的MSE为代价函数:
通常假设噪声和speech不相关,因此有$\mathbf{R}_{yx} = \mathbf{R}_{xx}$,求解上式:
可以进一步表示为:
由此可以看出,$\mathbf{h}_{\text{MCWF}} = \mathbf{h}_{\text{PMWF-1}}$,总结即是下面两点:
- $\mathbf{h}_{\text{MCWF}} = \mathbf{h}_{\text{PMWF-1}}$
- $\mathbf{h}_{\text{MVDR}} = \mathbf{h}_{\text{PMWF-0}}$
Reference
[1]. Benesty J, Chen J, Huang Y. Microphone array signal processing[M]. Springer Science & Business Media, 2008.
[2]. Souden M, Benesty J, Affes S. On optimal frequency-domain multichannel linear filtering for noise reduction[J]. IEEE Transactions on audio, speech, and language processing, 2010, 18(2): 260-276.
[3]. Erdogan H, Hershey J R, Watanabe S, et al. Improved MVDR Beamforming Using Single-Channel Mask Prediction Networks[C]//Interspeech. 2016: 1981-1985.