Wireless Communications with Machine Learning: Sionna Python Library
As in all other fields, machine learning and deep learning techniques have been recently increasingly applied and utilized in wireless communications research and development. Growing number of publications in wireless communications systems have recently studied machine learning techniques to enhance the performance and energy-efficiency of wireless communications systems or reduce the hardware and computational complexity of these systems.
Some of the popular machine learning techniques that are utilized in wireless communications research can be listed as deep learning, reinforcement learning, Q learning, support vector machines and convolutional neural networks. While upper layers of communication systems can also be empowered with machine learning techniques, especially physical layer (PHY) problems are suitable to be solved using machine learning techniques. Therefore, Nvidia research labs developed and released an open-source library, Sionna, for machine learning research in wireless communication physical layer.
Sionna is based on TensorFlow and it can be used in order to simulate the physical layer of wireless and optical communication systems. It also provides functions and modules for the rapid and easy prototyping of complex communication PHY architectures. It can also utilize NVIDIA GPUs to accelerate the simulations and machine learning calculations.
Sionna is developed by NVIDIA for empower 5G and 6G research. It supports massive and MU-MIMO (multi-user multiple-input multiple-output) link-level simulations, 5G codes including low-density parity check (LDPC) and Polar en-/decoders, the 3GPP channel models, OFDM (orthogonal frequency-division multiplexing), channel estimation, equalization, and soft-demapping.
It also has an excellent documentation and tutorials that explain how to use Sionna to employ machine learning techniques in wireless and optical communication systems and perform end-to-end simulations.
More information about Sionna can be found via:
Documentation and tutorials: nvlabs.github.io/sionna