How to get spectrogram data to align with signal data
6 views (last 30 days)
Show older comments
Zjuv9021 on 11 Apr 2021
Answered: Srivardhan Gadila on 24 Apr 2021
I am attempting to align the time variables of the spectrogram of a signal and it's correpsonding time points in the time domain, and as you can see, we are a bit lagging behind in the time domain (bottom subplot) because of the reduced width from the spectrogram.
Is there a way I can adjust the subplot(2,1,2) to cleverly align with where the time = 60 is on the spectrogram? Right now, I'm simply using subplot function.
Srivardhan Gadila on 24 Apr 2021
You can make use of the Position and the XLim properties of the axes. Refer to the documentation of Axes Properties for more information.
N = 1024;
n = 0:N-1;
w0 = 2*pi/5;
x = sin(w0*n)+10*sin(2*w0*n);
s = spectrogram(x);
f1 = subplot(2,1,1);
f1WidthHeight = f1.Position(3:4);
f2 = subplot(2,1,2);
%Set same width and Xlimits for the second subplot
f2.Position(3:4) = f1WidthHeight;
f2.XLim = f1.XLim;
More Answers (0)
Find more on Time-Frequency Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!