Why do I get unequal wavelet coefficients when using different syntaxes in continuous wavelet transform?

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

 Accepted Answer

"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

Thank you for the prompt response. I want to know whether I can use the absolute value of the square in the syntax examples #1 and #3 that I provided earlier. Your clarification on this matter would be greatly appreciated.
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.
Thank you for taking the time to respond. Your reply is much appreciated.

Sign in to comment.

More Answers (0)

Products

Release

R2016b

Asked:

on 18 Jan 2024

Commented:

on 20 Jan 2024

Community Treasure Hunt

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

Start Hunting!