views:

245

answers:

2

Hi there,

I'm trying to build a scalogram view for my app to see whether there is relevant information we can retrieve from a wavelet transform as opposed to using a spectograms to see what can be retrieved via an FFT.

So far I can take a wave form and I can perform the forward wavelet transform on it. However I am lost at the next step. How do I turn this information into power/energy information? I have a set of wave forms at different frequencies but I have, as I say, no frequency information.

Can anyone tell me what the next step is for turning this transformed data into a scalogram?

Any help would be much appreciated because my google skills are failing me!

+1  A: 

I've never done a scalogram so I won't claim to try and know anything. I have however found you the code for the matlab scalogram function which is commented in a way that should help you understand things a bit better.... I hope :).

http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/FrequencyFilt/scalogram.m

I'm presuming you're using matlab for your dsp stuff and know how to interpret that m file. Probably a manditory program for all dsp stuff I guess.

Cameron
+1  A: 

Under reasonable assumptions, the discrete wavelet transform (DWT) decomposes the power/energy/variance of a time series into scales. It is an energy-preserving transform in that the total variance contained in the original time series is contained in the squared wavelet coefficients (properly normalized), just like the DFT! I think the text Wavelet Methods for Time Series Analysis by Percival and Walden is an excellent resource for this type of information.

Now, the continuous wavelet transform (CWT) is a redundant transform and the energy-preserving property (in the DWT) no longer holds. However, you can still look at the squared wavelet coefficients to produce the "scalogram" which is similar to the short-time Fourier Transform (STFT; aka spectrogram).

Torrence and Compo have some nice wavelet software to do this, with a paper to explain the method(s) in the context of atmospheric time series. I'm sure the matlab wavelet toolbox also performs the CWT and associated scalogram.

bjwhitcher
Thanks. I'd already discovered the energy preservation thing. So I have some wavelet data appearing by calculating the power for each frequency band. Its not great but certainly shows me some info :) I'm still lost as to how to do a CWT though ... have spent quite a lot of time looking into it. I assume its a bit more than just doing a sliding window DWT?
Goz
Two (major) things differentiate the CWT from the DWT: (1) the wavelet and (2) the translations used to compute the wavelet coefficients. The CWT uses a continuous function was it's wavelet generating function (Morlet, 1st derivative of Gaussian, etc.) and computes a wavelet coefficient at all translations at all scales. Thus, the CWT for a 1D signal (time series) produces a 2D image of (heavily correlated) wavelet coefficients. The DWT uses a discrete function as the wavelet GF and produces the same number of wavelet coefficients as original observations. Use Torrence/Compo's software!
bjwhitcher