Gtl.create pfc

Материал из GTL-wiki
Перейти к навигации Перейти к поиску

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

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

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

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();
};