双麦克风语音增强之ANF 自适应零点形成

概述

ANF(Adaptive Null-Forming,自适应零点形成)是双麦克风阵列处理中实现语音增强的一种方法。ANF算法适用的场景是目标信号来自于端射(endfire)方向,比如通话时的蓝牙耳机,说话人嘴的位置大致在两个麦克风连线的延长线上。ANF算法可以定向拾取端射方向的目标信号,并且自适应地在噪声来源方向形成零点,从而提高语音质量。
  符号表示: d d d表示两个Mic之间的距离, c c c表示声速, θ \theta θ是声源入射角, f f f表示语音的采样率。

原理

时域ANF

最简单的一种beamformer只包括图1的左上角部分,即x(n)为输出。响应可表示为 1 − e x p ( − j 2 π d f ( 1 + c o s θ ) / c ) 1-exp(-j2{\pi}df(1+cos\theta)/c) 1exp(j2πdf(1+cosθ)/c),波束图型(beam pattern)为图2中的实线,称为心形线(cardioid)。这种固定beamformer在0°形成最大增益,在180°形成零点,无法消除来自零点以外方向的噪声。

picture 图1
  图1是TD-ANF(TD:Time-Domain)的结构,包括两个差分beamformer和一个自适应滤波器。上下两个差分beamformer的pattern分别为图2中的实线和虚线。可见,$x(n)$主要包含目标语音,可以作为自适应滤波器的期望信号,$y(n)$主要包含0°之外的噪声,可以作为自适应滤波器的输入参考噪声。LMS自适应滤波的原理我在第一篇关于主动降噪的博文中已详述,在此不再多言。需要注意的是自适应滤波器的系数只在没有语音的情况下才更新,因此上述结构还需配合VAD(Voice Activity Detector)使用。
picture 图2

频域ANF

频域ANF是时域ANF算法在频域的等价实现,如图3所示。其中FFT是N点,k=0~N-1表示频点索引,v(k)=2pik*f/N/c是波数。需要注意的是频域自适应滤波器系数是复数。

picture 图3
  时域ANF包含延时$d/c$的模块,如果$d/c$不对应整数采样点,可能需要升采样来凑整。而频域ANF中延时模块变为复乘模块,避免了升采样。但频域ANF增加了FFT和IFFT的计算开销。

EQ补偿

ANF结构中的两个差分beamformer都是高通滤波器,使得处理后的语音低频部分被削弱。为增强语音低频部分,建议在ANF之后加上一个补偿滤波器。文献给出其频响如下
 \begin{eqnarray}W_{EQ}=\begin{cases}\frac{1}{sin(\frac{\pi}{2}\frac{w}{w_{c}})}, &0<w {\leq}w_{c}\cr 1, &otherwise \cr\end{cases}
\end{eqnarray}

其中 w c w_{c} wc为高通滤波器的截止频率, w c = 0.5 π c / d w_{c}=0.5{\pi}c/d wc=0.5πc/d.

Matlab验证

模拟蓝牙耳机的场景,取3cm麦克风间距,用采集板采集前后两个mic的语音数据,使用频域ANF+补偿滤波器,matlab仿真情况如图4。

picture 图4

Reference

主要参照如下资料,其中图1和图3来自[1],图2来自[2]。

[1]: Hu, X., et al. “Robustness analysis of time-domain and frequency-domain adaptive null-forming schemes.” Communications and Signal Processing IEEE, 2011:1-4.
[2]: Elko, G. W., and A. T. N. Pong. “A simple adaptive first-order differential microphone.” Applications of Signal Processing to Audio and Acoustics, 1995. IEEE ASSP Workshop on IEEE, 2002:169-172.
[3]: Buck, Markus, and M. Rößler. “First order differential microphone arrays for automotive applications.” Proc Iwaenc (2001).

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值