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

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

3天内不再提示

突破FPGA限制:TS-M4i系列数字化仪利用GPU加速实现高效块平均处理

Sophia_wff 来源:Sophia_wff 作者:Sophia_wff 2024-08-19 15:27 次阅读

一、应用背景

块或分段内存平均模式常用于在不同应用当中,移除信号中不相干的噪声。不管是哪家的数字化仪制造商,几乎所有基于FPGA实现的块平均模式都会受到块或者段内存大小的限。该限制一般取决于FPGA的容量,最大样品量通常在32k到500k之间。

本白皮书将展示如何使用TS-M4i系列数字化仪的高速PCIe流模式来在软件中实现块平均处理,从而突破FPGA的限制。我们用了TS-M4i.2230(1通道,5 GS/s,8位垂直分辨率,1.5 GHz带宽)作为例子,对比硬件和软件进行块平均处理的效果。

二、什么是块平均?

块平均模式可以用来移除随机噪声成分,提高重复信号的保真度。该模式允许对多次单段采集进行处理、累积和平均。这个过程减少了随机噪声,提高了重复信号的可见性,平均后的信号具有增强的测量分辨率和更高的信噪比(SNR)。

块平均模式可用于改善雷达测试、天文学、质谱学、医学成像、超声波测试、光纤测试和激光测距等各种不同应用中的测量。

下面截图显示了一个较低电平的信号(大约2mV),完全被随机噪声覆盖的情形,以及使用不同平均因子获得的信号质量改进。虽然在原始单次采集中源信号基本无法看到,但10x平均时,能显示出实际上有5个信号峰。执行1000x的块平均可以进一步改善信号质量,揭示出带有二次最大值和最小值峰的完整信号形状。

wKgaombC5imAFW_WAAHroimRuGo166.png

通过块平均改善噪声问题,该示例使用了一个500MS/s采样率(每个采样点2ns)和14位分辨率的数字化仪制作

三、系统配置

为了兼顾更多老旧设备的性能状况,测试系统选用了一台德思特公司内的旧办公电脑,大致配置如下:

●主板:技嘉GA-H77-D3H

CPUIntel i7-3770,4核3.4 GHz

●运行内存:8 GB DDR3

●硬盘:120 GB固态

操作系统:Win 7 64bit

● IDE:Visual Studio 2005标准版

主板上有一个空闲的PCIe Gen2 x8插槽,我们就使用该插槽来插数字化仪板卡。此时,德思特的TS-M4i板卡的流式传输可以达到满速,约3.4 GB/s(不考虑数据处理的情况下)。

四、软件实现

测试软件使用纯C++编写,并基于德思特流式传输示例。数字化仪板卡通过外部触发采集,板卡会自动在每个触发事件后获取一段数据。数据会先存储在板载内存中,然后通过分散聚集式式DMA直接传输到PC的运行内存,并在运行内存中进行累积,进而执行块平均操作。我们针对不同的配置方式和优化策略进行了测试,来看看分别能达到什么样的性能水平。

摘录出来的一小段源代码显示了多线程版本的主求和循环,这正是软件处理的关键部分,也是决定速度的部分。

wKgaombC5k-AUwNyAAEEz4WWJ6k232.png

以下列表提供了具体实现各个方面的一些信息和备注:

●数据段大小:收到触发事件后将获取数据的样本点数量

●平均次数:对于一个数据段,在算法重置前,整个过程中需要执行多少次平均前的累加操作。

●通知大小:硬件生成中断所需的数据量。该参数决定了整个平均循环的速度。如果通知大小大于数据段大小,则会在一次中断中传输多个数据段的内容,这将减少线程通信和中断处理的额外开销。

●缓冲区大小:DMA传输的目标缓冲区整体大小。在我们的实验中,这个缓冲区固定等于通知大小的16倍。

●触发速率:作为外部触发的信号发生器的信号重复频率。在结果表格中,我们给出的是在不填满(溢出)缓冲区的情况下可以达到的最大触发速率。

