exponenta event banner

wcoherence

Вейвлет-когерентность и перекрестный спектр

Описание

пример

wcoh = wcoherence(x,y) возвращает амплитудно-квадратичную вейвлет-когерентность, которая является мерой корреляции между сигналами x и y во временной-частотной плоскости. Вейвлет-когерентность полезна для анализа нестационарных сигналов. Исходные данные x и y должна быть одинаковой длиной, 1-D, действительными сигналами. Когерентность вычисляется с использованием аналитического импульса Морле.

[wcoh,wcs] = wcoherence(x,y) возвращает вейвлет-кросс-спектр x и y. Для определения относительного запаздывания между входными сигналами можно использовать фазу значений вейвлет-перекрестного спектра.

пример

[wcoh,wcs,period] = wcoherence(x,y,ts) использует положительное duration ts в качестве интервала выборки. Продолжительность ts используется для вычисления преобразования масштаба в период, period. Массив длительности period имеет тот же формат, что и указанный в ts.

пример

[wcoh,wcs,f] = wcoherence(x,y,fs) использует положительную частоту выборки, fs, для вычисления масштабного преобразования в частоту, f. Частота дискретизации fs в Гц.

[wcoh,wcs,f,coi] = wcoherence(___) возвращает конус влияния, coiдля вейвлет-когерентности в циклах на выборку. Если указана частота выборки, fs, конус влияния в Гц.

пример

[wcoh,wcs,period,coi] = wcoherence(___,ts) возвращает конус влияния, coi, в циклах за единицу времени.

[___,coi,wtx,wty] = wcoherence(___) возвращает непрерывные вейвлет-преобразования (CWT) x и y в wtx, wtyсоответственно. wtx и wty используются при формировании оценки поперечного спектра импульса и когерентности.

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

пример

wcoherence(___) без выходных аргументов строит график вейвлет-когерентности и конуса влияния на текущем рисунке. Из-за обратной зависимости между частотой и периодом график, использующий интервал выборки, является обратным графику, использующему частоту выборки. Для областей, где когерентность превышает 0,5, графики, которые используют стрелки отображения частоты выборки для отображения фазового запаздывания y в отношении x. Стрелки разнесены по времени и масштабу. Направление стрелок соответствует фазовому запаздыванию на единичной окружности. Например, вертикальная стрелка указывает??????????????????????????????????? Соответствующее отставание во времени зависит от продолжительности цикла.

Примеры

свернуть все

Использовать по умолчанию wcoherence установки для получения вейвлет-когерентности между синусоидальной волной со случайным шумом и частотно-модулированным сигналом с уменьшением частоты во времени.

t  = linspace(0,1,1024);
x = -sin(8*pi*t) + 0.4*randn(1,1024);
x = x/max(abs(x));
y = wnoise('doppler',10);
wcoh = wcoherence(x,y);

Вычисление когерентности по умолчанию использует аналитический вейвлет Морле, 12 голосов на октаву и сглаживает 12 шкал. Число октав по умолчанию равно floor(log2(numel(x)))-1, что в данном случае равно 9.

Получить данные вейвлет-когерентности для двух сигналов, задав интервал дискретизации 0,001 секунды. Оба сигнала состоят из двух синусоидальных волн (10 Гц и 50 Гц) в белом шуме. Синусоидальные волны имеют разные опоры времени.

Установите для генератора случайных чисел параметры по умолчанию для воспроизводимости. Затем создайте два сигнала.

rng default;
t = 0:0.001:2;
x = cos(2*pi*10*t).*(t>=0.5 & t<1.1)+ ...
cos(2*pi*50*t).*(t>= 0.2 & t< 1.4)+0.25*randn(size(t));
y = sin(2*pi*10*t).*(t>=0.6 & t<1.2)+...
sin(2*pi*50*t).*(t>= 0.4 & t<1.6)+ 0.35*randn(size(t));
subplot(2,1,1)
plot(t,x)
title('X')
subplot(2,1,2)
plot(t,y)
title('Y')
xlabel('Time (seconds)')

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

Получение когерентности двух сигналов.

[wcoh,~,period,coi] = wcoherence(x,y,seconds(0.001));

Используйте pcolor команда для построения графика когерентности и конуса воздействия.

figure
period = seconds(period);
coi = seconds(coi);
h = pcolor(t,log2(period),wcoh);
h.EdgeColor = 'none';
ax = gca;
ytick=round(pow2(ax.YTick),3);
ax.YTickLabel=ytick;
ax.XLabel.String='Time';
ax.YLabel.String='Period';
ax.Title.String = 'Wavelet Coherence';
hcol = colorbar;
hcol.Label.String = 'Magnitude-Squared Coherence';
hold on;
plot(ax,t,log2(coi),'w--','linewidth',2)

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

Использовать wcoherence(x,y,seconds(0.001)) без каких-либо аргументов вывода. Этот график включает в себя фазовые стрелки и конус воздействия.

wcoherence(x,y,seconds(0.001));

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

