How to get the Z-Axis of power spectrogram?
4 views (last 30 days)
Show older comments
I want to get the Z-axis of spectrogram stored in a matrix. I can see the X,Y and Z values, whenever I put the cursor anywhere on the spectrogram. But How can I get the Z values for the whole spectrogram in a matrix?

0 Comments
Accepted Answer
Star Strider
on 9 Dec 2022
To see it in 3D, use the view function and choose an appropriate azimuth and elevation. (It was a surf plot in earlier releases, so this would be straightforward. It now requires outputs and a separate surf call.)
An example from the documentation —
fs = 1000;
t = 0:1/fs:2-1/fs;
y = chirp(t,100,1,200,'quadratic');
figure
spectrogram(y,100,80,100,fs,'yaxis')
colormap(turbo)
[sx,fx,tx] = spectrogram(y,100,80,100,fs,'yaxis'); % Call 'spectrogram' With Outputs
Ax = gca;
xlbl = Ax.XLabel.String;
ylbl = Ax.YLabel.String;
hcb = findobj(gcf, 'Type','colorbar');
cbstr = hcb.Label.String;
figure
surf(tx,fx,mag2db(abs(sx)), 'EdgeColor','none') % Plot Wioth 'surf'
colormap(turbo)
hcb2 = colorbar;
hcb2.Label.String = cbstr;
view(-30,60) % Set Camera Azimuth & Elevation
xlabel(xlbl)
ylabel(ylbl)
.
2 Comments
More Answers (0)
See Also
Categories
Find more on Logical 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!