●线程数:为了加快求和过程,我们对该任务进行并行化优化,将其分割成多个不同的软件线程。如果线程为1,则表示求和过程不使用额外线程,而是直接在主循环中直接执行。

● CPU负载:由于平均过程是用软件完成的,具体来说就是CPU进行了所有的工作。幸好现代CPU往往包含多个内核,我们实际上可以轻松地在它们之间共享工作任务。

● SSE/SSE2指令:乍一看,这些命令似乎非常适合并行化求和过程,并似乎可以在不需要任何线程编程的情况下加快软件的速度。但不幸的是,SSE命令集都是基于相同类型的数据的,而由于获取的数据是8bit宽度,而平均缓冲区是32位宽,因此在本例中无法利用该指令集进行加速。

五、效果和比较

所有的测量都是使用一个采样率高达5GS/s、垂直分辨率为8位,并且带有外部触发通道的数字化仪进行的。我们在表格中还列出了不同的程序配置以对比效果差异。

wKgaombC5maAF01pAAQeKZV7m6E451.png

通过普通(性能偏低的)PC在时域上进行块平均的性能对比

六、新方法:使用CUDA进行平均运算

2018年11月,我们推出了一些使用SCAPP(通过CUDA访问数据和并行处理)选项进行块平均的示例,适用于非常高速的数据处理。其基本概念与前文所述相同,即数据由数字化仪采集并通过PCIe总线连续传输。不同之处在于,平均值的计算操作不是由CPU完成,而是在GPU中完成。GPU解决方案的一个主要优点在于,GPU本身就是为并行计算而设计,这使GPU成为各种类型的块平均运算的理想选择。

在实现上,SCAPP允许用户直接将数据传送到GPU,这使用了RDMA(远程直接内存存取)技术,然后可以在GPU上执行高速时域和频域信号的平均,并突破通常在CPU和FPGA中出现的数据长度或算力限制。

比如,TS-M4i.2220数字化仪可以以2.5 GS/s的速度连续采样信号,我们可以做到在不丢失样品点的情况下,进行长达数秒的平均运算。类似地,我们还有14位垂直分辨率的TS-M4i.4451数字化仪可以以450 MS/s的速度同时对四个通道的信号进行同一功能的采样。数字化仪板卡还提供了灵活的触发、捕获和读出模式设置,从而使它们能够在触发速率极高的情况采回原始信号,进而做平均处理。相比之下,FPGA方案需要最高性能级别的FPGA来同时满足数据拉取和平均运算,而GPU方案则可以轻松跑满数字化仪的全速,即使是使用入门级GPU也不会成为瓶颈。

以下表格展示了使用GPU,并在和之前表格中板卡参数相同的情况下的测试结果:

wKgZombC5oKACl7dAAFaeh2w29c622.png

在时域上使用GPU进行块平均的测试结果

这些结果是在使用一张Quadro P2000 GPU获得的。如表所示,数据段大小和通知大小并未限制性能,我们遇到唯一限制的瓶颈是GPU内存(显存)。

七、使用GPU进行频域平均

在需要进行频域平均的情况下,也建议使用GPU,因为GPU允许比FPGA方案更大的平均块大小。频域的平均运算过程包含两个步骤,一个是针对块数据的FFT运算,另一个是对FFT结果求和(然后取平均)。其中FFT计算在处理能力方面要求非常高,因此对于频率域平均而言,除了FPGA外,GPU是唯一的可行方案,CPU并不适合在高速下进行FFT转换。

以下表格显示了使用最大采样率为500 MS/s的TS-M4i.4451数字化仪(4通道,14位垂直分辨率)的一些测试结果。最终表明该方案能高效地实现无间隙数据采集,将每个块中的原始数据转换为对应电压值,然后再转换至频率域做平均。

wKgaombC5qKAbB6FAAHqegEJdTs560.png

使用GPU进行频率域块平均的测试结果

八、结论

