1、CVC和DSP降噪:

消费者在选购蓝牙耳机时,总会听到商家在宣传耳机所具备的CVC、DSP降噪功能,不管听过N多商家这样的描述,可不少消费者依然不是很明白这两者之间的区别,针对这样的一个技术问题,我们今天来科普下这两者的工作原理及区别。

DSP是英文(digital signal processing)的简写,其工作原理:麦克风收集外部环境噪音,然后通过耳机内部的降噪系统功能,复制产生一个与外界环境噪音相等的反向声波,将噪音抵消,从而达到更好的降噪效果。

CVC是英文(Clear Voice Capture)的简写,是一种软件降噪技术,其原理是通过耳机内置的消噪软件及麦克风,来抑制多种类型的混响噪音。

两者的区别:

1、针对对象不一样,CVC技术主要针对通话过程中产生的回声, DSP主要是针对外部环境中的高、低频噪声。

2、受益对象不同,DSP技术主要使耳机使用者本人收益,而CVC主要使通话的另一方受益。

归结而言采用DSP和CVC降噪技术的耳机,都能有效降低通话外部环境的噪音,显著提高耳机的通话、听歌音质。如纳音科技最新推出的 jetblue M8 磁控蓝牙耳机,就具备DSP和CVC这两种降噪功能,在音质上表现很出色。

2、ANC降噪:

ANC指Active Noise Control,主动降噪。基本原理是降噪系统产生与外界噪音相等的反向声波,将噪音中和。图1是feedforward式主动降噪耳机的示意图。ANC芯片放置在耳机内。Ref mic(reference microphone)在耳机耳罩上,采集环境噪音。Error mic(Error Microphone)在耳机内,采集降噪处理后的残差噪声。Speaker播放ANC处理后的anti-noise。

 
图1

原理

 
图2

  图2是ANC系统的原理图,一共三层,用虚线分隔。最上一层primary path是从ref mic到error mic的声学通道,响应函数用 P(z)P(z) 表示;中间一层是模拟通道,其中secondary path是adaptive filter输出到返回残差的通路,包括DAC、reconstruction filter、power amplifier、speaker播放、再采集、pre-amplifier、anti-aliasing filter、ADC;最下一层是数字通路,其中adaptive filter不断调整滤波器权系数来削减残差,直到收敛。最常用的方案是用FIR滤波器结合LMS算法来实现adaptive filter。简化图2,得到图3。
 
图3

  先简要说几句adaptive filter和LMS(Least mean square)算法的原理,再说图3。如图4,给定输入xx和desired output dd,adaptive filter每次迭代会更新系数,使其输出yy与dd之差越来越小,直到残差足够接近0且收敛。LMS是adaptive filter的一种更新算法。LMS的目标函数是瞬时误差的平方e2(n)=(d(n)−y(n))2e2(n)=(d(n)−y(n))2,为了minimize目标函数,对其应用梯度下降就得到算法的更新公式。(这种利用gradient descent来最小化某个objective,从而得到待求参数的更新公式的算法思想非常常见,比如linear regression。)采用FIR滤波器的LMS算法的更新公式为:w(n+1)=w(n)+μe(n)x(n)w(n+1)=w(n)+μe(n)x(n),其中μμ为step size。如果随着迭代进行调整μμ的大小,就是变步长的LMS算法。

 
图4

  再来说图3。这里adaptive filter输出后还要经过S(z)S(z)才去和desire output比较,S(z)S(z)会引起instability,用文献的话说,“the error signal is not correctly ‘aligned’ in time with the reference signal”,破坏了LMS的收敛性。(这里还没弄懂什么意思T__T)一种有效的方法是FXLMS(Filtered-X LMS),也就让x(n)经过Sˆ(z)S^(z)再输入给LMS 模块, Sˆ(z)S^(z)是S(z)S(z)的估计。FXLMS的objective:

e2(n)=(d(n)−s(n)∗[wT(n)x(n)])2,e2(n)=(d(n)−s(n)∗[wT(n)x(n)])2,

所以gradient= −2e(n)s(n)∗x(n)−2e(n)s(n)∗x(n) ,其中 s(n)s(n) 未知,用其estimate近似,所以FXLMS的更新公式是

w(n+1)=w(n)+μe(n)x′(n),w(n+1)=w(n)+μe(n)x′(n),

