Also, it is +jwL and you are having it as -jwL in your matrice From: elie issa <eliaissa1@xxxxxxxxx> To: John <johndp@xxxxxxxx>; "si-list@xxxxxxxxxxxxx" <si-list@xxxxxxxxxxxxx> Sent: Thursday, November 10, 2011 1:06:49 AM Subject: [SI-LIST] Re: Multi-line S-parameters to RLGC matrices Your R11 is negative, you are having passivity issues in your sims of the S parameters From: John <johndp@xxxxxxxx> To: "si-list@xxxxxxxxxxxxx" <si-list@xxxxxxxxxxxxx> Sent: Wednesday, November 9, 2011 5:19:04 PM Subject: [SI-LIST] Multi-line S-parameters to RLGC matrices I am trying to convert multi-line S-parameters to RLGC matrices. I have found a IEEE paper "On Addressing the Practical Issues in the Extraction ofRLGC Parameters for Lossy Multiconductor Transmission Lines using S-parameter Models" Which I implemented in Matlab scripts to implement the algorithm, the first stage is to convert the S-parameters to T-parameters ******************************************************************************************* function [ T_params ] = S_2_T( sparams, Zref ) % If you have the rf toolkit you can use the function s2z to create the % Z-Parameters %---------------------------------------------------------------------- % Create the reference impedance matrix for all ports. Z0=Zref*eye(size(sparams,1)); % Create an Identity matrix ident=eye(size(sparams,1)); % Create Z-parameters Z_params=Z0*(ident + sparams)/(ident-sparams); %---------------------------------------------------------------------- % Divide up the n by n Z-parameter matrix into m by m sub-matrices z_11=Z_params(1:size(Z_params)/2,1:size(Z_params)/2); z_12=Z_params(1:size(Z_params)/2,(size(Z_params)/2+1):size(Z_params)); z_21=Z_params((size(Z_params)/2+1):size(Z_params),1:size(Z_params)/2); z_22=Z_params((size(Z_params)/2+1):size(Z_params),(size(Z_params)/2+1):size(Z_params)); % Build up the T-parameters from the Z-parameters T_params=[z_11/z_21 (z_11/z_21)*z_22-z_12;z_21\eye(size(z_21)) z_21\z_22]; end **************************************************************************************** The second is to create modified T-parameters. **************************************************************************************** function [gamma, Zo, Rm, Lm, Gm, Cm] = T_2_RLGC( T1, T2, deltax, freq ) % Calculate the modified ABCD matrices using the T parameters of two % different length lines. X=T1+T2; Y=T1-T2; M1 =(Y/X + X/Y)/(X/Y - Y/X); M2 = inv(X/Y-Y/X); % now extract the sub-matrices DM1 and CM2 DM1=M1((size(M1)/2+1):size(M1),(size(M1)/2+1):size(M1)); CM2=M2((size(M2)/2+1):size(M2),1:(size(M2)/2)); % now compute the complex propagation constant and characteristic % impedance gamma=(1/deltax)* acosh(DM1); Zo=(CM2\sinh((gamma * deltax)))/2; % Now calculate the RLGC matrices ohmega=2*pi()*freq; Rm=real(Zo*gamma); Lm=(1/ohmega)*imag(Zo*gamma); Gm=real(gamma/Zo); Cm=(1/ohmega)*imag(gamma/Zo); end **************************************************************************************** I created some S-parameters extracted at 1 GHz using a field solver for 100 Ohm differential lines with lengths of 400 and 500 mils. s_param_400mil 0.0202 + 0.0349i 0.0182 + 0.0383i 0.8965 - 0.4114i -0.0032 - 0.0036i 0.0182 - 0.0383i 0.0203 + 0.0349i -0.0032 - 0.0036i 0.8965 - 0.4114i 0.8965 - 0.4114i -0.0032 - 0.0036i 0.0203 + 0.0349i 0.0182 + 0.0382i -0.0032 - 0.0036i 0.8965 - 0.4114i 0.0182 + 0.0382i 0.0203 + 0.0349i s_param_500mil 0.0258 + 0.0341i 0.0275 + 0.0452i 0.8468 - 0.4985i -0.0047 - 0.0044i 0.0275 + 0.0452i 0.0258 + 0.0341i -0.0047 - 0.0044i 0.8468 - 0.4985i 0.8468 - 0.4985i -0.0047 - 0.0044i 0.0258 + 0.0341i 0.0275 + 0.0452i -0.0047 - 0.0044i 0.8468 - 0.4985i 0.0275 + 0.0452i 0.0258 + 0.0341i However when I use these with my functions I do not get the results I expect for Gamma and Impedance matrices (and hence the resulting RLGC matrices). I was expecting the Z matrix to be symmetrical and around 50 Ohms for Z11 and Z22 but this is not the case. gamma 0.0337 + 0.9961i 0.0002 -15.7096i 0.0016 -15.7080i 0.0336 + 0.9879i Zo 1.0e+002 * -0.0087 - 0.0194i -5.3170 - 0.1077i -5.1093 - 0.1262i -2.1089 + 0.0956i Can anybody comment as to what I might be doing wrong ? Regards John ------------------------------------------------------------------ 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 Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu ------------------------------------------------------------------ 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 Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu ------------------------------------------------------------------ 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 Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu