The Wikipedia's description [L1 ], while typically accurate, is too abstract for CL's taste. Here's the idea: 'know Laplace or Fourier? 'Seen "sonograms" that resolve, say, a voice signal into its constituent frequencies? Perhaps you have some notion of the ubiquity and potency of such techniques. They rely on the duality of a signal (typically conceived along a time dimension) and its frequency analysis (the signal decomposed into the "harmonics" that make it up).
The signal and its constituent frequencies are ideally "infinite", that is, defined over the entire real (or complex, ...) line. Instead of those pure tones, consider instead signals limited in time--a note that starts and stops. Doesn't that hint at a better match for physical reality? And what if the calculus of signal decomposition into band- and time-limited resolvents were tweaked so that its calculations matched up particularly well with computer capabilities, by, for example, admitting natural expressions in binary? At that point, you'd have powerful, very high-performance techniques for analysis of signals in terms of physically-meaningful fundamental bases.
You'd have wavelets.
As wavelet theory remains young, there's a lot of exploration and interfacing still to do. Tcl, of course, makes a great partner.
aricb: I'm familiar with spectrograms, which are commonly used in phonetics to analyze speech signals (and which the Snack extension can produce). My understanding of spectrograms is that they are derived from Fourier analysis of a signal. Can somebody explain how a wavelet differs from a spectrogram?
Serge Kazantzev Time-scale (wavelet transforms) analysis is often presented as an alternative method to time-frequency (fourier transforms) analysis, and strong links exist between the two. On-line tutorials such as [L2 ] offer an exploration the differences and similarities between the two.
Wavelet spectogram called scalogram, refers to a time-scale energy distribution defined as the square modulus of the wavelet coefficients. Scalogram tastes like spectogram, however there is no trivial transition between scalogram and spectrogram.
TV Well, it's a complicated subject of course, preferably for a background in functional integrals. Theoretical physics already for about a century works with a (complicated form of) wavelett type functions, as a basis for Fock space which can be thought to contain all possible solution of the Schroedinger equation for a certain measurement basis. So the idea is most certainly very not new or a more complicated continuation of the top of mathematics. - Lars H: Are you sure that Fock space thingie isn't just plain old Hilbert space theory? The idea of having, even constructing, an orthogonal basis for the space of all solutions to some PDE is certainly that old (second half 19th century, I'd say, even though back then linear algebra hadn't been recognised yet, so people didn't know that this was what they were doing), but wavelets are more than that. That the entire basis can be generated from one function by scaling and shifting is rather remarkable (first known example was the Haar wavelet), and that it can furthermore be continuous or even differentiable has not been known for that many decades.
The comparison with Fourier analysis is that the point of fourier analysis is a frequency tranform over the whole of the time of the signal, in principle from -inf (or 0) to inf, or everywhere where the signal is non-zero. Practically, for instance with the mathematical often draconic FFT one usually wants to also localize the occurence of certain frequencies in time, so that the question arises how to say where a certain spectral line appears in the signal, and where not.
This is not so easily generally answerable, for two main reasons: it requires a non-trivial analysis of the signal, and the fourier transform doesn't answer this question at all. Mainly, the help of complicated (given.. with functional integrals) statistics can make analysis of every bit of the signal (like in physics) so that a fourier transform could be made for every point of the time axis, and then also with all kinds of widths of the gaussian which then appears. So the outcome of the transform becomes higher dimensional quite a bit. The integrals for standard functions which are computable for well known Fourier basic functions are not so computable anymore either, at least that becomes a lot more complicated.
In the more popular sense of the Fast Fourier Transform one takes a crude approcimation of a time segment based fourier transform, which is very non-trivial to analyse (try any FFT on a single sine wave which isn't of equivalent multiple frequency of the FFT interval, you'll get a well filled spectrum while there's just one spectral component..) , which can of course be practical. To solve the 'hard boundary' and also that the nature of that transform isn't like signal correlation analysis type that fits mathematically formulated problems better, the wavelet is sort of a completely smooth basis instead of the hard cut FFT and the full length fourier transform.
I guess wavelets can be infinite like an exponential multiplied by a sine, or (which has different fundamental mathematical properties) can be time interval limited, but smooth, like some polynomial coming from and going to 1 and then again zero, multiplied with a sine.
When an FFT result is achieved by average over for instance a few low level FFTs with overlapping intervals, all kinds of filtered results are achieved, which in general are not a good localized frequency analysis, but a bit smoother.
Ingrid Daubechies (IIRC) has done well known work on practical wavelet analysis, I think she was at Princeton at some point [L3 ].
Serge Kazantzev: The aim of the example below is to give a beginner some understanding of the wavelet transform using a practical application: image compression. We submitted the following image
(Image here is 404)
to a square wavelet transform following Stephane Mallat's decomposition
(Image here is 404)
based on the CRF(13,7) for which the lowpass and the highpass step filter have the following transfer functions:
(Image here is 404)
The image being a set of 2D data, we apply the transform to the columns and to the rows and create four smaller image-like sub-regions: the subbands.
(Image here is 404)
The upper left subband (subband LL) contains the averages of the pixel values, whilst the 3 other subbands (LH, HL and HH) contains the wavelet coefficients that we need to reconstruct the image. Another way to say is that the upper left quarter of the image is a lower resolution version of the original image and the 3 other quarters contain the details of the original image. To go back to the original, the inverse transform will have to put the details back into the small image. Looking now at the histogram and
at the wavelet coefficients for the image
the temptation is high to quantize the coefficients in order to compress the image. After quantization (i.e throwing away coefficients that are 0), and inverse transform, we obtain the following image:
with the wavelet coefficients becoming:
for a compression ratio of 63.7%.
Nb: compression ratio here means the number of zero coefficients divided by the total number of coefficients expressed as a %.