This repository contains code to reproduce some of the results from the paper Sionna RT: Differentiable Ray Tracing for Radio Propagation Modeling [A] using the Sionna™ link-level simulator [B].
Sionna™ is a GPU-accelerated open-source library for link-level simulations based on TensorFlow. Since release (v0.14) it integrates a differentiable ray tracer (RT) for the simulation of radio wave propagation. This unique feature allows for the computation of gradients of the channel impulse response (or related quantities) with respect to many system and environment parameters, such as material properties, antenna patterns, array geometries, as well as transmitter and receiver orientations and positions. In this paper, we outline the key components of Sionna RT and showcase several use-cases such as learning of radio materials and optimizing transmitter orientations through gradient descent. While ray tracing is a crucial tool for 6G research on topics like reconfigurable intelligent surfaces, integrated sensing and communications, as well as user localization, we believe that differentiable ray tracing is a key enabler for many novel and exciting research directions such as digital twins.
Running this code requires Sionna 0.16 or later. To run the notebooks on your machine, you also need Jupyter. We recommend Ubuntu 22.04, Python 3.10, and TensorFlow 2.13.
The repository contains the following notebooks:
-
Learning_Materials.ipynb : Demonstrates how electro-magnetic properties of objects in a scene can be learned by gradient descent.
-
Learning_Orientation.ipynb : Demonstrates how the orientation of a transmitter can be optimized by gradient descent.
Copyright © 2023, NVIDIA Corporation. All rights reserved.
This work is made available under the NVIDIA License.
If you use this software, please cite it as:
@article{sionna-rt,
title = {{Sionna RT: Differentiable Ray Tracing for Radio Propagation Modeling}},
author = {Hoydis, Jakob and {Ait Aoudia}, Fayçal and Cammerer, Sebastian and Nimier-David, Merlin and Binder, Nikolaus and Marcus, Guillermo and Keller, Alexander},
year = {2023},
month = MAR,
journal = {arXiv preprint},
online = {https://arxiv.org/abs/2303.11103}
}