The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design >> RF Design >> Converting S-parameters to TDR
https://designers-guide.org/forum/YaBB.pl?num=1183106931

Message started by jefkat on Jun 29th, 2007, 1:48am

Title: Converting S-parameters to TDR
Post by jefkat on Jun 29th, 2007, 1:48am

Hi everybody!
     I am looking for some online tool , some C/Matlab code which would convert S11 data  into TDR data for me. Anyone knows anything?. Please let me know if you know.
     Thanks much
      Shaf
   
   

Title: Re: Converting S-parameters to TDR
Post by mg777 on Jun 29th, 2007, 3:53am


Do you mean the TDR response of a line terminated by that S11? Any decent RF Spice simulator will support an [S] block with proper d.c extrapolation. Even a plain vanilla freebie Spice can be used if the S11 nicely converts to a Z frequency table.

Caution: Ill-conditioned [S] matrices can give rise to misleading results. Lossy/dispersive lines can be tricky as well.

M.G.Rajan


Title: Re: Converting S-parameters to TDR
Post by jefkat on Jul 2nd, 2007, 12:47am

No that's not what I mean :)
Its just what you do in Time domain reflectometery. Doing this actually you can find how impedance behaves along the line (discontinuties,or any other changes). Here is the code that I wrote (with a colleague's help) to  do just that



load  C:\Shaf\gen.s11;                                  %load the file which has S11
Spar=gen(:,2:3);                                          % All the rows but 2nd and 3rd columns
Freq=gen(:,1);                                 % All rows but first column
fvec_sim = [0:600e6/2048:600e6-600e6/2048];        % from 0 to 600MHz, 2048 points
number_rows=size(Spar);                             %
number_rows=number_rows(1,1);                      % number of rows  

for i=1:1:number_rows                              % turning them into proper imaginary notation
Spar_procd(i,1)=Spar(i,1)+j*Spar(i,2);
end

fdelta = fvec_sim(2)-fvec_sim(1);
fsim = max(fvec_sim)+fdelta;
tsim = 1/fsim;                                 % tsim is step in time.
time = [0:tsim:1/fdelta-tsim];                    

s11 = interp1(Freq,Spar_procd,fvec_sim,'linear','extrap');
s11_windowed = s11.*(1 + cos(pi*fvec_sim/fsim))/2;


t11 = ifft(s11_windowed);
impedance = 50*(1+t11)./(1-t11);            % Zo is 50

tdr = impedance;
c0 = 299792458; % speed of light in vacuum in  m/s
c0_fr4 = 1/2 * c0; % speed of signal through TL
fr4_inch_per_sec = c0_fr4*100/2.54;

fr4_inchvec = time*fr4_inch_per_sec;
inchvec = fr4_inchvec/2;

figure;
plot(inchvec,abs(impedance));
grid on;
xlabel('Distance (in inches)','FontSize',12,'FontWeight','bold');
ylabel('Impedance (in Ohms)','FontSize',12,'FontWeight','bold');
title('TDR plot','FontSize',12,'FontWeight','bold');




Title: Re: Converting S-parameters to TDR
Post by mg777 on Jul 2nd, 2007, 7:01am


Can you explain the logic behind this code? I'm having trouble understanding it.

M.G.Rajan


Title: Re: Converting S-parameters to TDR
Post by jefkat on Jul 3rd, 2007, 8:06am

Logic behind this code ..here it goes

   S11 gives you the reflection as a function of frequency
   Take the inverse Fourier Transform and change it into refletion as a function of time
    Reflection as a function of time can inturn be changed into impedance in time
    Since now you know how impedance changes as a fuction of time and since you can convert
    time into distance (knowing the speed down the transmission line) you can easily find impedance
    as a functions of distance from your generator.


Now I have a question . If I have S-paramters (taken with 50 ohm as a referenece impedance) how can I translate these (if I can) to 100 ohm S-parameters?? any cool way?

Title: Re: Converting S-parameters to TDR
Post by yang on Aug 31st, 2007, 11:54am

I think you just use the definition of S parameters.

S11=(ZL-50)/(ZL+50) -> ZL
then you can calculate the S parameter under 100Ohm reference use this equation.

Title: Re: Converting S-parameters to TDR
Post by prcken on Feb 26th, 2016, 7:43pm


jefkat wrote on Jul 2nd, 2007, 12:47am:
No that's not what I mean :)


fr4_inch_per_sec = c0_fr4*100/2.54;


1m=39.37inch

it should be
fr4_inch_per_sec = c0_fr4/100/2.54; ?

is the distance matches the length of your T-line? what if the start freq is not 0Hz?

thanks


Title: Re: Converting S-parameters to TDR
Post by rickr on Aug 2nd, 2019, 11:50pm

How did you come up with the "windowed" equation below?
s11_windowed = s11.*(1 + cos(pi*fvec_sim/fsim))/2;

Title: Re: Converting S-parameters to TDR
Post by Ken Kundert on Aug 5th, 2019, 1:36am

I believe you can use Spectre. It has a tdr analysis. It is not supported by ADE, but I think you can use it from the command line.

Run 'spectre -h tdr' for information about it.

-Ken

Title: Re: Converting S-parameters to TDR
Post by rickr on Aug 5th, 2019, 9:18pm

Thank you. I am trying to plot the TDR within Matlab.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.