The wavelet transform, viewed from a filterbank perspective,
consists of iterated 2-channel analysis stages like the one in
.
First consider a very long (i.e., practically infinite-length)
sequence
. For every pair of input samples
that enter the
filterbank stage, exactly one pair of output samples
are generated. In other words, the number of output
equals the number of input during a fixed time interval. Thisproperty is convenient from a real-time processing
perspective.
For a short sequence
, however, linear convolution requires that we make
an assumption about the tails of our finite-length sequence.One assumption could be
In this case, the linear convolution implies that
nonzero inputs yield
outputs from each branch, for a total of
outputs. Here we have assumed that both
and
have impulse response lengths of
, and that
and
are both even. The fact that
each filterbank stage produces more outputs than inputs isvery disadvantageous in many applications.
A more convenient assumption regarding the tails of
is that the data outside of the time window
is a cyclic extension of data inside the time
window. In other words, given alength-
sequence, the points
outside the sequence are related to
points
inside the sequences via
Recall that a linear convolution with an
-cyclic input is equivalent to
a circular convolution with one
-sample period of the input
sequences. Furthermore, the output of this circularconvolution is itself
-cyclic,
implying our 2-downsampled branch outputs are cyclic withperiod
. Thus, given an
-length input sequence, the
total filterbank output consists of exactly
values.
It is instructive to write the circular-convolution analysis
fiterbank operation in matrix form. In
we give an example for filter length
, sequence length
, and causal synthesis filters
and
.
where
The matrices
and
have interesting properties. For example, the conditions
imply that
where
denotes the
x
identity matrix. Thus, it makes sense to define the
x
DWT matrix as
whose transpose constitutes the
x
inverse DWT matrix :
Since the synthesis filterbank (
)
gives perfect reconstruction, and since the cascade of matrix
operations
also corresponds to perfect reconstruction, we
expect that the matrix operation
describes the action of the synthesis filterbank.
This is readily confirmed by writing the upsampled circularconvolutions in matrix form:
where
So far we have concentrated on one stage in the wavelet
decomposition; a two-stage decomposition is illustrated in
.
The two-stage analysis operation (assuming circular
convolution) can be expressed in matrix form as
Similarly, a three-stage analysis could be implemented via
It should now be evident how to extend this procedure to
stages. As noted earlier, the corresponding
synthesis operations are accomplished by transposing thematrix products used in the analysis.