I made a previous post about what I am trying to do
I have band-limited data in the frequency domain from a VNA and I am trying to convert it into the time domain. VNA data saved in .s2p in Real/Imaginary format
VNA settings:
I extend the data to create a complete FFT. Zero padding is used for this procedure For sampling frequency, I use Nyquist
I make the number of points to be a power of 2
Zero padding Matlab Pseudo_code as follows:
Data_ext=[zeros(3200,1); Data_raw; zeros(79871,1)]
I take this extended data, copy it without the DC point, conjugate it, flip it, and append it. Pseudo_code as follows:
Data_copy=Data_ext (2:end)
Data_copy=flip(conj(Data_ext (2:end)))
Data_total=[Data_ext ; Data_copy ]
The plot above shows the extended data (single Sided). Top is real, and bottom is imaginary I can now perform the IFFT on Data_total From here we can window and filter the data. To match the VNA, we use a Kaiser window (beta=6), and an FIR bandpass filter.
The plot above shows IFFT results. The black trace is the time domain from the VNA, the blue is the raw IFFT results, and the red is the IFFT windowed and filtered.
MY ISSUE I cannot get the time signal to qualitatively match the VNA. Obviously the VNA probably has some proprietary algorithm, but I should be able to get close. I think that my issue is a lack of understanding of number of points and sample frequency. I have already tried creating my own time domain waveforms, and performing FFT and going back with IFFT. I am hoping that someone is like "Hey dummy, your points need to be XXXX and your Fs should be XXXX"