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] pp. 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' и двухэлементный вектор с недекретирующимися элементами. The FrequencyLimits значения должны лежать между самой низкой и самой высокой частотами центра, возвращаемыми centerFrequencies функция объекта от fb. Логарифм основы 2 отношения максимальной частоты к минимальной частоте должен быть больше или равен 1/ NV, где NV является значением 'VoicesPerOctave'свойство банка фильтров fb.

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

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

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

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

    свернуть все

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

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

    .

    См. также

    |

    Введенный в R2020b