如上述结果所示,只要重复率不算太高,得益于PCIe总线的高速数据传输率,使用基于CPU的软件在进行块平均时,可以实现比FPGA更大的总数据段大小,从而平均更长时间的样本;而使用GPU时,更是可以达到PCIe总线传输所限制的上限速度。对于需要处理更高重复触发率的情况,会对总线传输速度提出更高的要求,此时基于FPGA硬件的块平均仍将是最佳选择。

上述测试程序也可以提供给您,以便您自己进行重复测试,或者作为实现其他软件程序的基础。其中GPU示例是SCAPP软件选项的一部分,在选购后,德思特的客户可按照NDA协议使用。

总的来说,通知大小设为1 MByte时,可获得最佳性能。具体执行的平均次数对测试性能并没有明显的影响。因为复制结果段和清除结果缓冲所需的时间相对于样本求和运算而言微不足道。

由于在同时采集多个通道时,整个的数据处理和求和过程并没有本质区别,因此只需等价成一个把所有数据都合并到一起的新通道即可(等效采样率= 每通道采样率 × 通道数)。以下设置对应的最大触发速率完全相同:

●1通道5 GS/s @ 数据段大小S1

●2通道2.5 GS/s @ 数据段大小S1/2

●4通道1.25 GS/s @ 数据段大小S1/4

将采样速度降低到2.5 GS/s时,可以在理论上使软件针对1个通道执行平均运算的速度最大化。对于1 M样本点的数据段大小,外加死区长度为160个样本点时,理论上的最大触发速率为:(2.5 GS/s) / (1 MS+ 160 S) = 2.38 kHz。

注意,这确实会明显低于单纯采集时的最大触发速率:2.9 kHz @ 5 GS/s。

审核编辑 黄宇

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

    关注

    1629

    文章

    21729

    浏览量

    603005
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4729

    浏览量

    128890
  • 数字化仪
    +关注

    关注

    0

    文章

    143

    浏览量

    17926
收藏 人收藏

    评论

    相关推荐

    助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4

    层、池层)映射为硬件友好的 C/C++ 结构。例如,将卷积映射为乘累加(MAC)数组,通过流水线实现并行。 2.算子加速与指令优化: 流水线(Pipelining):
    发表于 12-06 17:18

    Spectrum高速数字化:从雷达脉冲测试到信号分析的广泛应用!

    Spectrum高速数字化TS-M5i.33xx-x16系列具有七种型号,支持10 GS/s的最大采样率,可提供超过4.7 GHz的带宽和12位的分辨率,能广泛适用于各类射频和高速
    的头像 发表于 11-25 13:54 147次阅读
    Spectrum高速<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>:从雷达脉冲测试到信号分析的广泛应用!

    高速数字化的技术原理和应用场景

    FPGA可以实现高速的数字信号处理、存储和数据分析功能。同时,高速数字化还可以通过接口将数据
    发表于 10-21 14:34

    解锁TS-M4i.66xx AWG潜能:深度探索序列模式与实时波形控制

    任意波形发生器(AWG)的一个重要功能点是,它们可以生成几乎无限数量种的波形形状。AWG的运行模式控制了这些波形输出的方式。在这篇应用笔记中,我们将探讨如何高效利用TS-M4i.66xx系列
    的头像 发表于 09-29 17:29 233次阅读
    解锁<b class='flag-5'>TS-M4i</b>.66xx AWG潜能:深度探索序列模式与实时波形控制

    精准高效,顶坚单北斗工作记录:行业数字化转型的得力助手

    数字化和智能的浪潮中,各行各业正以前所未有的速度迈向智能转型。在这一进程中,精准、高效的数据记录与分析成为了推动行业进步的关键力量。而顶坚单北斗工作记录
    的头像 发表于 09-02 11:38 260次阅读
    精准<b class='flag-5'>高效</b>,顶坚单北斗工作记录<b class='flag-5'>仪</b>:行业<b class='flag-5'>数字化</b>转型的得力助手

    德思特分享 突破FPGA限制:德思特TS-M4i系列数字化利用GPU加速实现高效平均处理

    本白皮书将展示如何使用德思特TS-M4i系列数字化的高速PCIe流模式来在软件中实现
    的头像 发表于 08-20 09:26 1280次阅读
    德思特分享 <b class='flag-5'>突破</b><b class='flag-5'>FPGA</b><b class='flag-5'>限制</b>:德思特<b class='flag-5'>TS-M4i</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'>GPU</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><b class='flag-5'>处理</b>

    TLV990-21完整的CCD信号处理器/数字化数据表

    电子发烧友网站提供《TLV990-21完整的CCD信号处理器/数字化数据表.pdf》资料免费下载
    发表于 07-29 11:10 0次下载
    TLV990-21完整的CCD信号<b class='flag-5'>处理</b>器/<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>数据表

    TS高速数字化板卡数据采集与存储的优化策略

    板卡式数字化,也成为ADC板卡,目前广泛应用于科研、工业、医疗等领域的数据采集设备。它的工作就是将模拟信号转换为数字信号,供计算机进行处理和分析。而在使用这些
    的头像 发表于 07-19 10:56 308次阅读
    <b class='flag-5'>TS</b>高速<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>板卡数据采集与存储的优化策略

    从探头到传感器:德思特数字化的全面结合与应用

    电压探头可以用于转换信号电平、改变阻抗或提供更方便的连接方法。而包括电流探头、加速度计和光电倍增管在内的传感器或变送器,则可以将各种物理量转换为电信号。 这两种输入设备都受到德思特数字化的支持
    的头像 发表于 06-28 10:59 332次阅读
    从探头到传感器:德思特<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>的全面结合与应用

    工业数字化平台是什么

    帮助工业企业更高效地收集、存储、处理、分析和分享数据,从而提升运营效率、优化生产过程、改善决策制定,并最终推动业务增长。 工业数字化平台的核心功能通常包括: 1. 数据集成:收集和整合来自不同来源和格式的工业数据,包括传感器、机
    的头像 发表于 06-16 10:27 594次阅读

    数字化技术革新PMC管理,赋能企业高效运营新篇章

    数字化浪潮席卷全球的今天,企业对于高效、精准的产品物料控制(PMC)管理的需求日益迫切。数字化技术作为新时代的引擎,正以其强大的数据处理能力和智能
    的头像 发表于 06-13 10:12 531次阅读

    数字化:为何成为示波器的理想替代品?——PCIe8910M

    的理想替代品。 简介 在电子测量领域,示波器和数字化都是常见的测试仪器。传统示波器主要用于观察和分析电信号的波形,而数字化则更加强调信号的精确测量和数据
    的头像 发表于 04-15 11:21 633次阅读
    <b class='flag-5'>数字化</b><b class='flag-5'>仪</b>:为何成为示波器的理想替代品?——PCIe8910<b class='flag-5'>M</b>

    如何正确使用数字化前端信号调理?(二)

    在上期文章如何正确使用数字化前端信号调理?(一)中,我们为大家介绍了数字化前端电路所需的特性以及使用过程中需要的输入抗阻和输入耦合,本期文章将为您介绍
    的头像 发表于 04-12 14:31 432次阅读
    如何正确使用<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>前端信号调理?(二)

    如何正确使用数字化前端信号调理?(一)

    一、前言 板卡式的数字转换器和类似测量仪器,比如图1所示的德思特TS-M4i系列,都需要为各种各样的特性信号与内部模数转换器(ADC)的固定输入范围做匹配。 图1:德思特TS-M4i
    的头像 发表于 04-11 14:01 398次阅读
    如何正确使用<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>前端信号调理?(一)

    如何使用SBench6软件对数字化采集信号进行处理?(二)——平均运算功能

    上一篇文章介绍了了德思特SBench 6为板卡式数字化提供的波形算术运算及直方图功能。本章将继续为大家SBench 6的平均运算功能。
    的头像 发表于 01-15 14:05 465次阅读
    如何使用SBench6软件对<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>采集信号进行<b class='flag-5'>处理</b>?(二)——<b class='flag-5'>平均</b>运算功能