mask was changed
parent
7e61716200
commit
f76190d8b3
43
mask.js
43
mask.js
|
@ -3,24 +3,41 @@ export function mask(spec, filter, frq, harms, lvl, tol, state) {
|
|||
let mask = spec.base; //массив точек портрета дефекта
|
||||
let df = filter.width / spec.resolution; //отношение ширины фильтра частотному разрешению спектра
|
||||
let dl = 10 * Math.log10((lvl ** 2) * df + 1); //разность уровней гармонической и случайной составляющей вибрации
|
||||
let k = 0; //коэффициент затухания
|
||||
let xmin = 0; //левая граница коридора
|
||||
let xmax = 0; //правая граница коридора
|
||||
|
||||
switch (state) {
|
||||
case 0: //маска износа
|
||||
for (let i = 0; i < frq; i++) {
|
||||
case 0: //маска износа: коэффициент затухания 30-50%
|
||||
for (let i = 1; i <= harms; i++) {
|
||||
k = 0.3;
|
||||
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
||||
xmax = Math.round(i * (frq + frq * tol / 100) / spec.resolution); //определяем индекс правой границы коридора;
|
||||
for (let j = xmin; j <= xmax; j++) { mask[j] = spec.base[j] + dl }; //записываем значение глубины модуляции для коридора
|
||||
dl = k * dl; //снижаем глубину модуляции по коэффициенту затухания
|
||||
};
|
||||
break;
|
||||
case 1: //маска дефекта: коэффициент затухания 5-10%
|
||||
for (let i = 0; i < harms; i++) {
|
||||
k = 0.05;
|
||||
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
||||
xmax = Math.round(i * (frq + frq * tol / 100) / spec.resolution); //определяем индекс правой границы коридора;
|
||||
for (let j = xmin; j <= xmax; j++) { mask[j] = spec.base[j] + dl }; //записываем значение глубины модуляции для коридора
|
||||
dl = k * dl; //снижаем глубину модуляции по коэффициенту затухания
|
||||
};
|
||||
break;
|
||||
case 2: //маска перекоса: коэффициент выраженности 0-20%
|
||||
for (let i = 1; i < harms; i++) {
|
||||
if (i % 2 > 0) {
|
||||
k = 0.1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
break;
|
||||
case 1: //маска дефекта
|
||||
for (let i = 0; i < frq; i++) {
|
||||
|
||||
|
||||
};
|
||||
break;
|
||||
case 2: //маска перекоса
|
||||
for (let i = 0; i < frq; i++) {
|
||||
|
||||
|
||||
};
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue