将二进制波形数据从示波器批量导出到数据点(首选csv)

将二进制波形数据从示波器批量导出到数据点(首选csv),csv,waveform,oscilloscope,Csv,Waveform,Oscilloscope,我正在处理一些从90年代早期到中期的各种HP示波器的二进制波形文件。我正在尝试做一个批量转换,我们有5000多个文件到CSV的,然后上传到一个数据库。我试过hextump、xxd、od、strings等等,但它们似乎都不起作用。我确实找到了一本程序员手册,但它没有什么意义 这些文件有一个作为ascii文本的前导行,但是数据点是二进制的,出于某种原因,我无法尝试对它们进行解码。序言给出了使用二进制值和计算正确值所需的数据。它还声明数据是WORD格式的 :WAV:PRE 2,1,32768,1,+4

我正在处理一些从90年代早期到中期的各种HP示波器的二进制波形文件。我正在尝试做一个批量转换,我们有5000多个文件到CSV的,然后上传到一个数据库。我试过hextump、xxd、od、strings等等,但它们似乎都不起作用。我确实找到了一本程序员手册,但它没有什么意义

这些文件有一个作为ascii文本的前导行,但是数据点是二进制的,出于某种原因,我无法尝试对它们进行解码。序言给出了使用二进制值和计算正确值所需的数据。它还声明数据是WORD格式的

:WAV:PRE 2,1,32768,1,+4.000000E-08,-4.9722700001108E-06,0,+2.460630E-04,+2.500000E+00,16384;:WAV:DATA #800065536^W�^W�^W�^
我很困惑

看一看

特别是第1-21页。在:WAV:DATA之后,我认为上面的块的其余部分将有65536个8位数据字节,其开头由� . ^W可能是一个分隔符,因此必须将其解析出来。只是一个想法

更新:我是示波器数据收集的新手,正在尝试从头开始解决整个问题。因此,进一步挖掘后,您提供的数据显示:

序言: -字格式16位有符号整数拆分为2个8位字节 -如果有一个WAV:BYT节,它将为每对指定字节顺序 -原始数据 -32768个数据点 -我不清楚这是什么意思 -接下来的3应该是X增量、原点和参考 -接下来的3个字段应该是Y增量、原点、引用,尽管我在上面为您指出的手册中有很多字段,而不仅仅是这些字段,所以您可能需要参考您的特定范围手册

数据: -仔细检查,我不认为^W是分隔符,我认为它是0010111对中的第一个字节。这个� 字符显然是一个标准,我不知道如何表示这种字符web表示。您还需要将该字符视为8位。 -65536字节数据对

我没有找到一个实用程序可以为你做到这一点。我认为您必须编写或获取一些Perl、C、Java、Python、VB等代码才能完成此任务