DatasheetLine
- class pmrf.models.components.lines.empirical.DatasheetLine(length: Any, zn: Any = 50.0, vf: Any = 1.0, k1: Any = 0.0, k2: Any = 0.0, loss_coeffs_normalized: bool = False, *, name: str | None = None, metadata: Any = None)
Bases:
AbstractImmittanceLineLine defined by nominal impedance, velocity factor, and loss coefficients.
Mathematical Formulation
With normalized coefficients \(k_{1,norm}\) and \(k_{2,norm}\),
\[\alpha_c = k_{1,norm} \cdot \frac{\ln(10)}{20} \cdot \sqrt{\omega}\]\[\alpha_d = k_{2,norm} \cdot \frac{\ln(10)}{20} \cdot \omega\]and the per-unit-length parameters are
\[R = 2 z_n \alpha_c\]\[L = \frac{z_n}{v_f c}\]\[G = \frac{2 \alpha_d}{z_n}\]\[C = \frac{1}{z_n v_f c}\]Example
import pmrf as prf from pmrf.models import DatasheetLine cable = DatasheetLine( zn=50.0, vf=0.69, # Velocity factor (e.g., solid PTFE) k1=0.2, # Skin effect loss factor k2=0.01, # Dielectric loss factor length=1.0 ) freq = prf.Frequency(start=0.1, stop=10, npoints=201, unit='ghz') s = cable.s(freq)
- Parameters:
zn (Param, default=50.0) – Nominal characteristic impedance.
vf (Param, default=1.0) – Velocity factor (ratio of propagation speed to the speed of light).
k1 (Param, default=0.0) – Skin effect loss factor.
k2 (Param, default=0.0) – Dielectric loss factor.
loss_coeffs_normalized (bool, default=False) – If true, use
k1andk2directly. Otherwise, normalize them to the 100 MHz reference convention.
- immittance(freq: Frequency) ImmittanceResult
Calculates the frequency-dependent per-unit-length immittance.
- Parameters:
freq (Frequency) – The frequency axis.
- Returns:
The series impedance and shunt admittance vectors.
- Return type:
- loss_coeffs_normalized: bool = False
Loss coefficients normalization flag