spectrogram plotting of Amplitude frequency vs. frame

2 views (last 30 days)
Hi,
I used spectrogram matlab function in order to obtain a STFT as follows:
nfft=1024;
noverlap=nfft/2;
wnd= hamming(nfft,'periodic');
[Y, F, T, P] = spectrogram (y, wnd, noverlap, nfft, fs);
Now, I am trying to plot a 3D plot of frequency , amplitude for each frame I have. can anyone help please.
Thanks in advance

Accepted Answer

Star Strider
Star Strider on 14 Dec 2014
From the documentation for spectrogram:
spectrogram(...) plots the PSD estimate for each segment on a surface in a figure window. The plot is created using
surf(T,F,10*log10(abs(P)));
axis tight;
view(0,90);
So to get your 3D plot, simply comment out (or remove) the view(0,90) call, or change it to a different azimuth and elevation.
  6 Comments
Mona
Mona on 14 Dec 2014
Great!!!!! mesh worked much better than surf.... Thanks alot
Star Strider
Star Strider on 15 Dec 2014
My pleasure!
I use mesh frequently when surf is too dense.

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!