MATLAB: How to reconstruct a signal from it’s Wavelet transform using Mexican Hat wavelet

waveletwavelet transform

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?

Best 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