Welcome to DiffeRT2d’s documentation

DiffeRT2d is a Python toolbox for 2D differentiable Ray Tracing, with a focus on Radio Propagation applications, where we are mostly interested in simulating paths from one node (transmitter) to another (receiver), i.e., Point-to-Point Ray Tracing.

(Source code, png, hires.png, pdf)

_images/index-1.png

Power map computed on a basic scene, with shadowing caused by walls.

DiffeRT2d is built on top of the JAX library to provide a program that is differentiable everywhere. With that, performing gradient-based optimization, or training Machine Learning models with Ray Tracing (RT) becomes straightforward! Moreover, the extensive use of the object-oriented paradigm facilitates the simulation of complex objects, such as metasurfaces, and the use of more advanced path tracing methods.

The objective of this tool is to provide a simple-to-use and highly interpretable RT framework for researchers engaged in fundamental studies of RT applied to radio propagation, or any researcher interested in the various paths radio waves can take in a given environment.

The present tool is thoroughly documented, so please have a look at the following sections:

If you are interested in contributing to this tool, please checkout the Contributing section!