Практическое введение в анализ мультиразрешения

В этом примере показано, как выполнить и интерпретировать анализ мультиразрешения базового сигнала (MRA). Пример использует и симулированные и действительные данные, чтобы ответить на вопросы, такие как: Что означает анализ мультиразрешения? Какая информация о моем сигнале я могу получить выполнение анализа мультиразрешения? Что такое некоторые преимущества и недостатки различных методов MRA? Многие исследования, представленные здесь, могут быть реплицированы с помощью приложения Signal Multiresolution Analyzer.

Что такое анализ мультиразрешения?

Сигналы часто состоят из нескольких физически значимых компонентов. Довольно часто вы хотите изучить один или несколько из этих компонентов в изоляции на том же масштабе времени как исходные данные. Анализ мультиразрешения относится к разбиванию сигнала на компоненты, которые производят исходный сигнал точно, когда добавлено назад вместе. Быть полезным для анализа данных, как сигнал анализируется, важно. Компоненты идеально анализируют изменчивость данных в физически значимые и поддающиеся толкованию части. Анализ мультиразрешения термина часто сопоставляется с вейвлетами или пакетами вейвлета, но существуют методы невейвлета, которые также производят полезный MRAs.

Как пример мотивации понимания можно получить от MRA, рассмотреть следующий синтетический сигнал. Сигнал производится на уровне 1 000 Гц в течение одной секунды.

Fs = 1e3;
t = 0:1/Fs:1-1/Fs;
comp1 = cos(2*pi*200*t).*(t>0.7);
comp2 = cos(2*pi*60*t).*(t>=0.1 & t<0.3);
trend = sin(2*pi*1/2*t);
rng default
wgnNoise = 0.4*randn(size(t));
x = comp1+comp2+trend+wgnNoise;
plot(t,x)
xlabel('Seconds')
ylabel('Amplitude')
title('Synthetic Signal')

Figure contains an axes object. The axes object with title Synthetic Signal contains an object of type line.

Сигнал явным образом состоит из трех основных компонентов: локализованное временем колебание с частотой 60 циклов/секунда, локализованное временем колебание с частотой 200 циклов/секунда и термин тренда. Термин тренда здесь является также синусоидальным, но имеет частоту 1/2 цикла в секунду, таким образом, это завершает только 1/2 цикл в одном втором интервале. Эти 60 циклов/секунда или колебание на 60 Гц находятся между 0,1 и 0,3 секундами, в то время как колебание на 200 Гц находится между 0,7 и 1 секундой.

Не все это сразу очевидно из графика необработанных данных, потому что эти компоненты смешаны.

Теперь постройте сигнал с точки зрения частоты.

xdft = fft(x);
N = numel(x);
xdft = xdft(1:numel(xdft)/2+1);
freq = 0:Fs/N:Fs/2;
plot(freq,20*log10(abs(xdft)))
xlabel('Cycles/second')
ylabel('dB')
grid on

Figure contains an axes object. The axes object contains an object of type line.

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

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

cwt(x,Fs)

Figure contains an axes object. The axes object with title Magnitude Scalogram contains 3 objects of type image, line, area.

Теперь вы видите степени времени компонентов на 200 Гц и на 60 Гц. Однако у нас все еще нет полезной визуализации тренда.

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

Анализ мультиразрешения выполняет это. На самом деле полезный способ думать об анализе мультиразрешения состоит в том, что он обеспечивает способ избежать потребности в частотно-временном анализе, позволяя вам работать непосредственно во временном интервале.

Разделение компонентов сигнала вовремя

Реальные сигналы являются смесью различных компонентов. Часто вы только интересуетесь подмножеством этих компонентов. Анализ мультиразрешения позволяет вам сужать свой анализ путем разделения сигнала на компоненты в различных разрешениях.

Извлечение компонентов сигнала в различных разрешениях составляет разлагающиеся изменения данных по различным масштабам времени, или эквивалентно в различных диапазонах частот (различные уровни колебания). Соответственно, можно визуализировать изменчивость сигнала в различных шкалах или диапазоны частот одновременно.

