Difference between Fourier transform and Wavelets

Very roughly speaking: you can think of the difference in terms of the Heisenberg Uncertainty Principle, one version of which says that "bandwidth" (frequency spread) and "duration" (temporal spread) cannot be both made arbitrarily small.

The classical Fourier transform of a function allows you to make a measurement with 0 bandwidth: the evaluation $\hat{f}(k)$ tells us precisely the size of the component of frequency $k$. But by doing so you lose all control on spatial duration: you do not know when in time the signal is sounded. This is the limiting case of the Uncertainty Principle: absolute precision on frequency and zero control on temporal spread. (Whereas the original signal, when measured at a fixed time, gives you only absolute precision on the amplitude at that fixed time, but zero information about the frequency spectrum of the signal, and represents the other extreme of the Uncertainty Principle.)

The wavelet transform take advantage of the intermediate cases of the Uncertainty Principle. Each wavelet measurement (the wavelet transform corresponding to a fixed parameter) tells you something about the temporal extent of the signal, as well as something about the frequency spectrum of the signal. That is to say, from the parameter $w$ (which is the analogue of the frequency parameter $k$ for the Fourier transform), we can derive a characteristic frequency $k(w)$ and a characteristic time $t(w)$, and say that our initial function includes a signal of "roughly frequency $k(w)$" that happened at "roughly time $t(w)$".


How is this helpful? Let us say we are looking at the signal of the light emitted from a traffic light. So for some time it will be red, and for some time it will be green (ignore the yellow for now). If we take the Fourier transform of the observed frequency, we can say that

  • At some time the traffic light shows red. (We know frequency to infinite precision, and that the red part of the signal is non-zero.)
  • At some time the traffic light shows green.

But a functioning traffic light would have either red or green shown at a time, and not both. And if the traffic light malfunctions and shows both lights at the same time, we would still see from the Fourier transform

  • At some time the traffic light shows red.
  • At some time the traffic light shows green.

But if we take the wavelet transform we can sacrifice frequency precision to gain temporal information. So with the wavelet transform done on the working traffic light we may see

  • At parameter $w$ which corresponds roughly to $t(w)$ being 1 o'clock sharp and $k(w)$ corresponding to red, the wavelet transform is large and non-zero. This can be taken to mean that sometime around 1 o'clock sharp (could be exactly 1 o'clock, could be 1 minute past, could be 30 second before) the light showed a color that is more or less red (could be a little bit purple, or maybe a little bit amber).
  • At parameter $w$ which corresponds roughly to $t(w)$ being 1 o'clock sharp and $k(w)$ corresponding to green, the wavelet transform is almost zero. This can be taken to mean that at all the times around 1 o'clock (say plus or minus 2 minutes) the traffic light does not show any hint of green.
  • At parameter $w$ which corresponds roughly to $t(w)$ being five minutes past 1 and $k(w)$ corresponding to green, the wavelet transform is large and non-zero. This would indicate that around 1:05 (maybe 1:06, or 1:04) the light shined greenish (could have a tinge of teal or a bit of yellow in it).

This would tell us that not only can the traffic light show both red and green lights, that at least at around 1 o'clock the light is working properly and only showing one light.


In layman's terms: A fourier transform (FT) will tell you what frequencies are present in your signal. A wavelet transform (WT) will tell you what frequencies are present and where (or at what scale). If you had a signal that was changing in time, the FT wouldn't tell you when (time) this has occurred. You can also think of replacing the time variable with a space variable, with a similar analogy.


Interesting question.

My guess would be that a wavelet can be defined within a specific time span. As the first sentence in the wikipedia page states:

A wavelet is a wave-like oscillation with an amplitude that starts out at zero(0), increases, and then decreases back to zero.

Thus a wavelet can be defined within a certain time span, starting at f(t_0) = 0 and ending at f(t_end) at 0. This then gives us time localization.

On the other hand, a Fourier transform is an integral from t = -infinity to t = +infinity. So there is no time localization. Even if you would transform a wavelet to it's frequency domain, still the relative phase relation of different contributing frequencies determine the position in time of the transformed wavelet.

Edit: Of course a Fourier transform can be performed on a certain time interval t, but keep in mind that, when transforming back to time domain, the transformed signal will repeat itself every time interval t. This again will give no localization in time for a Fourier transform.

NB: As it seems i can not comment to my own answer since i wasn't logged in, so instead i edited my own answer. Sorry for the inconvenience.


An audio signal $t\mapsto f(t)$ as recorded on an LP record is localized in time: It tells you the exact air pressure difference $\Delta p(t)$ at each time $t$. But the exact mixture of frequencies audible at (or near, see below) time $t$ is not available.

If you process this LP (running in time $t$ from $-\infty$ to $\infty$) through a Fourier analyzer you get the Fourier transform $\omega\mapsto \hat f(\omega)$. This new function (or plot) tells you which frequencies were present with which intensities in the music recorded on the LP, but it doesn't tell you at which times, e.g., the note $C''$ was played.

The Heisenberg uncertainty relation tells us that it is impossible to have the best of both: There is no such thing as a definite pitch $\omega$ played during an arbitrarily small time interval around a given time $t$.

(A musical score comes near to this dream: It tells us at which time $t$ a particular note, e.g., C'', should be played during a certain small time interval of given length $\Delta t$.)

Now wavelets are special "sounds" that are restricted to time intervals of length $2^{-r}$, $\ r\in{\mathbb Z}$, and perform, say, $3$ full oscillations in such an interval. So in a way they are approximately localized as well in time as in frequency. But there is much more to it, e.g., concerning the numerical handling of the "wavelet analysis" of a time signal $f$. You should consult one of many primers on wavelet theory, e.g. the Introduction to wavelets and wavelet transforms by C.S. Burrus et al.


(Reputation doesn't allow me to comment yet)

The answers by Willie Wong (first part) and vac, focusing on the localization in time and frequency are at least not the only property that's characteristic about the wavelet transform: The short-time Fourier transform is also localized in time and frequency, i.e. it provides information about where in time a certain frequency occurs. You will also find it being called the windowed Fourier transform, since it's essentially the Fourier transform together with a window (mask), that allows you to only look at a small portion of the signal.

While these answers cover the original question, I think it's important to know that this is just one property. What mathreadler says, is another very important perspective on this. For sounds, sinusoids seem the natural choice of what a "frequency" is, but for other signals (especially in 2D and higher) wavelets might be much more well-suited to represent a signal in a "rich" way. Meaning e.g.: Analysis reveals important information, good compression is possible, filtering works well, etc.