Digital Signal Processing Using MATLAB and Wavelets

Chapter 9.5.1 - Example Using Down/Up-Samplers

Intuitively, using up- and down-samplers may seem like it cannot work. How can we throw out half of our calculations after filtering without losing information? This section gives a brief example of how this process works.

Figure 9.8 shows an example of a two-channel filter bank with down-samplers followed by up-samplers. The filters are very simple, in fact, these filters would be implemented as in Figure 8.2, which reduces down to Figure 8.3.

Figure 9.8: A simple filter bank demonstrating down/up-sampling.

Since the filter with coefficients {1, 0} allows the input to pass through to the output, we will replace it with a simple line. Likewise, we can replace the filter with coefficients of {0, 1} with a delay unit. With these modifications in place, we have the revised filter of Figure 9.9.

Figure 9.9: A simple filter bank demonstrating down/up-sampling, reduced.
.

Now we are ready to trace an input through to the output, with the values $x[0]$, $x[1]$, $x[2]$, $x[3]$, $x[4]$, $x[5]$, etc. Keep in mind that these inputs are listed in order from left to right, so that $x[0]$ enters the filter bank first, followed by $x[1]$, and so forth.

Figure 9.10: Tracing input to output of a simple filter bank.

Looking at the top channel of Figure 9.10, we see the input values go to the down-sampler, whose output is $x[0]$, $x[2]$, $x[4]$, etc., the even values of $x$. The forward transform ends here for this channel, but we will see what this channel contributes to the output. The up-sampler inserts zeros between values, to generate the sequence $x[0]$, $0$, $x[2]$, $0$, $x[4]$, $0,$ etc. Next comes the delay unit, which means that every input to it will appear at the output one time step later. We note this as a zero for its first output, followed by the signal that reaches it. The reason for the delay unit should be apparent when we consider the bottom channel. Thus, the top channel contributes a signal of $0$, $x[0]$, $0$, $x[2]$, $0$, $x[4]$, $0,$ etc., the even values of $x$ with zeros between the values.

Now we turn our attention to the bottom channel of Figure 9.10. The delay unit shifts our inputs over one unit, so its first output is zero, followed by $x[0]$, $x[1]$, $x[2],$ etc. When this signal reaches the down-sampler, it has the effect of removing every other value. Since 0 is the first input, it passes through, while $x[0]$ is discarded. Thus, the down-sampler's output is $0$, $x[1]$, $x[3]$, $x[5],$ etc. At the end of the forward transform for the bottom channel, we see that we have the odd values for $x$. The synthesis side of the QMF for the bottom channel simply up-samples the signal. This results in the pattern 0, 0, $x[1]$, 0, $x[3]$, 0, $x[5],$ etc.

Combining the top channel with the bottom channel with addition results in $0+0$, $x[0]+0$, $0+x[1]$, $x[2]+0$, $0+x[3]$, $x[4]+0$, $0+x[5],$ etc.

This demonstration shows that performing down and up-sampling on the channels of a QMF is not as crazy as it sounds. In effect, the QMF of Figure 9.8 breaks the input into its even values and its odd values, then adds them back together. This results in an output that matches the input, except for a delay.

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.