ADC学习系列(一):ADC基础概念

2023-11-16

        本章主要是进行ADC的基础概念学习,从模拟和数字信号进行入手,分析各自的优缺点和应用场合,从而引出数模转换的重要性。紧接着提到了ADC部分最重要的奈奎斯特采样定理,了解采样频率和被测信号频率之间的关系。最后介绍了ADC的采样保持放大电路,作为ADC部分的输入级,该电路对于采样结果有着至关重要的影响。

目录

一.模拟信号和数字信号

二.数模转换(ADC)原理

三.奈奎斯特(Nyquist)采样定理

四.采样保持放大器(SHA)

一.模拟信号和数字信号

         信号可以分成连续信号离散信号。连续信号变化缓慢,没有突变。离散信号可以只有有限几个值。连续和离散是指信号的幅度,也可以指信号的时间。可以说连续变化的信号就是模拟信号,离散变化的信号是数字信号。 

模拟信号的优点在于

①电路简单,可以直接通过电路元件进行实现,比如运算放大器。

②分辨率很高,由于是连续信号,理论上的分辨率为无穷大,更容易模拟出自然现象,因为生活中大部分的信号都是连续信号。

模拟信号主要的缺点就在于抗噪声能力比较弱,模拟信号不同的幅值代表完全不一样的信息,很容易被干扰。随着距离越长,噪声的影响越大。

数字信号的优点在于

①“抗噪声能力强”

        其实理论上并不是说抗噪声的能力强,因为和模拟信号一样同样都是信号,收到噪声影响一定会产生干扰,只不过数字信号相比模拟信号是在受干扰的情况下能更好的还原成原来的信号,因为只有0和1两种电平,就算信噪比恶化到一定程度,也能大致识别出两种电平状态。

②便于储存和交换

        由于计算机系统是二进制,只能处理数字信号,因此便于用计算机对数字信号进行存储、处理和交换,可使通信网的管理、维护实现自动化、智能化

③可以用于加密

        信息传输的安全性和保密性越来越重要,数字通信的加密处理的比模拟通信容易得多,以话音信号为例,经过数字变换后的信号可用简单的数字逻辑运算进行加密、解密处理。

二.数模转换(ADC)原理

        ADC全称是Analog-to-Digital Converter模数转换器,一般我们把模拟信号(Analog signal) 用A来进行简写,数字信号(digital signal) 用D来表示。

        自然界绝大部分都是模拟信号,例如压力或温度的测量,为了方便储存,处理和传输,我们会通过ADC把模拟信号转化成数字形式给计算机处理。将模拟转换成数字的形式有两个步骤:采样和量化

        采样是指将模拟波形在时间域上进行切分,每个切片大小大致等于原来波形的值,这一过程往往会丢失一些信息。然而,数字系统的优点(去噪、数字储存以及处理)远远大于丢失信息的不足。在采样完成后,给每个时间片分配一个数字,这样的一个过程称为量化,量化生成的数字可以交由计算机进行处理。下图解释了采样和量化的过程:

         作为硬件工程师,日常用到ADC的需求其实很多,例如制作一个数字电源,单片机需要采样电流电压值来作为反馈,进行PID控制。大部分的嵌入式MCU都集成了ADC,位数有12位,16位不等。但是对于一些对于采样精度还有速度要求比较高的场合,需要用到外置的高速ADC,其实他们大多本质上原理都是一样的,后面会详细讲解不同架构的ADC。

三.奈奎斯特(Nyquist)采样定理

        只要是提到ADC,一定需要掌握的基本知识就是Nyquist采样定理,是硬件工程师的基本功,因为也是学习示波器需要了解的,示波器本质上就是通过ADC采集到外部信号,然后储存起来,通过数字处理在屏幕上进行重现。

        在A/D转换中,模拟波形在固定点采样,然后将被采样的值转换成二进制数值。由于转换需要花费一定的时间,因此在一定时间周期内,模拟信号的采样数是有限的。比如说:某ADC在1ms内完成一次转换,那么在一秒钟内它能进行1000次转换。也就是说,在一秒钟的间隔内,可以将1000个不同的模拟值转换成数字形式,采样频率为1kHz。

        Nyquist采样定理解释了采样率fs和所测信号频率之间的关系。 阐述了采样率fs必须大于被测信号感兴趣最高频率分量的两倍,该频率通常被称为奈奎斯特频率fN。用公式显示就是fs>2*fN。本文章不涉及到复杂的公式推导,我们用直观的方式来理解采样率为什么需要大于被测信号最高频率两倍这个原因。

