kurtogram

Визуализируйте спектральный куртоз

Описание

пример

kgram = kurtogram(x) возвращает быструю куртограмму kgram вектора сигнала x как матрица. kurtogram использует нормированную частоту (равномерно разнесенный вектор частоты, охватывающий [0 и]), чтобы вычислить временные значения.

пример

kgram = kurtogram(x,sampx) возвращает быструю куртограмму вектора сигнала x дискретизация по скорости или временному интервалу sampx, как матрица.

kgram = kurtogram(xt) возвращает быструю куртограмму kgram timetable xt как матрица.

пример

kgram = kurtogram(___,level) возвращает быструю куртограмму с использованием заданного level. level определяет уровень разрешения окна для использования, и, следовательно, сколько случаев спектрального куртоза для вычисления.

пример

[kgram,f,w,fc,wc,bw] = kurtogram(___) возвращает быструю куртограмму вместе с набором параметров, которые можно использовать для последующих полосно-пропускающих созданий фильтра и спектрального куртоза:

  • f - Вектор частоты для kgram

  • w - Вектор размера окна для kgram

  • fc - Частота, где расположен максимальный спектральный куртоз

  • wc - Размер окна, где расположен максимальный спектральный куртоз на куртограмме

  • bw - Предложенная шумовая полоса для оптимального полосно-пропускающего фильтра

Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.

kurtogram(___) строит графики куртограммы вместе с ключевыми критическими параметрами оптимизации, не возвращая никаких данных. Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

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

Сгенерируйте сигнал с щебетанием и белым Гауссовым шумом.

fs = 1000;
t = 0:1/fs:10;
f1 = 300;
f2 = 400;
xc = chirp(t,f1,10,f2);
x = xc+randn(1,length(t));

Постройте график куртограммы с помощью fs частоты дискретизации.

kurtogram(x,fs)

Figure contains an axes. The axes with title K_{max} = 8.5267 at level 7, Optimal Window Length = 256, Center Frequency = 388.6719 Hz, Bandwidth = 3.9062 Hz contains an object of type image.

Куртограмма показывает результаты куртоза для области значений длин окон и частот. Высокий уровень куртоза соответствует высокому уровню нестационарного или нестационарного поведения Гауссова. Пик куртоза предусмотрен в тексте на верхнюю часть, вместе с длиной окна и связанной с ним центральной частотой. Шумовая полоса является функцией длины окна.

Исследуйте эффекты снижения максимального уровня до 5.

level = 5;
kurtogram(x,fs,level)

Figure contains an axes. The axes with title K_{max} = 1.8848 at level 5, Optimal Window Length = 64, Center Frequency = 304.6875 Hz, Bandwidth = 15.625 Hz contains an object of type image.

Более низкое разрешение очевидно и приводит к более низкому значению пика куртоза и смещенной центральной частоте.

Теперь постройте график куртоза, не задавая частоту или время дискретизации.

kurtogram(x)

Figure contains an axes. The axes with title K_{max} = 8.5267 at level 7, Optimal Window Length = 256, Center Frequency = 2.4421 rad/sample, Bandwidth = 0.024544 rad/sample contains an object of type image.

Теперь куртограмма показана с нормированной частотой.

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

[kgram,f,w,fc,wc,bw] = kurtogram(x);
wc
wc = 256
fc
fc = 2.4421
bw
bw = 0.0245

Эти значения совпадают с оптимальным размером окна, центральной частотой и шириной полосы пропускания первого графика. kgram - фактическая матрица куртограмм, и f и w - векторы частоты и размера окна, которые сопровождают его.

The pkurtosis функция использует значение по умолчанию pspectrum размер окна (разрешение по времени). Вместо этого можно задать размер окна. В этом примере используйте функцию kurtogram чтобы вернуть оптимальный размер окна и использовать этот результат для pkurtosis.

Создайте щебет с белым Гауссовым шумом.

fs = 1000;
t = 0:1/fs:10;
f1 = 300;
f2 = 400;
x = chirp(t,f1,10,f2)+randn(1,length(t));

Постройте график спектрального куртоза с размером окна по умолчанию.

pkurtosis(x,fs)
title('Spectral Kurtosis with Default Window Size')

Figure contains an axes. The axes with title Spectral Kurtosis with Default Window Size contains 2 objects of type line. These objects represent Spectral Kurtosis, 0.95 Confidence Interval.

Теперь вычислите оптимальный размер окна, используя kurtogram.

kurtogram(x,fs)

Figure contains an axes. The axes with title K_{max} = 8.5267 at level 7, Optimal Window Length = 256, Center Frequency = 388.6719 Hz, Bandwidth = 3.9062 Hz contains an object of type image.

График куртограммы также иллюстрирует щебет между 300 и 400 Гц и показывает, что оптимальный размер окна равен 256. Подача w0 в pkurtosis.

