Есть китайский USB осциллограф Instrustar isds220b, данные сохраняются в формат OSC (могут в дальнейшем конветиться в CSV, но становятся после этого в 20 раз тяжелее (8Гб в csv из 400Мб в osc). csv файл такого размера считать не удается, даже если формировать массив частями, через Set File Position.
Про обработку молчу (предпологается возведение в квадрат, построение огибающих, частотная фильтрация.)
Вопрос: как открывать osc файлы в LabView, получив данные двух каналов и времени?
Конвертированный в csv файл начинается вот так:
Код: Выделить всё
sample,2000000,length,5242880
Time(ns),Vol(V),Vol(V)
00000000.000000,0.034495,0.016330
00000500.000000,0.032261,0.016330
00001000.000000,0.034495,0.016330
00001500.000000,0.034495,0.016330
Пример файла на Яндекс Диске (10Мб) https://yadi.sk/d/6ljSgTTusxcbG
От производителя удалось получить вот такое описание формата файла, но как его применить в рамках LabView сообразить не могу (возможно тему следовало разместить в раздел "для чайников"):
Код: Выделить всё
// ---------------------- Osc Format ----------------------- / /
OscFormat
{
char type [6]; / * Type "OSC" * /
unsigned short Version; / * version * /
unsigned int nSamplesPerSec; / * sampling rate * /
unsigned char nChannels; / * number of channels * /
unsigned char nBits; / * bits * /
/ * Block bytes * /; unsigned short nBlockAlign
unsigned int nFormat; / * data format
unsigned int Trigger_point; / * 2.0 * Trigger Point /
}
// ---------------------- Osc Zoom Bias ----------------------- //
OscZoomBias
{
char type [8]; / * Type "ZOOMBIAS" * /
unsigned int nBoxing; // time-domain waveform Channel 1 0x00000001, channel 2 0x00000002
double nZoom; / * magnification * /
double nBias; / * Offset * /
}
Description: Osc Format in nChannels, decided, a few Osc Zoom Bias, one for each channel Osc
Zoom Bias structure
// ---------------------- Osc Data ----------------------- / /
OscData
{
char type [4]; / * type "DATA" * /
unsigned int nDatasSize; / * number of data bytes * /
The length of the data portion nDatasSize
}
Description: The final acquisition value is (OscData the data portion of the value V) * (OscZoomBias in nZoom) +
(OscZoomBias in nBias)