Technical Report
In the previous sections, we have detailed the path solver, which computes propagation paths and the related electric fields from a source to a target. Now, we turn our attention to the radio map solver, which computes a radio map (also known as coverage map or power map) for a given scene and source. While we describe the algorithm for a single source, Sionna RT can compute radio maps for multiple sources in parallel.
A radio map estimates the channel gain (5) from a source to each point on a measurement surface, as illustrated in Figure 25. The measurement surface is partitioned into measurement cells, which are assumed to be planar. For each cell, the solver estimates the average channel gain that would be observed by a target placed within that cell. Note that the measurement surface does not interact with the electromagnetic waves, but only serves to capture the paths that intersect it. Moreover, a ray can intersect the measurement surface at multiple points.
In Section 4.1, we present a definition of radio maps that allows for their efficient computation using SBR. This approach makes the computation of radio maps both fast and scalable.
We define radio maps as path integrals, similar to how measurements are defined in computer graphics [23, 24, Section 3.7]. Consider a point source . The measurement surface, denoted by , is divided into cells , for , each of area . Ignoring diffraction for now, let denote the union of all scatterer surfaces in the scene. We define
| (39) |
as the set of all sequences of vertices representing interactions with scatterers surfaces—that is, all paths of length that are not diffracted,
| (40) |
A path from to a point can be written as , though for brevity we refer simply to the path . Note that corresponds to the LoS path from to .
Focusing on paths of a fixed length , we define the radio map value for the -th cell as follows:
| (41) |
where is an infinitesimal surface element on the measurement surface , and is the area-product measure on the scattering surface, i.e.,
| (42) |
is the indicator function which equals to if the path is not occluded and otherwise, and is the channel gain for the path, defined as
| (43) |
Here, is the wavelength, is the -dimensional complex vector of the transmit antenna pattern evaluated at the departure angles of , and is a complex matrix modeling the effects of scatterers and free-space path loss along . Unlike in (4), the receive antenna pattern is not applied; instead, the squared norm of the electric field is used. This corresponds to assuming a receiver equipped with an isotropic antenna whose polarization is matched to the one of the incident wave. Note that since is the squared norm of the electric field amplitude, the radio map represents a non-coherent sum of the path gains.
In (41), restricts which paths are considered:
| (44) |
where is the incident wave direction at the -th interaction, is the scattered wave direction at the -th interaction, and depends on the types of interactions considered for the -th interaction. For instance, if only specular reflections and refractions are allowed at the -th interaction,
| (45) |
where is the normal to the scatterer’s surface. Although could in principle be absorbed into , as usually done in the computer graphics literature, we keep it separate for clarity.
The overall radio map value for the -th cell is given by summing over all possible path depths :
| (46) |
Relation to computer graphics
Defining radio maps as path integrals closely parallels the measurement equation used in computer graphics (see, e.g., [24, Eq. 3.18]). Specifically, following [24, Chapter 8], the radio map definition (46) can be rewritten as:
| (47) |
where
| (48) | ||||
| (49) |
where is any set of paths. Intuitively, by defining (48) and (49), the infinite sum over path depths in (46) can be replaced with the integral in (47). This provides a path integral formulation for the radio map, analogous to [24, Eq. 8.5]. This analogy enables the use of computer graphics techniques for radio map computation, including methods for improving sample efficiency.
It is important to note that this analogy does not extend to the path solver, which is not concerned with evaluating an integral but rather with finding a set of paths, which are not aggregated into a single scalar value. However, if the objective is limited to calculating channel tap coefficients, then a similar analogy can be made. Considering a target , the definition of a channel tap coefficient [25, Eq. 2.36] can be rewritten as:
| (50) |
where, denotes the tap index, is the complex-valued path coefficient (4), the propagation delay, and the sampling period. Note that, as previously mentioned, is a shorthand for the path . Unlike [25, Eq. 2.36], an integral is used (instead of a sum) to account for the continuous set of propagation directions. In this equation, each tap coefficient can be interpreted as a measurement. However, in contrast to computer graphics and radio map computations—which involve a non-coherent sum of amplitude magnitudes—the tap coefficients involve a coherent aggregation of the path contributions, since the complex-valued is used rather than only its amplitude. The same analogy applies to the channel frequency response (see, e.g., [25, Eq. 3.138]), for which each frequency bin is likewise treated as a measurement.
While the definition (46) is comprehensive, it is not practical for computation as-is. Indeed, directly integrating over the surfaces of the measurement cells would require connecting points on the measurement surface to the source, for example by placing one or more targets within each cell and using the path solver to compute the connecting paths. However, because accurately computing fine-grained radio maps typically demands a large number of target points, this approach is computationally prohibitive. Instead, we use Monte Carlo integration with a single SBR loop to efficiently estimate the value of each cell. However, SBR is not applicable to paths that include diffraction: as explained in Section 3.1, the probability of a ray intersecting an edge is zero. To address this, Sionna RT computes the radio map in two steps, as illustrated in Figure 26. First, the radio map is computed for all interaction types except diffraction using a single SBR loop; wedges near the source are detected and stored during this step. Second, only diffracted paths are computed. Currently, Sionna RT supports only first-order diffraction for radio map computation, i.e., paths connecting the source to the measurement surface through a single diffracting wedge. The two radio maps are then summed to obtain the final result. The following describes the computation for each step.
When diffraction is ignored, the radio map can be efficiently computed using a single SBR loop. This is achieved by reformulating the radio map definition (46) so that the integration is performed over the directions of rays originating from points that spawn ray tubes intersecting the measurement surface, rather than directly over the measurement surface itself. This is enabled by applying the change of variables , where is the length of the ray tube on the measurement surface, is the angle between the incident ray and the normal of the measurement surface, and is the infinitesimal solid angle subtended by the ray tube (see Section 2.4). Thus, represents the intersection area of the ray tube on the measurement surface. With this change of variables, the radio map definition (46) can be rewritten as:
| (51) |
where is the set of all directions of rays originating from points that spawn ray tubes intersecting the measurement surface, typically a hemisphere or a sphere.
Expression (51) can be estimated as follows. Paths are generated by launching rays from the source and tracing their interactions with the scene geometry, thus performing a Monte Carlo integration over the surfaces of the scatterers . Intuitively, when a ray intersects a scatterer surface, it samples a surface element that corresponds to the ray tube intersection area, given by , where denotes the ray tube length, is the angle between the incident ray and the surface normal, and is the solid angle subtended by the ray tube. The maximum path depth is set to , and since a single path may intersect the measurement surface at multiple depths, all path depths are considered. Interaction types (specular reflection, refraction, or diffuse reflection) are sampled according to (20).
This process leads to the following Monte Carlo estimator for the radio map (51):
| (52) |
where denotes the -th path at depth ; is an indicator function equal to if intersects the measurement surface at depth and otherwise; and is the probability of sampling the specific sequence of interaction types corresponding to . is a weighting factor that incorporates the intersection area of the ray tubes on the scatterer and measurement surfaces, and thus absorbs the factor ,
| (53) |
where, for the -th path at depth , is the number of ray tubes that constitute the path, is the length of the -th ray tube, is the angle between the incident ray tube and the surface normal, and is the solid angle subtended by the -th ray tube. In the current propagation model of Sionna RT, only the source and diffuse reflection points act as point sources that spawn new ray tubes, whereas specular reflection and refraction points merely deviate existing ray tubes rather than spawning new ones. This is illustrated in Figure 27. The source emits ray tubes, each subtending a solid angle of , while each diffuse reflection point spawns a single ray tube, uniformly sampled over the hemisphere, with a solid angle of . Thus, equals the number of diffuse reflection points along the path plus one.
The Sionna RT radio map solver currently supports only first-order diffraction, i.e., paths connecting the source to the measurement surface via a single diffracting wedge. For clarity, we consider diffraction on a single edge , defined by an origin , an edge vector , and length . Sionna RT processes all such wedges found near the source (see Figure 26) in parallel.
For a single diffraction wedge, the radio map definition (46) is rewritten by integrating along the edge instead of the scattering surface :
| (54) |
Here, the inner integral is over the diffraction point position along the edge , i.e., , while the outer integral is over the measurement cell . The function ensures the scattered wave lies on the Keller cone:
| (55) |
where and are the angles between the edge and the incident and diffracted wave, respectively (see Figure 5(b)).
Direct integration over the measurement surface is inefficient, as it would require connecting surface points to the source (for example, by placing targets within each cell and running the path solver). To overcome this, consider an orthogonal basis , where is the normal to a wedge face and , as illustrated in Figure 28. For a given angle of incidence , any point on that can be reached by a diffracted ray can be written as:
| (56) |
Here, is a point on the edge parametrized by , is the direction of the diffracted ray (with the Keller cone azimuth), and is the distance for which the ray from in direction intersects the measurement cell (see Figure 28). Since a ray and a plane intersect at most once, is uniquely determined by and , and thus forms a reparametrization of the subset of that can be reached by a diffracted ray when the angle of incidence is .
With this reparametrization, (54) becomes:
| (57) |
where is the wedge exterior angle, and accounts for the change of variables [26].
The condition in (55) is only satisfied when for a given , leading to:
| (58) |
To estimate (58), samples are drawn on the wedge: uniformly in and uniformly in . This yields the Monte Carlo estimator:
| (59) |
where is the -th path, is 1 if intersects the measurement surface and is not occluded by other scatterers and 0 otherwise, and the weighting factor is computed as described in Annex D.
The proposed definition of radio maps involves a non-coherent summation of path gains (43). As a result, it does not capture fast fading effects, which result from the constructive and destructive interference of multiple paths. Figure 29 demonstrates this by comparing three scenarios: a radio map generated using the radio map solver, a radio map created by non-coherently summing the path coefficients (4) calculated with the path solver (Section 3) by placing a single target at the center of each measurement cell, and a radio map produced by coherently summing the path coefficients (4) calculated with the path solver, also by placing a single target at the center of each measurement cell. The radio map obtained using the radio map solver aligns with the non-coherent summation of path coefficients calculated using the path solver, as anticipated. However, it does not account for fast fading effects, which requires the coherent summation of path coefficients.
The Sionna RT radio map solver supports antenna arrays of any size at the transmitter and allows for user-defined precoding vectors. However, it only supports synthetic arrays. In this setup, paths are generated from a single source located at the center of the array, and the channel response for each individual antenna is calculated by applying the appropriate phase shifts synthetically. This approximation holds true as long as the array size is small compared to the distance from the transmitter to the measurement plane and scatterers.
Using synthetic arrays enables efficient scaling with respect to the number of antennas. To see this, let denote the number of antennas at the transmitter, and let be the precoding vector. For a given path connecting the source to the measurement plane, let represent the electric field observed at the measurement plane. By employing a synthetic array, the corresponding electric fields for each antenna element are obtained by applying the array response vector (36), denoted as , leading to
| (60) |
Here, is a matrix of size , where each column represents the electric fields radiated by each transmit antenna. The contribution of this path to the radio map is given by
| (61) |
This expression allows the path’s contribution to the radio map to be represented as
| (62) |
where is a scalar, which depends on the departure direction of the path from the transmitter and thus varies for paths originating from the source. By precomputing for each path, the effect of the transmitter array can be efficiently simulated by multiplying the electric field of each path by whenever the path intersects the measurement surface. This operation does not depend on the size of the array.
Figure 30(b) illustrates the computation time needed to generate a radio map for a single source as the number of samples and the number of transmit antennas are varied. The setup, depicted in Figure 30(a), employs the “simple street canyon” scene built into Sionna RT. The red ball indicates the source, positioned 20 meters above the ground. The radio map in Figure 30(a) is calculated using samples and a linear array of 512 transmit antennas. Notably, the radio map solver can compute radio maps with samples on a single NVIDIA RTX 4090 GPU. The computation time increases with both the number of samples and antennas, exceeding one second only for the most demanding computations. It is important to note that while the computation time increases with the number of antennas due to the precomputation of the array weighting factor , it does not increase the memory usage of the radio map solver.
The radio map solver supports dual-polarized transmit antennas by considering two independent electric field vectors for each path. These are processed as if they were separate antenna elements (see Section 4.5).
Sionna RT supports mesh-based measurement surfaces, which are defined as collections of triangles (see Section 2.1). In this case, each triangle serves as a measurement cell. Meshes can possess arbitrary topology, making this feature well suited for computing radio maps over complex terrains.
A key benefit of the radio map solver is that the compute required to generate the radio map remains constant regardless of the number of measurement cells. However, increasing the number of measurement cells will naturally require more memory for storage. Additionally, when the size of the measurement cells is reduced, it may be necessary to increase the number of samples to maintain the accuracy of the estimators (52) and (59), as fewer paths will intersect with each measurement cell, resulting in noisier radio maps.
The radio map solver allows for early deactivation of paths using two techniques: Russian roulette and gain thresholding. With gain thresholding, a path with ray tube length is deactivated when the squared amplitude of the electric field falls below a user-defined threshold. With Russian roulette, at each iteration, a path continues with a probability given by
| (63) |
where is the maximum probability, set by the user, for keeping the path active. Both features can be enabled simultaneously and are applied only after a user-defined depth is reached.
The Sionna RT solver currently supports the calculation of channel gain maps, which are radio maps that provide an estimate of the channel gain for each cell. It is possible to extend the solver to calculate other types of radio maps, such as root-mean-square delay spread maps and angular spread maps [27].