Gtl.create spec tools

Материал из GTL-wiki
Перейти к навигации Перейти к поиску

Краткое описание

Функция предназначена для вывода компонентов (маркеров гармоник, базовой линии, расчетных частот) на спектр вибрации.

Объявление функции

Для создания компонентов используется запись:

let __tools = gtl.create_spec_tools(
  {
    data: ausp.data, //массив значений амплитуд спектра
    df: ausp.resolution, //частотное разрешение спектра
    base: {
      factor: 100, //коэффициент сглаживания базовой линии
      visible: true, //отображение базовой линии
      color: 0xff0000 //цвет базовой линии в формате HEX
    },
    peaks: {
      color: 0xff0000, //цвет маркеров обнаруженных гармоник 
      visible: true, //отображение маркеров
      level: 15 //уровень обнаружения гармоник в спектре
    },
    harms: {
      tolerance: 1 //коридор обнаружения гармоник в спектре
    }    
  }
);

Добавление набора гармоник (линий)

Для создания набора гармоник используется запись:

let __row1 = __tools.harms.add(
  {
    frequency: 50, //функциональная частота
    count: 3, //количество гармоник
    color: 0xff0000, //цвет линий
    weight: 1, //толщина линий
    visible: false //отображение линий
  }
);

Свойства (методы)

__row1.name = "base frequency"; - имя набора гармоник;

Добавление линий амплитудной модуляции

Для создания набора амплитудной модуляции используется запись:

row1.modulate(
  {
    frequency: 5, //частота амплитудной модуляции
    count: 2, //количество боковых составляющих слева и справа
    color: 0x00ff00, //цвет линий в формате HEX
    weight: 1 //толщина линий
  }
);

Пример использования

//отрисовка спектров на координатных плоскостях
var ausp = gtl.create_ausp(
    {
      "src" : gtl.analog_inputs[0],
      "frequency" : 1000,
      "resolution" : 1,
      "average" : 3,
      "overlap" : .5,
      "window" : gtl.spec.rectangular
    }
);

var spen = gtl.create_spen(
    {
      "src" : gtl.analog_inputs[0],
      "frequency" : 1000,
      "resolution" : 1,
      "average" : 3,
      "overlap" : .5,
      "window" : gtl.spec.rectangular
    }
);

let plot1 = gtl.plots.add("ausp"); //создаем плоскость (вкладку) для спектра вибрации
let plot2 = gtl.plots.add("spen"); //создаем плоскость (вкладку) для спектра огибающей

gtl.diagnostic.interval = ausp.acq_time;
gtl.log.info("acq time", ausp.acq_time);

function diagnose()
{
  plot1.add(
    {
    color: 0x0000ff,
    name: "ausp(A)",
    x: ausp.resolution,
    y: ausp.data
    }
  ); //рисуем спектр вибрации на плоскости "ausp"

  plot2.add(
    {
    color: 0xff0000,
    name: "spen(A)",
    x: spen.resolution,
    y: spen.data
    }
  ); //рисуем спектр огибающей на плоскости "spen"
  
  gtl.diagnostic.stop();
}