Gtl.create phase

Материал из GTL-wiki
Версия от 01:41, 21 февраля 2025; AlekseyCube (обсуждение | вклад) (→‎Пример использования)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Амплитудный и фазовый спектры сдвинутой во времени периодической последовательности прямоугольных импульсов

Краткое описание

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

Объявление функции

var phase = gtl.create_phase(
    {
      src: gtl.analog_inputs[0],
      frequency: 1000,
      resolution: 1,
      average: 1,
      overlap: 0,
      window: gtl.spec.rectangular,
      view: gtl.phase.deg,
      range: gtl.phase.negative
    }
);

Свойства (методы)

phase.src = gtl.analog_inputs[0]; - источник сигнала;
phase.frequency = 1000; - граничная частота, Гц;
phase.resolution = 1; - частотное разрешение;
phase.average = 1; - количество усреднений;
phase.overlap = 0; - коэффициент перекрытия;
phase.window = gtl.spec.rectangular; - тип оконной функции;
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
phase.wiev = gtl.phase.deg; - отображение фазы в градусах (радианах);
deg;
rad;
phase.range = gtl.phase.nagative; - тип отображения фазы (отрицательные и положительные значения);
nagative;
positive;
phase.data; - массив рассчитанных значений;

Пример использования

var phase = gtl.create_phase(
  {
    src: gtl.analog_inputs[0],
    frequency: 1000,
    resolution: 1,
    average: 1,
    overlap: 0,
    window: gtl.spec.rectangular,
    view: gtl.phase.deg,
    range: gtl.phase.negative
  }
);

var phase1 = gtl.create_phase(
  {
    src: gtl.analog_inputs[0],
    frequency: 1000,
    resolution: 1,
    average: 1,
    overlap: 0,
    window: gtl.spec.rectangular,
    range: gtl.phase.positive
  }
);

gtl.diagnostic.interval = phase.acq_time;
gtl.log.info("acq time", phase.acq_time);

let plot1 = gtl.plots.add("plot1");

function diagnose() {
  plot1.add(
    {
      color: 0x0000ff,
      name: "phase",
      x: phase.resolution,
      y: phase.data,
    }
  )

  plot1.add(
    {
      color: 0xff0000,
      name: "phase1",
      x: phase1.resolution,
      y: phase1.data
    }
  )

  gtl.diagnostic.stop();
}