时钟抖动对高速ADC采样系统的影响

在高速数据采样中,ADC时钟信号的稳定性对其性能有至关重要的影响,因为这些抖动会破坏高速ADC的时序。

孔径的定义

孔径时间ta,是指从采样时钟跳变开始,一直到保持电压建立。换言之,孔径是指采样保持电路中开关切换的时间,即从低阻态转换为高阻态的时间。由上面图可以看出,在ta时间内,模拟信号实际上是一直处于变化状态的,这就会导致量化值与实际模拟信号的一个延迟。对于一个确定的ADC来讲,孔径时间是一个定值。

孔径抖动

理想的时钟信号边沿应该是等间隔的,而上图所示的信号周期并不完全相同,这种情况成为时钟抖动。以此类推,孔径抖动,就是指ADC 孔径时间存在不确定性。在时间轴上,并不是完全的等间隔。

上图所示的ΔtRMS,即为孔径抖动。可以清楚看到ADC实际的采样时刻分散在TRACK+ΔtRMS时间内,TRACK为采样时钟,对应的电压变化范围是ΔVRMS.

其中

ΔVRMS = SLOPE * ΔtRMS

孔径时间和孔径抖动都是ADC的性能参数,是一个定值。

上图是一个高速ADC的孔径时间和孔径抖动。

采样时钟的影响

 在上面的讨论中,ADC采样时钟TRACK是理想的,假设其抖动为ΔTRACKRMS.则有

ΔVRMS = SLOPE * ( ΔtRMS + ΔTRACKRMS

由上式可以看出,电压不确定度和压摆率,采样时钟抖动成正相关。就是说,信号变化的越快,采样时钟抖动越大,则由此产生的噪声越大。

由下图可以明显的看出时钟抖动对于理想分辨率ADC的信噪比影响。在欠采样的情况下,会严重失真。

更完整的一个有关时钟抖动对SNR影响的公式如下图所示

抖动影响的时域分析

上面诸多论述,以频域分析居多,下面将更加直观分析时钟抖动造成的不确定性影响。

首先是采样过程,如图均匀采样频率Fs=,非均匀采样频率也是,但有较大噪声,两者都一共取点40个

到目前为止,采样过程并没有什么大问题,只是间隔出现了不一致。但是,请注意均匀采样的采样位置是可以确定的,即从零开始,落在N*1/20S 时刻;而非均匀的采样的采样时刻是不确定的。

下一步,信号还原。即以等间隔时间轴恢复采样数据。

上图蓝线是等间隔采样的恢复信号,橙色线是非均匀的时间采样的恢复,下图是非均匀采样的时间误差。

可以看到橙色线的信号出现了明显的畸变。如果采用更大采样速度,则可以看到明显的因为时间抖动而引入的噪声。

 

小结

ADC数据采样的恢复一定是按照已知的采样频率和采样间隔进行的,这就要求之前采样的时间间隔必须和恢复时间间隔保持一致,否则就会导致在A时刻恢复B时刻的情况出现。从而引入不确定性误差。这种误差会随着输入模拟信号频率的升高而进一步得到放大。

在ADC系统孔径延迟和孔径抖动确定的情况下,作为系统同步的核心-采样时钟的稳定性就显得弥足重要。

 

参考资料

http://www.elecfans.com/article/85/126/2016/20160118400057_a.html

MT-007,孔径时间、孔径抖动、孔径延迟时间——正本清源,ADI,Walt Kester

AN-501,孔径不确定度和ADC系统性能,ADI,Brad Brannon,Allen Barlow

AN-756,采样系统以及时钟相位噪声和抖动的影响,ADI,Brad Brannon

转载于:https://www.cnblogs.com/qiantuo1234/p/7300513.html

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

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

相关文章

7-3 堆中的路径 (25 分)

7-3 堆中的路径 (25 分) 将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 输入格式: 每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000…

windows7远程linux,用XManager在Windows7下远程桌面连接Linux

用XManager在Windows7下远程桌面连接LinuxXManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Linux下的X-Server则为Xorg。它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至当你的电脑是…

js学习总结----柯里化函数

柯里化函数函数思想:一个JS预处理的思想->利用函数执行可以形成一个不销毁的私有作用域的原理,把需要预先处理的内容都存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进…

ansible获取linux信息,ansible 获取系统信息的一些范例,ansible系统信息

ansible 获取系统信息的一些范例,ansible系统信息主机名:echo ansible 193.168.120.101 -m setup -a "filteransible_hostname" | grep hostname | awk -F [:] {print $2} | sed -e /"/s/"//g内存:echo ansible 193.168.…

linux常用计划任务,浅谈:linux cron 计划任务常用符号小结

[rootwx-a ~]# crontab --helpcrontab: invalid option -- -crontab: usage error: unrecognized optionusage: crontab [-u user] filecrontab [-u user] [ -e | -l | -r ](default operation is replace,per 1003.2)-e (edit users crontab) 编辑crontab 工作内容-l (list us…

Vijos——T 1629 八

https://vijos.org/p/1629 描述 八是个很有趣的数字啊。八发,八八爸爸,88拜拜。当然最有趣的还是8用二进制表示是1000。怎么样,有趣吧。当然题目和这些都没有关系。 某个人很无聊,他想找出[a,b]中能被8整除却不能被其他一些数整除…

Ubuntu 22.04 配置LLM大语言模型环境

本文介绍了清洁安装的Ubuntu Server 22.04 LTS安装NVIDIA显卡驱动、CUDA 12.1、cuDNN的方法及ChatGLM3、百川2、FastChat等大语言模型的部署使用方法。 安装NVIDIA驱动 禁用nouveau sudo vi /etc/modprobe.d/blacklist.conf尾部追加一行 blacklist nouveau执行并重启系统 …

1006 Sign In and Sign Out (25 分)

1006 Sign In and Sign Out (25 分) At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and out’s, you are supposed to fi…

1007 Maximum Subsequence Sum (25 分)

1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, …, Nk}. A continuous subsequence is defined to be { Ni, N​i1, …, Nj​ } where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of i…

