Trouble Constructing Continuous Wavelet Transform in Mathematica 8
- To: mathgroup at smc.vnet.net
- Subject: [mg119256] Trouble Constructing Continuous Wavelet Transform in Mathematica 8
- From: Kevin <kevin.nielson at gmail.com>
- Date: Fri, 27 May 2011 06:12:43 -0400 (EDT)
- Reply-to: comp.soft-sys.math.mathematica at googlegroups.com
I am applying a continuous wavelet transform to a data series using a Morlet wavelet. My trouble is that when I apply the transform using the built-in functions MorletCWT = ContinuousWaveletTransform[data, MorletWavelet[]] I get a very different power spectrum from what I obtain when I run this: MorletPsi[x_] = WaveletPsi[MorletWavelet[],x] ManualCWT = Flatten[ Table[ {b, a, Abs[1/sqrt[2^a] Sum[ data[[t]] MorletPsi[(t-b)/2^a],{t,1,300} ] ], {b, 1, 2300}, {a, 0.25, 7, 0.25}], 1]; In the above code, 297 is the number of data elements, which is spanned by 7 octaves with 4 voices/octave (hence the 7 and 0.25 in the 'a' list). This is, near as I can tell, exactly what the Mathematica documentation claims is going on in the Continuous wave transform. (See the documentation for ContinuousWaveletTransform - More Information) Is there a better way to do the Continuous Wavelet Transform "longhand"? (For test functions, try data = Table[Sin[0.125 pi i] + Random[Real,{-.5,.5}], {i,1,300}] This sample data set produces similar, but nowhere near identical power spectra. The real data I am working with produces Built-in CWT and manual CWT powerspectra that are completely different from one another. )