PyJama: Differentiable Jamming and Anti-Jamming with NVIDIA Sionna






Despite extensive research on jamming attacks on wireless communication systems, the potential of machine learning for amplifying the threat of such attacks, or our ability to mitigate them, remains largely untapped. A key obstacle to such research has been the absence of a suitable framework. To resolve this obstacle, we release PyJama, a fully-differentiable open-source library that adds jamming and anti-jamming functionality to NVIDIA Sionna.

Our paper demonstrates the utility of PyJama (i) for realistic MIMO simulations by showing examples that involve forward error correction, OFDM waveforms in time and frequency domain, realistic channel models, and mobility; and (ii) for learning to jam. Specifically, we use stochastic gradient descent to optimize jamming power allocation over an OFDM resource grid. The learned strategies are non-trivial, intelligible, and effective.

Paper

Code

We release the PyJama library on GitHub.
  • The code is released under an Apache 2.0 license.
  • Documentation of the PyJama library can be found here.
If you use PyJama, you must cite our paper:
@inproceedings{ulbricht2024pyjama,
  title={{PyJama}: Differentiable Jamming and Anti-Jamming with {NVIDIA Sionna}},
  author={Ulbricht, Fabian and Marti, Gian and Wiesmayr, Reinhard and Studer, Christoph},
  booktitle={Int. Workshop Signal Process. Advances Wireless Commun. (SPAWC)},
  organization={IEEE},
  pages={1--5},
  month={Sep.},
  year={2024}
}

IIP Group Integrated Systems Laboratory ETH Zurich