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

时间:2014-04-08 21:10:02

标签: csv waveform oscilloscope

我正在使用90年代早期到中期惠普示波器的一些二进制波形文件。我正在尝试批量转换(我们有超过5000个)文件到CSV,然后将它们上传到数据库。我已经尝试过hexdump,xxd,od,字符串等,但它们似乎都没有用。我确实追捕过一个程序员手册,但它没有多大意义。

文件的前导行为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 个答案:

答案 0 :(得分:0)

看看

http://www.naic.edu/~phil/hardware/oscilloscopes/9000A_Programmer_Reference.pdf

特别是第1-21页。在":WAV:DATA"之后,我认为上面的其余部分将有65536 8-bit data bytes(其开头由�表示)。 ^W可能是分隔符,因此您必须解析它。只是一个想法。

更新:我是示波器数据采集的新手,我正试图从头开始计算整个事物。因此,在进一步挖掘时,您提供的数据看起来就像这样:

序言:
  - WORD格式(16位有符号整数分成2个8位字节)
  - 如果存在WAV:BYT部分,则指定每对的字节顺序
  - RAW数据
  - 32768个数据点
  - COUNT = 1(我不明白这个含义)
  - 接下来3应该是X增量,原点,参考
  - 下一个3应该是Y增量,原点,参考,虽然我在上面指出的手册有更多的字段而不仅仅是这些,所以你可能想查阅你的具体范围手册。

DATA:
  - 经过仔细研究,我不认为^ W是一个分隔符,我认为它是该对的第一个字节(0010111)。 �角色显然是一个标准"我不知道如何表现这个角色"网络代表。您还需要将该字符视为8位   - 65536字节数据对

我找不到能为你做这件事的实用工具。我认为您将不得不编写或获取一些代码(Perl,C,Java,Python,VB等)来完成这项工作。