概述

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

原理

时域ANF

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

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

频域ANF

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

图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}

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

Matlab验证

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

图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).

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

  1. 双麦克风语音去混响算法C代码实现(附github项目链接)

    1. 算法依据 算法的依据是论文<Multi-Channel Linear Prediction Speech Dereverberation Algorithm Based on QR-RLS ...

  2. 应用于双麦克风小型手持设备的语音降噪方法

    应用于双麦克风小型手持设备的语音降噪方法 技术领域 本发明涉及语音降噪技术领域,尤其涉及一种应用于双麦克风小型手持设备的语音降噪方法. 背景技术 在现有的小型手持设备中,常采用双麦克风以及三麦克风.现 ...

  3. C语言LMS双麦克风消噪算法,详解双麦克风实时自适应噪声消减技术

    近年来,智能手机和笔记本电脑等移动/便携设备市场持续快速发展.这些产品在不断集成更多新功能以增强用户体验的同时,在基本语音通信功能的用户体验方面仍有充足提升空间,特别是在嘈杂环境下提升语音清晰度,同时 ...

  4. C语言LMS双麦克风消噪算法,芯片内部的噪声抑制算法,语音芯片来说也是一样(双麦克风降噪理念)...

    因此,为了尽可能满足人们的需求,现在设计了双麦克风--即双麦克风降噪,当然,在使用这种降噪方法时需要注意两点.若将两个麦克风放在一起,或将两个麦克风分开,则距离较远.该芯片内的算法将根据两个麦克风接收 ...

  5. C语言LMS双麦克风消噪算法,基于两个时域LMS算法双麦克风系统分析.doc

    基于两个时域LMS算法双麦克风系统分析 基于两个时域LMS算法双麦克风系统分析 [摘要] 本文介绍了基于两个时域LMS算法的双麦克风系统结构以及性能分析.本文提出一种采用两个时域LMS的算法,并将此算 ...

  6. matlab语音算法,[转载]RLS算法多麦克风语音降噪( matlab编程 )

    RLS算法多麦克风语音降噪 一.课程设计的目的 综合运用信号与系统.数字信号处理.概率论.矩阵运算的知识进行语音信号的增强,利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概 ...

  7. AI降噪软件的出现,不仅仅要终结手机双麦克风时代

    从诺基亚到iPhone X,手机在这些年产生了天翻地覆的变化.按键消失了.边框消失了.连耳机孔都消失了,屏幕越来越大.摄像头也越来越清晰-- 不过人们很难感知到的一点变化是,通话中的噪声变得越来越小了 ...

  8. 树莓派+双麦克风扩展板实现snowboy热词唤醒(避坑排雷)

    硬件准备: 树莓派4b x1 树莓派双麦克风扩展板(或者4mics 8mics都可以) x1 任意一个支持树莓派的音频输出设备(3.5mm孔的 或者一些蓝牙设备) 本文最终要实现的就是对着麦克说你的唤 ...

  9. Sql Server2005对t-sql的增强之Cross Apply

    Sql Server2005对t-sql的增强之Cross Apply Cross Apply使表可以和表值函数结果进行join,在下面的示例中建了两个表和一个表值函数,T_b的列a_ids中会存放a ...

最新文章

  1. 通过访问列表实现MAC地址绑定,实现包过滤
  2. Oracle undo表空间爆满的解决
  3. java 学习(一)冒泡排序
  4. 洲际的merlin怎么用_天问一号是怎么拍摄地月合影的?
  5. 使用.Net Core编写命令行工具(CLI)
  6. 3W+字的设计模式手册
  7. C# OLE DB 的连接方式下 对 sql 参数的操作 需要改成 ? 号
  8. 在dos下的文件及文件夹操作命令
  9. php截取字符串utf8,php自定义截取中文字符串-utf8版
  10. IntelliJ IDEA创建和配置Maven项目并运行
  11. codeforce 贪心1
  12. 用线性同余法生成伪随机数
  13. frame和bounds的区别
  14. 简单的学生成绩录入查询系统
  15. 讲解ping中的TTL是什么意思
  16. vs+html教学,VS Code怎么运行html文件
  17. 双线机房托管双线双IP20M独享带宽4500/年 欢迎咨询Q1763371
  18. ROS入门(九)——机器人自动导航(介绍、地图、定位和路径规划)
  19. 最长的名字 /比较最长的字符串并输出
  20. 用户浏览页面时,token过期怎么处理?

热门文章

  1. 腾讯QQ的回应来了~
  2. uniapp一键登录流程及代码
  3. 单片机音频节奏灯_使LED灯随音乐闪烁的控制方法及音乐节奏闪灯技术
  4. android exif软件,EXIF查看器
  5. 2022-2028年中国零售业信息化行业市场深度评估及投资机会预测报告
  6. 二、功能篇:八相供电用料豪华,功能齐全应有尽有
  7. 如何使用 React 编写无限滚动列表
  8. Flex4/Flash开发在线音乐播放器 , 含演示地址
  9. php中标识符不正确的是,下面PHP标识符中定义不正确的是( )
  10. 智能电子校徽方案/案列/APP/软件/硬件/项目