Sometimes it is necessary to have S-parameters of two port devices, such as GaAs FETs for example, given as three ports. FETS are almost always measured as two port devices, with the source leads grounded. Published S-parameter data for GaAs FETs is almost always presented this way. While two port s-parameters measured this way are satisfactor for a variety of circuit simulations, there are many instances where three port s-parameters for the FET are needed. When the FET is used in either a common-gate or common-drain configuration, or if the source is used as part of a feed-back ciruit, or whenever the FET's source isn't directly grounded are just a few examples of when it would be helpful to have the FET's three port s-parameters. In other words, you have a three-terminal device, and you want to use it as a three port device, but you only have two port S-parameters. How do you derive the three-port S-parameters from the two-port S-parameters? The computer program described in this article provides a means for converting two port s-parameters into three port s-parameters. It is completely general, so of course it will work on any set of two port s-parameters and convert them into three port s-parameters. Most top of the line microwave CAD programs, such as TouchStone and Super Compact, do this for you automatically. You just enter in the three circuit nodes the device connects to and the program does the rest. The algorithim this article is based upon duplicates what is already available in these other programs. This article, therefore, is primarily targeted at those who have less sophisticated programs and need to enter in three port data, or for those who may have the more expensive programs and just want to know how to do the derivation. Step 1: Convert the S-paramters of the two port into Z parameters Step 2: Add the Z-parameters of a 50 ohm resistor to the Z-parameters calculated above. This has the effect of putting a 50 ohm resistor in the common lead. Step 3: Converting the Z-parameters of step 2 back into S-parameters gives some of the sought after three-port S-parameters, in a two-port format, specifically; S11, S12, S21, and S22 of the three port. Step 4: Convert the Z-parameters from step 1 into ABCD parameters. Step 5: Re-calculate these ABCD parameters by first connecting a resistor of charactistic impedance with the output port, and then interchanging the ouput port with the common. Step 6: Converting the ABCD parameters from Step 5 back into S-parameters gives additional elements of the the three-port S matrix as follows: S12 calculated this way is really the S13 for our three-port, similarly, S22 is S33, and S21 is S31. Step 7: Going back to the ABCD parameters produced in step 4, re-calculate the ABCD parameters by interchanging the common port with the input port after first putting a resistor of characteristic impedance in the input port. Step 7: Repeat step 6. Now S12 is S32, S21 is S23. Also, S11 will be S33 and S22 will be S22, but these will be redundant, as they're already been calculated in previous steps. At this point all the three-port S-parameters have been calculated. Step 8: Convert these S-parameters back into polar form and print them out. As an example of the us of this program sample output is shown for converting the published two port S-parameters for a GaAs FET into three port S-parameters. The results agreed exactly with the output from TouchStone. This program was written in compiled Microsoft (TM) FORTRAN for an IBM XT. It could be re-written in other languages or for use other compilers. The advantage of writing circuit analysis programs in FORTRAN over other languages such as BASIC, for example, is that most FORTRAN compilers readily handle complex numbers. If this algorithim were written in BASIC, extra subroutines would have been necessary to handle the multiplication, addition, subtraction and division of complex numbers.