我正在使用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�^
我很困惑。
答案 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等)来完成这项工作。