TransmissionLine

class pmrf.models.components.lines.TransmissionLine(*, name: str | None = None, z0: complex = 50 + 0j)

Bases: Model, ABC

Abstract base class for all uniform transmission line models.

Provides the fundamental equations to construct S-parameters based on frequency-dependent characteristic impedance (\(Z_c\)) and total complex electrical length (\(\gamma L\)). Derived classes must implement the zc_gammaL method.

Mathematical Formulation

For a single-ended 2-port transmission line, the traveling wave S-parameters with respect to \(Z_c\) are:

\[S_{11} = S_{22} = 0\]
\[S_{21} = S_{12} = e^{-\gamma L}\]

This model computes these S-parameters and then re-normalized them into \(Z_0\) and the power-wave definition using pmrf.rf.renormalize_s().

s(frequency: Frequency) Array

Scattering parameter matrix.

If a different parameter type (a, z, y) is primary, this converts it to S.

Note that, in ParamRF, the power wave definition of S-parameters should be used. If you have a formulation in terms of another definition (such as traveling waves), simply use pmrf.rf.s2s() (or pmrf.rf.renormalize_s() if you need to change impedance too).

Parameters:

freq (Frequency) – Frequency grid.

Returns:

S-parameter matrix with shape (nf, n, n).

Return type:

jnp.ndarray

abstractmethod zc_and_gammaL(frequency: Frequency) tuple[Array, Array]

Calculates characteristic impedance (\(Z_c\)) and complex electrical length (\(\gamma L\)).

Parameters:

frequency (Frequency) – The frequency axis.

Returns:

Array of characteristic impedance (\(Z_c\)) and complex electrical length (\(\gamma L\)).

Return type:

tuple[jnp.ndarray, jnp.ndarray]