[SI-LIST] S-params vs. TDR/TDT results

  • From: "Loyer, Jeff" <jeff.loyer@xxxxxxxxx>
  • To: <si-list@xxxxxxxxxxxxx>
  • Date: Sat, 15 Sep 2007 14:03:42 -0700

Try again - different format to get rid of the "3D" characters (I hope)
 

 

Zhenggang's question regarding "s-parameters looking the same while TDR
shows differences" got me thinking...

 

NOTE: please delete most of this message if you respond (certainly
everything below the first horizontal line) - lots of extraneous bits to
be sending around.

 

I'll use Sxy to describe s-params from port y to x, Txy for TDR/TDT
results from port y to x, and Pxy for the corresponding pulse responses.

 

Take an asymmetric system:

P1 -> high_Z0_T-line -> med_Z0_T-line -> low_Z0_T-line -> P2 (lengths
arbitrary, but probably different)

 

Clearly T11 != (does not equal) T22 

 

But, for both the lossy and loss-less cases, S21 == S12 (for linear,
passive networks).  Similarly, T21 == T12.

 

For the lossless case, |S11|^2 + |S21|^2 = 1 (Hall's book, page 305; I
think he's got a typo when citing S12, though it's a moot point)

 

A little algebra (with S21 == S12) shows that, for the lossless case,
|S11|^2 == |S22|^2.

 

A little logic says that |S11| = |S22|

 

Point (1): It's very interesting (non-intuitive) to me that |S11| =
|S22| for any loss-less, linear, passive system, since T11 != T22.  I
believe this is the point that Zhenggang was focused on, since we
typically focus on only the S-parameter magnitudes.

 

Question (1): is there any constant (or predictable) relationship
between T11 & T22?

 

Point (2): This implies that the only difference you'll see in VNA
simulations of a loss-less system is in the phase of S11, S22, even
though TDR looks markedly different.

 

For a lossy system, |S11|^2 + |S22|^2 = Ps, where Ps is less than 1, and
represents the portion of total Power dissipated in the system
(conductor, dielectric loss for T-lines).  I know that Ps is going to be
a function of frequency (losses are frequency-dependent), but I wondered
if |S11| would also equal |S22| for a lossy system (since S21 == S12).

 

Question (2): does |S11| == |S22| for a lossy, linear, passive system?

 

I also wondered if, since S21 == S12 for this system, what about the
corresponding pulse responses (P21 and P12). Would they also be
identical?  It seemed like they had to be if S21 == S12, but I wouldn't
bet my life on it...  What about the loss-less case?

 

Question (3): does P21 == P12 for a loss-less, linear, passive system?

Question (4): does P21 == P12 for a lossy, linear, passive system?

 

For potential bragging rights, please take a minute to answer all the
questions above for yourself before going on...

 

So, I put together some simulations to measure TDR/TDT, VNA, and pulse
responses (200ps, representing 5Gt/s system) of the loss-less and lossy
case.  The Hspice decks are included below, if you want to try them
(absolutely no guarantees whatsoever).  They show that |S11| == |S22|
for the loss-less case (the phases are very different).

 

The answers I found were:

Question (2): does |S11| == |S22| for a lossy, linear, passive system?

No, not for the lossy case.  Interestingly, I think this implies that
the ratio of power dissipated by port 1 to that dissipated by the system
is changing, depending on the circuit topology.  In retrospect, that
makes sense since, if you saw a huge discontinuity first, lots of energy
would be reflected into (and absorbed by) the load.  For a small
discontinuity (say a very lossy 50 ohm T-line), lots of energy might be
absorbed by that first T-line segment before any got reflected to be
absorbed by port 1.

 

Question (3): does P21 == P12 (Pulse responses) for a loss-less, linear,
passive system?

Yes.

 

Question (4): does P21 == P12 for a lossy, linear, passive system?

Yes.

 

I don't have an answer for Question (1).  Anybody else?

 

Some interesting stuff that was new to me, and thought I'd share.  I
welcome your thoughts (or let me know if you see that somehow I've
erred), or if you know of interesting articles that have already
explored this.

 

I think it has interesting implications when we have to simulate both
Northbound and Southbound directions of a topology.  Is there any point,
if the pulse responses are the same?  Maybe not, if the driver/receiver
models are the same (or am I missing something else?).  I'm not sure
what adding crosstalk will do to this scenario - I suspect it will have
a significant impact.  And packages are often different for the two
directions, Tx vs. Rx.  But, if they weren't (running some generic
simulations...)?

 

