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, функция возвращает оба f и конус влияния в Гц.

пример

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

пример

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));
[wcoh,~,period,coi] = wcoherence(x,y,seconds(0.001));

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

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);

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

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

Получите когерентность вейвлета для двух сигналов, задав частоту дискретизации 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)

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

Получите преобразование шкалы к частоте выход в 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);

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

wcoherence(x,y,'NumScalesToSmooth',16);

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

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

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

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

wcoherence(nino,air,years(1/12),'PhaseDisplayThreshold',0.7);

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Типы данных: double
Поддержка комплексного числа: Да

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

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

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

Больше о

свернуть все

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

Вейвлет перекрестный спектр является мерой распределения сигналов степени двойки.

Перекрестный спектр вейвлета двух временных рядов, 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)|2S(|Cy(a,b)|2

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

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

Ссылки

[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