skrf.media.coaxial.Coaxial

class skrf.media.coaxial.Coaxial(frequency=None, z0_port=None, z0_override=None, z0=None, Dint=0.00081, Dout=0.005, epsilon_r=1, tan_delta=0, sigma=58000000.0, tout=None, model='schelkunoff', dielectric=None, inner_conductor=None, outer_conductor=None, *args, **kwargs)[source]

A coaxial transmission line defined in terms of its inner/outer diameters and permittivity.

Parameters:
  • frequency (Frequency object) – Frequency band.

  • z0_port (number, array-like, or None) – z0_port is the port impedance for networks generated by the media. If z0_port is not None, the networks generated by the media are renormalized (or in other words embedded) from the characteristic impedance z0 of the media to z0_port. Else if z0_port is None, the networks port impedances will be the raw characteristic impedance z0 of the media. (Default is None)

  • z0_override (number, array-like, or None) – z0_override override the characteristic impedance for the media. If z0_override is not None, the networks generated by the media have their characteristic impedance z0 overridden by z0_override. (Default is None)

  • z0 (number, array-like, or None) – deprecated parameter, alias to z0_override if z0_override is None. Emit a deprecation warning.

  • Dint (number, or array-like) – inner conductor diameter, in m

  • Dout (number, or array-like) – outer conductor diameter, in m

  • epsilon_r (number, or array-like, optional) – relative permittivity of the dielectric medium. Default is 1.

  • tan_delta (number, or array-like, optional) – loss tangent of the dielectric medium. Default is 0.

  • sigma (number, or array-like, optional.) – conductors electrical conductivity, in S/m. Default is 58e6, the conductivity of annealed copper at 20 °C (100% IACS).

  • tout (number, array-like, or None, optional) – wall thickness of the outer conductor, in m. If None (default), the shield is infinitely thick.

  • model (str, optional) – Model of the conductors. ‘schelkunoff’ (default) is the Bessel function solution of [1], ‘tesche’ the equivalent circuit approximation of [2].

  • dielectric (dict or None, optional) – Material of the dielectric filling, as a dict taking the keys 'ep_r' (complex relative permittivity \(\epsilon_r (1 - j\tan\delta)\)) and 'mu_r' (complex relative permeability), both defaulting to 1. If None (default), the filling is described by epsilon_r and tan_delta.

  • inner_conductor (dict, list of dict, or None, optional) – Material of the inner conductor. A single dict describes a bulk conductor, a list of dict a stack of coatings ordered from the dielectric inwards, of which the deepest layer is the bulk that carries the dc current. Each dict takes the keys 'sigma', 'mu_r' and 'ep_r' of the layer itself, and 'rms_roughness', 'boundary_loc' and 'distribution' of the boundary on top of it, which are handed to surface_impedance(). If None (default), the conductor is smooth and made of bulk sigma.

  • outer_conductor (dict, list of dict, or None, optional) – Material of the outer conductor, described as inner_conductor.

Note

Dint, Dout, tout, epsilon_r, tan_delta, sigma can all be vectors as long as they are the same length

References

Examples

An RG58C/U flexible cable with copper conductors and a lossy polyethylene filling. Its characteristic impedance and the insertion loss of a 100 mm length of it at 5 GHz:

>>> import skrf as rf
>>> from skrf.media import Coaxial
>>> freq = rf.Frequency(1, 5, 101, unit='GHz')
>>> rg58 = Coaxial(freq, Dint=0.91e-3, Dout=2.95e-3, epsilon_r=2.3,
...                tan_delta=2e-4, sigma=58e6, z0_port=50)
>>> print(f"{rg58.z0[0]:.2f} ohm, {rg58.line(100, 'mm').s_db[-1, 1, 0]:.3f} dB")
46.56-0.05j ohm, -0.094 dB

The same cable roughened by 0.6 um rms at the inner conductor and by 1 um rms at the braided shield, which is described by giving each conductor a material of its own instead of the bulk sigma:

>>> rg58 = Coaxial(freq, Dint=0.91e-3, Dout=2.95e-3, epsilon_r=2.3,
...                tan_delta=2e-4, z0_port=50,
...                inner_conductor={'sigma': 58e6, 'rms_roughness': 0.6e-6},
...                outer_conductor={'sigma': 58e6, 'rms_roughness': 1e-6})
>>> print(f"{rg58.line(100, 'mm').s_db[-1, 1, 0]:.3f} dB")
-0.140 dB

