Детектор STA/LTA

Детектор STA/LTA — компонент. Предназначен для детектирования сейсмических событий, регистрируемых одно- или трёхкомпонентными сейсмоприёмниками.

Условие работы компонента — произведение длительности STA (свойство TimeSTA) в секунду на частоту дискретизации АЦП в Гц должно быть более 10.

Внешний вид компонента

Режим проектировщика Режим оператора
Детектор STA/LTA - Режим проектировщика Не имеет

Параметры:

Входные

  • канал X — оцифрованные данные X сигнала сейсмоприёмника;
  • канал Y — оцифрованные данные Y сигнала сейсмоприёмника;
  • канал Z — оцифрованные данные Z сигнала сейсмоприёмника;
  • вкл\выкл — включение/выключение детектора STA/LTA;
  • ReStart — команда на «горячий» перезапуск компонента.

Выходные

  • Живучесть — сигнал живучести компонента;
  • Синхронизация — максимальное значение рассинхронизации сигналов X, Y, Z по времени;
  • Да/нет — логический сигнал, наблюдается событие или нет;
  • Time — абсолютное время (в текстовом виде) первого кадра события;
  • Данные X — отфильтрованные данные события по X;
  • Данные Y — отфильтрованные данные события по Y;
  • Данные Z — отфильтрованные события по Z;
  • Данные Ampl — отфильтрованные данные события по амплитуде;
  • Виртуальный канал – виртуальный канал, создаваемый компонентом.

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • Activate (true) — режим работы компонента;
  • signal (Векторный 3D) — тип сигнала: скалярный или векторный;
  • PeriodVitality (1) — период, с которым компонент будет выдавать сигнал живучести, сек;
  • Fmin (0,5) — частота среза ФВЧ при полосовой фильтрации сигнала, Гц;
  • Fmax (10) — частота среза ФНЧ при полосовой фильтрации сигнала, Гц;
  • TimeSTA — длительность короткого окна детектора STA/LTA, сек;
  • TimeLTA — длительность длинного окна детектора STA/LTA, сек;
  • TimeSTA(10) — длительность короткого окна детектора STA/LTA, сек;
  • TimeLTA (190) — длительность длинного окна детектора STA/LTA, сек;
  • Threshold (3) — порог срабатывания детектора STA/LTA;
  • TimeBefоre (5) — время до начала события, которое войдет в интервал выдаваемых данных события, может равняться 0, сек;
  • TimeAfter (10) — время после начала события, которое войдет в интервал выдаваемых данных события, сек.

Назначение:

Компонент «Детектор STA/LTA» (далее по тексту компонент) предназначен для детектирования сейсмических событий, регистрируемых одно- или трехкомпонентными сейсмоприёмниками.

Используемые компонентом методы ЦОС:

Компонент выполняет полосовую фильтрацию выходных сигналов сейсмоприёмника, определяет абсолютное время начала события и выдаёт на выходные ножки массивы данных события по X, Y, Z и по амплитуде сигнала. Кроме этого компонент создаёт виртуальный канал с данными по амплитуде отфильтрованного сигнала сейсмоприёмника.

Фильтрация сигналов выполняется цифровыми фильтрами Баттервора. Для детектирования событий используется одна из разновидностей широко используемых детекторов STA/LTA. Точное время начала события определяется с помощью вейвлет-фильтрации фоновых шумов сигналов, зарегистрированных непосредственно до события.

Свойствами компонента задаются длительности сигналов до и после начала события для выдачи массивов на выходные ножки.

Работа компонента:

При свойстве Activate = true компонент начинает свою работу сразу после запуска проекта. В противном случае работа начинается по приходу логической единицы на входную ножку Вкл/Выкл. Приход логического нуля на эту ножку в обоих случаях останавливает работу компонента.

Сразу после старта, а также после перезапуска во время инициализации детектора компонент выдаёт сигнал живучести, равный единице. Время инициализации детектора равно сумме TimeSTA и TimeLTA. После завершения инициализации детектора сигнал живучести обновляется с периодом PeriodVitality. В отсутствии события сигнал живучести компонента должен быть около единицы (но вероятность того, что новое значение будет в точности равняться старому значению очень мала), во время наблюдения события – больше единицы, сразу после события – меньше единицы, и даже может быть меньше 0.

После детектирования какого-либо события на ножку «Да/нет» сразу же будет выдана логическая единица. Через время, равное TimeAfter, компонент определит время начала события, которое в текстовом виде будет выдано на ножку «Time» в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС.хх», где хх – доли секунды. Также на выходные ножки, имена которых начинаются со слова «Данные» будут выданы массивы данных. Данные по X, Y, Z и их амплитуда – это оцифрованные значения (и их амплитуда) исходных сигналов после полосовой фильтрации.

