High quality spectrogram with a few seconds signal

3 views (last 30 days)
I am trying to get a high quality spectrogram with a signal that is only 5 seconds long. This is the line I am using: the sampling frequency is 1000Hz.
spectrogram(signal,128,64,2048,fs,'yaxis')
I do not get the quality I need. Is there something I could do?

Answers (1)

Rick Rosson
Rick Rosson on 7 Feb 2016
Edited: Rick Rosson on 8 Feb 2016
Please try the following:
% Window duration (in seconds):
dur = 0.5;
% Spectrogram settings (in samples):
winSize = round(fs*dur);
overlap = round(winSize/2);
fftSize = winSize;
% Plot the spectrogram:
spectrogram(signal,winSize,overlap,fftSize,fs,'yaxis');
Then try experimenting with the value of dur until the spectrogram provides a good balance between time resolution and frequency resolution.
  2 Comments
Diana
Diana on 8 Feb 2016
Hello Rick,
Thank you for your answer, I tried it, but I still don't get the results I need.
Diana
Rick Rosson
Rick Rosson on 8 Feb 2016
What values did you try for dur? What are you trying to do?

Sign in to comment.

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!