How can I get a two-dimensional contour line graph from Wavelet Time-Frequency analysis?

6 views (last 30 days)
Hi, How can I obtain a visualizing scalogram similar to that shown in Figure 1 using Wavelet Time-Frequency analysis?
Figure 1:

Accepted Answer

William Rose
William Rose on 16 Nov 2023
Here is an example:
fs=1000; % sampling rate (Hz)
t=(0:1000)/fs; % time vector for x (s)
x=chirp(t,50,1,300)+chirp(t,350,1,75); % x= sum of up-chirp and down-chirp
% next: compute STFT
[s,f,t1]=stft(x,fs,'FrequencyRange','onesided','FFTLength',64,'Window',hann(64));
contour(t1,f,abs(s)) % plot contours of STFT
colorbar
Good luck.
  2 Comments
Navid
Navid on 17 Nov 2023
Edited: Navid on 17 Nov 2023
Dear William Rose,
I want to express my gratitude for the guidance you provided. I followed your example and extended it to wavelet transform, as shown below:
[cfs,f] = cwt(x,fs);
contour(t,f,abs(cfs).^2);
colorbar
Thank you for your time and consideration.
Sincerely,
Navid
William Rose
William Rose on 18 Nov 2023
@ Navid, YOu are welcome. Good job on the wavelet transform. Best wishes for success in your work.

Sign in to comment.

More Answers (0)

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!