MATLAB Answers

Spectrogram - How to divide signal ?

조회 수: 21(최근 30일)
RuiQi 8 Apr 2016
편집: Rick Rosson 8 Apr 2016
I have a signal 120 seconds long with sampling frequency 1KHz. How do I compute the spectrogram with 120 time segments ? Each segment 1000 samples. The code below gives me t = 136 not 120
segments = 120;
windowsize = 1000;
nfft = 1000;
[S,F,T,P] = spectrogram(data,windowsize,segments,nfft,Fs);

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Rick Rosson
Rick Rosson 8 Apr 2016
편집: Rick Rosson 8 Apr 2016
The third input argument of spectrogram expects the number of samples to overlap each window, not the number of segments. Please try:
winSize = 1000;
overlap = 0;
fftSize = winSize;
[S,F,T,P] = spectrogram(data,winSize,overlap,fftSize,Fs);
It is common practice, however, to set the overlap to half of the window size:
overlap = floor(winSize/2);
but it is not required if you don't want it.

  댓글 수: 0

댓글을 달려면 로그인하십시오.

추가 답변(0개)


Community Treasure Hunt

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

Start Hunting!

Translated by