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

spectralKurtosis

Спектральный эксцесс для сигналов и спектрограмм.

Библиотека

EngeeDSP

Синтаксис

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

  • kurtosis,spread,centroid = spectralKurtosis(x,f) — возвращает спектральный эксцесс во времени для сигнала x во временной или частотной области. Также возвращает спектральную протяженность и спектральный центроид. Интерпретация x функцией зависит от формы f.

  • kurtosis,spread,centroid = spectralKurtosis(x,f,Name,Value) — задает дополнительные параметры с использованием одного или нескольких аргументов типа «имя-значение». Например, можно указать окно, применяемое для входных данных во временной области, величину перекрытия между соседними окнами и тип спектра, используемого для входных данных в частотной области.

  • spectralKurtosis(___;out=:plot) — строит график спектрального эксцесса.

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

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

Аргументы

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

# x — входной сигнал
вектор-столбец | матрица

Details

Входной сигнал, заданный как вектор или матрица. Интерпретация x функцией зависит от формы f.

Типы данных

Float32, Float64

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

Details

Частота дискретизации или вектор частот в Гц, заданные как числовой скаляр или вектор. Интерпретация x функцией зависит от формы f:

  • Если f — числовой скаляр, функция spectralKurtosis интерпретирует x как сигнал во временной области, а f — как частоту дискретизации. В этом случае x должен быть вещественным вектором или матрицей. Если x — матрица, spectralKurtosis интерпретирует столбцы как отдельные каналы.

  • Если f — вектор, функция spectralKurtosis интерпретирует x как сигнал в частотной области, а f — как вектор частот в Гц, соответствующий строкам x. В этом случае x должен быть вещественным массивом размером , где — количество спектральных значений на заданных частотах f, — количество отдельных спектров, а — количество каналов.

    Количество строк в x должно быть равно количеству элементов f.

Типы данных

Float32, Float64

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

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

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

Следующие аргументы типа «имя-значение» применяются, если x — сигнал во временной области.

# Window — окно, применяемое во временной области
rectwin(round(f*0.03)) (по умолчанию) | вектор

Details

Окно, применяемое во временной области, заданное как вещественный вектор. Количество элементов вектора должно находиться в диапазоне [1,size(x,1)]. Количество элементов вектора также должно быть больше OverlapLength. Если аргумент Window не задан, функция spectralKurtosis использует длину окна, которая разбивает x на восемь перекрывающихся сегментов.

Типы данных

Float32, Float64

# OverlapLength — количество отсчетов, перекрывающихся между соседними окнами
round(f*0.02) (по умолчанию) | неотрицательный целочисленный скаляр

Details

Количество отсчетов, перекрывающихся между соседними окнами, заданное как целое число в диапазоне [0,size(Window,1)). Если аргумент OverlapLength не задан, функция spectralKurtosis использует значение, которое обеспечивает 50%-е перекрытие между сегментами.

Типы данных

Float32, Float64

# FFTLength — количество элементов в ДПФ
numel(Window) (по умолчанию) | положительный целочисленный скаляр

Details

Количество элементов, используемых для вычисления ДПФ оконных входных выборок, заданное как положительный целочисленный скаляр. Если аргумент не задан, FFTLength по умолчанию равен количеству элементов в Window.

Типы данных

Float32, Float64

# Range — диапазон частот (Гц)
[0,f/2] (по умолчанию) | двухэлементный вектор-строка

Details

Диапазон частот в Гц, заданный как двухэлементный вектор-строка возрастающих вещественных значений в диапазоне [0,f/2].

Типы данных

Float32, Float64

# SpectrumType — тип спектра
"power" (по умолчанию) | "magnitude"

Details

Тип спектра, заданный как "power" или "magnitude":

  • "power" — спектральный эксцесс рассчитывается для одностороннего спектра мощности;

  • "magnitude" — спектральный эксцесс рассчитывается для одностороннего амплитудного спектра.

Типы данных

String

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

Details

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

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

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

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

# kurtosis — спектральный эксцесс
скаляр | вектор | матрица

Details

Спектральный эксцесс, возвращаемый в виде скаляра, вектора или матрицы. Каждая строка kurtosis соответствует спектральному эксцессу окна x. Каждый столбец kurtosis соответствует независимому каналу.

# spread — спектральная протяженность
скаляр | вектор | матрица

Details

Спектральная протяженность, возвращаемая в виде скаляра, вектора или матрицы. Каждая строка spread соответствует спектральной протяженности окна x. Каждый столбец spread соответствует независимому каналу.

# centroid — спектральный центроид
скаляр | вектор | матрица

Details

Спектральный центроид в Гц, возвращаемый в виде скаляра, вектора или матрицы. Каждая строка centroid соответствует спектральному центроиду окна x. Каждый столбец centroid соответствует независимому каналу.

Дополнительно

Спектральный эксцесс

Details

Спектральный эксцесс (СЭ) — это статистический инструмент, позволяющий выявлять и точно определять нестационарное или негауссовское поведение в частотной области, учитывая:

  • малые значения на частотах, где присутствует только стационарный гауссовский шум;

  • высокие положительные значения на частотах, где происходят переходные процессы.

Эта возможность делает СЭ мощным инструментом для обнаружения и извлечения сигналов, связанных с неисправностями во вращающихся механических системах. Сам по себе СЭ может выявлять особенности или условные индикаторы для обнаружения и классификации неисправностей. В качестве предварительной обработки для других инструментов, таких как анализ огибающей, СЭ может предоставлять ключевые входные данные, такие как оптимальная полоса [1], [2].

Спектральный эксцесс сигнала можно вычислить на основе кратковременного преобразования Фурье (КВПФ) сигнала, :

где — оконная функция, используемая в КВПФ.

Литература

  1. Antoni, J. «The Spectral Kurtosis: A Useful Tool for Characterising Non-Stationary Signals.» Mechanical Systems and Signal Processing. Vol. 20, Issue 2, 2006, pp. 282–307.

  2. Antoni, J., and R. B. Randall. «The Spectral Kurtosis: Application to the Vibratory Surveillance and Diagnostics of Rotating Machines.» Mechanical Systems and Signal Processing. Vol. 20, Issue 2, 2006, pp. 308–331.

  3. Peeters, G. «A Large Set of Audio Features for Sound Description (Similarity and ClassiDcation) in the CUIDADO Project.» Technical Report; IRCAM: Paris, France, 2004.