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

12 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Star Strider
Star Strider il 23 Ott 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).
.

Più risposte (0)

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by