德思特分享|解密高速数字化仪板卡:数据采集与存储的优化策略
时间:2024-08-01 阅读:245
板卡式数字化仪,也成为ADC板卡,目前广泛应用于科研、工业、医疗等领域的数据采集设备。它的工作就是将模拟信号转换为数字信号,供计算机进行处理和分析。而在使用这些数字化仪板卡的过程中,我们的用户可能会遇到一些疑问,例如:
“如何处理多张数字化仪板卡上多通道同步采回来的大量数据?”
“我想使用连续高速的流模式进行采集,但我不太确定我是否应该把所有的原始数据都保存到硬盘,以及我需要什么样的电脑配置才能完成这个保存?”
“数字化仪是如何将采集到的数据直接高速传输到PC环境中?”
本文将针对以上这类问题进行解答,以帮助用户更好地理解和使用数字化仪。
一、问题背景
首先,我们需要明确一点,这些疑问并不是没有理由的。我们的高速采集卡在连续采集的过程中,确实会产生的非常大的数据量,尤其当用户使用多张采集卡同步采集时,这个数据量还会进一步翻倍。
举例来说,250 MS/s采样率、16 bit分辨率的4通道板卡,1秒钟就会生成2 GB的数据量,再增加一张相同的卡就会变成4 GB的数据量。顺带一提,我们单张采集卡最高使用PCIe Gen2 x8接口,能做到3.4 GB/s的持续数据流速度。
下面,我们会针对这个问题分情况进行讨论。
(一)总数据量较少
如果需要持续采集时间较短,总数据量能控制在工控机系统内存(RAM)容量大小范围内,那确实可以不执行额外的优化动作,以节省测试程序的开发时间。
在这种条件下,不管是先运算处理后保存,还是直接保存,由于有充足内存空间作为缓冲,对CPU和硬盘速度的要求都较低,主流PC级别的性能即可满足需求。
(二)总数据量较多
而如果是更长时间的采集,我们一般推荐两种优化处理方式:第一种是快速处理,并少量存储;第二种是少量处理,并快速存储。
1.快速处理,少量存储
整体实现思路如下:尽可能立即把生成的数据进行分析,然后仅保留核心结果数据进行存储,大量的原始数据在处理完后直接丢弃以释放内存空间,并降低存储性能的要求。
由于分析处理涉及到的处理算法可能较为复杂,对于CPU而言,大概率会存在并行处理的能力瓶颈,因此我们更加推荐用CUDA专业卡进行高速的并行运算。在专业计算卡RDMA特性的帮助下,CUDA GPU可以不经过CPU直接从数字化仪板卡中获取数据并处理,最后把关键结果返回到CPU和内存中,CPU再进一步将结果保存到硬盘或转发至其他需要的位置即可。
使用这种优化方式的一类典型用户就是射电天文学课题组,他们希望能够不断采集最新的,来自太空的无线电波。他们就会倾向于直接将数据流式传输到GPU,并通过GPU完成滤波、高速的FFT以及分析处理,找到关键的频域信息结果再保存。
此外,在用户想要持续扫描和分析类似信号(比如信号监视,雷达等)的其他应用,这个思路也同样适用。典型的应用还包括处理激光雷达系统、扫描声学显微镜和医学成像系统(核磁共振、超声、PET扫描仪、OCT等)收集的大量数据。
2.少量处理,快速存储
整体实现思路如下:尽可能减少处理甚至不作不处理,直接存储归档,供日后分析处理。
这种方式对存储容量和速度有很高的要求,即使是最新的nvme固态也无法承受长时间大量数据的持续写入,因此一般需要使用RAID阵列进行存储。针对容量要求更大的场景,可能还会需要通过高速以太网,传输至专门的存储服务器进行保存。
核心的注意事项有两点:
(1)保证存储速度能赶上数据生成速度
(2)保证可用存储空间能存下预计生成的数据
使用这种优化方法的客户通常是专注于某个细分领域的研发工程团队,整个测试过程产生的数据量可以高达几十个TB。
根据我们的统计,比较常见的场景包括质量控制(他们希望长时间监控某些参数以验证系统是否始终符合要求)、航空航天和国防工业(监视、跟踪和分析物体或系统的变化)和通信等领域。此外,我们也见过有一些客户需求是想要连续存储扫描系统中的原始超声信号。在完成存储后,用户就会先后使用不同的算法来处理数据,然后从中提取特定信息,并试着寻找其他潜在内容。
二、德思特高速数字化仪
德思特数字化仪采样率高达5GS/s,可支持128个通道同步采集,具有8/12/14/16位模拟分辨率,符合目前常用行业标准,包含LXI、PCIe、PXIe,配套软件可以使用产品示波器、数据记录仪、数据采集系统、频谱分析仪、逻辑分析仪、码型发生器、数据流系统(FIFO)和瞬态记录仪等多种仪器功能。
三、结论
总的来说,数字化仪作为一种强大的数据采集设备,能够帮助用户高效地处理和分析大量数据。若想要发挥它的最大作用,用户需要选择恰当的数据处理和存储方式,而这具体取决于用户的实际项目需要,以及被采集信号的特性。希望本文能够帮助用户更好地理解和使用数字化仪,提高数据采集和处理的效率。