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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «thumb|Амплитудный и фазовый спектры сдвинутой во времени периодической последовательности прямоугольных импульсов == Краткое описание == Функция предназначена для построения фазового спектра (множество начальных фаз гармоническ...»)
 
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[File:Fourier_series_pimp_env_shift.png|thumb|Амплитудный и фазовый спектры сдвинутой во времени периодической последовательности прямоугольных импульсов]]
[[File:Fourier_series_pimp_env_shift.png|thumb|Амплитудный и фазовый спектры сдвинутой во времени периодической последовательности прямоугольных импульсов]]
== Краткое описание ==
== Краткое описание ==
Функция предназначена для построения фазового спектра (множество начальных фаз гармонических колебаний кратных частот). Применяется для решения специфических задач анализа параметров сигналов вибрации. Входными данными служат сигналы (массивы).
Функция предназначена для построения фазового спектра (множество начальных фаз гармонических колебаний кратных частот). Применяется для решения специфических задач анализа параметров сигналов вибрации. Входными данными служат сигналы.


== Объявление функции ==
== Объявление функции ==
<pre style="color: purple>
<pre style="color: purple>
var apfc = gtl.add_apfc(
var phase = gtl.create_phase(
     {
     {
       "src1" : gtl.analog_inputs[0],
       src: gtl.analog_inputs[0],
       "src2" : gtl.analog_inputs[1],
       frequency: 1000,
       "name" : "coh",
       resolution: 1,
       "color" : 0xff0000,
       average: 1,
       "visible" : true,
       overlap: 0,
      "freq" : 1000.0,
       window: gtl.spec.rectangular,
       "window" : gtl.spec.rectangular,
       view: gtl.phase.deg,
       "resolution" : 1.0,
       range: gtl.phase.negative
      "average" : 1,
      "overlap" : 0,
      "afc" : gtl.apfc.coherence,
       "pfc" : gtl.apfc.deg
     }
     }
);
);
Строка 24: Строка 20:


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


== Пример использования ==
== Пример использования ==
<pre>
<pre>
var apfc = gtl.add_apfc(
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(
     {
     {
       "src1" : gtl.analog_inputs[0],
       color: 0x0000ff,
       "src2" : gtl.analog_inputs[1],
       name: "phase",
      "name" : "coh",
       x: phase.resolution,
       "color" : 0xff0000,
       y: phase.data,
      "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(
  plot1.add(
     {
     {
       "src1" : gtl.analog_inputs[0],
       color: 0xff0000,
       "src2" : gtl.analog_inputs[1],
       name: "phase1",
      "name" : "mag",
       x: phase1.resolution,
      "color" : 0x0000ff,
       y: phase1.data
      "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;
  gtl.diagnostic.stop();
}


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

Текущая версия от 01:41, 21 февраля 2025

Амплитудный и фазовый спектры сдвинутой во времени периодической последовательности прямоугольных импульсов

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

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

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

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