Short Course Proposal on scikit-rf
Julien Hillairet, CEA/IRFM, St Paul Lez Durance, France (julien.hillairet@cea.fr)

Abstract
The rapid proliferation of telecommunication and radio-frequency (RF) applications had led to ademand for efficient and convenient tools to design and characterize these devices. scikit-rf(https://scikit-rf.org/) is a free and open-source Python package designed to make RF/Microwave
engineering both robust and approachable. The package provides a modern library for RF network
analysis, circuit building, calibration, and simulation.
Besides offering standard microwave network operations, such as reading/writing Touchstone files(.sNp files), connecting or de-embedding N-port networks, frequency/port slicing, concatenation orinterpolations, it is also capable of advanced operations such as Vector Network Analyzer (VNA) offline
calibrations, time-gating technique(s), vector-fitting, interpolating between an individual set ofnetworks, deriving network statistical properties and support of Virtual Instruments for directcommunication to VNAs. The package also allows straightforward plotting of rectangular plots (dB,magnitude, phase, group delay, etc.), Smith Charts or automated uncertainty bounds.
During this short course, some of the capabilities of scikit-rf will be live-demonstrated, such as N-port
networks manipulations and plotting, advanced RF circuit simulations and offline calibrations.

Recommended prerequisites for attendees
The course requires basic knowledge of the Python language and RF network theory (S-parameters).

Learning objectives
After the course, the participant will be able to use the open-source Python package scikit-rf to:

Read/write Touchstone files (.sNp files)
Represent RF data in various ways: S/Z/Y parameters, magnitude/dB/angle, Smith charts,
statistical properties…
Manipulate easily N-port Networks and their associated data: connecting, de-embedding,frequency/port slicing, concatenation, interpolations…
Work with a set of similar N-port networks to extract statistics or produce interpolations
Perform Vector Network Analyzer (VNA) offline calibrations and time-gating
Create advanced RF circuits such as passive circuits and filters from the combination of various
N-port networks (lumped elements or N-port measurements)

Course Outline
The programme of the course is the following:


Installation of the scikit-rf package (eventually before the short course itself to save time)
Introduction to the scikit-rf package.
The Network representation of N-port RF networkso Reading/writing data from measurements (.sNp files)o Plotting Network’s parameters (S, Z, Y…)
o Manipulation of Networks (connecting, port/frequency slicing, interpolations, etc.)
Working with a set of networks. Dealing with errors.
Offline calibrations techniques and time-gating
Building and simulating RF Circuits
Examples of utilization

If participants want to follow the live demonstration on their laptop, internet connexion and a working
Python distribution (such as the Anaconda Python distribution, https://www.anaconda.com) are
required.

Key bibliographyThe scikit-rf project: https://scikit-rf.org/
Arsenovic, J. Hillairet, J. Anderson et al., scikit-rf: An Open Source Python Package for Microwave
Network Creation, Analysis and Calibration, IEEE Microwave Magazine, January 2022.