Анализируйте и постройте синтетический сигнал с помощью вейвлета MRA. Сигнал анализируется в восьми разрешениях или уровнях.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 3 4 9])

Figure contains 10 axes objects. Axes object 1 with title Wavelet MRA contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line. Axes object 8 contains an object of type line. Axes object 9 contains an object of type line. Axes object 10 contains an object of type line.

Не объясняя, что обозначения на среднем значении графика, давайте использовать наше знание сигнала и попытаемся изучить то, что этот вейвлет MRA показывает нам. Если при запуске с верхнего графика и продолжаете вниз, пока вы не достигаете графика исходных данных, вы видите, что компоненты прогрессивно становятся более сглаженными. Если вы предпочитаете думать о данных в терминах частоты, частоты, содержавшиеся в компонентах, становятся ниже. Вспомните, что исходный сигнал имел три основных компонента, высокочастотное колебание на уровне 200 Гц, более низкое колебание частоты 60 Гц и термин тренда, все поврежденные аддитивным шумом.

Если вы смотрите на D2 постройте, вы видите, что локализованный временем высокочастотный компонент изолируется там. Вы видите и исследуете эту важную функцию сигнала по существу в изоляции. Следующие два графика содержат более низкое колебание частоты. Это - важный аспект анализа мультиразрешения, а именно, важные компоненты сигнала не могут закончиться изолированные в одном компоненте MRA, но они редко располагаются в больше чем двух. Наконец, мы видим S8 график содержит термин тренда. Для удобства цвет осей в тех компонентах был изменен, чтобы подсветить их в MRA. Если вы предпочитаете визуализировать этот график или последующие единицы без выделения, не учтите последний числовой вход к helperMRAPlot.

Вейвлет MRA использует стандартные функции, вызвал вейвлеты, чтобы разделить компоненты сигнала. K-ой вейвлет компонент MRA, обозначенный Dk в предыдущем графике, может рассматриваться как фильтрация сигнала в диапазоны частот формы [12k+1Δt,12kΔt] где Δt период выборки или интервал выборки. Финал сглаживает компонент, обозначенный в графике SL, где L уровень MRA, получает диапазон частот [0,12L+1Δt]. Точность этого приближения зависит от вейвлета, используемого в MRA. См. [5] для подробных описаний вейвлета и пакета вейвлета MRAs.

Однако существуют другие методы MRA, чтобы рассмотреть.

Эмпирическое разложение моды (EMD) является адаптивным данными методом мультиразрешения. EMD рекурсивно извлекает различные разрешения из данных без использования стандартных функций или фильтров. EMD рассматривает сигнал как состоящий из быстрого колебания, наложенного на более медленное. После того, как быстрое колебание извлечено, процесс обрабатывает остающийся более медленный компонент как новый сигнал и снова рассматривает его как быстрое колебание, наложенное на более медленное. Процесс продолжается, пока некоторый останавливающийся критерий не достигнут. В то время как EMD не использует стандартные функции как вейвлеты, чтобы извлечь информацию, подход EMD концептуально очень похож на метод вейвлета разделения сигнала в детали и приближения и затем разделение приближения снова в детали и приближение. Компоненты MRA в EMD упоминаются как внутренние функции режима (IMF). См. [4] для подробной обработки EMD.

Постройте анализ EMD того же сигнала.

[imf_emd,resid_emd] = emd(x);
helperMRAPlot(x,imf_emd,t,'emd','Empirical Mode Decomposition',[1 2 3 6])

Figure contains 7 axes objects. Axes object 1 with title Empirical Mode Decomposition contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line.

В то время как количество компонентов MRA отличается, EMD и вейвлет, MRAs производят подобное изображение сигнала. Это не случайно. См. [2] для описания общих черт между вейвлетом, преобразовывают и EMD.

В разложении EMD высокочастотное колебание локализуется к первой внутренней функции режима (МВФ 1). Более низкое колебание частоты локализуется в основном к МВФ 2, но вы видите некоторый эффект также в МВФ 3. Компонент тренда в МВФ 6 очень похож на компонент тренда, извлеченный методом вейвлета.

