exponenta event banner

scaleSpectrum

Средневзвешенный вейвлет-спектр

    Описание

    пример

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

    savgp = scaleSpectrum(fb,cfs) возвращает усредненный по шкале вейвлет-спектр для коэффициентов CWT cfs.

    Примечание

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

    [savgp,scidx] = scaleSpectrum(___) также возвращает индексы масштаба, по которым вычисляется усредненный по шкале вейвлет-спектр. Если не указать FrequencyLimits или PeriodLimits, scidx - вектор от 1 до числа шкал.

    пример

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

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

    Примеры

    свернуть все

    Загрузите аудиофайл, содержащий фрагмент «Hallelujah Chorus» Генделя с частотой 8192 Гц.

    load handel         % To hear, type soundsc(y,Fs)

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

    fb = cwtfilterbank('SignalLength',length(y),'SamplingFrequency',Fs);

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

    scaleSpectrum(fb,y)

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

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

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

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

    Получение усредненного по шкале вейвлет-спектра сигнала с использованием значений по умолчанию. По умолчанию scaleSpectrum нормализует мощность усредненного по шкале вейвлет-спектра, чтобы равняться дисперсии сигнала. Убедитесь, что сумма спектра равна дисперсии сигнала.

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

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

    savg = scaleSpectrum(fb,sm,'Normalization','pdf');
    sum(savg)
    ans = 1.0000
    

    Если установить SpectrumType кому 'density', scaleSpectrum нормализует взвешенный интеграл вейвлет-спектра в соответствии со значением Normalization. В этом случае спектр имитирует функцию плотности вероятности, интеграл которой, вычисленный численно, равен значению, указанному Normalization.

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

    figure
    scaleSpectrum(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 Scale-Averaged Wavelet Spectrum contains an object of type line.

    Для подтверждения интеграла спектра, равного 1, сначала получают усредненный по шкале вейвлет-спектр с помощью 'density' тип спектра и 'pdf' нормализация.

    savg = scaleSpectrum(fb,sm,'SpectrumType','density','Normalization','pdf');

    По умолчанию банк фильтров использует аналитический вейвлет Морса (3,60). Получить константу допустимости для вейвлета и численно интегрировать вейвлет-спектр, используя трапециевидное правило. Убедитесь, что интеграл равен 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);
    
    numInt = 2/cPsi*1/length(sm)*trapz(1:length(savg),savg)
    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.

    Пример: scaleSpectrum(fb,x,'FrequencyLimits',[0.2 0.4]) возвращает усредненный по шкале вейвлет-спектр, усредненный по частотным пределам [0.2 0.4].

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

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

    • 'pdf' - нормализовать к 1.

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

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

    Пределы частоты, по которым усредняется квадратичная скалограмма, заданная как разделенная запятыми пара, состоящая из 'FrequencyLimits' и двухэлементный вектор с недекрессирующими элементами. FrequencyLimits значения должны лежать между самой низкой и самой высокой центральными частотами, возвращаемыми centerFrequencies объектная функция fb. Логарифм основания 2 отношения максимальной частоты к минимальной частоте должен быть больше или равен 1/NV, где NV - значение 'VoicesPerOctave'свойство банка фильтров fb.

    Если область указанных пределов выходит за пределы частоты набора фильтров fb, scaleSpectrum усечение вычислений в пределах диапазона, заданного centerFrequencies(fb). FrequencyLimits не может быть полностью вне диапазона Найквиста.

    Пределы периода, по которым усредняется квадратичная по величине скалограмма, заданная как разделенная запятыми пара, состоящая из 'PeriodsLimits' и двухэлементный вектор с недекрессирующими длительностями. Элементы PeriodLimits согласовывать по типу и формату с 'SamplingPeriod'свойство банка фильтров fb. SamplingPeriod значения должны лежать между самым низким и самым высоким центральным периодами, возвращаемыми centerPeriods объектная функция fb. Логарифм базы 2 отношения минимального периода к максимальному периоду должен быть меньше или равен -1/NV, где NV - значение 'VoicesPerOctave'свойство банка фильтров fb.

    Если область указанных пределов выходит за пределы периода банка фильтров fb, scaleSpectrum усечение вычислений в пределах диапазона, заданного centerPeriods(fb). SamplingPeriod не может быть полностью вне диапазона Найквиста [2 * Ts, N * Ts], гдеTs является 'SamplingPeriod'и N - длина сигнала.

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

    свернуть все

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

    Масштабные индексы, по которым вычисляется средневзвешенный вейвлет-спектр, возвращаются в виде вектора. Если не указать 'FrequencyLimits«или»PeriodLimits', scidx - вектор от 1 до числа шкал.

    Ссылки

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

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

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

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

    .

    См. также

    |

    Представлен в R2020b