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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Строка 49: Строка 49:
:<code style="color: purple>spen.smoothing_factor = 100;</code> - коэффициент сглаживания средней линии спектра огибающей;
:<code style="color: purple>spen.smoothing_factor = 100;</code> - коэффициент сглаживания средней линии спектра огибающей;
:<code style="color: purple>spen.smoothed_line_color = 0xff004dff;</code> - цвет линии сглаживания (средней линии) в формате HEX;
:<code style="color: purple>spen.smoothed_line_color = 0xff004dff;</code> - цвет линии сглаживания (средней линии) в формате HEX;
:<code style="color: purple>spen.peak_level =15;</code> - порог обнаружения гармоник в спектре огибающей (дБ или линейная величина);
:<code style="color: purple>spen.peak_level = 15;</code> - порог обнаружения гармоник в спектре огибающей (дБ или линейная величина);
:<code style="color: purple>spen.harm_tolerance = 1;</code> - диапазон поиска гармоник +- Гц;
:<code style="color: purple>spen.harm_tolerance = 1;</code> - диапазон поиска гармоник +- Гц;
:<code style="color: purple>spen.data;</code> - массив значений амплитуд составляющих сигнала в спектре огибающей (используется в функции определения площади спектра огибающей);
:<code style="color: purple>spen.data;</code> - массив значений амплитуд составляющих сигнала в спектре огибающей (используется в функции определения площади спектра огибающей);

Версия от 07:05, 2 июля 2024

Спектр огибающей вибрации в дБ

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

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

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

var spen = gtl.add_spen( фильтр );

Объявление функции (альтернативный вариант)

var spen = gtl.create_spen(
    {
      "src" : gtl.analog_inputs[0],
      "frequency" : 1000,
      "resolution" : 1,
      "average" : 3,
      "overlap" : .5,
      "window" : gtl.spec.rectangular
    }
);

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

spen.src = gtl.analog_inputs[0]; - источник сигнала вибрации (для альтернативного варианта);
spen.name = "SPEN"; - присвоение имени спектра огибающей;
spen.color = 0x00ff0000; - цвет линии спектра огибающей в формате HEX;
spen.frequency = 1000; - граничная частота спектра огибающей, Гц;
spen.lines = 1000; - количество линий спектра огибающей;
spen.resolution = 1; - частотное разрешение (frequency / lines), Гц/линия;
spen.average = 3; - количество отсчетов для усреднения;
spen.overlap = 0.5; - коэффициент перекрытия;
spen.window = gtl.spec.rectangular; - тип окна;
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
spen.unit = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
spen.smoothing_factor = 100; - коэффициент сглаживания средней линии спектра огибающей;
spen.smoothed_line_color = 0xff004dff; - цвет линии сглаживания (средней линии) в формате HEX;
spen.peak_level = 15; - порог обнаружения гармоник в спектре огибающей (дБ или линейная величина);
spen.harm_tolerance = 1; - диапазон поиска гармоник +- Гц;
spen.data; - массив значений амплитуд составляющих сигнала в спектре огибающей (используется в функции определения площади спектра огибающей);
spen.base; - массив значений уровня средней линии в спектре огибающей;
spen.env; - массив значений линии огибающей (используется в расчете альтернативного коэффициента эксцесса);
spen.acq_time; - время, необходимое для расчета спектра огибающей;
spen.peaks; - массив параметров обнаруженных гармоник;
spen.peaks.lenght; - количество вложенных объектов (обнаруженных гармоник), шт;
spen.peaks[i].index - индекс гармоники;
spen.peaks[i].freq - частота гармоники, Гц;
spen.peaks[i].ampl - абсолютное значение амплитуды гармоники;
spen.peaks[i].level - уровень гармоники над средней линией;
i - индекс вложенного объекта;

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

//фильтрация участка сигнала для формирования спектра огибающей
var filter_spen = gtl.add_filter_iir(gtl.analog_inputs[0]]); //назначение переменной для фильтра
filter_spen.kind = gtl.filter_iir.butterworth; //тип окна
filter_spen.type = gtl.filter_iir.bandpass; //тип фильтра (полосовой)
filter_spen.order = 10; //порядок фильтра
filter_spen.frequency = 6400; //центральная частота полосового фильтра
filter_spen.width = 1482; //ширина полосы фильтра

//построение спектра огибающей в узком диапазоне
var spen = gtl.add_spen(filter_spen); //назначение переменной спектра огибающей
spen.name = "SPEN"; //присвоение имени спектра огибающей
spen.color = 0x00ff0000; //цвет линии спектра огибающей
spen.frequency = 400; //граничная частота спектра огибающей
spen.lines = 800; //разрешение спектра огибающей (количество линий)
spen.average = 8; //количество усреднений
spen.overlap = 0; //коэффициент перекрытия
spen.unit = gtl.spec.db; //отображение в дБ
spen.window = gtl.spec.hann; //окно
spen.smoothing_factor = 100; //коэффициент сглаживания средней линии спектра
spen.smoothed_line_color = 0xff004dff; //цвет средней линии
spen.peak_level = 10; //порог обнаружения гармоник
spen.harm_tolerance = 1; //диапазон поиска гармоник +/-

gtl.diagnostic.interval = spen.acq_time;

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

  gtl.diagnostic.stop();
};