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
    +关注

    关注

    175

    文章

    2922

    浏览量

    228441
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539474
收藏 人收藏

    评论

    相关推荐

    逻辑分析仪的原理和应用

    坐在仪器前,按运行按钮,等待看到毛刺为止。·定时分析仪的触发逻辑分析仪连续捕获数据,并在找到跟踪点后停止采集。这样,逻辑分析仪就能显示
    发表于 11-27 08:19

    怎么解决“完成该操作内存不足”的问题,请教!

    怎么解决“完成该操作内存不足”的问题,请教!
    发表于 05-04 11:27

    数据处理内存不足的问题

    小弟需要对采集的信号进行累加平均,波形一次采集100000个点,然后创建成变成X*100000的二维数组,在运行的过程中如果累加超过100次就显示内存不足,有时显示移位寄存器内存不足,采用的是生产消费结构,这个跟移位寄存器 的内存
    发表于 11-15 20:02

    逻辑分析仪年初扫盲

    (bug)之处。整体而言,逻辑分析仪测量被测信号时,并不会显示电压值,只是High跟Low的差别;如果要测量电压就一定需要使用示波器。除了电压值的显示不同外,逻辑
    发表于 01-11 17:10

    逻辑分析仪是什么

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

    内存不足和development sysytem 停止工作

    system停止工作。自己分析原因:产品每200ms向上位机发数据,上位机解析太慢,导致内存不足。 程序是12.0版本编写,生成的8.6版本,导致出问题。但是只是自己猜测,请问大神谁遇见过类似问题,谢谢。
    发表于 05-16 15:25

    逻辑分析仪基础简介

    是设计中不可缺少的电子测试设备,通过它可以迅速地定位错误、解决问题、达到事半功倍的效果。逻辑分析仪的产生和发展20世纪70年代初研制微处理器,出现4位和8位总线,传统示波器的双通道输入无法满足
    发表于 08-07 10:27

    逻辑分析仪基础简介

    是设计中不可缺少的电子测试设备,通过它可以迅速地定位错误、解决问题、达到事半功倍的效果。逻辑分析仪的产生和发展20世纪70年代初研制微处理器,出现4位和8位总线,传统示波器的双通道输入无法满足
    发表于 08-18 10:06

    为什么要使用逻辑分析仪

    运而生,逻辑分析仪不但解决了示波器输入通道不足的问题,还提供了更加强大的触发功能和分析功能,对于数字电路开发系统来说,逻辑
    发表于 10-13 09:23

    安捷伦科技逻辑分析仪推出最深的内存

    安捷伦科技逻辑分析仪推出最深的内存
    发表于 10-14 07:42

    RAM内存不足错误

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

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

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

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

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

    手机内存不足的清理方法

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

    电脑内存不足怎么解决win10

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