pmrf.models.utility

Classes

AModel([a, name, separator, _z0, _param_groups])

Overview

Measured(ntwk)

SModel([s, name, separator, _z0, _param_groups])

Overview

class pmrf.models.utility.Measured(ntwk: skrf.network.Network | str)[source]

Bases: Model

Parameters:

ntwk (Network | str)

s_measured: Array
f_measured: Array
s(freq)[source]

Scattering parameter matrix.

If only a() is implemented, converts via pmrf.functions.conversions.a2s().

Parameters:

freq (Frequency) – Frequency grid.

Returns:

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

Return type:

jnp.ndarray

Raises:

NotImplementedError – If neither a nor s is implemented in a subclass.

class pmrf.models.utility.SModel(s=<function SModel.s>, *, name=None, separator='_', _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

Overview

A general model defined by a constant S-parameter matrix.

Parameters:
  • s (array)

  • name (str | None)

  • separator (str)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

s(freq)[source]

Returns the S-parameter matrix.

Args:

freq (Frequency): Specifies the frequency to calculate the parameters at.

Returns:

jnp.ndarray: The resultant block-diagonal S-parameter matrix.

Parameters:

freq (Frequency)

Return type:

Array

class pmrf.models.utility.AModel(a=<function AModel.a>, *, name=None, separator='_', _z0=(50+0j), _param_groups=<factory>)[source]

Bases: Model

Overview

A general model defined by a constant ABCD matrix.

Parameters:
  • a (array)

  • name (str | None)

  • separator (str)

  • _z0 (complex)

  • _param_groups (list[ParameterGroup])

a(freq)[source]

Returns the ABCD matrix.

Args:

freq (Frequency): Specifies the frequency to calculate the parameters at.

Returns:

jnp.ndarray: The resultant block-diagonal ABCD matrix.

Parameters:

freq (Frequency)

Return type:

Array