Файл формата SRD

Мистер_Пэ
В файле записан график зависимости давления от времени (с балствола).
И может еще какая инфа.

Как его оттуда вытащить? Чем открыть? Что это вообще такое???

С онлайн конвертерами не густо и как-то все безуспешно.

Задача состоит в том, чтобы поиметь график этого давления в виде таблицы давление(время).

Альтернативный вариант - скриншот.

Но работать с ним откровенно западло.

Мистер_Пэ
Файл породил комплекс измерения давления под названием Нейва 10000, производства ФКП "НТИИМ", г.Нижний Тагил.
К коему прилагается специальное ПО Нейва 16К.
Nick Brake
Мистер_Пэ
Задача состоит в том, чтобы поиметь график этого давления в виде таблицы давление(время).

Альтернативный вариант - скриншот.

Если ничего другого не найдете, то попробуйте вот это:
Программа для оцифровки графиков с растрового изображения
https://dwg.ru/dnl/7169


Или вот:
http://plsoft.su/digitizer.html

(Я сам не пробовал, если что... 😊)

Мистер_Пэ
Спасибо конечно, но в 2025 году это какой-то атавизм 😞
Nick Brake
Мистер_Пэ
Спасибо конечно, но в 2025 году это какой-то атавизм 😞
Что поделать, если в самом ПО не предусмотрен экспорт табличных данных в текстовом формате, то другого выхода нет. 😞
Мистер_Пэ
Nick Brake
Что поделать, если
Да я без претензий. Просто на жизнь жалуюсь.

Nick Brake
не предусмотрен экспорт табличных данных в текстовом формате
В файле данные явно как-то хранятся. У меня этого ПО нет, только файл попросил.
Но это ПО может открыть свой файл и вывести на экран график. Значит как-то там оно внутри хранится.
Вопрос только в уровне сумрачности программиста.
Egolf
Мистер_Пэ
В файле данные явно как-то хранятся. У меня этого ПО нет, только файл попросил.
Жаль, полагаю прочесть из дампа памяти было бы проще.

Мистер_Пэ
Вопрос только в уровне сумрачности программиста.
Есть ненулевой шанс что это стандартная структура типа json/ndjson, csv, xml в архиве.
Не наблюдается причины делать особо закрытый проприетарный формат.
Мистер_Пэ
Egolf
Не наблюдается причины делать особо закрытый проприетарный формат.
Вы знакомы с понятием "бессмысленность и беспощадность"? 😛

Какой смысл сворачивать файл размером 25132 байт в архив?

Кстати все три файла имеют одинаковый размер 25132 байт

Egolf
Мистер_Пэ
Вы знакомы с понятием "бессмысленность и беспощадность"?
Аха, я давно в разработке ПО.

Мистер_Пэ
Какой смысл сворачивать файл размером 25132 байт в архив?
А почему нет? Ресурсов стоит копейки.

Мистер_Пэ
Кстати все три файла имеют одинаковый размер 25132 байт
Там же табличные данные, для графика на плоскости. ;X, Y, Value;
Это может быть как форматированным текстовым файлом, так и бинарным файлом, который прочесть не то чтобы проблема. Хексом посмотреть, не?
Мистер_Пэ
Egolf
А почему нет?
Вопрос был не "почему?" а "для чего?" 😛
Egolf
Там же табличные данные, для графика на плоскости. ;X, Y, Value;
Таблица может быть разной длины. В данном случае есть основание надеяться что таблицы (ну или количество точек на графике) одной длины.
Egolf
Это может быть как форматированным текстовым файлом
Нет.
Если бы это был текст, то при открытии в редакторе там был бы читаемый текст.
Egolf
Хексом посмотреть, не?
Ну да.
Это следующее что я сделал после того как посмотрел как текст.
Но не то чтобы я имел опыт работы с бинарными файлами... На глаз - явно какая-то структура есть. Явно видно что в начале заголовок, а потом кучка данных.
Egolf
Мистер_Пэ
Но не то чтобы я имел опыт работы с бинарными файлами.. . На глаз - явно какая-то структура есть. Явно видно что в начале заголовок, а потом кучка данных.
Тогда питон в помощь, как самый простой в реализации и запуске вариант.
Поперебирать варианты типов данных в поисках структуры.

https://python-forum.io/thread-40076.html
https://docs.python.org/3/library/ctypes.html
https://docs.python.org/3/library/struct.html


