0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

逻辑分析仪内存不足? “拼”出解决之道!

星星科技指导员 来源:ADI 作者:ADI 2023-06-16 14:38 次阅读

MATLAB®是一个强有力的工具,可用来快速分析从模数转换器(ADC)输出所捕获的数据。本应用笔记演示了如何使用MATLAB来突破逻辑分析仪存储深度的局限。描述并比较了三种数码拼接方式(基本,超前和反转)。并给出了三种方法所得的结果。

介绍

要评估一个高速模数转换器(ADC)的性能,就需要捕获其数字输出码,然后进行分析。逻辑分析仪的存储深度常常成为一个重要局限,妨碍系统捕获足够的数据点,以生成高分辨率FFT,或者精确的INL/DNL图。解决该问题的一个简单办法是使用某种数学工具,例如MATLAB ( 图1 ),将多组数据连接起来。连接数据的一个缺点是,通常会在两组数据之间的连接点出现很大的不连续性。尽管不连续性对INL/DNL图的影响极小,但对高分辨率FFT而言,几乎是毁灭性的( 图2 )。

图1. 连接后的数据在两组数据之间出现不连续。

图1. 连接后的数据在两组数据之间出现不连续。

![图2. a) 捕获单组16384点数据并分析;b) 捕获两组8192点数据,连接,然后分析“拼接”技术。]微信截图_20200307100422.png
图2. a) 捕获单组16384点数据并分析;b) 捕获两组8192点数据,连接,然后分析“拼接”技术。

有一种办法可以消除不连续性,就是在各组数据中寻找相同的点簇(一般为3到4个点),然后在这些点将两组数据“拼接”在一起( 图3 )。最简单的“拼接”方法是,记录下第一组数据中的最后四个点,然后在第二组数据里寻找相同的点簇。相同点簇出现在第二组数据中的位置称为“拼接点”。第二组数据中在拼接点之前的所有数据均被舍弃;第二组数据中的剩余部分与第一组数据合并。这种技术即所谓的基本数码拼接,实现起来非常简单,可以在MATLAB中非常快地运行。

图3. 基本数码拼接后得到的最终“拼接”数组

图3. 基本数码拼接后得到的最终“拼接”数组。

采用基本拼接方法拼接数据时,有时必须丢掉第二组数据中的近一半,才能找到与第一组数据最后四个点相匹配的一簇点。作为另一种选择,丢掉第一组数据尾部的几个点,常常有助于找到更靠近第二组数据起点的拼接点( 图4 )。然而,通过丢掉第一组数据尾部、第二组数据头部的部分采样点来寻找匹配点的方法实现起来比较困难。这种处理被称为超前数码拼接。理想拼接点应该能够保留尽可能多的数据点,寻找这样的拼接点需要认真的考虑和一定的编程技巧。正确地实现之后,超前拼接技术通常能够得到两组小数组所含数据点总数的至少90%。

图4. 采用超前拼接技术寻找理想拼接点,最终得到“拼接”后的数组。

图4. 采用超前拼接技术寻找理想拼接点,最终得到“拼接”后的数组。

将第二组数据(数组B)拼接到第一组数据(数组A)之前被称为反转拼接,这种方式有可能得到更大的拼接数组( 图5 )。但是,这种技术会使处理时间翻倍,因为必须在A领先于B和B领先于A两种情况下寻找拼接点。此外,当与其他拼接技术一起使用时,反转拼接方式所带来的好处通常很少。因此,对于较慢的PC,反转拼接技术大幅度增加的处理时间开销较之它所带来的好处而言并不太值。表1详细比较了这三种代码拼接方法。

图5. 反转拼接的处理时间加倍,但常常收效甚微。

图5. 反转拼接的处理时间加倍,但常常收效甚微。

表1. 三种拼接技术对比 *

Stitch Technique Size of Final Data Set Description
Data Set Numbers # of codes(averaged) % of two data sets(averaged)
1 + 2 3 + 4 1 + 4
Concatenate† N/A 16384
Basic 11060 8192‡
Reverse 11060 8192‡
Advanced 13790 16046
Advanced+Reverse 15427 16176

*采用上述拼接技术对两组8K (8192个)数据进行拼接。为确保准确性,采用四组8192点数据(分别编号为1至4)重复本测试。每组测试所合成的数据取平均后列于测试数据的右侧。

† 直接连接总能得到100%的数据。

‡ 无法拼接数据。### MATLAB函数说明

本文后附的MATLAB代码(附录A和B中的StitchMatrices和FindStitchPoint)将上述论点结合到一个易于使用的函数中。这些函数可接受两组数据(MATLAB中的单列矩阵)和几个输入变量(用来选择超前/反转拼接功能)。FindStitchPoint例程用来确定拼接点在数组A和B中的偏移量。StitchMatrices例程则根据FindStitchPoint例程给出的偏移量对两组数据A和B进行舍弃和组合。同时,最终数据的拼接点被记录在PrevStitchBins数组中,以便于后续处理。当拼接多组数据时,PrevStitchBins可保存老的拼接点。

结论

