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

orderwaveform

Извлечение временных характеристик вибрационного сигнала.

Библиотека

EngeeDSP

Синтаксис

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

  • xrec = orderwaveform(x,fs,rpm,orderList) — возвращает осциллограммы во временной области, соответствующие заданному набору порядков orderList во входном сигнале x. Сигнал x измеряется при заданной частоте вращения rpm, выраженной в об/мин, а аргумент fs задает частоту дискретизации в Гц. Вектор orderList задает желаемые порядки, осциллограммы которых возвращаются в соответствующих столбцах матрицы xrec. Для вычислений функция orderwaveform использует фильтр Волда — Калмана.

  • xrec = orderwaveform(x,fs,rpm,orderList,rpmrefidx) — возвращает осциллограммы во временной области с несколькими опорными сигналами частоты вращения, хранящимися в векторе rpm. Вектор rpmrefidx сопоставляет каждый порядок из orderList с сигналом частоты вращения.

  • xrec = orderwaveform(x,fs,rpm,orderList,rpmrefidx,Name,Value) — задает дополнительные параметры фильтра Волда — Калмана с помощью аргументов типа «имя-значение».

Аргументы

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

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

Details

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

Типы данных

Float32, Float64

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

Details

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

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

Details

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

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

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

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

Details

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

Типы данных

Float32, Float64

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

Details

Индексы столбцов вектора частот вращения, заданные как вектор того же размера, что и orderList.

Типы данных

Float32, Float64

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

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

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

# FilterOrder — порядок фильтра Волда — Калмана
1 (по умолчанию) | 2

Details

Порядок фильтра Волда — Калмана, заданный как 1 или 2.

Типы данных

Int32, Int64

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

Details

Список приблизительных ширин полосы частот на уровне половинной мощности, заданный как скаляр или вектор с тем же количеством элементов, что и аргумент orderList. Меньшие значения аргумента Bandwidth обеспечивают плавный узкополосный выходной сигнал, однако он может неточно отражать быстрые изменения амплитуды порядка.

Типы данных

Float32, Float64

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

Details

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

Типы данных

Bool

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

Details

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

Типы данных

Int32, Int64

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

# xrec — восстановленные осциллограммы порядков во временной области
матрица

Details

Восстановленные осциллограммы порядков во временной области, возвращаемые в виде матрицы, в каждом столбце которой находится одна осциллограмма.

Типы данных

Float32, Float64

Литература

  1. 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.

  2. 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.