Gtl.add orsp

Краткое описание
Функция предназначена для построения порядкового спектра вибрации. Необходима при проведении спектрального анализа составляющих вибрации объектов, работающих с переменной частотой вращения.
Объявление функции
var orsp = gtl.create_orsp(
{
src: gtl.analog_inputs[0],
frequency: 100,
resolution: 0.05,
average: 1,
overlap: .5,
window: gtl.spec.rectangular,
view:gtl.spec.db,
harm_freq: 12,
max_order: 5
}
);
Свойства (методы)
orsp.src = gtl.analog_inputs[0];- источник сигнала вибрации;orsp.frequency = 1000;- граничная частота спектра вибрации, Гц;orsp.resolution = 0.05;- частотное разрешение (frequency / lines), Гц/линия;orsp.average = 1;- количество отсчетов для усреднения;orsp.overlap = 0.5;- коэффициент перекрытия;orsp.window = gtl.spec.rectangular;- тип окна;
rectangular; cosin; hann; bartlett_hann; hamming; blackman; blackman_harris; flattop; half_rect;
orsp.view = gtl.spec.db;- единица измерения амплитуды;
db; unit; rms;
orsp.harm_freq = 12;- базовая частота (чатота вращения), Гц;orsp.max_order = 5;- максимальное количество порядков, шт;orsp.acq_time;- время, необходимое для расчета порядкового спектра вибрации;orsp.input_data;- массив входных значений;orsp.data;- массив значений амплитуд составляющих в порядковом спектре вибрации;orsp.real;- массив действительных значений;orsp.imag;- массив мнимых значений;
Пример использования
var freq = 4.94;
// var freq = gtl.add_value_freq(gtl.analog_inputs[2]);
// freq.time = 2;
// freq.dc = -0.1;
//построение порядкового спектра вибрации
var orsp = gtl.create_orsp(
{
src: gtl.analog_inputs[0],
frequency: 100,
resolution: 0.05,
average: 1,
overlap: .5,
window: gtl.spec.rectangular,
view: gtl.spec.db,
harm_freq: freq,
max_order: 5
}
);
let plot1 = gtl.plots.add("Порядковый спектр");
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() {
series.data = {
x: orsp.resolution,
y: orsp.data
};
cnt++;
gtl.log.info("harm_freq", orsp.harm_freq);
gtl.log.info("acq time", orsp.acq_time);
if (cnt == 10) { gtl.stop() };
}