Еще один метод для адаптивного анализа мультиразрешения является вариационным разложением режима (VMD). Как EMD, VMD пытается извлечь внутренние функции режима или режимы колебания от сигнала, не используя стандартные функции для анализа. Но EMD и VMD определяют режимы совсем другими способами. EMD работает рекурсивно над сигналом временной области, чтобы извлечь прогрессивно более низкую частоту IMFs. VMD запускается путем идентификации peaks сигнала в частотном диапазоне и извлекает все режимы одновременно. См. [1] для обработки VMD.

[imf_vmd,resid_vmd] = vmd(x);
helperMRAPlot(x,imf_vmd,t,'vmd','Variational Mode Decomposition',[2 4 5])

Figure contains 6 axes objects. Axes object 1 with title Variational Mode Decomposition contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line.

Ключевая вещь отметить настолько похожа на вейвлет и разложения EMD, VMD выделяет три компонента интереса в абсолютно отдельные режимы или в небольшое количество смежных режимов. Все три метода позволяют вам визуализировать компоненты сигнала на том же масштабе времени как исходный сигнал.

Существует адаптивный данными метод, который на самом деле создает фильтры вейвлета на основе содержимого частоты данных. Этот метод является эмпирическим вейвлетом преобразовывает (EWT) [3]. Одна из главной критики EMD - то, что его определение является чисто алгоритмическим. В результате это с готовностью не поддается математическому анализу. EWT, с другой стороны, на самом деле создает вейвлеты Мейера на основе содержимого частоты анализируемого сигнала. Соответственно, результаты EWT поддаются математическому анализу, потому что фильтры, используемые в анализе, доступны для пользователя. Повторите анализ синтетического сигнала с помощью EWT.

[mra_ewt,cfs,wfb,info] = ewt(x,'MaxNumPeaks',5);
helperMRAPlot(x,mra_ewt,t,'EWT','Empirical Wavelet Transform',[1 2 3 5])

Figure contains 6 axes objects. Axes object 1 with title Empirical Wavelet Transform contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line.

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

Nf = length(x)/2+1;
cf = mean(info.FilterBank.Passbands,2);
f = 0:Fs/length(x):Fs-Fs/length(x);
clf
ax = newplot;
plot(ax,f(1:Nf),wfb(1:Nf,:))
ax.XTick = sort(cf.*Fs);
ax.XTickLabel = ax.XTick;
xlabel('Hz')
grid on
title('Empirical Meyer Wavelets')

Figure contains an axes object. The axes object with title Empirical Meyer Wavelets contains 5 objects of type line.

Другое преимущество метода EWT состоит в том, что аналитические коэффициенты сохраняют энергию исходного сигнала. Это свойство совместно используется неадаптивными методами вейвлета, но не найдено в невейвлете адаптивными методами.

EWTEnergy = sum(vecnorm(cfs,2).^2)
EWTEnergy = 875.5768
sigEnergy = norm(x,2)^2
sigEnergy = 875.5768

Для реального примера полезного разделения компонента рассмотрите сейсмограф (вертикальное ускорение, nm/s2) из землетрясения Кобе, зарегистрированного в Университете Тасмании, Хобарт, Австралия 16 января 1995, начинаясь в 20:56:51 (GMT) и продолжаясь в течение 51 минуты в 1 втором интервале.

load KobeTimeTable
T = KobeTimeTable.t;
kobe = KobeTimeTable.kobe;
figure
plot(T,kobe)
title('Kobe Earthquake Seismograph')
ylabel('Vertical Acceleration (nm/s^2)')
xlabel('Time')
axis tight
grid on

Figure contains an axes object. The axes object with title Kobe Earthquake Seismograph contains an object of type line.

Получите и постройте вейвлет MRA данных.

mraKobe = modwtmra(modwt(kobe,8));
figure
helperMRAPlot(kobe,mraKobe,T,'Wavelet','Wavelet MRA Kobe Earthquake',[4 5])

