MATLAB Answers

0

How to reconstruct a signal from it's Wavelet transform using Mexican Hat wavelet

Asked by Santiago Marin on 17 Sep 2019
Latest activity Commented on by Santiago Marin on 20 Sep 2019
I have a signal X and I apply a Mexican hat wavelet transform
coefs=cwt(X,0.001:100,'mexh');
Now I want to reconstruct the original signal X but when I try to use the Inverse wavelet transform I can't use the Mexican hat wavelet and the reconstruction is not good enough.
xrec=icwt(coefs,'mexh');
This code throws me the error:
Error using icwt>parseinputs (line 447)
Expected WAVNAME to match one of these values:
'morse', 'bump', 'amor'
The input, 'mexh', did not match any of the valid values.
Error in icwt (line 198)
params = parseinputs(Na,N,sigtype,varargin{:});
Why I cant use the Mexican hat wavelet in the inverse wavelet transform?

  0 Comments

Sign in to comment.

1 Answer

Answer by Wayne King
on 20 Sep 2019
 Accepted Answer

This is not a bug. When you make the call:
coefs=cwt(X,0.001:100,'mexh');
You are calling the legacy CWT() interface which is officially not recommended. See
At the top of the page, we have a link to the old CWT api, which is now officially not recommended for use. For compatibility reasons, we have written the new API so that customers using the legacy interface are not broken.
However, the ICWT interface is only in support of the new CWT api. We have no inverse CWT API for use with the legacy CWT function.
Hope that helps,
Wayne

  1 Comment

Ahh ok this makes it more clear, the thing is I have to reconstruct the signal from the decompossition made with the mexican hat for academic purposses but I was really lost since I couldn't find the 'mexh' parameter inside the cwt source code so I really didn't understand why it was working, thanks.

Sign in to comment.