一 前言
最近比较忙,昨天更新了EQ 调试模块,今天就趁热打铁把ANC部分也写下。
主要说一些基于恒玄平台2500的ANC 环境搭配 软件设置 和 常见问题分析,个人见解,有不足之处,敬请锤教。
二 环境搭配 (此处引用BES 原厂ANC调试指南)
确保腔体的密闭性,前后腔部分需要用胶水密封,耳塞的尺寸要适宜人工耳佩戴。电声 测试使用粉噪或者 20Hz~20KHz 的扫频信号。准备好 ANC 调试开发板,正确连接耳机(注 意单端和差分的差异)测试场地为具有一定吸音效果的吸音房。
ANC mic频响曲线 逻辑示意图
实物测试
前馈耳机头:
MIC:
对于前馈耳机头的 mic 的选择,芯片对于硅麦(MEMS)和驻极体麦克风(ECM)都 是支持的,外围电路有差异,从调试的角度考虑硅麦和电容 mic 都可以,没有本质区别, ECM 在信噪比方面要优于 MEMS,但从生产的角度考虑,硅麦一致性更好。而前馈的降噪 的生产对一致性要求非常高。所以前馈的降噪方式推荐硅麦,尤其是入耳式的耳机,对降噪 量要求较高(典型 20dB 以上)。对于头戴式,由于被动降噪曲线,speaker 曲线随着人的佩 戴变化量较大,对降噪量要求不会太高(典型 10dB 左右),所以如果对电容 mic 频响稍加 控制,头戴式也可以用电容 mic。以下从幅度、相位、灵敏度、信噪比、隔离度来说明相关 要求。
① 幅度:要求降噪频段(典型 50Hz->3kHz)平滑即可,低频(100Hz 以内)不能衰减的 太多。 ② 相位:没有要求
③ 灵敏度:-38dB 以下,太高的灵敏度容易饱和。灵敏度在小于-38db 的前提下,越大越 好。
④ 信噪比:信噪比越高越好。(推荐 60dB 以上)。
⑤ 隔离度:跟 speaker 的隔离度越高越好。(这个还没有具体的数据,只是对比成熟的音 腔测试)。
⑥ 一致性:一致性要求较高,要求幅度差别 1dB 以内,相位差别 5 度以内,以保证 20dB 的降噪量。这里的幅度差别指的是趋势,频响曲线平行的幅度差别大的话没有问题,可 以用增益补偿回来。这里的指标指的是和 speaker 加起来的差别总和。如果降噪量要求 不那么高,可以适当放宽要求(如果降噪主要在 1K 之内,幅度波动要求只需在 1K 内 符合。如果降噪主要在 2K 之内,幅度波动要求则需在 2K 内)。
SPEAKER:
单前馈的耳机头,照着音质最好的频响曲线去做就行。主要是降噪频段的幅度 平滑就行。
① 幅度:要求降噪频段(典型 50Hz->3kHz)平滑即可,低频不能衰减的太多。 BES_ANC 参考指南 V1.3 2 / 10
② 相位:没有要求
③ 灵敏度:越高越好(降噪频段)。
④ 隔离度:跟 mic 的隔离度越高越好。
⑤ 一致性:一致性要求和 MIC 一样。
⑥ 被动降噪曲线:被动降噪曲线越平滑越好,(低频不宜降噪量过大)。另外就是佩戴起来 越稳定越好。也就是每次佩戴都差不多,而不是每次佩戴差别都很大。
反馈耳机头:
MIC:
由于反馈的方式的降噪量对 mic 的频响不太敏感。所有对 mic 的类型没有特殊要求。 幅度:低频不能衰减的太多;
① 相位:没有要求
② 灵敏度: 可以略高于前馈
③ 隔离度:和 sperker 隔离度越低越好,也就是 mic 和 speaker 的距离应该尽量靠近; SPEAKER:
反馈的耳机头,低频能量越多越好(100Hz 以内的)。一是有利于降噪量的增加; 二是反馈降噪会影响低频的音乐,如果低频能量较高,这样降噪后的音乐播放仍然具有较好 的低频,这样会降低 EQ 的补偿。
① 幅度:低频能量越大越好
② 相位:没有要求
③ 灵敏度:越高越好
④ 隔离度:和 mic 隔离度越低越好,也就是 mic 和 speaker 的距离应该尽量靠近。
ANC 调试主要分为以下几大步骤:
a、测试空场信号 不佩戴耳机的状态下直接测试粉噪(或扫频)的 MIC(仪器)回馈
b、测试被动曲线 在耳机不通电的情况下,将腔体佩戴在人工耳上,测试粉噪(或扫频) 的 MIC(仪器)回馈。
c、调试降噪性能 利用 ANC 调试工具,调整 ANC 参数,直至达到最佳。
d、佩戴验证效果 试听 ANC 效果的实际听感(注意是否有杂音、底噪、啸叫、高频反 升)
三 ANC工具配置连接和使用
a.有线调试
在此模式下,可以通过连接整机直接调试 ,无需烧录软件,跑的是ANC最小的bin文件。
如我调试2500IH使用的 “uart_1305_20201214_v0.bin”,在调试工具的cfg文件夹中,由原厂给出
工具配置调试方式为UART
"programmer_file_path": "D:\\software_development_tools\BES\ALL_IN_ONE_BES_Designer_Tool_v1.0.3\cfg\1305\\uart_1305_20201214_v0.bin", ”
影响工具在线调试和实际写入系数一致性,在如下的代码位置和工具,有几个影响因素:
代码Target.mk 文件下:
基础配置:
1)
export ANC_FF_ENABLED ?= 1
export ANC_FB_ENABLED ?= 1
分别表示前馈和反馈是否开启,根据项目来填写; 1=开启 0=关闭
2)
export AUD_SECTION_STRUCT_VERSION ?= 1
2000I系列,这里写1;
2300/2500系列,这里写2;
3)
export AUDIO_SECTION_SUPPT ?= 1
表示音频区读取,1=读取音频区;0=不读取音频区;
工具写入anc系数在固定音频区,因此这里需要写1;(非常重要)
4)
export AUDIO_ANC_FB_MC_HW ?= 1
TWS后馈使用这个 立体声耳机后馈使用 export AUDIO_ANC_FB_MC ?= 1
5)
AUDIO_RESAMPLE ?= 1
对于2000i 系列的芯片而言:
单前馈或单反馈的配置时,这里写1;
混合降噪配置时,这里写0;
AUDIO_RESAMPLE的值要和anc工具里面的AUDIO_RESAMPLE变量对应起来:
代码Tgt_hardware.h 文件中:
#define ANC_FF_MIC_CH_L AUD_CHANNEL_MAP_CH0
#define ANC_FF_MIC_CH_R &nbs