首页 > 其他分享 >ADC静态误差

ADC静态误差

时间:2024-08-03 11:52:52浏览次数:9  
标签:误差 12 LSB 静态 0.5 ADC 转换器

0 前言

  1. 图1 表示测量数据精密度高,但准确度较差;
  2. 图2  表示测量数据的准确度高,但精密度差;
  3. 图3 表示测量数据精密度和准确度都好,即精确度高。 

1 简介

        模数转换器(ADC)广泛用于各种应用中,尤其是需要处理模拟传感器信号的测量系统,比如测量压力、流量、速度和温度。

        在任何设计中,理解这些类型应用的总系统精度始终都是非常重要的,尤其是那些需要对波形中极小的灵敏度和变化进行量化的系统。理想情况下,施加于信号链输入端的每一个伏特都由ADC以数字表示一个伏特的输出。但是,事实并非如此。所有转换器和信号链都存在与此相关的有限数量误差。

        接下来将讨论模数转换器自身相关的误差,以及揭示转换器内部的不精确性累积到何种程度即会导致这些误差。

2 ADC的不精确性

        无论何种信号链,转换器都是系统的基本要素。为设计选择任何ADC都会决定系统的总精度。换言之,系统精度不可能高于转换器的最低有效位(LSB)大小。
        首先,注意到由于ADC不是理想的,并且分辨有限,因此它们在输出端只能显示有限数量的信息表示。

        例如,假设选择一个12位ADC,则它可在输出端以4096个数字表示施加于转换器输入端的任何信号。这些表示信息确实存在有限量的误差。因此,如果12位ADC的输入满量程(VFS)为10Vp-p,那么理想情况下的LSB大小为2.44mVp-p,精度为±1.22mV。

        而实际上,ADC是非理想的。在转换器内部存在一定的噪声,

        \frac{KT}{C }

         例如,查看12位ADC数据手册时,SNR通常为大约70dB到72dB。但是根据下列公式,一个12位ADC理想情况下应当具有74dB:

SNR(dB) = 6.02 * N + 1.76 

        因此,实际上12位分辨率是无法达到的,因为转换器本身存在一定的不精确性(失调电压、增益误差、线性误差等),如下图所示:

       ADC的量化误差如下图所示:

 这些不精确性或误差决定了转换器表示信号的效率,并最终位信号链所接收。失调误差定义为传递函数无法通过零点的模拟值。增益误差是失调误差为零时理想与实际传递函数之间的满量程数值之差。通常意义上的线性度或非线性度是指零电平与满量程之间的直线偏差。

3 相关指标分析

        大部分ADC的失调和增益都存在这种小误差,通常可以忽略或通过外部模拟电路调节(消除),或者采用数字技术校正。然而,诸如线性度、量化和温度系数等其他误差无法轻易调节或消除。

        模拟转换器线性度只与转换器自身相关,即取决于架构和工艺变化。虽说也有方法可以校正,但是都比较费时、费力。

        线性度有两种类型的误差:差分非线性(DNL)和积分非线性(INL),详细参数定义请参考ADC相关参数定义与测试方法-CSDN博客,DNL表示为两个相邻代码的模拟差与理想代码值\frac{VFS}{2^{N}}之间的偏差。可将其看作与ADC的SNR性能相关的因素,该误差在温度范围内的界限为±0.5LSB,可保证无失码。

        INL定义为零电平和满量程之间的理想直线与近似曲线偏差。多数情况下,INL决定了ADC的SFDR性能,INL总偏差形状可以决定最主要的谐波性能。例如,INL曲线呈弓形会相应产生更差的偶次谐波,而INL曲线呈S弓形则通常产生奇次谐波。

例如:

        一个12位ADC具有10ppm增益误差,或FSR/℃ = 0.001%℃。12位ADC的1LSB为\frac{1}{4096 },或者近似等于0.024%(1 / 4096 = 0.00024)。因此,若125℃(-40℃至+85℃),则产生±2.6LSB(0.001%℃ * 125℃ = 0.125%,0.125% / 0.024% = 5.2LSB = ±2.6LSB)增益温度系数误差。若失调温度系数为5ppm,这将产生±1.3LSB(计算方法同上)失调温度系数误差。

3 ADC误差分析

        影响ADC性能的其他误差来源有:CMRR、时钟抖动、固有电路板噪声、耦合等等。所有这些误差最终都决定了ADC如何有效地表示信号。

        从时域角度来看,分析ADC的总精度需要了解以下五个误差(增益误差和失调误差可通过校正消除):

  1. 相对精度DNL,定义为±0.5LSB;
  2. 相对精度温度系数和DNL温度系数;
  3. 增益温度系数误差,为±2.6LSB(上文推导);
  4. 失调温度系数误差,为1.3LSB(上文推导);
  5.  电源的PSRR,通常以第一奈奎斯特区域内的低频PSRR表示,对于12位ADC它一般表示为60dB(约为2LSB = 0.1% (60dB)/ 0.024% = 4 LSB = ± 2LSB)。

        只需进行方和根(RSS)运算,所有这些误差源构成±3.56 LSB总转换器误差。这个结果可能过于悲观了。然而,统计容差结果可能过于乐观了,或者总误差之和除以误差数,即(0.5 + 2.6 + 1.3 + 2) / 4 = ±1.6 LSB。ADC实际容差应当介于这两种思路或方法之间。

        因此,当在转换器中加入精度误差的时候,或者进行任何系统精度分析的时候,设计人员应当使用加权误差源法,然后对这些误差源进行RSS计算。这是确定ADC总误差的最佳方法。因此,±2.5 LSB增益温度系数误差应当是总误差的68%( 2.6 / (0.5 + 1.3 + 2) × 100),±1.3 LSB的失调温度系数误差将为总误差的25%(1.3 / (0.5 + 2.6 + 2) × 100),±2 LSB的电源灵敏度误差将为总误差的45%(2 / (0.5 +1.3 + 2.6) × 100),±0.5LSB对比其他误差偏小,在RSS计算后,对误差影响不会很明显,因此±0.5LSB作为100%。将这些加权误差以RSS方式相加,或者进行平方
