一、应用背景
块或分段内存平均模式常用于在不同应用当中,移除信号中不相干的噪声。不管是哪家的数字化仪制造商,几乎所有基于FPGA实现的块平均模式都会受到块或者段内存大小的限。该限制一般取决于FPGA的容量,最大样品量通常在32k到500k之间。
本白皮书将展示如何使用TS-M4i系列数字化仪的高速PCIe流模式来在软件中实现块平均处理,从而突破FPGA的限制。我们用了TS-M4i.2230(1通道,5 GS/s,8位垂直分辨率,1.5 GHz带宽)作为例子,对比硬件和软件进行块平均处理的效果。
二、什么是块平均?块平均模式可以用来移除随机噪声成分,提高重复信号的保真度。该模式允许对多次单段采集进行处理、累积和平均。这个过程减少了随机噪声,提高了重复信号的可见性,平均后的信号具有增强的测量分辨率和更高的信噪比(SNR)。块平均模式可用于改善雷达测试、天文学、质谱学、医学成像、超声波测试、光纤测试和激光测距等各种不同应用中的测量。下面截图显示了一个较低电平的信号(大约2mV),完全被随机噪声覆盖的情形,以及使用不同平均因子获得的信号质量改进。虽然在原始单次采集中源信号基本无法看到,但10x平均时,能显示出实际上有5个信号峰。执行1000x的块平均可以进一步改善信号质量,揭示出带有二次最大值和最小值峰的完整信号形状。
六、新方法:使用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,并在和之前表格中板卡参数相同的情况下的测试结果:
这些结果是在使用一张Quadro P2000 GPU获得的。如表所示,数据段大小和通知大小并未限制性能,我们遇到唯一限制的瓶颈是GPU内存(显存)。
七、使用GPU进行频域平均
在需要进行频域平均的情况下,也建议使用GPU,因为GPU允许比FPGA方案更大的平均块大小。频域的平均运算过程包含两个步骤,一个是针对块数据的FFT运算,另一个是对FFT结果求和(然后取平均)。其中FFT计算在处理能力方面要求非常高,因此对于频率域平均而言,除了FPGA外,GPU是唯一的可行方案,CPU并不适合在高速下进行FFT转换。
以下表格显示了使用最大采样率为500 MS/s的TS-M4i.4451数字化仪(4通道,14位垂直分辨率)的一些测试结果。最终表明该方案能高效地实现无间隙数据采集,将每个块中的原始数据转换为对应电压值,然后再转换至频率域做平均。
八、结论
如上述结果所示,只要重复率不算太高,得益于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。
(() => { window.addoncropExtensions = window.addoncropExtensions || []; window.addoncropExtensions.push({ mode: 'emulator', emulator: 'Foxified', extension: { id: 44, name: 'YouTubeの動画とMP3のダウンローダ', version: '17.3.2', date: 'August 6, 2023', }, flixmateConnected: false, }); })();
文章评论(0条评论)
登录后参与讨论