其中 x′(n)=sˆ(n)∗x(n)x′(n)=s^(n)∗x(n)  。

  当adaptive filter收敛时,E(z)=X(z)P(z)−X(z)W(z)S(z)≈0E(z)=X(z)P(z)−X(z)W(z)S(z)≈0,因此W(z)≈P(z)/S(z)W(z)≈P(z)/S(z)。也就是说,自适应滤波器的权系数是由耳机的primary path和secondary path决定的。耳机的primary path和secondary path相对稳定,所以adaptive filter的权系数也相对稳定。因此为实现简单,某些厂家的ANC耳机的权系数在出厂时就确定了。当然这种ANC耳机的听感体验明显不及具有真正自适应意义的ANC耳机,因为在实际情况下,外部噪声相对耳机的方向、不同温度等因素会对耳机的通道响应有影响。

Matlab验证

  写Matlab代码,用变步长LMS的adaptive filter,得仿真结果如图5。在0到2KHz范围内,利用feedforward ANC消高斯白噪,噪声衰减平均30dB+。Matlab库里的FXLMS是定步长的,效果要差一些。

 
图5

Q&A

  遇到的困惑写出来分享一下。 
1. ANC为什么只针对2kHz以下的低频噪音? 
  一方面,耳机的物理隔音方式(被动降噪)可以有效阻挡高频噪音,没必要用ANC降高频噪声。另一方面,低频噪声波长较长,可以承受一定的相位延迟,而高频噪声波长短,对相位偏差敏感,因此ANC消高频噪声并不理想。 
2. 当electronic delay比primary delay大时,算法性能大大下降如何理解? 
  P(z)延时小,S(z)延时大,比如P(z)=z-1, S(z)=z-2,只有当W(z)=z才能满足要求,非因果,unreachable。 
3. Feedforward ANC、narrow-band feedforward ANC、feedback ANC有什么区别? 
  Feedforwad结构有一个ref mic和一个error mic,分别采集外部噪音和内部残差信号。feedback结构只有一个error mic,由error mic和adaptive filter output生成reference signal。 
  Broad-band feedforward就是上面所述结构,而narrow-band结构中,noise source会产生某个signal触发signal generator,signal generator再生成reference signal送给adaptive filter。只适用于消除periodic noise。 
  Feedback ANC由于只有error mic,用error mic来恢复feedforward结构中ref mic采集的信号,通路不满足因果约束,因此只消除predictable noise components,即窄带周期性噪声。需要注意的是,feedforward如果不满足因果约束,即electronic delay比主通道acoustic delay长的话,也只能消除窄带周期性噪声。 
  另外还有一种Hybrid ANC的结构,同时包含feedforward和feedback结构,主要的优点是可以节省自适应滤波器的阶数。

Reference

  主要参照[1],非常详细的一篇tutorial review,书[2]详细推导和说明了[1]中的细节。图1截自jabra官网,图2和图3来自[3],图4来自Wikipedia。

[1]: Kuo S M, Morgan D R. Active noise control: a tutorial review[J]. Proceedings of the IEEE, 1999, 87(6):943-973. 
[2]: Kuo S M, Morgan D. Active Noise Control Systems: Algorithms and DSP Implementations[M]. John Wiley & Sons, Inc. 1996. 
[3]: Kajikawa Y, Gan W S, Kuo S M. Recent advances on active noise control: open issues and innovative applications[J]. Apsipa Transactions on Signal & Information Processing, 2012, 1(2):e3.