Мистер_Пэ
Таблица может быть разной длины.
Похоже это была серия измерений с одними и теми же настройками. Либо ПО пишет таблицу максимально разрешённого диапазона, хотя фактическими данными заполняется только часть.
Мистер_Пэ
Egolf
Тогда питон в помощь
Дык уже.
Там просто записана сопля из 12288 отсчетов в формате short.
запись в файле

оригинал

Egolf
Похоже это была серия измерений с одними и теми же настройками.
Жопа в том что в файле нет данных для калибровки.

Даже сами пользователи этой установки жалуются что если потом открыть файл то значение максимального давления не совпадает с тем, что было измерено во время эксперимента.

В файле явно есть лишние данные.

Мистер_Пэ
Egolf
Либо ПО пишет таблицу максимально разрешённого диапазона, хотя фактическими данными заполняется только часть
Это похоже на дамп буфера. Причем измерение пишется в буфер по кольцу. Вертикальный перепад - это как раз закольцовка и есть.
Egolf
Мистер_Пэ
Там просто записана сопля из 12288 отсчетов в формате short.
А как в short записывается значение 530,728?
Может там всё же что-то более ёмкое?
Мистер_Пэ
если потом открыть файл то значение максимального давления не совпадает с тем, что было измерено во время эксперимента
Обрезают точность при сохранении?

В остальном, кажется что значения давления напоминают модельный график, без учёта точности. Ещё очень смущает перегиб на 110, который не очень бьётся с графиком по файлу. Может быть график от другого файла?

Что касается шкалы времени, то имхо стоит смотреть только часть с положительными значениями по давлению. Возможно это не отсутствие калибровки, а разряжение после истечения рабочего тела или шум датчика.


Мистер_Пэ
Причем измерение пишется в буфер по кольцу. Вертикальный перепад - это как раз закольцовка и есть.
Перепад может быть просто завершением чтения датчика.
Мистер_Пэ
Egolf
А как в short записывается значение 530,728?
Никак.
Там, естественно, какое-то целочисленное значение. Скорее всего - код АЦП.
И где-то существует коэффициент калибровки.
Egolf
Обрезают точность при сохранении?
Насколько я понял - значения не совпадают намного больше чем точность.
Egolf
Ещё очень смущает перегиб на 110, который не очень бьётся с графиком по файлу.
Абсолютно он бьется с графиком по файлу. Тут просто на графиках очень разный масштаб по времени.
Я конечно мог напутать... Файлов все-таки три 😊


Вот они все, вытащенные из файлов и откалиброванные по амплитуде и времени.

Egolf
Перепад может быть просто завершением чтения датчика.
Это то же самое, просто другими словами.
Egolf
Мистер_Пэ
Я конечно мог напутать.. . Файлов все-таки три
Похоже таки напутали, т.к. теперь на графике с тремя видно лучше.

Графику со скриншота
forums/i...24114_19
соответствует синяя кривая.
А тут скорее зелёная
forums/i...24114_19
как раз с "перегибом". Но это несущественная мелочь.

Мистер_Пэ
Там, естественно, какое-то целочисленное значение. Скорее всего - код АЦП.
И где-то существует коэффициент калибровки.
На скрине значение с 3 знаками после запятой: 530,728. short хранит 5307 в лучшем случае. Коэфф калибровки никак не поможет.

Мистер_Пэ
Насколько я понял - значения не совпадают намного больше чем точность.
Это вообще не очевидно. Синий график весьма похож на тот что на скрине...
Я ради любопытства смёрджил ваши картинки. Как по мне - почти один в один, разве что точность....
Мистер_Пэ
Egolf
как раз с "перегибом". Но это несущественная мелочь
Они все с перегибом. Потому что там стоит пыж-контейнер и он от давления складывается согласно тому, как у него пружинка сделана.
Но на синем чето пошло не так. Какая-то затяжка воспламенения, или типа того.
Egolf
На скрине значение с 3 знаками после запятой: 530,728. short хранит 5307 в лучшем случае. Коэфф калибровки никак не поможет.
Я делаю так: ищу максимум в наборе данных. Допустим этот максимум (для первого файла) 5096. Если всё разделить на 9.601905 то максимум будет 530.728.
Egolf
разве что точность....
Да тут плюс-минус 5 бар - никого не волнует. Разброс давления даже между самыми одинаковыми патронами все равно больше.
Egolf
смёрджил ваши картинки
Ганза все заблюрила.
Надо сохранять в индексированных цветах и не более 800х600, тогда она сохранит без изменений из-за того что размер файла копеечный.
Egolf
Мистер_Пэ
Ганза все заблюрила.
Надо сохранять в индексированных цветах и не более 800х600, тогда она сохранит без изменений из-за того что размер файла копеечный.
Даже так там вполне видно совпадение серого графика с синим. В начале и конце кривой они чуть сдвинуты (я поленился точнее подобрать масштаб) и легко заметить.

