Spectrogram error with multiple errors
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Krithika A
el 20 de Sept. de 2018
Comentada: Krithika A
el 3 de Oct. de 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 comentarios
Rishabh Rathore
el 1 de Oct. de 2018
Editada: Rishabh Rathore
el 1 de Oct. de 2018
Can you please share your signal "x" and a screenshot of the error message(or messages). And is "N" number of samples?
Respuesta aceptada
Rishabh Rathore
el 3 de Oct. de 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);
Más respuestas (0)
Ver también
Categorías
Más información sobre Time-Frequency Analysis en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!