当前位置: 首页 > news >正文

matlab测试ADC动态性能的原理

目录

摘要:

简介:

动态规范和定义

动态规格:

双面到单边的功率谱转换


摘要:

模数转换器(adc)代表了接收器、测试设备和其他电子设备中的模拟世界和数字世界之间的联系。正如本文系列的第1部分中所概述的,许多关键的动态参数提供了从给定的ADC中预期的动态性能的准确相关性。本文系列的第2部分介绍了用于测试高速adc的动态规范的一些设置配置、设备建议和测量程序。

简介:

下面讨论测试高速数据转换器的设置和程序。它包括软件工具,硬件配置,数据捕获和分析仪器,需要测试一个新的10位,+3V,高速数据转换器。如果不小心地执行设备选择、设置配置、布局和基于FFT的分析,它还会警告您可能会遇到的陷阱。本文将介绍以下主题。

动态规范和定义

电路板布局及硬件配置

功率谱、箱子、频谱泄漏和窗口功能

用于测试信噪比、SINAD、THD、SFDR和TTIMD的软件工具。

有许多方法可用于从A/D转换器中获取输出数据(而不仅仅是高速转换器),并分析它们的动态性能。这里介绍的方法代表了一种经过验证的方法,并鼓励读者根据手头的应用程序对它们进行修改。

动态规格:

信噪比(SNR)SNRdB = 6.02 × N + 1.76

Signal-to-Noise and Distortion Ratio (SINAD) =20 × log10 (ASIGNAL[rms] / ANOISE[rms]).

ENOB= (SINAD - 1.76) / 6.02

显著的孔径抖动限制了ADC的信噪比性能如下:

其中,fIN为模拟输入频率,tAJ为孔径抖动的时间。时钟抖动对于欠采样的应用程序尤其重要。

功率谱,箱,频谱泄漏和开窗

快速傅里叶变换(FFT)和功率谱是测量和分析来自捕获数据记录的信号的有力工具。它们可以捕获时域信号,测量它们的频率内容,将结果转换为方便的单元,并显示它们。然而,要执行基于FFT的测量,就必须了解这些问题和所涉及的计算。基于FFT的信号分析的基本功能是FFT本身和功率谱。两者都对测量平稳或瞬态信号的频率含量非常有用。fft通常在获取信号的时间间隔内产生一个信号的频率内容的平均值。因此,fft总是被推荐用于平稳信号分析。

双面到单边的功率谱转换

在信号分析中,最基本和最重要的计算方法是使用FFT从双面转换到单侧功率谱,调整频率分辨率,并显示频谱。功率谱通常返回一个包含频域内时域信号功率的双边表示的矩阵。这个矩阵中的值与构成时域信号的每个频率分量的振幅的平方成正比。双侧功率谱的曲线图通常同时包含负频率分量和正频率分量。然而,实际的频率分析工具只关注频谱的正一半,注意到真实信号的频谱是围绕直流电对称的。因此,负频率信息是不相关的。在双边频谱中,一半的能量在正频率,一半在负频率。因此,要将双面频谱转换为单侧频谱,请丢弃矩阵的后半部分,并将每个点(DC除外)乘以2。

箱和频率分辨率

频谱图的x轴和频率范围上的分辨率(见下面的程序代码提取)取决于采样率和数据记录的大小(采集点的数量)。功率谱中的频点或线数为N/2,其中N为时域中捕获的信号点数。功率谱中的第一条频率线总是代表直流电。最后一条频率线可以在fSAMPLE/2 - fSAMPLE/N处找到。频率线以fSAMPLE/N的偶数间隔间隔开,通常被称为频率箱或FFT箱(图3)。

对于fSAMPLE =的采样频率为82.345MHz,记录长度为8192个数据点,FFT图中每条频率线之间的距离正好是10.052kHz。

对频率轴(x轴)的计算证明了采样频率决定了频谱的范围或带宽。对于一个给定的采样频率,在时域中获得的点数决定了分辨率频率。为了提高给定频率范围的分辨率,可以在相同的采样频率下增加数据记录的深度(参见下面的程序代码提取)。

%Find the signal bin number, DC = bin 1

fin=find(Dout_dB(1:numpt/2)==maxdB);

%Span of the input frequency on each side

span=max(round(numpt/200),5);

