Notes on continuous wavelet transforms

William S. Harlan

Originally November 1996 - updated October 27, 2017


First I will provide my own favorite definition of a continuous wavelet transform, which I wrote down in 1986 to rederive the results in Goupillaud et al [1]. (At the time, I was working down the hall from Pierre Goupillaud.) This continuous transform seemed much better suited to geophysical and acoustic applications than certain discrete transforms popular at the time, particularly Daubechies wavelets. Many wavelets have a broader spectrum than necessary, more suitable for compressing photographic images with sharp edges. A continuous transform can use simple Gaussian tapered monochromatic waves (one or multi-dimensional) which maximizes the locality in both time/space and frequency/wavenumber.

First, I will give the definition of what constitutes a valid ``wavelet'' for the transform. Second, the inverse of a wavelet transform will be derived to demonstrate why the transform works. Next, I will show how a wavelet-transform of a stretched function can be written as a simple function of the wavelet-transform of the original unstretched function. Such stretching is very useful in pseudo-spectral solutions of differential equations with spatially varying coefficients.

Next I dwell on the original Morlet wavelet, a Gaussian-tapered sinusoid, to show how resolution can be managed explicitly in both time and frequency domains.

(This is an expansion of a much older document [2] that stressed the application of wavelet transforms to seismic imaging. I have removed the geophysical details and have extended the discussion.)

Legal wavelets

I will closely imitate the continuous transform originally provided by Goupillaud, Grossman, and Morlet [1]. They provide forward and inverse transforms for related transforms, but without derivation.

Use the following Fourier convention to link a wavelet and its Fourier transform :


(All integrals with unlabeled extremes are assumed to be over the entire real line.)

The following integral must exist for a wavelet to be suitable for a continuous transform over all frequencies.


Thus, the spectrum of a valid wavelet must approach a zero value at zero frequency: as for some .

In fact many useful wavelets (such as the Morlet wavelet) will be non-zero at zero frequency and will not be valid for an infinite range of frequencies. Discrete transforms will prefer damped least-squares optimizations rather than simple integrals for transformations and will not require an analytic constant for normalization.

This wavelet need not correspond to any specific feature in our data. Rather, when convolved with data, the wavelet should suppress all but a band of frequencies. Because of the uncertainty principle, I must balance the narrowness of the bandwidth with the narrowness in time.

I recommend a Gaussian-tapered sinusoid, such as . Such a wavelet is reasonably compact in both the time and frequency domain. (The constant adjusts the relative compactness, within the limits of the uncertainty principle.)

A valid wavelet can be used in an unfamiliar construction of a delta function.


In effect, this integral says that many wavelets, stretched uniformly over all scales, will sum destructively everywhere but at .

Change variables from to . The Jacobian is
. Thus,

Here, I use the familiar Fourier definition of a delta function, with the same restrictions.

The constraint of symmetry will also simplify the definition of a wavelet transform in the following section, but this assumption is optional:


Forward and inverse transforms

Define a wavelet transform of an function by the following


This transform decomposes the function as a function of position and local frequency . When calculated discretely, the sampling need not be uniform over and , but the weights should reflect the above integration.

Goupillaud et all [1] prefer or instead of as the stretch factor. If you prefer an asymmetric wavelet, then you must use two transforms--the above, and the integral with the time-reversed wavelet.)

I find the following inverse, which simply scales and sums the transform with uniform weight over local frequency :



Here I make use of equation (4).

Most all these equations were implicit in Goupillaud et al [1], although I personally found it nontrivial to fill in the missing derivation of the results. I was also happy to stumble on equation (4), which continues to fascinate me.


One application that frequently appears is a differential stretching of a function.

We will write


The stretching function gives the input coordinate as a monotonically increasing function of the output coordinate . Moreover, I will assume that the stretching function can be well approximated locally by a straight line.

Define forward and inverse wavelet transforms of with the same wavelets as in definition (11) and inverse (12).


