kurtogram

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

Синтаксис

kgram = kurtogram(x)
kgram = kurtogram(x,sampx)
kgram = kurtogram(xt)
kgram = kurtogram(___,level)
[kgram,f,w,fc,wc,bw] = kurtogram(___)
kurtogram(___)

Описание

пример

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

пример

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

kgram = kurtogram(xt) возвращает быстрый kurtogram kgram расписания xt как матрица.

пример

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

пример

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

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

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

  • фК Частота, где максимальный спектральный эксцесс расположен

  • wc — Размер окна, где максимальный спектральный эксцесс на kurtogram расположен

  • bw — Предложенная пропускная способность для оптимального полосового фильтра

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

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

Примеры

свернуть все

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

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

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

Постройте kurtogram использование частоты дискретизации fs.

kurtogram(x,fs)

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

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

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

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

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

kurtogram(x)

kurtogram теперь показывают с нормированной частотой.

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

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

Эти значения совпадают с оптимальным размером окна, центральной частотой и пропускной способностью первого графика. kgram является фактической kurtogram матрицей, и 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')

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

kurtogram(x,fs)

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

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

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

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

свернуть все

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

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

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

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

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

Для примера смотрите, Вычисляют Kurtogram Неустановившегося Сигнала.

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

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

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

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

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

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

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

свернуть все

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

[0,1,журнал2(3),2,1+журнал2(3),3,3+журнал2(3),...,n,n+журнал2(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 алгоритма. Наряду с kurtogram и его связанной частотой и векторами окна, kurtogram возвращает оптимальный размер окна и другие настраивающие фильтр параметры. И это может визуализировать результаты своих вычислений.

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

Ссылки

[1] Антони, J. и Р. Б. Рэндалл. "Быстрое Вычисление Kurtogram для Обнаружения Переходных Отказов". Механические Системы и Обработка сигналов. Издание 20, Выпуск 1, 2007, стр 108–124.

Смотрите также

| |

Введенный в R2018a