Получить вейвлет-когерентность для двух сигналов, задав частоту дискретизации 1000 Гц. Оба сигнала состоят из двух синусоидальных волн (10 Гц и 50 Гц) в белом шуме. Синусоидальные волны имеют разные опоры времени.

Установите для генератора случайных чисел настройки по умолчанию для воспроизводимости и создайте два сигнала.

rng default
t = 0:0.001:2;
x = cos(2*pi*10*t).*(t>=0.5 & t<1.1)+...
    cos(2*pi*50*t).*(t>= 0.2 & t< 1.4)+0.25*randn(size(t));
y = sin(2*pi*10*t).*(t>=0.6 & t<1.2)+...
    sin(2*pi*50*t).*(t>= 0.4 & t<1.6)+ 0.35*randn(size(t));

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

wcoherence(x,y,1000)

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

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

[wcoh,wcs,f] = wcoherence(x,y,1000);

Получение вейвлет-когерентности для двух сигналов. Оба сигнала состоят из двух синусоидальных волн (10 Гц и 50 Гц) в белом шуме. Для сглаживания используйте количество шкал по умолчанию. Это значение эквивалентно количеству голосов на октаву. Оба значения по умолчанию - 12.

Установите для генератора случайных чисел параметры по умолчанию для воспроизводимости. Затем создайте два сигнала и получите когерентность.

rng default;
t = 0:0.001:2;
x = cos(2*pi*10*t).*(t>=0.5 & t<1.1)+ ...
cos(2*pi*50*t).*(t>= 0.2 & t< 1.4)+0.25*randn(size(t));
y = sin(2*pi*10*t).*(t>=0.6 & t<1.2)+...
sin(2*pi*50*t).*(t>= 0.4 & t<1.6)+ 0.35*randn(size(t));
wcoherence(x,y)

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

Установите для числа шкал значение 18. Увеличенное сглаживание приводит к уменьшению низкочастотного разрешения.

wcoherence(x,y,'NumScalesToSmooth',18)

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

Сравните влияние использования различных пороговых значений отображения фазы на когерентность вейвлета.

Постройте график вейвлет-когерентности между временным рядом El Nino и индексом среднего количества осадков во всей Индии. Данные отбираются ежемесячно. Укажите интервал выборки 1/12 года для отображения периодов в годах. Используйте порог отображения фазы по умолчанию 0,5, который показывает стрелки фазы только в том случае, если когерентность больше или равна 0,5.

load ninoairdata;
wcoherence(nino,air,years(1/12));

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

Установите порог отображения фазы равным 0,7. Количество фазовых стрелок уменьшается.

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.

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

свернуть все

Входной сигнал, определяемый как вектор вещественных значений. x должен быть 1-D, действительным сигналом. Два входных сигнала, x и y, должна быть одинаковой длины и иметь не менее четырех образцов.

Входной сигнал, определяемый как вектор вещественных значений. y должен быть 1-D, действительным сигналом. Два входных сигнала, x и y, должна быть одинаковой длины и иметь не менее четырех образцов.

Интервал выборки, также известный как период выборки, указанный как duration с положительным скалярным входом. Допустимые длительности: years, days, hours, seconds, и minutes. Вы также можете использовать duration для указания функции ts. Нельзя использовать длительность календаря (caldays, calweeks, calmonths, calquarters, или calyears).

Нельзя указать частоту выборки fs и период отбора проб ts.

Частота выборки, заданная как положительный скаляр.

При указании fs как пустые, wcoherence использует нормированную частоту в циклах/выборке. Частота Найквиста равна ½.

Нельзя указать частоту выборки fs и период отбора проб ts.

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

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

Пример: 'PhaseDisplayThreshold',0.7; определяет пороговое значение для отображения векторов фазы.

Пределы частоты для использования в wcoherence, заданный как двухэлементный вектор с положительными строго увеличивающимися элементами. Первый элемент определяет наименьшую пиковую частоту полосы пропускания и должен быть больше или равен произведению пиковой частоты импульса в герцах и двух стандартных временных отклонений, разделенных на длину сигнала. Второй элемент определяет максимальную пиковую частоту полосы пропускания и должен быть меньше или равен частоте Найквиста. Логарифм основания 2 отношения максимальной частоты к минимальной частоте должен быть больше или равен 1/NV где NV - число голосов на октаву.

Если заданы пределы частоты за пределами допустимого диапазона, wcoherence усечение пределов до минимального и максимального допустимых значений. Использовать cwtfreqbounds с вейвлетом, установленным в значение 'amor' определяют частотные пределы для различных параметризаций вейвлет-когерентности.

Пример: 'FrequencyLimits',[0.1 0.3]

Ограничения периода для использования в wcoherence, заданный как двухэлементный массив длительности со строго увеличивающимися положительными элементами. Первый элемент должен быть больше или равен 2 ×ts где ts - период выборки. Логарифм основания 2 отношения минимального периода к максимальному периоду должен быть меньше или равен -1/NV где NV - число голосов на октаву. Максимальный период не может превышать длину сигнала, деленную на произведение двух стандартных временных отклонений вейвлета и пиковой частоты вейвлета.

