timeSpectrum

Усредненные по времени вейвлеты спектра

    Описание

    tavgp = timeSpectrum(fb,x) возвращает усредненный по времени вейвлетом степени спектр сигнала x использование группы фильтров непрерывного вейвлет (CWT) fb. По умолчанию tavgp получают путем усреднения по времени скалограммы в квадрате амплитуды в любое время. Степень усредненного по времени вейвлета спектра нормирована, чтобы равняться отклонение x.

    tavgp = timeSpectrum(fb,cfs) возвращает среднее по времени вейвлета спектра для коэффициентов CWT cfs.

    Примечание

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

    пример

    [tavgp,f] = timeSpectrum(___) возвращает средние частоты или центральные периоды вейвлет- спектр со средним временем. f - вектор-столбец или массив длительности в зависимости от того, задана ли частота дискретизации или период дискретизации в группе фильтров CWT, fb.

    пример

    [___] = timeSpectrum(___,Name,Value) задает дополнительные опции, используя аргументы пары "имя-значение". Эти аргументы могут быть добавлены к любому из предыдущих входных синтаксисов. Для примера, 'Normalization','none' не задает нормализацию усредненного по времени вейвлета спектра.

    timeSpectrum(___) без выходных аргументов строит графики усредненного по времени вейвлета степени спектра в текущую фигуру.

    Примеры

    свернуть все

    Загрузите NPG2006 набор данных [1]. Данные являются траекторией подповерхностного поплавка, захваченного вихрем. Постройте график смещения в восточном и северном направлениях. треугольник помечает начальное положение.

    load npg2006
    plot(npg2006.cx)
    hold on
    grid on
    xlabel('Eastward Displacement (km)')
    ylabel('Northward Displacement (km)')
    plot(npg2006.cx(1),'^','markersize',11,'color','r',...
        'markerfacecolor',[1 0 0 ])

    Figure contains an axes. The axes contains 2 objects of type line.

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

    fb = cwtfilterbank('SignalLength',length(npg2006.cx),'SamplingPeriod',hours(4));

    Получите усредненные по времени вейвлетом степени спектры и центральные периоды.

    [tavgp,centerP] = timeSpectrum(fb,npg2006.cx);
    size(tavgp)
    ans = 1×3
    
        73     1     2
    
    

    Первая страница является усредненной по времени вейвлетом спектра для положительных шкал (аналитическая часть или компонент против часовой стрелки), а вторая страница является усредненной по времени вейвлетом спектра для отрицательных шкал (антианалитическая часть или компонент против часовой стрелки). Постройте обе спектра.

    subplot(2,1,1)
    plot(centerP,tavgp(:,1,1))
    title('Counterclockwise Component')
    ylabel('Power')
    xlabel('Period (hrs)')
    subplot(2,1,2)
    plot(centerP,tavgp(:,1,2))
    title('Clockwise Component')
    ylabel('Power')
    xlabel('Period (hrs)')

    Figure contains 2 axes. Axes 1 with title Counterclockwise Component contains an object of type line. Axes 2 with title Clockwise Component contains an object of type line.

    Если вы опускаете выходные аргументы и выполняете timeSpectrum(fb,npg2006.cx) в командной строке на текущей фигуре нанесены скалограммы и усредненные по времени спектры степени. Следует отметить, что вращение поплавка по часовой стрелке фиксируется на вращательной скалограмме по часовой стрелке и усредненном по времени спектре.

    Загрузка временных рядов величин солнечного магнитного поля, регистрируемых ежечасно над южным полюсом Солнца космическим аппаратом Улисс с 21:00 UT 4 декабря 1993 года до 12:00 UT 24 мая 1994 года. Полное описание этих данных см. в разделе [3] pp. 218-220. Создайте банк фильтров CWT, который можно применить к данным. Постройте график скалограммы и усредненных по времени вейвлетов спектра.

    load solarMFmagnitudes
    fb = cwtfilterbank('SignalLength',length(sm),'SamplingPeriod',hours(1));
    timeSpectrum(fb,sm)

    Figure contains 2 axes. Axes 1 with title Magnitude Scalogram contains 3 objects of type image, line, area. Axes 2 with title Time-Averaged Wavelet Spectrum contains an object of type line.

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

    tavg = timeSpectrum(fb,sm);
    [var(sm) sum(tavg)]
    ans = 1×2
    
        0.0448    0.0447
    
    

    Получите усредненную по времени вейвлет спектра сигнала, но вместо этого нормализуйте степень как функцию плотности вероятностей. Проверьте, что сумма равна 1.

    tavg = timeSpectrum(fb,sm,'Normalization','pdf');
    sum(tavg)
    ans = 1.0000
    

    Если вы задаете SpectrumType на 'density', timeSpectrum нормализует взвешенный интеграл вейвлета спектра согласно значению Normalization. Спектр имитирует функцию плотности вероятностей, чей интеграл, численно оцененный, равен значению, заданному как Normalization.

    Постройте график скалограммы и усредненного по времени вейвлет с типом спектра 'density' и 'pdf' нормализация.

    figure
    timeSpectrum(fb,sm,'SpectrumType','density','Normalization','pdf')

    Figure contains 2 axes. Axes 1 with title Magnitude Scalogram contains 3 objects of type image, line, area. Axes 2 with title Time-Averaged Wavelet Spectrum contains an object of type line.

    Чтобы подтвердить, что интеграл спектра равен 1, сначала получите усредненный по времени вейвлет с 'density' спектральный тип и 'pdf' нормализация.

    tavg = timeSpectrum(fb,sm,'SpectrumType','density','Normalization','pdf');

    По умолчанию банк фильтров использует аналитический вейвлет Морзе (3,60). Получите константу допустимости для вейвлета и численно интегрируйте спектр, используя метод трапеций. Следует иметь в виду, что CWT использует L1 нормализацию. Подтвердите, что интеграл равен 1.

    ga = 3;
    tbw = 60;
    
    be = tbw/ga;
    anorm = 2*exp(be/ga*(1+(log(ga)-log(be))));
    cPsi = anorm^2/(2*ga).*(1/2)^(2*(be/ga)-1)*gamma(2*be/ga);
    
    rawScales = scales(fb);
    numInt = 2/cPsi*1/length(sm)*trapz(rawScales(:),tavg./rawScales(:))
    numInt = 1.0000
    

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

    свернуть все

    Непрерывная группа фильтров преобразования вейвлета (CWT), заданная как cwtfilterbank объект.

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

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

    Коэффициенты CWT, заданные как матрица 2-D или как M массив -by- N -by-2. cfs должно быть выходом wt функция объекта банка фильтров CWT fb.

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

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

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

    Пример: timeSpectrum(fb,x,'TimeLimits',[100 500],'Normalization','none') возвращает усредненный по времени вейвлет, усредненный в пределах времени, заданных в выборках, без нормализации спектра.

    Нормализация усредненного по времени вейвлета спектра, заданная как разделенная запятой пара, состоящая из 'Normalization' и одно из следующих:

    • 'var' - Нормализация, чтобы равняться отклонения временных рядов x. Если вы предоставляете cfs вход, timeSpectrum функция использует отклонение последних временных рядов, обработанную функцией объекта банка фильтров wt.

    • 'pdf' - Нормализация равна 1.

    • 'none' - Нормализация не применяется.

    Тип вейвлета спектра для возврата, заданный как разделенная запятой пара, состоящий из 'SpectrumType' и любой из них 'power' или 'density'. Если задано как 'power'усредненная сумма усредненной по времени вейвлета спектра за все времена нормирована согласно значению, указанному в 'Normalization'. Если задано как 'density'взвешенный интеграл вейвлета спектра за все время нормирован согласно значению, заданному в 'Normalization'.

    Примечание

    Что касается численной реализации непрерывного вейвлет, интеграл по шкале выполняется с использованием L1 нормализации. При L1 нормализации, если у вас в данных есть одинаковые амплитудные колебательные компоненты в разных шкалах, они будут иметь равную величину в CWT. Использование L1 нормализации обеспечивает более точное представление сигнала. Для получения дополнительной информации смотрите L1 Норма для CWT.

    Пределы времени, в течение которых можно усреднить вейвлеты спектра, указанные в выборках. TimeLimits задается как разделенная разделенными запятой парами, состоящая из 'TimeLimits' и двухэлементный вектор с недекретирующимися элементами. Когда вы задаете входные данные как сигнал, элементы находятся между 1 и длиной x. Когда вы задаете входные данные как коэффициенты CWT, элементы находятся между 1 и размером (cfs,2).

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

    свернуть все

    Усредненный по времени вейвлетом степени спектр, возвращенный как реальный вектор или реальный трехмерный массив. Если x является реальным, tavgp вектор F -by-1, где F - количество вейвлет частот или центральных периодов в группе фильтров CWT fb. Если x является комплексным, tavgp представляет собой F массив -на 1 на 2, где первая страница является усредненным по времени вейвлет для положительных шкал (аналитическая часть или компонент против часовой стрелки), а вторая страница является усредненным по времени вейвлет для отрицательных шкал (антианалитическая часть или компонент по часовой стрелке).

    Центральные частоты или центральные периоды для усредненных по времени вейвлетов спектров, возвращаемых как массив вектора-столбца или длительности, соответственно. Если частота дискретизации задана в fb, затем элементы f являются центральными частотами, упорядоченными от высоких до низких. Если период дискретизации задан в fb, затем элементы f являются центральными периодами.

    Ссылки

    [1] Лилли, Дж. М. и Дж. -К. Гаскард. Вейвлет изменяющихся во времени эллиптических сигналов с применением к океаническому вихрю. Нелинейные процессы в геофизике 13, № 5 (14 сентября 2006): 467-83. https://doi.org/10.5194/npg-13-467-2006.

    [2] Торренс, Кристофер и Гилберт П. Компо. Практическое руководство по Вейвлету анализу. Бюллетень Американского метеорологического общества 79, № 1 (1 января 1998): 61-78. https://doi.org/10.1175/1520-0477 (1998) 079 < 0061: APGTWA > 2,0 .CO; 2.

    [3] Персиваль, Дональд Б. и Эндрю Т. Уолден. Вейвлет для анализа временных рядов. Кембриджская серия в статистической и вероятностной математике. Кембридж; Нью-Йорк: Cambridge University Press, 2000.

    [4] Лилли, J.M. и S.C. Олхеде. «Высшие Свойства аналитических вейвлетов». Транзакции IEEE по обработке сигналов 57, № 1 (январь 2009 года): 146-60. https://doi.org/10.1109/TSP.2008.2007607.

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

    Генерация кода C/C + +
    Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

    .

    См. также

    |

    Введенный в R2020b