赛事中心 / 2025-11-27 13:14:09

通俗的解读一下:当给 ADC 输入一个干净的正弦波,而且这个频率刚好是采样频率的整数倍时,会出现奇怪的频谱伪像——明明没有失真、没有噪声,却在 FFT 里看到很多“鬼影”(假的频率成分)。为了打破这个“相关性陷阱”,我们尝试往输入信号里加入一点点扰动(也叫“加抖”、“抖码”、“打散”),让每次采样点不会总是重复。这也是今天文章要解决的问题。

引子:前段时间发了MT001的文档解读,今天群友问了:

这个问题其实这个问题问的不准,不如这样说:为了打破输入频率与采样频率相关性而引入的噪声(或扰动),其大小需要达到什么程度才“足以有效打散量化伪像”。

MT-001在这里,初看不知他在叽里咕噜什么,但是仔细分析感觉是一个非常有趣的话题,我觉得可以计算一下。

说啥呢?为什么要加噪声?我们不是最怕噪音了吗?当 ADC 输入是一个频率与采样率成整数比的纯正弦波,如:

在这种情况下:

采样点总是落在信号的固定相位点,导致输出“周期性重复码字”,FFT 显示“完美的谐波结构”而非真实量化噪声(我们的FFT会看到很多的尖刺,其实就是谐波),这不是 ADC 真正的 SNR,而是被误导的高伪像分布。

文档中解决方法:加扰动噪声(Dithering)目标是:

“打破 ADC 采样点与输入波形的固定相位关系”,从而使量化误差“变得随机”

要加多大的扰动才能有效?MT-001 的经验公式如下:

扰动噪声的峰值幅度至少要达到 ±0.5 LSB,理想值为 ±1 LSB

也可以直观的看:

量化误差1 LSB 的最小码间隔定义了量化台阶,若扰动小于 0.5 LSB,则采样值仍会集中在固定码;达到 ±1 LSB,才能有效“跨越码间界限”,使量化行为去相关。

但是这样说就太没有说服力了!接下来就使用数学的方法来研究一下。问题涉及量化误差的统计扰动模型,可以从量化误差的均值、方差、相关性分析出发,推导扰动最小要求。

假如我们有一个理想 N 位 ADC,满量程为 FS,量化步长为:

目标:引入一个扰动噪声 δ[n],使得量化误差变成非周期性、非相关(即白噪声样态)。

无扰动时的问题当输入是:;且:

→ 输入在 M 点内重复 → 量化码重复 → 误差 e[n] 周期性,非白噪声!

加入扰动后建模引入扰动后的输入为:

量化误差为:

我们希望 e[n] 近似为 白噪声过程(均值为 0,方差为 q²/12,且无自相关)。

扰动噪声如何“打断”周期性?若扰动太小,x[n] + δ[n] 仍落在原来的同一个量化区间 → 输出不变

所以我们希望:

即:扰动足够大,使得大多数样本跨越量化边界

以概率模型建立判据假设扰动 δ[n] 为均值 0、标准差 σ 的高斯白噪声:

我们希望扰动使得:

比如设 p_thresh = 0.5,即希望有 50% 的概率扰动超过半个 LSB

解这个不等式:

查标准正态分布函数 的反函数:

当扰动噪声 RMS(标准差) σ > 0.74 × LSB 时,有超过 50% 的概率打断原有码字重复。

我以上的模型是假设:每个点平均扰动 ≈ 跨区边界,也可以使用使扰动近似平均分布(均匀扰动),数学表达是,计算出RMS = q/√3 ≈ 0.577q

分析模型数学条件高斯扰动模型均匀分布扰动实际设计峰值扰动 ≥ ±LSB,RMS ≥ 0.5~1 LSB我这里也计算了不同位数ADC的LSB:

ADC 分辨率1 LSB 幅度(FS=2Vpp)建议扰动 RMS8-bit≈ 7.8 mV≥ 4 mV RMS12-bit≈ 0.5 mV≥ 0.3 mV RMS16-bit≈ 31 µV≥ 20 µV RMS建议扰动噪声采用均匀分布或白噪声,不要使用高频干扰或谐波信号作为扰动源。

展示了量化伪像被打散的实际效果

Without Dither:量化误差在频域呈现出周期性峰值(假谐波),即采样相关性伪像

With ±1 LSB Dither:这些峰值消失,频谱噪声分布更加均匀平滑,呈现真实 ADC 量化噪声特性

黄色曲线(未加扰动):明显看到主频率信号(7Hz)之外,有周期性、等距的谐波峰值。

这些不是真实谐波,而是由于:输入频率 = 采样率的整数比,从而导致 采样点重复,进而量化误差重复 ,形成假谐波,就是典型的相关性伪像现象。

红色曲线(已加扰动 ±1 LSB):主频率仍清晰存在(7Hz),原本的伪像“谐波”被打散为连续的背景噪声,频谱变得更接近理想 SNR 白噪声分布,说明扰动噪声起到了“去相关 + 去伪谐波”的作用。

扰动幅度达到 ±1 LSB(RMS ≈ 0.577 LSB)时,基本可打破相关性造成的频谱伪像

我想了一个办法,如果将这个扰动幅度逐级扫描,能不能定量评估 SNR 提升,就好像是扫频的原理。

**扰动幅度(以 LSB 为单位)** 与 **SNR(信噪比)** 之间的关系曲线扰动幅度(LSB)典型现象SNR 变化趋势0无扰动 → 严重相关性伪像SNR 被虚高(假 SFDR、假高峰)0.1 ~ 0.5扰动不足 → 伪像仍部分存在SNR 波动,不稳定0.7 ~ 1.0打破相关性伪像、量化近似白噪声SNR 最接近理论值>1.2扰动过大,开始破坏信号本身SNR 下降,信号被噪声淹没扰动 RMS ≈ 0.5~0.7 LSB(峰值 ±1 LSB)最合适:有效打散伪像又不会破坏信号质量

小扰动:无效打散,频谱仍伪造整洁

大扰动:信号失真,SNR 下降

加噪幅度建议在 ±1 LSB 峰值,或 ≥ 0.5 LSB RMS,这是最少可有效破除相关性的水平。

再看看扰动幅度(以 LSB 计)与 SNR、THD、SFDR、ENOB 四项关键 ADC 性能指标之间的关系:

扰动幅度(以 LSB 计)与 SNR、THD、SFDR、ENOB的关系指标随扰动幅度变化的趋势SNR- 在 0.5~1.0 LSB 时达到最优(有效打散伪像) - 太小扰动无效,太大扰动反而引入额外噪声THD- 原始量化造成严重谐波 - 扰动提升后 THD 明显改善SFDR- 未扰动时有高伪峰值 - ±1 LSB 附近扰动可极大提升 SFDRENOB- 0~0.3 LSB 下偏离理论值(受相关性影响) - 达到 1 LSB 扰动时趋近理论 ENOB(约 7.8bit)

C语言整数类型(short、int、long、long long)
EDG战队厂长年薪多少?揭秘电竞行业高薪职位真相