Changing the x-axis from Time instead samples

23 次查看(过去 30 天)
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!

采纳的回答

Star Strider
Star Strider 2020-11-9
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 个评论
Matias Calzada Gianero
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 2020-11-9
As always, my pleasure!
I very much appreciate your compliment!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time-Frequency Analysis 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by