From 411b9aa06230de0063a235902de79a94c65a0252 Mon Sep 17 00:00:00 2001 From: Aleksey_K Date: Wed, 15 May 2024 14:21:54 +0900 Subject: [PATCH] mask was changed --- mask.js => mask_func.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) rename mask.js => mask_func.js (80%) diff --git a/mask.js b/mask_func.js similarity index 80% rename from mask.js rename to mask_func.js index 004959a..8e90562 100644 --- a/mask.js +++ b/mask_func.js @@ -1,6 +1,6 @@ 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 dl = 10 * Math.log10((lvl ** 2) * df + 1); //разность уровней гармонической и случайной составляющей вибрации let k = 0; //коэффициент затухания @@ -10,20 +10,20 @@ export function mask(spec, filter, frq, harms, lvl, tol, state) { switch (state) { case 0: //маска износа: коэффициент затухания 30-50% for (let i = 1; i <= harms; i++) { - k = 0.3; + k = 0.5; 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; //снижаем глубину модуляции по коэффициенту затухания + dl = dl - (k * dl); //снижаем глубину модуляции с коэффициентом затухания }; break; case 1: //маска дефекта: коэффициент затухания 5-10% - for (let i = 0; i < harms; i++) { - k = 0.05; + for (let i = 1; i <= harms; i++) { + k = 0.1; 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; //снижаем глубину модуляции по коэффициенту затухания + dl = dl - (k * dl); //снижаем глубину модуляции с коэффициентом затухания }; break; case 2: //маска перекоса: коэффициент выраженности 0-20% @@ -47,9 +47,9 @@ export function mask(spec, filter, frq, harms, lvl, tol, state) { //отрисовка пользовательского графика gtl.plot.add( { - color: 0xff00ff, - name: "mask1", - //x: [0.0, 0.1, 0.4, 0.8], + color: 0xff0000, + name: "mask_" + spec.name, + x: spec.resolution, y: mask } );