通过时间交织技术扩展ADC采样速率的简要原理

 前言

数据采集是将自然界中存在的模拟信号通过模数转换器(ADC)转换成数字信号,再对该数字信号进行相应的接收和处理。数据采集系统作为数据采集的手段,在移动通信、图向采集、无线电等领域有重要作用。随着电子信息技术的飞速发展,电信号呈现出高度复杂化的变化趋势,高频、瞬态信号的捕获、分析需要跟高带宽、更高采样率的数据采集系统。提升数据采集系统前端ADC的性能和利用并行采样方法的系统架构是提高采集系统性能的2个有效途径。


一、非线性混叠

采样过程通过时间离散的脉冲采集输入信号特定时刻的幅度,脉冲频率即为采样时钟速率,根据采样定理,采样后的数字域仅能够看到二分之一采样速率的频谱。理想情况下模拟域整个频谱都会由于采样过程造成的周期性延拓混叠进入这个数字谱。在链路设计中,进入采样器前通常都需要足够抑制度的模拟滤波以实现抗混叠,但采样器本身及其调理电路存在非线性,会产生多次谐波和交调,这些产物最终也会呈现在数字谱范围内。

比如采样速率2GHz的采样器,输入频率800MHz,考虑基波到5次谐波频率依次为[0.7,1.4,2.1,2.8,3.5],通过下面的程序能够计算得到混叠到数字谱对应出现的频率。


clear all; close all; clc; format compact;
Fs = 2; % 采样速率
f1 = 0.7; % 射频频率
Fs_index = [-5:1:5]*Fs;
fspurs = [1, 2, 3, 4, 5]*f1; % 射频信号谐波
f_overlap = zeros(1, length(fspurs));
for n = 1:length(fspurs)
temp = Fs_index-fspurs(n);
for k = 1:length(temp)
if abs(temp(k))<Fs/2
f_overlap(n) = abs(temp(k));
end
end
end
f_overlap

计算输出得到的频率为[0.7,0.6,0.1,0.8,0.5]GHz。进一步通过仿真来查看该混频器混叠效应。仿真速率为32GHz,16倍抽取仿真采样,引入幂级数模拟非线性,采样点数为2^16,采样前仿真得到的频谱如图1所示。

图1 包含5次谐波单音信号的采样前频谱

通过采样后得到的频谱如图2所示。数字基带谱带宽1GHz,基波、二次、三次、四次、五次谐波分别出现在[0.7,0.6,0.1,0.8,0.5]GHz频率处。

图2 包含5次谐波单音信号采样后的混叠频谱

二、通过时间交织技术扩展带宽

时间交织是一种将多颗ADC芯片并联的技术,对N颗子ADC芯片并行交替采样,从而使得整个系统的采样率N倍提高。每个子ADC具有相同的采样速率,但N个子ADC采样时钟时序间隔相差1/(Fs×N),每次采集到的数据不重合,最后通过逻辑电路再次依次把N个子ADC的数据按顺序整合,理想情况下这种频接的N个ADC就能够实现Fs×N的采样速率。

交织采样时钟的硬件实现方案一般有2种:一种方案提出直接通过时钟芯片自身的延时功能,依次产生4路相位差相同的采样时钟;另一种方案为在4路子ADC前加入定制数字电路,控制数据选通,使得4路子通道的时钟依次对ADC进行采样。

仿真实现延续前面文章中采用抽取实现采样的方法,采用4相TI-ADC进行采样,可将采样速率又2GHz扩展为8GHz,四路脉冲抽取分别在下列采样点进行,

1..17...33...49...

5..21...37...53...

9..25...41...57...

13..29...45...61...

最终重新组合等效为在下述时间点进行抽取。仿真结果如图3所示。

1...5...9...13...17...21...25...29...33...37...41...45...49...53...57...61

图3 4相TI-ADC的采样频谱

由于扩展了采样速率,谐波没有混叠而是以原来的频率出现在数字谱中。