Figure contains 10 axes objects. Axes object 1 with title Wavelet MRA Kobe Earthquake contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line. Axes object 8 contains an object of type line. Axes object 9 contains an object of type line. Axes object 10 contains an object of type line.

График показывает разделение первичных и задержал вторичные волновые компоненты в компонентах MRA D4 и D5. Компоненты в сейсмическом перемещении волны при различных скоростях с первичными волнами (сжатия), перемещающимися быстрее, чем вторичный (сдвиг) волны. Методы MRA могут позволить вам изучить эти компоненты в изоляции на исходном масштабе времени.

Восстановление сигналов от MRA

Точка разделения сигналов на компоненты должна часто удалять определенные компоненты или смягчать их последствие на сигнале. Крайне важный для методов MRA способность восстановить исходный сигнал.

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

sigrec_wavelet = sum(mra);
sigrec_emd = sum(imf_emd,2)+resid_emd;
sigrec_vmd = sum(imf_vmd,2)+resid_vmd;
figure
subplot(3,1,1)
plot(t,sigrec_wavelet); title('Wavelet reconstruction');
set(gca,'XTickLabel',[]);
ylabel('Amplitude');
subplot(3,1,2);
plot(t,sigrec_emd); title('EMD reconstruction');
set(gca,'XTickLabel',[]);
ylabel('Amplitude');
subplot(3,1,3)
plot(t,sigrec_vmd); title('VMD reconstruction');
ylabel('Amplitude');
xlabel('Time');

Figure contains 3 axes objects. Axes object 1 with title Wavelet reconstruction contains an object of type line. Axes object 2 with title EMD reconstruction contains an object of type line. Axes object 3 with title VMD reconstruction contains an object of type line.

Максимальная ошибка реконструкции на базисе выборки выборкой для каждого из методов находится порядка 10-12 или меньший, указывая они - совершенные методы реконструкции. Поскольку сумма компонентов MRA восстанавливает исходный сигнал, она выдерживает обосновать, что включая или, исключая подмножество компонентов мог произвести полезное приближение.

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

sigWOtrend = sum(mra(1:end-1,:));
figure
plot(t,sigWOtrend)
xlabel('Time (s)')
ylabel('Amplitude')
title('Trend Term Removed')

Figure contains an axes object. The axes object with title Trend Term Removed contains an object of type line.

Чтобы удалить другие компоненты, можно создать логический вектор с false значения в компонентах вы не хотите включать. Здесь мы удаляем тренд и самую высокую частотную составляющую наряду с первым компонентом MRA (который надеется быть в основном шумом). Постройте фактический второй компонент сигнала (60 Гц) наряду с реконструкцией для сравнения.

include = true(size(mra,1),1);
include([1 2 9]) = false;
ts = sum(mra(include,:));
plot(t,comp2,'b')
hold on
plot(t,ts,'r')
title('Trend Term and Highest Frequency Component Removed')
xlabel('Time (s)')
ylabel('Amplitude')
legend('Component 2','Partial Reconstruction')
xlim([0.0 0.4])

Figure contains an axes object. The axes object with title Trend Term and Highest Frequency Component Removed contains 2 objects of type line. These objects represent Component 2, Partial Reconstruction.

В предыдущем примере мы обработали термин тренда как компонент неприятности, который будет удален. Существует много приложений, где тренд может быть первичным компонентом интереса. Давайте визуализировать термины тренда, извлеченные нашими тремя примерами MRAs.

