userFunctions was cahged
parent
ff5eb89a17
commit
a125cc0fc5
|
@ -134,7 +134,7 @@ export function tolerance() {
|
||||||
tol = (2 * FTF()) / (5 * BPFO());
|
tol = (2 * FTF()) / (5 * BPFO());
|
||||||
break;
|
break;
|
||||||
case 3: //ШВП
|
case 3: //ШВП
|
||||||
tol = (2 * BSFTF()) / (5 * BSNUT());
|
tol = (2 * BSFTF()) / (5 * BSNUT());
|
||||||
break;
|
break;
|
||||||
case 4: //редуктор
|
case 4: //редуктор
|
||||||
tol = (2 * FREQ()) / (5 * GTFZ());
|
tol = (2 * FREQ()) / (5 * GTFZ());
|
||||||
|
@ -218,15 +218,35 @@ export function specParams() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export function specSquare(data, bnd, frq) {
|
export function specSquare(spec, L, R) {
|
||||||
let lines = data.length; //определение количества линий спектра вибрации
|
let base = spec.base; //массив значений средней линии
|
||||||
let res = frq / lines; //определение частотного разрешения спектра вибрации (основание прямоугольной трапеции)
|
let data = spec.data; //массив значений амплитуд
|
||||||
let start = 1; //переменная для определения стартового индекса в массиве
|
let lines = spec.data.length; //количества линий спектра
|
||||||
let S = 0; //переменная расчетной площади спектра вибрации
|
let res = spec.resolution; //частотное разрешения спектра (высота прямоугольной трапеции)
|
||||||
if (bnd !== 0) { start = lines - Math.round((frq - bnd) / res) }; //начальная точка отсчета в массиве (стартовый индекс)
|
let peaks = spec.peaks; //массив обнаруженных гармоник (объекты)
|
||||||
for (let i = start - 1; i <= lines - 2; i++) { S = S + res * ((data[i] + data[i + 1]) / 2) }; //вычисляем площадь спектра вибрации
|
let start = 0; //стартовый индекс в массиве
|
||||||
return S;
|
let end = lines; //конечный индекс в массиве
|
||||||
}; //определение площади спектра
|
let s0 = 0; //площадь под базовой линией
|
||||||
|
let s1 = 0; //площадь всего спектра
|
||||||
|
let s2 = 0; //площадь над базовой линией
|
||||||
|
let s3 = 0; //площадь обнаруженных гармоник
|
||||||
|
if (L != undefined) { start = Math.round(L / res) };
|
||||||
|
if (R != undefined) { end = Math.round(R / res) };
|
||||||
|
|
||||||
|
for (let i = start; i <= end - 1; i++) {
|
||||||
|
s0 += 0.5 * (base[i] + base[i + 1]) * res;
|
||||||
|
s1 += 0.5 * (data[i] + data[i + 1]) * res;
|
||||||
|
if ((s1 - s0) >= 0) { s2 += s1 - s0 };
|
||||||
|
if (i <= peaks.length - 1) { s3 += res * peaks[i].level };
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
base: s0,
|
||||||
|
spec: s1,
|
||||||
|
harm: s2,
|
||||||
|
peak: s3
|
||||||
|
};
|
||||||
|
}; //определение площадей спектра
|
||||||
|
|
||||||
export function modFactor(ampl, base) {
|
export function modFactor(ampl, base) {
|
||||||
let dl = (ampl - base); //разность уровней гармонической и случайной составляющей вибрации
|
let dl = (ampl - base); //разность уровней гармонической и случайной составляющей вибрации
|
||||||
|
|
Loading…
Reference in New Issue