________________________________________________________

Here are some Hspice decks, if you want to duplicate my "doodle-time"
simulations.  The voltages of interest will be:

vm(n_p2_s21): |S21|

vm(n_p2_s12): |S12|

vp(n_p2_s21): S21 phase

vp(n_p2_s12): S12 phase

v(n_p2_s21): T21

v(n_p2_s12): T12

 

vm(n_s11_s21): |S11|

vm(n_s11_s12): |S22|

similar for S11, S22 phase

v(n_p1_s21): T11

v(n_p1_s12): T22

 

v(n_p2_s21): P21 for pulse response deck

v(n_p2_s12): P12

 

There are 4 decks:

TDR/TDT/VNA of loss-less, using ideal Hspice T-lines, arbitrary
impedances and lengths.

TDR/TDT/VNA of Lossy, using Hspice's internal solver, arbitrary widths,
delays approximately equal to loss-less cases. 

Pulse response of loss-less.

Pulse response of lossy.

 

 

________________________________________________________

S21 vs. S12 investigation, ideal T-lines

 

.param trace1_L=1.5

.param trace2_L=2.5

.param trace3_L=3.5

.param vhi=2

.param tr =35p

                 

.AC Lin  800  30K 20G

.tran 1p 4n

 

**** s21 stimulus at port 1

V_src_s21 N_src_s21 0 PULSE (0 vhi 0N tr tr 100N 1000N) AC = 2

R_src_s21 N_src_s21 N_p1_s21 R=50

R_load_p2_s21 N_p2_s21 0 R=50

 

T_1_s21  N_p1_s21 0 N_in2_s21 0

+                   Z0=100 TD=250p

T_2_s21  N_in2_s21 0 N_in3_s21 0

+                   Z0=60 TD=450p

T_3_s21  N_in3_s21 0 N_p2_s21 0

+                   Z0=30 TD=650p

 

**** Calculate S11

E_s11_s21 N_s11src_s21 0 N_p1_s21 0 1 $ copy port1 

V_s11_s21 N_s11src_s21 N_s11_s21 DC=0 ac 1 $ subtract original voltage

R_s11_s21 N_s11_s21 0 R=1

 

**** s12 stimulus at port 2

V_src_s12 N_src_s12 0 PULSE (0 vhi 0N tr tr 100N 1000N) AC = 2 

R_src_s12 N_src_s12 N_p1_s12 R=50

R_load_p2_s12 N_p2_s12 0 R=50

 

T_1_s12  N_p1_s12 0 N_in2_s12 0

+                   Z0=30 TD=650p

T_2_s12  N_in2_s12 0 N_in3_s12 0

+                   Z0=60 TD=450p

T_3_s12  N_in3_s12 0 N_p2_s12 0

+                   Z0=100 TD=250p

 

**** Calculate S22

E_s11_s12 N_s11src_s12 0 N_p1_s12 0 1 $ copy port1 

V_s11_s12 N_s11src_s12 N_s11_s12 DC=0 ac 1 $ subtract original voltage

R_s11_s12 N_s11_s12 0 R=1

 

.END

________________________________________________________

S21 vs. S12 investigation, internal field solver

 

.param trace1_L=1.5

.param trace2_L=2.5

.param trace3_L=3.5

.param vhi=2

.param tr =35p

                 

.AC Lin  800  30K 20G

.tran 1p 4n

 

******* Internal Field Solver Stuff **********

.MATERIAL fr4 DIELECTRIC ER=4.2 LOSSTANGENT=.018

.MATERIAL copper METAL CONDUCTIVITY=4.2E07

.FSOPTIONS myoptions ACCURACY=HIGH PRINTDATA=YES 

+                    COMPUTEG0=YES COMPUTEGD=YES COMPUTER0=YES
COMPUTERS=YES

** solve for G0, Gd, R0, Rs

 

*** stripline ***

.LAYERSTACK sl_stack

+           LAYER=(PEC,'.0254*0.7e-3'),  $ GND plane, 0.7mils

+           LAYER=(fr4,'.0254*16e-3'), $ FR4, 14.6+1.4 mils (7.3 above
and below)