figure
plot(t,trend,'LineWidth',2)
hold on
plot(t,[mra(end,:)' imf_vmd(:,end) imf_emd(:,end) mra_ewt(:,end)])
grid on
legend('Trend','Wavelet','VMD','EMD','EWT')
ylabel('Amplitude')
xlabel('Time (s)')
title('Trend in three MRAs')

Figure contains an axes object. The axes object with title Trend in three MRAs contains 5 objects of type line. These objects represent Trend, Wavelet, VMD, EMD, EWT.

Обратите внимание на то, что тренд более сглажен и наиболее точно полученный методом вейвлета. EMD находит сглаженный термин тренда, но она смещена относительно истинной амплитуды тренда, в то время как метод VMD кажется по сути более смещенным к нахождению колебаний, чем методы EMD и вейвлет. Последствия этого далее обсуждены в разделе MRA Techniques — Advantages и Disadvantages.

Обнаружение переходных изменений Используя MRA

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

Чтобы проиллюстрировать это, рассмотрите ежеквартальные взвешенные цепью американские действительные данные о валовом внутреннем продукте (ВВП) для 1947Q1 к 2011Q4. Ежеквартальные выборки соответствуют частоте дискретизации 4 выборок/год. Вертикальная черная линия отмечает начало "Большого Модерирования" выражение периода уменьшенной макроэкономической энергозависимости в США, начинающихся в середине 1980-х. Обратите внимание на то, что это затрудняет, чтобы различить рассмотрение необработанных данных.

load GDPData
figure
plot(year,realgdp)
hold on
plot([year(146) year(146)],[-0.06 0.14],'k')
title('GDP Data')
xlabel('Year')
hold off

Figure contains an axes object. The axes object with title GDP Data contains 2 objects of type line.

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

mra = modwtmra(modwt(realgdp,'db2'));
figure
plot(year,mra(1,:))
hold on
plot([year(146) year(146)],[-0.015 0.015],'k')
title('Wavelet MRA - Quarter-to-Quarter Changes')
xlabel('Year')
hold off

Figure contains an axes object. The axes object with title Wavelet MRA - Quarter-to-Quarter Changes contains 2 objects of type line.

Сокращение изменчивости, или экономической энергозависимости терминов, намного с большей готовностью очевидно в самом прекрасном разрешении компонент MRA, чем в необработанных данных. Методы, чтобы обнаружить изменения в отклонении как findchangepts MATLAB (Signal Processing Toolbox) часто работает лучше над компонентами MRA, чем на необработанных данных.

Методы MRA — преимущества и недостатки

В этом примере мы обсудили вейвлет и адаптивные данными методы для анализа мультиразрешения. Что такое некоторые преимущества и недостатки различных методов? Другими словами, поскольку, какие приложения я могу выбрать один по другому? Давайте запустимся с вейвлетов. Методы вейвлета в этом использовании в качестве примера зафиксировали фильтры, чтобы получить MRA. Это означает, что вейвлет, MRA имеет четко определенное математическое объяснение и мы можем предсказать поведение MRA. Мы также можем связать события в MRA к определенным масштабам времени в данных, как был сделан в примере GDP. Недостаток - то, что вейвлет преобразовывает, делит сигнал на полосы октавы (сокращение центральной частоты 1/2 в каждом компоненте) так, чтобы на высоких центральных частотах полосы пропускания были намного больше, чем те на более низких частотах. Это означает, что два близко расположенных высокочастотных колебания могут легко закончиться в том же компоненте MRA с методом вейвлета.

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

Fs = 1e3;
t = 0:1/Fs:1-1/Fs;
comp1 = cos(2*pi*150*t).*(t>=0.1 & t<0.3);
comp2 = cos(2*pi*200*t).*(t>0.7);
trend = sin(2*pi*1/2*t);
rng default;
wgnNoise = 0.4*randn(size(t));
x = comp1+comp2+trend+wgnNoise;
plot(t,x)
xlabel('Seconds')
ylabel('Amplitude')

Figure contains an axes object. The axes object contains an object of type line.

Повторите и постройте вейвлет MRA.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 9])

Figure contains 10 axes objects. Axes object 1 with title Wavelet MRA contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line. Axes object 8 contains an object of type line. Axes object 9 contains an object of type line. Axes object 10 contains an object of type line.

Теперь мы видим это D2 содержит и компоненты на 200 Гц и на 150 Гц. Если вы повторяете это аналитическое использование EMD, вы видите тот же результат.

Теперь давайте использовать VMD.

[imf_vmd,~,info_vmd] = vmd(x);
helperMRAPlot(x,imf_vmd,t,'vmd','VMD',[1 2 3 5]);

