0

I need to perform the Discrete Wavelet Transform of a discrete signal in MATLAB. What is the difference between the commands MODWT and WAVEDEC?

I see that MODWT operates the Maximum Overlapped Discrete Wavelet Transform (MODWT), whereas Wavedec performs the classical Discrete Wavelet Transform, though the function DWT.

What are the main differences between these algorithms and what is the best one in order to perform a 1-Dsignal MRA decomposition and a successive de-noising?

Thanks for your help, I tried to find information online, but I have not found a clear explanation from an engineering point of view.

Thanks. E.

EmThorns
  • 119
  • 6
  • Hey @Adriaan , thanks. I edited the question. Can you give me more information about this? I'd be really grateful? – EmThorns May 20 '20 at 20:35

1 Answers1

0

The main difference is that the standard DWT downsamples the signals with a factor 2 between two decomposition levels. The downside is that if you want to do that 8 times, it's only possible on a signal with length C*256 (i.e. multiples of 2^8).

The MODWT modifies the filter not the signal, between levels, which means it can handle signals of any length and suffers less from thinks like boundary effects. The downside here is that it's highly redundant: with an 8-level decomposition you have 1 approximation and 8 detail signals the same length as the original.

Both have been used for denoising, DWT is more efficient, MODWT is more robust w.r.t boundary effects.

alle_meije
  • 2,424
  • 1
  • 19
  • 40
  • So what is the difference between MODWT and SWT ? – Mo0nKizz Apr 23 '21 at 07:30
  • The SWT does the subsampling at each level, like the DWT, but then keeps the subsampled signals after all possible shifts, and uses the same filters on all levels. So even though it is a redundant transform, the mechanism is most similar to the normal DWT. The diagrams in here, for the FWT and SWT, may make it clear: https://doi.org/10.1016/j.sigpro.2009.11.022 – alle_meije Apr 23 '21 at 20:10