根计算 \sqrt{(0.5*1)^{2}+(2.6*0.68)^{2}+(1.3*0.25)^{2}+(2*0.45)^{2 })} = 2.07LSB,若忽略±0.5LSB误差,计算结果为\sqrt{(2.6*0.68)^{2}+(1.3*0.25)^{2}+(2*0.45)^{2 })} =2.01LSB。由此可见±0.5LSB误差对总误差贡献偏小。这是一个更接近实际的结果,介于上文乐观方法和悲观方法得出的结果之间。

4 ADC带宽精度

        ADC还有建立时间精度。驱动ADC的前端需要具备足够的带宽,才能精确地对信号进行采样。否则,累积误差将大于上文计算结果。ADC驱动详细设计请参考SAR ADC驱动设计注意事项_sar adc设计-CSDN博客

标签:误差,12,LSB,静态,0.5,ADC,转换器
From: https://blog.csdn.net/mogutou520/article/details/140696896

相关文章

  • 【ADC】欠采样的基本理论及其应用中的抗混叠滤波器设计原则
    概述之前的两篇文章:信号采样中的频谱混叠现象、频谱混叠的MATLAB仿真与抗混叠滤波器设计介绍了关于ADC采样时,有关奈奎斯特采样定律的基本理论、频谱混叠现象的由来,以及抗混叠滤波器的设计与仿真。但这都是基于过采样的情况,即所有目标信号均位于第一奈奎斯特区内。本文首......
  • Windows图形界面(GUI)-MFC-C/C++ - 静态文本框(Static Text) - CStatic
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录静态文本框(StaticText)-CStatic基本概念成员函数示例代码静态文本框(StaticText)-CStatic基本概念静态文本框是一种用于显示文本的控件,用户不能编辑其中的文本。静态文本框......
  • 动态语言、静态语言、强类型语言、弱类型语言的区别
    我们在学习编程语言的类型系统时,经常听说“静态语言”“动态语言”“强类型语言”和“弱类型语言”这些概念,它们究竟是什么意思呢?各个概念之间又有什么区别呢?如果你阅读互联网上的博客,你也可能会发现一些矛盾的观点,有的作者糊涂地认为静态语言=强类型语言,或者动态语言=弱类型......
  • “靶”向“胃”来,Claudin18.2熠熠生辉,单抗、双抗、CAR-T、ADC蓄势待发
    2024年3月Claudin18.2单抗Zolbetuximab(商品名:VYLOY)在日本获批上市,用于治疗Claudin18.2阳性的不可切除晚期或复发性胃癌,是目前全球首个且唯一被批准的CLDN18.2靶向疗法。Claudin18.2正常生理中仅在胃黏膜上皮细胞表达,但在多种恶性肿瘤高表达,是治疗前景巨大的新靶点。目前Cla......
  • clion 《cmake自定义静态库后,生成的exe无法运行》
    背景项目生成lib引入,在生成exe过程中无法正常运行处理办法让链接器静态链接GCC和C++标准库set(CMAKE_EXE_LINKER_FLAGS"-static-libgcc-static-libstdc++")主CMakeLists.txtcmake_minimum_required(VERSION3.28)project(speech)#编译版本set(CMAKE_CXX_STANDAR......
  • 微机原理静态存储器扩展设计
    一、实验目的1.能够选择存储器芯片进行硬件设计。2.能够编制自检程序进行测试验证。3.培养系统设计的全局思维。二、实验内容按照规则字写存储器,编写实验程序,将0000H~000FH共16个数写入SRAM的从0000H起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否......
  • 【nginx网站部署】【nginx部署网站】【linux-nginx】静态页面部署 静态网站部署 nginx
    ============================================第一步:安装:===============================1、安装:sudoapt-getinstallnginx 输入y2、测试是否成功: sudonginx-t 输出: nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok nginx:config......
  • android.uid.system sendBroadcast失效的问题
    如果是系统应用android:sharedUserId="android.uid.system"报这个错 Callingamethodinthesystemprocesswithoutaqualifieduser:android.app.ContextImpl.sendBroadcast:1188android.content.ContextWrapper.sendBroadcast:解决添加如下权限<uses-permissionandroi......
  • Python 自动创建阿里云 OSS 桶并配置静态网站托管
    在本文中,我们将介绍如何使用Python和阿里云OSSSDK自动创建OSS桶(如果不存在),并为新创建的桶配置静态网站托管。这对于自动化部署和管理静态网站非常有用。前提条件安装阿里云OSSSDK:pipinstalloss2准备好阿里云OSS的访问密钥(AccessKeyID和AccessKeySecret......
  • Ubuntu修改默认网关,以及配置静态ip
    使用Netplan配置(适用于Ubuntu18.04及以上版本)使用ifconfig查看网络,找到192开头的ip的网口,例如我的电脑是:ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.1.100netmask255.255.255.0broadcast192.168.1.255记住这个ens33网卡名称N......