I am working with wavelets for my thesis, and I would like to know if there is an intuitive dependency between the levels of a DWT.

To make it clear: The DWT performs a convolution, and then the result is downsampled, right?

Like in this example of a convolution below. enter image description here

Now when we downsample dyadically, we throw away every second value, right? Like this: enter image description here

  • Can we say that 2 adjacent values in the original are projected onto 1 value in the transform?

For example, the first value in the first level of the DWT would then be "responsible" for values 1 and 2 in the original. So that we would know where e.g. a pattern in a high DWT level actually comes from.

  • Does this kind of projection exist?
  • If it does not work, why not?
  • Is the convolution/downsampling performed differently than I imagined?

I may be a little confused by your question (intuitive dependency?) but I think these two sources will help you wrap your head around the relationship between levels in a DWT:

  1. https://mil.ufl.edu/nechyba/www/eel6562/course_materials/t5.wavelets/intro_dwt.pdf
  2. http://users.rowan.edu/~polikar/WTpart4.html

I think one way to think of it is because a DWT can be inverted, you can take a signal and perform a DWT on it and then you can reverse that DWT to get the original signal. So there's a clear dependance between levels in a DWT. I don't expect this answer to be accepted but i hope it can point you in the right direction to what you're looking for.

Small quote from link #1

"In wavelet analysis, the Discrete Wavelet Transform (DWT) decomposes a signal into a set of mutually orthogonal wavelet basis functions. These functions differ from sinusoidal basis functions in that they are spatially localized – that is, nonzero over only part of the total signal length. Furthermore, wavelet functions are dilated, translated and scaled versions of a a common function φ, known as the mother wavelet. As is the case in Fourier analysis, the DWT is invertible, so that the original signal can be completely recovered from its DWT representation. "

  • $\begingroup$ Thanks, I will look into those links. The invertibility of wavelets is beautiful, but I am more interested in the wavelet-"pyramid" itsself: Given a transform, and some point in the transform, can we determine which point in the original data produced it? Cheers $\endgroup$ Mar 4 '20 at 15:52
  • $\begingroup$ @wavelet_guest I forgot to mention one thing (just came back to this, I haven't been on stackoverflow in a long time). Because applying a DWT downsamples the signal by powers of two for each level of decompisition, you can just multiply a point in the dwt by 2^(dwt_decomp_level) and find basically the same spot in the original signal. If that's what you're looking for please say so, ill add it to my answer and you can accept it . $\endgroup$
    – IsmailE
    Jun 10 '20 at 14:36

What you're missing is that the wavelet transform is a lossless conversion. If you give it $N$ points as an input, you must get $N$ points as an output.

In the case of the wavelet transform, each step gives you a low-frequency result and a high-frequency result, each with $\frac{N}{2}$ points. If you keep both of them (and all your math is done with infinite precision), then you can completely reconstruct the original.

From https://en.wikipedia.org/wiki/Discrete_wavelet_transform#/media/File:Wavelets_-_DWT.png

So, if I understand your question correctly, yes, you can use wavelets to reduce the number of samples, by throwing away the "detail coefficients". It works, and that's more or less how it works. But if you perform your "throw away every other sample" without doing both halves of the transform, you're throwing away information about your source data.


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.