PhysicalLine
- class pmrf.models.components.lines.uniform.PhysicalLine(length: Any, zn: Any = 50.0, epr: Any = 1.0, A: Any = 0.0, fA: Any = 1.0, tand: Any = 0.0, *, name: str | None = None, metadata: Any = None)
Bases:
RLGCLineTransmission line defined by nominal characteristic impedance, relative permittivity, conductor attenuation, and dielectric loss tangent.
Mathematical Formulation
The frequency-dependent attenuation components are computed as:
\[\alpha_c = A \cdot \sqrt{\frac{f}{fA}} \cdot \frac{\ln(10)}{20}\]\[\alpha_d = \frac{\pi f \sqrt{\varepsilon_r}}{c} \cdot \tan\delta\]Which yield the per-unit-length parameters:
\[R = 2 z_n \alpha_c\]\[L = \frac{z_n \sqrt{\varepsilon_r}}{c}\]\[G = \frac{2 \alpha_d}{z_n}\]\[C = \frac{\sqrt{\varepsilon_r}}{z_n c}\]Example
import pmrf as prf from pmrf.models import PhysicalLine line = PhysicalLine( zn=50.0, length=1.0, epr=2.2, A=0.01, fA=1.0, tand=0.001 ) freq = prf.Frequency(start=1, stop=10, npoints=101, unit='ghz') s = line.s(freq)
- Parameters:
zn (Param, default=50.0) – Nominal characteristic impedance defining the L/C ratio.
epr (Param, default=1.0) – Relative permittivity.
A (Param, default=0.0) – Conductor loss in dB/m/sqrt(Hz).
fA (Param, default=1.0) – Frequency scaling reference for attenuation in Hz.
tand (Param, default=0.0) – Dielectric loss tangent.
- rlgc(freq: Frequency) tuple[Array, Array, Array, Array]
Calculates the frequency-dependent RLGC parameters.
- Parameters:
freq (Frequency) – The frequency axis.
- Returns:
The R, L, G, and C parameter vectors.
- Return type:
tuple
- A: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = 0.0
Conductor loss in dB/m/sqrt(Hz)
- epr: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = 1.0
Relative permittivity
- fA: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = 1.0
Frequency scaling reference
- tand: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = 0.0
Dielectric loss tangent
- zn: AbstractVariable | Inexact[jaxlib._jax.Array, '...'] = 50.0
Nominal characteristic impedance