How can I change the scale of the Y-Axis Unit in a Spectrogram?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Berthold Daubner
le 20 Août 2015
Réponse apportée : the cyclist
le 20 Août 2015
This is my code: spectrogram(Data,window,[],Freqrange,Fs,'yaxis');
with Freqrange = 50:1000 and Fs = 12800
The problem is that the y-axis is drawn in kHz instead of Hz. How can I change the unit from kHz to Hz so that the Ticks are for example 50 instead of 0.05. Thanks for your help!
0 commentaires
Réponse acceptée
Star Strider
le 20 Août 2015
I don’t have your data so I can’t run your code, but this idea should work:
t = 0:0.001:2;
x = chirp(t,100,1,200,'quadratic');
[s,f,t,p] = spectrogram(x,128,120,128,1e3);
figure(1)
sh = surf(p);
view(0, 90)
axis tight
yt = get(gca, 'YTick')
set(gca, 'YTick',yt, 'YTickLabel',yt*1E+4)
You might just need the last two lines (the ‘yt’ assignment and the set call). Experiment with that first, then a version of this entire code if that doesn’t work.
0 commentaires
Plus de réponses (1)
the cyclist
le 20 Août 2015
You can manually set the tick locations and tick labels with commands like
set(gca,'XTick',[50 100 500 1000])
set(gca,'XTickLabel',[50 100 500 1000])
0 commentaires
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!