Gtl.create pfc: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
== Краткое описание ==
== Краткое описание ==
Функция предназначена для анализа ФЧХ сигналов. Применяется для решения различных задач анализа параметров сигналов вибрации. Часто используется для решения задач балансировки. Входными данными служат сигналы.
Функция предназначена для анализа ФЧХ сигналов. Применяется для решения различных задач анализа параметров сигналов вибрации и определения разности фаз колебаний. Входными данными служат сигналы.


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

Версия от 00:05, 26 февраля 2025

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

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

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

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.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 apfc = gtl.add_apfc(
    {
      "src1" : gtl.analog_inputs[0],
      "src2" : gtl.analog_inputs[1],
      "name" : "coh",
      "color" : 0xff0000,
      "visible" : true,
      "freq" : 1000.0,
      "window" : gtl.spec.rectangular,
      "resolution" : 1.0,
      "average" : 1,
      "overlap" : 0,
      "afc" : gtl.apfc.coherence,
      "pfc" : gtl.apfc.deg
    }
);

var apfc1 = gtl.add_apfc(
    {
      "src1" : gtl.analog_inputs[0],
      "src2" : gtl.analog_inputs[1],
      "name" : "mag",
      "color" : 0x0000ff,
      "visible" : true,
      "freq" : 1000.0,
      "window" : gtl.spec.rectangular,
      "resolution" : 1.0,
      "average" : 1,
      "overlap" : 0,
      "afc" : gtl.apfc.magnitude,
      "pfc" : gtl.apfc.deg
    }
);

gtl.diagnostic.interval = apfc.acq_time+0.1;

function diagnose()
{
  gtl.log.info("afc", apfc.data[50]);
  gtl.log.info("pfc", apfc.phase[50]);
  gtl.log.info("acq_time", apfc.acq_time+0.1);
  
  gtl.diagnostic.stop();
};