Эмпирический вейвлет преобразовывает (EWT) является методом, который создает анализ мультиразрешения (MRA) сигнала с помощью адаптивной схемы подразделения вейвлета. EWT запускается с сегментации спектра сигнала. EWT обеспечивает совершенную реконструкцию входного сигнала. Коэффициенты EWT делят энергию входного сигнала в отдельные полосы пропускания.
EWT был разработан Жилем [1]. Жиль и Излечивает [3] предложенный и использует основанный на гистограмме подход для сегментации спектра.
MRA является разложением сигнала на компоненты по различным шкалам, или эквивалентно, по различным диапазонам частот таким способом, которым исходный сигнал восстанавливается путем подведения итогов компонентов в каждом моменте времени (см. Практическое Введение в Анализ Мультиразрешения). Существуют много методов MRA. Максимальное перекрытие дискретный вейвлет преобразовывает (MODWT) и его связанная формулировка MRA используют базис или структурируют спроектированный независимо от сигнала (см. modwt
и modwtmra
). Алгоритм эмпирического разложения моды (EMD) является адаптивным данными методом, который разлагает нелинейный или неустановившийся процесс на его внутренние режимы колебания. EMD выполняет итерации на входном сигнале, чтобы извлечь естественные режимы AM-FM, также известные как внутренние функции режима, содержавшиеся в данных (см. emd
).
Можно использовать ewt
функция, чтобы получить MRA сигнала. Структура алгоритма EWT следующие.
Мы получаем степень мультизаострения спектральная оценка сигнала с помощью пяти заострений синуса. Это - сглаженная, оценка низкого отклонения спектра мощности (см. Смещение и Изменчивость в Периодограмме (Signal Processing Toolbox)). Мы нормируем оценку, чтобы находиться в диапазоне [0,1]. По умолчанию мы идентифицируем весь peaks, строго больше, чем 70% пикового значения. Если существует доминирующий пик и много меньших единиц, можно использовать опцию LogSpectrum.
Эмпирические полосы пропускания вейвлета создаются по умолчанию, так, чтобы их полосы перехода пересеклись на геометрической средней частоте смежного peaks. Вейвлеты Мейера создаются как описано в [1] наряду со способом, которым мы определяем параметр. Вейвлеты перекрываются таким способом, которым они формируют Parseval трудная система координат.
Для определения контуров между смежными полосами пропускания у вас есть опция использования первых локальных минимумов между смежным peaks. Если никакой локальный минимум не идентифицирован, мы возвращаемся к геометрическому среднему значению (значение по умолчанию).
У вас также есть опция, чтобы заменить автоматическую пороговую обработку использования peaks MaxNumPeaks. Самый большой peaks до MaxNumPeaks
используются. Аппроксимированная полоса пропускания оценки мультизаострения (K+1/2) / (N+1), где K является количеством заострений, и N является длиной данных (который может включать дополнение). Поскольку peaks должен быть минимально разделен аппроксимированной полосой пропускания, чтобы квалифицировать как пик, возможно что меньше, чем MaxNumPeaks
peaks, включая никакой peaks, идентифицирован.
Поскольку вейвлеты формируют Parseval трудная система координат, набор фильтров является самодвойственным: аналитический набор фильтров равен набору фильтров синтеза. EWT использует вейвлеты, чтобы отфильтровать сигнал в частотном диапазоне и затем инвертирует преобразование, чтобы получить аналитические коэффициенты. EWT использует соответствующие вейвлеты синтеза, чтобы восстановить компоненты MRA.
Если у вас есть Signal Processing Toolbox™, вы видите, как использование мультизаострений может произвести сглаживавшую оценку спектра мощности.
Создайте третий тестовый сигнал, заданный в [1], и добавьте белый шум. Установите генератор случайных чисел на настройки по умолчанию приводить к повторяемым результатам. Вычтите его среднее значение и постройте результат.
rng default fs = 500; t = 0:1/fs:1-1/fs; f1 = 1./(6/5+cos(2*pi*t)); f2 = 1./(3/2+sin(2*pi*t)); f3 = cos(32*pi*t+cos(64*pi*t)); sig = f1+f2.*f3; sig = sig+randn(1,length(sig))/2; sig = sig-mean(sig); plot(t,sig) xlabel('Time (sec)') ylabel('Amplitude') title('Test Signal')
Используйте periodogram
функционируйте, чтобы построить периодограмму сигнала. Затем используйте pmtm
функционируйте, чтобы построить сглаживавшую оценку мультизаострения.
[Pxx,F] = periodogram(sig,[],[],500); Pxxmt = pmtm(sig,5,[],500,'Tapers','sine','power'); subplot(2,1,1) plot(F,Pxx) title('Periodogram') subplot(2,1,2) plot(F,Pxxmt) title('Smoothed Estimate') xlabel('Frequency (Hz)')
У вас есть несколько способов управлять как ewt
функция получает MRA сигнала. Этот раздел демонстрирует несколько опций.
Используйте ewt
функция с настройками по умолчанию, чтобы получить MRA сигнала и информации о наборе фильтров.
[mra,~,~,info] = ewt(sig); size(mra)
ans = 1×2
500 2
По умолчанию, ewt
находит два компонента MRA. Смотрите полосы пропускания набора фильтров. Поскольку полосы пропускания возвращены в нормированных частотах, умножают их на частоту дискретизации.
info.FilterBank.Passbands*fs
ans = 2×2
65 250
0 65
Обратите внимание на то, что существует узел сегментов на уровне 22 Гц. Первый сегмент имеет два peaks. Установите MaxNumPeaks
равняйтесь 3 так, чтобы ewt
определяет полосы пропускания фильтра с помощью трех самых больших peaks.
[mra,cfs,~,info] = ewt(sig,'MaxNumPeaks',3);
info.FilterBank.Passbands*fs
ans = 3×2
62.0000 250.0000
28.0000 62.0000
0 28.0000
Проверьте, что подведение итогов результатов компонентов MRA в совершенной реконструкции сигнала, и проверяет, что аналитические коэффициенты EWT являются энергетическим сохранением.
max(abs(sig'-sum(mra,2)))
ans = 1.7764e-15
sum(sum(abs(cfs).^2))
ans = 1.2985e+03
norm(sig,2)^2
ans = 1.2985e+03
Вместо того, чтобы задать максимальное количество peaks, можно установить порог процента, используемый, чтобы определить, какой peaks сохраняется в спектре мощности мультизаострения. Локальные максимумы в степени мультизаострения спектральная оценка сигнала нормированы, чтобы находиться в диапазоне [0,1] с максимальным пиком, равным 1. Установите PeakThresholdPercent
к 2.
[~,~,~,info] = ewt(sig,'PeakThresholdPercent',2);
info.FilterBank.Passbands*fs
ans = 5×2
141.0000 250.0000
74.0000 141.0000
57.0000 74.0000
28.0000 57.0000
0 28.0000
По умолчанию, ewt
использует геометрическое среднее значение смежного peaks, чтобы определить полосы пропускания фильтра. ewt
функция дает вам опцию, чтобы вместо этого использовать первый локальный минимум между peaks. Установите SegmentMethod
к 'localmin'
, так, чтобы ewt
использует первый локальный минимум, и задайте максимум трех peaks. Подтвердите, что использование первого локального минимума приводит к различной сегментации.
[~,~,~,info] = ewt(sig,'MaxNumPeaks',3,'SegmentMethod','localmin'); info.FilterBank.Passbands*fs
ans = 3×2
54.0000 250.0000
28.0000 54.0000
0 28.0000
Можно также задать полосу пропускания разрешения частоты степени мультизаострения спектральная оценка. Полоса пропускания разрешения частоты определяет, сколько заострений синуса используется в оценке спектра мощности мультизаострения. Задайте разрешение частоты 0,2 и максимум трех peaks. Обратите внимание на то, что даже при том, что MaxNumPeaks
установлен в 3, три peaks не найдены с помощью заданного разрешения частоты.
[mra,~,~,info] = ewt(sig,'MaxNumPeaks',3,'FrequencyResolution',0.2); info.FilterBank.Passbands*fs
ans = 2×2
83.0000 250.0000
0 83.0000
[1] Жиль, Жером. “Эмпирическое Преобразование Вейвлета”. Транзакции IEEE на Обработке сигналов 61, № 16 (август 2013): 3999–4010. https://doi.org/10.1109/TSP.2013.2265222.
[2] Жиль, Жером, Джиэнг Трэн и Стэнли Ошер. “2D Эмпирические Преобразования. Вейвлеты, Ridgelets и Пересмотренный Curvelets”. SIAM Journal при Обработке изображений Наук 7, № 1 (январь 2014): 157–86. https://doi.org/10.1137/130923774.
[3] Жиль, Жером и Кэтрин Хил. “Подход Пробела Шкалы Без параметров, чтобы Найти, что Значимые Режимы в Гистограммах — Приложение Отображают и Сегментация Спектра”. Международный журнал Вейвлетов, Мультиразрешения и Обработки информации 12, № 06 (ноябрь 2014): 1450044. https://doi.org/10.1142/S0219691314500441.