An APC-7 air line whose two conductors carry an ENIG finish, 0.05 um of gold over 4 um of nickel over copper, roughened by 50 nm rms at the outside and by 0.2 um rms at the copper underneath:

>>> enig = [{'sigma': 41.1e6, 'rms_roughness': 50e-9, 'boundary_loc': 0},
...         {'sigma': 14.5e6, 'mu_r': 20, 'rms_roughness': 50e-9, 'boundary_loc': 0.05e-6},
...         {'sigma': 58e6, 'rms_roughness': 0.2e-6, 'boundary_loc': 4.05e-6}]
>>> freq = rf.Frequency(1, 18, 171, unit='GHz')
>>> apc7 = Coaxial(freq, Dint=3.04e-3, Dout=7.00e-3,
...                inner_conductor=enig, outer_conductor=enig)
>>> print(f"{apc7.z0[0]:.2f} ohm, {apc7.line(100, 'mm').s_db[-1, 1, 0]:.3f} dB")
50.22-0.25j ohm, -0.301 dB

Attributes

C

Distributed capacitance C, in F/m

G

Distributed conductance G, in S/m

L

Distributed inductance L, in H/m

R

Distributed resistance R, in Ohm/m.

Rs

Surface resistivity in Ohm/area.

Y

Distributed Admittance, \(Y^{'}\).

Z

Distributed Impedance, \(Z^{'}\).

Z0

Characteristic Impedance

a

Inner radius of the coaxial line

alpha

Real (attenuation) component of gamma.

b

Outer radius of the coaxial line

beta

Imaginary (propagating) component of gamma.

gamma

Propagation Constant, \(\gamma\).

npoints

Number of points of the frequency axis.

v_g

Complex group velocity (in m/s).

v_p

Complex phase velocity (in m/s).

z0

Return Characteristic Impedance z0_characteristic.

z0_characteristic

Characteristic Impedance, \(z_0\)

z0_override

Port Impedance.

z0_port

Port Impedance.

Methods

__init__

attenuator

Ideal matched attenuator of a given length.

capacitor

Capacitor.

capacitor_q

Capacitor with Q factor.

copy

Copy of this Media object.

delay_load

Delayed load.

delay_open

Delayed open transmission line.

delay_short

Delayed Short.

electrical_length

Calculate the complex electrical length for a given distance.

extract_distance

Determines physical distance from a transmission or reflection Network.

from_Z0_Dout

Init from characteristic impedance and outer diameter.

from_attenuation_VF

Init from electrical properties of the line: attenuation and velocity factor.

from_csv

Create a DistributedCircuit from numerical values stored in a csv file.

from_media

Initializes a DistributedCircuit from an existing Media instance.

get_array_of

impedance_mismatch

Two-port network for an impedance mismatch.

inductor

Inductor.

inductor_q

Inductor with Q factor.

isolator

Two-port isolator.

line

Transmission line of a given length and impedance.

line_floating

Floating transmission line of a given length and impedance.

load

Load of given reflection coefficient.

lossless_mismatch

Lossless, symmetric mismatch defined by its return loss.

match

Perfect matched load (\(\Gamma_0 = 0\)).

mode

Create another mode in this medium.

open

Open (\(\Gamma_0 = 1\)).

plot

random

Complex random network.

resistor

Resistor.

short

Short (\(\Gamma_0 = -1\))

shunt

Shunts a Network.

shunt_capacitor

Shunted capacitor.

shunt_delay_load

Shunted delayed load.

shunt_delay_open

Shunted delayed open.

shunt_delay_short

Shunted delayed short.

shunt_inductor

Shunted inductor.

shunt_resistor

Shunted resistor.

splitter

Ideal, lossless n-way splitter.

tee

Ideal, lossless tee.

theta_2_d

Convert electrical length to physical distance.

thru

Matched transmission line of length 0.

to_meters

Translate various units of distance into meters.

white_gaussian_polar

Complex zero-mean gaussian white-noise network.

write_csv

write this media's frequency, gamma, Z0, and z0 to a csv file.