I have just started reading about wavelets for a data compression problem that I want to perform. I am reading about Discrete Wavelet Transform (DWT) but I can't understand where the wavelet family that has to be set is used.

This is the DWT schema


I do not understand where is the family wavelet used if only low-pass and high-pass filters are being applied and subsampling. There is a step I'm missing or I am lost.

Thanks for the help.


There are actually four filters involved:

  • 2 for the decomposition of signals [the h[n] and g[n] in the diagram above]
  • 2 for the reconstruction of signals

The diagram you are showing is only for signal decomposition. There is a corresponding diagram for signal reconstruction which involves upsampling the coefficients by inserting zeros, then passing them through reconstruction low pass and high pass filters, and then summing the approximation and detail components.

The four filters together form a perfect reconstruction filter bank.

  • dec_lo (decompostion low pass filter), dec_hi (decomposition high pass filter)
  • rec_lo (reconstruction low pass filter), rec_hi (reconstruction high pass filter)

For orthogonal wavelets, these filters have a specific relationship:

  • dec_lo = rec_lo[::-1]
  • rec_hi = qmf(rec_lo)
  • dec_hi = rec_hi[::-1]

where qmf stands for quadrature mirror filter:

def qmf(h):
    g = h[::-1]
    g[1::2] = -g[1::2]
    return g

Thus, if you have chosen a rec_lo filter properly, all other filters are automatically derived from it. This discussion is limited to orthogonal wavelets.

A wavelet family essentially describes such filter banks. Each member of a wavelet family corresponds to a unique filter bank. Every family of wavelets has some unique features [like the number of vanishing moments of the scaling and wavelet functions, symmetry in the wavelet, etc.].

The wavelet or scaling functions are not directly used in the DWT or IDWT. They characterize the filter banks. However, if you pass a specific impulse function as input to the DWT, you will get the scaling or wavelet function at the appropriate scale and location as output.


The pairs of low-pass and high-pass filters that may undergo a sub-sampling and yet retain all the information are a special subclass of perfect reconstruction filter banks. Under some additional conditions, their iterations yield the 2-band wavelet functions.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.