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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Continuous Wavelet Transforms finden Sie in Help Center und File Exchange

Produkte


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by