硬件设计—高性能ADC前端电路
高性能模数转换器(ADC)一般对系统的性能有非常高的要求,而AD芯片的“前端”的输入电路设计对ADC系统的的性能有非常大的影响。以下主要介绍了ADC芯片前端输入使用放大器和变压器各自的优势。
1、放大器和变压器根本区别
放大器是有源器件,而变压器是无源器件。放大器和其它所有的有源器件一样,消耗功率并且产生噪声;变压器不消耗功率并且产生的噪声可以忽略不计。 如果必须保持直流(DC)电平,就必须使用放大器,因为变压器是固有的交流(AC)器件。而当信号的频率很高而且ADC的输入端不允许很大的附加噪声时,变压器具有超越放大器的最大性能优势。变压器和放大器在增益方面主要的区别在于ADC的输入阻抗,它直接影响系统的带宽。变压器的输入阻抗和输出阻抗与匝数比的平方有关,而放大器的输入阻抗和输出阻抗与增益(G)根本无关无关。如果设计要求为ADC的模拟输入提供宽带增益,那么放大器会提供优于变压器的匹配。
2、使用变压器时的优劣势
(1)尽管电压增益无噪声,但是要考虑其它因素。变压器可以简单地看作具有标称增益的带通滤波器。插入损耗是滤波器在规定频率范围内的损耗,虽然它是产品使用说明中最常见的测量技术指标,但还要考虑其它指标。
(2)回波损耗是指从变压器的初级端看次级端有效阻抗不匹配特性的一种度量。例如,如果变压器的次级线圈与初级线圈的匝数比的平方是2:1,那么我们预期当次级端终止的阻抗为100 Ω时,反射到初级端的阻抗是50 Ω。然而,实际上不是严格符合这种关系;例如,反射到初级的阻抗会随着频率变化。一般地,随着阻抗比率增加,回波损耗的变化程度也随着增加。
(2)幅度失衡和相失衡是变压器的重要特性。当要求设计非常高的中频时(高于100 MHz),设计工程师可以通过这两项技术指标预测非线性误差的大小。随着频率的增高,变压器的非线性误差的也随着增加,通常是相位失衡起主要影响作用,相位失衡会转化为偶次谐波失真(主要是二次谐波)。
注:因为变压器制造商不能都以相同的方法来规定所有的变压器指标,所以技术指标显然相同的变压器在相同情况下可能会表现出不同的性能。为你的设计方案选择变压器的最好方法是,收集和了解考虑到的所有变压器指标,向制造商索取在其产品技术资料中没有给出的所有关键数据。另外你可以使用网络分析器自己测量变压器的性能指标,可能会有用。
3、使用放大器时的优劣势
(1)选用放大器代替变压器的主要理由是为了获得好的通带平坦性。如果这项技术指标对你的设计方案来说很关键,那么放大器在规定频率范围内的波动会小一些,通常为±0.1 dB。变压器的频率响应波动会小一些,当必须使用变压器时要求“精细调整”,所以平坦性是一个问题。
(2)放大器的驱动能力是它的另一个优势。变压器不能驱动PCB板上很长的印制线。变压器用来直接连接到ADC。如果系统要求把驱动器或耦合器安装在远离ADC处,或者另外一块PCB板上,那么我们强烈推荐使用放大器。
(3)直流耦合特性也是使用放大器的一个原因,因为变压器是固有的交流耦合器件。如果直流频段在应用中很重要,可选择放大器,因为有些高频放大器可以耦合一直到直流的频率。
(4)放大器还可以提供动态隔离(大约为30 dB~40 dB的反向隔离)以抑制无缓冲ADC输入端的瞬态电流产生的尖峰毛刺。
(5)另外要考虑带宽与噪声的折衷。如果采用的频率高于150MHz,变压器在保持SNR和SFDR方面会做得更好一些。然而,如果工作在第一奈奎斯特区或第二奈奎斯特区,那么变压器或放大器都可以使用。
4、综上所述高性能ADC前端电路使用放大器和变压器各个参数优势对比