%Approximate search span for harmonics on each side

spanh=2;

%Determine power spectrum

spectP=(abs(Dout_spect)).×(abs(Dout_spect));

%Find DC offset power

Pdc=sum(spectP(1:span));

%Extract overall signal power

Ps=sum(spectP(fin-span:fin+span));

%Vector/matrix to store both frequency and power of signal and harmonics

Fh=[];

%The 1st element in the vector/matrix represents the signal, the next element represents % the 2nd harmonic, etc.

Ph=[];

光谱泄漏和窗口功能

窗口函数在FFT分析中很常见,而它们的正确使用在基于FFT的分析中是至关重要的量度下面关于频谱泄漏的讨论强调了需要选择一个合适的窗口函数,并为给定的应用程序适当地缩放它。然而,为了准确地确定频谱泄漏,仅仅使用足够的信号采集技术,将双边功率谱转换为单面功率谱,并重新调整结果可能是不够的。为了更好地理解这一项,我们应该在一个频谱纯正弦输入上执行一个n点FFT。

谱泄漏是FFT算法中假设的结果,即时间记录在所有时间中都精确地重复,并且该时间记录中包含的所有信号都是以与时间记录长度对应的间隔为周期的。然而,时间记录(fIN/fSAMPLEn/nwandods)中的非积分循环数违反了这一条件,并导致频谱泄漏(图4)。(请参见第1部分的附录2。)只有两种情况可以保证获得整数个周期:

然而,在大多数情况下,该应用程序处理一个未知的平稳3输入。这意味着不能保证采样是一个整数个的周期。光谱泄漏通过将给定频率分量的能量分散到相邻的频率线或箱上而使测量失真。选择一个合适的窗口函数可以尽量减少这种频谱泄漏的影响。

为了充分理解一个给定的窗口函数如何影响频谱,我们必须更仔细地观察窗口的频率特征。输入数据的窗口化相当于将原始信号的频谱与窗口的频谱进行卷积。即使对于相干采样4,信号也与均匀高度的矩形窗口进行卷积。

窗口的实频特征是由一个主叶和几个侧叶组成的连续频谱。主叶以时域内信号的每个频率分量为中心。侧瓣在主瓣的每一侧的间隔接近于零。另一方面,FFT产生一个离散的频谱。窗口的连续周期谱由FFT采样,就像ADC在时域采样输入信号一样。在FFT的每条频率线上出现的是每个FFT频率线上的连续卷积谱的值。

如果原始信号的频率分量与频率线完全匹配,就像当您获得一个整数周期时一样,您只看到频谱的主瓣。侧叶不出现,因为窗口光谱在主叶两侧的箱式频率间隔上趋近于零。如果时间记录不包含整数周期,则窗口的连续谱从主瓣中心移到频率箱的一部分,该频率箱对应于频率分量和FFT频率线之间的差值。这种变化导致侧裂片出现在光谱中。因此,窗口的侧叶特征直接影响相邻频率分量“泄漏”到相邻频率箱的程度。

窗口特征

在选择适当的窗口之前,有必要定义允许用户比较窗口的参数和特征。这些特征包括-3dB主叶宽度、-6dB主叶宽度、最大侧叶水平和侧叶翻转率(表1)。窗口的侧叶的特征是侧叶峰值的最大侧叶水平(定义为最大侧叶水平)和侧叶水平(定义为以dB/十年或频率八度为单位的渐近衰减率)。

窗口的侧叶的特征是侧叶峰值的最大侧叶水平(定义为最大侧叶水平)和侧叶波动(定义为以dB/十年或频率八度为单位的渐近衰减率)。

选择正确得窗口

不同的窗口适合不同的应用程序。要选择正确的光谱窗口,就必须猜测信号的频率内容。如果信号包含远离感兴趣的频率的强干扰频率分量,那么您应该选择一个侧叶具有高滚动率的窗口。如果强干扰信号接近感兴趣的频率,则侧叶最大水平较低的窗口更合适。

如果感兴趣的频带包含两个或两个以上彼此接近的信号,则具有光谱分辨率变得很重要。在这种情况下,带有狭窄主叶的窗口更好。对于单个频率分量,其中的焦点是振幅精度,而不是其精确的位置在频率箱,推荐一个具有宽主叶的窗口。最后,建议对平面或宽带频谱进行相干采样(而不是窗口)(请参见下面的程序代码提取)。

