Gtl.create pfc

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

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

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

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

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

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

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

phase.src0 = gtl.analog_inputs[0]; - источник первого сигнала;
phase.src1 = gtl.analog_inputs[1]; - источник второго сигнала;
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_pfc(
    {
        src0: gtl.analog_inputs[0],
        src1: gtl.analog_inputs[1],
        frequency: 1000,
        resolution: 1,
        average: 1,
        overlap: 0,
        window: gtl.spec.rectangular,
        view: gtl.phase.deg,
        range: gtl.phase.positive
    }
);

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

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

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

    gtl.diagnostic.stop();
}