ADC应用

数模转换(ADC)的应用笔记

智能时代,数字信号已体现在我们生活的方方面面,A/D,D/A是重要的基础。智能手机触摸信号需要转换为数字信号才能分辨触摸位置、数字去抖;打电话或者麦克风需要将模拟声信号转换为数字信号以便存储回放、语音识别;移动通信到4G时代,速率已经达到了300Mbps,手机和基站之间的通信是模拟电磁信号,同样需要高性能的ADC将其转化为数字信号,才能变成各位看到的电影、微博(当然没这么简单)。上述三个例子是典型的三种应用场景,对应ADC的不同指标。其中速度(采样率)和精度(bit位)是选取ADC的基础指标。各种监测可能需要实时性不高,能转换就行了;大部分医疗电子可能要求精度高,动态高,能分辨大信号下隐藏的小信号,同时速度较快;对于移动通信,您可能要求速度快,同时信号好,那对速度和精度就都有要求了,速度可能几百Msps,精度可能12、14位;更高大上的,针对卫星通讯、软件无线电(SDR),带宽可达数GHz,同时灵敏度要求更高,这种ADC就是核心科技了,只有为数不多的几家美国厂商掌握。

关键词:ADC  SDR 抗混叠滤波器无线通讯 高精度采样

      本文主要介绍ADC的模拟前端匹配技术,并分享笔者的几个设计作业,随着认识的不断深入,也会不断更新。关于ADC的互连、中频方案选择等在系列文档中细说。

ADC的前端匹配其实是抗混叠滤波器(anti-aliasing filter)的设计问题,为什么叫抗混叠滤波器,那得从ADC的采样原理说起。ADC的采样遵循Nyquist定理,假设被采样信号的最高频率为Fh,则要使在数字域能完全恢复该信号的最小采样频率为2*Fh;另外还有一个Nyquist带通采样原理,也称为欠采样。即对于带通信号而言,如TDD-LTE的2575MHz—2615MHz,通带50M,需要最小的采样频率为2*BW(50M) = 100Msps。

Fig 1 Nyquist采样混叠原理

      在Fig1中,fa为被采样信号,I为其采样后的镜像,fs为采样频率。0.5fs为一个nyqusit区。Fig1中上图表示选择信号中频在1st Nyquist区,那么这个信号会在其他高阶Nyquist区有镜像信号;下图表示选择感兴趣的信号在2nd Nyquist区,采样后,会镜像到1st Nyquist区和其他高阶Nyquist区。同理,在ADC采样时,非感兴趣Nyquist区的噪声信号都会镜像到1st Nyquist区,而1st Nyquist区正式数字域中频处理需要信号。为了抑制噪声,需要在ADC前端加入低通(1st)或者带通(upper)滤波器,该滤波器也称为抗混叠滤波器。

      ADC的硬件系统一般都是数模混合系统,板级噪声较复杂,采用差分模拟输入能有效提高共模噪声抑制比。对几十MHz以下的模拟信号一般是直接采样,如医疗中的超声、生物阻抗测量等。这种模拟信号需要将单端转为差分,采用运放可以方便的转换,同时保证ADC需要的偏置电压,如fig2。但要注意运放的直流匹配、共模偏置电压、压摆率、CMRR、频率等参数,这部分有专门的应用笔记可以参考。转为差分信号后,再设计需要的匹配滤波器,与ADC对接,下面会讲到。对于采用1st Nyquist Zone的使用场景,还可以用放大器本身来完成低通滤波。比较典型的有源滤波器是sallen-key结构。

Fig2利用运放实现单端转差分

      无线通信的频率较高,经常使用变频器(解调器)+AGC+匹配滤波+ADC的架构。存在变频器,如果采用非零中频设计,必然在射频有镜频抑制要求。为了降低镜频抑制滤波器的设计难度,结合混频杂散分析,一般采用较高的中频,多在5fs/4或者更高。在这种场景下,匹配滤波器为带通滤波器,设计复杂度要高的多。下变频器直接为差分中频输出,ADC也是差分输入,滤波器需要考虑的是阻抗匹配。变频器如AD5801的输出阻抗为200ohm,如果采用4:1的transformer,输出阻抗为50ohm。当然也可以直接采用1:1的transformer,输出阻抗为200ohm。如果采用中频放大器,可根据放大器的直流负载特性,选择合适的负载阻抗,如fig3所示源阻抗为70ohm。ADC的输入阻抗一般较大,如AD9248的输入阻抗为7kohm,输入电容7pF;AD9230的输入阻抗4.3kohm,4pF。如此大的输入阻抗对滤波器来说是极难匹配的,一般在ADC的输入并联电阻到地,使得总输入电阻为几百ohm,作为匹配滤波器的负载电阻。