汉宁窗口函数具有良好的频率分辨率和降低频谱泄漏,在大多数应用中都得到令人满意的结果。平顶窗口具有良好的振幅精度,但其宽的主叶提供了较差的频率分辨率和更多的光谱泄漏。平顶窗口的最大侧瓣水平比汉宁窗口更低,但汉宁窗口有更快的滚动率。

一个只由瞬态信号组成的应用程序应该完全没有光谱窗口,因为它们倾向于在样本块的开始时衰减重要的信息。在瞬态信号的情况下,您应该选择一个非光谱窗口,如力或指数窗口。选择一个合适的窗口并不容易,但如果信号内容未知,就可以从汉宁特性开始。比较多个窗口函数的性能以找到最适合给定应用程序的函数也是一个很好的主意

动态范围规格信噪比、SINAD、THD和SFDR

SNR = 10×log10(Ps/Pn)

SINAD = 10×log10(Ps/(Pn+Pd))

THD = 10×log10(Pd/Ph(1))

SFDR = 10×log10(Ph(1)/max(Ph(2:10))),

其中Ps为信号功率,Pn为噪声功率,Pd为2阶至5阶谐波引起的失真功率,Ph (1)为基本谐波功率,Ph(2:10)为2阶至9次谐波的谐波功率(功率谱水平见下面的程序代码提取)。

基于MATLAB源代码(见下文),MAX1448不仅对其数据表规格进行了测试,而且还对许多其他过采样和过采样的输入频率进行了测试。它在所有条件下都取得了良好的动态性能。

相关文章:

matlab测试ADC动态性能的原理

目录 摘要: 简介: 动态规范和定义 动态规格: 双面到单边的功率谱转换 摘要: 模数转换器(adc)代表了接收器、测试设备和其他电子设备中的模拟世界和数字世界之间的联系。正如本文系列的第1部分中所概述…...

PostgreSQL JSON/JSONB 查询与操作指南