Figure contains 6 axes objects. Axes object 1 with title VMD contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line.

VMD может разделить эти два компонента. Высокочастотное колебание локализовало к МВФ 1, в то время как второй компонент распространен по двум смежным IMFs. Если вы смотрите на предполагаемые центральные частоты режимов VMD, метод локализовал первые два компонента приблизительно 200 и 150 Гц. Третий МВФ имеет центральную частоту близко к 150 Гц, которая является, почему мы видим второй компонент в двух компонентах MRA.

info_vmd.CentralFrequencies*Fs
ans = 5×1

  202.7204
  153.3278
  148.8022
   84.2802
    0.2667

VMD может сделать это, потому что он запускается путем идентификации частот центра кандидата для IMFs путем рассмотрения анализа частотного диапазона данных.

В то время как вейвлет, MRA не может разделить два высокочастотных компонента, существует дополнительный пакет вейвлета MRA, который может.

wpt = modwptdetails(x,3);
helperMRAPlot(x,flip(wpt),t,'wavelet','Wavelet Packet MRA',[5 6 8]);

Figure contains 9 axes objects. Axes object 1 with title Wavelet Packet MRA contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line. Axes object 8 contains an object of type line. Axes object 9 contains an object of type line.

Теперь вы видите, что эти два колебания разделяются в D5 и D6. Из этого примера мы можем извлечь общее правило. Если начальное разложение вейвлета или EMD показывает компоненты с по-видимому различными уровнями колебания в том же компоненте, считайте VMD или пакет вейвлета MRA. Если вы будете подозревать, что ваши данные имеют высокочастотные компоненты близко друг к другу в частоте, VMD или пакетный подход вейвлета будут обычно работать лучше, чем подход EMD или вейвлет.

Вспомните проблему извлечения сглаженного тренда. Повторите и вейвлет MRA и EMD.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 9])

Figure contains 10 axes objects. Axes object 1 with title Wavelet MRA contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line. Axes object 8 contains an object of type line. Axes object 9 contains an object of type line. Axes object 10 contains an object of type line.

imf_emd = emd(x);
helperMRAPlot(x,imf_emd,t,'EMD','Empirical Mode Decomposition',[1 2 6])

Figure contains 7 axes objects. Axes object 1 with title Empirical Mode Decomposition contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line. Axes object 5 contains an object of type line. Axes object 6 contains an object of type line. Axes object 7 contains an object of type line.

Тренды, извлеченные вейвлетом и методами EMD, ближе к истинному тренду, чем извлеченные VMD и пакетным методом вейвлета. VMD по сути смещается к нахождению узкополосных колебательных компонентов. Это - сила VMD в обнаружении близко расположенных колебаний, но недостатка при извлечении сглаженных трендов в данных. То же самое верно для пакета вейвлета MRAs, когда разложение идет вне нескольких уровней. Это приводит к второй общей рекомендации. Если вы интересуетесь охарактеризованием сглаженного тренда в ваших данных для идентификации или удаления, попробуйте метод EMD или вейвлет.

Что относительно того, чтобы обнаружить переходный процесс изменяется, как мы видели в данных о GDP? Давайте повторим анализ GDP с помощью VMD.

[imf_vmd,~,vmd_info] = vmd(realgdp);
figure
subplot(2,1,1)
plot(year,realgdp)
title('Real GDP');
hold on
plot([year(146) year(146)],[-0.1 0.15],'k')
hold off
subplot(2,1,2)
plot(year,imf_vmd(:,1));
title('First VMD IMF');
xlabel('Year')
hold on
plot([year(146) year(146)],[-0.02 0.02],'k')
hold off

Figure contains 2 axes objects. Axes object 1 with title Real GDP contains 2 objects of type line. Axes object 2 with title First VMD IMF contains 2 objects of type line.

В то время как самая высокая частота, которую компонент VMD также, кажется, показывает некоторому сокращению изменчивости, начинающейся в середине 1980-х, это не так с готовностью очевидно как в вейвлете MRA. Поскольку метод VMD смещается к нахождению колебаний, существует существенное звенение в первом МВФ VMD, который затеняет изменения энергозависимости.