Fig3抗混叠滤波器阻抗匹配示意图

  根据输入阻抗、负载阻抗、ADC的采样率、其他NyquistZone的抑制要求,即可确定滤波器的详细参数。本人习惯采用射频设计软件ADS来仿真滤波器,最好采用murata的电容模型,采用coilcraft的绕线电感模型。如果想一步仿真成功,上板免调试,将PCB布板模型等寄生参数带入ADS进行仿真,比较精确,但实现过程比较复杂。考虑到电容等器件的精度,电容值不能太小,电感值也不要太大。还有一个问题,设计滤波器的负载阻抗是采用纯电阻模型,没有考虑ADC的输入电容,可以将滤波器仿真出来的最后一个并联电容C1减去ADC的输入电容,作为最后的电容值。考虑到对共模干扰的抑制,可以将C1改为两个到地电容,其值为2(C1-Cadc)。

  在ADC输入还需要考虑到模拟信号的共模电平Vcom,Vpp。为了达到ADC的最大SNR,输入信号尽量能达到满功率(高峰均比需要回退),有的ADC提供片内偏置,有的ADC需要外部偏置。Vpp影响ADC的动态范围,注意前端放大器的压摆率与Vpp匹配,并留一定余量。

参考资料Analog Devices application note cn-0238

转载于:https://www.cnblogs.com/liuzhenbo/p/8029245.html

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

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

相关文章

springboot 禁用tomcat_Spring Boot 面试的十个问题

点击左上角蓝字,关注“SpringForAll社区”专注分享Spring周边技术内容用下面这些常见的面试问题为下一次 Spring Boot 面试做准备。在本文中,我们将讨论 Spring boot 中最常见的10个面试问题。现在,在就业市场上,这些问题有点棘手…

go 怎么等待所有的协程完成_理解真实世界中 Go 的并发 BUG

点击上方蓝色“Go语言中文网”关注,回复「电子书」领全套Go资料有几个学生研究归纳了go编程中的并发bugs,发表了一篇(英文)论文:《Understanding Real-World Concurrency Bugs in Go》。为你下载好了 PDF,关注公众号 Go语言中文网…

java地图图表动态亮点,可视化图表行动指南:地表最强解读来了

原标题:可视化图表行动指南:地表最强解读来了身处信息技术高速发展的时代,数据价值日益凸显,然而如何将数据更好的展示,让别人一看就懂且眼前一亮可是一门大学问。此前,小亿在广大数友的强烈要求下结合前人…

ASP.NET MVC 使用Swagger需要注意的问题!!!

之前,一直使用的微软自带的Microsoft.AspNet.WebApi.HelpPage来作为项目的接口文档,但总感觉有些不足,就准备采用Swagger。 在项目中引用Swagger很方便,直接Nuget搜索安装Swashbuckle就可以。但是,在使用的过程中&…

分块试水--CODEVS4927 线段树练习5

模板 1 #include<stdio.h>2 #include<algorithm>3 #include<string.h>4 #include<stdlib.h>5 #include<math.h>6 //#include<bitset>7 //#include<iostream>8 using namespace std;9 10 int n,m,q;11 #define maxn 10001112 #define…

【JVM】类的生命周期【转+整理】

参考如下三篇并整理。 1.Java类加载机制详解 2.深入理解Java&#xff1a;类加载机制及反射 3.jvm系列(一):java类的加载机制 类的生命周期是从被加载到虚拟机内存中开始&#xff0c;到卸载出内存结束。过程共有七个阶段。 1.加载---2.验证---3.准备---3.解析---5.初始化---6.使…

java概念,Java基础概念

1. Java编译程序将Java源程序翻译成JVM可执行代码-Java字节码。这一过程同C/C不同。当C编译器翻译成一个对象代码时&#xff0c;该代码是为在某一特定硬件平台运行而产生的。因此&#xff0c;在编译过程中&#xff0c;编译程序通过查表将所有符合引用转换为特定的内存偏移量。而…

【Excle】如何隐藏数据透视表中的错误值

如下&#xff1a;数据透视表出现错误怎么解决呢步骤方法①单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选“对于错误值显示”→确定方法②右键→数据透视表选项&#xff08;同样可以修改&#xff09;转载于:https://www.cnblogs.com/OliverQin/p/8043469.html

