微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 业界新闻 > 逻辑分析仪内存不足?“拼”出解决之道!

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

时间:03-12 来源:MAXIM 官网 点击:

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

介绍

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


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


图2. a) 捕获单组16384点数据并分析;b) 捕获两组8192点数据,连接,然后分析"拼接"技术

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


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

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


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

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


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

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


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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top