1

Тема: Стыковка фрагментов осциллограмм

Создать тему сподвигло вот это обсуждение:

Анализ аварийных событий

scherenkov писал(а):
2020-05-29 06:01:19

а программы связывающей четыре файла аварии, да еще регистрирующие события, произошедшие в разное время, не было

и давнее желание стыковать фрагменты разных осциллограмм одного устройства, когда осциллограф не может записать всю аварию в одном пуске и разбивает на несколько.
Если с объединением осциллограмм с разных устройств одного аварийного события никогда проблем не возникало (с этой задачей легко справляются АУРА и Waves), то со стыковкой всё сложнее. Да, в Waves есть такая возможность автоматической стыковки, но непонятен алгоритм, по каким меткам стыкуются и результат не всегда устраивает.
Для затравки несколько примеров таких осциллограмм с регистратора АУРА, все переведены в комтрайд с аналоговыми и дискретными сигналами. Можно поискать осциллограммы и других производителей.
Предлагаю попробовать состыковать в различных программах.

Post's attachments

Примеры.rar 842.54 Кб, 12 скачиваний с 2020-06-06 

You don't have the permssions to download the attachments of this post.

2 (2020-06-06 15:13:32 отредактировано dev_ekra_ru)

Re: Стыковка фрагментов осциллограмм

Bogatikov писал(а):
2020-06-06 14:52:12

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

Пояснение: в Waves алгоритм очень простой. Подразумевается, что стыкуемые фрагменты записаны одним и тем же устройством (а иначе стыковка имеет мало смысла), а следовательно тактирование одно и то же и часы используются одни и те же. Поэтому астрономическое время в этих фрагментах всегда точно синхронизировано. И стыковка делается строго по астрономическому времени.

Таким, образом, если результат стыковки явно некорректен, то причины могут быть следующими:
- стыкуемые файлы записаны не одним устройством
- у устройства, записавшего фрагменты имеются какие-то проблемы с записью осциллограмм
- т.к. в Waves чужие осциллограммы возможно подать только в виде Comtrade, то если эти файлы получены не напрямую с устройства, а путем конвертации из родного формата, возможна ошибка в конвертере.

Сайт: dev.ekra.ru | Почта: dev@ekra.ru | Тел.: 8 (8352) 220-130 (доб. 1057, 1099, 1267) | Часы работы: 08:00 - 17:00 по Москве

3

Re: Стыковка фрагментов осциллограмм

Приведите, пожалуйста, пример правильной стыковки с описанием.
Кстати, подзабыл. Разные фрагменты стыковал в Генераторе последовательностей от Динамики http://dynamics.com.ru/support/retom-51 … telynostej , но это довольно трудоёмко, хотя результат отличный.
Во вложении пример. К осциллограмме пристыковал «морковку», которую нарисовал в Сумме гармоник от Динамики.

Post's attachments

Асинхронный ход.rar 2.83 Мб, 6 скачиваний с 2020-06-06 

You don't have the permssions to download the attachments of this post.

4

Re: Стыковка фрагментов осциллограмм

Попытка стыковать приведенные примеры в Waves в автоматическом режиме приводит к некорректному результату. Причиной тому является некорректная простановка меток времени в стыкуемых фрагментах.
Насколько я понимаю, устройства АУРА пишут длинные события перекрывающимися фрагментами. Т.е. в первом фрагменте есть кусочек начала второго, а во втором кусочек конца первого. Однако если открыть эти два фрагмента отдельно и найдя общую часть поставить курсор строго на один и тот же отсчет АЦП мы увидим, что абсолютное время в этой точке будет записано разное. Что является тому причиной, мне неведомо, но именно это и мешает правильно стыковать файлы в автоматическом режиме.

Чтобы обойти эту проблему имея на руках то, что предлагает Waves в данную минуту, можно предложить лишь сдвинуть один из фрагментов на разницу между метками времени одного отсчета АЦП в этих файлах.

Для начала надо получить разницу между одинаковыми отсчетами АЦП в количестве отсчетов или, что проще, в миллисекундах (потому что на наше счастье в АУРА сетка дискретизации в обоих фрагментах строго идентичная). Учитывая, что период дискретизации устройств 2 мс, то эта разница всегда будет кратна 2-м. Для того чтобы ее найти необходимо, как отмечал выше, используя различные возможности отображения в Waves найти любой из отсчетов АЦП присутствующий в обоих кусках (тут важна точность).

