第二章 量化噪声基础:ADC量化过程、量化误差模型、量化噪声功率谱密度
好,咱们进入正题。上一章我聊了聊过采样技术能干什么,这一章咱们得把底层的量化噪声搞清楚。说白了,ADC就是把连续的模拟信号,变成一串离散的数字码。这个过程,一定会丢信息,一定会引入误差。这个误差,就是量化噪声。
很多新手觉得量化噪声就是“精度不够”,其实没那么简单。我个人习惯,先把这个噪声的数学模型吃透,后面做过采样设计才能心里有底。你想想看,如果连噪声长什么样都不知道,你怎么去压制它?
2.1 ADC量化过程:从连续到离散的“一刀切”
ADC量化,本质上是个“近似”的过程。一个模拟电压进来,ADC会把它跟内部的参考电压比较,然后输出一个最接近的数字码。
举个例子,一个3位的ADC,参考电压是0V到8V。那么它能分辨的最小电压就是1V(8V / 2^3 = 1V)。输入电压是3.3V,ADC会输出数字码“011”,代表3V。那0.3V的误差,就丢了。
这个过程,我习惯把它分成两步:
- 采样:在时间轴上,把连续的信号变成离散的点。这个由采样时钟决定。
- 量化:在幅度轴上,把连续的电压值,映射到有限个离散的电平上。
注意,采样和量化是同时发生的,但咱们分析时可以分开看。量化这一步,就是误差的根源。
核心要点:量化过程是不可逆的。一旦量化,信息就永久丢失了。过采样技术不能恢复丢失的信息,但它可以把噪声的能量重新分布,让有用的信号更干净。
2.2 量化误差模型:一个简单的加法器模型
为了分析方便,我们得给量化误差建个模型。这个模型很经典,也很有用。
我把量化过程看作一个理想ADC,后面加了一个加法器。加法器加进来的,就是量化误差e(n)。
数学上这么写:
y(n) = x(n) + e(n)
其中:
- y(n) 是量化后的数字输出
- x(n) 是理想的无误差采样值
- e(n) 是量化误差
这个模型简单吧?但它的前提条件很重要,我当年做项目时吃过亏,这里必须说清楚:
模型假设条件(必须满足):
- 误差e(n)是一个平稳随机过程,跟输入信号x(n)不相关。
- 误差e(n)在量化区间内均匀分布。也就是说,误差出现在任何位置的概率都一样。
- 输入信号变化足够快,能遍历所有量化电平。
我曾经在一个直流信号测量项目里,直接套用这个模型,结果算出来的信噪比跟实测差了好几个dB。后来才发现,直流信号变化太慢,误差根本不满足“均匀分布”的假设。嗯,这里要注意,模型不是万能的。
如果满足上述条件,量化误差e(n)的概率密度函数就是一个矩形,范围在 -Δ/2 到 +Δ/2 之间。Δ就是量化步长,也就是LSB(最低有效位)对应的电压值。
对于N位的ADC,参考电压是Vref,那么:
Δ = Vref / 2^N
误差的均值是0,方差(也就是平均功率)是:
σ_e² = Δ² / 12
这个公式很关键,我建议你记下来。它告诉我们,量化噪声的功率只跟量化步长有关,跟输入信号的幅度无关(在模型假设下)。
2.3 量化噪声功率谱密度:噪声在频域里长什么样
好,时域模型有了,咱们得看看频域。量化噪声的功率谱密度(PSD),决定了它怎么影响不同频率的信号。
根据前面的模型,如果误差e(n)是白噪声,那么它的功率谱密度在频域里是平坦的。从直流到采样频率fs的一半(奈奎斯特频率),功率密度是常数。
数学表达式:
S_e(f) = σ_e² / (fs/2) = (Δ² / 12) / (fs/2) = Δ² / (6 * fs)
注意,这个功率谱密度是单边谱。总功率就是σ_e²,积分从0到fs/2。
我画个表格,帮你理解不同参数下的噪声分布:
| 参数 | 变化方向 | 对量化噪声功率的影响 | 对功率谱密度的影响 |
|---|---|---|---|
| ADC位数 N | 增加 | Δ减小,总功率减小(Δ²/12) | PSD整体降低 |
| 采样频率 fs | 增加 | 总功率不变 | PSD降低(噪声摊到更宽的频带) |
| 参考电压 Vref | 增加 | Δ增大,总功率增大 | PSD整体升高 |
看到没?采样频率增加,总噪声功率不变,但功率谱密度降低了。这就是过采样技术的核心——把噪声摊平到更宽的频带里,然后只取我们关心的低频部分。
个人经验:我刚开始做音频ADC时,总想着提高位数来降低噪声。后来发现,在成本受限的情况下,提高采样率比提高位数划算得多。比如用12位ADC做64倍过采样,等效分辨率能到16位以上。这个账,你得会算。
2.4 量化噪声的“颜色”问题
前面我们说量化噪声是白噪声,功率谱平坦。但实际工程中,这个假设不一定成立。
为什么会这样?
因为真正的量化误差,跟输入信号有相关性。特别是当输入信号是低频、慢变信号时,误差会呈现出周期性。这时候,噪声能量会集中在某些频率上,形成“有色噪声”。
我举个例子:输入一个缓慢上升的斜坡信号。量化误差会呈现锯齿波形状,它的频谱就不是平坦的,而是有谐波分量。
这种情况下,直接用白噪声模型算信噪比,会偏乐观。实际测出来的噪声可能更大,而且有可闻的谐波失真。
避坑指南:我曾经在一个精密测量项目中,用正弦波输入测试ADC,信噪比指标很好。但换成实际传感器信号(低频、缓变)后,性能下降明显。后来发现,就是量化噪声的“颜色”问题。解决办法有两个:一是加抖动(dither),破坏误差的相关性;二是用过采样+噪声整形,把低频噪声推到高频去。
2.5 小结:量化噪声的“三把尺”
这一章的内容,我帮你总结成三把尺子,以后做设计时随时可以拿出来量一量:
- 时域尺:量化误差的方差 = Δ²/12。这是噪声的总功率。
- 频域尺:功率谱密度 = Δ²/(6*fs)。这是噪声在频域的分布密度。
- 模型尺:白噪声模型好用,但有前提条件。遇到低频信号,要小心。
下一章,咱们就拿着这三把尺子,去算过采样到底能提升多少信噪比。到时候你会看到,数学公式背后,其实都是工程直觉。