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 o∈ℕ, and each primitive within an object is identified by an index m∈ℕ. Each primitive possesses three edges, identified locally by an index ι∈{0,1,2}. Primitives from different objects may share indices, therefore a primitive is uniquely identified by the pair (o,m)∈ℕ2. Similarly, an edge is uniquely identified by the triplet (o,m,ι)∈ℕ3.

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 t≥0. 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 ray origins together with the target are the path vertices. A path can therefore also be 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 0≤i≤L.

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 0≤ℓ≤L, 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)

where p(:0) corresponds to the empty path.

2.3 Interactions with Scene Objects

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

Specular reflection (ℛ):

The wave is reflected with an angle of reflection equal to the angle of incidence, 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(c). However, when computing the transmitted and reflected fields, the thickness of the traversed object is considered.

Diffraction (𝒟):

The wave encounters a wedge-shaped object and is diffracted, as shown in Figure 5(b). Diffraction occurs in all directions along the Keller cone [10], where the angle between the incident ray and the wedge edge, denoted by β0′, equals the angle between the diffracted ray and the wedge edge, denoted by β0. The wedge exterior angle is denoted by n⁢π, such that n∈[1,2]. If the wedge’s exterior angle n⁢π equals 2⁢π, i.e., n=2, the wedge is termed an edge.

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 [11].
Refer to caption
(b) Diffraction of an incident wave by a wedge-shaped object.
Refer to caption
(c) Transmission model.
Figure 5: Sionna RT currently supports specular reflection, diffuse reflection, refraction, and diffraction.

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 [12, Chapter 2], which is a bundle of rays adjacent to the axial one. These ray tubes originate at the source and are characterized by a length r and a solid angle ω (in steradians), as illustrated in Figure 6. Importantly, specular reflection and refraction through planar surfaces only alter the ray direction. Diffuse reflection and diffraction alter the shape of the wavefront. 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={max1≤ℓ≤L⁡{ℓ:χ(ℓ)=𝒮} 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, refractions, and diffraction, 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.