+           LAYER=(PEC,'.0254*0.7e-3'),  $ GND plane, 0.7mils

 

.SHAPE sl2_Tline      RECTANGLE WIDTH='.0254*2.0e-3',
HEIGHT='.0254*1.4e-3' $  2mils x 1.4mils

.SHAPE sl5_Tline      RECTANGLE WIDTH='.0254*5.0e-3',
HEIGHT='.0254*1.4e-3' $  5mils x 1.4mils

.SHAPE sl9_Tline      RECTANGLE WIDTH='.0254*9.0e-3',
HEIGHT='.0254*1.4e-3' $  9mils x 1.4mils

 

.MODEL sl2_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline2.rlgc

+                      CONDUCTOR=(SHAPE=sl2_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

.MODEL sl5_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline5.rlgc

+                      CONDUCTOR=(SHAPE=sl5_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

.MODEL sl9_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline9.rlgc

+                      CONDUCTOR=(SHAPE=sl9_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

 

**** s21 stripline stimulus at port 1

V_src_s21 N_src_s21 0 PULSE (0 vhi 0N tr tr 100N 1000N) AC = 2

R_src_s21 N_src_s21 N_p1_s21 R=50

R_load_p2_s21 N_p2_s21 0 R=50

 

W_1_s21  N_p1_s21 0 N_in2_s21 0

+                   FSmodel=sl2_Tline N=1 L='.0254*trace1_L'

W_2_s21  N_in2_s21 0 N_in3_s21 0

+                   FSmodel=sl5_Tline N=1 L='.0254*trace2_L'

W_3_s21  N_in3_s21 0 N_p2_s21 0

+                   FSmodel=sl9_Tline N=1 L='.0254*trace3_L'

 

**** Calculate S11

E_s11_s21 N_s11src_s21 0 N_p1_s21 0 1 $ copy port1 

V_s11_s21 N_s11src_s21 N_s11_s21 DC=0 ac 1 $ subtract original voltage

R_s11_s21 N_s11_s21 0 R=1

 

**** s12 stripline stimulus at port 2

V_src_s12 N_src_s12 0 PULSE (0 vhi 0N tr tr 100N 1000N) AC = 2 

R_src_s12 N_src_s12 N_p1_s12 R=50

R_load_p2_s12 N_p2_s12 0 R=50

 

W_1_s12  N_p1_s12 0 N_in2_s12 0

+                   FSmodel=sl9_Tline N=1 L='.0254*trace3_L'

W_2_s12  N_in2_s12 0 N_in3_s12 0

+                   FSmodel=sl5_Tline N=1 L='.0254*trace2_L'

W_3_s12  N_in3_s12 0 N_p2_s12 0

+                   FSmodel=sl2_Tline N=1 L='.0254*trace1_L'

 

**** Calculate S22

E_s11_s12 N_s11src_s12 0 N_p1_s12 0 1 $ copy port1 

V_s11_s12 N_s11src_s12 N_s11_s12 DC=0 ac 1 $ subtract original voltage

R_s11_s12 N_s11_s12 0 R=1

 

.END

 

________________________________________________________

S21 vs. S12 pulse investigation, ideal T-lines

 

.param trace1_L=1.5

.param trace2_L=2.5

.param trace3_L=3.5

.param vhi=2

.param tr =35p

.param pw=200p

.param per=1000n

                 

.AC Lin  800  30K 20G

.tran 1p 10n

 

**** s21 stimulus at port 1

V_src_s21 N_src_s21 0 PULSE (0 vhi 0N tr tr pw per) AC = 2

R_src_s21 N_src_s21 N_p1_s21 R=50

R_load_p2_s21 N_p2_s21 0 R=50

 

T_1_s21  N_p1_s21 0 N_in2_s21 0

+                   Z0=100 TD=250p

T_2_s21  N_in2_s21 0 N_in3_s21 0

+                   Z0=60 TD=450p

T_3_s21  N_in3_s21 0 N_p2_s21 0

+                   Z0=30 TD=650p

 

**** s12 stimulus at port 2

V_src_s12 N_src_s12 0 PULSE (0 vhi 0N tr tr pw per) AC = 2 

R_src_s12 N_src_s12 N_p1_s12 R=50

R_load_p2_s12 N_p2_s12 0 R=50

 

T_1_s12  N_p1_s12 0 N_in2_s12 0

+                   Z0=30 TD=650p

T_2_s12  N_in2_s12 0 N_in3_s12 0

+                   Z0=60 TD=450p

T_3_s12  N_in3_s12 0 N_p2_s12 0

+                   Z0=100 TD=250p

 

.END

 

________________________________________________________

S21 vs. S12 pulse investigation, internal field solver

 

.param trace1_L=1.5

.param trace2_L=2.5

.param trace3_L=3.5

.param vhi=2

.param tr =35p

.param pw=200p

.param per=1000n

                 

.AC Lin  800  30K 20G

.tran 1p 10n

 

******* Internal Field Solver Stuff **********

.MATERIAL fr4 DIELECTRIC ER=4.2 LOSSTANGENT=.018

.MATERIAL copper METAL CONDUCTIVITY=4.2E07

.FSOPTIONS myoptions ACCURACY=HIGH PRINTDATA=YES 

+                    COMPUTEG0=YES COMPUTEGD=YES COMPUTER0=YES
COMPUTERS=YES

** solve for G0, Gd, R0, Rs

 

*** stripline ***

.LAYERSTACK sl_stack

+           LAYER=(PEC,'.0254*0.7e-3'),  $ GND plane, 0.7mils

+           LAYER=(fr4,'.0254*16e-3'), $ FR4, 14.6+1.4 mils (7.3 above
and below)

+           LAYER=(PEC,'.0254*0.7e-3'),  $ GND plane, 0.7mils

 

.SHAPE sl2_Tline      RECTANGLE WIDTH='.0254*2.0e-3',
HEIGHT='.0254*1.4e-3' $  2mils x 1.4mils

.SHAPE sl5_Tline      RECTANGLE WIDTH='.0254*5.0e-3',
HEIGHT='.0254*1.4e-3' $  5mils x 1.4mils

.SHAPE sl9_Tline      RECTANGLE WIDTH='.0254*9.0e-3',
HEIGHT='.0254*1.4e-3' $  9mils x 1.4mils

 

.MODEL sl2_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline2.rlgc

+                      CONDUCTOR=(SHAPE=sl2_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

.MODEL sl5_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline5.rlgc

+                      CONDUCTOR=(SHAPE=sl5_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

.MODEL sl9_Tline W MODELTYPE=FieldSolver LAYERSTACK=sl_stack

+                      FSOPTIONS=myoptions RLGCFILE=sl_Tline9.rlgc

+                      CONDUCTOR=(SHAPE=sl9_Tline, 

+                                 ORIGIN=('.0254*0'    ,'.0254*7.3e-3'),

+                                 MATERIAL=copper)

 

**** s21 stripline stimulus at port 1

V_src_s21 N_src_s21 0 PULSE (0 vhi 0N tr tr pw per) AC = 2

R_src_s21 N_src_s21 N_p1_s21 R=50

R_load_p2_s21 N_p2_s21 0 R=50

 

W_1_s21  N_p1_s21 0 N_in2_s21 0

+                   FSmodel=sl2_Tline N=1 L='.0254*trace1_L'

W_2_s21  N_in2_s21 0 N_in3_s21 0

+                   FSmodel=sl5_Tline N=1 L='.0254*trace2_L'

W_3_s21  N_in3_s21 0 N_p2_s21 0

+                   FSmodel=sl9_Tline N=1 L='.0254*trace3_L'

 

**** s12 stripline stimulus at port 2

V_src_s12 N_src_s12 0 PULSE (0 vhi 0N tr tr pw per) AC = 2 

R_src_s12 N_src_s12 N_p1_s12 R=50

R_load_p2_s12 N_p2_s12 0 R=50

 

W_1_s12  N_p1_s12 0 N_in2_s12 0

+                   FSmodel=sl9_Tline N=1 L='.0254*trace3_L'

W_2_s12  N_in2_s12 0 N_in3_s12 0

+                   FSmodel=sl5_Tline N=1 L='.0254*trace2_L'

W_3_s12  N_in3_s12 0 N_p2_s12 0

+                   FSmodel=sl2_Tline N=1 L='.0254*trace1_L'

 

.END

 

________________________________________________________

 

Cheers,

Jeff Loyer (aka "why is there air? Questioner")


------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field


List technical documents are available at:
                http://www.si-list.net

List archives are viewable at:     
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: