exponenta event banner

wsstridge

Частотно-временные гребни от импульсной синхронизации

Описание

fridge = wsstridge(sst) извлекает максимальный частотно-временной диапазон энергии в циклах на выборку из импульсного синхронизированного преобразования, sst. sst вход - это выход wsst. Каждый гребень является отдельным сигнальным режимом.

пример

[fridge,iridge] = wsstridge(sst) возврат в iridge индексы строк sst. Индексы строк представляют собой максимальный частотно-временной гребень в каждой выборке. Использовать iridge для восстановления режима сигнала вдоль частотно-временного хребта с использованием iwsst.

[___] = wsstridge(sst,penalty) умножает квадрат расстояния между частотными ячейками на penalty значение. Можно включить любой из выходных аргументов из предыдущих синтаксисов.

[___] = wsstridge(___,f) возвращает максимальный временной диапазон энергии и частоты в циклах за единицу времени на основе f входной частотный вектор. f - частотный выход wsst. f входные данные и fridge выходные данные имеют одинаковые единицы измерения.

пример

[___]= wsstridge(___,Name,Value) возвращает частотно-временной гребень с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Получить импульсное синхроскопическое преобразование квадратичной чирпы и извлечь максимальный частотно-временной гребень, в fridgeи связанные индексы строк, в iridge.

Загрузите сигнал частотной частоты и получите его синхронизированное преобразование.

load quadchirp;
[sst,f] = wsst(quadchirp);

Извлеките максимальный частотно-временной гребень.

[fridge,iridge] = wsstridge(sst);

Постройте график синхронизированного преобразования.

pcolor(tquad,f,abs(sst))
shading interp
title('Synchrosqueezed Transform')

Figure contains an axes. The axes with title Synchrosqueezed Transform contains an object of type surface.

Наложите график хребта максимальной энергетической частоты.

hold on
plot(tquad,fridge)
title('Synchrosqueezed Transform with Overlaid Ridge')

Figure contains an axes. The axes with title Synchrosqueezed Transform with Overlaid Ridge contains 2 objects of type surface, line.

Извлеките два режима максимальной энергии из многокомпонентного сигнала.

Получение и построение графика синхронизированного преобразования вейвлета.

load multicompsig;
sig = sig1+sig2;
[sst,F] = wsst(sig,sampfreq);
contour(t,F,abs(sst));
xlabel('Time'); ylabel('Hz');
grid on;
title('Synchrosqueezed Transform of Two-Component Signal');

Figure contains an axes. The axes with title Synchrosqueezed Transform of Two-Component Signal contains an object of type contour.

Используя штраф 10, извлеките два самых высоких вида энергии и постройте график результата.

[fridge,iridge] = wsstridge(sst,10,F,'NumRidges',2);
hold on;
plot(t,fridge,'k','linewidth',2);

Figure contains an axes. The axes with title Synchrosqueezed Transform of Two-Component Signal contains 3 objects of type contour, line.

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

свернуть все

Синхронизированное преобразование, указанное как матрица. sst является временной-частотной матрицей и является выходом wsst.

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

Частоты синхронизированного преобразования, соответствующие строкам синхронизированного преобразования, которое является векторным выходом wsst. Количество элементов в частотном векторе равно количеству строк в sst вход.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'NumRidges',3

Количество извлекаемых гребней максимальной энергии и частоты, указанных как пара, разделенная запятыми, состоящая из 'NumRidges' и положительное целое число. Если это целое число больше 1, wsstridge итеративно определяет максимальный временной частотно-энергетический гребень путем удаления ранее вычисленных гребней и заданного по умолчанию или 'NumFrequencyBins' с обеих сторон каждого гребневого бункера.

Число частотных ячеек, удаляемых из синхронизированного преобразования sst при извлечении нескольких гребней, указанных как разделенная запятыми пара, состоящая из 'NumFrequencyBins' и положительное целое число. Это целое число должно быть меньше или равно round(size(sst,1)/4). Количество удаляемых частотных ячеек можно указать только при извлечении нескольких выступов. После извлечения гребня максимальной энергии и частоты, wsstridge удаляет sst значения, соответствующие iridge индексы на каждом временном шаге. Энергия удаляется вдоль частотно-временного гребня, вытянутого с обеих сторон iridge индексировать по указанному количеству частотных ячеек. Если индекс удлиненного частотно-временного гребня превышает число частотных ячеек на любом шаге времени, wsstridge усечение области удаления в первом или последнем частотном блоке. Определить 'NumFrequencyBins', необходимо указать 'NumRidges'.

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

свернуть все

Частотно-временные частоты гребней, возвращаемые в виде вектора или матрицы. Частоты соответствуют частотно-временному гребню на каждом временном шаге. fridge является N-by-nr где N - количество отсчетов времени (столбцов) в sst и nr - количество гребней. Первый столбец матрицы содержит частоты для максимального энергетического частотно-временного гребня в sst. Последующие столбцы содержат частоты для частотно-временных гребней в порядке убывания энергии. По умолчанию fridge содержит частоты в циклах на выборку.

Индексы ряда частотно-временных гребней sst, возвращается в виде вектора или матрицы. Индексы строк в iridge соответствуют индексу строки максимального частотно-временного гребня для каждого sst столбец. iridge является N-by-nr где N - количество отсчетов времени (столбцов) в sst, и nr - количество гребней. Первый столбец матрицы содержит индексы максимального энергетического частотно-временного гребня в sst. Последующие столбцы содержат индексы частотно-временных гребней в порядке убывания энергии.

Алгоритмы

Функция использует пенализированный жадный алгоритм «вперед-назад» для извлечения гребней максимальной энергии из матрицы времени и частоты. Алгоритм находит максимальный частотно-временной гребень, минимизируя -1n A в каждый момент времени, где A - абсолютное значение матрицы. Минимизация -ln A эквивалентна максимизации значения A. Алгоритм дополнительно ограничивает скачки частоты штрафом, пропорциональным расстоянию между частотными ячейками.

Следующий пример иллюстрирует алгоритм частотно-временного гребня с использованием штрафа, который в два раза превышает расстояние между частотными ячейками. В частности, расстояние между элементами (j,k) и (m,n) определяется как (j-m)2. Частотно-временная матрица имеет три частотных ячейки и три временных шага. Столбцы матрицы соответствуют временным шагам, а строки матрицы соответствуют частотным ячейкам. Значения во второй строке представляют синусоидальную волну.

  1. Предположим, что у вас есть матрица:

    1   4   4
    2   2   2
    5   5   4

  2. Обновите значение элемента (1,2) следующим образом.

    1. Оставьте значения в первый момент времени неизменными. Начните алгоритм с (1,2) элемента матрицы, который представляет первый частотный бин во второй момент времени. Значение ячейки равно 4. Штрафовать значения в первом столбце на основе их расстояния от элемента (1,2). Применение штрафа к первому столбцу приводит к

      original value + penalty × distance
      
      1 + 2 × 0 =  1
      2 + 2 × 1 =  4
      5 + 2 × 4 = 13
      
       1   4
       4   2
      13   5
      Минимальное значение первого столбца - 1, которое находится в ячейке 1.

    2. Добавьте минимальное значение в столбце 1 к текущему значению ячейки 4. Обновленное значение для (1,2) становится равным 5, которое получено из ячейки 1.

  3. Обновите значения для остальных элементов в столбце 2 следующим образом.

    Пересчитайте исходные значения столбца 1 с коэффициентом штрафа, используя тот же процесс, что и на этапе 2а. Получают оставшиеся значения второго столбца, используя тот же процесс, что и на этапе 2b. Например, при обновлении элемента (2,2), имеющего значение bin 2, применение штрафа к столбцу приводит к

    original value + penalty × distance
    
    1 + 2 × 1 =  3
    2 + 2 × 0 =  2
    5 + 2 × 1 =  7
    
    Добавьте минимальное значение 2 к текущему значению ячейки. Обновленное значение для (2,2) становится равным 4. После обновления элемента (3,2) матрица
    1   5(1)  4
    2   4(2)  2
    5   9(2)  4
    Обновлен только второй столбец. Подстрочные индексы указывают индекс ячейки в предыдущем столбце, из которого было получено значение.

  4. Повторите шаг 2 для третьего столбца. Но теперь штраф применяется к обновленной второй колонке. Например, при обновлении элемента (1,3) штраф равен

    5 + 2 × 0 =  5
    4 + 2 × 1 =  6
    9 + 2 × 4 = 17
    
    Минимальное значение 5, которое находится в первой ячейке, добавляется к значению (1,3) ячейки. После обновления всех значений в третьем столбце окончательная матрица
    1   5(1)   9(1)
    2   4(2)   6(2)
    5   9(2)  10(2)

  5. Начиная с последнего столбца матрицы, найдите минимальное значение. Пройдитесь по матрице назад во времени, перейдя из текущей ячейки в начало этой ячейки в предыдущий момент времени. Отслеживайте индексы бункера, которые формируют траекторию, составляющую гребень. Алгоритм сглаживает переход, используя исходную ячейку, а не ячейку с минимальным значением. Для этого примера индексы гребней: 2, 2, 2, который соответствует энергетическому пути синусоидальной волны в строке 2 матрицы, показанной на этапе 1.

При извлечении нескольких гребней алгоритм удаляет первый гребень из частотно-временной матрицы и повторяет процесс.

Ссылки

[1] Daubechies, I., J. Lu и H.-T. У. «Синхронизированные вейвлет-преобразования: эмпирический инструмент, похожий на декомпозицию». Прикладной и вычислительный гармонический анализ. Том 30, номер 2, 2011, стр. 243-261.

[2] Такур, Г., Э. Бревдо, Н. С. Фучкар и Х.-Т. У. «Алгоритм Synchrosqueezing для изменяющегося во времени спектрального анализа: свойства надежности и новые приложения палеоклимата». Обработка сигналов. Том 93, номер 4, 2013, стр. 1079-1094.

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