Массовый экспорт двоичных данных формы сигнала из осциллографа в точки данных (предпочтительно csv)

Я работаю с некоторыми двоичными файлами формы волны от различных ранних до середины 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 ответ

Посмотри на

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, это будет определять порядок байтов для каждой пары
- Необработанные данные
- 32768 точек данных
- COUNT = 1 (мне не понятно значение этого слова)
- Следующие 3 должны быть инкремент X, источник, ссылка
- Следующие 3 должны быть Y-инкремент, происхождение, ссылка, хотя в руководстве, на которое я указал вам выше, имеется гораздо больше полей, чем только эти, поэтому вы можете обратиться к своему конкретному руководству по области применения.

ДАННЫЕ:
- При ближайшем рассмотрении я не думаю, что ^W является разделителем, я думаю, что это первый байт пары (0010111). Символ apparently, по-видимому, является стандартным веб-представлением "Я не знаю, как представить этого символа". Вы также должны смотреть на этот символ как на 8 бит.
- 65536 байтовых пар данных

Я не нахожу утилиту, которая сделает это за вас. Я думаю, вам придется написать или приобрести некоторый код (Perl, C, Java, Python, VB и т. Д.), Чтобы сделать это.

Другие вопросы по тегам