w0 = 256;
pkurtosis(x,fs,w0)
title('Spectral Kurtosis with Optimum Window Size of 256')

Figure contains an axes. The axes with title Spectral Kurtosis with Optimum Window Size of 256 contains 2 objects of type line. These objects represent Spectral Kurtosis, 0.95 Confidence Interval.

Основная экскурсия имеет более высокие значения куртоза. Более высокие значения улучшают дифференциацию между стационарными и нестационарными компонентами и улучшают вашу способность извлекать нестационарный компонент как функция.

Входные параметры

свернуть все

Timeseries, для которого kurtogram возвращает быструю куртограмму, заданную в виде вектора.

Частота дискретизации или шаг расчета, заданное как одно из следующего:

  • Положительный числовой скаляр - частота в герцах

  • duration скаляр - временной интервал между последовательными выборками X

  • Вектор, duration массив, или datetime массив - Текущее время или длительность, соответствующая каждому элементу x

Для получения примера смотрите Вычисление Куртограммы нестационарного сигнала.

Когда sampx представляет собой временной вектор, временные выборки могут быть неоднородными, с pspectrum ограничение, которому должны подчиняться медиана временного интервала и средний временной интервал:

1100<  Медиана временного интервалаСредний временной интервал<100.

Если вы задаете sampx как пустой, тогда kurtogram использует нормированную частоту. Другими словами, он принимает равномерно разнесенный вектор частоты, охватывающий [0

Расписание сигнала, из которого kurtogram возвращает быструю куртограмму, заданную как timetable которая содержит одну переменную с одним столбцом. xt должно содержать увеличивающуюся, конечную строку раз. Если расписание имеет отсутствующие или повторяющиеся точки времени, можно исправить его с помощью советов в разделе «Чистое расписание с пропущенными, повторяющимися или неоднородными временами». xt может быть неоднородно дискретизирован, с pspectrum ограничение, которому должны подчиняться медиана временного интервала и средний временной интервал:

1100<  Медиана временного интервалаСредний временной интервал<100.

Максимальный уровень куртограммы, который управляет количеством случаев для вычисления, задается как положительное целое число. Уровень управляет размерами частотного окна, которые kurtogram использует, и, следовательно, частотное разрешение. Когда разрешение частоты растет, разрешение времени уменьшается. Оценка спектрального куртоза будет плохой, если любое разрешение будет слишком низким. Когда вы задаете level, сбалансировать влияние на как временное, так и частотное разрешение.

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

свернуть все

Быстрая куртограмма, возвращенная как матрица с размерностями, заданными level. kgram имеет 2 * level строки и 3 * 2level столбцы. Каждая строка матрицы представляет результаты спектрального куртоза для каждого элемента вектора частоты и для размера окна, заданного положением строки, относительно последовательности:

[0,1,log2(3),2,1+log2(3),3,3+log2(3),...,n,n+log2(3),...,level],

где эквивалентный размер окна для n уровня равен 2n+1 выборки.

Вектор частоты, сопоставленный с kgram, возвращается как вектор. Длина f равно количеству столбцов в kgram.

Вектор размера окна, сопоставленный с kgram, возвращается как вектор. Длина f равно количеству столбцов в kgram.

Частота максимального значения спектрального куртоза в kgram, возвращенный в виде скаляра:

  • В рад/секунду, если вы не указали sampx, вызывающий kurtogram для использования нормированной частоты

  • В герце, если sampx задан

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

Размер окна максимального значения спектрального куртоза в kgram, возвращен в виде скаляра в выборках. Можно использовать wc для обеспечения оптимального размера окна для pkurtosis. Для получения примера смотрите График спектральный куртоз с использованием настраиваемого размера окна.

Предложенная шумовая полоса для оптимального полосно-пропускающего фильтра, возвращаемая в виде скаляра:

  • В рад/секунду, если вы не указали sampx, вызывающий kurtogram для использования нормированной частоты

  • В герце, если вы указали sampx

Можно использовать bw создать фильтр, который максимизирует куртоз огибающей фильтрованного сигнала. bw равно fx/ wc, где fx - частота выборки сигнала, которая kurtogram выводит из sampx.

Подробнее о

свернуть все

Kurtogram

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

Алгоритм быстрой куртограммы использует полосно-пропускающую фильтрацию наряду с упрощённым расчетом, чтобы аппроксимировать спектральный куртоз для каждого размера и частоты окна, а не вычислять короткое преобразование Фурье (STFT) как более высокую точность pkurtosis делает. Это также уменьшает количество итераций, которое алгоритм требует, чтобы охватить плоскость частотного окна относительно полной куртограммы [1].

Ссылки

[1] Антони, Дж., и Р. Б. Рэндалл. «Быстрый расчет куртограммы для обнаружения переходных отказов». Механические системы и обработка сигналов. Том 20, Выпуск 1, 2007, стр. 108-124.

Расширенные возможности

.

См. также

| |

Введенный в R2018a