wcoherence

Когерентность вейвлета и перекрестный спектр

Описание

пример

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

[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. Стрелы расположены с интервалами вовремя и шкала. Направление стрел соответствует задержке фазы на модульном круге. Например, вертикальная стрелка указывает на π/2 или задержку фазы четверти цикла. Соответствующая задержка вовремя зависит от длительности цикла.

Примеры

свернуть все

Используйте 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);

Расчет когерентности по умолчанию использует аналитический вейвлет Morlet, 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 objects. Axes object 1 with title X contains an object of type line. Axes object 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 object. The axes object 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 object. The axes object with title Wavelet Coherence contains 242 objects of type image, line, patch.

Получите когерентность вейвлета для двух сигналов, задав частоту дискретизации 1 000 Гц. Оба сигнала состоят из двух синусоид (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 object. The axes object 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 object. The axes object with title Wavelet Coherence contains 242 objects of type image, line, patch.

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

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

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

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

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

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

Figure contains an axes object. The axes object 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 object. The axes object with title Wavelet Coherence contains 61 objects of type image, line, patch.

Входные параметры

свернуть все

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

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

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

Вы не можете задать обоих частота дискретизации fs и период выборки ts.

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

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

Вы не можете задать обоих частота дискретизации fs и период выборки ts.

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 значение проигнорировано.

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

свернуть все

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

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

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

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

Конус влияния за когерентность вейвлета, возвращенную или как массив типа double или как массив длительности. Конус влияния указывает, где краевые эффекты происходят в данных о когерентности. Если вы задаете частоту дискретизации, 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] Grinsted, A, J., К. Мур и С. Йеврейева. “Приложение перекрестного вейвлета преобразовывает и когерентность вейвлета к геофизическим временным рядам”. Нелинейные Процессы в Геофизике. Издание 11, Выпуск 5/6, 2004, стр 561–566.

[2] Maraun, D., Дж. Кертс и М. Холшнайдер. "Неустановившиеся Гауссовы процессы в области вейвлета: Синтез, оценка и тестирование значения”. Физический E 75 Анализа. 2007, стр 016707-1–016707-14.

[3] Торренс, C. и П. Уэбстер. "Межпроисходящие каждые десять лет изменения в Системе ESNO-муссона". Журнал Климата. Издание 12, 1999, стр 2679–2690.

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

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

| |

Введенный в R2016a