exponenta event banner

kurtogram

Визуализация спектрального куртоза

Описание

пример

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

пример

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

kgram = kurtogram(xt) возвращает быструю куртограмму kgram расписания 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 являются векторами частоты и размера окна, которые сопровождают его.

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.

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

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

свернуть все

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

Частота выборки или время выборки, указанное как одно из следующих значений:

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

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

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

Пример см. в разделе Вычисление куртограммы нестационарного сигнала.

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

1100 < Среднее время  intervalСредний интервал времени < 100.

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

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

1100 < Среднее время  intervalСредний интервал времени < 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),..., уровень],

где эквивалентный размер окна для уровня 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] Антони, J. и Р. Б. Рэндалл. «Быстрое вычисление куртограммы для обнаружения переходных отказов». Механические системы и обработка сигналов. Том 20, выпуск 1, 2007, стр. 108-124.

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

.

См. также

| |

Представлен в R2018a