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?

 Akzeptierte Antwort

João
João am 7 Feb. 2019

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Produkte

Version

R2018a

Gefragt:

am 7 Feb. 2019

Beantwortet:

am 7 Feb. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by