# Why is a wavelet transform implemented as a filter bank?

The mother wavelet function $\psi(t)$ must satisfy the following:

$$\int\limits_{-\infty}^{+\infty} \frac{|\psi(\omega)|^2}{\omega} d \omega < +\infty,$$ $$\psi ( \omega ) \bigg|_{ \omega =0} =0,$$ and $$\int\limits_{-\infty}^{+\infty} \psi(t) \ dt = 0$$

To serve as the wavelet basis for wavelet transform $$\gamma (s, \tau ) = \int\limits_{-\infty}^{+\infty} f(t) \ \psi_{s, \tau }(t) \ dt$$

where $\psi_{s, \tau }(t) \triangleq \psi\left( \frac{t-\tau}{s} \right)$.

While I understand that the wavelet must be an oscillatory function having no frequency component at $\omega=0$ and effectively have a band pass filter like spectrum, from the equation of wavelet series or wavelet transform can you tell me why is it that the wavelet transform is implemented as a filter bank? What is the intuition behind it? What makes it possible?

I am asking this question since the fact that practically the DWT is implemented as a filter bank means that it is not a DWT anymore, it is just a set of low pass and high pass filters. It is mind bogling.

• My question would be why you feel this is a problem. As you noted, the wavelet can be thought of as a bandpass filter, so why do you think intrepreting it as a bank of filters is incompatible with it being a wavelet transform? You can look at the discrete Fourier transform in a similar way. Aug 24 '15 at 20:40
• It is just that when I look at the formula I don't see how it can be implemented as a filter bank. That is all. Aug 25 '15 at 17:51
• @Jason R I also too feel like SO. Aug 27 '15 at 8:54
• I was feel like you before 2 years. But I know now what why they are not using the dwt. In multi resolution domain, dwt is needed to solve. But we can use easly the filter banks instead of using dwt. Because they are have even and common NORM. Aug 27 '15 at 9:01
• @quantum231 Did you find light in the answers? Apr 4 '16 at 22:10

First of all the basic idea of wavelet transforms lies in multi-resolution analysis. What this means is that the signal is looked at from different scales.

It is probably easier to understand this with images (which are 2D signals). The idea of multi-resolution is like zooming in and out of a reference signal and compared with windows of the image according to the amount of zoom.

Similarly for 1D you are trying to see how the mother wavelet at different scales (think of it as compressing and expanding in the 1D) compares with the signal at different delays (at different points on the discrete 1D).

Now when you look at a given set of discrete points you want to transform based on a mother wavelet it easy to see them as filters (based on mother wavelets) that are applied at different scales.

For a better understanding of wavelets and DWT I suggest you read Polikar's tutorial : Wavelet Tutorial

Standard continuous wavelets behave like continuous bandpass filters. Since they rely on two continuous parameters (scale and shift), their strict implementation would be impossible, even on discrete data. It would require an non-countable numbers of convolutions(integral).

Then, the full story is much more complex and intricated, but some milestones follow.

First, people like Ingrid Daubechies have succeeded at sampling both the scale and the shift parameters to get a "discrete" and perfect implementation, that could be inverted. The subsampling factors, and the associated redundancy depends on the wavelet, and relate scale and shift. This can be send as a sampling theorem perform on the space of wavelet coefficients, just as the discrete Fourier transform samples regular frequencies in the frequency dmoain.

Then Yves Meyer managed to find an special wavelet family that allowed to make the transformation orthogonal and discrete, just like the discrete Fourier transform. And one knows that discrete orthogonal transforms, like the DFT, implemented in matrix form, can benefit fast algorithms (FFT) by clever relationships between Fourier coefficients at discrete frequencies.

Then, Stéphane Mallat among others managed to formulate a multiresolution analysis as a set of embedded subspaces with inclusion properties, yeilding a relation between two-sscale of father functions, or a father function and a mother fucntion. This linear relation could be interpreted as a convolution by a given filter. And the relation was valid across scales, and allowed a fast (linear in complexity) algorithm.

Finally, works have been performed, either to link those coefficients with specific wavelets. This allowed to derive which wavelets could be implemented as filter banks. The theory built on finite impulse response filters (finite support wavelets like Daubechies, Coiflets, Symmlets, etc.), multi-band (M-band) filters, but also to infinite impulse filters, recursive or redundant ones, even to nonlinear filters. The wavelet arises as the result of an infinite iteration of a basic filter-bank. Which one rarely does in practice, since most data are of finite length, with a limited number of practically useful scales.

So not all wavelets can be implemeted perfectly (invertible) with efficient filter banks. It is well known that discrete orthogonal wavelets cannot be real/symmetric/finite-length, except the Haar wavelet. Yet there exists a great deal of discrete wavelets that can be effciient on several signal/image/point cloud/mesh data.

The answer to the question I think is the parameter s in the definition of the wavelet analysis equation, i.e., the parameter that controls the resolution at which you apply the function.

The analysis equation points to the fact that the wavelet needs to be applied at different time-scales which is realized in discrete domain via decimation. So in order to transform a signal, you need to apply the wavelet at different decimation stages, depending on the value of s.

Now let us move to the filter banks. Filter bank approach is an efficient way of splitting a signal into various bands. To give a simple example, suppose you want to split a 1MHz signal into 4 bands, each with 0.25MHz bandwidth. Brute force, you design four filters, apply the 1MHz signal to each filter and you are done. If you apply multi-rate signal processing theory, you need to design only one filter (like one mother wavelet) and apply decimated copies of signal to the filter (like the decimation you do in wavelet analysis) and get output at 1/4th the input rate (different time scale than the input). Now you can see there is a strong correlation between how wavelets are applied and how filter banks are applied. And you can actually use the multi-rate signal processing theory to do wavelet analysis.

Disclaimer I might have over simplified the theory to get the point through. The example attempts to provide the answer to you question but by now mean gives the complete picture of either wavelet or multi-rate signal processing theory.