models (pmrf.models)

RF models, components, surrogates, and adapters.

This module contains various components, surrogate models, composite building models, and model adapters.

Note that all models are re-exported under pmrf.models.

Model Hierarchy

pmrf.models.adapters.base.AbstractDiscrete(...)

(experimental) A model whose properties are defined on a discrete (tabulated) frequency grid.

pmrf.models.adapters.base.AbstractSingleDiscreteProperty(...)

(experimental) A model that provides a single dynamic property type from a discrete grid.

pmrf.models.adapters.base.AbstractSingleProperty(*)

A model that acts as a wrapper around a single known property type (e.g., a data file that only contains S-parameters) which caters for dynamic injection of the kind of property matrix.

pmrf.models.adapters.bridge.Host(*[, z0, ...])

An abstract base class for models where computation occurs on the Host (CPU/Python) rather than the Device (XLA/GPU).

pmrf.models.adapters.callable.ContinuousCallable(fn, ...)

A model that predicts its output at an arbitrary frequency using an arbitrary callable.

pmrf.models.adapters.callable.DiscreteCallable(...)

A model that predicts its output at a discrete set of frequencies already known to the model using an arbitrary callable.

pmrf.models.adapters.static.AModel(freq, data, *)

A model storing static ABCD-parameters (cascade) as raw arrays.

pmrf.models.adapters.static.Measured(data, *)

A model wrapping a static skrf.Network or NetworkCollection.

pmrf.models.adapters.static.SModel(freq, data, *)

A model storing static S-parameters (scattering) as raw arrays.

pmrf.models.adapters.static.YModel(freq, data, *)

A model storing static Y-parameters (admittance) as raw arrays.

pmrf.models.adapters.static.ZModel(freq, data, *)

A model storing static Z-parameters (impedance) as raw arrays.

pmrf.models.base.Model(*[, z0, name, metadata])

Base class for RF models.

pmrf.models.components.ideal.Attenuator(s21, *)

An matched, 2-port attenuator.

pmrf.models.components.ideal.DirectionalCoupler(...)

An ideal 4-port tunable directional coupler.

pmrf.models.components.ideal.Ground(*[, z0, ...])

Represents a ground connection.

pmrf.models.components.ideal.Isolator(*[, ...])

(experimental) An ideal 2-port isolator.

pmrf.models.components.ideal.Load(gamma[, ...])

A class for variable N-port loads defined by their reflection coefficient.

pmrf.models.components.ideal.Match([nports, ...])

A standard ideal matched circuit load (gamma = 0.0).

pmrf.models.components.ideal.Open([nports, ...])

A standard ideal open circuit load (gamma = 1.0).

pmrf.models.components.ideal.Port(*[, z0, ...])

Represents a circuit port.

pmrf.models.components.ideal.Short([nports, ...])

A standard ideal short circuit load (gamma = -1.0).

pmrf.models.components.ideal.SourceConverter(*)

An ideal 3-port source converter.

pmrf.models.components.ideal.Splitter([...])

(experimental) An ideal, lossless n-way power splitter.

pmrf.models.components.ideal.Tee(*[, z0, ...])

(experimental) An ideal, lossless 3-port Tee junction.

pmrf.models.components.ideal.Transformer(*)

An ideal, lossless, frequency-independent 4-port 1:1 transformer.

pmrf.models.components.lines.uniform.CoaxialLine(length)

Coaxial line defined directly by its physical geometry and material properties.

pmrf.models.components.lines.uniform.ConstantRLGCLine(length)

Transmission line with constant, frequency-independent RLGC parameters.

pmrf.models.components.lines.uniform.DatasheetLine(length)

Transmission line defined by common datasheet parameters (nominal impedance and velocity/loss factors).

pmrf.models.components.lines.uniform.FloatingLine(...)

A wrapper that converts a 2-port single-ended transmission line into a 4-port floating line with an explicit return path.

pmrf.models.components.lines.uniform.MicrostripLine(length)

Microstrip line defined by standard geometric and material properties.

pmrf.models.components.lines.uniform.PhaseLine([...])

Ideal, lossless, and dispersionless transmission line defined by electrical length at a reference frequency.

pmrf.models.components.lines.uniform.PhysicalLine(length)

Transmission line defined by nominal characteristic impedance, relative permittivity, conductor attenuation, and dielectric loss tangent.

pmrf.models.components.lines.uniform.RLGCLine(...)

Abstract base class for a transmission line defined by its per-unit-length RLGC (Resistance, Inductance, Conductance, Capacitance) parameters.

pmrf.models.components.lines.uniform.TransmissionLine(*)

Abstract base class for all uniform transmission line models.

pmrf.models.components.lumped.Capacitor(C, *)

A 2-port model of a series capacitor.

pmrf.models.components.lumped.CapacitorQ(C, Q, *)

A 2-port model of a series capacitor with a finite Quality Factor (Q).

pmrf.models.components.lumped.Inductor(L, *)

