Gtl.add filter irr



Краткое описание
Функция предназначена для фильтрации сигнала. Необходима для выделения в сигнале частотных диапазонов при проведении конкретных видов анализа вибрации.
Объявление функции
var filter = gtl.add_filter_irr( один из аналоговых входов );
Свойства (методы)
filter.kind = gtl.filter_irr.butterworth;- тип окна;
bessel; butterworth; chebyshev1, chebyshev2, elliptic, legendre, rbj, undef.
filter.type = gtl.filter_irr.lowpass;- тип фильтра;
lowpass; highpass; bandpass.
filter.order = 4;- порядок фильтра;filter.frequency = 3000;- граничная частота фильтра (для полосового фильтра - центральная частота), Гц;filter.width = 1250;- ширина полосы фильтра (для полосового фильтра), Гц;
Пример использования
//фильтрация сигнала перед определением частоты вращения из сигнала
var filter = gtl.add_filter_iir(gtl.analog_inputs[1]); //объявление переменной фильтра
filter.kind = gtl.filter_iir.butterworth; //тип окна
filter.type = gtl.filter_iir.lowpass; //тип фильтра (ФНЧ)
filter.order = 8; //порядок фильтра
filter.frequency = 10; //граничная частота фильтра
//определение частоты вращения
var freq = gtl.add_value_freq(filter); //объявление переменной частоты вращения
freq.time = 1; //время выборки
freq.avg_cnt = 6; //количество усреднений
gtl.diagnostic.interval = freq.time * freq.avg_cnt; //интервал запуска функции диагностики
function diagnose() {
gtl.log.info("Частота вращения", freq.value);
}
Описание JSDoc
/**
* Создаёт фильтр для обработки сигнала вибрации с целью выделения заданных частотных диапазонов.
* Используется при проведении различных видов анализа вибрации.
*
* @function gtl.add_filter_irr
* @param {number|Array<number>} analogInput
* Один из аналоговых входов (элемент `gtl.analog_inputs`) или массив данных для фильтрации.
* @returns {Object} Объект фильтра с настройками и свойствами для фильтрации сигнала.
*
* @example
* // Создание фильтра для первого аналогового входа
* var filter = gtl.add_filter_irr(gtl.analog_inputs[0]);
*
* // Настройка фильтра: Баттерворт, ФНЧ, 4‑го порядка, граничная частота 3000 Гц
* filter.kind = gtl.filter_irr.butterworth;
* filter.type = gtl.filter_irr.lowpass;
* filter.order = 4;
* filter.frequency = 3000;
*/
gtl.add_filter_irr = function(analogInput) {};
/**
* Объект фильтра, созданный через `gtl.add_filter_irr`.
* Позволяет настраивать параметры фильтрации сигнала вибрации.
*
* @typedef {Object} IrrFilter
*
* @property {string} kind
* Тип оконной функции фильтра. Допустимые значения:
* - `gtl.filter_irr.bessel`
* - `gtl.filter_irr.butterworth` (по умолчанию)
* - `gtl.filter_irr.chebyshev1`
* - `gtl.filter_irr.chebyshev2`
* - `gtl.filter_irr.elliptic`
* - `gtl.filter_irr.legendre`
* - `gtl.filter_irr.rbj`
* - `gtl.filter_irr.undef`
*
* @property {string} type
* Тип фильтра. Допустимые значения:
* - `gtl.filter_irr.lowpass` — фильтр нижних частот (ФНЧ)
* - `gtl.filter_irr.highpass` — фильтр верхних частот (ФВЧ)
* - `gtl.filter_irr.bandpass` — полосовой фильтр
*
* @property {number} order
* Порядок фильтра (целое положительное число). Определяет крутизну спада АЧХ.
* Типичные значения: $2$–$8$.
*
* @property {number} frequency
* Граничная частота фильтра в герцах (Гц):
* - для ФНЧ и ФВЧ — частота среза;
* - для полосового фильтра — центральная частота полосы пропускания.
*
* @property {number} [width]
* Ширина полосы фильтра в герцах (Гц). Используется только для полосового фильтра (`bandpass`).
* Задаёт диапазон частот вокруг `frequency`, который будет пропущен.
*/