Повторите это аналитическое использование EMD.

imf_emd = emd(realgdp);
figure
subplot(2,1,1)
plot(year,realgdp)
title('Real GDP');
hold on
plot([year(146) year(146)],[-0.1 0.15],'k')
hold off
subplot(2,1,2)
plot(year,imf_emd(:,1));
title('First EMD IMF')
xlabel('Year')
hold on
plot([year(146) year(146)],[-0.06 0.05],'k')
hold off

Figure contains 2 axes objects. Axes object 1 with title Real GDP contains 2 objects of type line. Axes object 2 with title First EMD IMF contains 2 objects of type line.

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

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

Заключения

Этот пример показал, как методы декомпозиции мультиразрешения, такие как вейвлет, пакет вейвлета, эмпирическое разложение моды, эмпирический вейвлет и вариационное разложение режима позволяют вам изучать компоненты сигнала в относительной изоляции на том же масштабе времени как исходные данные. Каждый метод оказался мощный во многих приложениях. Пример дал несколько эмпирических правил, чтобы запустить вас, но они не должны рассматриваться как абсолютные. Следующая таблица резюмирует свойства методов MRA, представленных здесь наряду с некоторыми общими правилами ползунка. Два плюса обозначают, что особая сила, один плюс указывает, что метод применим, но не особая сила. Для бинарного свойства как сохранение энергии в анализе галочка указывает, что метод имеет это свойство, и "x" указывает, что свойство отсутствует.

  • Если ваши данные, кажется, содержат колебательные компоненты близко в частоте и если частоты являются низкими, попробуйте вейвлет, пакеты вейвлета, эмпирический вейвлет или методы VMD.

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

  • Если вы интересуетесь переходными событиями в своих данных как импульсивные события или переходные сокращения и увеличения изменчивости, попробуйте вейвлет или эмпирический вейвлет MRA. В любом MRA эти события обычно локализуются к самой прекрасной шкале (самая высокая центральная частота) компоненты MRA.

  • Если вы интересуетесь представлением сглаженного термина тренда в данных, считаете EMD или вейвлет MRA.

С Signal Multiresolution Analyzer можно выполнить анализ мультиразрешения сигнала, получить метрики на различных компонентах MRA, эксперименте с частичными реконструкциями, и сгенерировать скрипты MATLAB, чтобы воспроизвести анализ в командной строке.

Ссылки

[1] Dragomiretskiy, Константин и Доминик Зоссо. “Вариационное Разложение Режима”. Транзакции IEEE на Обработке сигналов 62, № 3 (февраль 2014): 531–44. https://doi.org/10.1109/TSP.2013.2288675.

[2] Фландрен, P. G. Вытекание струей, и П. Гонсалвеш. “Эмпирическое разложение моды как Набор фильтров”. Буквы Обработки сигналов IEEE 11, № 2 (февраль 2004): 112–14. https://doi.org/10.1109/LSP.2003.821662.

[3] Джайлс, J. "Эмпирический вейвлет преобразовывает", Транзакции IEEE на Обработке сигналов, издании 61, № 16 (май 2013): 3999 - 4010.

[4] Хуан, Норден Э., Чжен Шен, Стивен Р. Лонг, Манли К. Ву, Син Х. Ши, Куэнэн Чжен, Най-Чюань Янь, Ши Чао Туньг и Генри Х. Лю. “Эмпирическое разложение моды и Гильбертов Спектр для Нелинейного и Неустановившегося Анализа Временных рядов”. Продолжения Королевского общества Лондона. Серии А: Математические, Физические и Технические науки 454, № 1971 (8 марта 1998): 903–95. https://doi.org/10.1098/rspa.1998.0193.

[5] Персиваль, Дональд Б. и Эндрю Т. Уолден. Методы вейвлета для анализа временных рядов. Кембриджский ряд в статистической и вероятностной математике. Кембридж  ; Нью-Йорк: Издательство Кембриджского университета, 2000.

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

Функции

Приложения

Похожие темы