A 2-port model of a series inductor.

pmrf.models.components.lumped.InductorQ(L, Q, *)

A 2-port model of a series inductor with a finite Quality Factor (Q).

pmrf.models.components.lumped.Resistor(R, *)

A 2-port model of a series resistor.

pmrf.models.components.lumped.ShuntCapacitor(C, *)

A 2-port model of a shunt capacitor shunting to ground.

pmrf.models.components.lumped.ShuntInductor(L, *)

A 2-port model of a shunt inductor shunting to ground.

pmrf.models.components.lumped.ShuntResistor(R, *)

A 2-port model of a shunt resistor shunting to ground.

pmrf.models.components.sections.BoxSection(Y1, ...)

A 4-port model of a general Box-network.

pmrf.models.components.sections.BoxSectionCLCC(C1, ...)

A 4-port model of a Box-network with a Capacitor-Inductor-Capacitor-Capacitor topology.

pmrf.models.components.sections.LSection(Z, Y, *)

A 2-port model of a general L-section impedance matching network.

pmrf.models.components.sections.LSectionLC(L, C, *)

A 2-port model of an L-section impedance matching network.

pmrf.models.components.sections.PiSection(Y1, ...)

A 2-port model of a general Pi-network.

pmrf.models.components.sections.PiSectionCLC(C1, ...)

A 2-port model of a Pi-network with a Capacitor-Inductor-Capacitor topology.

pmrf.models.components.sections.TSection(Z1, ...)

A 2-port model of a general Tee-network.

pmrf.models.components.sections.TSectionLCL(L1, ...)

A 2-port model of a Tee-network with an Inductor-Capacitor-Inductor topology.

pmrf.models.composite.interconnected.Cascade(...)

Represents a cascade, or series connection, of two or more Model objects.

pmrf.models.composite.interconnected.Circuit([...])

Represents an arbitrary interconnection of multiple Model objects.

pmrf.models.composite.interconnected.Terminated(...)

Represents one network terminated in another.

pmrf.models.composite.nodal.CoupledOnePorts(...)

(experimental) Wraps N 1-port models (e.g. inductors) and couples them via a given K-matrix.

pmrf.models.composite.nodal.CoupledTwoPorts(...)

(experimental) Wraps N 2-port models (e.g., Inductors) and couples them via a given K-matrix.

pmrf.models.composite.nodal.GroundExposed(...)

A wrapper that converts an N-port grounded model into an (N+1)-port model by exposing the global ground as a single, accessible terminal.

pmrf.models.composite.nodal.GroundLifted(...)

A wrapper that converts an N-port grounded model into a 2N-port ungrounded model.

pmrf.models.composite.nodal.Shunt(shunt, *)

Represents a 1-port network connected in parallel (shunt) across a 2-port line.

pmrf.models.composite.topological.LTopology(M1, ...)

(experimental) A 2-port L-section network built from nested sub-models.

pmrf.models.composite.topological.PiTopology(M1, ...)

(experimental) A 2-port Pi-network built from nested sub-models.

pmrf.models.composite.topological.TTopology(M1, ...)

(experimental) A 2-port Tee-network built from nested sub-models.

pmrf.models.composite.transformed.Flipped(...)

A model container that flips the ports of a multi-port network.

pmrf.models.composite.transformed.Renumbered(...)

A container that re-numbers the ports of a given Model.

pmrf.models.composite.transformed.Stacked(...)

A container that stacks multiple models in a block-diagonal fashion.

pmrf.models.composite.wrapped.Probabilistic(...)

(experimental) A wrapper to make an existing model probabilistic.

pmrf.models.composite.wrapped.Tied(model, ...)

A composite model that links or 'ties' fields within a sub-model together.

pmrf.models.surrogates.expansion.VectorExpansion(...)

(experimental) A model where the output is a linear expansion of vector/matrix basis functions with an optional offset.

pmrf.models.surrogates.rational.BarycentricRational([...])

(experimental) A highly numerically stable rational model defined by a barycentric expansion: H(s) = [ sum( w_i * f_i / (s - s_i) ) ] / [ sum( w_i / (s - s_i) ) ]

pmrf.models.surrogates.rational.PoleResidue([...])

(experimental) A general N-port model defined by a pole-residue expansion: H(s) = D + sum( R_i / (s - p_i) )

pmrf.models.surrogates.rational.PolynomialRatio([...])

(experimental) A general N-port model defined by a ratio of polynomials H(s) = A(s) / B(s) where s = j*w.

pmrf.models.surrogates.rational.StateSpace([...])

(experimental) A general N-port model defined by continuous-time state-space matrices: H(s) = C * (sI - A)^-1 * B + D

Modules

adapters

Adapters for interfacing ParamRF models with external tools and formats.

components

The built-in ParamRF component library.

composite

Composite models that wrap and manipulate other models to create new ones.

surrogates

This module provides built-in numerical models in ParamRF.