Why is the returning frequency range and scale range inconsistent using CWTFT?

1 回表示 (過去 30 日間)
Ronny Landsverk
Ronny Landsverk 2016 年 8 月 24 日
回答済み: Simon Hofmann 2017 年 5 月 16 日
I have a signal with a sampling period dt. The scale-vs-frequency relation for wavelets is approximately sc = fc/(f*dt), where fc is the center-freq of the mother wavelet. However, using cwtft - the returned structure (including both scales and frequency) does not have this relation. There is some weird stuff going on with 'scale'- input.
sig.val = mySig;
sig.period = dt;
cS = cwtft(sig,'wavelet','morl','scales',{0.001,100*dt,200});
disp([min(cS.frequencies),max(cS.frequencies)]);
disp([min(cS.scales),max(cS.scales)]);
disp(scal2frq([min(cS.scales),max(cS.scales)],'morl',dt));
240.38 954.93
0.0010 0.0040
8124753.85 2045231.02
Also, the output coefficients yields a scalogram that differs a lot from that obtained by coefficients resulting from using CWT.
Recall the syntax for CWTFT - using cell-arrays:
...'scale',{s0,ds,ns},...
where s0: smallest scale, ds: scale spacing, ns: number of scales

回答 (1 件)

Simon Hofmann
Simon Hofmann 2017 年 5 月 16 日
Hey Ronny, it could be that cwtft.m used another relationship between the equivalent Fourier period and the wavelet scale than scal2freq (Meyers et al. 1993) The relationship between Fourier wavelength and morlet wavelet scale is:
lambda = 4*pi*scales / (omega0 + sqrt(2+omega0^2)); frequencies = 1/lambda; from: http://paos.colorado.edu/research/wavelets/bams_79_01_0061.pdf
Default from morlet wavelet: omega0 = 6;
Best Regards Simon
Meyers, S. D., B. G. Kelly, and J. J. O’Brien, 1993: An introduc- tion to wavelet analysis in oceanography and meteorology: With application to the dispersion of Yanai waves. Mon. Wea.Rev., 121,2858–2866.

カテゴリ

Help Center および File ExchangeContinuous Wavelet Transforms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by