首页 / 资讯中心 / 文章详情

ANC耳机底噪排查:从噪声溯源到噪声取消芯片调校

ANC耳机底噪排查:从噪声溯源到噪声取消芯片调校 ★ FEATURED ARTICLE
1. 底噪这件事先把“谁在响”分清楚做ANC耳机底噪排查最怕一上来就动噪声取消芯片的参数。我见过不少团队的做法是客户反馈“开降噪有沙沙声”工程师第一反应就是去滤波器组里翻系数改了两天底噪没下来降噪量倒是掉了一截。真正省时间的做法是先给底噪做“户籍登记”——它到底是麦克风链路带进来的是电源灌进来的是功放自己哼出来的还是算法把某一路信号放大了。噪声取消芯片调校的难点不在于会不会调而在于调之前有没有把责任划清楚。ANC耳机底噪和普通耳机底噪不是一回事。普通耳机底噪基本等于“DAC功放电源”的静态噪声是一条相对固定的链ANC耳机开降噪之后多了两个麦克风、一条前馈通路、一条反馈环路还有一套自适应算法噪声来源从三处变成七八处而且这些噪声会随着降噪深度、佩戴密封程度、甚至算法收敛状态而变。先说清楚这套东西是干什么的ANC主动降噪靠麦克风采集噪声经噪声取消芯片里的滤波器生成反相声波用喇叭放出来抵消。前馈麦克风装在外壳上朝外先听到噪声反馈麦克风装在喇叭前面朝耳道听残余噪声。两条通路的噪声特性、失效模式、底噪贡献完全不同。搞不清这个分工后面的排查全是盲猜。这篇内容适合三类人看正在做ANC耳机样机、被底噪卡住的硬件和声学工程师负责算法参数、需要判断“这个底噪该不该我背锅”的DSP调校人员以及做产品验收、需要一套可复现判定标准的项目负责人。我不会给你一套万能参数因为不同芯片、不同腔体、不同麦克风的组合差异太大我给的是定位顺序、量化方法和踩过的坑你照着走至少能少烧两周时间。1.1 ANC底噪的四条主要来源链把耳朵贴在样机上听你只能得到一个模糊印象把链路拆成四段问题就会自己浮出来。第一条是麦克风自噪声。任何麦克风都有等效输入噪声常见MEMS麦克风的自噪声在 29~32 dB(A) 等效声压级区间低噪声型号能到 26 dB(A) 左右。这个噪声是麦克风自己产生的跟外界有多安静无关。安静房间里它照样存在前馈通路会把它当成“环境噪声”去做反相结果就是喇叭把这个噪声放大播出来。第二条是模拟前端与电源链路。麦克风偏置、前置放大器、ADC输入、芯片的模拟电源任何一级的地弹、纹波、串扰都会变成可听噪声。用DC-DC供电的方案尤其要留意开关频率的谐波一旦落进音频带表现就是持续的高频“嘶”或者随负载变化的“嗡”。第三条是数字链路与算法增益。定点运算的截断噪声、采样率转换、滤波器系数的量化误差单看都很小但前馈通路的增益等于该频点的降噪量20 dB的降噪意味着这条链路上的噪声被同比例放大20 dB。这就是为什么同一颗芯片降噪调到“深度”档底噪立刻明显。第四条是功放与声学结构。Class-D功放的载波残留、输出滤波器设计不当、喇叭本身的分割振动还有腔体密封不良导致的低频泄漏。最后这条最容易被忽略密封一漏低频对消失效反馈环路为了补偿会把增益顶上去底噪跟着一起顶上去。1.2 先做“关降噪对照”别急着改参数排查第一步永远是做对照实验而且要在同一副样机、同一佩戴状态、同一环境、同一音量下做。操作很朴素关掉ANC测一次开ANC测一次开通透模式再测一次三次数据放在一起看。判断逻辑很直接。关ANC时底噪就高说明问题在DAC、功放、电源或蓝牙链路跟ANC算法没关系先去查硬件。关ANC干净、开ANC变吵问题在ANC链路。通透模式也吵那大概率是麦克风通路或模拟前端的固有噪声因为通透模式同样要开麦克风。三种状态的数据凑齐责任范围基本就锁死在一到两个模块里了。这里有个我自己吃过的亏早期做对照时只测A计权总值结果关ANC 18 dB(A)、开ANC 22 dB(A)看着只差4 dB主观却吵得厉害。后来补测线性Z计权频谱才发现差别全在 60~150 HzA计权在这个频段衰减了 19~30 dB把最恼人的“隆隆声”给算没了。从那以后我的规矩是A计权和Z计权必须同时看再加一张1/3倍频程图。A计权对中高频敏感Z计权才能暴露低频问题两个都看才不会误判。注意测底噪时把音量固定在常用听音档位比如60%~70%不要用最大音量测。最大音量下功放进入高增益区测出来的是功放底噪跟你日常听到的ANC底噪不是同一个东西。2. 测量与定位用数据替代耳朵耳朵只能告诉你“有噪声”不能告诉你“哪个频段、多大幅度、随什么变化”。ANC底噪排查里最值钱的投入是一套能出频谱的测量台哪怕很简陋。2.1 最低成本的测量台怎么搭正规做法是IEC 60318-4仿真耳声校准器音频分析仪一套下来成本不低。做样机阶段我的经验是用“仿真耳USB声卡开源分析软件”就能满足80%的排查需求关键是三点耦合腔要密封、声卡本底要够低、每次测量位置要可复现。具体做法把耳机按正常佩戴姿态压在仿真耳上用硅胶泥或专用夹具保证密封接头处不能漏气。声卡的输入本底噪声要提前标定把输入端短接测一次本底如果高于 15 dB(A)那测出来的低频数据就没意义。声卡本身的本底通常在 -100 dBV 量级配合仿真耳的灵敏度一般够用。测量流程我固定成五步静音环境本底低于 20 dB(A) 的房间→ 耳机佩戴到位 → 播放静音音轨或直接不播 → 采集 10 秒 → 做FFT和1/3倍频程平均。采10秒是为了让自适应算法进入稳态前3秒的数据直接丢掉因为算法收敛过程中噪声谱形会变。提示测之前把手机或播放器的蓝牙链路保持在连接但无播放状态有些方案在无播放时会自动降低DAC增益进入省电模式底噪数据会和实际听音完全不同。这一点在验收测试里最容易翻车。2.2 逐级旁路法把链路一段段掐掉频谱只能告诉你“哪个频段有问题”旁路法才能告诉你“哪一级产生的”。思路是把链路从后往前一段段断开看噪声什么时候消失。第一步掐掉麦克风。用调试工具把前馈麦克风和反馈麦克风的数字通路分别静音注意是分别静音一次只静一路。前馈静音后底噪明显下降问题在前馈链路麦克风、偏置、ADC、前馈滤波器。反馈静音后低频“隆隆声”消失问题在反馈环路或密封。第二步掐掉算法增益。把ANC滤波器的增益整体置零但保持通路不变。这时候听到的应该是纯麦克风ADC的直通噪声。如果置零后底噪大幅下降说明噪声是被算法增益放大的源头在麦克风本身如果置零后底噪几乎没变那噪声在算法之后往DAC、功放方向查。第三步灌数字信号。用芯片的调试接口直接向DAC灌一段数字静音绕过所有麦克风和算法。这一步测出来的是“DAC功放电源”的固有底噪是整个系统的地板。地板高前面所有调校都是白费。我在一个模拟项目里做过完整的四段旁路数据如下数值是相对量只用于说明方法旁路状态A计权底噪Z计权底噪主观听感全链路正常开ANC24 dB(A)38 dB(Z)明显低频隆隆中频有沙感前馈麦克风静音19 dB(A)26 dB(Z)隆隆声基本消失剩下轻微嘶声前馈反馈均静音17 dB(A)20 dB(Z)安静仅极轻底噪直接灌数字静音16 dB(A)19 dB(Z)干净这张表的读法很关键全链路到双麦静音Z计权掉了 18 dB说明绝大部分可听噪声来自麦克风通路双麦静音到纯数字静音只差 1~2 dB说明DAC和功放这条地板是干净的不需要动硬件。结论直接指向“前馈麦克风链路算法增益”后面所有工作都围绕这一条做不用去拆PCB。2.3 频段指纹不同噪声长什么样排查久了会发现不同来源的底噪有相当稳定的“指纹”。把下面这张对照表记熟很多时候听一耳朵就能猜个八九不离十再用频谱验证。频段特征主观听感高概率来源首选验证动作40~120 Hz 宽带抬升隆隆、闷响、压迫感反馈环路增益过高、腔体密封不良、反馈麦克风自噪声堵住反馈麦克风孔、重装耳塞硅胶套200~800 Hz 窄带峰嗡嗡的“电流声”电源纹波、DC-DC谐波、地环路换LDO供电、近场探头扫PCB1~4 kHz 宽带抬升沙沙、嘶嘶前馈麦克风自噪声被算法放大、ADC增益档位过高前馈静音对比、降降噪深度复测5 kHz 以上尖锐嘶声采样率转换、数字截断、时钟串扰换采样率、关SRC复测周期性“哒哒”咔哒声时钟失锁、算法参数切换、蓝牙丢包关蓝牙用本地播放复测随音量变化的“嗡”电流声功放底噪、电源带载能力不足固定音量、改变音量对比这张表里最值得说的是第一行。低频隆隆声在ANC耳机里极其常见很多人以为是“降噪太强了”实际是反馈环路在低频的增益被密封问题顶高了。反馈式ANC的工作原理是用负反馈压制耳道内的残余噪声环路增益越高压制越强但麦克风自噪声也被环路整形放大。密封一旦漏气低频声学路径改变环路相位裕度变差为了维持降噪量算法会把低频增益往上推底噪随之抬高。所以低频隆隆声的第一嫌疑人永远是密封不是参数。3. 芯片侧调校增益分配决定成败定位清楚之后才轮到噪声取消芯片调校。芯片侧能动的其实就四件事模拟增益、数字增益、滤波器系数、限幅与保护。四件事的调整顺序错了会出现“越调越差”的情况。3.1 模拟增益和数字增益谁先谁后这是最容易犯错的地方。ANC链路的信噪比由第一级模拟增益决定数字增益只是把已经 digitized 的信号放大噪声和信号一起放大信噪比不变。所以正确顺序是先把模拟增益调到让麦克风信号在ADC输入范围内尽可能大留 6~10 dB 余量防削顶再用数字增益做精细配平。我见过一个反例某样机为了让降噪量看起来更足把数字增益拉高 12 dB模拟增益留在最低档。结果降噪量确实上去了但底噪也跟着涨了 12 dB因为这12 dB是从ADC之后就一路放大的麦克风自噪声、ADC量化噪声全被同步放大。把模拟增益提上来、数字增益降回去同样的降噪量底噪直接低了 6~8 dB。这就是增益分配的价值。具体怎么算余量假设麦克风灵敏度 -38 dBV/Pa最大声压级 120 dB SPL换算成电压是 12.6 mV/Pa × 10^(120/94-6)……实际工程里不用手算这么复杂直接用芯片厂商给的配置工具看ADC输入峰值指示。我的做法是放一段 100 dB SPL 的粉噪观察ADC输入峰值灯调到刚好不亮红然后回退一档增益。这个余量对瞬态关门声、拍手很重要削顶产生的失真比底噪难听十倍。顺带把偏置电阻的热噪声算一遍省得在这上面纠结。用一段简单的计算就能判断它到底是不是瓶颈import math k 1.38e-23 # 玻尔兹曼常数 T 300 # 绝对温度 K R 2200 # 麦克风偏置电阻欧姆 BW 20000 # 音频带宽 Hz vn math.sqrt(4 * k * T * R * BW) # 电阻热噪声有效值V sens 12.6e-3 # 麦克风灵敏度 12.6 mV/Pa (-38 dBV/Pa) p_eq vn / sens # 等效声压Pa spl_eq 20 * math.log10(p_eq) 94 # 换算成 dB SPL (94 dB SPL 1 Pa) print(f热噪声: {vn*1e6:.2f} uVrms) print(f等效声压级: {spl_eq:.1f} dB SPL)2.2 kΩ 偏置电阻在 20 kHz 带宽下的热噪声约 0.85 μVrms折算到 -38 dBV/Pa 的麦克风上大约是 10 dB SPL 量级远低于麦克风自身 29 dB(A) 的自噪声。结论很清楚常规阻值下偏置电阻不是瓶颈别在这上面浪费时间。只有当你把偏置电阻用到几十上百 kΩ或者走线长达几厘米又没包地热噪声和串扰才会显现。3.2 滤波器系数降噪深度就是噪声放大器前馈ANC的传递函数本质上是一个“反向建模”的滤波器它在某个频点的增益等于该频点需要的降噪量。这句话要反复念三遍因为它解释了一切你在 100 Hz 做到了 20 dB 降噪就意味着 100 Hz 处麦克风的噪声被放大了 20 dB 送进耳朵。所以调系数的核心矛盾不是“怎么降更多”而是“哪些频段值得降、哪些频段纯粹是在放大噪声”。我的经验是三个约束低频不要一味追深度。100 Hz 以下人耳敏感度低但ANC在这里最容易做出大数字很多方案为了宣传指标把 50~100 Hz 的增益拉满换来的是持续的压迫感和隆隆声。把 80 Hz 以下的增益收 3~5 dB降噪感知几乎不变底噪改善非常明显。中频段做窄带而非宽带。1~3 kHz 是人耳最敏感的区间也是最容易听出“沙沙声”的区间。这里的降噪量要克制能用窄带峰值处理就别用宽带提升。我一般的做法是把 1.5~3 kHz 的宽带增益控制在 8 dB 以内靠 200~800 Hz 的宽带降噪去撑整体感受。滤波器阶数别贪多。高阶滤波器在低频能做出更陡的响应但系数量化误差和群延迟都会上升还容易在个别频点产生增益尖峰。实测中把阶数从 256 降到 128降噪量掉 1~2 dB底噪的“沙感”明显减轻。这个取舍在样机阶段非常划算。3.3 限幅与保护别让瞬态毁了整体ANC链路必须有限幅器否则突然的关门声、拍手、地铁进站的气流会让滤波器输出瞬间过载产生刺耳的爆音。但限幅器的参数设置不当会引入另一种底噪——泵浦效应。限幅器的恢复时间设得太短每次限幅后增益快速回升安静环境下会听到“呼吸”一样的起伏设得太长遇到连续大声压又压不住。我的经验值启动时间 1~5 ms恢复时间 200~500 ms压缩比 4:1 到 8:1具体看腔体和喇叭灵敏度。调完之后一定要放几段真实场景录音验证地铁进站、关门、键盘敲击、风直吹麦克风。光在消声室里测是测不出来的。注意有些方案会用“噪声门”来压底噪安静时把ANC增益降下来靠人耳掩蔽效应掩盖底噪。这个做法在样机上听着有效实际佩戴时会因为环境声忽大忽小导致降噪量反复跳变用户感知是“降噪一阵一阵的”比底噪更难受。我不建议在量产方案里用噪声门处理底噪问题。4. 硬件与结构芯片调不动的部分有些底噪参数怎么调都下不来因为根子在硬件。这一节讲三处最常见的硬件陷阱都是我自己或身边同行真实踩过的。4.1 电源与地最隐蔽的一条通路ANC芯片的模拟电源对纹波极其敏感。用DC-DC直接供电的方案开关频率一般在 1~2 MHz本身在音频带外但它的谐波、以及开关瞬间产生的地弹会通过共地阻抗耦合进麦克风偏置和ADC参考。表现是 200~800 Hz 出现窄带峰或者整条底噪随电池电量变化。处理顺序先给ANC芯片的模拟电源单独加一级低噪声LDODC-DC只负责数字和功放再把麦克风地、模拟地、功放地做单点汇合汇合点选在电池负极附近而不是芯片脚下最后在DC-DC的SW节点加RC吸收把开关沿放缓一点。这三步做完200~800 Hz的窄带峰通常能压下去 6~10 dB。实测还有一个高频坑充电时底噪变大。这基本可以锁定是充电器纹波通过USB线灌进来的。验证方法很简单拔掉充电线复测一次如果底噪回落就往输入端加共模电感和TVS别再去动ANC参数。4.2 麦克风选型数字还是模拟维度模拟MEMS数字MEMSPDM/I2S抗干扰能力弱长走线易拾取串扰强数字信号抗干扰自噪声水平常见 29~32 dB(A)可做到 26~29 dB(A)布局自由度需靠近芯片走线短可拉开距离避开功放时钟串扰风险低有PDM时钟需远离模拟区成本略低略高适用位置反馈麦贴近喇叭走线短前馈麦走线长环境复杂这张表的结论在实际项目里很一致前馈麦克风优先用数字MEMS因为它走线长、要穿过整个耳机腔体、还要靠近外壳开孔模拟走线在这一路上很容易被功放输出和电池线串扰。反馈麦克风离芯片和喇叭都近用模拟MEMS问题不大但要注意和功放输出的隔离走线垂直交叉而非平行。选型时只看一个参数是不够的除了自噪声还要看低频噪声密度。有些麦克风在 1 kHz 指标很漂亮但 100 Hz 以下的噪声密度明显偏高用在前馈通路上正好撞在ANC增益最大的频段主观隆隆声会很重。让供应商提供噪声密度曲线别只看一个总值。4.3 密封0.2 mm 的差距8 dB 的降噪这条是声学结构里性价比最高的检查项。反馈式ANC依赖喇叭与耳道之间的密闭空腔硅胶套、前腔密封圈、喇叭与壳体之间的点胶任何一处漏气都会让低频声学负载改变反馈环路在低频的相位偏离降噪量骤降同时底噪上升。验证方法很土但有效用手指轻轻按压耳罩或耳塞制造轻微形变同时听底噪变化。如果按压时底噪明显变化说明密封对环路影响很大装配一致性存在问题。另一个方法是做气压测试往腔体内注入微弱气流看泄漏率。我在一个模拟项目里遇到过装配公差导致的批量问题密封圈设计厚度 1.0 mm实际来料在 0.8~1.2 mm 之间波动低频降噪量在个体间差异达到 8 dB底噪差异 5 dB(A)。后来把密封圈改成带定位槽的结构公差收窄到 ±0.05 mm问题解决。所以遇到“有的机器吵有的不吵”先查装配别查算法。5. 算法层面的底噪治理到这一层问题已经从“降噪不够”变成“降噪带来的副作用”。自适应算法本身会产生噪声这一点在文档里很少提但实际调校绕不开。5.1 自适应步长收敛快和噪声小是死对头自适应滤波器的步长参数控制收敛速度。步长大收敛快能跟得上环境变化但稳态时系数会在最优点附近持续抖动这个抖动本身就是噪声表现是安静环境下的轻微“沙沙”或者“哗哗”声。步长小稳态安静但环境突变时响应慢用户会感知到“降噪跟不上”。我的做法是分段步长开机或环境突变时用大步长快速收敛比如 200 ms 内进入稳态后切到小步长大步长的 1/4 到 1/8。切换点用环境声压级的变化率判断而不是固定时间。这个改动能把稳态底噪压下去 2~3 dB(A)主观改善很明显。还有一个容易被忽略的点系数泄漏。自适应滤波器在长期运行后系数可能缓慢漂移到不合理的值导致某些频点增益异常底噪突然变大。加一个小的泄漏因子leakage factor把系数往零缓慢拉可以避免这个问题代价是极低频降噪量损失零点几dB完全可以接受。5.2 风噪和瞬态误触发风直吹前馈麦克风时麦克风输出的低频信号幅度极大算法如果把它当成噪声去做反相会产生巨大的低频输出听起来像“呼噜呼噜”。常规做法是加风噪检测检测到就降低前馈增益。问题在于检测的灵敏度。设得太灵敏正常走路、说话的气流都会触发降噪量频繁跳变用户感知是“降噪忽强忽弱”这个体验比底噪差得多设得太迟钝大风时爆音。我的经验是用“低频能量占比相关性”双条件判断而不是单看能量。风噪在低频的能量远高于中高频且两个麦克风之间的相关性低两个条件同时满足才触发误判率能降一个数量级。同样的逻辑适用于瞬态。键盘敲击、关门声这类瞬态如果被算法当成周期性噪声去处理会产生短暂的“抽气”感。处理办法是加快瞬态检测的响应检测到就冻结系数更新 100~200 ms等瞬态过去再恢复。5.3 降噪深度与底噪的折中曲线最后给一条实用的工程曲线思路。在同一副样机上把降噪深度从 10 dB 逐步加到 30 dB每档测一次A计权和Z计权底噪画出来会得到一条单调上升的曲线。这条曲线的拐点通常在 20~25 dB 附近超过拐点降噪量的主观收益快速递减底噪的主观代价快速上升。降噪深度档位A计权底噪Z计权底噪主观评价10 dB18 dB(A)24 dB(Z)安静降噪感弱15 dB20 dB(A)28 dB(Z)平衡点多数场景可接受20 dB23 dB(A)33 dB(Z)地铁场景收益明显安静房间能听出底噪25 dB26 dB(A)38 dB(Z)安静房间底噪明显需要场景自适应30 dB30 dB(A)44 dB(Z)底噪成为主要抱怨点工程上的做法不是选一个固定档而是场景自适应检测到环境噪声高于某个阈值比如 55 dB(A)放开降噪深度环境安静时收到 15~18 dB 档。这样用户在地铁里享受深度降噪在办公室里不会被底噪打扰。这个策略比死磕单一档位的参数有效得多。6. 常见问题速查与踩坑记录排查到最后大部分问题都能归到有限的几类。下面这张表是我这些年攒下来的速查清单遇到问题先对号入座能省不少试错。6.1 问题速查表现象优先怀疑验证动作处理方向开降噪才有沙沙声关掉就干净前馈麦克风链路被算法放大前馈静音对比降中频降噪增益、换低自噪声麦克风低频隆隆按压耳罩有变化密封不良导致环路增益异常按压测试、气压测试改密封圈结构、收窄装配公差底噪随电池电量下降而变大电源带载能力不足、LDO压差不够不同电量下复测换低压差LDO、加大输入电容充电时底噪明显变大充电器纹波灌入拔线复测输入端加共模电感、TVS底噪随音量变化功放底噪、增益级配置固定其他条件只改音量优化功放增益结构、降低前级增益周期性咔哒声时钟失锁、蓝牙丢包本地播放复测检查I2S时钟、提高缓冲降噪一阵一阵伴呼吸感风噪/瞬态误触发、噪声门走路、说话场景复现双条件触发、去掉噪声门个别机器特别吵装配一致性、器件批次差异拆机对比密封与麦克风收紧来料公差、加出厂检测6.2 几条踩过的坑写下来给后来人第一条别用主观听感做验收标准。早期我们用“三个人盲听打分”做验收结果三个人对同一副样机的评价能差两个等级因为每个人对低频的敏感度不同。后来改成“A计权底噪≤22 dB(A) 且 100 Hz 处Z计权≤40 dB(Z)”这样的硬指标配合主观听感做辅助争议立刻少了一大半。第二条换麦克风供应商一定要重标滤波器。有一次换了批次灵敏度差了 3 dBANC滤波器没重标定降噪量掉了 5 dB底噪反而没变。团队一开始以为是底噪问题查了两天才发现是增益标定没跟上。换料必重标这是死规矩。第三条调试工具的增益显示不等于实际增益。有些芯片的调试界面显示的是数字增益模拟增益在另一个页面两边加起来才是真实链路增益。我曾经因为只看数字增益把模拟增益调到了削顶边缘测出来的底噪里混着削顶失真一直找不到原因。第四条安静房间的标准比你想的严格。普通办公室白天本底在 40~50 dB(A)这种环境下你根本听不出 25 dB(A) 的耳机底噪。真正暴露底噪的是 20 dB(A) 以下的消声室或深夜卧室。做底噪评估一定要在足够安静的环境里否则测出来的数据没有意义。第五条ANC底噪的“可接受”是有场景的。通勤场景环境噪声 70 dB(A) 以上耳机底噪 30 dB(A) 完全被掩蔽办公室 45 dB(A)25 dB(A) 的底噪就开始打扰人。所以产品定义阶段就该明确“主要使用场景”按场景定指标而不是盲目追低。我个人在实际操作中的体会是ANC底噪排查 70% 的时间应该花在定位上30% 花在调参上。定位做扎实了调参往往是改两三个数就见效定位没做清楚参数改上一百遍也只是在碰运气。还有一个小习惯值得养成每次改动只动一个变量改完立刻复测并记录把数据攒成表格。时间长了你会发现这张表本身就是最有价值的经验。
阅读完成 · 觉得有帮助?
咨询建站