实际ADC为了抑制偶次谐波采用差分输入输出,因此理论上最差的谐波通常是三次,此外上述仅仅是理想情况的TI-ADC,实际由于并行ADC的不一致以及采样时间偏差,会导致较多杂散项。


总结

采样速率提高到一定程度就会难以进一步提高,更高速率的采样器通常都会选择时间交织频接技术进行采样速率扩展,本文通过简要仿真说明了理想TI-ADC的原理。

参考文献:12GSa/s12bit超宽带数据采集系统研究 电子与封装 2022.11

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

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

相关文章

【计算机系统基石与Linux进程管理深度解析】

​​​​​​​ 【本节重点】 认识冯诺依曼系统 操作系统概念与定位 深入理解进程概念&#xff0c;了解PCB 学习进程状态&#xff0c;学会创建进程&#xff0c;掌握僵尸进程和孤儿进程&#xff0c;及其形成原因和危害 1.冯诺依曼体系结构 我们常见的计算机&#xff0c;如…

IO / day03 作业

1. 使用文件IO完成对图像的读写操作 代码 #include<myhead.h>int main(int argc, const char *argv[]) {int fd-1;if((fd open("./bird.bmp", O_RDWR)) -1){perror("fopen error");return -1;}//读取该图片的大小&#xff0c;需要将光标向后偏移…

通过pipeline配置sonar自动化实现过程解析

这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.sonar配置webhooks&#xff0c; 2.url填写jenkins的地址&#xff1a;http://jenkinsurl/sonarqu…

高低压供配电智能监控系统

高低压供配电智能监控系统是一种综合运用物联网、云计算、大数据和人工智能等技术的智能化监控系统&#xff0c;用于实时监测高低压供配电设备的运行状态和电能质量&#xff0c;及时发现和处理供配电系统中存在的问题&#xff0c;提高供配电系统的安全性和可靠性。依托电易云-智…

JavaScript 数组

JavaScript 数组 用来存储一系列相关数据的一种数据类型 创建数组 字面量方式 ----- [1,2,3,4,5,6];实例化构造函数 ----- new Array(1,2,3,4,5,6);组成数组的元素可以是任意的数据类型包括数组本身&#xff1b; new Array(n): n 表示数组的长度 内容操作 获取&#xff08;查…

LLM之Agent(四)| AgentGPT:一个在浏览器运行的Agent

AgentGPT是一个自主人工智能Agent平台&#xff0c;用户只需要为Agent指定一个名称和目标&#xff0c;就可以在浏览器中链接大型语言模型&#xff08;如GPT-4&#xff09;来创建和部署Agent平台。 PS&#xff1a;目前agentGPT仅支持chatgpt模型&#xff0c;暂时不支持本地llm模…

怎么让CMake不使用VS作为构建工具,而是使用gcc

2023年12月5日&#xff0c;周二晚上 要让 CMake 使用 gcc 而不是 Visual Studio 作为构建工具&#xff0c;可以通过指定生成器来告诉 CMake 使用 gcc。 在运行 cmake 命令时&#xff0c;可以使用 -G 参数来指定生成器。 对于 gcc&#xff0c;可以使用 "Unix Makefiles&q…

调查显示 IT 服务事件越来越频繁

事件管理平台提供商 Transposit 对美国 1,000 名 IT 运营、DevOps、站点可靠性工程 (SRE) 和平台工程专业人士进行的一项调查发现&#xff0c;超过三分之二 (67%) 的人发现故障率有所增加过去 12 个月中影响客户的服务事件的频率。 今天在Kubecon CloudNative会议上宣布的调查…

102.套接字-Socket网络编程4(TCP通信流程)

目录 TCP编程流程 套接字函数 1.创建套接字 2.绑定地址 3.监听连接请求 4.接受连接 5. 连接到服务器 6. 发送数据 7. 接收数据 8.关闭套接字 服务器端通信流程 示例代码 客户端通信流程 代码示例 TCP编程流程 TCP是一个面向连接的&#xff0c;安全的&#xff0c;流…

【Java技术专题】「入门到精通系列教程」深入探索Java特性中泛型技术体系的原理和实战开发指南

