Plot spectrogram from time by frequency matrix

41 views (last 30 days)
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?

Accepted Answer

João
João on 7 Feb 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)));

More Answers (0)

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!