2、信号采样与量化:奈奎斯特定理、过采样技术、ADC/DAC选型要点、量化噪声分析
好,咱们开始聊采样和量化。这俩词儿,做通信芯片的,天天都得打交道。说白了,就是把咱们现实世界里的连续信号,变成数字芯片能处理的0和1。这一步要是没做好,后面算法再牛也白搭。我见过不少项目,最后性能上不去,回头一查,根儿就在ADC/DAC的选型或者采样策略上。
2.1 奈奎斯特定理:不只是个公式
奈奎斯特定理,大家肯定都背过:采样频率要大于等于信号最高频率的两倍。但你真的理解它背后的物理含义了吗?
我个人习惯,不把它当定理,而是当个「边界条件」。它告诉我们,要想无失真地重建信号,采样率的下限在哪。低于这个下限,就会发生混叠(Aliasing)。
为什么会这样?因为现实世界没有理想的低通滤波器。你信号最高频率是10MHz,但前面可能有个12MHz的干扰。如果采样率刚好20MHz,这个12MHz的干扰就会被折叠到8MHz的位置,正好落在你的信号带内。所以,工程实现时,我们通常会说:
- 理论值: f_s ≥ 2 * f_max
- 工程值: f_s ≥ 2.2 * f_max 或更高,取决于抗混叠滤波器的性能
你想想看,这多出来的0.2倍,其实就是给模拟滤波器留的过渡带。滤波器越陡峭,成本越高,功耗越大。这就是个典型的工程权衡。
2.2 过采样技术:用速度换精度
过采样,就是用一个远高于奈奎斯特频率的采样率去干活。这听起来有点浪费资源,但好处非常明显。
核心思想就一句话:把量化噪声的能量,分散到一个更宽的频带里。
咱们知道,量化噪声的总功率是固定的,跟采样率无关。但它的功率谱密度是平坦的。如果你把采样率提高K倍,噪声功率谱密度就降为原来的1/K。然后,你再通过一个数字低通滤波器,把带外噪声滤掉,剩下的带内噪声就小了很多。
这里有个公式,我建议你记在笔记本上:
每提高一倍采样率(2倍过采样),
带内量化噪声功率降低约3dB,
相当于有效位数(ENOB)提升0.5位。
过采样也不是万能的。它主要受限于两个因素:
- 模拟带宽: ADC本身的模拟输入带宽必须能支持过采样率。
- 功耗: 采样率越高,ADC的动态功耗越大,数字滤波器的功耗也越大。
2.3 ADC/DAC选型要点:别只看位数
很多新手选ADC,上来就问「这是多少位的?」。嗯,位数很重要,但不是全部。我选型时,会重点看以下几个参数:
| 参数 | 为什么重要 | 我的经验值 |
|---|---|---|
| 有效位数 (ENOB) | 这才是实际能达到的精度,不是标称位数。受噪声和失真影响。 | 通常比标称位数低1~2位。比如12位的ADC,ENOB可能只有10.5位。 |
| 无杂散动态范围 (SFDR) | 衡量ADC对强干扰的抑制能力。在通信中,这比SNR还关键。 | 对于接收机,SFDR至少要达到70dBc以上才够用。 |
| 信噪失真比 (SINAD) | 综合了噪声和失真的指标。ENOB就是由它算出来的。 | ENOB = (SINAD - 1.76) / 6.02 |
| 采样抖动 (Aperture Jitter) | 采样时刻的不确定性。高频信号下,抖动会严重恶化SNR。 | 对于1GHz以上的信号,抖动要小于100fs。 |
对于DAC,除了上述指标,还要关注:
- 建立时间 (Settling Time): 输出从一个值跳到另一个值并稳定下来的时间。
- 毛刺 (Glitch): 数字码变化时产生的瞬时尖峰。在高速通信中,毛刺会引入带外杂散。
先看带宽够不够,再看ENOB真不真。
SFDR看抗干扰,抖动决定高频根。
功耗面积要权衡,数据手册看仔细。
2.4 量化噪声分析:躲不开的「原罪」
量化噪声,是模数转换的固有产物。你永远无法消除它,只能尽量减小它的影响。
它的模型很简单:假设量化误差 e 在 [-Δ/2, Δ/2] 内均匀分布,其中 Δ 是量化步长(LSB)。那么,量化噪声的功率为:
P_q = Δ² / 12
对于一个满量程正弦波输入,信号功率为 (2^N * Δ)² / 8。所以,理论上的信噪比(SNR)为:
SNR = 6.02 * N + 1.76 dB
这个公式,做芯片的应该都烂熟于心了。但我想说的是,这只是理想情况。实际中,量化噪声并不总是均匀分布的。比如:
- 小信号时: 量化噪声会变成周期性的,产生谐波,而不是白噪声。这就是所谓的「 idle tones」。
- 输入信号频率接近采样率时: 量化噪声会与信号相关,产生互调失真。
怎么解决?我常用的方法有两个:
- 加抖 (Dithering): 在量化前,人为地加入一个微小的随机噪声。这能把量化噪声「白化」,消除谐波。代价是总噪声功率会稍微增加一点。
- 过采样 + 噪声整形: 这就是Δ-Σ ADC的核心思想。它把大部分量化噪声推到高频,然后用数字滤波器滤掉。这是目前高精度ADC的主流方案。
好了,关于采样和量化,核心的东西就这些。记住,理论是基础,但工程实现时,一定要结合你的具体应用场景来做权衡。没有最好的方案,只有最合适的方案。