Spectrogram error with multiple errors
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Krithika A
am 20 Sep. 2018
Kommentiert: Krithika A
am 3 Okt. 2018
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 Kommentare
Rishabh Rathore
am 1 Okt. 2018
Bearbeitet: Rishabh Rathore
am 1 Okt. 2018
Can you please share your signal "x" and a screenshot of the error message(or messages). And is "N" number of samples?
Akzeptierte Antwort
Rishabh Rathore
am 3 Okt. 2018
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);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Time-Frequency Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!