1.假设采样率fs=fN

        如下图所示,因为采样率和被测信号频率一致,我们可以理解为周期是一致的,那就是相当于一个正弦波信号一个周期内只能采样到1个点。那么对于一个周期函数而言,每个周期内采样的都是同一个位置的点,最后ADC采样完成并重建出来的信号波形就是不变的一条直线,明显得不到我们想要的结果。

2.假设采样率fs=(4/3)* fN

        那么我们稍微提高一点采样率,变为4/3倍,可以发现在不同周期内,有的时候可以采样到1个点,有的时候可以采样到2个点,但是最后重建出来的线条还是失真严重,因此也不满足。

3.假设采样率fs=2fN

        当我们采样率达到2倍信号频率的时候,假如说我们运气比较好正好第一个采样点就在正弦波的波峰或者波谷,那么在被测信号的每个周期内,正好可以分别采样到幅度最大和最小的两个点,最后把所有的点线性连接起来后可以得到三角波,经过适当地函数处理可以恢复成原来的正弦波。

         但是我们也发现了问题,如果每个周期采样的两个点并不是位于波峰或者波谷的话,采样过来的信号同样会失真。因此2倍这个数字只是理论值,也是可以通过数学推导推出来的,但是我们实际在使用的时候,比如说用100M带宽的示波器去检测信号,工程上面一般是缩小5倍,也就是最高能检测20M的信号而不失真,一个周期内至少采样被测信号5个点。

 混叠的概念

        那么如果说采样率没有达到2倍的被测信号采样频率,会出现一种混叠的现象。也就是下图所示的那样,我们实际测量的信号是灰色的高频信号,但是由于采样率不够高(一个周期内没有采样到2个点),出现了一种红色的低频信号,而这种信号是虚假的重建信号。因此当我们去用示波器测试高频信号时,如果发现测出来的信号频率反而很低,可以怀疑下是不是出现了混叠。

         绝大多数信号都是能够进行傅里叶变换的,就意味着,不管一个信号多么复杂,总可以分解为若干个正(余)弦信号的和,对应了信号的频率分量。因此,Nyquist采样定理只需找到信号最大的频率分量,再用2倍于最大频率分量的采样频率对信号进行采样,从理论上解决了,离散信号能够重建出连续信号的问题。

四.采样保持放大器(SHA)

        这一篇针对于ADC入门,最后要介绍的是ADC的输入部分的一个非常重要的结构-----采样保持放大器(Sample-And-Hold Amplifier)采样放大器在某个时刻对模拟输入电压进行采样,在获取采样之后,将采样电压保持一段时间。采样保持过程将已采样的模拟电压在一段必要的时间长度内保持恒定,以便让ADC将模拟电压转换成数字形式。

        一个基本的SHA如下图红框所示,包括一个模拟开关、一个电容以及输入输出缓冲放大器。开始的时候模拟开关闭合,通过输入缓冲放大器对模拟输入电压进行采样,电容C存储或保存已采样电压一段时间,输出缓冲放大器提供一个高输入阻抗来防止电容快速掉电。ADI要求输出缓冲器的输入阻抗足够高,以便电容可以在保持时间内放电少于1LSB。

        如下图所示,一个相对狭窄的控制电压脉冲闭合模拟开关,并使电容持续充电达到输入电压。然后开关断开,由于通过运放输入端的放电通路阻抗非常高而使电容将在较长一段时间内保持电压值不变。ADI要求输出缓冲器的输入阻抗足够高,以便电容可以在保持时间内放电少于1LSB。

        或许采样保持电路称为采样跟踪保持电路更为合适,因为事实上该电路在采样期间跟踪输入电压。如下图所示,当控制电压为高电平时,输出电压跟随输入电压;当控制电压变成低电平时,输出保持最后的电压不变,直到下一次采样开始。

性能指标

        除了运算放大器那些基本指标外(如带宽),采样保持放大器有一些专门的特性

