ADC 精度 第一部分:精度与分辨率是否不同?

在与使用模数转换器(ADC)的系统设计师交谈时,我经常听到的一个最常见问题是:

"你们的16位ADC也是16位准确的吗?"

这个问题的答案在于对分辨率和精度这两个概念的基本理解存在差异。尽管这是两个完全不同的概念,但这两个术语经常被混淆并互换使用。

今天这篇文章将详细阐述这两个概念之间的差异。我们将在一系列文章中深入探讨影响ADC精度的主要因素。

ADC的分辨率定义为输入信号值的最小变化量,该变化量能够使数字输出的值改变一个计数。对于理想的ADC,其传输函数是一个阶梯状函数,每个台阶的宽度等于分辨率。然而,在更高分辨率的系统(≥16位)中,传输函数的响应与理想响应之间的偏差会更大。这是因为ADC以及驱动电路所产生的噪声可能会掩盖ADC的分辨率。

此外,如果向理想ADC的输入端施加一个直流电压并进行多次转换,数字输出应该始终是相同的代码(在图1中用黑点表示)。然而,在实际情况中,输出代码会分布在多个代码上(如下方看到的红色点群),这取决于整个系统的噪声(即包括电压参考和驱动电路)。系统中的噪声越多,数据点的集群就越宽,反之亦然。图1展示了中量程直流输入的一个示例。在ADC数据手册中,ADC传输函数上的这群输出点通常用直流直方图来表示。

图1:ADC传输曲线上ADC分辨率和有效分辨率的示意图

图1中的示意图提出了一个有趣的问题。如果相同的模拟输入能够导致多个数字输出,那么ADC分辨率的定义是否仍然成立呢?如果我们仅考虑ADC的量化噪声,那么答案是肯定的,ADC分辨率的定义仍然有效。然而,当我们考虑信号链中的所有噪声和失真时,ADC的有效无噪声分辨率则由输出代码分布(NPP)决定,如公式(1)所示。

在典型的ADC数据手册中,有效位数(ENOB)通常是通过交流(AC)参数和信噪比及失真比(SINAD)来间接指定的,这些参数可以通过公式2来计算:

接下来,考虑图1中输出代码集群(红色点)没有以理想输出代码为中心,而是位于ADC传输曲线上远离黑点(如图2所示)的某个位置的情况。这个距离是数据采集系统准确性的一个指标。不仅ADC本身,前端驱动电路、参考电压源和参考缓冲器也都对系统整体准确性有所贡献。

图2:ADC传输曲线上的准确性示意图

需要注意的重要一点是,ADC的准确性和分辨率是两个不同的参数,它们可能并不相等。从系统设计的角度来看,准确性决定了系统的整体误差预算,而系统软件的算法完整性、控制和监控能力则依赖于分辨率。

相关推荐
CodeClimb4 小时前
【ThinkBook 16+ 电脑重做系统type-c接口部分功能失效解决方案】
windows·经验分享·电脑·远程工作
chennalC#c.h.JA Ptho7 小时前
Centos系统详解架构详解
linux·经验分享·笔记·系统架构·系统安全
秋名RG9 小时前
PDF生成模块开发经验分享
经验分享·pdf
草莓熊Lotso13 小时前
【C语言】--指针超详解(二)
c语言·开发语言·经验分享·笔记
不知道叫什么呀14 小时前
【5G通信】bwp和redcap 随手记 2
5g
安卓机器14 小时前
rom定制系列------红米note12 5G版miui14修改型号root版 原生安卓14批量线刷固件 原生安卓15等
5g·红米note12
Tianyanxiao15 小时前
新能源汽车赛道变局:传统车企子品牌私有化背后的战略逻辑
经验分享·数据分析·汽车
努力的小雨17 小时前
MCP 实践系列:百度 AI 搜索
经验分享·ai智能
Hello kele18 小时前
从艾米・阿尔文看 CTO 的多面特质与成长路径
经验分享·团队协作·程序开发·洞察
碣石潇湘无限路1 天前
【AI】基于生活案例的LLM强化学习(入门帖)
人工智能·经验分享·笔记·生活·openai·强化学习