Конус влияния в спектрах мощности вейвлета Морле в MATLAB

Я использую вейвлет Морле для непрерывного вейвлет-анализа моих данных в MATLAB. Но центральная частота вейвлета по умолчанию равна 5, тогда как я хотел 6. Поэтому я использовал другой метод для построения желаемого вейвлета с использованием пси-функции, т.е.

[psi,x]=cmorwavf(Lb,Ub,n5,fb,fc)

После свертки я получаю спектр мощности вейвлета. Но я застрял на COI, то есть на конусе влияния.

Я обнаружил, что требуется нулевое заполнение, и после этого я могу использовать conofinf. Но для этого 'conofinf' нужна строка вейвлета, которая используется по умолчанию.

Итак, я указываю свои вопросы: 1. Как обнулить мои данные для вейвлет-анализа (если есть какой-то конкретный метод)? 2. Как указать COI в спектрах мощности вейвлета?

Любая помощь будет здорово!


person sakura    schedule 26.03.2015    source источник


Ответы (1)


Заполнение нулями не обязательно, но рекомендуется. Обычно вы дополняете свой сигнал следующей степенью двойки, большей, чем длина вашего сигнала. Вы можете сделать это либо вручную, например:

newSignal = [zeros(1,floor(n)), oldSignal, zeros(1,ceil(n))];

где n — длина требуемого заполнения нулями, деленная на два:

n = ( 2^nextpow2(length(oldSignal)) - length(oldSignal) ) / 2;

Это не обязательно должно быть с обеих сторон; его можно дополнить справа. Это также не должно быть заполнением нулями; он может быть симметричным, повторяющимся и т. д., что лучше для уменьшения краевых эффектов. Вы можете узнать больше о заполнении сигналов, например. в этой статье, в разделе 2.

Вы должны быть осторожны с нулевым (и любым другим) отступом, он также вносит артефакты, например, нулевой отступ снижает мощность на краях.

Нулевое заполнение не имеет ничего общего с COI. Вы должны быть в состоянии вычислить его даже без заполнения нулями.

Использование MATLAB conofinf очень удобно, но, поскольку вы не можете этого сделать, вы можете попробовать вычислить COI самостоятельно, используя формулу в справке MATLAB:

|t-u| <= sB

где u — параметр перевода вейвлета, s — параметр масштаба, а [-B,+B] — эффективная поддержка вейвлета.

В основном это означает, что на краях вашего вейвлет-преобразования (в моменты времени t1 и tend) COI равен половине длины вейвлета на каждом масштабе. Вы вычисляете его для каждой шкалы и строите по точкам.

Последнее замечание: независимо от того, какой тип заполнения вы выберете, вы не должны забывать обрезать его в результирующем вейвлет-преобразовании (после расчета COI).

Надеюсь, поможет.

person mfedoten    schedule 27.08.2015