Why is the returning frequency range and scale range inconsistent using CWTFT?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuestas (1)
Simon Hofmann
el 16 de Mayo de 2017
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.
0 comentarios
Ver también
Categorías
Más información sobre Continuous Wavelet Transforms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!