Radio frequency (RF) Models¶
For more information on these RF models, see Ref. 1.
Coplanar Waveguides (CPW) and Microstrips¶
Sax includes JAX-jittable functions for computing the characteristic impedance, effective permittivity, and propagation constant of coplanar waveguides and microstrip lines. All results are obtained analytically so the functions compose freely with JAX transformations (jit, grad, vmap, etc.).
CPW Theory¶
The quasi-static CPW analysis follows the conformal-mapping approach described by Simons 2 (ch. 2) and Ghione & Naldi 3. Conductor thickness corrections use the first-order formulae of Gupta, Garg, Bahl & Bhartia 4 (§7.3, Eqs. 7.98-7.100).
Microstrip Theory¶
The microstrip analysis uses the Hammerstad-Jensen 5 closed-form expressions for effective permittivity and characteristic impedance, as presented in Pozar 1 (ch. 3, §3.8).
General¶
The ABCD-to-S-parameter conversion is the standard microwave-network relation from Pozar 1 (ch. 4).
The implementation was cross-checked against the Qucs-S model (see Qucs technical documentation 6, §12 for CPW, §11 for microstrip) and the scikit-rf CPW class.
rf
¶
Sax generic RF models.
This module provides generic RF components and JAX-jittable functions for computing the characteristic impedance, effective permittivity, and propagation constant of coplanar waveguides and microstrip lines.
Note
Some models in this module require the jaxellip package.
Install the rf extra to include it: pip install sax[rf].
Functions:
| Name | Description |
|---|---|
admittance |
Generalized two-port admittance element. |
capacitor |
Ideal two-port capacitor model. |
coplanar_waveguide |
S-parameter model for a straight coplanar waveguide. |
cpw_epsilon_eff |
Effective permittivity of a CPW on a finite-height substrate. |
cpw_thickness_correction |
Apply conductor thickness correction to CPW ε_eff and Z₀. |
cpw_z0 |
Characteristic impedance of a CPW. |
electrical_open |
Electrical open connection Sax model. |
electrical_short |
Electrical short connection Sax model. |
ellipk_ratio |
Ratio of complete elliptic integrals of the first kind K(m) / K(1-m). |
gamma_0_load |
Connection with given reflection coefficient. |
impedance |
Generalized two-port impedance element. |
inductor |
Ideal two-port inductor model. |
lc_shunt_component |
SAX component for a 1-port shunted LC resonator. |
microstrip |
S-parameter model for a straight microstrip transmission line. |
microstrip_epsilon_eff |
Effective permittivity of a microstrip line. |
microstrip_thickness_correction |
Conductor thickness correction for a microstrip line. |
microstrip_z0 |
Characteristic impedance of a microstrip line. |
propagation_constant |
Complex propagation constant of a quasi-TEM transmission line. |
tee |
Ideal three-port RF power divider/combiner (T-junction). |
transmission_line_s_params |
S-parameters of a uniform transmission line (ABCD→S conversion). |
admittance
¶
admittance(*, f: FloatArrayLike = DEFAULT_FREQUENCY, y: ComplexLike = 1 / 50) -> SDict
Generalized two-port admittance element.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Frequency in Hz |
DEFAULT_FREQUENCY
|
y
|
ComplexLike
|
Admittance in siemens |
1 / 50
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary representing the admittance element |
References
Pozar
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
s = sax.models.rf.admittance(f=f, y=1 / 75)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o1")]), label="|S11|")
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]), label="|S12|")
plt.plot(f / 1e9, np.abs(s[("o2", "o2")]), label="|S22|")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Magnitude")
plt.legend()
Source code in src/sax/models/rf.py
capacitor
¶
capacitor(
*,
f: FloatArrayLike = DEFAULT_FREQUENCY,
capacitance: FloatLike = 1e-15,
z0: ComplexLike = 50,
) -> SDict
Ideal two-port capacitor model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Frequency in Hz |
DEFAULT_FREQUENCY
|
capacitance
|
FloatLike
|
Capacitance in Farads |
1e-15
|
z0
|
ComplexLike
|
Reference impedance in Ω. |
50
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary representing the capacitor element |
References
Pozar
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
s = sax.models.rf.capacitor(f=f, capacitance=1e-12, z0=50)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o1")]), label="|S11|")
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]), label="|S12|")
plt.plot(f / 1e9, np.abs(s[("o2", "o2")]), label="|S22|")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Magnitude")
plt.legend()
Source code in src/sax/models/rf.py
coplanar_waveguide
¶
coplanar_waveguide(
f: FloatArrayLike = DEFAULT_FREQUENCY,
length: FloatLike = 1000.0,
width: FloatLike = 10.0,
gap: FloatLike = 5.0,
thickness: FloatLike = 0.0,
substrate_thickness: FloatLike = 500.0,
ep_r: FloatLike = 11.45,
tand: FloatLike = 0.0,
) -> SDict
S-parameter model for a straight coplanar waveguide.
Computes S-parameters analytically using conformal-mapping CPW theory following Simons and the Qucs-S CPW model. Conductor thickness corrections use the first-order model of Gupta, Garg, Bahl, and Bhartia.
References
Simons, ch. 2; Gupta, Garg, Bahl & Bhartia; Qucs technical documentation, §12.4
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz |
DEFAULT_FREQUENCY
|
length
|
FloatLike
|
Physical length in µm |
1000.0
|
width
|
FloatLike
|
Centre-conductor width in µm |
10.0
|
gap
|
FloatLike
|
Gap between centre conductor and ground plane in µm |
5.0
|
thickness
|
FloatLike
|
Conductor thickness in µm |
0.0
|
substrate_thickness
|
FloatLike
|
Substrate height in µm |
500.0
|
ep_r
|
FloatLike
|
Relative permittivity of the substrate |
11.45
|
tand
|
FloatLike
|
Dielectric loss tangent |
0.0
|
Returns:
| Type | Description |
|---|---|
SDict
|
sax.SDict: S-parameters dictionary |
Source code in src/sax/models/rf.py
cpw_epsilon_eff
¶
cpw_epsilon_eff(
w: FloatArrayLike, s: FloatArrayLike, h: FloatArrayLike, ep_r: FloatArrayLike
) -> Array
Effective permittivity of a CPW on a finite-height substrate.
where \(K\) is the complete elliptic integral of the first kind in the parameter convention (\(m = k^2\)).
References
Simoons, Eq. 2.37; Ghione & Naldi
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Centre-conductor width (m). |
required |
s
|
FloatArrayLike
|
Gap to ground plane (m). |
required |
h
|
FloatArrayLike
|
Substrate height (m). |
required |
ep_r
|
FloatArrayLike
|
Relative permittivity of the substrate. |
required |
Returns:
| Type | Description |
|---|---|
Array
|
Effective permittivity (dimensionless). |
Source code in src/sax/models/rf.py
cpw_thickness_correction
¶
cpw_thickness_correction(
w: FloatArrayLike, s: FloatArrayLike, t: FloatArrayLike, ep_eff: FloatArrayLike
) -> tuple[Any, Any]
Apply conductor thickness correction to CPW ε_eff and Z₀.
First-order correction from Gupta, Garg, Bahl & Bhartia
References
Gupta, Garg, Bahl & Bhartia, §7.3, Eqs. 7.98-7.100
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Centre-conductor width (m). |
required |
s
|
FloatArrayLike
|
Gap to ground plane (m). |
required |
t
|
FloatArrayLike
|
Conductor thickness (m). |
required |
ep_eff
|
FloatArrayLike
|
Uncorrected effective permittivity. |
required |
Returns:
| Type | Description |
|---|---|
Any
|
|
Any
|
and characteristic impedance (Ω). |
Source code in src/sax/models/rf.py
cpw_z0
¶
cpw_z0(w: FloatArrayLike, s: FloatArrayLike, ep_eff: FloatArrayLike) -> Array
Characteristic impedance of a CPW.
References
Simons, Eq. 2.38. Note that our \(w\) and \(s\) correspond to Simons' \(s\) and \(w\).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Centre-conductor width (m). |
required |
s
|
FloatArrayLike
|
Gap to ground plane (m). |
required |
ep_eff
|
FloatArrayLike
|
Effective permittivity (see :func: |
required |
Returns:
| Type | Description |
|---|---|
Array
|
Characteristic impedance (Ω). |
Source code in src/sax/models/rf.py
electrical_open
¶
electrical_open(*, f: FloatArrayLike = DEFAULT_FREQUENCY, n_ports: int = 1) -> SDict
Electrical open connection Sax model.
Useful for specifying some ports to remain open while not exposing them for connections in circuits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz |
DEFAULT_FREQUENCY
|
n_ports
|
int
|
Number of ports to set as opened |
1
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary where \(S = I_\text{n_ports}\) |
References
Pozar
Source code in src/sax/models/rf.py
electrical_short
¶
electrical_short(*, f: FloatArrayLike = DEFAULT_FREQUENCY, n_ports: int = 1) -> SDict
Electrical short connection Sax model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz |
DEFAULT_FREQUENCY
|
n_ports
|
int
|
Number of ports to set as shorted |
1
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary where \(S = -I_\text{n_ports}\) |
References
Pozar
Source code in src/sax/models/rf.py
ellipk_ratio
¶
ellipk_ratio(m: FloatArrayLike) -> Array
Ratio of complete elliptic integrals of the first kind K(m) / K(1-m).
Source code in src/sax/models/rf.py
gamma_0_load
¶
gamma_0_load(
*, f: FloatArrayLike = DEFAULT_FREQUENCY, gamma_0: Complex = 0, n_ports: int = 1
) -> SType
Connection with given reflection coefficient.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz |
DEFAULT_FREQUENCY
|
gamma_0
|
Complex
|
Reflection coefficient Γ₀ of connection |
0
|
n_ports
|
int
|
Number of ports in component. The diagonal ports of the matrix are set to Γ₀ and the off-diagonal ports to 0. |
1
|
Returns:
| Type | Description |
|---|---|
SType
|
sax.SType: S-parameters dictionary where \(S = \Gamma_0I_\text{n_ports}\) |
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
gamma_0 = 0.5 * np.exp(1j * np.pi / 4)
s = sax.models.rf.gamma_0_load(f=f, gamma_0=gamma_0, n_ports=2)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o1")]), label="|S11|")
plt.plot(f / 1e9, np.abs(s[("o2", "o2")]), label="|S22|")
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]), label="|S12|")
plt.plot(f / 1e9, np.abs(s[("o2", "o1")]), label="|S21|")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Magnitude")
plt.legend()
Source code in src/sax/models/rf.py
impedance
¶
impedance(
*, f: FloatArrayLike = DEFAULT_FREQUENCY, z: ComplexLike = 50, z0: ComplexLike = 50
) -> SDict
Generalized two-port impedance element.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Frequency in Hz |
DEFAULT_FREQUENCY
|
z
|
ComplexLike
|
Impedance in Ω |
50
|
z0
|
ComplexLike
|
Reference impedance in Ω. |
50
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary representing the impedance element |
References
Pozar
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
s = sax.models.rf.impedance(f=f, z=75, z0=50)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o1")]), label="|S11|")
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]), label="|S12|")
plt.plot(f / 1e9, np.abs(s[("o2", "o2")]), label="|S22|")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Magnitude")
plt.legend()
Source code in src/sax/models/rf.py
inductor
¶
inductor(
*,
f: FloatArrayLike = DEFAULT_FREQUENCY,
inductance: FloatLike = 1e-12,
z0: ComplexLike = 50,
) -> SDict
Ideal two-port inductor model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Frequency in Hz |
DEFAULT_FREQUENCY
|
inductance
|
FloatLike
|
Inductance in Henries |
1e-12
|
z0
|
ComplexLike
|
Reference impedance in Ω. |
50
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary representing the inductor element |
References
Pozar
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
s = sax.models.rf.inductor(f=f, inductance=1e-9, z0=50)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o1")]), label="|S11|")
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]), label="|S12|")
plt.plot(f / 1e9, np.abs(s[("o2", "o2")]), label="|S22|")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Magnitude")
plt.legend()
Source code in src/sax/models/rf.py
lc_shunt_component
¶
lc_shunt_component(
f: FloatArrayLike = 5000000000.0,
inductance: FloatLike = 1e-09,
capacitance: FloatLike = 1e-12,
z0: FloatLike = 50,
) -> SDict
SAX component for a 1-port shunted LC resonator.
Source code in src/sax/models/rf.py
microstrip
¶
microstrip(
f: FloatArrayLike = DEFAULT_FREQUENCY,
length: FloatLike = 1000.0,
width: FloatLike = 10.0,
substrate_thickness: FloatLike = 500.0,
thickness: FloatLike = 0.2,
ep_r: FloatLike = 11.45,
tand: FloatLike = 0.0,
) -> SDict
S-parameter model for a straight microstrip transmission line.
Computes S-parameters analytically using the Hammerstad-Jensen closed-form expressions for effective permittivity and characteristic impedance, as described in Pozar. Conductor thickness corrections follow Gupta et al.
References
Hammerstad & Jensen; Pozar, ch. 3, §3.8; Gupta, Garg, Bahl & Bhartia, §2.2.4
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz. |
DEFAULT_FREQUENCY
|
length
|
FloatLike
|
Physical length in µm. |
1000.0
|
width
|
FloatLike
|
Strip width in µm. |
10.0
|
substrate_thickness
|
FloatLike
|
Substrate height in µm. |
500.0
|
thickness
|
FloatLike
|
Conductor thickness in µm (default 0.2 µm = 200 nm). |
0.2
|
ep_r
|
FloatLike
|
Relative permittivity of the substrate (default 11.45 for Si). |
11.45
|
tand
|
FloatLike
|
Dielectric loss tangent (default 0 — lossless). |
0.0
|
Returns:
| Type | Description |
|---|---|
SDict
|
sax.SDict: S-parameters dictionary. |
Source code in src/sax/models/rf.py
microstrip_epsilon_eff
¶
microstrip_epsilon_eff(
w: FloatArrayLike, h: FloatArrayLike, ep_r: FloatArrayLike
) -> Array
Effective permittivity of a microstrip line.
Uses the Hammerstad-Jensen formula as given in Pozar.
where the last term contributes only for narrow strips (\(w/h < 1\)).
References
Hammerstad & Jensen; Pozar, Eqs. 3.195-3.196.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Strip width (m). |
required |
h
|
FloatArrayLike
|
Substrate height (m). |
required |
ep_r
|
FloatArrayLike
|
Relative permittivity of the substrate. |
required |
Returns:
| Type | Description |
|---|---|
Array
|
Effective permittivity (dimensionless). |
Source code in src/sax/models/rf.py
microstrip_thickness_correction
¶
microstrip_thickness_correction(
w: FloatArrayLike,
h: FloatArrayLike,
t: FloatArrayLike,
ep_r: FloatArrayLike,
ep_eff: FloatArrayLike,
) -> tuple[Array, Array, Array]
Conductor thickness correction for a microstrip line.
Uses the widely-adopted Schneider correction as presented in Pozar and Gupta et al.
Then the corrected \(Z_0\) is computed with the effective width \(w_e\) and corrected \(\varepsilon_{\mathrm{eff},t}\).
References
Pozar, §3.8; Gupta, Garg, Bahl & Bhartia
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Strip width (m). |
required |
h
|
FloatArrayLike
|
Substrate height (m). |
required |
t
|
FloatArrayLike
|
Conductor thickness (m). |
required |
ep_r
|
FloatArrayLike
|
Relative permittivity of the substrate. |
required |
ep_eff
|
FloatArrayLike
|
Uncorrected effective permittivity. |
required |
Returns:
| Type | Description |
|---|---|
Array
|
|
Array
|
thickness-corrected effective permittivity, |
Array
|
and characteristic impedance (Ω). |
Source code in src/sax/models/rf.py
microstrip_z0
¶
microstrip_z0(w: FloatArrayLike, h: FloatArrayLike, ep_eff: FloatArrayLike) -> Array
Characteristic impedance of a microstrip line.
Uses the Hammerstad-Jensen approximation as given in Pozar.
References
Hammerstad & Jensen; Pozar, Eqs. 3.197-3.198.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
w
|
FloatArrayLike
|
Strip width (m). |
required |
h
|
FloatArrayLike
|
Substrate height (m). |
required |
ep_eff
|
FloatArrayLike
|
Effective permittivity (see :func: |
required |
Returns:
| Type | Description |
|---|---|
Array
|
Characteristic impedance (Ω). |
Source code in src/sax/models/rf.py
propagation_constant
¶
propagation_constant(
f: FloatArrayLike,
ep_eff: FloatArrayLike,
tand: FloatArrayLike = 0.0,
ep_r: FloatArrayLike = 1.0,
) -> Array
Complex propagation constant of a quasi-TEM transmission line.
For the general lossy case
where the dielectric attenuation is
and the phase constant is
For a superconducting line (\(\tan\delta = 0\)) the propagation is purely imaginary: \(\gamma = j\beta\).
References
Pozar, §3.8
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Frequency (Hz). |
required |
ep_eff
|
FloatArrayLike
|
Effective permittivity. |
required |
tand
|
FloatArrayLike
|
Dielectric loss tangent (default 0 — lossless). |
0.0
|
ep_r
|
FloatArrayLike
|
Substrate relative permittivity (only needed when |
1.0
|
Returns:
| Type | Description |
|---|---|
Array
|
Complex propagation constant \(\gamma\) (1/m). |
Source code in src/sax/models/rf.py
tee
¶
tee(*, f: FloatArrayLike = DEFAULT_FREQUENCY) -> SDict
Ideal three-port RF power divider/combiner (T-junction).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
f
|
FloatArrayLike
|
Array of frequency points in Hz |
DEFAULT_FREQUENCY
|
Returns:
| Type | Description |
|---|---|
SDict
|
S-dictionary representing ideal RF T-junction behavior |
Examples:
# mkdocs: render
import matplotlib.pyplot as plt
import numpy as np
import sax
import jaxellip # pyright: ignore[reportMissingImports]
import scipy.constants
sax.set_port_naming_strategy("optical")
f = np.linspace(1e9, 10e9, 500)
s = sax.models.rf.tee(f=f)
plt.figure()
plt.plot(f / 1e9, np.abs(s[("o1", "o2")]) ** 2, label="|S12|^2")
plt.plot(f / 1e9, np.abs(s[("o1", "o3")]) ** 2, label="|S13|^2")
plt.plot(f / 1e9, np.abs(s[("o2", "o3")]) ** 2, label="|S23|^2")
plt.xlabel("Frequency [GHz]")
plt.ylabel("Power")
plt.legend()
Source code in src/sax/models/rf.py
transmission_line_s_params
¶
transmission_line_s_params(
gamma: ComplexLike,
z0: ComplexLike,
length: FloatArrayLike,
z_ref: ComplexLike | None = None,
) -> tuple[Array, Array]
S-parameters of a uniform transmission line (ABCD→S conversion).
The ABCD matrix of a line with characteristic impedance \(Z_0\), propagation constant \(\gamma\), and length \(\ell\) is:
Converting to S-parameters referenced to \(Z_{\mathrm{ref}}\)
When z_ref is None the reference impedance defaults to z0
(matched case), giving \(S_{11} = 0\) and
\(S_{21} = e^{-\gamma\ell}\).
References
Pozar, Table 4.2
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
gamma
|
ComplexLike
|
Complex propagation constant (1/m). |
required |
z0
|
ComplexLike
|
Characteristic impedance (Ω). |
required |
length
|
FloatArrayLike
|
Physical length (m). |
required |
z_ref
|
ComplexLike | None
|
Reference (port) impedance (Ω). Defaults to |
None
|
Returns:
| Type | Description |
|---|---|
tuple[Array, Array]
|
|
Source code in src/sax/models/rf.py
813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 | |
-
David M. Pozar. Microwave Engineering. John Wiley & Sons, Inc., 4 edition, 2012. ISBN 978-0-470-63155-3. ↩↩↩
-
Rainee Simons. Coplanar Waveguide Circuits, Components, and Systems. Number v. 165 in Wiley Series in Microwave and Optical Engineering. Wiley Interscience, New York, 2001. ISBN 978-0-471-22475-4 978-0-471-46393-1. doi:10.1002/0471224758. ↩
-
G. Ghione and C. Naldi. Analytical formulas for coplanar lines in hybrid and monolithic MICs. Electronics Letters, 20(4):179–181, February 1984. doi:10.1049/el:19840120. ↩
-
Kuldip C. Gupta, R. Garg, I. Bahl, and P. Bhartia. Microstrip Lines and Slotlines. Artech House, Boston, 2. ed edition, 1996. ISBN 978-0-89006-766-6. ↩
-
E. Hammerstad and O. Jensen. Accurate Models for Microstrip Computer-Aided Design. In 1980 IEEE MTT-S International Microwave Symposium Digest, 407–409. Washington, DC, USA, 1980. IEEE. doi:10.1109/MWSYM.1980.1124303. ↩
-
Stefan Jahn, Michael Margraf, Vincent Habchi, and Raimund Jacob. Qucs Technical Papers. Qucs (Quite Universal Circuit Simulator) Project, December 2007. URL: https://qucs.sourceforge.net/docs/technical/technical.pdf (visited on 2026-03-13). ↩