Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
ifft of spectrum from VNA

Subject: ifft of spectrum from VNA

From: Jan

Date: 17 Mar, 2012 23:10:27

Message: 1 of 3

Hello, I'm doing some project to school and I've got a problem..spent a lot of time on it, but without any solution.

I've got a output from vector network analyzator (s-parameters) in frequency domain. I need to transform it into the time domain. But the output of my matlab calculation isn't the same, as output in time from the VNA (using the built-in features of the VNA). In the following picture you can see the differences. It looks like that there is some strange shape "added" or what:

http://s13.postimage.org/qydriepxz/matlab2.jpg

The measurement was from 5 GHz to 50 GHz; 801 points measured (is it enough points considering the huge freq range?)

Here is my code:

%s11_komplex % input - s11 parameters in complex numbers (contains magnitude and phase)


%s11_komplex = [zeros(89,1);s11_komplex]; % I was trying to put zeros into the missing freq range 0-5 GHz, but it makes no difference

Y1=[s11_komplex(:,1);flipud(conj(s11_komplex(:,1)))];
time = ifft(Y1);
plot (20*log10(abs(time)))
plot(import(:,2),'green') % plot data from VNA to compare

Can you help me, where is the problem, that the results are in some areas different? Thank you a lot, I'm quite frustrated..

Subject: ifft of spectrum from VNA

From: Nathan Orloff

Date: 18 Mar, 2012 16:08:12

Message: 2 of 3

Are you saving uncalibrated data from the VNA and displaying calibrated data? That could be the problem.

Subject: ifft of spectrum from VNA

From: Niels Schutten

Date: 20 Mar, 2013 10:39:16

Message: 3 of 3

Hello Jan,

You may want to look into windowing the s-parameters before processing to Y1 and ifft, e.g. by inserting:

window = hamming(length(s11_komplex);
s11_komplex = window.*s11_komplex;

... before the Y1= statement.

Also, you may need to look into converting your input file format (mag/phase) to real/imag.

Regards,

Niels



"Jan " <stsjan@seznam.cz> wrote in message <jk35l3$saf$1@newscl01ah.mathworks.com>...
> Hello, I'm doing some project to school and I've got a problem..spent a lot of time on it, but without any solution.
>
> I've got a output from vector network analyzator (s-parameters) in frequency domain. I need to transform it into the time domain. But the output of my matlab calculation isn't the same, as output in time from the VNA (using the built-in features of the VNA). In the following picture you can see the differences. It looks like that there is some strange shape "added" or what:
>
> http://s13.postimage.org/qydriepxz/matlab2.jpg
>
> The measurement was from 5 GHz to 50 GHz; 801 points measured (is it enough points considering the huge freq range?)
>
> Here is my code:
>
> %s11_komplex % input - s11 parameters in complex numbers (contains magnitude and phase)
>
>
> %s11_komplex = [zeros(89,1);s11_komplex]; % I was trying to put zeros into the missing freq range 0-5 GHz, but it makes no difference
>
> Y1=[s11_komplex(:,1);flipud(conj(s11_komplex(:,1)))];
> time = ifft(Y1);
> plot (20*log10(abs(time)))
> plot(import(:,2),'green') % plot data from VNA to compare
>
> Can you help me, where is the problem, that the results are in some areas different? Thank you a lot, I'm quite frustrated..

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us