rfnetwork

Linear circuit solver for networks of RF components.

github Github Repository

Installation

rfnetwork requires Python >= 3.9.

pip install rfnetwork

Features

  • Connect RF/microwave components into larger networks.

  • Manage complex RF systems with hierarchical building blocks.

  • Compute noise figure of multi-port networks using noise-wave analysis.

  • Interactive tuning of variable components (i.e. switches, phase shifters, capacitors).

  • Probe internal voltage waves inside a network.

  • Full wave FDTD solver for analyzing coupled lines and simple PCB geometry.

Examples

Below is a gallery of examples

Filters

Filters

Noise Figure

Noise Figure

Yagi Antenna

Yagi Antenna

Interactive Tuning

Interactive Tuning

Microstrip Line

Microstrip Line

Vivaldi Antenna

Vivaldi Antenna

Network Probes

Network Probes

Coupled Stripline

Coupled Stripline

Coupled Microstrip Lines

Coupled Microstrip Lines

Dipole Antenna

Dipole Antenna

Combiners

Combiners

Wilkinson Combiner

Wilkinson Combiner

Dual-Polarized Patch Antenna

Dual-Polarized Patch Antenna

Combline Filter

Combline Filter

API Reference

rfnetwork.component

rfnetwork.elements

rfnetwork.network.Network([shunt, passive, ...])

Network of multiple components.

rfnetwork.network.DynamicNetwork(components)

Network that allows the netlist to be defined at runtime instead of statically declared.

rfnetwork.solver.FDTD_Solver(bounding_box)

FDTD EM Solver for PCB geometries.

rfnetwork.plots.plot(axes, sdata, *paths[, ...])

Plots s-matrix or noise figure data over frequency.

rfnetwork.utils

rfnetwork.core.units.const()

Physical Constants.

rfnetwork.core.units.conv()

Unit conversion functions.