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