拼接两组数据可以得到一组理想的结果。图6给出了三组8192点数据使用上述拼接技术拼接起来(使用5个拼接点)后的FFT图。所得的FFT几乎与前面图2a所示,基于16384个连续点所得结果相同。

图6. 数码拼接后得到精确的FFT图。

图6. 数码拼接后得到精确的FFT图。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    185

    文章

    2976

    浏览量

    230464
  • adc
    adc
    +关注

    关注

    98

    文章

    6498

    浏览量

    544627
收藏 人收藏

    评论

    相关推荐

    逻辑分析仪是什么

    分析仪已经非常成熟,仍存不足之处,例如在高速采样状态下无法实时显示波形。相信这种情况将不会持续太久,随着技术发展串行通信带宽得到大幅提高(USB 3.0),虚拟逻辑分析仪将有望快速步入
    发表于 08-23 16:31

    RAM内存不足错误

    遇到难题一、:RAM内存不足错误:一 、将UC/OS III移植到STM32F103C8T6的遇到内存不足的报错。分析,c8t6系类RAM内存只有20KB。如上图。在代码中将heap_
    发表于 08-20 08:14

    逻辑分析仪的应用分析

    逻辑分析仪原理及相关术语简介。逻辑分析仪的工作原理简介逻辑分析仪的组成结构如图1所示,它主要包括
    发表于 11-27 13:06 11次下载

    逻辑分析仪的使用

    逻辑分析仪的使用 本文主要介绍逻辑分析仪的使用步骤与方法,从探头与被测系统连接、设置时钟模式和触发功能、捕获、分析、显示波
    发表于 11-27 08:50 2203次阅读

    逻辑分析仪内存不足?“解决之道

    摘要:MATLAB®是一个强有力的工具,可用来快速分析从模数转换器(ADC)输出所捕获的数据。本应用笔记演示了如何使用MATLAB来突破逻辑分析仪存储深度的局限。描述并比较了三种数
    发表于 04-25 09:58 541次阅读
    <b class='flag-5'>逻辑</b><b class='flag-5'>分析仪</b><b class='flag-5'>内存不足</b>?“<b class='flag-5'>拼</b>”<b class='flag-5'>出</b><b class='flag-5'>解决之道</b>

    逻辑分析仪选型参数有哪些_逻辑分析仪有哪些技术指标_逻辑分析仪有什么推荐的?

    逻辑分析仪分析数字系统逻辑关系的仪器。逻辑分析仪是属于数据域测试[2]仪器中的一种总线
    发表于 12-20 16:43 5541次阅读

    HFSS软件内存不足的解决方法

    HFSS软件内存不足该如何解决?
    的头像 发表于 07-15 10:15 2.3w次阅读

    虚拟内存不足的原因

    电脑系统是WinXP,最近使用时,没开多少程序,却常常出现虚拟内存不足的系统提示。可能有以下几个原因
    的头像 发表于 03-14 14:25 3151次阅读

    虚拟内存不足怎么解决

    电脑的虚拟内存不足以后,很多功能就无法使用了,且会弹出如下所示的页面。这就说明虚拟内存无法满足我们的使用需求,就需要咱们对电脑的虚拟内存进行重新设置。那么如何设置呢?请看下文。
    的头像 发表于 03-14 14:29 1.4w次阅读

    手机内存不足的清理方法

    很多时候当我们拿起手机时,突然提示我们手机内存不足,无法安装应用,部分功能受影响,手机最近频频提醒内存空间不足,随着手机使用时间的延长,手机不可避免的越来越臃肿,手机运行速度也是一卡再卡。怎么办?没关系,又显示
    发表于 05-20 09:49 1w次阅读

    电脑和手机的内存不足怎么办

    如果是电脑内存不足,可以通过任务管理器关闭部分应用程序,也可以在控制面板中调整虚拟内存的大小,还可以通过增加内存容量方式解决。如果是手机运行内存不足,可以一键关闭多任务。如果是手机存储
    发表于 05-22 09:41 1704次阅读

    电脑内存不足怎么解决win10

    电脑内存大家一定都知道吧,通常我们在用电脑的时候,当我们打开大型的网络游戏和各种应用的软件时,如果我们的电脑本身的内存不足,就会使游戏和大型的软件打开失败或者是终止。而且电脑内存不足会大大降低电脑
    发表于 06-12 10:31 1265次阅读

    逻辑分析仪是干啥用的 逻辑分析仪的主要用途 逻辑分析仪的应用场景

    逻辑分析仪是干啥用的 逻辑分析仪的主要用途 逻辑分析仪的应用场景
    的头像 发表于 09-19 16:03 3086次阅读

    逻辑分析仪如何使用 逻辑分析仪使用教程

    逻辑分析仪如何使用 逻辑分析仪使用教程  逻辑分析仪是一种用来监测和
    的头像 发表于 09-19 16:03 2925次阅读

    RAM内存不足的表现及解决方法

    RAM内存不足的表现及解决方法 一、RAM内存不足的表现 系统运行缓慢 当RAM内存不足时,计算机的响应速度会明显下降,打开程序或文件需要更长的时间。 频繁的页面交换(Page Swapping
    的头像 发表于 11-11 09:53 897次阅读