Get the time axis right in an inverse Fast Fourier Transform

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 3K views
Nora
Messages
2
Reaction score
0
TL;DR
time (distance) axis of Inverse Fast Fourier Transform (IFFT) from Vector Network Analyzer (VNA) S-parameter data.
Hi
I would like to transform the S-parameter responce, collected from a Vector Network Analyzer (VNA), in time domain by using the Inverse Fast Fourier Transform (IFFT) . I use MATLAB IFFT function to do this and the response looks correct, the problem is that I do not manage to the time scaling correct. The VNA has a build in time domain toolbox so I know how it should look like, see the figure below.
Return-Loss, time domain, VNA.jpg

In the figure below I have plotted the MATLAB transformed data with the index on x-axis (also zoomed in between N=0 to 20, N_max is 1600)
Return-Loss, time domain, MATLAB.jpg

At first I assumed that the increment on x-axis would be 1/bw/N_max where bw is the band width (i.e. f_max-f_min) and N_max is the number of samples. This is obviously wrong with a factor of 1e-3.
I would much appreciate if someone would like to help to get this correct! I have attached the S-matrix data in the txt file. First column is the frequency in GHz, second is real part of the response and third is imaginary part of the response.
My thanks in advance
/Thomas
 

Attachments

  • Return-Loss, time domain, VNA.jpg
    Return-Loss, time domain, VNA.jpg
    29.5 KB · Views: 277
  • data.txt
    data.txt
    50 KB · Views: 311
on Phys.org
The time step is given by
$$
\Delta t = \frac{1}{N \Delta f}
$$
From the data file, it appears that ##\Delta f = 0.00125\ \mathrm{GHz}## (the frequencies appear to be rounded values).
 
Hi
Thanks for the answer! Yes, this makes sense.