Gtl.add ausp

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

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

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

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

var ausp = gtl.create_ausp(
    {
      src: gtl.analog_inputs[0],
      frequency: 1000,
      resolution: 2,
      average: 3,
      overlap: .5,
      window: gtl.spec.rectangular,
      view: gtl.spec.db
    }
);

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

ausp.src = gtl.analog_inputs[0]; - источник сигнала вибрации;
ausp.frequency = 1000; - граничная частота спектра вибрации, Гц;
ausp.resolution = 2; - частотное разрешение (frequency / lines), Гц/линия;
ausp.average = 3; - количество отсчетов для усреднения;
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;
ausp.acq_time; - время, необходимое для расчета спектра вибрации;
ausp.data; - массив значений амплитуд составляющих сигнала в спектре вибрации;
ausp.real; - массив действительных значений;
ausp.imag; - массив мнимых значений;

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

//построение спектра вибрации
var ausp = gtl.add_ausp(gtl.analog_inputs[0]); //назначение переменной спектра вибрации
ausp.name = "AUSPd"; //присвоение имени спектра
ausp.color = 0x0000ff00; //цвет линии спектра
ausp.frequency = 1600; //граничная частота спектра
ausp.lines = 1600; //разрешение спектра (количество линий)
ausp.average = 6; //количество усреднений
ausp.overlap = 0.1; //коэффициент перекрытия
ausp.unit = gtl.spec.db; //отображение в дБ
ausp.smoothing_factor = 50; //коэффициент сглаживания спектра
ausp.smoothed_line_color = 0x000000ff; //цвет линии сглаживания (средней линии)
ausp.peak_level = 20; //порог обнаружения гармоник
ausp.harm_tolerance = 1; //диапазон поиска гармоник +/- 1Гц

gtl.diagnostic.interval = ausp.acq_time;

function diagnose() {
  
  //выводим параметры гармонических составляющих, обнаруженных в спектре вибрации  
  for (let i = 0; i < ausp.peaks.length; i++) {
    gtl.log.info("Индекс", ausp.peaks[i].index);
    gtl.log.info("Частота", ausp.peaks[i].freq);
    gtl.log.info("Амплитуда", ausp.peaks[i].ampl);
    gtl.log.info("Уровень", ausp.peaks[i].level);
  };

  gtl.diagnostic.stop();
};