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, similarly to how measurements are defined in computer graphics [23, 24, Section 3.7]. Consider a point source and a measurement surface , divided into cells , for , each of area . For clarity, we ignore diffraction in this subsection. Diffraction is considered in Section 4.2.
In the propagation model implemented by Sionna RT, diffuse reflections spawn new ray tubes, whereas specular reflections and refractions merely deviate incident ray tubes, as illustrated in Figure 26.
Ignoring diffuse reflections for now, is the only source of ray tubes, and every path therefore consists of a single ray tube. The radio map value for the -th cell due to specular reflections and refractions is
| (39) |
where is an infinitesimal surface element of , and
| (40) |
is the channel gain at due to specular reflections and refractions. Here, denotes the countable set of paths connecting to through specular reflections and refractions. The visibility function equals if is not occluded and otherwise. The channel gain associated with is
| (41) |
where is the free-space wavelength, is the two-dimensional complex transmit antenna pattern evaluated at the departure angles of , and is a complex matrix modeling the effects of the interactions and free-space propagation along . Unlike in (4), the receive antenna pattern is not applied. Instead, the squared norm of the electric-field amplitude is used, corresponding to an isotropic receive antenna whose polarization is matched to that of the incident wave. Because the squared amplitudes of the individual paths are summed, the radio map is non-coherent and does not capture interference between paths.
We now generalize the definition to diffuse reflections. Let denote the union of all diffuse reflecting surfaces in the scene. These surfaces can be regarded as a continuum of point sources. As detailed in Appendix A.9, the squared amplitude of the diffuse scattered field is proportional to the area of the impinging ray-tube footprint on the scattering surface. For a path containing a diffuse reflection at , its channel gain can therefore be written as
| (42) |
where is the channel gain normalized by the area of the impinging ray-tube footprint. A path containing one diffuse reflection consists of two ray tubes: one originating at and one originating at . The path may additionally contain specular reflections and refractions before or after . The contribution of paths containing exactly one diffuse reflection is
| (43) |
where
| (44) |
The diffuse-reflection point is held fixed when defining . Consequently, this path set is countable, although the subsequent integration over is continuous.
For an arbitrary number of diffuse reflections, define
| (45) |
as the set of ordered sequences of diffuse-reflection points, and define the product surface element
| (46) |
Repeated application of (42) gives
| (47) |
where for fixed diffuse-reflection points , we define
| (48) |
As in the single-reflection case, the path set in this expression is countable because all diffuse-reflection points are held fixed. The radio map value is obtained by summing over all possible numbers of diffuse reflections:
| (49) |
For , the inner surface integral is omitted and , so that the corresponding term is precisely (39).
Equation (49) accounts for arbitrarily many diffuse reflections. In practice, the path depth is limited to a finite maximum, so the corresponding sum is always finite.
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]). Following [24, Chapter 8], the radio map definition (49) can be written as
| (50) |
where
| (51) | ||||
| (52) |
Here, is a measurable set, and denotes the product surface-area measure on . An element is an ordered sequence of diffuse-reflection points, and
| (53) |
is the corresponding channel-gain density defined in Section 4.1. With these definitions, the sum over the number of diffuse reflections in (49) is absorbed into the measure , resulting in the single integral in (50). This reduced path-space formulation is analogous to [24, Eq. 8.5] and enables the use of computer graphics techniques for radio map computation, including methods for improving sampling efficiency.
While the definition (49) 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. This is achieved by reformulating the radio map definition (49) so that the integration is performed over the directions of rays originating from the source and the points that spawn ray tubes intersecting the measurement surface, rather than directly over the measurement and diffuse scatterer surfaces. This is enabled by applying the change of variables , where is the length of the ray tube, is its propagation direction, is the unit normal of either a scatterer or 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 (49) can be rewritten as:
| (54) |
where is the unit sphere, is the sequence of scattered propagation directions at the diffuse reflection points, is the sequence of incident propagation directions at those points, and is the propagation direction of the ray tube originating from the source. The outer integral is therefore over ray tubes originating from the source, whereas the inner integral is over ray tubes originating from the diffuse reflection points. Here, is the length of the -th ray tube originating from the -th diffuse reflection point, is the length of the ray tube originating from the source, and is the unit normal of the -th diffusely reflecting surface. Finally, denotes the unit normal to the measurement surface, and is the incident propagation direction on that surface.
Expression (54) 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 diffuse reflecting surface, it samples a surface element that corresponds to the ray tube intersection area, given by . 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 . 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 (54):
| (55) |
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 . The number of diffuse reflections depends on the path, but its depedency on is not explicitly stated for simplicity.
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 27. First, the radio map is computed for all interaction types except diffraction as described previously. 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 and no other interactions with the scene. The two radio maps are then summed to obtain the final result. The following describes the computation of radio map due to diffraction.
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 in parallel. Let be a diffraction point, which is parametrized by the distance along the edge and the Keller cone azimuth , i.e., . Then for a measurement point , define:
| (56) |
where and are the angles between the edge and the incident and diffracted wave, respectively (see Figure 5(b)). The Keller cone condition is , which can be shown to be satisfied only for a single diffraction point on the edge, denoted by . For a single diffraction wedge, as the diffraction point is unique, the radio map definition is similar to (39):
| (57) |
where is the path from the source to the measurement point via the diffraction point .
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:
| (58) |
Here, 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, (57) becomes:
| (59) |
To estimate (59), samples are drawn on the wedge: uniformly in and uniformly in . This yields the Monte Carlo estimator:
| (60) |
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 Appendix D.
The proposed definition of radio maps involves a non-coherent summation of path gains (41). 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 require the coherent summation of path coefficients. Also, because the diffracted contributions are accumulated non-coherently with the specular and LoS contributions, field-level continuity at incident and reflection shadow boundaries is not preserved.
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 requires plan wave approximation, which is valid only when , where is the array size and is the distance from the array center to the first interaction point or measurement plane.
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
| (61) |
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
| (62) |
This expression allows the path’s contribution to the radio map to be represented as
| (63) |
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.4).
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.
The radio map solver allows for early deactivation of paths using two techniques: Russian roulette and gain thresholding. Both features can be enabled simultaneously and are applied only after a user-defined depth is reached. With gain thresholding, a path with ray tube length is deactivated when the propagation gain falls below a user-defined threshold. With Russian roulette, at each iteration, a path continues with a probability given by
| (64) |
where is the maximum probability, set by the user, for keeping the path active, and is the distance-normalized propagation gain. The surviving paths are reweighted by the inverse square root of the probability of being kept active, i.e., , to ensure the estimator is unbiased. Unlike compensated Russian roulette, gain thresholding removes the weakest contributions and therefore introduces bias.
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 [25].
Radio Map Solver: Supported Path Families, Array Model, and Accumulation
Let denote the user-configured maximum path depth. The radio map solver supports the following path families:
| Path family | Supported interaction sequences |
|---|---|
| LoS | A path of depth zero, containing no interaction. |
| Non-diffracted paths | Any sequence of specular reflections, refractions, and diffuse reflections, with total depth at most . |
| Diffracted paths | Direct first-order diffraction paths of the form where is the source (transmitter), is a point on the measurement surface. |
Higher-order diffraction and paths combining diffraction with other interaction types are currently not supported.
Array model. The radio map solver supports only synthetic transmit arrays. Paths are traced from the center of the transmit array, and the contributions from the individual antenna elements are obtained by applying synthetic phase shifts and the user-provided precoding vector. The approximation requires the wavefront to be approximately planar across the array. A commonly used sufficient far-field criterion is , where is the array total aperture and is the distance from the array center to the first interaction point or measurement plane.
Non-coherent accumulation. The fields radiated by the transmit-array elements are combined coherently through the precoding vector for each individual propagation path. Different propagation paths, however, are accumulated non-coherently: Radio maps represent sums of individual path gains and do not include cross terms between paths. They therefore do not capture fast fading caused by constructive and destructive multipath interference.