Digital Signal Processing Using MATLAB and Wavelets

Chapter 9.4 - Daubechies Four-Coefficient Wavelet

Let's also consider the case of four coefficients in a conjugate quadrature filter. Figure 9.6 shows a structure similar to Figure 9.5, except that its FIR filters have four taps (use four coefficients).

Figure 9.6: A two-channel filter bank with four coefficients.
.

The expressions for $w[n]$ and $z[n]$ can be found in a similar manner as in section 9.1:

\begin{displaymath}w[n] = ax[n] + bx[n-1] + cx[n-2] + dx[n-3] \end{displaymath}


\begin{displaymath}z[n] = dx[n] - cx[n-1] + bx[n-2] - ax[n-3] . \end{displaymath}

We will also need $w[n-1]$, $w[n-2]$, and so forth, so it is helpful to define these for an integer $k$:

\begin{displaymath}
\begin{array}{ccccc}
w[n-k] = & a x[n-k] & + \; b x[n-k-1] &...
...; c x[n-k-1] & + \; b x[n-k-2] & - \; a x[n-k-3] .
\end{array}\end{displaymath}


Now we can put this all together, and express $y[n]$ in terms of $x[n]$ only:

\begin{displaymath}
\begin{array}{ccccc}
y[n] = & d w[n] & + \; c w[n-1] & + \; ...
...[n] & + \; b z[n-1] & - \; c z[n-2] & + \; d z[n-3]
\end{array}\end{displaymath}


\begin{displaymath}
\begin{array}{ccccc}
y[n] = & d(ax[n] & + \; bx[n-1] & + \; ...
...3] & - \; cx[n-4] & + \; bx[n-5] & - \; ax[n-6]) .
\end{array}\end{displaymath}


Multiplying through:

\begin{displaymath}
\begin{array}{ccccc}
y[n] = & adx[n] & + \; bdx[n-1] & + \; ...
... & - \; cdx[n-4] & + \; bdx[n-5] & - \; adx[n-6] .
\end{array}\end{displaymath}

Now we rewrite this equation to line up the $x[n-k]$ values properly:

\begin{displaymath}
\begin{array}{ccccc}
y[n] = & & & & \adx[n] & + \; bdx[n...
... cdx[n-4] \+ \; bdx[n-5] & - \; adx[n-6]. & & &
\end{array}\end{displaymath}

Repeating the above equation, only eliminating the parts that cancel:

\begin{displaymath}
\begin{array}{ccccccc}
y[n] = & bdx[n-1] & & + \; ddx[n-3] &...
...x[n-5] \& & & + \; ddx[n-3] & & + \; bdx[n-5] .
\end{array}\end{displaymath}

The terms $x[n-1]$ and $x[n-5]$ are pesky, since we want each output of $y[n]$ to depend upon only one input of $x[n]$. But if $ac$ happens to equal $-bd$, then these terms will cancel each other out. Therefore, we will make this a requirement. If $ac+bd=0$, then the $x[n-1]$ and $x[n-5]$ terms are eliminated, and we are left with:

\begin{displaymath}y[n] = 2(aa + bb + cc + dd) x[n-3] \end{displaymath}

or that $y[n]$ is a delayed version of $x[n]$, multiplied by a constant. Of course, we could have a second requirement that this constant be 1. The Daubechies coefficients satisfy both of these criteria: (These are the lowpass coefficients from db2, obtained from MATLAB)

$a = -0.1294$
$b = 0.2241$
$c = 0.8365$
$d = 0.4830$

$ac = -0.1083$
$bd = 0.1083 .$

Errors due to precision come about when using wavelets. The coefficients above are actually an approximation of the following Daubechies coefficients:

\begin{displaymath}a = \frac{1-\sqrt{3}}{4 \sqrt{2}}, \;
b = \frac{3-\sqrt{3}}{...
...sqrt{3}}{4 \sqrt{2}}, \;
d = \frac{1+\sqrt{3}}{4 \sqrt{2}} . \end{displaymath}

Note that the reference gives these as the highpass filter coefficients, which means that the $b$ and $d$ values above were negated. So,

\begin{displaymath}ac = \frac{-2 \sqrt{3}}{32}, \; \;
bd = \frac{2 \sqrt{3}}{32} . \end{displaymath}

Therefore:

\begin{displaymath}ac = -bd . \end{displaymath}

Using these coefficients, we see that:

\begin{displaymath}a^2 = \frac{4 - 2 \sqrt{3}}{32}, \;
b^2 = \frac{12 - 6 \sqrt...
...c{12 + 6 \sqrt{3}}{32}, \;
d^2 = \frac{4 + 2 \sqrt{3}}{32} . \end{displaymath}

Finding the sum $aa + bb + cc + dd$ leads to:

\begin{displaymath}a^2 + b^2 + c^2 + d^2 = \frac{4 - 2 \sqrt{3} + 12 - 6 \sqrt{3} + 12 + 6 \sqrt{3} + 4 + 2 \sqrt{3}}{32} \end{displaymath}

\begin{displaymath}a^2 + b^2 + c^2 + d^2 = \frac{4 + 12 + 12 + 4}{32} \end{displaymath}

\begin{displaymath}a^2 + b^2 + c^2 + d^2 = 1 . \end{displaymath}


This is what we should expectthat the values for $a$, $b$, $c$, and $d$ are carefully chosen so that the output $y[n]$ is just a delayed version of the input $x[n]$. But above we found that $y[n] = 2(aa + bb + cc + dd) x[n-3]$, so these coefficients mean that $y[n] = 2 x[n-3]$. Why is the 2 there? The answer for this lies in the down-sampling operation. We have not yet looked at the effect of the down-sampling operation, but it gives us the same outputs, only at 1/2 the scale. That is, if we use the above Daubechies coefficients, but with down-samplers and up-samplers in place, then we get $y[n] = x[n-3]$. This is why $aa + bb + cc + dd = 1$, instead of $1/2$. This is shown in section 9.5.
< Previous Excerpt Next Excerpt >
Purchase This Book

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.