Краевые эффекты и конус влияния

Эта тема объясняет конус влияния (COI) и конвенцию, которую Wavelet Toolbox™ использует для его вычисления. Тема также объясняет, как интерпретировать COI в скалограммном графике, и как именно вычисляется COI в cwtfilterbank и cwt.

Загрузка сигнала сейсмографа землетрясения Кобе. Постройте график скалограммы сигнала сейсмографа землетрясения Кобе. Данные дискретизированы в 1 герц.

load kobe
cwt(kobe,1)

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

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

cwt(kobe,seconds(1))

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

Ориентация штриховой белой линии перевернулась, но линия и затененные области все еще присутствуют.

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

CWT центрированного импульса

Чтобы начать понимать конус влияния, создайте центрированный импульсный сигнал длины 1024 выборки. Создайте банк фильтров CWT с помощью cwtfilterbank со значениями по умолчанию. Использование wt для возврата коэффициентов CWT и частот импульса. Для лучшей визуализации нормализуйте коэффициенты CWT так, чтобы максимальное абсолютное значение на каждой частоте (для каждой шкалы) равнялось 1.

x = zeros(1024,1);
x(512) = 1;
fb = cwtfilterbank;
[cfs,f] = wt(fb,x);
cfs = cfs./max(cfs,[],2);

Используйте функцию helper helperPlotScalogram на скалограмму. Код для helperPlotFunction находится в конце этого примера. Отметьте местоположение импульса линией.

ax = helperPlotScalogram(f,cfs);
hl = line(ax,[512 512],[min(f) max(f)],...
    [max(abs(cfs(:))) max(abs(cfs(:)))]);
title('Scalogram of Centered Impulse')

Figure contains an axes. The axes with title Scalogram of Centered Impulse contains 2 objects of type surface, line.

Сплошная черная линия показывает положение импульса во времени. Обратите внимание, что когда частота уменьшается, ширина коэффициентов CWT во времени, которые являются ненулевыми и центрированы на импульсе, увеличивается. И наоборот, когда частота увеличивается, ширина коэффициентов CWT, которые ненулевые, уменьшается и становится все более центрированной на импульсе. Низкие частоты соответствуют вейвлетам большей шкалы, в то время как более высокие частоты соответствуют вейвлетам меньшей шкалы. Эффект импульса сохраняется дольше во времени с более длинными вейвлетами. Другими словами, чем больше вейвлет, тем больше длительность влияния сигнала. Для вейвлета, центрированного в определенный момент времени, растяжение или усадка вейвлета приводит к тому, что вейвлет «видит» больше или меньше сигнала. Это упоминается как конус влияния вейвлета.

Краевые эффекты

Предыдущий раздел иллюстрирует конус влияния для импульса в центре наблюдения или интервала данных. Но что происходит, когда вейвлеты расположены вблизи начала или конца данных? При вейвлет-преобразовании мы не только расширяем вейвлет, но и переводим его во времени. Вейвлеты около начала или конца данных неизбежно «видят» данные за пределами интервала наблюдения. Различные методы используются, чтобы компенсировать тот факт, что вейвлет-коэффициенты около начала и конца данных затрагиваются вейвлетами, проходящими вне контура. The cwtfilterbank и cwt функции предлагают опцию обработки контуров путем симметричного отражения сигнала или периодического его расширения. Однако, независимо от того, какой метод используется, вы должны проявлять осторожность при интерпретации коэффициентов вейвлета вблизи контуров, потому что коэффициенты вейвлета зависят от значений, выходящих за пределы сигнала под фактор. Кроме того, степень коэффициентов вейвлета, на которые влияют данные за пределами интервала наблюдения, зависит от шкалы (частоты). Чем больше шкала, тем больше конус влияния.

Повторите пример импульса, но поместите два импульса, один в начале данных и один в конце. Также вернём конус влияния. Для лучшей визуализации нормализуйте коэффициенты CWT так, чтобы максимальное абсолютное значение на каждой частоте (для каждой шкалы) равнялось 1.

dirac = zeros(1024,1);
dirac([1 1024]) = 1;
[cfs,f,coi] = wt(fb,dirac);
cfs = cfs./max(cfs,[],2);
helperPlotScalogram(f,cfs)
title('Scalogram of Two-Impulse Signal')

Figure contains an axes. The axes with title Scalogram of Two-Impulse Signal contains an object of type surface.

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

На предыдущем рисунке вы уже должны увидеть поразительное сходство между конусом влияния, возвращаемым cwtfilterbank или нанесенный на график cwt функция и области, где коэффициенты скалограммы для двухимпульсного сигнала ненулевые.

Хотя важно понимать эти краевые эффекты на интерпретацию вейвлета коэффициентов, нет математически точного правила для определения степени влияния конуса в каждой шкале. Nobach et al. [2] задайте степень конуса влияния в каждой шкале как точку, где вейвлет преобразования величины распадается до 2% от его пикового значения. Поскольку многие вейвлеты, используемые в непрерывном вейвлет-анализе, распадаются экспоненциально во времени, Торренс и Компо [3] используют постоянную времени 1/e разграничение границ конуса влияния в каждой шкале. Для вейвлетов Морса Лилли [1] использует концепцию «следа волны», которая является временным интервалом, который охватывает приблизительно 95% энергии вейвлета. Лилли определяет COI путем добавления 1/2 следа вейвлет к началу интервала наблюдения и вычитания 1/2 следа из конца интервала в каждой шкале.

