Сравнение содержимого в сигналах с когерентностью вейвлета

Этот пример показывает, как использовать когерентность вейвлета и поперечный спектр вейвлета, чтобы идентифицировать локализованное во времени общее колебательное поведение в двух временных рядах. Пример также сравнивает когерентность вейвлета и поперечный спектр с их аналогами Фурье. Вы должны иметь Signal Processing Toolbox™, чтобы запустить примеры с помощью mscohere (Signal Processing Toolbox) и cpsd (Signal Processing Toolbox).

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

Для совместно стационарных временных рядов стандартными методами для характеристики коррелированного поведения во времени или частоте являются перекрестная корреляция, (Фурье) перекрестный спектр и когерентность. Однако многие временные ряды являются нестационарными, что означает, что их частотное содержимое изменяется с течением времени. Для этих временных рядов важно иметь меру корреляции или когерентности в частотно-временной плоскости.

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

Найдите общие локализованные по времени колебания и определите задержку фазы

В первом примере используйте два сигнала, состоящих из локализованных во времени колебаний на 10 и 75 Гц. Сигналы имеют длительность шесть секунд и дискретизируются с частотой дискретизации 1000 Гц. Колебание 10-Hz в двух сигналах перекрывается между 1,2 и 3 секундами. Перекрытие для 75-Hz колебаний происходит между 0,4 и 4,4 секундами. 10 и 75-Hz компоненты задерживаются 1/4 цикла в сигнале Y. Это означает, что существует π/2 (90 степени) задержка фазы между 10 и 75-Hz компонентами в двух сигналах. Оба сигнала повреждены аддитивным белым Гауссовым шумом.

load wcoherdemosig1
subplot(2,1,1)
plot(t,x1)
title('X Signal')
grid on
ylabel('Amplitude')
subplot(2,1,2)
plot(t,y1)
title('Y Signal')
ylabel('Amplitude')
grid on
xlabel('Seconds')

Figure contains 2 axes. Axes 1 with title X Signal contains an object of type line. Axes 2 with title Y Signal contains an object of type line.

Получите когерентность вейвлета и отобразите результат. Введите частоту дискретизации (1000 Гц), чтобы получить частотно-временной график когерентности вейвлета. В областях частотно-временной плоскости, где когерентность превышает 0,5, фаза от вейвлет спектра используется для указания относительной задержки между когерентными компонентами. Фаза обозначена стрелами, ориентированными в конкретном направлении. Обратите внимание, что задержка цикла 1/4 в сигнале Y на конкретной частоте обозначена стрелой, указывающим вертикально.

figure
wcoherence(x1,y1,1000)

Figure contains an axes. The axes with title Wavelet Coherence contains 237 objects of type image, line, patch.

Две локализованные по времени области когерентного колебательного поведения при 10 и 75 Гц очевидны на графике вейвлет. Зависимость фазы показана ориентацией стрел в областях с высокой когерентностью. В этом примере вы видите, что вейвлет захватывает π/2 (1/4 цикла) задержка фазы между двумя сигналами при 10 и 75 Гц.

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

Повторите тот же анализ с использованием квадрата когерентности Фурье и перекрестного спектра.

figure
mscohere(x1,y1,500,450,[],1000)

Figure contains an axes. The axes with title Coherence Estimate via Welch contains an object of type line.

[Pxy,F] = cpsd(x1,y1,500,450,[],1000);
Phase = (180/pi)*angle(Pxy);
figure
plot(F,Phase)
title('Cross-Spectrum Phase')
xlabel('Hz')
ylabel('Phase (Degrees)')
grid on
ylim([0 180])
xlim([0 200])
hold on
plot([10 10],[0 180],'r--')
plot([75 75],[0 180],'r--')
plot(F,90*ones(size(F)),'r--')
hold off

Figure contains an axes. The axes with title Cross-Spectrum Phase contains 4 objects of type line.

Квадрат когерентности Фурье, полученная из mscohere (Signal Processing Toolbox) четко определяет когерентные колебания на частотах 10 и 75 Гц. На фазовом графике поперечного спектра Фурье вертикальные красные штриховые линии маркируют 10 и 75 Гц, в то время как горизонтальная линия помечает угол 90 степеней. Вы видите, что фаза перекрестного спектра делает разумную задачу захвата относительной фазовой задержки между компонентами.

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

Следующий пример повторяет предыдущий, изменяя соотношение фаз между этими двумя сигналами. В этом случае 10-Hz компонент в Y-сигнале задерживается на 3/8 цикла (3π/4 радианы). Компонент 75-Hz в сигнале Y задерживается на 1/8 цикла (π/4 радианы). Постройте график когерентности вейвлета и порога отображения фазы, чтобы показать только области, где когерентность превышает 0,75.

load wcoherdemosig2
wcoherence(x2,y2,1000,'phasedisplaythreshold',0.75)

Figure contains an axes. The axes with title Wavelet Coherence contains 158 objects of type image, line, patch.

Оценки фазы, полученные из вейвлет спектра, захватывают относительную задержку между двумя временными рядами при 10 и 75 Гц.

Если вы предпочитаете просматривать данные в терминах периодов, а не частоты, можно использовать объект длительности MATLAB, чтобы предоставить wcoherence со шаг расчета.

wcoherence(x2,y2,seconds(0.001),'phasedisplaythreshold',0.75)

Figure contains an axes. The axes with title Wavelet Coherence contains 158 objects of type image, line, patch.

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

Определите когерентные колебания и задержку в данных о климате

