cwtft analytic and non analytic morlet wavelets produce same results

1 view (last 30 days)
I'm trying to use cwtft to perform the continuous wavelet transform of a signal. I'm interested in using real valued morelet wavelets which the documentation implies can accomplished using the morlex wavelet, however the results using the morlex and morl (analytic morlet) are the same.
ie a trivial example would be:
signal = sin(0:.1:1000);
cwtMorlex = cwtft(signal, 'wavelet', 'morlex');
cwtMorl = cwtft(signal, 'wavelet', 'morl');
cwtMorlex.cfs(3,1:10)
cwtMorlex.cfs(3,1:10)
ans =
Columns 1 through 6
-0.1777 + 0.1817i -0.1832 - 0.1521i 0.1197 - 0.1708i 0.1473 + 0.0863i -0.0568 + 0.1177i -0.0872 - 0.0338i
Columns 7 through 10
0.0180 - 0.0600i 0.0383 + 0.0083i -0.0032 + 0.0228i -0.0126 - 0.0008i %Should be real valued!!!
cwtMorl.cfs(3,1:10)
ans =
Columns 1 through 6
-0.1777 + 0.1817i -0.1832 - 0.1521i 0.1197 - 0.1708i 0.1473 + 0.0863i -0.0568 + 0.1177i -0.0872 - 0.0338i
Columns 7 through 10
0.0180 - 0.0600i 0.0383 + 0.0083i -0.0032 + 0.0228i -0.0126 - 0.0008i
futhermore looking at the fft of the coefficients ie.
figure
plot(abs(fft(cwtMorlex.cfs(3,:))))
shows only positive frequencies as would be expected if we were using the analytic wavelet but we're not
However, I can use a different real valued wavelet (mexican hat) and get real valued cfs and a symmetric fft. So I guess my question is how do I use the real valued morlet wavelet?

Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!