Digital Signal Processing Using MATLAB and Wavelets

Chapter 9.8 - Orthonormal Bases

The wavelet transforms above form orthonormal bases, meaning that they are both orthogonal and normalized. We saw above that normalization means that the output of a CQF is a delayed version of the input, instead of a scaled version. We can show this as the inner product of the lowpass filter with itself (or with the highpass filter with itself), as in $< lpf, lpf >$. Given that the lowpass filter coefficients are [$a, b, c, d$], we calculate the inner product as the multiplication of the first parameter with the transpose of the complex conjugate of the second one. Here, both parameters are the same and real-valued, and we get $a^2 + b^2 + c^2 + d^2$, which must be 1 for the transform to be normalized.

Orthogonality, in two dimensions, simply means that the components are at right angles. It goes without saying in the Cartesian coordinate system that a point $(x, y)$ can be plotted by moving $x$ units to the right (or left if $x$ is negative), and then moving $y$ units up or down (up/down being 90 degrees away from right/left) to find the point's location. The bases for the Cartesian point $(x, y)$ are $(1, 0)$ and $(0, 1)$. If we find the inner product, $< [1 \; 0], [0 \; 1] >$, we see that it results in $0 \times 1 + 1 \times 0 = 0$. We define orthogonality as the attribute that the inner product of the bases equals zero, which holds for higher dimensions as well.

Since the lowpass filter and highpass filter of the wavelet transform form an orthogonal basis, the signal can be broken up into separate parts. Even with down-sampling, the two channels contain enough information to reconstruct the whole signal, just as a filter bank that breaks the signal into odd and even components does.

The program below demonstrates, for several wavelets, that the filter coefficients are both orthogonal and normal. We assume that all coefficient values are real, thus there is no need to find the complex conjugates.

\begin{alltt}
%%
\par
lpf = [1 1] * (1/sqrt(2));
hpf = [-1 1]* (1/sqrt(2));
...
...et{\squ});
disp({\squ} it should be zero.{\squ});
lpf * hpf.{\squ}
\end{alltt}

First, we can run this code to verify the Haar basis.


As expected, this works for the Haar basis.

Now we can repeat this for the Daubechies four-coefficient wavelet. We label the filters $hpf2$ and $hpf2$ to keep them separate from the lowpass filter and highpass filter coefficients that we used above.

\begin{alltt}
a = (1-sqrt(3))/(4*sqrt(2));
b = (3-sqrt(3))/(4*sqrt(2));
c = (...
...p(sprintf({\squ} Daubechies scaling/wavelet = %%6.4f{\squ}, ans2c));
\end{alltt}

Running this code produces:

Thus, the code above confirms the four-coefficient Daubechies wavelet.

Below is code to repeat this experiment for several other wavelets. However, instead of specifying the filter coefficients ourselves, we will rely on built-in wavelet functions.


The output of this program (using the student version of MATLAB, to show the try and catch commands) appears below.

One final note about the inner products is that the inner product of a signal (vector) with itself gives the length of the vector, squared.

\begin{displaymath}\vert x\vert^2 = < x, x > \end{displaymath}


If $x = \{ x_0, x_1 \}$, we know its inner product: $< x, x > = x_0^2 + x_1^2$. We also know its length is $\vert x\vert = \sqrt{x_0^2 + x_1^2}$. Using these two pieces of information, it is easy to verify that we can define the vector's length in terms of an inner product, as above. Signal $x$'s support does not matter, in that we define the length as the square root of the inner product of $x$ with itself, even when $x$ has more than two values. Some texts also call this length the norm.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: DSP Boards
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.