repo同步代码_工欲善其事,必先利其器:repo 介绍

介绍此repo非彼repo。这里的repo&#xff0c;是指谷歌公司的一款小工具&#xff0c;名字就叫repo(我承认&#xff0c;这不是一个好名字&#xff0c;Google里面怎么搜都搜不到它的真身)。解决的问题有时候&#xff0c;我们需要在一台电脑上克隆很多个代码仓库&#xff0c;编译它…

ddd 企业应用架构模式_灵魂拷问:用了DDD分包就是落地了领域驱动设计吗?谈谈DDD本质...

学习DDD的时候&#xff0c;作为开发&#xff0c;我们更关心它在技术层面的东西&#xff0c;尤其体现在DDD的分包方式、编码技巧等方面。自然的&#xff0c;我们不禁发问&#xff0c;用了DDD的分包&#xff0c;就是实践落地了DDD了么&#xff1f;不卖关子&#xff0c;直接说答案…

java常见编码

摘自&#xff1a;http://www.cnblogs.com/yaya-yaya/p/5768616.html红色 主要点  灰色 内容 绿色 知识点 橘色 补充内容几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题&#xff0c;那就是为什么要编码&#xff1f;我们能不能不编码&#xff1f;要…

准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)

在机器学习、数据挖掘、推荐系统完成建模之后&#xff0c;需要对模型的效果做评价。业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等&#xff0c;下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。本文针对二元分类器&am…

Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33

06-图2 Saving James Bond - Easy Version&#xff08;25 分&#xff09; This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by a group of drug dealers. He was sent to …

pandas 合并所有列_Python学习:Pandas库+练习资料

pandas包含数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas经常是和NumPy,Scipy以及数据可视化工具matplotlib一起使用的。pandas支持大部分NumPy语言风格的数组计算&#xff0c;但最大的不同在于pandas是用于处理表格型或异质型数据的。而NumP…

zabbix自动发现主机并加入组绑定模板

在被监控主机多的情况下&#xff0c;怎样将这些主机加入zabbix server进行监控呢&#xff1f;下面将介绍下zabbix自动发现功能 1、创建自动发现规则 创建“规则名称&#xff0c;配置ip范围及检查方式”&#xff0c;点击“增加”&#xff0c;完成自动发现规则的创建 2、加入组和…

kotlin 用协程做网络请求_中国电信营业厅: 感受 Kotlin 的 quot;加速度quot;

"我们手上是一个很成熟的项目&#xff0c;所以毫无疑问需要保留 Java 代码&#xff0c;目前只会在新开发的页面中使用 Kotlin&#xff0c;并已经感受到了它带来的便利。随着功能的迭代&#xff0c;我们相信更多的功能会转而使用 Kotlin。"—— 付迎鑫&#xff0c;电信…

拖动验证码插件

拖动验证码插件 效果图&#xff1a; 在验证前&#xff0c;提交弹出验证失败&#xff0c;验证后弹出验证成功。 文件结构&#xff1a; css&#xff1a; #drag{ position: relative;background-color: #e8e8e8;width: 300px;height: 34px;line-height: 34px;text-align: center; …

matlab padarray函数零,matlab padarray函数

1padarray功能&#xff1a;填充图像或填充数组。用法&#xff1a;B padarray(A,padsize,padval,direction)A为输入图像&#xff0c;B为填充后的图像&#xff0c;padsize给出了给出了填充的行数和列数&#xff0c;通常用[r c]来表示。padval表示填充方法。它的具体值和描述如下…

[知了堂学习笔记]_网络基础知识_1.OSI参考模型(网络七层协议)

OSI参考模型是国际标准化组织ISO制定的模型&#xff0c;把计算机与计算机之间的通信分成七个互相连接的协议层&#xff0c;如图&#xff1a; 1.1各层功能 1、物理层 最底层是物理层&#xff0c;这一次负责传送比特流&#xff0c;它从第二层数据接收数据帧&#xff0c;并将帧的结…

Linux版本配置环境变量,如何linux环境下配置环境变量过程图解

jdk下载地址&#xff1a;在linux环境下的root同级目录下配置software目录将下载好的jdk上传到software文件夹里面(我使用的操作软件是)到software这个目录下.输入命令:cd /software输入命令:ll就可以看到我们的jdk包解压文件解压命令 tar xzvf jdk-8u111-linux-x64.tar.gz解压之…