Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions docs/models_rf.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,22 @@

For more information on these RF models, see Ref. [@pozar-2012].

## 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 [@simonsCoplanarWaveguideCircuits2001] (ch. 2) and Ghione & Naldi [@ghioneAnalyticalFormulasCoplanar1984]. Conductor thickness corrections use the first-order formulae of Gupta, Garg, Bahl & Bhartia [@guptaMicrostripLinesSlotlines1996] (§7.3, Eqs. 7.98-7.100).

### Microstrip Theory

The microstrip analysis uses the Hammerstad-Jensen [@hammerstadAccurateModelsMicrostrip1980] closed-form expressions for effective permittivity and characteristic impedance, as presented in Pozar [@pozar-2012] (ch. 3, §3.8).

### General

The ABCD-to-S-parameter conversion is the standard microwave-network relation from Pozar [@pozar-2012] (ch. 4).

The implementation was cross-checked against the Qucs-S model (see Qucs technical documentation [@qucs_technical_papers], §12 for CPW, §11 for microstrip) and the `scikit-rf` CPW class.

::: sax.models.rf
59 changes: 59 additions & 0 deletions docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,62 @@ @book{pozar-2012
publisher={John Wiley \& Sons, Inc.},
isbn={978-0-470-63155-3}
}

@article{ghioneAnalyticalFormulasCoplanar1984,
title = {Analytical Formulas for Coplanar Lines in Hybrid and Monolithic {{MICs}}},
author = {Ghione, G. and Naldi, C.},
year = {1984},
month = feb,
journal = {Electronics Letters},
volume = {20},
number = {4},
pages = {179--181},
publisher = {The Institution of Engineering and Technology},
doi = {10.1049/el:19840120},
abstract = {Some analytical formulas for the parameters of coplanar lines are discussed and validated; a chart is given for the design of coplanar waveguides on GaAs. The formulas discussed here, together with those presented previously by us (1983) represent a suitable set for the design of coplanar lines for hybrid and monolithic MICs (microwave integrated circuits).}
}

@book{guptaMicrostripLinesSlotlines1996,
title = {Microstrip Lines and Slotlines},
author = {Gupta, Kuldip C. and Garg, R. and Bahl, I. and Bhartia, P.},
year = {1996},
edition = {2. ed},
publisher = {Artech House},
address = {Boston},
isbn = {978-0-89006-766-6},
langid = {english}
}

@inproceedings{hammerstadAccurateModelsMicrostrip1980,
title = {Accurate {{Models}} for {{Microstrip Computer-Aided Design}}},
booktitle = {1980 {{IEEE MTT-S International Microwave}} Symposium {{Digest}}},
author = {Hammerstad, E. and Jensen, O.},
year = {1980},
pages = {407--409},
publisher = {IEEE},
address = {Washington, DC, USA},
doi = {10.1109/MWSYM.1980.1124303}
}

@book{simonsCoplanarWaveguideCircuits2001,
title = {Coplanar Waveguide Circuits, Components, and Systems},
author = {Simons, Rainee},
year = {2001},
series = {Wiley {{Series}} in {{Microwave}} and {{Optical Engineering}}},
number = {v. 165},
publisher = {Wiley Interscience},
address = {New York},
doi = {10.1002/0471224758},
isbn = {978-0-471-22475-4 978-0-471-46393-1},
langid = {english}
}

@manual{qucs_technical_papers,
title = {Qucs Technical Papers},
author = {Stefan Jahn and Michael Margraf and Vincent Habchi and Raimund Jacob},
organization = {Qucs (Quite Universal Circuit Simulator) Project},
year = {2007},
month = dec,
url = {https://qucs.sourceforge.net/docs/technical/technical.pdf},
urldate = {2026-03-13}
}
5 changes: 5 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ lint = [
"ruff>=0.9.0"
]
test = [
"hypothesis>=6.0.0",
"jaxellip>=0.0.1",
"papermill>=2.6.0",
"pytest-cov>=6.0.0",
"pytest-randomly>=3.16.0",
Expand Down Expand Up @@ -103,6 +105,9 @@ readme = "README.md"
requires-python = ">=3.11.0"
version = "0.16.13"

[project.optional-dependencies]
rf = ["jaxellip>=0.0.1"]

[[tool.bver.file]]
kind = "python"
src = "pyproject.toml"
Expand Down
4 changes: 4 additions & 0 deletions src/sax/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
__all__ = [
"C_M_S",
"C_UM_S",
"DEFAULT_FREQUENCY",
"DEFAULT_MODE",
"DEFAULT_MODES",
"DEFAULT_WL_STEP",
Expand Down Expand Up @@ -58,6 +59,9 @@
C_UM_S: float = 1e6 * C_M_S
"""Speed of light in vacuum (μm/s)."""

DEFAULT_FREQUENCY: float = 5e9
"""Default radio frequency (Hz)."""

DEFAULT_MODE: str = "TE"
"""Default optical mode."""

Expand Down
Loading
Loading