2 Essential Concepts and Terminology

2.1 Scene Objects and Meshes

A scene object is represented as a mesh, which is composed of a set of triangles, also known as primitives, connected by their edges and vertices, as shown in Figure 3. Each object is identified by an index o0, and each primitive within an object is identified by an index m0. Primitives from different objects can share the same indices, so a primitive is uniquely identified by the pair (o,m)02.

Refer to caption
Figure 3: A mesh is composed of triangular primitives connected by their edges and vertices. For clarity, only the indices of two primitives are displayed for each mesh. These meshes were downloaded from OpenStreetMap [8] using Blosm [9].

2.2 Rays and Paths

A ray (𝐯,𝐤^,t) is characterized by an origin 𝐯3, a direction 𝐤^3, and a length t0. The direction 𝐤^ is a unit vector, meaning 𝐤^2=1. If the length is unspecified, the ray is considered infinite, i.e. t=. A path p(L) with depth L is a sequence of L+1 rays that connect a source point 𝐬3 to a target point 𝐭3, as illustrated in Figure 4,

p(L)=((𝐯(0),𝐤^(0),t(0))ray 0,,(𝐯(L),𝐤^(L),t(L))ray L) (6)

where the superscript (L) indicates the depth of the path, 𝐯(0)=𝐬, 𝐯(i+1)=𝐯(i)+t(i)𝐤^(i), and 𝐭=𝐯(L)+t(L)𝐤^(L). The origins of the rays that form a path starting at the source and the target are known as the vertices of the path. Hence, a path may be as well defined by a sequence of L+2 vertices:

p(L)=(𝐯(0)=𝐬,𝐯(1),,𝐯(L),𝐯(L+1)=𝐭) (7)

In this case, the rays have directions 𝐤^(i)=𝐯(i+1)𝐯(i)𝐯(i+1)𝐯(i)2 and lengths t(i)=𝐯(i+1)𝐯(i)2 for 0iL.

Refer to caption
Figure 4: A path consists of a sequence of ray segments connecting a source point 𝐬 to a target point 𝐭.

The suffix of a path, denoted by p(:) where 0L, is defined as the sub-path consisting of all the rays from the -th one onward, i.e.

p(:)=((𝐯(),𝐤^(),t()),,(𝐯(L),𝐤^(L),t(L))). (8)

Similarly, the corresponding prefix is:

p(:)=((𝐯(0),𝐤^(0),t(0)),,(𝐯(1),𝐤^(1),t(1))). (9)

2.3 Interactions with Scene Objects

Sionna RT currently supports three types of interactions with scene objects:

Specular reflection ():

The wave is reflected with a reflection angle equal to the incident angle, as illustrated in Figure 5(a).

Diffuse reflection (𝒮):

The wave is reflected in multiple directions, as illustrated in Figure 5(a).

Refraction (𝒯):

The wave propagates into the scattering medium. The solvers assume that object surfaces are thin enough that their effect on transmitted rays (i.e. rays that traverse the surfaces through double refraction) can be modeled by a single transmitted ray. The transmitted rays are traced without angular deflection. Surfaces like walls should be modeled as single flat surfaces, as illustrated in Figure 5(b). However, when computing the transmitted and reflected fields, the thickness of the traversed object is considered.

The set of possible interaction types is denoted by ={,𝒮,𝒯}.

Refer to caption
(a) Specular (dashed line) and diffuse reflection (dotted lines). Inspired by a figure from [10].
Refer to caption
(b) Reflection and transmission model.
Figure 5: Sionna RT currently supports specular reflection, diffuse reflection, and refraction.

2.4 Ray Tubes

While a more detailed background on the propagation of EM waves is provided in Appendix A, we introduce here some essential EM concepts that are required for understanding the process of ray tracing. The source 𝐬 is modeled as a point source, an infinitesimally small emitter of EM waves that radiates in all directions according to a user-defined transmitter antenna pattern. Note that modeling transmit antennas as point sources is a valid approximation when the distances to scatterers and targets are significantly greater than the wavelength of the propagating waves. Each ray traced from the source 𝐬 serves as the axial ray of a ray tube [11, Chapter 2], which is a bundle of rays adjacent to the axial one. These ray tubes originate at the source and have a length r and an angular opening ω, as illustrated in Figure 6. Importantly, specular reflection and reflection through planar surfaces only alter the ray direction. Diffuse reflections alter the shape of the wavefront as they spawn new point sources. As detailed in Sections 3 and 4, this process requires specific computations to determine the path vertices and corresponding fields. For a given path p(L) with depth L, we denote by 𝝌(L)=(χ(1),,χ(L))L the sequence of interaction types along the path. A key quantity for the remainder of this document is the depth of the last diffuse reflection, denoted by d and defined as:

d={max1L{:χ()=𝒮} if :χ()=𝒮0 otherwise. (10)

The dependency of d on 𝝌(L) is omitted for brevity. The case where d=0 corresponds to paths that do not contain any diffuse reflection, known as specular chains. If d>0, then the suffix p(d:) is referred to as the specular suffix of p. The value d represents the depth index from which the path is composed solely of specular reflections and refractions, and is termed the specular suffix index of p.

Refer to caption
Figure 6: A ray tube is a bundle of rays adjacent to an axial ray.