深入探索Java特性中泛型技术体系的原理和实战开发指南 前提介绍泛型的介绍泛型带来的好处泛型引发的问题错觉&#xff1a;泛型也可以实现多态 泛型的特点类型擦除概念定义案例分析隐患问题开发要点类型擦除的过程案例代码 实例分析类型转换问题 通配符与上下界通配符List<Ob…

在线测量大尺寸管材的测径仪有哪些?

工业高速发展的背后&#xff0c;离不开与之匹配的高端设备作为科研的支撑。品质检测仪器也在随着现代科技的发展而不断变化&#xff0c;随着科技的进步&#xff0c;各种大口径的管材、管道被生产制造出来&#xff0c;而对其外径尺寸的检测则因口径范围大而使得很少有仪器能进行…

美股电动汽车股票分析:蔚来和Rivian这两只都遭受了重创的股票,哪个更值得投资?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 Rivian(RIVN)和蔚来(NIO)都是目前美股市场上最受关注的电动汽车股票。虽然蔚来在全球最大的电动汽车市场中国扮演着重要角色&#xff0c;但Rivian也击败了很多传统汽车制造商&#xff0c;并成为了第一家在美国推出全电动皮…

github可访问但无法clone问题

github可访问但无法clone问题 重置 http.proxy 重置 http.proxy git config --global http.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0.0.1:1080 git config --global --unset http.proxy git config --global --unset https.proxy

MongoDB的学习记录

目录 MongoDB是什么MongoDB为什么存在MongoDB怎么用MongoDB解决什么MongoDB指令开发使用的mongoose模块讲解请看这篇文章 MongoDB是什么 MongoDB是一种开源的、面向文档的NoSQL数据库管理系统。它使用JSON格式来存储数据&#xff0c;具有高可扩展性、高性能、高可用性等特点&a…

css设置渐变色

css如何设置自定义渐变色&#xff1f;线性渐变篇 CSS渐变可以让你在两个或多个指定颜色之间显示平滑的过渡。 CSS定义了三种渐变类型: Linear Gradients (goes down/up/left/right/diagonally) 下降/ 上升/左/右/对角线Radial Gradients (defined by their center) 由中心定…

Python内置函数 — super

1、super() 是一个Python内置函数&#xff0c;用于调用父类的方法。通过调用super()返回的对象的方法&#xff0c;可以在子类中访问父类的属性和方法&#xff0c;并在需要的情况下进行扩展或修改。 super()函数的一般语法是super().method()&#xff0c;其中method是父类中的…

WeakMap

WeakMap简介 作为es6一种新的数据结构&#xff0c;他是一种键值对的集合。与Map最大的区别有两个 1. 是其中的键必须是对象或非全局注册的符号。 全局注册的符号 const s1 Symbol.for(mySymbol) 非全局注册的符号 const s1 Symbol(mySymbol)了解Symbol.for 2. 不会创建对它…

黑苹果之机箱篇

上一篇写过关于配置的总的文章&#xff0c;今天咱们来聊一下机箱的选择 关于机箱的选择主要是尺寸和功能了 一、尺寸 电脑主机机箱尺寸因品牌、型号不同而异&#xff0c;常见的机箱尺寸有以下几种&#xff1a; 1. ATX机箱尺寸&#xff1a;长约44.5cm&#xff0c;宽约20.5cm&…

Example: use raspberry pi 4 control multiple motors(tb660)

abstract This is a project for controlling multiple motors by using joystick, the buttons’ information can be obtained from topic “/joystick”. We got the sensor’s signals from arduino, and sent the command from topic “joystick”. raspberry pi code(p…

在Docker容器中启用SSH服务,实现外部访问的详细教程

目录 步骤 1: 安装 SSH 服务器 步骤 2: 配置 SSH 服务器 步骤 3: 设置 SSH 用户 步骤 4: 重启 SSH 服务器 步骤 5: 映射容器端口 步骤 6: 使用 SSH 连接到容器 要在Docker容器中启用SSH服务&#xff0c;以便从外部访问&#xff0c;您需要执行以下步骤&#xff1a; 步骤 …