How can I get a time versus amplitude graph from the waveform.

8 vues (au cours des 30 derniers jours)
I have used the following code to get a FMCW sweep for ThZ range.
sFMCW = phased.FMCWWaveform('SweepBandwidth',192e12,...
'SweepTime',1e-9,...
'SampleRate',384e12,'SweepDirection','Triangle',...
'NumSweeps',2);
sig = step(sFMCW);
windowlength = 32;
noverlap = 16;
nfft = 32;
spectrogram(sig,windowlength,noverlap,nfft,sFMCW.SampleRate,'yaxis')
And got the following graph.
How can I get time versus amplitude of the following graph?

Réponse acceptée

Star Strider
Star Strider le 23 Oct 2021
The spectrogram function returns amplitude (the ‘z’ axis of the rotated surf plot) in units of dB/Hz, so it will not produce the amplitude results that the fft function would return.
Instead, use the pspectrum function with the 'spectrogram' option, that will return the amplitude uints (again the ‘z’ axis of the rotated surf plot) of the original signal.
Compare the two funcitons with the same signal to see the difference in the results. Both of them provide the ability to get the data directly from the outputs without having to recover them from the surf plot (although that is always an option).
.

Plus de réponses (0)

Catégories

En savoir plus sur Antennas, Microphones, and Sonar Transducers dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by