PyJama is an open-source Python library for simulation and training of jamming and anti-jamming algorithms. It is built on top of Sionna and TensorFlow.
The official website of this library can be found here, documentation and example code is located here.
For GPU support, please install and verify the required GPU drivers (see the official tensorflow guide for details).
For now, PyJama can only be installed from source. In the future, this package will also be released on PyPi, so that you may install it directly via pip.
First, please clone this repository to your local machine.
You may then install PyJama, including all its requirements (preferably in a virtual environment), by running
make install
in the repository root folder.
If you want to build the documentation, you can install the additional requirements using
pip install .[docs]
in the root folder as well, but this is not necessary for only using PyJama.
Afterwards, test the installation by running
python -c 'import pyjama; print(pyjama.__version__)'
PyJama is licensed under APACHE-2.0 license, as found in the LICENSE file.
When using PyJama, you must cite our paper:
@inpreparation{ulbricht2024pyjama,
title={{PyJama}: Differentiable Jamming and Anti-Jamming with {NVIDIA Sionna}},
author={Ulbricht, Fabian and Marti, Gian and Wiesmayr, Reinhard and Studer, Christoph},
year={2024}
}
All simulations in this repository are implemented with NVIDIA Sionna Release v0.15.1. Older versions might be compatible, but are not actively supported.