PhysicalLine
- class pmrf.models.components.lines.PhysicalLine(length: Any = 1.0, zn: Any = 50.0, epr: Any = 1.0, A: Any = 0.0, fA: Any = 1.0, tand: Any = 0.0, *, name: str | None = None, z0: complex = 50 + 0j)
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.core 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)
- Variables:
zn (Parameter, default=50.0) – Nominal characteristic impedance defining the L/C ratio.
epr (Parameter, default=1.0) – Relative permittivity.
A (Parameter, default=0.0) – Conductor loss in dB/m/sqrt(Hz).
fA (Parameter, default=1.0) – Frequency scaling reference for attenuation in Hz.
tand (Parameter, 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: Parameter = 0.0
- epr: Parameter = 1.0
- fA: Parameter = 1.0
- tand: Parameter = 0.0
- zn: Parameter = 50.0