CSR8670 — 说说什么是ANC、CVC、DSP降噪相关推荐

  1. cvc 降噪_耳机降噪功能这么多,说说什么是ANC、ENC、CVC、DSP降噪

    降噪功能对耳机的作用很重要,一是减少噪音,避免过度放大音量,从而减少对耳朵的损害.二是过滤噪音从而提高音质和通话质量. 降噪可分为被动式降噪和主动式降噪. 被动式降噪也就是物理降噪,被动式降噪是指利用 ...

  2. cvc降噪和主动降噪_CVC降噪和DSP降噪有什么区别?

    降噪对于耳机的作用很重要: 一方面是减少噪音,避免过度放大音量,从而减少对耳朵的损害: 二是过滤噪音从而提高音质和通话质量. 一般来说,降噪分为被动式降噪和主动式降噪. 被动式降噪也就是物理降噪,被动 ...

  3. qcc3040 cvc通话降噪调试

    硬件环境:QCC3040 软件环境: ADK289, QACT7.2.20 qcc3040支持单咪cvc和双咪cvc的通话降噪,本文介绍单咪cvc的应用及调试方法. 1.首先,在官方发布的原始代码中, ...

  4. 耳机主动降噪测试(ANC)-耳机被动降噪测试(PNC),蓝牙耳机测试-

    在现在的生活中,蓝牙耳机的应用已经越来越广泛.人们已经不再习惯于经常将手机放在耳边接听电话,在工作时,开车时,运动时,只需要戴上一个蓝牙耳机,就能一键接听电话,为人们的生活提供了极大的便利.客户选择蓝 ...

  5. 蓝牙耳机音质真的不如有线耳机吗?五款HIFI音效蓝牙耳机让你刮目相看

    AirPods出现后,蓝牙耳机一下子成为了明星产品.然而,蓝牙耳机是不是真的靠谱?在很多资深音频爱好者的眼中,绝大多数蓝牙耳机,都属于缺点明显的产品--蓝牙耳机固然方便,但它在价格.续航.音质.稳定性 ...

  6. 头戴式蓝牙耳机哪款音质比较好?2020最受欢迎五款高清音质蓝牙耳机分享

    随着生活节奏的加快,我们身上的压力也日益沉重,需要释放,正好国庆小长假即将到来,很多人都趁着这个机会计划出去旅行放松一下,旅行不止可以舒缓压力还能在途中增长知识和见闻.不管是自驾游还是坐车,漫长的路上 ...

  7. cvc 降噪_耳机降噪技术-ANC、ENC、DSP、CVC

    现在耳机市场的主动式降噪就是ANC.ENC.CVC.DSP等降噪技术. ANC降噪 ANC降噪(Active Noise Control,主动降噪)的工作原理是麦克风收集外部的环境噪音,然后系统变换为 ...

  8. cvc 降噪_耳机降噪技术有哪几种?

    现在耳机市场的主动式降噪就是ANC.ENC.CVC.DSP等降噪技术. ANC降噪 ANC降噪(Active Noise Control,主动降噪)的工作原理是麦克风收集外部的环境噪音,然后系统变换为 ...

  9. vr降噪器英文是什么_耳机降噪功能这么多,说说什么是ANC、ENC、CV...

    降噪功能对耳机的作用很重要,一是减少噪音,避免过度放大音量,从而减少对耳朵的损害.二是过滤噪音从而提高音质和通话质量. 降噪可分为被动式降噪和主动式降噪. 被动式降噪也就是物理降噪,被动式降噪是指利用 ...

  10. cvc降噪和主动降噪_降噪蓝牙耳机哪款好?300内建议入手的五款主动降噪蓝牙耳机...

    很多人在想要购买真无线蓝牙耳机时都会很迷茫,因为目前市面上的品牌实在是有点多,想要从浩如烟海的产品中找到真正适合自己的真无线蓝牙耳机,真的是有点难度,不过别担心,今天在这里就给大家推荐几款业内大神都在 ...

最新文章

  1. App项目实战之路(二):API篇
  2. Databricks基本操作
  3. [YTU]_2498 (C++类实现最大数的输出)
  4. 在控制台中录入一个字符串 , 打印这个字符串中的字符以及出现的次数(Python)
  5. Mac OSX 下 mysql 影响关系的问题处理
  6. asp.net调用前台js调用后台代码分享
  7. 计算机职业规划备选方案,职业规划中的备选方案.doc
  8. 用excel打开txt文件
  9. 数学四大思想八大方法_四种思想方法,让你轻松掌握高中数学
  10. premiere直接使用计算机素材,Premiere使用技巧之视频捕捉 -电脑资料
  11. ad中按钮开关的符号_电工必备基础知识及电路的符号字母大全
  12. 计算机系统维护论文5000字,计算机系统维护毕业论文
  13. oracle 范鑫_自己写得一个类似AUL的工具,附源代码(C 语言)
  14. php导入word文件怎么打开,phpword 导入word
  15. 【微信公众号】6、SpringBoot整合WxJava创建自定义菜单
  16. 如何隐藏公共 IP 地址,进行 DDos
  17. 零输入响应,零状态响应,全响应
  18. 不背单词,不学语法,过去100天,这10万人原来是这样学英语的......
  19. 从现在开始就是最早的开始
  20. 找不到msvcp140.dll无法继续执行代码,要怎么去解决?

热门文章

  1. antv的产品笼统记录
  2. 验证二叉树的前序序列化[抽象前序遍历]
  3. 企业财务报表分析【3】
  4. python从网页提取文本_使用Python进行网页正文提取
  5. Axure设置变量 做乘法计算
  6. 黑群晖二合一已损毁_手动修复黑群晖已损毁磁盘空间
  7. mac 启用夜神模拟器
  8. java源码app,飞飞CMS双端JAVA原生APP源码
  9. win10安装mysql初始化失败怎么办_Win10系统安装SQL2000失败 初始化错误该怎么解决?...
  10. [JavaScript] 整数金额转汉语数字大写