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的准确性和分辨率是两个不同的参数,它们可能并不相等。从系统设计的角度来看,准确性决定了系统的整体误差预算,而系统软件的算法完整性、控制和监控能力则依赖于分辨率。

相关推荐
孞㐑¥44 分钟前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Libraeking2 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
方见华Richard2 小时前
世毫九量子原住民教育理念全书
人工智能·经验分享·交互·原型模式·空间计算
bobuddy3 小时前
射频收发机架构简介
架构·射频工程
三水不滴5 小时前
计网ping原理
经验分享·笔记·计算机网络
架构师沉默7 小时前
这个问题,决定你能不能进大厂!
经验分享
软件检测小牛玛7 小时前
软件功能测试机构推荐:资质权威,报告认可的软件测评机构 中承信安
经验分享·软件功能测试·第三方软件检测·软件测评机构·软件功能测试报告
方见华Richard8 小时前
方见华个人履历|中英双语版
人工智能·经验分享·交互·原型模式·空间计算
acrelwwj8 小时前
智慧照明新引擎,ASL600 4GWJ开启城市照明精细化管理新时代
大数据·经验分享·物联网
智者知已应修善业11 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法