Gtl.add spen

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

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

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

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

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

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

spen.src = gtl.analog_inputs[0]; - источник сигнала вибрации;
spen.frequency = 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.view = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
spen.acq_time; - время, необходимое для расчета спектра огибающей;
spen.input_data; - массив входных значений;
spen.data; - массив значений амплитуд составляющих сигнала в спектре огибающей;
spen.real; - массив действительных значений;
spen.imag; - массив мнимых значений;

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

//фильтрация участка сигнала для формирования спектра огибающей
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.create_spen(
    {
        src: filter_spen,
        frequency: 400,
        resolution: 0.25,
        average: 8,
        overlap: 0,
        window: gtl.spec.rectangular,
        view: gtl.spec.db
    }
);

let plot = gtl.plots.add("Спектр огибающей");
gtl.diagnostic.interval = spen.acq_time;

function diagnose() {
    plot.add(
        {
            color: 0x00ff0000,
            name: "SPEN",
            x: spen.resolution,
            y: spen.data
        }
    ); //рисуем спектр огибающей на plot

  gtl.diagnostic.stop();
};