PostgreSQL 提供了强大的 JSON 和 JSONB 数据类型及相关操作,适用于存储和查询半结构化数据。本文将详细介绍其常用操作。 1. 基础操作 1.1 JSON 属性访问 ->: 返回 JSON 对象中的值,结果为 JSON 格式。 SELECT {"a": {"b": 1…...

【Isaac Lab】Ubuntu22.04安装英伟达驱动

目录 1.1 禁用nouveau驱动 1.2 安装必要的依赖项 1.3 下载安装 1.4 查看是否安装成功 1.5 安装CUDA 1.5.1 下载 1.5.2 按照提示进行下载安装 1.5.3 添加环境变量 1.5.4 测试CUDA是否安装成功 1.1 禁用nouveau驱动 输入以下命令打开blacklist.conf文件 sudo vim /etc…...

JS,递归,处理树形数据组件,模糊查询树形结构数据字段

JS递归如何模糊查询树形结构数据,根据数据中的某一个字段值,模糊匹配 直接拿去使用就行 function filterTreeLabel(arr, label) {let result []arr.forEach((item) > {// if (String(item.POBJECT_NAME).toLowerCase().indexOf(label)!-1) {if (String(item.P…...

神州数码DCME-320 online_list.php 任意文件读取漏洞复现

0x01 产品描述: ‌神州数码DCME-320是一款高性能多业务路由器,专为多用户、多流量和多业务种类需求设计‌。它采用了...

nginx的内置变量以及nginx的代理

nginx的内置变量 客户端 命令含义$uri可以获取客户端请求的地址,包含主机和查询的参数$request_uri:获取客户端的请求地址,包含主机和查询参数。$host:请求的主机名,客户端—发送请求的url地址$http_user_agent获取客户端请求的浏览器和操作…...

ubuntu监测硬盘状态

安装smartmontools smartctl -l error /dev/sdk smartctl -i /dev/sda lshw -class disk smartctl -H /dev/sd 结果1: 结果2:PASSED,这表示硬盘健康状态良好 smartctl -a /dev/sdb sdk lsblk blkid 测试写入速度 time dd if/dev/zero of…...

3.2.1.2 汇编版 原子操作 CAS

基本原理说明 在 x86 和 ARM 架构上,原子操作通常利用硬件提供的原子指令来实现,比如 LOCK 前缀(x86)或 LDREX/STREX(ARM)。以下是一些关键的原子操作(例如原子递增和比较交换)的汇…...

InnoDB事务系统(二):事务的实现

事务隔离性由锁来实现。原子性、一致性、持久性通过数据库的 redo log 和 undo log 来完成。 redo log 称为重做日志,用来保证事务的原子性和持久性。undo log 用来保证事务的一致性。 有的 DBA 或许会认为 undo 是 redo 的逆过程,其实不然。redo 和 u…...

xdoj :模式匹配

模式匹配 题目描述: 接收信号中包含特定的信号模式,对接收信号进行检测,以统计特定模式出现的次数。 例如接收信号为 9 3 5 7 5 8 6 3 5 7 1 9 3 5 7,如果特定信号为 3 5 7,则接收信号中包含了 3 个特定模式。通过键…...

Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)

目录 SET GET KEYS EXISTS DEL EXPIRE TTL redis中的过期策略是怎么实现的(面试) 上文介绍reids的安装以及基本概念,本章节主要介绍 Redis的基本使用命令的使用 Redis 是一个基于键值对(KEY - VALUE)存储的…...

LruCache(本地cache)生产环境中遇到的问题及改进

问题:单机qps增加时请求摘要后端,耗时也会增加,因为超过了后端处理能力(最大qps,存在任务堆积)。 版本一 引入LruCache。为了避免数据失效,cache数据的时效性要小于摘要后端物料的更新时间&…...

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展,公共交通作为城市运营的核心枢纽,正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network,控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术,构建的公交“大脑”…...

【计算机网络】期末考试预习复习|上

作业讲解 物理层作业 共有4个用户进行CDMA通信。这4个用户的码片序列为: A: (–1 –1 –1 1 1 –1 1 1);B: (–1 –1 1 –1 1 1 1 –1) C: (–1 1 –1 1 1 1 –1 –1);D: (–1 1 –1 –1 –1 –1 1 –1) 现收到码片序列:(–1 1 –…...

YOLOv8目标检测(四)_图片推理

YOLOv8目标检测(一)_检测流程梳理:YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集:YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型:YOLOv8目标检测(三)_训…...

AI工具如何深刻改变我们的工作与生活

在当今这个科技日新月异的时代,人工智能(AI)已经从科幻小说中的概念变成了我们日常生活中不可或缺的一部分。从智能家居到自动驾驶汽车,从医疗诊断到金融服务,AI正以惊人的速度重塑着我们的世界。 一、工作方式的革新…...

springboot中——Logback介绍

程序中的日志&#xff0c;是用来记录应用程序的运行信息、状态信息、错误信息等。 Logback基本使用 springboot的依赖自动传递了logback的依赖&#xff0c;所以不用再引入依赖 之后在resources文件下创建logback.xml文件&#xff0c;写入 <?xml version"1.0" …...

【Tomcat】第一站:理解tomcat与Socket

目录 1. Tomcat 1.1 Tomcat帮助启动http服务器。 1.2 tomcat理解&#xff1a; 2. 计算机网络最基本的流程 2.1 信息是怎么来的&#xff1f; 2.2 端口是干什么的&#xff1f; 3. 简单的Socket案例 服务端 客户端 启动&#xff1a; 3.2 在Tomcat发送信息&#xff0c;看…...

TQ15EG开发板教程:使用SSH登录petalinux

本例程在上一章“创建运行petalinux2019.1”基础上进行&#xff0c;本例程将实现使用SSH登录petalinux。 将上一章生成的BOOT.BIN与imag.ub文件放入到SD卡中启动。给开发板插入电源与串口&#xff0c;注意串口插入后会识别出两个串口号&#xff0c;都需要打开&#xff0c;查看串…...

Java从入门到工作4 - MySQL

一&#xff1a;检测数据库网络 telnet 127.0.0.1 3306 注意ip和端口后之间是空格&#xff0c;不需要引号 二&#xff1a;SQL语法 1、创建结果集 SELECT 电视机 AS typeUNION SELECT 电冰箱UNION SELECT 洗衣机UNION SELECT 空调UNION SELECT 电脑UNION SELECT 热水器UNION…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...