Wavelet Toolbox Previous page   Next Page
scal2frq

Scale to frequency

Syntax

Description

F = scal2frq(A,'wname',DELTA) returns the pseudo-frequencies corresponding to the scales given by A, the wavelet function 'wname' (see wavefun for more information) and the sampling period DELTA.

scal2frq(A,'wname') is equivalent to scal2frq(A,'wname',1).

One of the most frequently asked question is, "How does one map a scale, for a given wavelet and a sampling period, to a kind of frequency?".

The answer can only be given in a broad sense and it's better to speak about the pseudo-frequency corresponding to a scale.

A way to do it is to compute the center frequency, Fc, of the wavelet and to use the following relationship.

where

a is a scale.

is the sampling period.

Fc is the center frequency of a wavelet in Hz.

Fa is the pseudo-frequency corresponding to the scale a, in Hz.

The idea is to associate with a given wavelet a purely periodic signal of frequency Fc. The frequency maximizing the fft of the wavelet modulus is Fc. The function centfrq can be used to compute the center frequency and it allows the plotting of the wavelet with the associated approximation based on the center frequency. The figure on the next page shows some examples generated using the centfrq function.

              Center Frequencies for Real and Complex Wavelets

As you can see, the center frequency based approximation captures the main wavelet oscillations. So the center frequency is a convenient and simple characterization of the leading dominant frequency of the wavelet.

If we accept to associate the frequency Fc to the wavelet function then, when the wavelet is dilated by a factor a, this center frequency becomes Fc / a. Lastly, if the underlying sampling period is , it is natural to associate to the scale a the frequency:

The function scal2frq computes this correspondence.

To illustrate the behavior of this procedure, let us consider the following simple test. We generate sine functions of sensible frequencies F0. For each function, we shall try to detect this frequency by a wavelet decomposition followed by a translation of scale to frequency. More precisely, after a discrete wavelet decomposition, we identify the scale a* corresponding to the maximum value of the energy of the coefficients. The translated frequency F* is then given by

The F* values are close to the chosen F0. The plots at the end of example 2, presents the periods instead of frequencies. If we change slightly the F0 values, the results remain satisfactory.

Examples

Example 1:

Example 2:

Example 3:

This example demonstrates that, starting from the periodic function x(t) = cos(5t), the scal2frq function translates the scale corresponding to the maximum value of the CWT coefficients to a pseudo-frequency (0.795), which is near to the true frequency (5/(2*pi) =~ 0.796).

Example 4:

This example demonstrates that, starting from the periodic function x(t) = 5*sin(5t)+3*sin(2t)+2*sin(t), the scal2frq function translates the scales corresponding to the maximum values of the CWT coefficients to pseudo-frequencies ([0.796 0.318 0.159]), which are near to the true frequencies ([5 2 1] / (2*pi) =~ [0.796 0.318 0.159]).

See Also
centfrq

References

Abry, P. (1997), Ondelettes et turbulence. Multirésolutions, algorithmes de décomposition, invariance d'échelles, Diderot Editeur, Paris.


Previous page  readtree set Next page

© 1994-2005 The MathWorks, Inc.