Subsections

Computing with S-parameters


S-parameters in CAE programs

The most common task of a simulation program is to compute the S parameters of an arbitrary network that consists of many elementary components connected to each other. To perform this, one can build a large matrix containing the S parameters of all components and then use matrix operations to solve it. However this method needs heavy algorithms. A more elegant possibility was published in [2]. Each step computes only one connection and so unites two connected components to a single S parameter block. This procedure has to be done with every connection until there is only one block left whose S parameters therefore are the simulation result.

Connecting port $ k$ of circuit $ (\underline{S})$ with port $ l$ of circuit $ (\underline{T})$, the new S-parameters are

$\displaystyle \underline{S}'_{ij} = \underline{S}_{ij} + \frac{\underline{S}_{k...
...T}_{ll}\cdot \underline{S}_{ik}} {1-\underline{S}_{kk}\cdot \underline{T}_{ll}}$ (1.14)

with $ i$ and $ j$ both being ports of $ (\underline{S})$. Furthermore, it is

$\displaystyle \underline{S}'_{mj} = \frac{\underline{S}_{kj}\cdot \underline{T}_{ml}} {1-\underline{S}_{kk}\cdot \underline{T}_{ll}}$ (1.15)

with $ m$ being a port of the circuit $ (\underline{T})$. If two ports of the same circuit $ (\underline{S})$ are connected, the new S-parameters are

$\displaystyle \underline{S}'_{ij} = \underline{S}_{ij} + \frac{ \underline{S}_{...
...kl})\cdot (1-\underline{S}_{lk}) - \underline{S}_{kk}\cdot \underline{S}_{ll}}.$ (1.16)

If more than two ports are connected at a node, one have to insert one or more ideal tee components. Its S-parameters write as follows.

$\displaystyle \begin{pmatrix}\underline{S} \end{pmatrix} = \dfrac{1}{3}\cdot \begin{pmatrix}-1 & 2 & 2\\ 2 & -1 & 2\\ 2 & 2 & -1\\ \end{pmatrix}$ (1.17)

For optimisation reasons it may be desirable to insert a cross if at least four components are connected at one node. Its S-parameters write as follows.

$\displaystyle \begin{pmatrix}\underline{S} \end{pmatrix} = \dfrac{1}{2}\cdot \b...
... & 1 & 1 & 1\\ 1 & -1 & 1 & 1\\ 1 & 1 & -1 & 1\\ 1 & 1 & 1 & -1\\ \end{pmatrix}$ (1.18)

The formulas (1.14), (1.15) and (1.16) were obtained using the ``nontouching-loop'' rule being an analytical method for solving a flow graph. A few basic definitions have to be understood.

A ``path'' is a series of branches into the same direction with no node touched more than once. A paths value is the product of the coefficients of the branches. A ``loop'' is formed when a path starts and finishes at the same node. A ``first-order'' loop is a path coming to closure with no node passed more than once. Its value is the product of the values of all branches encountered on the route. A ``second-order'' loop consists of two first-order loops not touching each other at any node. Its value is calculated as the product of the values of the two first-order loops. Third- and higher-order loops are three or more first-order loops not touching each other at any node.

The nontouching-loop rule can be applied to solve any flow graph. In the following equation in symbolic form $ T$ represents the ratio of the dependent variable in question and the independent variable.

$\displaystyle T = \dfrac{ \begin{array}{r} P_{1}\cdot\left(1 - \Sigma L_{1}^{(1...
...+ \ldots \end{array} }{1 - \Sigma L_{1} + \Sigma L_{2} - \Sigma L_{3} + \ldots}$ (1.19)

In eq. (1.19) $ \Sigma L_{1}$ stands for the sum of all first-order loops, $ \Sigma L_{2}$ is the sum of all second-order loops, and so on. $ P_{1}$, $ P_{2}$, $ P_{3}$ etc., stand for the values of all paths that can be found from the independent variable to the dependent variable. $ \Sigma L_{1}^{(1)}$ denotes the sum of those first-order loops which do not touch (hence the name) the path of $ P_{1}$ at any node, $ \Sigma L_{2}^{(1)}$ denotes then the sum of those second-order loops which do not touch the path $ P_{1}$ at any point, $ \Sigma L_{1}^{(2)}$ consequently denotes the sum of those first-order loops which do not touch the path of $ P_{2}$ at any point. Each path is multiplied by the factor in parentheses which involves all the loops of all orders that the path does not touch.

When connecting two different networks the signal flow graph in fig. 1.2 is used to compute the new S-parameters. With equally reference impedances on port $ k$ and port $ l$ the relations $ \underline{a}_{k} = \underline{b}_{l}$ and $ \underline{a}_{l} = \underline{b}_{k}$ are satisfied.

Figure 1.2: signal flow graph of a joint between ports $ k$ and $ l$ on different networks
\includegraphics[width=0.8\linewidth]{sconnectgraph}

There is only one first-order loop (see fig. 1.3) within this signal flow graph. This loops value yields to

$\displaystyle L_{11} = \underline{S}_{kk}\cdot \underline{T}_{ll}$ (1.20)

Figure 1.3: loops in the signal flow graph when connecting ports $ k$ and $ l$ on different networks
\includegraphics[height=3.1cm]{sconnectloop}

The paths that can be found from the independent variable $ \underline{a}_{j}$ to the dependent variable $ \underline{b}_{i}$ (as depicted in fig. 1.4) can be written as

$\displaystyle P_{1}$ $\displaystyle = \underline{S}_{kj}\cdot \underline{T}_{ll} \cdot \underline{S}_{ik}$ (1.21)
$\displaystyle P_{2}$ $\displaystyle = \underline{S}_{ij}$ (1.22)

Figure 1.4: paths in the signal flow graph when connecting ports $ k$ and $ l$ on different networks
\includegraphics[height=3.1cm]{sconnectpath}

Applying the nontouching-loop rule, i.e. eq. (1.19), gives the new S-parameter $ \underline{S}'_{ij}$

\begin{displaymath}\begin{split}\underline{S}'_{ij} = \dfrac{\underline{b}_{i}}{...
...k}}{1 - \underline{S}_{kk}\cdot \underline{T}_{ll}} \end{split}\end{displaymath} (1.23)

The only path that can be found from the independent variable $ \underline{a}_{j}$ to the dependent variable $ \underline{b}_{m}$ (as depicted in fig. 1.4) can be written as

$\displaystyle P_{1} = \underline{S}_{kj}\cdot \underline{T}_{ml}$ (1.24)

Thus the new S-parameter $ \underline{S}'_{mj}$ yields to

$\displaystyle \underline{S}'_{mj} = \dfrac{\underline{b}_{m}}{\underline{a}_{j}...
...}_{kj}\cdot \underline{T}_{ml}}{1 - \underline{S}_{kk}\cdot \underline{T}_{ll}}$ (1.25)

