Why do I get unequal wavelet coefficients when using different syntaxes in continuous wavelet transform?
1 view (last 30 days)
Show older comments
Hi,
I have used the given syntaxes to perform a continuous wavelet transform on a desired signal.
Syntax number 1:
[temp_cfs, temp_f] = cwt(signal,fs(i));
whos temp_cfs temp_f
cfs(:,:,i) = temp_cfs;
f(:,i) = temp_f;
figure; surface(t(:,i),f(:,i),abs(cfs(:,:,i)).^2);
Syntax number 2:
figure; cwt(signal,fs);
Syntax number 3:
[temp_cfs, temp_f] = cwt(signal,fs(i));
whos temp_cfs temp_f
cfs(:,:,i) = temp_cfs;
f(:,i) = temp_f;
figure; contour(t(:,i),f(:,i),abs(cfs(:,:,i)).^2);
However, the resulting wavelet coefficients (magnitudes in the color bar) seem to be inconsistent with each other. Could you please explain why this is happening? I would highly appreciate any guidance you can provide regarding this issue. Your help would be invaluable.
Thank you for your time.
Best regards,
Navid
0 Comments
Accepted Answer
Voss
on 18 Jan 2024
"cwt(___) with no output arguments plots the CWT scalogram. The scalogram is the absolute value of the CWT plotted as a function of time and frequency."
Note: that's absolute value, not absolute value squared.
3 Comments
Voss
on 19 Jan 2024
You're welcome!
When creating your own contour or surface, you can use the absolute value of the square, or the square of the absolute value, or anything else, but the results won't match what cwt plots, unless you are plotting just the absolute value like cwt does.
If you are asking whether you can modify how cwt works, I recommend against attempting that.
More Answers (0)
See Also
Categories
Find more on Continuous Wavelet Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!