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

rpmtrack

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

Библиотека

EngeeDSP

Синтаксис

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

  • rpm = rpmtrack(x,fs,order,p) — возвращает зависимую от времени оценку частоты вращения rpm на основе вибрационного сигнала x, дискретизированного с частотой fs.

    Двухстолбцовая матрица p содержит набор точек, лежащих на частотно-временном гребне, соответствующем заданному в аргументе order порядку. Каждая строка матрицы p определяет одну пару координат. Если вызвать функцию rpmtrack, не указывая аргументы order и p, открывается интерактивный график, отображающий частотно-временную карту и позволяющий выбирать точки.

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

  • rpm = rpmtrack(___,Name,Value) — задает дополнительные параметры с помощью аргументов типа «имя-значение» для любого из предыдущих вариантов синтаксиса. Именованные аргументы включают метод, используемый для оценки частотно-временной карты, и начальное время для профиля частоты вращения.

  • rpm,tout = rpmtrack(___) — также возвращает вектор значений времени, для которых вычисляется профиль частоты вращения.

  • rpmtrack(___,out=:plot) — строит интерактивную диаграмму, отображающую частотно-временную карту мощности и расчетный профиль частоты вращения.

Аргументы

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

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

Details

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

Типы данных

Float32, Float64

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

Details

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

Типы данных

Float32, Float64

# order — порядок гребня
скаляр

Details

Порядок гребня, заданный как положительный вещественный скаляр.

Типы данных

Float32, Float64

# p — точки гребня
матрица

Details

Точки гребня, заданные как матрица из двух столбцов, содержащая по одной частотно-временной координате в каждой строке. Координаты описывают точки на частотно-временной карте, принадлежащие интересующему порядку гребня.

Типы данных

Float32, Float64

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

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

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

# Method — тип частотно-временной карты
"stft" (по умолчанию) | "fsst"

Details

Тип частотно-временной карты, используемый в процессе оценки, заданный одним из следующих значений:

  • "stft" — использование кратковременного преобразования Фурье для вычисления частотно-временной карты спектрограммы мощности. Более подробную информацию о кратковременном преобразовании Фурье см. в описании функции pspectrum;

  • "fsst" — использование синхронизированного преобразования Фурье для вычисления частотно-временной карты.

# FrequencyResolution — полоса пропускания разрешения по частоте
скаляр

Details

Полоса пропускания разрешения по частоте, используемая для вычисления частотно-временной карты, заданная как скаляр, выраженный в Гц.

Типы данных

Float32, Float64

# PowerPenalty — максимальная разница в мощности между соседними точками гребня
Inf (по умолчанию) | скаляр

Details

Максимальная разница в мощности между соседними точками гребня, заданная как скаляр, выраженный в дБ.

Используйте этот аргумент, чтобы алгоритм извлечения гребней функции rpmtrack находил правильный гребень для соответствующего порядка. Аргумент PowerPenalty полезен, когда интересующий гребень порядка пересекает другие гребни или имеет очень близкую частоту к другим гребням, но отличается уровнем мощности.

Типы данных

Float32, Float64

# FrequencyPenalty — штраф за грубое извлечение гребней
0 (по умолчанию) | скаляр

Details

Штраф за грубое извлечение гребней, заданный как неотрицательный скаляр.

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

Типы данных

Float32, Float64

# StartTime — время начала оценки профиля частоты вращения
скаляр

Details

Время начала оценки профиля частоты вращения, заданное как скаляр в секундах.

Типы данных

Float32, Float64

# EndTime — время окончания оценки профиля частоты вращения
скаляр

Details

Время окончания оценки профиля частоты вращения, заданное как скаляр в секундах.

Типы данных

Float32, Float64

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

Details

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

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

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

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

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

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

Details

Оценка скорости вращения, возвращаемая в виде вектора, выраженного в об/мин.

# tout — значения времени
вектор

Details

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

Алгоритмы

Функция rpmtrack использует двухэтапный (грубо-точный) метод оценки:

  1. Вычисляет частотно-временную карту x и выделяет частотно-временной гребень на основе заданного набора точек на гребне p, порядка order, соответствующего этому гребню, а также необязательных аргументов PowerPenalty и FrequencyPenalty. Извлеченный гребень обеспечивает грубую оценку профиля частоты вращения.

  2. Вычисляет форму сигнала порядка, соответствующую извлеченному гребню, используя фильтр Волда — Калмана, и на основе этого вычисляет новую частотно-временную карту. Изолированный гребень порядка из новой частотно-временной карты дает точную оценку профиля частоты вращения.

Литература

  1. Urbanek, Jacek, Tomasz Barszcz, and Jerome Antoni. «A Two-Step Procedure for Estimation of Instantaneous Rotational Speed with Large Fluctuations.» Mechanical Systems and Signal Processing. Vol. 38, 2013, pp. 96–102.