How to improve spectrogram plot?
조회 수: 15 (최근 30일)
이전 댓글 표시
Hello everyone,
I have a general question about spectogram. I have done a plot of spetrogram referent of a strong earthquake. The goal is to try to identify some other event occurre seconds later which overlapp the signal of the earthquake. I used the following command to plot:
[Stot,freqcy,temps] = spectrogram(signal_n1_spect_ev1, 300, 299, 1000, Fs_ev1);
I saw that after plot, the plot looks like to have many small interferences (i believe), in which the picture not stay very clear and solid. I have tried other values of parameters, but that was my best. Does someone have any suggestion to improve it?
Thanks in advance.
Guilherme
댓글 수: 2
채택된 답변
Mathieu NOE
2025년 4월 25일
편집: Mathieu NOE
2025년 4월 25일
I played a bit with some parameters and changed from imagesc to surf (pcolor would also work) to allow for optionnal frequency display in log scale (if that helps) : imagesc() Y Axis Log Scale Not Working (Help!) - MATLAB Answers - MATLAB Central
I don't know which details you are looking at , but you can always restrict the x axis to where you want and adapt also the min / max values used in caxis to have best rendering
some result obtained so far :

code :
NB : i had to change the variables names as this is how they appeared when I loaded the txt files - simply put back your original VN
Fs_ev1=100;
nfft = 512*2;
noverlap = round(0.95*nfft);
win = kaiser(nfft,18);
[Stot,freqcy,temps] = spectrogram(signaln1spectev1, win, noverlap, nfft, Fs_ev1);
%figure(2)
%plot spectogram
% subplot(2,1,2);
%time_days = start_time + temps ./ (24*60*60);
% imagesc(timeaxis,freqcy,10*log10(abs(Stot)));
% datetick('x','HH:MM:SS');
% set(gca(gcf),'ydir','normal');
s = surf(temps,freqcy,10*log10(abs(Stot)));
set(s,'edgecolor','none');
datetick('x','HH:MM:SS');
view([0 90])
set(gca, 'YScale', 'log');
colorbar('vert');
caxis([40 65])
ylim([0.5 Fs_ev1/2])
xlabel('Time');
ylabel('Frequency, Hz');
colormap(jet);
shading interp
댓글 수: 7
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Time-Frequency Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!