timeSpectrum

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

    Описание

    tavgp = timeSpectrum(fb,x) возвращает усредненный во времени спектр мощности вейвлета x сигнала использование набора фильтров непрерывного вейвлета преобразовывает (CWT) fb. По умолчанию, tavgp получен путем усреднения во времени scalogram в квадрате величиной по всем случаям. Степень усредненного во времени спектра вейвлета нормирована, чтобы равняться отклонению 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 object. The axes object 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 objects. Axes object 1 with title Counterclockwise Component contains an object of type line. Axes object 2 with title Clockwise Component contains an object of type line.

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

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

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

    Figure contains 2 axes objects. Axes object 1 with title Magnitude Scalogram contains 3 objects of type image, line, area. Axes object 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.

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

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

    Figure contains 2 axes objects. Axes object 1 with title Magnitude Scalogram contains 3 objects of type image, line, area. Axes object 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 в виде 2D матрицы или как M-by-N-by-2 массив. cfs должен быть выход wt объектная функция набора фильтров CWT fb.

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

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

    Задайте дополнительные разделенные запятой пары 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-by-1-by-2 массив, где первая страница является усредненным во времени спектром вейвлета для положительных шкал (аналитическая часть или против часовой стрелки компонент), и вторая страница является усредненным во времени спектром вейвлета для отрицательных шкал (антианалитическая часть или по часовой стрелке компонент).

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

    Ссылки

    [1] Лилли, J. M. и J.-C. Gascard. “Диагноз Гребня вейвлета Изменяющихся во времени Эллиптических Сигналов с Приложением к Океанскому Вихрю”. Нелинейные Процессы в Геофизике 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] Персиваль, Дональд Б. и Эндрю Т. Уолден. Методы вейвлета для анализа временных рядов. Кембриджский ряд в статистической и вероятностной математике. Кембридж  ; Нью-Йорк: Издательство Кембриджского университета, 2000.

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

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

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

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

    |

    Введенный в R2020b