MATLAB: Plot spectrogram from time by frequency matrix

MATLABspectrogram

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?

Best Answer

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)));
Related Question