①孔径时间

        控制电压从采样电平转换为保持电平之后,模拟开关完全打开所需的时间。孔径时间会在有效采样点处产生一定的延时。

②孔径抖动

        孔径时间的不确定性

③采集时间

        当控制电压从保持电平转到采样电平时,器件达到最终值所需要的时间。

④跌落

        在保持期间,由于电容漏电而产生的采样值中的电压变化。

⑤馈送

        模拟开关打开后,输出电压中跟随输入信号变化的组成成分。从开关的输入到输出中存在的内在电容导致馈送的产生。

题外话

        有些地方还提到了跟踪保持放大器(T/H或THA)和采样保持放大器(SHA)有细微差别,但是如果不是深入研究ADC芯片设计的话可以暂时认为都是用于ADC输入端保持采样电压的。

下一篇将正式介绍ADC的各种关键参数,加油~

参考链接:奈奎斯特采样定理(Nyquist) - MyCPlusPlus - 博客园

参考文献:《模拟电子技术基础》Thomas L.Floyd   David M.Buchla著

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ADC学习系列(一):ADC基础概念 的相关文章

  • Spring事务实现原理

    Spring事务的原理是基于AOP实现的 所以流程也可以理解为与AOP一样分为3步 解析切面 织入通知和运行时增强 1 解析切面 Srping事务的是通过 EnableTransactionManagement注解开启的 该注解往IoC容器
  • 【逆向】使用CE查找Android中变量的偏移

    0x00 准备工作下载Cheat Engine以及调试器服务端 https www cheatengine org index php 夜神模拟器 https www yeshen com 下载安装贪婪洞窟 梦境模式 http a 4399
  • 【华为OD机试】路灯照明问题 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 题目描述 在一条笔直的公路上安装了N个路灯 从位置0开始安装 路灯之间间距固定为100米 每个路灯都有
  • oracle修改块大小设置,oracle性能调整(1)

    1调整数据库服务器的性能Oracle数据库服务器是整个系统的核心 它的性能高低直接影响整个系统的性能 为了调整Oracle数据库服务器的性能 主要从以下几个方面考虑 1 1Oracle 调整操作系统以适合Oracle数据库服务器运行数据库服

