HSC welcomes all external visitors to this site, especially students and members of the academic community. Please use the comments box at the bottom of each page to record any comments or suggestions for improvement.
Introduction
Discrete Wavelet Transforms are techniques for processing time-series information so as to extract transient spectral information. These techniques are used for analysis of video and image data, where the frequency of information changes across the image, from backgrounds to boundaries and feature details.
Theory of multi-resolution analysis
Multi-resolution analysis are primarily useful for analysis of non-stationary data, where specific harmonics do not last the duration of the data. This makes techniques such as FFT? useless. DWT builds on previous work, such as STFT (Short Time Frequency Transforms), Gabor transforms, etc. The basic principle of multi-resolution analysis is to take the entire sampled signal and break it into windows in time; in each window, we look for the frequencies present within that window. Wavelet transforms are unique in that they recognize that the width of the window need not be fixed; in fact, the higher the frequencies we are looking for, the narrower the window should be. This allows us to capture high frequency bursts of short duration. On the other hand, large windows are good at capturing low frequency bursts of relatively longer duration.
The theory behind multi-resolution analysis is to do analysis of a signal at different resolutions alternately in time and frequency so as to honour Heisenberg's inequality \nabla f \nabla t \ge 2 \pi
Wavelet functions
Introduction to wavelet functions
A wavelet function g(x) is a square integrable function of a special kind, which obeys the following property
\int_0^{\infty} g^2(x) x^{-1} dx < \infty
. Any function which has a zero mean will obey this condition; though this is not a necessary condition. A simple example of such a function is
\frac{sin(2 \pi t) - sin(\pi t)}{\pi t}
also known as the Shannon wavelet. Many wavelet functions have been defined, for example
| Morlet wavelet | c_{\sigma} \pi^{-1/4} e^{-t^2/2}(e^{i \sigma t} - \kappa_{\sigma}) where \kappa_{\sigma} = e^{-\sigma^2/2} and c_{\sigma} = (1 + e^{- \sigma^2} - 2e^{- 3\sigma^2/4}) |  |
| Mexican Wavelet | \frac{1}{\sqrt{2 \pi} \sigma^3}\big(1 - \frac{t^2}{\sigma^2}\big) e^{-t^2/2 \sigma^2} |  |
| Haar Wavelet | I_{0 \le t < 1/2} - I_{1/2 \le t < 1} where I_S is the indicator function on set S |  |
As can be seen all these functions have a maxima at x=0.
Given a mother wavelet function, one can generate other functions using scaling and time-shifting i.e.
g^{a,b}(x) = \vert a \vert^{-1/2} g\big(\frac{t-b}{a}\big)
.
The wavelet transform
Wavelet theory says that any given function f can be written in terms of a series of orthonomal wavelet basis functions g_{jk} as follows
f(t) = \sum_{j,k} \psi_{jk} g_{jk}
. The coefficient
\psi_{jk} describes the original signal at time
2^{-j}k at the frequency band
2^j. This two dimensional information is what gives the power of the wavelet function, since it can actually diagnose and identify transient frequencies in the signal.
The coefficients \psi_g(a,b) are computed as:
\psi_g(a,b) = \int_{- \infty}^{\infty} f(x) g^*(\frac{x - b}{a}) dx
. The original signal can be recovered from the coefficients as follows:
f(x) = \int_{- \infty}^{\infty}\int_{- \infty}^{\infty} \psi_g(a,b)g(\frac{x - b}{a}) da\ db
Properties of the wavelet transform
The wavelet transform provides a time-frequency analysis of data, as opposed to the purely time domain analysis done by standard time-series analysis or the purely frequency domain analysis done by fourier transforms?. If we study the equation given above, the transform operation maps the input data into a two-dimensional form in terms of a and b, where a maps to the frequency content and b maps to the temporal content. As a decreases, g(e^{-a})x narrows in width, while retaining the same area; in other words, it focuses more sharply.
To explain this more clearly, let us consider a simple signal f(t) = sin \omega t being subject to a wavelet transform using the Haar wavelet as described above. We use the transform equation from above to compute the transform coefficients
\begin{eqnarray}
\psi_{ab} &=& \frac{1}{{\vert a \vert}^{1/2}} \int_{-\infty}^{\infty} \sin{(\omega t)} \{ I_{\{0 < \frac{t-a}{b} < 1/2\}} - I_{\{1/2 < \frac{t-a}{b} < 1\}} \} dt \\
&=& \frac{1}{{\vert a \vert}^{1/2}} \int_a^{b/2 + a} \sin{(\omega t)} dt - \int_{b/2+a}^{b+a} \sin {(\omega t dt)} \\
&=& \frac{2}{\omega {\vert a \vert}^{1/2}} \cos(\omega (b/2 + a))\{\cos(\frac{b \omega}{2} - 1)\}
\end{eqnarray}
The common dyadic representation for discrete wavelet transforms uses a = 2^{-j}, b = k 2^{-j} . If we substitute this, we can analyze the spectrum coefficients. Consider the coefficients for a signal at frequency m/a where m is an integer. From this we get \omega = 2 \pi m 2^j \rightarrow \omega a = 2 \pi m, \omega b = \pi k m . At this value we get
\psi_{jk} = \frac{\sqrt{a}}{\pi m}\cos(\pi k m + 2 \pi)(\cos{(\pi k m)} - 1)
In other words, it emphasizes a signal at frequency
2^{-j}, as long as they occur in the specific time-slot
b+a > t > a .
The diagrams below illustrate this graphically. The graphs show a signal superimposed on top of a Haar wavelet.
 | This shows a signal at half the target frequency. While the waveform is itself anti-symmetric, the second half will be multiplied with the negative part of the Haar wavelet and will invert. Consequently, the integral will have a small but significant positive value |
 | This shows a signal at the target frequency. The integral with the Haar transform will be maximum. Note how the inversion of the second half of the Haar wavelet will actually move the negative part of the sine curve to the positive axis, thus maximizing the area |
 | This shows a signal at the twice the target frequency. The signal goes through a complete cycle in each half of the Haar wavelet, rendering the integral to be zero. The same can be seen for all higher harmonics |
 | The signal is delayed to start beyond the Haar wavelet window; consequently the result will be of very low value |
From the diagram, the following is obvious. A wavelet will admit all signals at the target frequency or lower but will reject higher frequencies.
Implementation of a wavelet transform - the discrete case
Uses of the wavelet transform
Category: Multimedia Software
Comments