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

5 views (last 30 days)
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?

Accepted Answer

Star Strider
Star Strider on 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).
.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!