Gtl.add orsp

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

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

Функция предназначена для построения порядкового спектра вибрации. Необходима при проведении спектрального анализа составляющих вибрации объектов, работающих с переменной частотой вращения.

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

var orsp = gtl.create_orsp(
    {
      src: gtl.analog_inputs[0],
      frequency: 100,
      resolution: 0.5,
      average: 1,
      overlap: .5,
      window: gtl.spec.rectangular,
      view:gtl.spec.db,
      harm_freq: 12,
      max_order: 5
    }
);

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

ausp.src = gtl.analog_inputs[0]; - источник сигнала вибрации;
ausp.frequency = 1000; - граничная частота спектра вибрации, Гц;
ausp.resolution = 0.5; - частотное разрешение (frequency / lines), Гц/линия;
ausp.average = 1; - количество отсчетов для усреднения;
ausp.overlap = 0.5; - коэффициент перекрытия;
ausp.window = gtl.spec.rectangular; - тип окна;
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
ausp.view = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
orsp.harm_freq = 12; - базовая частота (чатота вращения), Гц;
orsp.max_order = 5; - максимальное количество порядков, шт;


orsp.acq_time; - время, необходимое для расчета спектра вибрации;
ausp.input_data; - массив входных значений;
ausp.data; - массив значений амплитуд составляющих сигнала в спектре вибрации;
ausp.real; - массив действительных значений;
ausp.imag; - массив мнимых значений;

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

//построение порядкового спектра вибрации
var orsp = gtl.create_orsp(
    {
      src: gtl.analog_inputs[0],
      frequency: 100,
      resolution: 0.5,
      average: 1,
      overlap: .5,
      window: gtl.spec.rectangular,
      view: gtl.spec.db,
      harm_freq: 12,
      max_order: 5
    }
);

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

let series = plot1.add(
    {
      color: 0x0000ff,
      name: "orsp",
      x: orsp.resolution,
      y: orsp.data
    }
);

gtl.log.info("series", series.name);
orsp.changed.connect(show_plot);

var cnt = 0;
function show_plot()
  {
    orsp.harm_freq = freq.value;

    series.data = {
      x: orsp.resolution,
      y: orsp.data
    };

    cnt++;

    gtl.log.info("harm_freq", orsp.harm_freq);
    if(cnt == 10) { gtl.stop() }
    gtl.log.info("acq time", orsp.acq_time);
}