Spectrogram error with multiple errors

조회 수: 5 (최근 30일)
Krithika A
Krithika A 2018년 9월 20일
댓글: Krithika A 2018년 10월 3일
Hello,
I keep getting the following error when I try to do a spectrogram: Subscript indices must either be real positive integers or logicals.
Error in getSTFTColumns (line 14) xin = x(rowindices+coloffsets);
Error in pspectrogram (line 55) [xin,t] = getSTFTColumns(x,nx,nwin,noverlap,Fs);
Error in spectrogram (line 168) pspectrogram({x},'spect',varargin{:});
This is what I am doing:
% Trying to use this code: spectrogram(x,window,noverlap,f,fs) so that I can see the spectrogram in terms of frequency and time
% x is my signal
% fs = 128
% N = 15360
% The frequency range I want to look at is between 2-35Hz
figure
spectrogram(x,hanning(2*fs),0.5,[2 35],fs)
  댓글 수: 4
Rishabh Rathore
Rishabh Rathore 2018년 10월 1일
편집: Rishabh Rathore 2018년 10월 1일
Can you please share your signal "x" and a screenshot of the error message(or messages). And is "N" number of samples?
Krithika A
Krithika A 2018년 10월 1일
I've attached the signal (.mat). The error messages are exactly like the ones I mentioned in the original post. Restated here:
Subscript indices must either be real positive integers or logicals.
Error in getSTFTColumns (line 14)
xin = x(rowindices+coloffsets);
Error in pspectrogram (line 55)
[xin,t] = getSTFTColumns(x,nx,nwin,noverlap,Fs);
Error in spectrogram (line 168)
pspectrogram({x},'spect',varargin{:});

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

채택된 답변

Rishabh Rathore
Rishabh Rathore 2018년 10월 3일
The "noverlap" should be a positive integer as it represents the number of samples of overlap with previous window. Hence the 50% overlap would be floor(win_size/2).
I'm attaching the figure that I obtained after making the changes using your input signal.
Since your window size is 2*fs, the 50% overlap will be "fs". Hence the use of the function "spectrogram" should look like: -
spectrogram(x,hanning(2*fs),fs,[2 35],fs);
  댓글 수: 1
Krithika A
Krithika A 2018년 10월 3일
Thank you very much! That's brilliant, no errors. Also, thank you for explaining what was wrong.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Time-Frequency Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by