Документация Engee

ordertrack

Отслеживание и извлечение величин порядков из вибрационного сигнала.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • mag,rpm,time = ordertrack(x,fs,rpm,orderlist) — возвращает матрицу mag, содержащую зависящие от времени среднеквадратичные оценки амплитуд заданного набора порядков orderlist, присутствующих во входном сигнале x, а также возвращает векторы значений rpm и времени time, соответствующие столбцам массива mag.

    Входной аргумент x измеряется при заданной входной частоте вращения rpm, выраженной в об/мин. Аргумент fs — частота дискретизации измерений в Гц.

  • mag,rpm,time = ordertrack(x,fs,rpm,orderlist,rpmrefidx) — извлекает величины порядков с помощью фильтра Волда — Калмана первого порядка.

  • mag,rpm,time = ordertrack(map,order,rpm,time,orderlist) — вычисляет матрицу оценок величин, начиная с карты порядка и частоты вращения map, вектора порядков order и вектора моментов времени time. Используйте функцию rpmordermap для вычисления map, order и time. Возвращаемые амплитуды и масштабирование такие же, как в аргументе map.

  • mag,rpm,time = ordertrack(___,Name,Value) — задает дополнительные параметры с помощью аргументов типа «имя-значение». Некоторые из этих параметров применимы только к алгоритму отслеживания Волда — Калмана.

  • ordertrack(___,out=:plot) — строит график зависимости значений порядков и частот вращения от времени.

Аргументы

Входные аргументы

# x — входной сигнал
вектор

Details

Входной сигнал, заданный как вектор-строка или вектор-столбец.

Типы данных

Float32, Float64

# fs — частота дискретизации
скаляр

Details

Частота дискретизации, заданная как положительный скаляр, выраженный в Гц.

Типы данных

Float32, Float64

# rpm — скорость вращения
вектор | матрица

Details

Скорость вращения, заданная как вектор или матрица положительных значений, выраженных в об/мин. Если аргумент rpm является вектором, его длина должна совпадать с длиной аргумента x. Если аргумент rpm представляет собой матрицу и указан аргумент rpmrefidx, то она должна иметь как минимум два столбца, и каждый столбец должен содержать столько же элементов, сколько аргумент x.

  • Если есть импульсный сигнал тахометра, используйте функцию tachorpm для непосредственного извлечения rpm.

  • Если нет импульсного сигнала тахометра, используйте функцию rpmtrack для извлечения rpm из вибрационного сигнала.

Типы данных

Float32, Float64

# orderlist — список порядков
вектор

Details

Список порядков, заданный как вектор. Значения аргумента orderlist не должны превышать fs / (2 × max(rpm / 60)).

Типы данных

Float32, Float64

# rpmrefidx — индексы столбцов частоты вращения
вектор

Details

Индексы столбцов частоты вращения, заданные как вектор того же размера, что и orderlist. Наличие этого аргумента указывает на использование алгоритма Волда — Калмана.

Типы данных

Float32, Float64

# map — карта порядка и частоты вращения
матрица

Details

Карта порядка и частоты вращения, заданная как матрица. Используйте функцию rpmordermap для вычисления карт порядка и частоты вращения.

Типы данных

Float32, Float64

# order — порядки в синтаксисе карты порядка и частоты вращения
вектор

Details

Порядки в синтаксисе карты порядка и частоты вращения, заданные как вектор. Длина вектора order должна равняться количеству строк в карте map.

Типы данных

Float32, Float64

# time — моменты времени
вектор

Details

Моменты времени, заданные как вектор.

Типы данных

Float32, Float64

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в виде Name,Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения. Можно указать несколько пар «имя-значение».

Используйте запятые для разделения имени и значения, а Name заключите в кавычки.

# Amplitude — тип амплитуды
"rms" (по умолчанию) | "peak" | "power"

Details

Тип амплитуды, заданный одним из следующих значений:

  • "rms" — возвращает среднеквадратичную амплитуду для каждого оцениваемого порядка;

  • "peak" — возвращает пиковую амплитуду для каждого оцениваемого порядка;

  • "power" — возвращает уровень мощности для каждого оцениваемого порядка.

# Scale — шкала величин
"linear" (по умолчанию) | "dB"

Details

Шкала величин, заданная одним из следующих значений:

  • "linear" — возвращает значения величин, масштабированные в линейных единицах;

  • "dB" — возвращает значения величин, масштабированные логарифмически и выраженные в дБ.

# Bandwidth — приблизительная полоса пропускания на уровне половинной мощности
fs/100 (по умолчанию) | скаляр | вектор

Details

Приблизительная полоса пропускания на уровне половинной мощности, заданная как вещественный скаляр или вектор с тем же числом элементов, что и аргумент orderlist. Меньшие значения Bandwidth обеспечивают плавный узкополосный выходной сигнал. Однако такой выходной сигнал может неточно отражать быстрые изменения амплитуды порядка. Этот аргумент применим только к алгоритму Волда — Калмана.

Типы данных

Float32, Float64

# Decouple — параметр разделения режимов
false (по умолчанию) | true

Details

Параметр разделения режимов, заданный как логическое значение. Если для этого аргумента установлено значение true, то функция ordertrack одновременно извлекает величины порядков, что позволяет разделять близко расположенные или пересекающиеся порядки. Этот аргумент применим только к алгоритму Волда — Калмана.

Типы данных

Bool

# SegmentLength — длина перекрывающихся сегментов
скаляр

Details

Длина перекрывающихся сегментов, заданная как целое число. Если задана длина сегмента, то функция ordertrack разбивает входной сигнал на сегменты. Затем она вычисляет величины порядков для каждого сегмента и объединяет результаты для получения выходного сигнала. Если сегменты слишком короткие, функция может некорректно обрабатывать локализованные события, такие как пересечение порядков. Этот аргумент применим только к алгоритму Волда — Калмана.

Типы данных

Int32, Int64

# out — тип выходных данных
:data (по умолчанию) | :plot

Details

Тип выходных данных:

  • :data — функция возвращает данные;

  • :plot — функция возвращает график.

Для этого аргумента имя и значение разделяются знаком равенства (=).

Выходные аргументы

# mag — матрица величин порядков
матрица

Details

Значения величин порядков, возвращаемые в виде матрицы.

# rpm — скорость вращения
вектор

Details

Скорость вращения, возвращаемая в виде вектора положительных значений, выраженных в об/мин.

# time — моменты времени
вектор

Details

Моменты времени, возвращаемые в виде вектора.

Литература

  1. Brandt, Anders. Noise and Vibration Analysis: Signal Analysis and Experimental Procedures. Chichester, UK: John Wiley & Sons, 2011.

  2. Feldbauer, Christian, and Robert Höldrich. «Realization of a Vold-Kalman Tracking Filter — A Least Squares Problem.» Proceedings of the COST G-6 Conference on Digital Audio Effects (DAFX-00). Verona, Italy, December 7–9, 2000.

  3. Vold, Håvard, and Jan Leuridan. «High Resolution Order Tracking at Extreme Slew Rates Using Kalman Tracking Filters.» Shock and Vibration. Vol. 2, 1995, pp. 507–515.

  4. Tůma, Jiří. «Algorithms for the Vold-Kalman Multiorder Tracking Filter.» Proceedings of the 14th International Carpathian Control Conference (ICCC), 2013, pp. 388–94. https://doi.org/10.1109/CarpathianCC.2013.6560575.