Clear Filters
Clear Filters

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

2 views (last 30 days)
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

Voss
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
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.

Sign in to comment.

More Answers (0)

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!