Gtl.add ausp


Краткое описание
Функция предназначена для построения спектра вибрации. Необходима при проведении спектрального анализа составляющих вибрации.
Объявление функции
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();
};