После завершения события (решение об этом компонент принимает самостоятельно) на ножку «Да/нет» будет выдан логический ноль.

Если величина сигнала живучести перестанет изменяться, то это может означать либо то, что компонент по какой-либо причине выполняет зациклившийся код, либо то, что исходные каналы X, Y, Z рассинхронизовались (например, при работе с сетевыми каналами из-за проблем с передачей данных по сети). Для диагностики проблем второго случая у компонента есть ножка «Синхронизация«, на которую выводится максимальная разность времён каналов X, Y, Z, если это значение больше 1 сек. Небольшие значения, выдаваемые на эту ножку, не влияют на работу компонента. Однако может наступить такое состояние исходных сигналов, когда различие по их временам может привести к невозможности для компонента получать новые данные по этим каналам. В этом случае (когда сигнал живучести не меняется, а сигнал синхронизации больше 1) данные будут потеряны. При возобновлении нормального поступления исходных данных по каналам X, Y, Z компонент возобновит свою работу, и, как следствие, сигнал живучести начнёт меняться.

При зацикливании компонента (когда сигнал живучести не меняется, а сигнал синхронизации равен 0) необходимо на входную ножку «ReStart» кратковременно подать сигнал логической единицы, что приведёт к «горячему» перезапуску компонента. В случае рассинхронизации входных данных перезапуск компонента также может быть полезен.

Кроме этого, компонент создаёт виртуальный канал, который содержит данные амплитуды (корень квадратный из суммы квадратов значений компонент сигнала X, Y и Z) отфильтрованного сигнала (отфильтрованного полосовым фильтром с частотами срезов Fmin и Fmax). Остановка времени сервера по этому виртуальному сигналу будет означать, что компонент не получает исходных данных по X, Y и Z.

В одном проекте можно использовать несколько экземпляров компонента.

Замечания:

При определении максимальной величины сигнала в детектированном событии необходимо с запасом задавать свойство TimeAfter, т.к. возможна ситуация, когда максимальное значение будет наблюдаться позже начала события, чем время, равное TimeAfter. Например, при землетрясении, эпицентр которого находится на расстоянии от сейсмоприёмника около 200 км, S-фаза приходит после вступления Р-фазы через время около 26 сек. Поэтому если установить TimeAfter и TimeSTA, равные 10 сек, то максимальное значение, которое всегда наблюдается во время S-фазы, может быть пропущено.

С другой стороны сумма времён TimeAfter и TimeSTA, умноженная на частоту дискретизации АЦП, не должна превышать размер буфера детектора компонента (20000 отсчётов).

Сразу после начала работы компонента данные по амплитуде отфильтрованного сигнала в виртуальном канале начнут изменяться. А на ножке «Живучесть» единичное значение будет держаться в течении времени, равного сумме TimeSTA и TimeLTA.

Программирование

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

Параметры:

Входные

  • канал X — имя канала компоненты X (от 0 до (количество каналов — 1));
  • канал Y — имя канала компоненты Y (от 0 до (количество каналов — 1));
  • канал Z — имя канала компоненты Z (от 0 до (количество каналов — 1)), при установке скалярной размерности исходного сигнала в качестве канала выставляется именно компонента Z.

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • VARIANT_BOOL Activate — установка и чтение состояния работы детектора STA/LTA:
    • true — состояние работы детектора STA/LTA включён;
    • false — состояние работы детектора STA/LTA выключен.
  • BSTR Signal — установка и чтение входного сигнала: Скалярный; Векторный 3D (строка);
  • FLOAT PeriodVitality — установка и чтение периода выдачи сигнала живучести, сек (число);
  • FLOAT Fmin — установка и чтение нижней частоты среза полосового фильтра, Гц (от 0 до верхней частоты среза полосового фильтра);
  • FLOAT Fmax — установка и чтение верхней частоты среза полосового фильтра, Гц (от нижней частоты среза полосового фильтра до (частота дискретизации / 2));
  • FLOAT TimeSTA — установка и чтение длительности короткого окна детектора STA\LTA (длительность STA) (от 0 до (длительность LTA / 10)), с;
  • FLOAT TimeLTA — установка и чтение длительности длинного окна детектора STA\LTA (длительность LTA) (от (длительность STA * 10) до бесконечности), с;
  • FLOAT Threshold — установка и чтение порога детектора STA/LTA (от 3 до 60);
  • FLOAT TimeBefore — установка и чтение времени выдачи сигналов до первого кадра события, сек;
  • FLOAT TimeAfter — установка и чтение времени выдачи сигналов после первого кадра события, сек

Пример

Проект в SCADA ZETView

Детектор STA-LTA

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

Результат работы проекта
Детектор STA-LTA - Результат работы проекта