В этом разделе объясняется конус влияния (COI) и соглашение Вейвлет Toolbox™ использует для его вычисления. Тема также объясняет, как интерпретировать COI в графике скалограммы, и как именно COI вычисляется в cwtfilterbank и cwt.
Загрузить сейсмографический сигнал землетрясения Кобе. Постройте график скалограммы сейсмографического сигнала землетрясения в Кобе. Данные отбираются при частоте 1 герц.
load kobe
cwt(kobe,1)
Помимо скалограммы, на графике также присутствует пунктирная белая линия и затенённые серые области от края белой линии до осей времени и частоты. Постройте график тех же данных с использованием интервала выборки вместо частоты выборки. Теперь скалограмма отображается в периодах вместо частоты.
cwt(kobe,seconds(1))

Ориентация пунктирной белой линии перевернулась вверх дном, но линия и затененные области все еще присутствуют.
Белая линия отмечает то, что известно как конус влияния. Конус воздействия включает линию и затененную область от края линии до частотной (или периодической) и временной осей. Конус влияния показывает области в скалограмме, потенциально затронутые артефактами краевого эффекта. Это эффекты на скалограмме, которые возникают из областей, где растянутые вейвлеты простираются за края интервала наблюдения. В пределах незакрашенной области, очерченной белой линией, вы уверены, что информация, предоставленная скалограммой, является точным частотно-временным представлением данных. За пределами белой линии в затененной области информация в скалограмме должна рассматриваться как подозрительная из-за потенциала краевых эффектов.
Чтобы начать понимать конус влияния, создайте центрированный импульсный сигнал длиной 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);
Использовать функцию помощника 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')

Сплошная черная линия показывает расположение импульса во времени. Следует отметить, что по мере уменьшения частоты ширина коэффициентов CWT во времени, которые являются ненулевыми и центрированы на импульсе, увеличивается. И наоборот, по мере увеличения частоты ширина коэффициентов CWT, которые являются ненулевыми, уменьшается и становится все более центрированной на импульсе. Низкие частоты соответствуют вейвлетам более длинного масштаба, а более высокие частоты соответствуют вейвлетам более короткого масштаба. Эффект импульса сохраняется дольше во времени при более длинных вейвлетах. Другими словами, чем длиннее вейвлет, тем больше длительность воздействия сигнала. Для вейвлета, центрированного в определенный момент времени, растягивание или уменьшение вейвлета приводит к тому, что вейвлет «видит» больше или меньше сигнала. Это называется конусом влияния вейвлета.
Предыдущий раздел иллюстрирует конус воздействия для импульса в центре наблюдения, или интервал данных. Но что происходит, когда вейвлеты расположены вблизи начала или конца данных? При вейвлет-преобразовании мы не только расширяем вейвлет, но и переводим его во времени. Вейвлеты вблизи начала или конца данных неизбежно «видят» данные вне интервала наблюдения. Различные способы используются для компенсации того факта, что на вейвлет-коэффициенты вблизи начала и конца данных влияют вейвлеты, простирающиеся за пределы границы. 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')
Здесь ясно, что конус влияния для крайних границ интервала наблюдения простирается в интервал до степени, которая зависит от масштаба вейвлета. Следовательно, на вейвлет-коэффициенты внутри интервала наблюдения может влиять то, какие данные вейвлет видит на границах сигнала, или даже перед фактическими границами сигнала, если продлить сигнал каким-либо образом.
На предыдущем рисунке вы уже должны увидеть поразительное сходство между конусом влияния, возвращенным cwtfilterbank или нанесено на график cwt и области, где коэффициенты скалограммы для двухимпульсного сигнала ненулевые.
Хотя важно понимать эти граничные эффекты на интерпретацию вейвлет-коэффициентов, нет математически точного правила для определения степени конуса влияния на каждой шкале. Nobach et al. [2] определяют степень конуса влияния в каждой шкале как точку, где величина вейвлет-преобразования затухает до 2% от ее пикового значения. Поскольку многие вейвлеты, используемые в непрерывном вейвлет-анализе, распадаются экспоненциально во времени, Торренс и Компо [3] используют постоянную времени для разграничения границ конуса влияния на каждой шкале. Для вейвлетов Морса Лилли [1] использует концепцию «вейвлетного следа», который является временным интервалом, который охватывает приблизительно 95% энергии вейвлета. Лилли разграничивает COI, добавляя 1/2 волнового следа к началу интервала наблюдения и вычитая 1/2 следа из конца интервала в каждой шкале.
cwtfilterbank и cwt функции используют приближение к правилу 1/e для разграничения COI. Аппроксимация включает в себя добавление одного стандартного отклонения во временной области на каждой шкале к началу интервала наблюдения и вычитание одного стандартного отклонения во временной области на каждой шкале из конца интервала. Прежде чем демонстрировать это соответствие, добавьте вычисленный COI к предыдущему сюжету.
helperPlotScalogram(f,cfs,coi)
title('Scalogram with Cone of Influence')
Вы видите, что вычисленный COI является хорошим приближением к границам значительных эффектов импульса в начале и конце сигнала.
Показать, как cwtfilterbank и cwt вычислить это правило явным образом, рассмотрим два примера, один для аналитического вейвлета Морле и один для вейвлета Морса по умолчанию. Начните с аналитического вейвлета Морле, где наше правило стандартного отклонения в одной временной области точно согласуется с выражением времени складывания, используемого Торренсом и Компо [3].
fb = cwtfilterbank('Wavelet','amor'); [~,f,coi] = wt(fb,dirac);
Выражение для COI в Torrence и Compo равно , где - масштаб. Для аналитического вейвлета Morlet в 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')

Последний пример показывает то же соответствие для импульса Морса по умолчанию в 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')

В этом примере используется следующая вспомогательная функция.
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] Лилли, Дж. М. «Элементный анализ: метод на основе вейвлета для анализа локализованных во времени событий в шумных временных рядах». Труды Королевского общества А. Том 473:20160776, 2017, стр. 1-28. dx.doi.org/10.1098/rspa.2016.0776.
[2] Нобах, Х., Тропея, К., Кордье, Л., Бонне, Дж. П., Дельвиль, Дж., Левалле, Дж., Фарж, М., Шнайдер, К. и Р. Дж. Адриан. «Обзор некоторых основ обработки данных». Springer Handbook of Experimental Fluid Mechanics (C. Tropea, A. L. Yarin, и J. F. Foss, eds.). Берлин, Гейдельберг: Шпрингер, 2007, с. 1337-1398.
[3] Торренс, C. и G. Композит. «Практическое руководство по вейвлет-анализу». Бюллетень Американского метеорологического общества. Том 79, номер 1, 1998, стр. 61-78.
cwt | cwtfilterbank | pspectrum (Панель инструментов обработки сигналов)