随机推荐

  • 利用PicGo+Gitee配置图床

    引言 配置图床 方便我们的使用 比如 我们利用typora写的笔记 直接把发送给别人也可以正常使用 不再会有由于本地图片 而加载不出来图片的情况 此外 图片文件遗失亦可以正常加载出来 因为图片已上传 这里已 Typora Gitee Pic
  • java String(一)—— Java中的String类型

    一 需要理解的代码 import java lang reflect Array import java util ArrayList import java util Arrays import java util HashMap imp
  • DNS服务器正向/反向解析配置

    第四次作业 题目 配置DNS正反向解析 一 正向解析 1 装包 2 配置服务 3 配置服务器 4 测试 1 yum install bind y 2 vim etc named conf 监听53号端口 访问的是本机ip 129 168 2
  • c++命名空间

    命名空间 主要解决全局变量的冲突 内部不允许私有变量 所有变量都是公有的 namespace data int x 10 data x 为域作用符 直接使用等同于使用全局变量 不存在就是0 不包含匿名命名空间内变量 同一个文件引用stati
  • 相见恨晚的办公插件合集(二)

    之前有分享过一些办公的插件 如不坑盒子 打工人插件 易用宝等 下面就简单的介绍一下上面的几个神器后再补充一些其它办公神器吧 不坑盒子 word wps 这是一个非常好用的插件工具 专门应用在Word文档和wps 支持Office 2010以
  • 拓数派入选中国信通院 “铸基计划”「高质量数字化转型产品及服务全景图」

    7 月 27 日 由中国信息通信研究院 以下简称 中国信通院 主办的 2023 数字生态发展大会 暨中国信通院 铸基计划 年中会议在京召开 本次大会深度展示了中国信通院在数字化领域的工作成果 并正式发布了 高质量数字化转型产品及服务全景图
  • GUI基础知识

    GUI编程 1 简介 图形用户界面 Graphical User Interface 又称图形用户接口 是指采用图形方式显示的计算机操作用户界面 GUI的核心技术 AWT Swing 2 Awt 2 1 AWT简介 AWT Abstract
  • springboot报错Could not autowire. No beans of ‘RedisConnectionFactory‘ type found

    这个报错提示是因为springboot升级到2 6 9以后版本就会出现 报错界面 其实上面报错不影响程序使用 但是总是觉得别扭 提供3种解决方式 第一种方案 springboot版本降到2 6 9或以下 第二种方案 通过idea设置不提示该
  • Unity&Webform(2):自定义LifetimeManager和TypeConverter使Unity从HttpContext中取值注入WebForm页面...

    上一篇 Unity WebForm 1 自定义IHttpHandlerFactory使用Unity对ASP NET Webform页面进行依赖注入中让Unity和WebForm结合在一起 通过使用HttpHandlerFactory实现了对
  • 模式匹配算法

    下面分别介绍 朴素模式匹配算法 和 改进模式匹配算法 KMP 朴素模式匹配算法思想 从目标S中的第一个字符开始和模式T中的的第一个比较 用 i 和 j 分别指示S串和T串中正在比较字符的位置 若相等 则继续逐个比较后续字符 否则 从S 的第
  • 【PYTHON】conda/pip一些命令记录

    查看环境 conda info env conda env list 删除某环境 conda remove n
  • 数据结构:设计实现抽象数据类型“有理数”内容

    题目 设计实现抽象数据类型 有理数 内容 设计并上机实现抽象数据类型 有理数 有理数的基本操作包括 两个有理数的加 减 乘 除等 包括有理数的创建和输出 要求 有理数的类型 我们可以构造成一个结构体类型 这个结构体由两个整数构成 分别表示有
  • 深入理解设计原则之最少知识原则/迪米特法则(LOD)【软件架构设计】

    系列文章目录 高级C 并发线程编程 C 高性能优化编程系列 软件架构设计系列 深入理解设计模式系列 不怕别人瞧不起 就怕自己不争气 Are not afraid to look down upon he was afraid his dis
  • JavaWeb 【基础】 IDEA 创建javaweb项目,并使用servelet 开发简单接口

    目录 创建项目 配置web项目 创建servelet 添加servelet路径映射 方法一 使用 web xml 配置servelet映射 方法二 使用注解配置servelet映射 初学javaweb的时候 通常会遇到很多坑 下面系统的做一
  • transform: translateY(-100%)偏移实现上滑隐藏导航栏

    transform translateY 100 语法 Transform字面上就是变形 改变的意思 在CSS3中transform主要包括以下几种 旋转rotate 扭曲skew 缩放scale和移动translate以及矩阵变形matr
  • python办公自动化-按需求批量提取EXCEL数据,python只需要几秒钟!

    作者 锋小刀 微信搜索 Python与Excel之交 关注我的公众号查看更多内容 Hi 大家好 又到Python偷懒时刻 今天讲解的是如何利用Python来按需求批量提取EXCEL表格数据 然后进行保存 在用excel进行工作时 这样的操作
  • GLSL (3)输入和输出

    1 in和out 着色器使用in和out两个关键字设定输入和输出 只要一个输出变量与下一个着色器阶段的输入匹配 它就会传递下去 既是一个着色器向另一个着色器发送数据 我们必须在发送方着色器中声明一个输出 在接收方着色器中声明一个类似的输入
  • AI应用

    上一期 AI应用 从模仿到超越 视觉智能下一步会怎样进化 我们介绍了机器的 眼睛 视觉识别 这一期我们来分析机器的 耳朵 语音识别能力 语音识别能带来什么 场景一 打开电视 不再需要遥控器 坐在沙发上说一声 打开电视 就可以尽情观赏 类似的
  • 上传论文到arxiv教程

    由于文章需要引用或者虽然已经被期刊或者会议录用 但还未发表 可能需要先占坑 具体步骤如图 1 arxiv 注册 最好用 edu 邮箱 就不需要资格审查了 官网是 http arxiv org 注册好后直接登录 2 开始一个新的提交 以前记录
  • ADC学习系列(一):ADC基础概念

    本章主要是进行ADC的基础概念学习 从模拟和数字信号进行入手 分析各自的优缺点和应用场合 从而引出数模转换的重要性 紧接着提到了ADC部分最重要的奈奎斯特采样定理 了解采样频率和被测信号频率之间的关系 最后介绍了ADC的采样保持放大电路 作