Мистер_Пэ
Я делаю так: ищу максимум в наборе данных. Допустим этот максимум (для первого файла) 5096. Если всё разделить на 9.601905 то максимум будет 530.728.
Метод подгонки понятен, но очевидно он не может восстановить утраченную точность.
Например, оба исходных числа:
530,728
530,832
будут храниться как (short) 5096


Мистер_Пэ
Egolf
Метод подгонки понятен, но очевидно он не может восстановить утраченную точность.
Например, оба исходных числа:
530,728
530,832
будут храниться как (short) 5096
Ошибка на величину порядка 0.1 Бар никого не волнует.
Даже если бы была ошибка на 1 Бар - пофиг.


Меня там несколько напряг такой факт. Когда значения вблизи нуля, то за счет шума сырые данные болтаются в значениях (пишу десетисное уже): -32, -16, 0, 16, 32
То есть либо младшие биты забиты нулями, либо я чето не так декодирую (ну или они там уж больно сумрачно записали данные со сдвигом на полбайта).

Egolf
Мистер_Пэ
Меня там несколько напряг такой факт. Когда значения вблизи нуля, то за счет шума сырые данные болтаются в значениях (пишу десетисное уже): -32, -16, 0, 16, 32
Хм... если в файле такие данные, то что поделать. Даже сдвинув на полбайта, всё равно значения сохранят странность.

Вообще есть смысл посмотреть на соседние значения графика при высоких давлениях. Судя по мелкой "шершавости" графиков там тоже присутствует сопоставимая зашумлённость -32 .. +32 .
Возможно это особенность датчика (плохая селективность), либо какие-то внешние эм-помехи.

Как вариант, сплайном нарисовать гладкий график и будет красота )

Мистер_Пэ
Egolf
Возможно это особенность датчика (плохая селективность), либо какие-то внешние эм-помехи.
Гм... А вы считаете АЦП не имеет право шуметь хотя бы на один самый младшенький бит?

Мне как раз вид этой кривой по нраву, ибо наличие шума указывает на то что измерение настоящее, а не придумано кем-то по красивой формуле 😛

Egolf
Как вариант, сплайном нарисовать гладкий график и будет красота )
Сгладить шумы и построить первую производную - вот будет красота! И еще польза! 😀
Egolf
Мистер_Пэ
Гм.. . А вы считаете АЦП не имеет право шуметь хотя бы на один самый младшенький бит?
Там после АЦП ещё программная обработка присутствует. И вообще не удивлюсь что происходит округление или нормализация. Что мешает АЦП в нолях шуметь так, что это бы создавало "лес" на графике?
Либо вообще там нелинейное падение значения и его нужно множить на 10 чтобы вытянуть...
Мистер_Пэ
Egolf
Там после АЦП ещё программная обработка присутствует.
Какие признаки указывают на наличие программной обработки?
Egolf
И вообще не удивлюсь что происходит округление или нормализация.
Округление чего?
Egolf
Что мешает АЦП в нолях шуметь так, что это бы создавало "лес" на графике?
Эээээ... АЦП допустимо шуметь один младший бит. Если АЦП шумит больше - то должны быть веские причины чтобы считать это годным АЦП, а не куском говна.
Egolf
Либо вообще там нелинейное падение значения и его нужно множить на 10 чтобы вытянуть
Каким образом умножение на 10 линеаризует систему?

Вам не кажется что вы ищите сложные объяснения для простых вещей?
По моему в файл напрямую пишется выходной код от двухполярного 12-битного АЦП.
Все эти округления, нормализации... На кой ляд они сдались? Какова цель?

Мистер_Пэ
Мистер_Пэ
Сгладить шумы и построить первую производную - вот будет красота!
вот так