Если указаны пределы периода за пределами допустимого диапазона, wcoherence усечение пределов до минимального и максимального допустимых значений. Использовать cwtfreqbounds с вейвлетом, установленным в значение 'amor' определяют пределы периода для различных параметризаций вейвлет-когерентности.

Пример: 'PeriodLimits',[seconds(0.2) seconds(1)]

Типы данных: duration

Количество голосов на октаву для использования в вейвлет-когерентности, указанное как чётное целое число от 10 до 32.

Число шкал для сглаживания во времени и масштабе, задаваемое как положительное целое число, меньшее или равное половине N, где N - число шкал в вейвлет-преобразовании. Если не указано, NumScalesToSmooth по умолчанию - минимальное значение floor(N/2) и VoicesPerOctave. Функция использует фильтр скользящего среднего для сглаживания по шкале. Если когерентность шумная, можно указать больший NumScalesToSmooth значение, чтобы сгладить когерентность больше.

Число октав для использования в вейвлет-когерентности, указанное как положительное целое число от 1 до floor(log2(numel(x)))-1. Если вам не нужно проверять более низкие значения частоты, используйте меньший NumOctaves значение.

'NumOctaves' пара «имя-значение» не рекомендуется и будет удалена в следующем выпуске. Рекомендуемый способ изменения частоты или диапазона периодов вейвлет когерентности с 'FrequencyLimits' или 'PeriodLimits' пары имя-значение. Вы не можете указать оба 'NumOctaves' и 'FrequencyLimits' или 'PeriodLimits' пары имя-значение. Посмотрите cwtfreqbounds.

Порог отображения векторов фазы, заданный как действительный скаляр между 0 и 1. Эта функция отображает векторы фазы для областей с когерентностью, большей или равной указанному пороговому значению. При понижении порогового значения отображается больше векторов фазы. Если вы используете wcoherence с любыми выходными аргументами, PhaseDisplayThreshold значение игнорируется.

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

свернуть все

Вейвлетная когерентность, возвращаемая в виде матрицы. Когерентность вычисляется с использованием аналитического вейвлета Морле по логарифмическим масштабам, со значением по умолчанию 12 голосов на октаву. Число октав по умолчанию равно floor(log2(numel(x)))-1. Если интервал выборки не указан, предполагается частота выборки.

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

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

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

Конус влияния для вейвлет когерентности, возвращаемый как массив двойников или массив длительностей. Конус влияния указывает, где возникают краевые эффекты в данных когерентности. Если указана частота выборки, fs, конус влияния в Гц. Если указан интервал или период выборки, ts, конус влияния в периодах. Из-за краевых эффектов, дать меньше доверия к областям кажущейся высокой когерентности, которые находятся вне или перекрывают конус влияния. Конус воздействия обозначается пунктирной линией.

Дополнительные сведения см. в разделе Граничные эффекты и конус влияния.

Непрерывное вейвлет-преобразование x, возвращается в виде матрицы.

Непрерывное вейвлет-преобразование y, возвращается в виде матрицы.

Подробнее

свернуть все

Поперечный спектр вейвлета

Вейвлет-кросс-спектр является мерой распределения мощности двух сигналов.

Вейвлет-кросс-спектр двух временных рядов, x и y, равен:

Cxy (a, b) = S (Cx * (a, b) Cy (a, b))

Cx (a, b) и Cy (a, b) обозначают непрерывные вейвлет-преобразования x и y в масштабах a и положениях b. Надстрочный индекс * является комплексным сопряжением, а S - сглаживающим оператором во времени и масштабе.

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

Когерентность вейвлета

Вейвлет-когерентность является мерой корреляции между двумя сигналами.

Вейвлет-когерентность двух временных рядов x и y равна:

| S (Cx * (a, b) Cy (a, b)) | 2S (| Cx (a, b) | 2)· S (| Cy (a, b) | 2)

Cx (a, b) и Cy (a, b) обозначают непрерывные вейвлет-преобразования x и y в масштабах a и положениях b. Надстрочный индекс * является комплексным сопряжением, а S - сглаживающим оператором во времени и масштабе.

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

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2020a

Ссылки

[1] Гринстед, А, Дж., К. Мур и С. Джевреева. «Применение кросс-вейвлет-преобразования и вейвлет-когерентности к геофизическим временным рядам». Нелинейные процессы в геофизике. Том 11, выпуск 5/6, 2004, стр. 561-566.

[2] Мараун, Д., Дж. Куртс и М. Хольшнайдер. «Нестационарные гауссовы процессы в вейвлет-области: синтез, оценка и проверка значимости». Физический обзор E 75. 2007, стр. 016707-1-016707-14.

[3] Торренс, C. и П. Уэбстер. «Интердекадные изменения в системе ESNO-Муссон». Журнал климата. Том 12, 1999, стр. 2679-2690.

Расширенные возможности

.

См. также

| |

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