python - hadoop,mapreduce demo

Hadoop,mapreduce 介绍 59888745qq.com 大数据工程师是在Linux系统下搭建Hadoop生态系统(cloudera是最大的输出者类似于Linux的红帽), 把用户的交易或行为信息通过HDFS(分布式文件系统)等存储用户数据文件,…

linux rsync 常见错误,Linux rsync常见错误

rsync是类unix系统下非常高效,实用的数据镜像备份工具。在rsyncd.log里面或.err文件里面,我们都是通过错误日志查看,可以分析出错误的原因。问题一:ERROR: chroot failedrsync error: error starting client-server protocol (cod…

Vue父子组件间的通信

父组件通过 props 向下传递数据给子组件&#xff0c;子组件通过 events 向上给父组件发送消息。 父组件&#xff1a; <div><div style"background:#34495E;color: #fff; padding:20px"><p style"margin-bottom: 20px">这是父组件</p&…

linux 取出字符中数字,使用awk提取字符串中的数字或字母

1.提取字符串中的数字$ echo dsFUs34tg*fs5a%8ar%$# |awk -F "" {for(i1;i<NF;i){if ($i ~ /[[:digit:]]/){str$istr1(str1 str)}}print str1}输出3458或$ echo dsFUs34tg*fs5a%8ar%$# |awk -F "" {for(i1;i<NF;i){if ($i ~ /[0-9]/){str$istr1(str1…

1009 Product of Polynomials (25 分)

1009 Product of Polynomials (25 分) 这题目要卡的话只能卡第一个吧&#xff0c;考虑零项之后&#xff0c;这道题就简单了。 #include<iostream> #include<set> #include<vector> #include<iomanip> using namespace std; int main() {double cun1[1…

【BZOJ2908】又是nand 树链剖分+线段树

【BZOJ2908】又是nand escription 首先知道A nand Bnot(A and B) &#xff08;运算操作限制了数位位数为K&#xff09;比如2 nand 3&#xff0c;K3&#xff0c;则2 nand 3not (2 and 3)not 25。给出一棵树&#xff0c;树上每个点都有点权&#xff0c;定义树上从a到b的费用为0与…

1001 害死人不偿命的(3n+1)猜想 (15 分)

1001 害死人不偿命的(3n1)猜想 (15 分) 卡拉兹(Callatz)猜想&#xff1a; 对任何一个正整数 n&#xff0c;如果它是偶数&#xff0c;那么把它砍掉一半&#xff1b;如果它是奇数&#xff0c;那么把 (3n1) 砍掉一半。这样一直反复砍下去&#xff0c;最后一定在某一步得到 n1。卡…

2017安徽二级c语言,2017计算机二级C语言测试题及答案

2017计算机二级C语言测试题及答案此题 首先为整型变量赋初值x11,x22表达式1为i1&#xff0c;表达式2(循环条件)为i<N即i<4&#xff0c;表达式3为i循环变量初值i为1&#xff0c;循环条件(即表达式2)i<4成立&#xff0c;进入第1次循环第1次循环执行printf("%4d%4d&…

笔试被虐随想

两个题 50分钟&#xff0c;我写满时间还没写完一个。心疼自己。 算法渣。战五渣。 每天一个算法题吧。 至于工作&#xff0c;没什么好说的&#xff0c;加油吧&#xff0c;横竖算经验。转载于:https://www.cnblogs.com/bryanz/p/7330998.html

c语言如何不四舍五入取整函数,Excel四舍五入、不四舍五入或取整的相关函数

①ROUND函数1、四舍五入&#xff1a;ROUND(目标单元格&#xff0c;0)2、入&#xff1a;ROUNDUP(目标单元格&#xff0c;0) 得出来的结果是向上的整数&#xff0c;即&#xff1a;3.3543、舍&#xff1a;ROUNDDOWN(目标单元格&#xff0c;0)得出来的结果是向下的整数&#xff0c;…

1002 写出这个数 (20 分)

1002 写出这个数 (20 分) 读入一个正整数 n&#xff0c;计算其各位数字之和&#xff0c;用汉语拼音写出和的每一位数字。 输入格式&#xff1a; 每个测试输入包含 1 个测试用例&#xff0c;即给出自然数 n 的值。这里保证 n 小于 10 ​100 ​​ 。 输出格式&#xff1a; 在一…