MATLAB Answers

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

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

로그인 to comment.

답변 수: 1

Wayne King 님의 답변 20 Sep 2019
 채택된 답변

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

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.

로그인 to comment.



Translated by