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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 18 промежуточных версий этого же участника)
Строка 4: Строка 4:


== Объявление функции ==
== Объявление функции ==
:<code style="color: purple>var spen = gtl.add_spen( фильтр );</code>
<pre style="color: purple>
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
    }
);
</pre>


== Свойства (методы) ==
== Свойства (методы) ==
:<code style="color: purple>spen.name = "SPEN";</code> - присвоение имени спектра огибающей;
:<code style="color: purple>spen.src = gtl.analog_inputs[0];</code> - источник сигнала вибрации;
:<code style="color: purple>spen.color = 0x00ff0000;</code> - цвет линии спектра огибающей в формате HEX;
:<code style="color: purple>spen.frequency = 1000;</code> - граничная частота спектра огибающей, Гц;
:<code style="color: purple>spen.frequency = 400;</code> - граничная частота спектра огибающей, Гц;
:<code style="color: purple>spen.resolution = 1;</code> - частотное разрешение (frequency / lines), Гц/линия;
:<code style="color: purple>spen.lines = 800;</code> - количество линий спектра огибающей (разрешение);
:<code style="color: purple>spen.average = 3;</code> - количество отсчетов для усреднения;
:<code style="color: purple>spen.average = 6;</code> - количество отсчетов для усреднения;
:<code style="color: purple>spen.overlap = 0.5;</code> - коэффициент перекрытия;
:<code style="color: purple>spen.unit = gtl.spec.db;</code> - единица измерения амплитуды;
:<code style="color: purple>spen.window = gtl.spec.rectangular;</code> - тип окна;
<pre>
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
</pre>
:<code style="color: purple>spen.view = gtl.spec.db;</code> - единица измерения амплитуды;
<pre>
<pre>
db;
db;
unit;
unit;
rms;
</pre>
</pre>
:<code style="color: purple>spen.window = gtl.spec.hann;</code> - окно;
<pre>
hann;
</pre>
:<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.peak_level =15;</code> - порог обнаружения гармоник в спектре огибающей (дБ или линейная величина);
:<code style="color: purple>spen.harm_tolerance = 1;</code> - диапазон поиска гармоник +- Гц;
:<code style="color: purple>spen.data;</code> - массив значений амплитуд составляющих сигнала в спектре огибающей (используется в функции определения площади спектра огибающей);
:<code style="color: purple>spen.base;</code> - массив значений уровня средней линии в спектре огибающей;
:<code style="color: purple>spen.env;</code> - массив значений линии огибающей (используется в расчете альтернативного коэффициента эксцесса);
:<code style="color: purple>spen.acq_time;</code> - время, необходимое для расчета спектра огибающей;
:<code style="color: purple>spen.acq_time;</code> - время, необходимое для расчета спектра огибающей;
:<code style="color: purple>spen.input_data;</code> - массив входных значений;
:<code style="color: purple>spen.data;</code> - массив значений амплитуд составляющих сигнала в спектре огибающей;
:<code style="color: purple>spen.real;</code> - массив действительных значений;
:<code style="color: purple>spen.imag;</code> - массив мнимых значений;


== Пример использования ==
== Пример использования ==
Строка 41: Строка 59:


//построение спектра огибающей в узком диапазоне
//построение спектра огибающей в узком диапазоне
var spen = gtl.add_spen(filter_spen); //назначение переменной спектра огибающей
var spen = gtl.create_spen(
spen.name = "SPEN"; //присвоение имени спектра огибающей
    {
spen.color = 0x00ff0000; //цвет линии спектра огибающей
        src: filter_spen,
spen.frequency = 400; //граничная частота спектра огибающей
        frequency: 400,
spen.lines = 800; //разрешение спектра огибающей (количество линий)
        resolution: 0.25,
spen.average = 8; //количество усреднений
        average: 8,
spen.unit = gtl.spec.db; //отображение в дБ
        overlap: 0,
spen.window = gtl.spec.hann; //окно
        window: gtl.spec.rectangular,
spen.smoothing_factor = 100; //коэффициент сглаживания средней линии спектра
        view: gtl.spec.db
spen.smoothed_line_color = 0xff004dff; //цвет средней линии
    }
spen.peak_level = 10; //порог обнаружения гармоник
);
spen.harm_tolerance = 1; //диапазон поиска гармоник +/-
 
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();
};
</pre>
</pre>

Текущая версия от 02:10, 12 декабря 2024

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

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

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

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

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