Чтобы упростить этот процесс, открытые файлы фрагментов надо:
- растащить по разным окнам (потянув за ярлык вкладки), чтобы оба фрагмента были одновременно на экране
- активировать в них отображение мгновенных значений аналоговых сигналов

Далее ориентируясь на форму и мгновенные значения аналоговых сигналов и диаграммы дискретных сигналов можно визуально искать требуемые точки. После того как точки найдены, надо вычислить дельту между метками астрономического времени в этих точках. Я вычитал метку времени первого из метки времени второго и всегда двигал второй файл. Придерживаясь этой методики, если дельта получилась <0, значит файл надо двигать в будущее, а если  >0, то в прошлое.

Теперь о том, как двигать. В случае со стыковкой фрагментов неродных устройств в Waves мы всегда имеем дело с форматом COMTRADE. Для того, чтобы сдвинуть осциллограмму в этом формате по астрономическому времени целиком достаточно поправить метку времени начала файла и момента пуска в CFG файле. АУРА не делает различий между началом осциллограммы и моментом пуска, поэтому в ее файлах эти метки должны быть равны.
АУРА генерирует файлы по стандарту 1999-го года. В этом стандарте требуемые для корректировки данные расположены в 3-й и 4-й с КОНЦА строчках файла, и имеют вид:

24/06/2007,14:56:03.464000

думаю всем понятно, что тут задано, после последней точки это микросекунды. Вот эти параметры и следует смещать на рассчитанную дельту.

Например, записанную в файле метку

24/06/2007,14:56:03.464000

надо сдвинуть в будущее на 1006 миллисекунд. В результате получим:

24/06/2007,14:56:04.470000

После сохранения следует открыть отредактированный фрагмент в Waves и стыковать с первым (неизменяемым фрагментом). Если дельта была вычислена верно, результат будет точным.

Прилагаю архив в котором я к каждой исходной осциллограмме создал сдвинутую копию второго фрагмента и сделал стыковку в файл Waves.

Параметры сдвигов:

1.ВД АЭС
Устройство: 519
Одна и та же точка:  14:56:03.622 и 14:56:02.198
Разница = -1464 мс (сдвиг второго файла вперед)

2.ВЛ Дербентская
Устройство: Л-Д
Одна и та же точка:  09:44:58.054 и 09:44:59.086
Разница = 1032 мс (сдвиг второго файла назад)

3. Дербент
Устройство: 522
Одна и та же точка:  02:12:09.606 и 02:12:10.706
Разница = 1100 мс (сдвиг второго файла назад)

4. Ставрополь
Устройство: 642
Одна и та же точка:  13:26:57.672 и 13:26:58.192
Разница = 520 мс (сдвиг второго файла назад)

5. Черкесск
Устройство: 362
Одна и та же точка:  06:09:39.892 и 06:09:32.290
Разница = -7602 мс (сдвиг второго файла вперед)

Post's attachments

Стыковка о сциллограмм.zip 1.74 Мб, 7 скачиваний с 2020-06-06 

You don't have the permssions to download the attachments of this post.
Сайт: dev.ekra.ru | Почта: dev@ekra.ru | Тел.: 8 (8352) 220-130 (доб. 1057, 1099, 1267) | Часы работы: 08:00 - 17:00 по Москве

5

Re: Стыковка фрагментов осциллограмм

Спасибо!

Присоединяйтесь!!! Мы в социальных сетях и на Ютуб.

6 (2020-09-30 11:31:32 отредактировано dev_ekra_ru)

Re: Стыковка фрагментов осциллограмм

Здравствуйте

В Waves 3.0.9 мы доработали функцию стыковки фрагментов осциллограмм, снабдив ее возможностью визуального совмещения с использование мыши, а также добавили команду, которая ищет перекрывающиеся участки сигналов стыкуемых осциллограмм. Т.е. позволяет сделать все то, что обсуждалось в этой теме ранее быстро и легко.

Документация на сайте также обновлена

Сайт: dev.ekra.ru | Почта: dev@ekra.ru | Тел.: 8 (8352) 220-130 (доб. 1057, 1099, 1267) | Часы работы: 08:00 - 17:00 по Москве

7 (2020-10-01 07:01:18 отредактировано L1nX)

Re: Стыковка фрагментов осциллограмм

Если стыковать два файла за немалый промежуток времени waves рисует огромный разрыв во времени...в winbres 4 как-то логичнее сделана склейка/стыковка