Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

User libraries is a sub-package where useful Python modules contributed by users are stored.

Antenna patterns


Author/Contact: Craig Warren (, Northumbria University, UK

License: Creative Commons Attribution-ShareAlike 4.0 International License

Attribution/cite: Warren, C., Giannopoulos, A. (2016). Characterisation of a Ground Penetrating Radar Antenna in Lossless Homogeneous and Lossy Heterogeneous Environments. Signal Processing (

The package features contains modules to help calculate, process, and visualise field patterns from simulations that contain models of antennas.


Although the principals of calculating and visualising field patterns are straightforward, this package should be used with care. The package:

  • Does not calculate/plot conventional field patterns, i.e. at a single frequency. It uses a measure of the total energy of the electric field at a certain angle and radius, see
  • Requires knowledge of Python to contruct input files with antenna models and positioning of receivers, as well as to edit/modify the saving and processing modules
  • Can require simulations that demand significant computational resource depending on the distance from the antenna at which the field patterns are observed, e.g. the example models, set with a maximum observation distance of 0.6m, require ~30GB of RAM

Module overview

  • is a module that calculates and stores (in a Numpy file) the field patterns from the output file of a simulation.
  • is a module that plots the field patterns. It should be used after the field pattern data has been processed and stored using the module.

The package has been designed to work with input files that follow examples found in the user_models directory:

  • is an input file that includes an antenna model similar to a GSSI 1.5 GHz antenna and receivers to calculate a field pattern in the principal E-plane of the antenna
  • is an input file that includes an antenna model similar to a GSSI 1.5 GHz antenna and receivers to calculate a field pattern in the principal H-plane of the antenna

How to use the module

  • Firstly you should familiarise yourself with the example model input file. Edit the input file as desired and run one of the simulations for either E-plane or H-plane patterns.
  • Whilst the simulation is running edit the 'user configurable paramters' sections of the and modules to match the setup of the simulation.
  • Once the simulation has completed, run the module on the output file, e.g. for the E-plane python -m user_libs.antenna_patterns.initial_save user_models/antenna_like_GSSI_1500_patterns_E_Er5.out. This will produce a Numpy file containing the field pattern data.
  • Plot the field pattern data by running the module on the Numpy file, e.g. for the E-plane python -m user_libs.antenna_patterns.plot_fields user_models/antenna_like_GSSI_1500_patterns_E_Er5.npy


If you want to create different plots you just need to edit and re-run the module on the Numpy file, i.e. you don't have to re-process the output file.


Example of the E-plane pattern from a simulation containing an antenna model similar to a GSSI 1.5 GHz antenna over a homogeneous, lossless half-space with a relative permittivity of five.