Загрузка и построение данных по области 3 Эль-Нино и десеасонизация всего индийского индийского индекса с 1871 по конец 2003 года. Данные отбираются ежемесячно. Временные ряды Nino 3 являются рекордом месячных аномалий температуры поверхности моря в градусах Цельсия, зарегистрированных из экваториальной части Тихого океана в долготах 90 градусов к западу до 150 градусов к западу и широтах 5 градусов к северу до 5 градусов к югу.

load ninoairdata
figure
subplot(2,1,1)
plot(datayear,nino)
title('El Nino Region 3 -- SST Anomalies')
ylabel('Degrees Celsius')
axis tight
subplot(2,1,2)
plot(datayear,air)
axis tight
title('Deseasonalized All Indian Rainfall Index')
ylabel('Millimeters')
xlabel('Year')

Figure contains 2 axes. Axes 1 with title El Nino Region 3 -- SST Anomalies contains an object of type line. Axes 2 with title Deseasonalized All Indian Rainfall Index contains an object of type line.

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

figure
wcoherence(nino,air,years(1/12),'phasedisplaythreshold',0.7)

Figure contains an axes. The axes with title Wavelet Coherence contains 61 objects of type image, line, patch.

График показывает локализованные во времени области сильной когерентности, происходящие в периоды, которые соответствуют типичным циклам Эль-Нино от 2 до 7 лет. График также показывает, что существует приблизительная задержка цикла 3/8-1/2 между двумя временными рядами в этих периодах. Это указывает на то, что периоды потепления моря в соответствии с Эль-Нино, зарегистрированными у побережья Южной Америки, коррелируют с количеством осадков в Индии приблизительно в 17 000 км, но этот эффект задерживается примерно на 1/2 цикла (от 1 до 3,5 лет).

Поиск когерентных колебаний в активности мозга

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

Для примера рассмотрим данные ближней инфракрасной спектроскопии (NIRS), полученные у двух людей. NIRS измеряет активность мозга, используя различные характеристики абсорбции оксигенированного и дезоксигенированного гемоглобина. Данные взяты из Cui, Bryant, & Reiss [1] и были любезно предоставлены авторами для этого примера. Сайт записи был верхней лобной корой для обоих субъектов. Данные отбираются с частотой дискретизации 10 Гц. В эксперименте субъекты альтернативно сотрудничали и конкурировали по задаче. Период выполнения задачи составил примерно 7,5 секунд.

load NIRSData
figure
plot(tm,NIRSData(:,1))
hold on
plot(tm,NIRSData(:,2),'r')
legend('Subject 1','Subject 2','Location','NorthWest')
xlabel('Seconds')
title('NIRS Data')
grid on
hold off

Figure contains an axes. The axes with title NIRS Data contains 2 objects of type line. These objects represent Subject 1, Subject 2.

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

[wcoh,~,F,coi] = wcoherence(NIRSData(:,1),NIRSData(:,2),10,'numscales',16);
helperPlotCoherence(wcoh,tm,F,coi,'Seconds','Hz')

Figure contains an axes. The axes with title Wavelet Coherence contains 2 objects of type image, line.

На графике вы видите область сильной согласованности в течение периода набора данных около 1 Гц. Это происходит из-за сердечных ритмов двух субъектов. Кроме того, вы видите области сильной когерентности около 0,13 Гц. Это представляет когерентные колебания в мозге субъектов, вызванные задачей. Если более естественно просмотреть когерентность вейвлета с точки зрения периодов, а не частот, можно ввести интервал дискретизации как объект длительности. wcoherence обеспечивает преобразование масштаба в период.

[wcoh,~,P,coi] = wcoherence(NIRSData(:,1),NIRSData(:,2),seconds(0.1),...
    'numscales',16);
helperPlotCoherence(wcoh,tm,seconds(P),seconds(coi),...
    'Time (secs)','Periods (Seconds)')

Figure contains an axes. The axes with title Wavelet Coherence contains 4 objects of type image, line.

Снова обратите внимание на когерентные колебания, соответствующие сердечной активности субъектов, происходящей на протяжении всех записей с периодом приблизительно одну секунду. Активность, связанная с задачей, также очевидна с периодом приблизительно 8 секунд. Для получения более подробного вейвлета анализа этих данных обратитесь к Cui, Bryant, & Reiss [1].

Заключения

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

Приложение

В этом примере используется следующая вспомогательная функция.

Ссылки

[1] Cui, X., D. M. Bryant, and A. L. Reiss. «Гиперсканирование на основе NIRS обнаруживает повышенную межличностную когерентность в верхней лобной коре во время сотрудничества». Нейроизображение. Том 59, № 3, 2012, стр. 2430-2437.

[2] Grinsted, A., J. C. Moore, and S. Jevrejeva. Применение поперечного вейвлет и вейвлет к геофизическим временным рядам. Нелинейные процессы в геофизике. Том 11, 2004, стр. 561-566. doi: 10.5194/npg-11-561-2004.

[3] Maraun, D., J. Kurths, and M. Holschneider. Нестационарные Гауссовы процессы в вейвлет области: синтез, оценка и проверка значимости. Физический обзор E. Vol. 75, 2007, pp. 016707 (1) -016707 (14). doi:10.1103/PhysRevE.75.016707.

[4] Торренс, К. и П. Уэбстер. Междекадные изменения в системе ENSO-Monsoon. Журнал климата. Том 12, № 8, 1999, стр. 2679-2690. doi: 10,1175/1520-0442 (1999) 012 < 2679: ICITEM > 2,0 .CO; 2.

См. также