export function modFactor(dSpec, dFilter, ampl, base) { let dl = (ampl - base); //разность уровней гармонической и случайной составляющей вибрации let df = dSpec.frequency / dFilter.width; //отношение частотному разрешению спектра к ширине фильтра let mod = Math.sqrt((10 ** (dl / 10) - 1) * df); return mod; }; //определение глубины модуляции ВЧ составляющих export function createTools(options) { let __spec = options.spec; //источник данных спектра let __set = {}; //источник данных для построения частотных линий if (options.set != undefined) { __set = options.set }; let __tools = gtl.create_spec_tools( { data: __spec.data, //массив значений амплитуд спектра df: __spec.resolution, //частотное разрешение спектра base: { factor: 100, //коэффициент сглаживания базовой линии visible: true, //отображение базовой линии color: 0xFFFF00 //цвет базовой линии в формате HEX }, peaks: { color: __spec.color, //цвет маркеров обнаруженных гармоник visible: false, //отображение маркеров level: __spec.peak_level //уровень обнаружения гармоник в спектре }, harms: { tolerance: options.tol //коридор обнаружения гармоник в спектре } } ); let __rows = Object.keys(__set); //массив ключей объекта (наименование частот) for (let i = 0; i < __rows.length; i++) { let __name = __rows[i]; //название гармонического ряда let __arr = __set[__name]; //массив значений let __color = __arr[0]; //цвет ряда в формате HEX let __freq = __arr[1]; //расчетная частота let __count = __arr[2]; //количество гармоник let __mod = __arr[3]; //модулирующая частота let __lvl = __arr[4]; //пороговый уровень сильного дефекта let __row = __tools.harms.add( { frequency: __freq, //функциональная частота count: __count, //количество гармоник color: __color, //цвет линий weight: 2, //толщина линий visible: false //отображение линий } ); __row.name = __name; if (options.mod != 0) { __row.modulate( { frequency: __mod, //частота амплитудной модуляции count: 2, //количество боковых составляющих слева и справа color: __color, //цвет линий в формате HEX weight: 0.5 //толщина линий } ); }; }; return __tools; }; //Построение компонентов и частотных линий на спектре