Scripts to calculate and plot the complex permittivity from S-parameter data
Project description
Continuous Integration |
Code Coverage |
PyPI Package |
Docs |
Citation |
---|---|---|---|---|
Scripts to calculate and plot the complex permittivity (and permeability) from S-parameter data acquired from transmission-line measurements
Overview
permittivitycalc is a Python package made to take S-parameter data output from METAS VNA Tools II (https://www.metas.ch/vnatools) and process it to determine and plot the complex electric permittivity (and magnetic permeability) of a material measured in a coaxial transmission line.
Two analytical calculation methiods are currently implemented:
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).
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].
permittivitycalc can also use MCMC-based Bayesian model fitting/parameter estimation to fit Cole-Cole type models directly to the measured S-parameters to determine the frequency-dependant complex permittivity (and permeability, if desired). Cole-Cole models support multiple relaxation poles as well as a conductivity term.
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.
Model measured S-parameters directly with a Cole-Cole model using MCMC-based Bayesian model fitting.
Usage
For usage examples and a walkthrough on how to use permittivitycalc, see the Docs
Installation
Requirements
permittivitycalc was written for Python 3 and tested on the following versions of Python:
3.6
3.7
permittivitycalc uses the following packages:
tkinter
numpy
uncertainties
scipy
matplotlib
seaborn
cycler
lmfit
emcee
corner
Installing Anaconda
We recommend using Anaconda to manage your Python environments.
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 anaconda python=3.7
Activate the environment:
conda activate your_env_name
Quick Install
Install permittivitycalc with pip:
pip install permittivitycalc
Manual Install
(Optional) Fork permittivitycalc on Github
Clone or download the repository.
Navigate to the permittivitycalc root directory and install with:
python setup.py install
Contributors
permittivitycalc was developed with the aid of these contributors.
References
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. http://doi.org/10.6028/NIST.TN.1355r
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. http://doi.org/10.1109/22.552032
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. http://doi.org/10.1016/j.asr.2016.08.011
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. http://doi.org/10.1109/TIM.1970.4313932
Weir, W. B. (1974). Automatic Measurement of Complex Dielectric Constant and Permeability at Microwave Frequencies. Proceedings of the IEEE, 62(1), 33–36. http://doi.org/10.1109/PROC.1974.9382
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file permittivitycalc-0.6.1.tar.gz
.
File metadata
- Download URL: permittivitycalc-0.6.1.tar.gz
- Upload date:
- Size: 157.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | acc706ae36b1a2c138c94518d1c9aa622bf4a935c1c319b135206d81c81a3ceb |
|
MD5 | 3b5ccc356434cb08d43b3b248cafcf9e |
|
BLAKE2b-256 | d2acaf5a34f01a63bb3fd640b7a5cc1d6dacd669d087d797f8e18e815d3f1d7b |
File details
Details for the file permittivitycalc-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: permittivitycalc-0.6.1-py3-none-any.whl
- Upload date:
- Size: 159.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c188514046475f6545dee30ad603331a1bc2fd24b295892958518e5d6b56b50 |
|
MD5 | bf5d915097cba8166dc8549b1e01afb9 |
|
BLAKE2b-256 | 3da80d9a41c69a63d986fe92ba6e06c02454fb8d8a11f98a585d15c0556e2bc8 |