The cwtfilterbank и cwt функции используют приближение к 1/e правило для разграничения COI. Приближение включает добавление одного стандартного отклонения во временной области в каждой шкале к началу интервала наблюдения и вычитание одного стандартного отклонения во временной области в каждой шкале из конца интервала. Прежде чем мы покажем это соответствие, добавьте вычисленный COI к предыдущему графику.

helperPlotScalogram(f,cfs,coi)
title('Scalogram with Cone of Influence')

Figure contains an axes. The axes with title Scalogram with Cone of Influence contains 2 objects of type surface, line.

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

Чтобы показать, как cwtfilterbank и cwt вычислите это правило явно, рассмотрим два примера, один для аналитического вейвлета Морле и один для вейвлета Морса по умолчанию. Начнем с аналитического вейвлета Морле, где наше правило стандартного отклонения в одной временной области согласуется в точности с выражением времени складывания, используемого Torrence и Compo [3].

fb = cwtfilterbank('Wavelet','amor');
[~,f,coi] = wt(fb,dirac);

Выражение COI в Torrence и Compo является 2s где s - шкала. Для аналитического вейвлета Морле в cwtfilterbank и cwt, это определяется:

cf = 6/(2*pi);
predtimes = sqrt(2)*cf./f;

Постройте график COI, возвращенный cwtfilterbank наряду с выражением, используемым в Torrence и Compo.

plot(1:1024,coi,'k--','linewidth',2)
hold on
grid on
plot(predtimes,f,'r*')
plot(1024-predtimes,f,'r*')
set(gca,'yscale','log')
axis tight
legend('COI','Predicted COI','Location','best')
xlabel('Samples')
ylabel('Hz')
title('Cone of Influence - Analytic Morlet Wavelet')

Figure contains an axes. The axes with title Cone of Influence - Analytic Morlet Wavelet contains 3 objects of type line. These objects represent COI, Predicted COI.

В последнем примере показано то же соответствие для вейвлет Морса по умолчанию в cwtfilterbank и cwt. Стандартное отклонение вейвлета Морса по умолчанию во временной области составляет 5,5008, а пиковая частота - 0,2995 циклов/выборка. Используйте центральные частоты вейвлет фильтров, а также правило стандартного отклонения во временной области, чтобы получить предсказанный COI и сравнить со значениями, возвращаемыми cwtfilterbank.

fb = cwtfilterbank;
[~,f,coi] = wt(fb,dirac);
sd = 5.5008;
cf = 0.2995;
predtimes = cf./f*sd;
figure
plot(1:1024,coi,'k--','linewidth',2)
hold on
grid on
plot(predtimes,f,'r*')
plot(1024-predtimes,f,'r*')
set(gca,'yscale','log')
axis tight
legend('COI','Predicted COI','Location','best')
xlabel('Samples')
ylabel('Hz')
title('Cone of Influence - Default Morse Wavelet')

Figure contains an axes. The axes with title Cone of Influence - Default Morse Wavelet contains 3 objects of type line. These objects represent COI, Predicted COI.

Приложение

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

helperPlotScalogram

function varargout = helperPlotScalogram(f,cfs,coi)
nargoutchk(0,1);
ax = newplot;
surf(ax,1:1024,f,abs(cfs),'EdgeColor','none')
ax.YScale = 'log';
caxis([0.01 1])
colorbar
grid on
ax.YLim = [min(f) max(f)];
ax.XLim = [1 size(cfs,2)];
view(0,90)

xlabel('Time')
ylabel('Cycles/Sample')

if nargin == 3
    hl = line(ax,1:1024,coi,ones(1024,1));
    hl.Color = 'k';
    hl.LineWidth = 2;
end

if nargout > 0
    varargout{1} = ax;
end

end

Ссылки

[1] Lilly, J. M «. Element analysis: a wavelet-based method for analysing time-localized events in шумные временные ряды». Труды Королевского общества А. Том 473:20160776, 2017, стр. 1-28. dx.doi.org/10.1098/rspa.2016.0776.

[2] Nobach, H., Tropea, C., Cordier, L., Bonnet, J. P., Delville, J., Lewalle, J., Farge, M., Schneider, K., and R. J. Adrian. «Обзор некоторых основ обработки данных». Springer Handbook of Experimental Fluid Mechanics (C. Tropea, A. L. Yarin, and J. F. Foss, eds.). Берлин, Гейдельберг: Springer, 2007, pp. 1337-1398.

[3] Торренс, С. и Г. Компо. Практическое руководство по Вейвлету анализу. Бюллетень Американского метеорологического общества. Том 79, № 1, 1998, стр. 61-78.

См. также

Приложения

Функции

Похожие темы