We would like to be able to express the transform as a simple function of . The approximation (18) allows us to write

We can perform an equivalent stretch on the transformed input by stretching the position , and by scaling the local frequency . Both operations require a simple two-dimensional mapping of the transformed function. The amplitude must be scaled as well.

Substitute the variable of integration:


The symmetry of was not necessary here.

Equation (22) is the result which allows us to perform the stretch directly on the wavelet-transformed function.

Morlet wavelets

A preferred standard wavelet is the Morlet wavelet [1], constructed from a symmetric cosine tapered by a Gaussian.


The constants and do not vary during a wavelet transform. If we take the dimension as units of time in seconds, then is the central frequency of the wavelet in hertz. The ``half-width'' controls the relative width of the taper in wavelengths.

The cosine has a base frequency of and a wavelength of . The inclusion of a variable for central frequency is just a convenience for managing units; can be set to a constant without loss of generality. When we scan frequencies with a wavelet transform  (11), we can set to 1 and substitute as frequency.

The envelope has a peak value of 1 at and drops to approximately half of this value at a separation of wavelengths.


And so we call the half-width, in wavelengths, of the Gaussian taper.

The integral of the Gaussian envelope in time is


equal to the half-width in units of time.

As an example, figure 1 shows one Morlet wavelet. We assume a time sampling interval of for a maximum Nyquist frequency of . We choose a central frequency of , and a halfwidth in wavelengths of . We can see that one wavelength is time samples in length. The positive lobes at times of (third most positive values) are half the height of the peak. These half-strength peaks are separated by four wavelengths, as appropriate for . The two peaks are also 16 time samples apart, as appropriate for four wavelengths of 4 samples each ( ).

Figure: Morlet wavelet with central frequency of and half-width .
Image fig_mt

We can take the Fourier transform (1) of the Gaussian envelope as


The equivalent half-width of this Gaussian is , approximately spanning the range of values more than half of the peak value. This half-width in units of frequency is just the reciprocal of the half-width in units of time.

Notice that the frequency half-width is directly proportional to the reference frequency . As we scan frequencies with a wavelet transform, we will see lower frequencies resolved with narrower ranges of frequencies. The resolution is constant in the log of frequency, which is why Morlet recommends sampling frequencies geometrically in octaves rather than linearly in frequency. When we construct a discrete basis of these wavelets for a discrete transform, there is no need to sample frequencies much more densely than this half-width.

The Fourier transform of the cosine is


The Fourier transform of the Morlet wavelet is the convolution of these two functions, for

This gives us two Gaussians centered on the central frequency and mirrored on each side of zero.

Figure 2 shows the Fourier transform of the Morlet wavelet in figure 1, also with and .

Figure: Fourier transform of Morlet wavelet in figure 1 with central frequency of and half-width .
Image fig_mf

The resolution we care about is the narrowness of the spectrum about the central frequency . If we measure the standard deviation of one side of the Fourier transform (44), we are effectively measuring the width of the Fourier transformed envelope (39):

For quantifying resolution tradeoffs, a useful measure is the normalized second moment, or dispersion, in each domain. In time, the integral of the squared Gaussian taper is


and the second moment is

So the normalized second moment is

Similarly we can measure second moments in the frequency domain.


The uncertainty relation for resolution in time and frequency simplifies to


This inverse relationship is independent of both the half-width and the central frequency . The half-width in wavelengths controls the width of resolution in each domain, but cannot change this product of two widths. Improving the resolution in one domain necessarily reduces the resolution in the other. If we double the width of the envelope in the time domain, then we necessarily halve the width in the frequency domain.


P. Goupillaud, A. Grossman, and J. Morlet.
Cycle-octave and related transforms in seismic signal analysis.
Geoexploration, 23:85-102, 1984.

William S. Harlan.
Kirchhoff migration with one-dimensional wavelets.
This website: papers/wavelets.pdf, 1996.

harlan 2018-08-08