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

相关推荐
晚霞的不甘2 小时前
Flutter for OpenHarmony专注与习惯的完美融合: 打造你的高效生活助手
前端·数据库·经验分享·flutter·前端框架·生活
雾岛听蓝3 小时前
C++11新特性(可变参数模板、新的类功能、STL中的一些新变化)
开发语言·c++·经验分享·笔记
三流架构师3 小时前
公考面试资源合集(第二辑)
经验分享
sweetone4 小时前
Rogers(乐爵士)A75 Series 2 功放之再修
经验分享·音视频
TM1Club14 小时前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
达文汐16 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
中屹指纹浏览器17 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
中屹指纹浏览器19 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
宏集科技工业物联网20 小时前
预防性维护与能源效率:SCADA 在工业运营中的关键作用
经验分享·scada·预测性维护·工业自动化·能耗管理
三流架构师1 天前
Matlab资源合集
经验分享