本章主要是进行ADC的基础概念学习,从模拟和数字信号进行入手,分析各自的优缺点和应用场合,从而引出数模转换的重要性。紧接着提到了ADC部分最重要的奈奎斯特采样定理,了解采样频率和被测信号频率之间的关系。最后介绍了ADC的采样保持放大电路,作为ADC部分的输入级,该电路对于采样结果有着至关重要的影响。
目录
信号可以分成连续信号和离散信号。连续信号变化缓慢,没有突变。离散信号可以只有有限几个值。连续和离散是指信号的幅度,也可以指信号的时间。可以说连续变化的信号就是模拟信号,离散变化的信号是数字信号。
模拟信号的优点在于
①电路简单,可以直接通过电路元件进行实现,比如运算放大器。
②分辨率很高,由于是连续信号,理论上的分辨率为无穷大,更容易模拟出自然现象,因为生活中大部分的信号都是连续信号。
模拟信号主要的缺点就在于抗噪声能力比较弱,模拟信号不同的幅值代表完全不一样的信息,很容易被干扰。随着距离越长,噪声的影响越大。
数字信号的优点在于
①“抗噪声能力强”
其实理论上并不是说抗噪声的能力强,因为和模拟信号一样同样都是信号,收到噪声影响一定会产生干扰,只不过数字信号相比模拟信号是在受干扰的情况下能更好的还原成原来的信号,因为只有0和1两种电平,就算信噪比恶化到一定程度,也能大致识别出两种电平状态。
②便于储存和交换
由于计算机系统是二进制,只能处理数字信号,因此便于用计算机对数字信号进行存储、处理和交换,可使通信网的管理、维护实现自动化、智能化
③可以用于加密
信息传输的安全性和保密性越来越重要,数字通信的加密处理的比模拟通信容易得多,以话音信号为例,经过数字变换后的信号可用简单的数字逻辑运算进行加密、解密处理。
ADC全称是Analog-to-Digital Converter模数转换器,一般我们把模拟信号(Analog signal) 用A来进行简写,数字信号(digital signal) 用D来表示。
自然界绝大部分都是模拟信号,例如压力或温度的测量,为了方便储存,处理和传输,我们会通过ADC把模拟信号转化成数字形式给计算机处理。将模拟转换成数字的形式有两个步骤:采样和量化。
采样是指将模拟波形在时间域上进行切分,每个切片大小大致等于原来波形的值,这一过程往往会丢失一些信息。然而,数字系统的优点(去噪、数字储存以及处理)远远大于丢失信息的不足。在采样完成后,给每个时间片分配一个数字,这样的一个过程称为量化,量化生成的数字可以交由计算机进行处理。下图解释了采样和量化的过程:

作为硬件工程师,日常用到ADC的需求其实很多,例如制作一个数字电源,单片机需要采样电流电压值来作为反馈,进行PID控制。大部分的嵌入式MCU都集成了ADC,位数有12位,16位不等。但是对于一些对于采样精度还有速度要求比较高的场合,需要用到外置的高速ADC,其实他们大多本质上原理都是一样的,后面会详细讲解不同架构的ADC。
只要是提到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倍于最大频率分量的采样频率对信号进行采样,从理论上解决了,离散信号能够重建出连续信号的问题。
这一篇针对于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著
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear