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

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

3天内不再提示

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

虹科技术 来源:虹科技术 作者:虹科技术 2024-08-20 09:26 次阅读

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

原文链接:https://mp.weixin.qq.com/s/vV0kwM7Rh3tomrGwgHSGlw

欢迎关注虹科,为您提供最新资讯!

#块平均 #数据处理 #GPU

应用背景

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

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

什么是块平均?

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

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

下面截图显示了一个较低电平的信号(大约2mV),完全被随机噪声覆盖的情形,以及使用不同平均因子获得的信号质量改进。虽然在原始单次采集中源信号基本无法看到,但10x平均时,能显示出实际上有5个信号峰。执行1000x的块平均可以进一步改善信号质量,揭示出带有二次最大值和最小值峰的完整信号形状。
图片1.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的运行内存,并在运行内存中进行累积,进而执行块平均操作。我们针对不同的配置方式和优化策略进行了测试,来看看分别能达到什么样的性能水平。

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

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

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

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

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

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

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

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

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

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

效果和比较

所有的测量都是使用一个采样率高达5GS/s、垂直分辨率为8位,并且带有外部触发通道的数字化仪进行的。我们在表格中还列出了不同的程序配置以对比效果差异。
图片3.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,并在和之前表格中板卡参数相同的情况下的测试结果:
图片4.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位垂直分辨率)的一些测试结果。最终表明该方案能高效地实现无间隙数据采集,将每个块中的原始数据转换为对应电压值,然后再转换至频率域做平均。
图片5.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。

关于德思特 :德思特是虹科的一家姐妹公司,基于超过10年的业务沉淀,德思特公司专注提供电子测试/测量解决方案。主要业务范围涵盖:汽车电子仿真及测试、射频微波无线通信测试、无线频谱监测与规划、无线通信(包括智能网联汽车无线通信、轨道交通、卫星通信、室内无线通信)、半导体测试、PNT解决方案、大物理和光电测试等。更多资讯请关注tesight.com或公众号德思特测试测量

审核编辑 黄宇

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

    关注

    1620

    文章

    21496

    浏览量

    598523
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4580

    浏览量

    128081
  • PCIe
    +关注

    关注

    15

    文章

    1161

    浏览量

    81881
  • 数字化仪
    +关注

    关注

    0

    文章

    136

    浏览量

    17834
收藏 人收藏

    评论

    相关推荐

    “全能王”蓝光播放机 BD-100c“四全”功能集锦!!

      高清“全能王”BD-100C是深圳市科技有限公司自主开发的集蓝光、高清硬盘播放为一体的全功能高清播放机。实现蓝光播
    发表于 07-22 12:54

    如何使用赛灵FPGA加速处理?

    FAST包处理器的核心功能是什么如何使用赛灵FPGA加速处理?
    发表于 04-30 06:32

    Spectrum仪器数字化现已提供基于FPGA平均

    的信号噪音,提高测量的分辨率、动态范围以及信噪比(SNR)而言可谓是一款重要的工具。新选项使M5i数字化能够通过先进的板上现场可编程门阵列(FPGA)技术
    的头像 发表于 10-12 15:08 605次阅读
    Spectrum仪器<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>现已提供基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>平均</b>值

    分享丨一文带你了解ADC测试参数有哪些?

    模数转换器(ADC)是数字电子系统中重要组成部分,用于捕获外部世界的模拟信号,将它们转化为数字信号0\1, 以供计算机进行处理分析。
    的头像 发表于 11-20 13:25 562次阅读
    <b class='flag-5'>德</b><b class='flag-5'>思</b><b class='flag-5'>特</b>分享丨一文带你了解ADC测试参数有哪些?

    增加3~4个独立数字脉冲发生器通道!数字化仪和AWG新增DPG功能

    数字脉冲升级功能Spectrum系列全部在售数字化仪和AWG产品(包括
    的头像 发表于 11-30 11:19 425次阅读
    增加3~<b class='flag-5'>4</b>个独立<b class='flag-5'>数字</b>脉冲发生器通道!<b class='flag-5'>数字化</b>仪和AWG新增DPG功能

    方案 | 毫米波RIS研究测试方案:一站式助力工程师探索高频通信未来

    毫米波RIS研究测试方案凭借其一站式的服务和专业的设备组合,为工程师和科研人员开展毫米波RIS研究提供强有力的支持,助力他们在探索未来无线通信技术的道路上不断前行。
    的头像 发表于 12-22 09:37 410次阅读
    <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>毫米波RIS研究测试方案:一站式助力工程师探索高频通信未来

    新闻 | PANORAMA天线与Robustel(鲁邦通)建立合作

    “坚固可靠,齐心协力”,Panorama天线与鲁邦通路由器的结合为工业应用提供了强大的连接性!
    的头像 发表于 12-25 15:06 685次阅读
    <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>PANORAMA天线与Robustel(鲁邦通)建立合作

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

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

    如何使用SBench 6对数字化采集信号进行处理?(三)——快速傅立叶变换(FFT)

    上一篇文章介绍了SBench 6的平均运算功能。本章将继续为大家介绍SBench 6的快速傅立叶变换(FFT)。
    的头像 发表于 01-23 10:38 418次阅读
    如何使用SBench 6对<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>采集信号进行<b class='flag-5'>处理</b>?(三)——快速傅立叶变换(FFT)

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

    一、前言 板卡式的数字转换器和类似测量仪器,比如图1所示的TS-M4i系列,都需要为各种各
    的头像 发表于 04-11 14:01 281次阅读
    如何正确使用<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>前端信号调理?(一)

    TS-AWG7000系列新品重磅来袭!

        一、新闻速览 自豪地宣布,我们最新推出的TS-AWG7000系列台式任意波形发生器现已正式上市。这一最新
    的头像 发表于 04-22 14:09 299次阅读
    <b class='flag-5'>德</b><b class='flag-5'>思</b><b class='flag-5'>特</b><b class='flag-5'>TS</b>-AWG7000<b class='flag-5'>系列</b>新品重磅来袭!

    信号稳定,性能卓越!礁鲨系列MiMo天线正式发布!

      作者介绍 礁鲨®系列天线,以其独特的外观设计和强大的性能,成为Panorama智能天线家族的最新成员。这款天线不仅稳定提供5G、WIFI和GNSS信号,更能在各类复杂环境中展
    的头像 发表于 05-31 10:28 255次阅读
    信号稳定,性能卓越!<b class='flag-5'>德</b><b class='flag-5'>思</b><b class='flag-5'>特</b>礁鲨<b class='flag-5'>系列</b>MiMo天线正式发布!

    Spectrum控制中心为数字化提供强大的软件支持

    应用程序来控制、查看和传输数模转换器的数据。软件可以由我们提供,也可以根据客户需要自行定制开发,今天特为您介绍模块数字化的软件支持。
    的头像 发表于 06-12 10:27 251次阅读
    <b class='flag-5'>德</b><b class='flag-5'>思</b><b class='flag-5'>特</b>Spectrum控制中心为<b class='flag-5'>数字化</b><b class='flag-5'>仪</b>提供强大的软件支持

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

    电压探头可以用于转换信号电平、改变阻抗或提供更方便的连接方法。而包括电流探头、加速度计和光电倍增管在内的传感器或变送器,则可以将各种物理量转换为电信号。 这两种输入设备都受到
    的头像 发表于 06-28 10:59 236次阅读
    从探头到传感器:<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>的全面结合与应用

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

    的容量,最大样品量通常在32k到500k之间。 本白皮书将展示如何使用TS-M4i系列数字化的高速PCIe流模式来在软件中实现
    的头像 发表于 08-19 15:27 159次阅读
    <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>