注:在有多个关键参数发生冲突的应用中,要做进一步分析和权衡。
5、设计中出现的参数含义:
(1)输入阻抗是系统设计的特性阻抗。大多数情况下输入阻抗为50Ω,但可能会要求其它取值。变压器是具有很好互阻性能的器件。变压器允许用户根据需要耦合不同特性阻抗并且充分平衡系统的总负载。在一个放大器的电路里,阻抗被定义为输入阻抗和输出阻抗,放大器的阻抗特性不像变压器那样随频率变化。
(2)电压驻波比(VSWR)是一项无量纲参数,用来表示在有用带宽内输入功率反射到负载上的比率。当负载ADC达到满度输入时,VSWR是一项用来确定所需要的输入驱动能力的重要参数。
(3)带宽是在系统中使用的频率范围。带宽可宽可窄,可仅覆盖基带或者覆盖多个奈奎斯特区。带宽的边界通常限制在其最大幅度衰减-3dB处对应的频率。
(4)通带平坦度(或者增益均匀性)指在规定带宽内增益响应随频率变化量(包括正波动和负波动)。它可能会表现为波动,或者像Butterworth滤波器那样简单单调地下降。不管是哪一种情况,通常要求通带平坦度小于或等于1 dB,这对于稳定总系统增益至关重要。
(5)输入驱动能力是由特定应用需要的系统增益决定。输入驱动能力与带宽指标密切相关,并且依赖于所选择的前端元件,例如滤波器、放大器或者变压器。它们的特性是使输入驱动能力最难达到要求水平的原因之一。
(6)信噪比(SNR)是在给定带宽内,满度信号的有效值与全部噪声分量平方和的平方根(RSS)的对数比,但是不包括失真分量。从前端方面来看,SNR会随着带宽、时钟抖动和增益的增加而降低(在高增益情况下,放大器在低增益时可能被忽略的噪声分量会产生明显作用)。
(7)无杂散动态范围(SFDR)是满度值的有效值与最大杂散频谱分量的有效值之比。前端杂散有两大危害,一个是造成放大器的非线性(或者使变压器造成不理想平衡),它主要产生二次谐波失真;另一个是输入失配并且按照一定的增益放大这种失配(在高增益情况下,失配更加严重,并且放大寄生非线性作用),通常将这种情况看作三次谐波失真。
相关文章:
硬件设计—高性能ADC前端电路
高性能模数转换器(ADC)一般对系统的性能有非常高的要求,而AD芯片的“前端”的输入电路设计对ADC系统的的性能有非常大的影响。以下主要介绍了ADC芯片前端输入使用放大器和变压器各自的优势。 1、放大器和变压器根本区别 放大器是有源器件&am…...
详讲常见的字符函数
👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…...
for循环中异步请求问题:循环里面使用异步函数,如何等所有的异步函数都执行完再进行下一步
场景是这样的: 在一个列表循环里,对数据进行赋值,调用接口,循环外后面的代码需等待所有请求执行完成后再去执行。 1. Promise.all实现 Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array&am…...
【iOS-系统框架】
文章目录前言47.熟悉系统框架CoreFoundation框架其他框架要点48. 多用块枚举,少用for循环for循环NSEnumerator遍历快速遍历基于块的遍历方式要点49.对自定义其内存管理语义的collection使用无缝桥接要点50.构建缓存时选用NSCache而非NSDictionaryNSCacheNSCache实例…...
Android APK 签名打包原理分析(二)【Android签名原理】
说到签名,从这个词来理解,正常个人需要签名的时候,一般是用来证明这是某个人的特属认证。 大家是否有印象?还记得我们之前在学习、总结网络相关知识的时候,说到过,客户端和服务端虽然通信数据上,可以采用对称加密和非对称加密组合去进行数据的加密,但是这时还有一个问题…...
linux判断文件不存在退出jenkins编译流程
# linux判断文件不存在退出jenkins编译流程 file"${WORKSPACE}/mc/jenkins_arm64.sh" if [ ! -f "$file" ]; then echo "jenkins_arm64.sh not exist" exit 0 fi dir(charge){checkout([$class: GitSCM, branches: [[name: …...
shell脚本(语法)
一、什么是shell脚本 1.1、shell 的两层含义:既是一种应用程序,又是一种程序设计语言 1.1.1、shell是一种应用程序 交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能称之为 shell 命令解析器。 shell 是…...
java高频面试题(2023最新)
目录一.java基础1.八大基础类型2.java三大特性3.重载和重写的区别4.pubilc、protected、(dafault)不写、private修饰符的作用范围5.和equals的区别6.hashcode()值相同,equals就一定为true7.short s 1;s s 1;(程序1)和 short s 1ÿ…...
视觉感知(二):车位线检测
1. 简介 本期为大家带来车位线检测相关知识点,以及算法工程落地的全流程演示。车位线检测是自动泊车领域必不可缺的一环,顾名思义就是采用环视鱼眼相机对路面上的车位线进行检测,从而识别出车位进行泊车。 较为常规的做法是使用四颗鱼眼相机环视拼接然后在鸟瞰图上做停车位…...
2023.2.10学习记录Docker容器
Docker 必须跑在Linux内核上 镜像是一个轻量级可执行的独立软件包 新建一个docker容器只需要几秒钟 Docker常用命令 启动类命令 镜像命令 容器命令 docker images docker search --limit 5 redis docker pull redis:6.0.8 docker system df 查看镜像/容器/…...
扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码
文章目录1. 去噪扩散概率模型2. 前向扩散3. 反向采样3. 图像条件扩散模型4. 可以考虑改进的点5. 实现代码1. 去噪扩散概率模型 扩散模型是一类生成模型, 和生成对抗网络GAN 、变分自动编码器VAE和标准化流模型NFM等生成网络不同的是, 扩散模型在前向扩散过程中对图像逐步施加噪…...
pytorch
PyTorch基础 import torch torch.__version__ #return 1.13.1cu116基本使用方法 矩阵 x torch.empty(5, 3)tensor([[1.4586e-19, 1.1578e27, 2.0780e-07],[6.0542e22, 7.8675e34, 4.6894e27],[1.6217e-19, 1.4333e-19, 2.7530e12],[7.5338e28, 8.1173e-10, 4.3861e-43],[2.…...
软件测试—对职业生涯发展的一些感想
目录:导读 职场生涯 1、短期规划 2、长期规划 自身定位 1、你在哪儿? 2、你想要什么? 3、你拥有什么? 4、你需要做什么?什么时候做? 5、淡定啊淡定 最近工作不是很忙,有空都是在看书&a…...
5年经验之谈:月薪3000到30000,测试工程师的变“行”记!
自我介绍下,我是一名转IT测试人,我的专业是化学,去化工厂实习才发现这专业的坑人之处,化学试剂害人不浅,有毒,易燃易爆,实验室经常用丙酮,甲醇,四氯化碳,接触…...
全价值链赋能,数字化助力营销价值全力释放 | 爱分析报告
报告编委 张扬 爱分析联合创始人&首席分析师 文鸿伟 爱分析高级分析师 王鹏 爱分析分析师 外部专家(按姓氏拼音排序) 黄洵 客易达 联合创始人 毛健 云徙科技 副总裁 & COO 特别鸣谢(按拼音排序) 报告摘要 在…...
【自学Docker 】Docker search命令
大纲 Docker search命令 docker search命令教程 docker search 命令用于从 Docker Hub 查找镜像。 docker search命令语法 haicoder(www.haicoder.net)# docker search [OPTIONS] TERMdocker search命令参数 参数描述docker search --filter设置过滤条件。docker search -…...
银行零售如何更贴近客户?是时候升级你的客户旅程平台了
随着数字化战略推进,各大银行持续加大对线上多渠道的建设投入,客户触达也愈发移动化、智能化。与此同时,手机银行飞速发展产生并累积了大量客户行为数据,呈多样化、海量化等特点,将在用户体验、客户经营、手机银行运营…...
零入门kubernetes网络实战-12->基于DNAT技术使得外网可以访问本宿主机上veth-pair链接的内部网络
视频地址(稍后上传) 本篇文章测试如何让veth pair链接的内网网络可以被本局域网的其他宿主机访问到? 1、测试环境介绍 一台centos虚拟机 # 查看操作系统版本 cat /etc/centos-release # 内核版本 uname -a uname -r # 查看网卡信息 ip a s eth02、网络拓扑 3、操…...
conda环境管理命令
conda环境管理命令 1.环境检查 1)查看安装了哪些包 conda list 2)查看当前存在哪些虚拟环境 conda env list conda info -e [rootoracledb anaconda3]# conda info -e # conda environments: # base * /home/anaconda33)检查更新当前conda con…...
ubuntu clion从0开始搭建一个风格转换ONNX推理网络 opencv cuda::dnn::net
系统搭建 系统搭建 OpenCV的安装 cmake sudo apt-get install cmake其他环境以来 sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev 不安装会报这个错误 OpenCV(4.6.0) /hom…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
