ADC学习(1)——采样、重建、量化

参考:Boris Murmann Stanford University

一. 总览

从一个功能性的“黑盒”角度来看ADC与DAC的构建块。
在这里插入图片描述
ADC主要包括:抗混叠滤波器、采样、量化

DAC主要包括:DAC、模拟保持、重构滤波器

二. 混叠效应

如下面三个余弦函数的例子所示,不同的信号频率在相同的采样频率下,可以得到相同的采样波形。 是因为离散采样信号具有2π的相移不变性, f s i g f s \frac{f_{sig}}{f_s} fsfsig需要通过加或减整数修改为绝对值最小的结果作为最终的表达式一部分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结论是频率 f s i g f_{sig} fsig N ∗ f s ± f s i g N*f_s±f_{sig} Nfs±fsig在离散时域中不可区分。

三. 采样定理

为了消除混叠效应,采样必须遵循Nyquist采样定理:
f s i g , m a x < f s 2 f_{sig,max}<\frac{f_s}{2} fsig,max<2fs
其中 f s = 2 ∗ f s i g , m a x f_s=2*f_{sig,max} fs=2fsig,max被称为Nyquist频率。

有两种方法可以做到抗混叠,满足Nyquist采样定理:

  • f s 足 够 大 f_s足够大 fs)采样频率足够高以覆盖所有频谱成分,包括感兴趣频段之外的“寄生”成分
  • f s i g , m a x 足 够 小 f_{sig,max}足够小 fsig,max)通过滤波器限制 f s i g , m a x f_{sig,max} fsig,max

四. 抗混叠滤波器和过采样

在这里插入图片描述
在这里插入图片描述
通常的抗混叠滤波器无法做到陡峭的干净滤波,所以采样频率尽量大于Nyquist速率以实现混叠信号的大幅衰减。或者提高滤波器的阶数,以实现陡峭的滤波,滤除混叠信号。这是采样速率和滤波器阶数的一个权衡
在这里插入图片描述
在这里插入图片描述
Nyquist速率采样通常会略微大于Nyquist速率来抗混叠;真正的过采样通常远远大于Nyquist速率,这时抗混叠滤波器是多余的,而且过采样也有助于减小量化噪声。

五. 保持与重建

在这里插入图片描述
理想情况通过在频域滤波来进行信号重构,但频域与矩形滤波器相乘,等价于时域对sinc函数进行卷积,非常难以通过电路实现。

通常采用零阶保持的方法进行信号重构。
在这里插入图片描述
首先考虑无限窄的狄拉克冲激与连续信号相乘,如下图所示。
在这里插入图片描述
其频谱为在采样频率整数倍的复制,如下图所示。
在这里插入图片描述
其次考虑有限宽度的保持脉冲进行重构,如下图所示。
在这里插入图片描述
时域保持脉冲可以看做有限宽矩形脉冲与狄拉克冲激卷积,时域卷积,频域相乘,频域和sinc函数相乘,保持脉冲的频谱包络如下图所示。
在这里插入图片描述
通过对零阶保持后的信号进行低通重构滤波,可以使零阶保持的波形更加平滑,所以重构滤波器也被称为平滑滤波器。
在这里插入图片描述
在这里插入图片描述

六. 量化

在这里插入图片描述
通常情况,由于有限的量化级数,输出会包含量化噪声。
在这里插入图片描述
双极中上升量化器。
在这里插入图片描述
双极中梯级量化器。
在这里插入图片描述
单极量化器。
在这里插入图片描述
斜坡输入时,量化误差的平均功率是 e q 2 ‾ = Δ 2 12 \overline{e^2_q}=\frac{\Delta^2}{12} eq2=12Δ2
在这里插入图片描述
正弦输入时,可以通过误差分布直方图的积分来近似平均功率。
在这里插入图片描述
误差均匀分布且满量程正弦输入的信号量化噪声比与比特数的关系是: S Q N R = 6.02 B + 1.76 d B SQNR=6.02B+1.76dB SQNR=6.02B+1.76dB
在这里插入图片描述
量化会导致无限数量的谐波。
在这里插入图片描述
采样会使量化产生的无限数量谐波混叠在 f s / 2 f_s/2 fs/2的频带内,量化噪声谱就成为了白噪声。采样与量化交换次序,频谱是相同的。

七. DAC

在这里插入图片描述

八. 静态非理想性

8.1 失调和增益误差

在这里插入图片描述
在这里插入图片描述

8.2 差分非线性

在这里插入图片描述
ADC的DNL为每一个code对应的模拟范围相对于平均值的偏差。下面是ADC的DNL计算的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通常所说的DNL指标实际上是所有codes中最小和最大的DNL。
在这里插入图片描述
DAC的DNL计算类似与ADC的DNL。
在这里插入图片描述

8.3 积分非线性

在这里插入图片描述
INL表示每个code对应的模拟范围相对于标准范围的偏差,下面是计算ADC的INL的例子:
在这里插入图片描述
在这里插入图片描述
INL可以通过对DNL累加来计算。
在这里插入图片描述
在这里插入图片描述
由于INL是DNL的累加,所以INL对热噪声的敏感度较低。
在这里插入图片描述
DAC的INL计算与ADC的INL类似。

下面是DNL/INL建模与测试的相关Matlab代码:
在这里插入图片描述
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