Skip to content
Scripts to calculate and plot the complex permittivity from S-parameter data
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
permittivitycalc Fix error in percentage diff calculation Jun 3, 2019
.travis.yml Version 0.5.1.post2 - fix travis deploy Jun 3, 2019
LICENSE.txt Prepare for PyPI distribution Feb 16, 2018
README.rst Update README.rst May 29, 2019
appveyor.yml Install pytest May 25, 2018
codecov.yml Fix ignore Jun 1, 2018
requirements.txt Version pin packages Aug 16, 2018 Version 0.5.1.post2 - fix travis deploy Jun 3, 2019



Continuous Integration Code Coverage PyPI Package Citation
TravisCI Appveyor Codecov PyPiBadge DOIBadge

Scripts to calculate and plot the complex permittivity from S-parameter data acquired with transmission-line measurements


permittivitycalc is a Python package made to take S-parameter data output from METAS VNA Tools II ( and process it to calculate and plot the complex permittivity of a material measured in a coaxial transmission line.

Currently, permittivitycalc uses the New Non-iterative Method for permittivity calculation from S-parameters from [Boughriet1997] which assumes that the material is non-magnetic (i.e. mu = 1).

permittivitycalc can also use the Nicholson-Ross-Weir method to calculate the complex permittivity and permeability of a sample. This method, however, is unstable at multiples of one-half wavelength in the sample [NicolsonRoss1970] [Weir1974].

You can use permittivitycalc to:

  • Input and plot raw S-parameter data in tabular form with or without uncertainties.
  • Calculate and plot the complex permittivity with full propagation of uncertainties.
  • Perform connector de-embedding on the raw S-parameters to extract the sample S-parameters, if necessary. Example: de-embedding washers used to cap the transmission line when measuring powdered samples.
  • Correct for the boundary effect in the transmission line when measuring powdered samples after [Hickson2017].
  • Correct for the air gap when measuring solid samples after [Baker-Jarvis1993].
  • Plot data from multiple measurements together for comparison.


For usage examples and a walkthrough on how to use permittivitycalc, see the Tutorial



permittivitycalc was written for Python 3 and tested on the following versions of Python:

  • 3.6

permittivitycalc uses the following packages:

  • tkinter
  • numpy
  • uncertainties
  • scipy
  • matplotlib
  • seaborn
  • cycler

Installing Anaconda

We recommend using Anaconda to manage your Python environments.

  1. Install Anaconda.

  2. Open a terminal window and create a conda virtual environment (name it anything you like, and set the python version to a compatible version in Requirements):

    conda create --name your_env_name python=3.6
  3. Activate the environment (on Windows, omit "source"):

    source activate your_env_name

Quick Install

Install permittivitycalc with pip:

pip install permittivitycalc

Manual Install

  1. (Optional) Fork permittivitycalc on Github

  2. Clone or download the repository.

  3. Navigate to the permittivitycalc root directory and install with:

    python install


permittivitycalc was developed with the aid of these contributors.


[Baker-Jarvis1993]Baker-Jarvis, J., Janezic, M. D., Grosvenor Jr, J. H., & Geyer, R. G. (1993). Transmission/reflection and short-circuit line methods for measuring permittivity and permeability. NIST Technical Note 1355-R. Boulder, CO.
[Boughriet1997]Boughriet, A. H., Legrand, C., & Chapoton, A. (1997). Noniterative stable transmission/reflection method for low-loss material complex permittivity determination. IEEE Transactions on Microwave Theory and Techniques, 45(1), 52–57.
[Hickson2017]Hickson, D., Sotodeh, S., Daly, M. G., Ghent, R., & Nolan, M. C. (2017). Improvements on effective permittivity measurements of powdered alumina: Implications for bulk permittivity properties of asteroid regoliths. Advances in Space Research, 59(1), 472–482.
[NicolsonRoss1970]Nicolson, A. M., & Ross, G. F. (1970). Measurement of the Intrinsic Properties of Materials by Time-Domain Techniques. IEEE Transactions on Instrumentation and Measurement, 19(4), 377–382.
[Weir1974]Weir, W. B. (1974). Automatic Measurement of Complex Dielectric Constant and Permeability at Microwave Frequencies. Proceedings of the IEEE, 62(1), 33–36.
You can’t perform that action at this time.