- ADC的常见指标
- 位数和ENOB
对于一个b位的ADC,它的有效位数(ENOB)只有(b-2)位左右。这是因为ADC所在采集模块也会引入噪声,一个ADC实际用起来,能达到的位数没有标称那么高。一般ADC的手册里都会提到,如果没有,可按b-2来计算。
有效位数真实反映了采集模块的性能和实际产生的量化误差。即,不考虑系统其他组成部分的情况下,理想ADC量化误差为:RMS of quantization noise = effective units of resolution/√12,其中effective units of resolution = Total span/2^ENOB
实际上,对于带噪系统来说,其RMS of quantization noise是根据实际采集到的数据得到的,然后计算effective units of resolution,再计算所需ADC的位数,当然,前提是验证时所用的ADC位数够高,否则会出现计算结果就恰好等于所用ADC位数。后面有例子。
- SNR和THD
SNR用来表征信号和噪声(不包括谐波)的功率比
SINAD(信纳比)用来表征信号和噪声加谐波的功率比
THD用来表征信号和谐波的功率比
一般情况下,ADC的SNR和SINAD基本相同,差别在1dB以内。
而对于上文的ENOB,可以从SINAD或者SNR估算得到。
- 采样速度
ADC都需要一定的时间进行模数转换以获得一定精度的数据。如果稳定时间不够,那么数据也无法达到相应的精度,会带来更大的误差。当然,一般来说标称的采样速度即可满足标称精度,具体需要看手册。如下图:
- ADC的选用依据
- 位数与分辨率
芯片手册中ADC的分辨率一般用位数表示,具体到应用中,可换算成电压值。例如,12位ADC,设定幅值范围±5V,其分辨率理论上为10/2^12。在我们的应用中,要确保想要达到的血糖测量精度,也即血糖变化的最小单位转换为电压值,大于ADC的分辨率,这样才可以被感知到。
-
- 量化误差和精度
量化误差和其他噪声等会带来精度的下降,测量结果的不确定度增大,在此要关注的指标是ENOB(或者SINAD,SNR,如上计算所示,都是一个体系)。假设理想ADC,只有量化误差,其自身的量化误差应小于信号源的噪声,即e> RMS of quantization noise = effective units of resolution/√12。
-
- 其他考虑因素
速度:速度和精度会有一定的折衷,高速会带来精度的下降。
价格,尺寸,功耗,协议,输入范围等。
- 实验方法
- ADC位数确定
如上所述,首先要确保ADC位数能够满足分辨率要求。
其次要保证噪声要求能够满足上述精度要求,例如,假定16bit ADC已经足够,那么,用它进行采集,得到噪声的RMS值,则令effective units of resolution =√12 * RMS of noise,再根据effective units of resolution = Total span/2^ENOB得到所需ADC位数,注意在此是ENOB。
-
- 提高精度(降低所需ADC位数)的方法
以上两点分别得到ADC位数,假设分辨率所需位数较低,那么可以使用相应位数ADC。通过算法来提高精度,通常可以平均或者过采样加低通滤波器来实现。
平均可以使噪声功率降低为e/√N,N为平均个数。
过采样:若信号源带宽无限或者很高,则需要先经过模拟低通抗混叠滤波,将其高频成分滤除。然后以较高的采样率(一般是信号带宽的数十乃至上百倍)采样,将量化噪声平均到整个频带,有时还可用反馈电路将信号频带内的噪声压制而等同于将噪声推至高频(这个常见于Delta-sigma型ADC)。之后进行平均和降采样,平均过程等效于低通滤波,数字抽取滤波器通常采用有限脉冲响应(FIR)滤波器。即,经过模拟低通-过采样-数字低通实现降噪和提高准确度。
除了自行设计过采样系统,Delta-sigma型ADC自带过采样技术。
- 其他问题
- 接线方式问题
- ADC复用问题
这两点在上一篇文档中有介绍,不赘述。