Of course I mean in terms of numerical algorithms.

I'm reading various papers on the wavelet transform and why it's better than the short-time Fourier one. The reason that's cited more often is that the WT detects transients of known shape better than the STFT. In other sources I read that the DWT is essentially a faster version of the CWT. But so far all the MATLAB algorithms I've seen for scaleograms and transient detection have been using the CWT. Is there any specific reason for this?

In general, when should I code a CWT and when - a DWT?

Thanks in advance.


Standard 2-band discrete wavelet transforms have some subsampling, thus they tend to be much less precise in localization. Plus, their shapes are limited, and the ones with finite support are slightly dissymmetric (all but Haar), which is problematic for symmetric pulse/edge detection.

If you don't care about computations, and are interested in visualization, matching, feature detection, CWT might be easier. If you are interested in denoising, compression, restoration, DWT are often more appropriate.

Yet, there are many useful schemes bridging the gap between DWT and CWT that can be used in dedicated applications.

| improve this answer | |
  • $\begingroup$ Thanks! What resources would you recommend on coding up a CWT for ECG? $\endgroup$ – a meme May 25 '17 at 20:28
  • $\begingroup$ C++ is the one I'm looking to use but any reasonably readable one will do. $\endgroup$ – a meme May 25 '17 at 21:32

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.