2. 采集系统基础

做音频采集这么多年,我见过太多人一上来就盯着ADC(模数转换器)看。总觉得杂音是ADC没选好,或者采样率不够高。其实啊,ADC只是最后一站。真正的杂音,往往在它前面就已经埋下了。

今天我们就从头到尾捋一遍,从传感器到ADC,这条信号链路上到底有哪些关键节点。每个节点都可能成为杂音的“策源地”。

2.1 信号链路全景图

先给你一张全景图。我习惯把整个链路分成四个阶段:

传感器 → 前端调理 → 传输/缓冲 → ADC采样

这四个阶段,缺一不可。任何一个环节出了问题,后面的ADC再贵也救不回来。

下面这张SVG图,就是我常用的链路结构。你仔细看看,每个节点我都标了关键风险点。

信号链路关键节点与杂音风险点 传感器 麦克风/拾音器 ⚠ 共模噪声、偏置纹波 机械振动耦合 前端调理 前置放大 + 滤波 ⚠ 电源噪声、运放自激 1/f噪声、热噪声 传输/缓冲 线缆 + 缓冲器 ⚠ 共模干扰、线缆耦合 阻抗不匹配 ADC ⚠ 采样时钟抖动 量化噪声 核心原则:越靠近传感器,杂音越难处理。前端引入的噪声会被后面各级放大。 节点①:传感器输出 节点②:放大器输出 节点③:缓冲器输出 节点④:ADC输入

2.2 节点①:传感器输出——最脆弱的环节

传感器是整个链路的起点。说白了,它把声波、振动这些物理量转成微弱的电信号。有多微弱?很多MEMS麦克风的输出只有几毫伏到几十毫伏。

这么弱的信号,随便一点干扰就能把它淹没。我在项目中遇到过最典型的问题——麦克风的偏置电压纹波。有一次客户反馈采集到的音频里有“嗡嗡”声,频率刚好是100Hz。查了半天,发现是给麦克风供电的LDO输出纹波太大。你想想看,麦克风把电源纹波当成了有效信号放大,能不嗡嗡吗?

避坑指南:传感器输出端的杂音,80%来自供电。我曾经因为省成本用了普通LDO给MEMS麦克风供电,结果底噪直接高了6dB。后来换成超低纹波的LDO,问题立刻解决。

传感器端常见的杂音类型:

  • 共模噪声——传感器和地之间的电位差,表现为低频哼声
  • 偏置纹波——供电不干净,直接耦合到信号里
  • 机械振动——传感器本身被振动干扰,产生伪信号
  • 热噪声——传感器阻抗越高,热噪声越大

2.3 节点②:前端调理——放大器是双刃剑

信号从传感器出来,第一件事就是放大。但放大器本身也是噪声源。我常说一句话:放大器把信号放大的同时,也把自己的噪声放大了。

前端调理电路通常包含两级:

级数 功能 常见杂音
第一级(前置放大) 将微伏级信号放大到毫伏级 运放1/f噪声、输入偏置电流噪声
第二级(滤波+增益) 带外衰减、进一步放大 电源噪声耦合、自激振荡

这里有个关键点——第一级运放的选择决定了整个链路的底噪天花板。你后面用再好的ADC,也救不回第一级引入的噪声。我个人习惯,第一级运放必须选低噪声、低偏置电流的型号,比如OPA1612、AD797这些。

经验之谈:调试前端放大器时,先把输入端短路,用示波器看输出。如果输出上有明显的纹波或毛刺,说明电源或布局有问题。别急着换运放,先查供电。

2.4 节点③:传输/缓冲——线缆是天线

信号放大之后,要传到ADC那边去。这段传输路径,往往被很多人忽略。你想想看,一根几厘米到几十厘米的线缆,就是一根天然的天线。空间里的电磁干扰,全都能耦合进来。

传输环节的杂音来源:

  • 共模干扰——线缆两端地电位不一致,形成地环路
  • 串扰——信号线紧挨着时钟线或数字线
  • 阻抗不匹配——信号反射,造成振铃
  • 线缆电容效应——长线缆的寄生电容会衰减高频

我记得有一次,客户说采集到的信号在1MHz附近有周期性毛刺。我让他们把信号线远离板上的DC-DC电感,毛刺立刻消失了。说白了,就是线缆把开关电源的辐射捡了进来。

解决传输杂音,我建议用差分信号传输。如果只能用单端,那就加一级缓冲器,降低输出阻抗,提高抗干扰能力。

2.5 节点④:ADC输入——最后一关

信号到了ADC输入端,其实已经“定型”了。ADC能做的,就是把模拟信号转成数字。但ADC本身也会引入杂音:

  • 采样时钟抖动——时钟不稳定,采样点偏移,等效为相位噪声
  • 量化噪声——ADC分辨率有限,量化误差不可避免
  • 开关电容馈通——ADC内部的采样电容切换,会向输入端反冲电荷

关键认知:ADC的量化噪声是理论下限,你改变不了。但时钟抖动和馈通噪声,是可以通过电路设计来优化的。我见过有人用普通晶振给24位ADC提供时钟,结果有效位数只有16位。换成低抖动时钟后,直接提升到20位。

2.6 链路噪声预算——你得心里有数

做信号链路设计,不能凭感觉。你得算清楚每个节点贡献了多少噪声。我常用的方法是:

  1. 列出每个节点的噪声密度(nV/√Hz)
  2. 乘以该节点的带宽
  3. 再乘以该节点之后的增益
  4. 最后求和,得到总输出噪声

举个例子,一个典型的音频采集链路:

节点 噪声密度 带宽 增益 输出噪声贡献
传感器 30 nV/√Hz 20 kHz 100x 134 μV
前置放大器 5 nV/√Hz 20 kHz 10x 7 μV
缓冲器 10 nV/√Hz 20 kHz 1x 1.4 μV
ADC 15 nV/√Hz 20 kHz 1x 2.1 μV
总输出噪声 ≈ 135 μV(主要来自传感器)

你看,在这个例子里,传感器贡献了绝大部分噪声。所以你要优化,就得从传感器下手。换一个低噪声的传感器,效果立竿见影。

小技巧:做噪声预算时,别只看数值。要关注噪声的频谱分布。有些噪声集中在低频(如1/f噪声),有些是白噪声。针对不同频段的噪声,处理手段完全不同。

2.7 链路调试的“三板斧”

最后,分享我调试信号链路的三个习惯动作。每次遇到杂音问题,我都按这个顺序查:

  1. 逐级短路法——从ADC输入端开始,逐级向前短路。短路到哪一级杂音消失,问题就出在哪一级之前。
  2. 供电排查法——用电池给每一级单独供电。如果电池供电时杂音消失,说明是电源问题。
  3. 频谱分析法——用FFT看杂音的频率分布。50Hz/100Hz是工频干扰,高频毛刺可能是开关电源或数字串扰。

这三板斧,我用了十几年,从来没失手过。你下次遇到杂音问题,不妨试试看。