X
6160

Wavelet Summary


What is a wavelet?

Where do wavelets come from?

How are wavelets used?

What can the IDL Wavelet toolkit do?

What is a Wavelet?

Wavelets are dilations and translations of a specifically shaped function - the so called mother wavelet. The mother wavelet has finite support meaning that it is non-zero for only a short distance. In other words, the mother wavelet function, W0(x) or W0(x,y), is mostly zero except for a narrow region where it departs from zero.

Dilating the wavelet widens or increases the size of the region where the function is non-zero, and translation simply means moving the function around so it's centered on a different portion of the data. In terms of equations if W0(x) is non-zero for 0 < x < 1 then Wab(x) = W0( (x-b)/a ) is non-zero for b < x < b + a. Wab(x) is the mother wavelet translated by 'b' and dilated by 'a'. For 2D wavelets there will be two translation parameters, bx and by, but there is still only one dilation parameter 'a' i.e. Wabxby(x,y) = W0( (x-bx)/a, (y-by)/a )

A wavelet's shape will always remain the same for a given wavelet - only it's non-zero width and position changes.

The shape of a given wavelet is generally arbitrary though certain wavy shapes are more commonly used. Some shapes such as those of the Daubechies wavelets can be quite unexpected.

Where do Wavelets come from?

Most wavelets, including the Daubechies wavelets, come from a corresponding Multiresolution Analysis. For example, average some data on scale L, and then average that same data on scale L/2. The difference between the two averaged signals is a wavelet transform on (dilation) scale L.

A wavelet transform is basically a band-pass signal since variations in the data on scales greater than L and smaller than L/2 are mostly removed. How the data is "averaged" is what determines the Multiresolution Analysis and ultimately the form of the underlying wavelet.

For example, a (non-overlapping) boxcar average results in a piece-wise constant multiresolution analysis and the Haar wavelet, so the Haar wavelet transform on dilation scale L is equivalent to a (non-overlapping) boxcar average of the data on scale L/2 subtracted from the data boxcar averaged on scale L.

Other wavelets are designed (or invented) in order to match up with particular "shapes" or patterns of variation in the data, and may have no particular meaning beyond that.

How are Wavelets used?

Wavelets are best used when the data variations are intermittent or non-periodic. For example, an early, common use of wavelets was for seismic analysis where the data representing the movement of the earth's crust includes highly sporadic fluctuations.

Wavelets can be used to determine where in the data and on what scale the strongest variations in the data occur.

Wavelets are used to identify events in the data which in turn can be sampled and then studied in more detail.

The Multiresolution Analysis aspect of wavelets is extremely useful for efficiently visualizing data variations on many different scales. This allows for zooming in and out - in to see a leaf on a tree and then back out to see the whole forest. This is helpful when there are millions of data points and variations occur on all of the resolved scales - generally the case in nature.

Wavelets are useful for calculating averaged global spectra because they are inherently pre-smoothed. Meaning that if you've ever calculated raw Fourier spectra they usually come out quite noisy and require some sort of band-averaging in order to easily interpret. Wavelet spectra are inherently "band-averaged."

One useful application of Wavelets include Wavelet Cospectra wherein wavelet transforms are applied simultaneously to multiple variables. Wavelet Cospectra and more generally cross-wavelet transforms can be used to identify localized correlation's between different variables.

What can the IDL Wavelet toolkit do?

The IDL Wavelet Toolkit (version 1.4) includes the following features:
  1. Wavelet Applet - import data and wavelets, visualize the results, and add your own user tools.
  2. Continuous Wavelet Transform on one-dimensional vectors.
  3. Discrete Wavelet Transform (partial or full) on multi-dimensional data.
  4. Wavelet Functions, including Haar, Daubechies, Coiflet, symlet, Morlet, Paul, and Gaussian. You can easily add your own wavelet functions to the Toolkit.
  5. 3D Wavelet Power Spectrum, as a three-dimensional surface.
  6. Multiresolution Analysis, produces plots for the smooth (low pass), detail (band-pass), and rough (high-pass) components of your data.
  7. Denoise your vector or image array by thresholding (hard or soft) either by cumulative power or coefficient number.
  8. User Tools- extend the functionality of the Wavelet Toolkit by adding your own tools.