ADC静态误差

news2024/9/23 15:31:04

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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud开发实战(一)- 搭建一个Eureka+Feign+LoadBalancer 项目

Spring Cloud开发实战(一)- 搭建一个EurekaFeignLoadBalancer 项目 文章目录 Spring Cloud开发实战(一)- 搭建一个EurekaFeignLoadBalancer 项目0.内容简介1.Eureka服务注册与发现1.1.什么是服务注册与发现1.2.Eureka注册中心1.2.…

Android 系统与SDK和JDK版本对照表

Android 系统与SDK和JDK版本对照表 传说中的兼容问题是指在高版本 SDK 平台开发的软件,可能在低版本 Android 系统中运行时出现各种问题。而低版本 SDK 开发的软件在高版本 Android 系统中运行时基本没有兼容问题的。 Android版本SDK/API版本JDK版本备注Android 14…

springboot宠物相亲平台-计算机毕业设计源码16285

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 开发环境及相关技术介绍 2.1 MySQL数据库的介绍 2.2 B/S架构的介绍 2.3 Java语言 2.4 SpringBoot框架 3 宠物相亲平台系统分析 3.1 可行性分析 3.1.1 技术可行性分析 3.1.2 经济…

unplugin-vue-components 插件配置 忽略 部分目录下的组件自动导入

背景 vue3 项目 为了省略 第三方库ui 组件 全局组件的注册代码,使用了 unplugin-vue-components 插件 原理 组件识别 在编译阶段,unplugin-vue-components 会扫描 Vue 单文件组件(.vue 文件)的模板部分,识别出所有使…

从零开始掌握进程间通信:管道、信号、消息队列、共享内存大揭秘

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是小米,今天我们来聊一聊操作系统中的一个重要话题——进程间通信(Inter-Process Communication,简称IPC)。IPC是指在不同进程间传递数据…

01.docker安装、配置、常用命令、dockerfile、镜像上传下载和Harbor仓库搭建

1.docker安装 1.1移除旧版本 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine1.2安装yum-utils获取yum-config-manager [rootlocalhost ~]# yum install -y yum-utils …

图论之最短路径问题(朴素Dijksra算法\堆优化版Dijksra算法\Bellman-Ford\SPFA)

朴素Dijskra算法 时间复杂度:,适用于稠密图,需要用邻接矩阵来存储。 算法描述 设起点为s,dist[v] 表示起点到v点的最短距离。 a)初始化 dist[v]INF(v!s),dist[s] 0 这里一共有n个点,第一个点(起点)初始化为0,其余都初始化为in…

COFFEE AI PARTNER -- 神奇的AI工具,相当我雇佣了一个AI员工,淘汰你的是会使用AI的人

COFFEE AI PARTNER介绍 COFFEE AI PARTNER是由 AI JAVA开发的一款生成式人工智能工具(又名AI助手),尝试一下。 首先域名似乎正在备案中,企业邮箱似乎正在采购,目前服务地址是:COFFEE AI PARTNER-官网 官网…

基于JSP技术的教学质量评价系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:JSP 数据库:MySQL 技术:JSPJavaBeans 工具:MyEclipse、Tomcat、Navicat 系统展示 首页 管理员功能模块 学生功…

前端面试:八股文系列(一)

更多详情:爱米的前端小笔记(csdn~xitujuejin~zhiHu~Baidu~小红shu)同步更新,等你来看!都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们…

大学新生入门编程的最佳路径

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

微服务架构三大利器:限流、降级与熔断

文章目录 前言一、限流(Rate Limiting)二、降级(Degradation)三、熔断(Circuit Breaker)四、三者关系总结 前言 限流、降级和熔断是分布式系统中常用的容错策略,它们各自承担着不同的角色&#…

5.Gateway-微服务统一网关

5.Gateway-微服务统一网关 1.为什么需要网关2.Spring Cloud Gateway2.1 引入依赖2.2 编写启动类2.3 配置路由规则2.4 路由断言(Predicates)2.5 过滤器(Filters)2.6 熔断机制 1.为什么需要网关 统一访问入口:在微服务架…

【微分方程——高数】

7.二阶常系数非齐次线性微分方程(重点) 8.欧拉方程(重点)

Prompt提示工程上手指南:基础原理及实践-Prompt个性知识库引导

前言 Prompt系列的第二期文章已经将所有的Prompt工程主流策略讲解完毕,共涉及到六种Prompt类别模型以及具体生产内容详解。再结合系列第一篇文章具体对Prompt工程的详细介绍,也就可以达到Prompt工程师的初步入门,现在如果掌握了这些基础技能…

缓存击穿

概念 缓存击穿问题也叫热点key问题,指的是一个被高并发访问并且缓存重建业务较为复杂的key突然失效了,大量的请求会到达数据库给数据库带来巨大的冲击。 常见解决方法有两种:互斥锁,逻辑过期。 优缺点 : 基于互斥锁的…

Python多进程:如何在不依赖Queue的情况下传递结果

随着数据的爆炸式增长,网络爬虫成为获取信息的强大工具。在爬取大量数据时,多进程技术可以显著提高效率。然而,如何在多进程中传递结果,而不依赖Queue,成为了一个值得探讨的问题。本文将以采集抖音短视频为案例&#x…

web框架:Django进阶(一)

文章目录 django进阶内容回顾1.模板1.1 寻找html模板顺序1.2 模板处理的本质1.3 常用语法1.4 内置函数1.5 自定义模板功能1.6 继承和母版1.7 模板的导入 2.django中间件2.1 原始方式2.2 MiddlewareMixin(建议)2.3 prcess_request的执行时,是否…

【系统设计】软件项目概要设计说明书(2024原件完整版)

1引言 1.1编写目的 1.2项目背景 1.3参考资料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4运行环境设计 2.5设计目标 3系统功能模块设计 3.1个人办公 3.2系统管理 4性能设计 4.1响应时间 4.2并发用户数 5接口设计 5.1接口设计原则 5.2接口实现方式 6运行设计…

qiankun 微前端 隔离子应用样式,解决 ant-design-vue 子应用样式污染问题(已落地)

样式冲突产生原因 先分析乾坤qiankun 构建之后,会根据你的配置 给每个子应用生成一个id, 当加载到对应子应用的时候,就把内容放到对应的id 标签里去, 这样能有效的隔离 js 代码,但是样式是加载在全局的 所以 当两个子…