The discrete wavelet transform uses a discrete
sequence of scales a^{j} for j<0 with a=2^{1/v}, wher V is an integer,
called the *number of voices* in the octave.

The wavelet support is assumed to be [-K/2,K/2].
For a signal of size N and 1<=a^{j}<=N/K, a discrete wavelet
is defined by sampling the scale at a^{j} and time (for scale 1) at
its integer values, that is

The signal and wavelet are N-periodized. The discrete wavelet transform of f is

which is a circular
convolution between f and y_{1}[n]=y[-n]. These circular
convolutions are computed with an FFT which requires O(N
log_{2}(N))
operations.

The scalogram is computed from the wavelet
transform and a parobolic interpolation is performed between three
succesive scales a^{j} to better localize the wavelet ridges.