pmrf.models.topological
Classes
|
Overview |
- class pmrf.models.topological.PiCLC(C1=1e-12, L=1e-09, C2=1e-12, *, name=None, separator='_', _z0=(50+0j), _param_groups=<factory>)[source]
Bases:
Model
Overview
A 2-port model of a Pi-network with a Capacitor-Inductor-Capacitor topology.
This model consists of a shunt capacitor (C1), a series inductor (L), and a second shunt capacitor (C2). It is a fundamental building block for various filters and matching networks, and is also commonly used to model the parasitic effects of physical components like SMD resistors.
To ensure numerical stability when using with JAX, this model provides a special case for when the series inductance L is zero, where the network behaves as a single shunt capacitor.
Example
# Create a Pi-network model, for example to represent parasitics parasitics = prf.models.PiCLC(
C1=0.05e-12, # 50 fF L=0.1e-9, # 100 pH C2=0.05e-12 # 50 fF
)
# Calculate its response over a frequency range freq = prf.Frequency(start=1, stop=20, npoints=201, unit=’ghz’) s_params = parasitics.s(freq)
print(f”S21 at 10 GHz: {abs(s_params[freq.center_idx, 1, 0]):.2f}”) ```
- Parameters:
C1 (Any)
L (Any)
C2 (Any)
name (str | None)
separator (str)
_z0 (complex)
_param_groups (list[ParameterGroup])
- a(freq)[source]
Calculates the ABCD-matrix of the Pi-network.
This method dynamically chooses an appropriate calculation based on whether the inductance L is zero, making it safe for JAX-based optimization.
- Args:
freq (Frequency): The frequency axis for the calculation.
- Returns:
np.ndarray: The resultant ABCD-matrix.
- Parameters:
freq (Frequency)
- Return type:
Array