When connecting the same network the signal flow graph in fig. 1.5 is used to compute the new S-parameters. With equally reference impedances on port $ k$ and port $ l$ the relations $ \underline{a}_{k} = \underline{b}_{l}$ and $ \underline{a}_{l} = \underline{b}_{k}$ are satisfied.

Figure 1.5: signal flow graph of a joint between ports $ k$ and $ l$ on the same network
\includegraphics[width=0.55\linewidth]{siconnectgraph}

There are three first-order loops and a second-order loop (see fig. 1.6) within this signal flow graph. These loops' values yield to

$\displaystyle L_{11}$ $\displaystyle = \underline{S}_{kk}\cdot \underline{S}_{ll}$ (1.26)
$\displaystyle L_{12}$ $\displaystyle = \underline{S}_{kl}$ (1.27)
$\displaystyle L_{13}$ $\displaystyle = \underline{S}_{lk}$ (1.28)
$\displaystyle L_{21}$ $\displaystyle = L_{12}\cdot L_{13} = \underline{S}_{kl}\cdot \underline{S}_{lk}$ (1.29)

Figure 1.6: loops in the signal flow graph when connecting ports $ k$ and $ l$ on the same network
\includegraphics[height=3.7cm]{siconnectloop}

There are five different paths that can be found from the independent variable $ \underline{a}_{j}$ to the dependent variable $ \underline{b}_{i}$ (as depicted in fig. 1.7) which can be written as

$\displaystyle P_{1}$ $\displaystyle = \underline{S}_{kj}\cdot \underline{S}_{ll}\cdot \underline{S}_{ik}$ (1.30)
$\displaystyle P_{2}$ $\displaystyle = \underline{S}_{kj}\cdot \underline{S}_{il}$ (1.31)
$\displaystyle P_{3}$ $\displaystyle = \underline{S}_{lj}\cdot \underline{S}_{ik}$ (1.32)
$\displaystyle P_{4}$ $\displaystyle = \underline{S}_{ij}$ (1.33)
$\displaystyle P_{5}$ $\displaystyle = \underline{S}_{lj}\cdot \underline{S}_{kk}\cdot \underline{S}_{il}$ (1.34)

Figure 1.7: paths in the signal flow graph when connecting ports $ k$ and $ l$ on the same network
\includegraphics[height=7.4cm]{siconnectpath}

Thus the new S-parameter $ \underline{S}'_{ij}$ yields to

\begin{displaymath}\begin{split}\underline{S}'_{ij} &= \dfrac{P_{1} + P_{2}\cdot...
...ight) - \underline{S}_{kk}\cdot \underline{S}_{ll}} \end{split}\end{displaymath} (1.35)

This short introduction to signal flow graphs and their solution using the nontouching-loop rule verifies the initial formulas used to compute the new S-parameters for the reduced subnetworks.


Differential S-parameter ports

The implemented algorithm for the S-parameter analysis calculates S-parameters in terms of the ground node. In order to allow differential S-parameters as well it is necessary to insert an ideal impedance transformer with a turns ratio of 1:1 between the differential port and the device under test.

Figure 1.8: transformation of differential port into single ended port
\includegraphics[width=12cm]{differential}

The S-parameter matrix of the inserted ideal transformer being a three port device can be written as follows.

$\displaystyle \begin{pmatrix}\underline{S} \end{pmatrix} = \dfrac{1}{3}\cdot \begin{pmatrix}1 & 2 & -2\\ 2 & 1 & 2\\ -2 & 2 & 1\\ \end{pmatrix}$ (1.36)

This transformation can be applied to each S-parameter port in a circuit regardless whether it is actually differential or not.

It is also possible to do the impedance transformation within this step (for S-parameter ports with impedances different than $ 50\ohm$). This can be done by using a transformer with an impedance ration of

$\displaystyle r=T^2=\frac{50\ohm}{Z}$ (1.37)

With $ Z$ being the S-parameter port impedance. The S-parameter matrix of the inserted ideal transformer now writes as follows.

$\displaystyle \begin{pmatrix}\underline{S} \end{pmatrix} = \dfrac{1}{2\cdot Z_0...
...Z} & Z & 2\cdot Z_0\\ -2\cdot\sqrt{Z_0\cdot Z} & 2\cdot Z_0 & Z\\ \end{pmatrix}$ (1.38)

With $ Z$ being the new S-parameter port impedance and $ Z_0$ being $ 50\ohm$.


This document was generated by Stefan Jahn on 2007-12-30 using latex2html.