Plot spectrogram from time by frequency matrix

I'm trying to plot a spectrogram. I have a matrix where the columns represent 30 ms windows and the rows represent frequencies. So each entry in the matrix should map to an intensity value at time (column) at frequency (row). I've not plotted such high-dimensional data before, what should I use?

 Réponse acceptée

João
João le 7 Fév 2019
Try this,
[s, f, t] = spectrogram(x, w ,noverlap, nfft, Fs);
% x is the signal; %w is the window;
% noverlap is the windowing overlap; nfft is the size of fft;
% and Fs is the samplong rate.
figure()
surf(t, f, 20*log10(abs(s)));

Plus de réponses (0)

Catégories

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by