# Discrete Wavelet Transform output: coefficients or FIR-filtered signals?

I have a theoretical question about the calculation of the Discrete Wavelet Transform, using MATLAB specifically.

According to this video-tutorial on the MATLAB lagorithm: https://it.mathworks.com/videos/understanding-wavelets-part-2-types-of-wavelet-transforms-121281.html

the DWT algorithm applies a low-pass and a high-pass filter to a signal to obtain a low frequency signal and a high frequency signal, using appropriate filters. And this makes sense to me, because the output of the application of a filter, such as a FIR filter, (i.e using the FILTER function in MATLAB) is another signal.

However, looking at the documentation of the function DWT or WAVEDEC in Maltab, it looks like the output of the j-th step of the DWT is NOT another signal, rather the cAj and cDj coefficients, from which the low-frequency and high-frequency signals can be then reconstructed.

So my question is: what is the filter that is applied to the signal? Why does it provide coefficients and not another signal? What is the difference between the application of the DWT and that of a FIR filter?

In other words, it seems that I apply a filter (with some coefficients) to find other coefficients, rather than another signal ... this is not 100% clear to me. Maybe I misunderstood some basic concepts, can you please clarify?

In one level DWT, each output of the low-pass or a high-pass can indeed be considered as signals. Thus each of those signals are subsampled by a factor of 2, and the same two-filter-subsampling is iterated on the low-pass output, several times (wavelet decomposition) at $$L$$ levels. Each final output of the different branches could still individually be considered as "signals", but they only make sense together, with respect to the input signal. Coefficients is a traditional name for them. Honestly, I don't know where it appeared originally.

Each represents information cast at a certain scale, and they don't really belong to the same domain. They are signals projected onto a nested wavelet subspace from a multiresolution analysis. They altogether belong to a global transformation. In other words: the values observed are signals with a heavy wavelet footprint (especially because of the subsampling). Analyzing them alone (without taking into account the wavelet projection) is theoretically dangerous, and even called "wavelet sin", or "wavelet crime", see for instance: Wavelet transform: How to compute the initial coefficients when only samples are available? (Strang and Nguyen, Wavelets and Filter banks, 1996, pages 232 sq.). However, people often may sin with practical efficiency, and for orthogonal non-redundant transformation, it often does not go too bad.

Anyway, due to the invertibility of the DWT scheme, you would have "more genuine" signals by: keeping some coefficients (setting the others to zero), especially from each "subband coefficient set alone", and performs the (unique) inverse DWT for each of the $$L+1$$ sets of subband coefficients. From those $$L+1$$ inverted, you get $$L+1$$ reconstructed signals in the original domains, whose sum yields the original signal (linearity of the wavelet).

The "wavelet crime" often becomes more stringent when one uses union of wavelet bases, wavelet frames, etc. As for the MODWT, I would not claim (yet) for sure that I fully understand the concept. Its setting sis akin to undecimated, shift-invariant cycle-spinning or redundant discrete wavelets. While the DWT generates $$N$$ coefficients for a $$N$$-sample signal, whatever the levels, the MODWT generates about $$(L+1)N$$ coefficients. As far as I get it, MODWTMRA does a job similar to the one described above for the DWT: project the redundant wavelet coefficients back to th original domain, so that their sum yields the original signal back. Side note: for redundant transforms, the inverse is not unique.

• Dear Laurent, your comments make sense to me, i.e. the output of the low-pass and high-pass filters are two other "signals" decimated by two, the values of which are denominated approximation and detail coefficients. The next level is performed directly on the approximation coefficients of the previous level. I was confused because some MATLAB codes use a different nomenclature. – EmThorns May 26 at 20:15
• For example, for the algorithm MODWT (Maximum Overlap Discrete Wavelet Transform) in MATLAB calculates the coefficients and then the "signal" is recovered by projecting the coefficients onto the wavelet basis using the function MODWTMRA. Maybe I missed something, I know that the MODWT is a slightly different algorithm. Can you tell me what is my point of confusion? Thanks for your helpful answer about this interesting topic. – EmThorns May 26 at 20:16
• As for the MODWT, I tried to read these papers. Some things are clear to me, I have to read them again to understand in more details. Lindsay, R. W., Percival, D. B., & Rothrock, D. (1996), IEEE Transactions on Geoscience and Remote Sensing, 34(3), 771-787. Percival, D. B., & Mofjeld, H. O. (1997), Journal of the American Statistical Association, 92(439), 868-880. If we can make the point about this, I think it would be useful also for other users. I posted a question about it, maybe you can answer there, if you are interested? dsp.stackexchange.com/q/67885/11479 Thanks – EmThorns May 27 at 10:27
• does (3) mean to perform an idwt of each level in MATLAB? (if you use MATLAB)? – EmThorns May 27 at 11:35
• Laurent, I think that if you apply the MATLAB function idwt, you just retrieve the coefficients of the previous level ... that is not a projection onto the wavelet basis., don't you agree? It is not clear to me how to perform a multi-resolution analysis using the DTW (and not the MODWT). Maybe this should be clarified? – EmThorns Jun 1 at 13:54