mask was changed
parent
e7bee20b83
commit
411b9aa062
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
export function mask(spec, filter, frq, harms, lvl, tol, state) {
|
export function mask(spec, filter, frq, harms, lvl, tol, state) {
|
||||||
let mask = spec.base; //массив точек портрета дефекта
|
let mask = spec.base; //исходный массив точек для построения портрета дефекта
|
||||||
let df = filter.width / spec.resolution; //отношение ширины фильтра частотному разрешению спектра
|
let df = filter.width / spec.resolution; //отношение ширины фильтра частотному разрешению спектра
|
||||||
let dl = 10 * Math.log10((lvl ** 2) * df + 1); //разность уровней гармонической и случайной составляющей вибрации
|
let dl = 10 * Math.log10((lvl ** 2) * df + 1); //разность уровней гармонической и случайной составляющей вибрации
|
||||||
let k = 0; //коэффициент затухания
|
let k = 0; //коэффициент затухания
|
||||||
|
@ -10,20 +10,20 @@ export function mask(spec, filter, frq, harms, lvl, tol, state) {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 0: //маска износа: коэффициент затухания 30-50%
|
case 0: //маска износа: коэффициент затухания 30-50%
|
||||||
for (let i = 1; i <= harms; i++) {
|
for (let i = 1; i <= harms; i++) {
|
||||||
k = 0.3;
|
k = 0.5;
|
||||||
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
||||||
xmax = 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 }; //записываем значение глубины модуляции для коридора
|
for (let j = xmin; j <= xmax; j++) { mask[j] = spec.base[j] + dl }; //записываем значение глубины модуляции для коридора
|
||||||
dl = k * dl; //снижаем глубину модуляции по коэффициенту затухания
|
dl = dl - (k * dl); //снижаем глубину модуляции с коэффициентом затухания
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
case 1: //маска дефекта: коэффициент затухания 5-10%
|
case 1: //маска дефекта: коэффициент затухания 5-10%
|
||||||
for (let i = 0; i < harms; i++) {
|
for (let i = 1; i <= harms; i++) {
|
||||||
k = 0.05;
|
k = 0.1;
|
||||||
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
xmin = Math.round(i * (frq - frq * tol / 100) / spec.resolution); //определяем индекс левой границы коридора
|
||||||
xmax = 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 }; //записываем значение глубины модуляции для коридора
|
for (let j = xmin; j <= xmax; j++) { mask[j] = spec.base[j] + dl }; //записываем значение глубины модуляции для коридора
|
||||||
dl = k * dl; //снижаем глубину модуляции по коэффициенту затухания
|
dl = dl - (k * dl); //снижаем глубину модуляции с коэффициентом затухания
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
case 2: //маска перекоса: коэффициент выраженности 0-20%
|
case 2: //маска перекоса: коэффициент выраженности 0-20%
|
||||||
|
@ -47,9 +47,9 @@ export function mask(spec, filter, frq, harms, lvl, tol, state) {
|
||||||
//отрисовка пользовательского графика
|
//отрисовка пользовательского графика
|
||||||
gtl.plot.add(
|
gtl.plot.add(
|
||||||
{
|
{
|
||||||
color: 0xff00ff,
|
color: 0xff0000,
|
||||||
name: "mask1",
|
name: "mask_" + spec.name,
|
||||||
//x: [0.0, 0.1, 0.4, 0.8],
|
x: spec.resolution,
|
||||||
y: mask
|
y: mask
|
||||||
}
|
}
|
||||||
);
|
);
|
Loading…
Reference in New Issue