Changing the x-axis from Time instead samples

30 views (last 30 days)
Hi everybody!
I'm a new user of Matlab, so I really appreciated your help. I'm doing the spectrogram of a chirp signal. Here is how I defined it:
fs = 1000;
t = 0:0.001:1;
y = chirp(t,60,1,20);
Later, I use the spectrogram as below, with a hamming window of 64 samples:
w1 = hamming (64);
spectrogram (y, w1, [], [], fs, 'yaxis');
The point is that when the graph is displayed, the x axis is in samples, and I would like to be in seconds. I try several things but I can´t do it. I atacched a copy of the graph.
So, I want that the x-axis be in time, not in number of samples. Can anybody help me? I apreciated so much,
Thanks!

Accepted Answer

Star Strider
Star Strider on 9 Nov 2020
When I run yoiur code in R2020b, the x-axis is labeled ‘Time (ms)’.
To convert them (and the x-axis label) to seconds:
fs = 1000;
t = 0:0.001:1;
y = chirp(t,60,1,20);
w1 = hamming (64);
spectrogram (y, w1, [], [], fs, 'yaxis');
Ax = gca;
xt = Ax.XTick;
Ax.XTickLabel = xt/1000;
Ax.XLabel.String = 'Time (sec)';
.
  4 Comments
Matias Calzada Gianero
Matias Calzada Gianero on 9 Nov 2020
It makes sense what you say. Thank you so much, you help me a lot!! Thanks for your knowledge and time!! Regards!!
Star Strider
Star Strider on 9 Nov 2020
As always, my pleasure!
I very much appreciate your compliment!

Sign in to comment.

More Answers (0)

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!