自适应波束形成
波束形成的原理是调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的信号获得相消干涉。对各个麦克风信号加权求和、滤波,最终得到期望方向的语音信号,相当于形成一个“波束”。
传统波束形成是使用固定的权值来形成某个方向的波束,而自适应波束形成则是根据环境的变化,动态调整阵列麦克风的权重和相位,从而最大限度地抑制干扰噪声并增强目标信号。
基本数学模型
假设一个由 M 个阵元组成的任意构型的接收阵列,空间中存在一个来自方向 θ_0的期望信号,以及来自其他方向的干扰和环境噪声。则各麦克风接收到的信号(Mx1维)可表示为:
其中A为导向矢量,0为目标方向,其他为干扰声源,N为环境噪声。
所有波束形成器的输出都可表示为:
其中权重W则根据各波束形成算法而不同
MVDR最小方差无失真响应
Minimum Variance Distortionless Response,最小方差-无失真响应MVDR的核心思想就是:在确保当前目标方向的信号增益为1(无失真)的约束条件(可以直接理解为使用导向矢量进行约束)下,最小化阵列输出的总功率(即最小化方差),可以表示为:
拉格朗日乘子法求解最优问题
现在我们是要寻找功率函数在无失真约束下的最小值,则可以使用拉格朗日乘子法。
拉格朗日乘子法(Lagrange multipliers)是一种寻找多元函数在一组约束下的极值的方法。
对于求f(x)在g(x)约束下的极值,可以得到如下结论,在最优点x0处,f(x)和g(x)的梯度向量的方向必相同或相反,即存在一个拉格朗日乘子,使得
将该等式与约束条件联立即可求得乘子λ,将λ再带回上式即可获得x_0
在MVDR中,我们的拉格朗日目标函数可表示为:
根据上述结论,对W^H求偏导,有:
将该结果带入约束条件,最终可获得λ的表达:
带入W表达式,最终可获得MVDR最佳权重向量:
这里就可以看出,W与协方差矩阵直接相关(分子是向量决定方向,分母是标量决定尺度,不能约)。最终功率谱则可表示为:
py代码
1 | for f_idx, freq in enumerate(tqdm(freqs, desc="MVDRing")): |
对同一段信号在相同频段进行mvdr和das功率扫描,可以看出MVDR在低频段上表现明显优于DAS,这是由于MVDR对干扰源的抑制能力极强,在低频段主瓣都很大的情况下也能区分声源位置
关于对角加载
MVDR中比较关键的一步就是需要求协方差矩阵R的逆,而从代码中我们可以看到,在求逆之前,我们进行了对角加载,那么对角加载有什么用呢?
核心痛点
在理想状态下,MVDR 依赖真实的协方差矩阵(数学期望)。但在实际工程中,我们只能通过有限个采样快照来估计。这就会导致一个问题:当快拍数较少(甚至小于阵元数),协方差矩阵会发生秩亏缺或条件数极高。此时对 求逆会带来巨大的数值计算误差,导致波束形成器的权重剧烈抖动,旁瓣自适应抬高。
数学原理
因此,在估计的协方差矩阵的对角线上,我们加入了一个底噪声功率:(I为单位矩阵)
加入这个底噪后,原本快拍数不足导致的最小特征值接近于0的问题(会使求逆输出极大值)会因为引入对角加载而被强行拉高特征值,令矩阵的条件数(最大特征值/最小特征值)大幅降低。矩阵求逆运算变得极度稳定,抑制了权重的随机剧烈抖动。
加载量的选择
对于添加的底噪值,其越小则代表自适应能力越强(太强的自适应会导致鲁棒性变差,对导向矢量准确性要求极高),当其接近于无限大时,此时MVDR则退化为DAS,因此需要选择一个合适的值
基于噪声基底
直接将加载量设定为系统背景噪声功率的 10到 100 倍
基于矩阵迹(trace)
根据对角线元素总和,即阵列所有阵元接收到的总功率,也就是将加载量也设置为一个根据采集信号动态调整的值
在我实际使用中,对角加载对mvdr结果影响很大,因此不能随便选
MVDR的优缺点
优点
- 高分辨率: 空间分辨能力显著优于传统的延迟求和波束形成。
- 强干扰抑制(抑制其他声源对目标声源干扰): 能够自动在强干扰源方向形成零陷,大幅提升强干扰环境下的输出信噪比。
- 无需先验干扰信息: 只需要知道目标方向,不需要知道干扰的数量和方向。
缺点与工程挑战
- 对模型误差极其敏感(鲁棒性差,对导向矢量要求高): 如果目标方向存在偏差(Pointing Error)或者阵元位置存在校准误差,MVDR会误将目标信号视为“干扰”并进行自适应压制,导致严重的自消散(Signal Canceling)现象。
- 相干源失效(快衰落): 当目标信号与干扰信号高度相关或相干(如同频多径反射)时,协方差矩阵 $R_{xx}$ 会趋于退化,导致算法失效。通常需要结合空间平滑(Spatial Smoothing)技术来解相干。
- **计算量大:** 每次计算都需要对 $M \times M$ 的矩阵进行求逆操作,在阵元数 $M$ 较大或需要实时更新时,计算复杂度较高($O(M^3)$)。
- **样本快照数限制:** 在实际应用中,$R_{xx}$ 是通过有限的样本快照估计得到的(即 $\hat{R}_{xx} = \frac{1}{N}\sum X X^H$)。如果快照数 $N$ 小于阵元数 $M$,$\hat{R}_{xx}$ 将不可逆。
LCMV线性约束最小方差
线性约束最小方差(Linearly Constrained Minimum Variance, LCMV)波束形成器,是MVDR的扩展形式,其可表示为:
其实就是把原来的单个约束替换为了一组线性约束,C为MxL维的约束矩阵,每一列代表一个约束条件;F为Lx1维的增益控制向量,代表对应约束想达到的复增益
同样使用拉格朗日乘子法可以得到LCMV的最佳权重表达:
当约束条件为单个导向矢量时,退化为MVDR,上式也完全等价于MVDR形式
常见约束矩阵设计
多方向无失真约束,即对两个方向同时进行无失真约束:
强迫干扰零陷约束,即对已知干扰源直接约束其增益为0:
导数约束,约束导向矢量对角度的一阶导数(甚至二阶导数)为 0,来使主瓣平坦化。
此时主瓣会增大,具备更强稳定性
GSC广义旁瓣相消器
GSC可以看作是LCMV的一种无约束等效实现,其示意图如下:
其可分为两部分,即上方的主路和下方的辅路,其中主路就是标准DAS波束形成,不再细说。
对于辅路,其任务是尽可能的还原信号中的噪声和干扰,并从DAS权重中减去,因此GSC的最终权重可表示为:
与MVDR不同,其自适应权重用于计算干扰和噪声,而不是直接用于增强方向信号
阻塞矩阵B
其功能是各通道中的期望信号完全滤除(阻塞),仅允许噪声和干扰信号通过。因此,其与约束矩阵(导向矢量)是一定正交的,因此,当我们已经有比较准确的导向矢量a时,将各信号对齐后即可直接令B让相邻阵元相减来消除同相的目标信号:
这样得到的干扰和噪声是基于两两相邻阵元信号的,也可以通过均值计算:
这样每个阵元减去的都是所有阵元和的均值,理论上会更稳定一点点
自适应噪声相消器
信号通过阻塞矩阵后,只剩下干扰和噪声。自适应滤波器(如 LMS、RLS 或直接求逆算法)通过调整权重 w_a,使自适应支路的输出尽可能逼近静态支路中的干扰和噪声成分。
理论上在经过阻塞矩阵B后,信号中已不包含期望信号成分,因此自适应权重w_a的优化完全不会影响期望信号。基于这个前提,自适应部分的优化目标也就等同于使经过B后的信号输出总功率(方差)最小:
也就是最小化噪声和干扰,直接对目标函数求导找零点,即可得到无约束最优解:
优缺点
主要优点就是把约束优化转化为了无约束的滤波问题,降低了计算复杂度,并且其物理和数学结构清晰,完全解耦;
缺点就是需要精准的导向矢量,否正阻塞矩阵B会产生泄露,自适应滤波器会将泄露的期望信号视作干扰,导致最后期望信号也受到抑制
为了防止自适应计算过强,也可以使用对角加载限制过大变化
与MVDR的关系
MVDR 与 GSC 等价,本质上是因为 GSC只是MVDR约束优化问题的一种结构化实现方式。
首先,对于GSC的权重表达,将其共轭转置后都右乘导向矢量后,即可得到MVDR的约束;如果将w表达式带入MVDR的目标函数(无约束格式),也可以直接得到GSC最终w_a的解
那GSC存在的意义是什么呢,大概是因为较早时期矩阵求逆运算量大,所以GSC实时性更好吧
GEV广义特征向量波束形成器
更多出现在语音增强中,GEV波束形成的核心思想是通过最大化输出信号的信噪比(SNR)或信号对干扰加噪声比(SINR)来推导最优导向矢量或空间滤波器系数,相比与MVDR要保证目标方向的无失真,GEV更加激进,选择直接最大化信噪比
对于带噪的信号,GEV直接将其视为:
所有噪声和干扰均被视为了一整个函数,GEV的目的就是让s和n最终信噪比尽可能大
构造目标与噪声协方差矩阵
根据上面分析,GEV的核心之一就是如何判断信号中哪些是目标信号,哪些是噪声。为了量化信号与噪声的空间分布,引入两个关键的空间相关矩阵:
其中,M为筛选协方差矩阵的mask,其形状与每个通道的stft结果x(f,t)相同,用于决定当前时-频点加权为噪声还是语音。也就是说,mask的计算是这一步的核心。
在GEV中,mask是一个[0,1]的概率,目前最主流的方法是通过神经网络进行预测,因此,我们在训练中需要同时拥有:
- 干净语音s
- 噪声n
- 混合信号x
而mask的训练目标则为s和n的一些算法结果,例如:
然后将预测的/hat{m}与mask进行loss计算
GEV优化目标
在获得了两个协方差矩阵后,GEV的优化目标如下:
该目标可以直接转化为广义特征值问题:
则权重w为最大特征值所对应的特征向量
后置滤波
GEV算出的特征向量具有任意的缩放因子(Scaling),这会导致输出信号产生频率失真(Speech Distortion)。为了解决这一盲源分离中的固有问题,通常引入 BAN (Blind Analytic Normalization)进行增益归一化:
优缺点
首先,我们可以很明显的看出,GEV在计算上完全不依赖导向矢量,也就是说其对阵列的几何结构没有要求,依靠数据驱动,而MVDR的质量几乎是由导向矢量决定,因此GEV理论上鲁棒性更高,由于其优化原理,信噪比也会更高
但是其也需要大量数据进行拟合,并且如果不使用BAN,会出现较大失真