User libraries is a sub-package where useful Python modules contributed by users are stored.
Author/Contact: Craig Warren (firstname.lastname@example.org), Northumbria University, UK
Attribution/cite: Warren, C., Giannopoulos, A. (2016). Characterisation of a Ground Penetrating Radar Antenna in Lossless Homogeneous and Lossy Heterogeneous Environments. Signal Processing (http://dx.doi.org/10.1016/j.sigpro.2016.04.010)
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 http://dx.doi.org/10.1016/j.jappgeo.2013.08.001
- 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
initial_save.pyis a module that calculates and stores (in a Numpy file) the field patterns from the output file of a simulation.
plot_fields.pyis a module that plots the field patterns. It should be used after the field pattern data has been processed and stored using the
The package has been designed to work with input files that follow examples found in the
antenna_like_GSSI_1500_patterns_E.inis 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
antenna_like_GSSI_1500_patterns_H.inis 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
plot_fields.pymodules to match the setup of the simulation.
- Once the simulation has completed, run the
initial_save.pymodule 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
plot_fields.pymodule 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
plot_fields.py module on the Numpy file, i.e. you don’t have to re-process the output file.