The discrete wavelet transform uses a discrete sequence of scales aj for j<0 with a=21/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<=aj<=N/K, a discrete wavelet is defined by sampling the scale at aj 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 y1[n]=y[-n]. These circular convolutions are computed with an FFT which requires O(N log2(N)) operations.
The scalogram is computed from the wavelet transform and a parobolic interpolation is performed between three succesive scales aj to better localize the wavelet ridges.