Movatterモバイル変換


[0]ホーム

URL:


NVIDIA Sionna RT

Technical Report

← Previous
Next →
Sionna RT: Technical Report

4Radio Map Solver

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 aradio map (also known ascoverage map orpower 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.

Refer to caption
(a)Scene with a measurement plane.
Refer to caption
(b)Radio map for the measurement plane in (a).
Figure 25:(a) A measurement surface, which is here a plane parallel to the ground, is placed in the scene to capture paths without affecting their propagation, (b) the resulting radio map showing the spatial distribution of channel gains.

A radio map estimates the channel gain (5) from a source to each point on ameasurement surface, as illustrated in Figure 25. The measurement surface is partitioned intomeasurement 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 usingSBR. This approach makes the computation of radio maps both fast and scalable.

4.1Definition of Radio Map

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 intoNM cellsMi, fori=1,,NM, each of area|Mi|.Ignoring diffraction for now, let𝒜 denote the union of all scatterer surfaces in the scene. We define

𝒜=𝒜××𝒜 times(39)

as the set of all sequences of vertices representing interactions with scatterers surfaces—that is, all paths of length that are not diffracted,

p=(𝐯(1),,𝐯()).(40)

A path from𝐬 to a point𝐭 can be written as(𝐬,p,𝐭), though for brevity we refer simply to the pathp.Note that𝒜0 corresponds to theLoS path from𝐬 to𝐭.

Focusing on paths of a fixed length, we define the radio map value for thei-th cell as follows:

Ci()=1|Mi|Mi𝒜e(p)𝒱(p)w(p)𝑑μ()(p)𝑑𝐭(41)

whered𝐭 is an infinitesimal surface element on the measurement surfaceMi, andμ()(p) is the area-product measure on the scattering surface, i.e.,

dμ()(p)=dA(𝐯(1))dA(𝐯()).(42)

𝒱(p) is the indicator function which equals to1 if the path is not occluded and0 otherwise, ande(p) is the channel gain for the path, defined as

e(p)=λ4π𝐓𝐂T(θT,φT)22.(43)

Here,λ is the wavelength,𝐂T is the2-dimensional complex vector of the transmit antenna pattern evaluated at the departure angles(θT,φT) ofp, and𝐓 is a2×2 complex matrix modeling the effects of scatterers and free-space path loss alongp. 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 sincee(p) is the squared norm of the electric field amplitude, the radio map represents a non-coherent sum of the path gains.

In (41),w(p) restricts which paths are considered:

w(p)=i=1w(i)(𝐤^i(i),𝐤^s(i)),(44)

where𝐤^i(i) is the incident wave direction at thei-th interaction,𝐤^s(i) is the scattered wave direction at thei-th interaction, andw(i) depends on the types of interactions considered for thei-th interaction. For instance, if only specular reflections and refractions are allowed at thei-th interaction,

w(i)(𝐤^i(i),𝐤^s(i))=δ(𝐤^s(i)𝐤^i(i)2(𝐧^𝖳𝐤^i(i))𝐧^s(i)𝐤^i(i)2(𝐧^𝖳𝐤^i(i))𝐧^s(i)2)Specular reflection+δ(𝐤^s(i)𝐤^i(i))Refraction(45)

where𝐧^ is the normal to the scatterer’s surface.Althoughw(p) could in principle be absorbed intoe(p), as usually done in the computer graphics literature, we keep it separate for clarity.

The overall radio map value for thei-th cell is given by summing over all possible path depths=0,1,,:

Ci==0Ci()=1|Mi|Mi=0𝒜e(p)𝒱(p)w(p)𝑑μ()(p)𝑑𝐭.(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:

Ci=1|Mi|Mi𝒜e(p)𝒱(p)w(p)𝑑μ(p)𝑑𝐭,(47)

where

𝒜==0𝒜,(48)
μ(P)==0μ()(P𝒜)(49)

whereP𝒜 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:

hi=𝒜a(p)𝒱(p)w(p)sinc(iτ(p)Ts)𝑑μ(p)(50)

where,i denotes the tap index,a(p) is the complex-valued path coefficient (4),τ(p) the propagation delay, andTs the sampling period.Note that, as previously mentioned,p is a shorthand for the path(𝐬,p,𝐭).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-valueda(p) 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 singleSBR 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 singleSBR 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.

Refer to caption
Figure 26:Computation of the radio map in two steps: first, the radio map is computed for all interaction types except diffraction using a singleSBR loop; second, only diffracted paths are computed. The two radio maps are then summed to obtain the final radio map.

4.2Computation of Radio Map without Diffraction

When diffraction is ignored, the radio map can be efficiently computed using a singleSBR 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 variablesd𝐭=r2cosθdω, wherer 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, anddω is the infinitesimal solid angle subtended by the ray tube (see Section 2.4). Thus,d𝐭 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:

Ci=1|Mi|=0𝒜Ωe(p)𝒱(p)w(p)r2cosθ𝑑ω𝑑μ()(p).(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 launchingNS 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ΔA that corresponds to the ray tube intersection area, given byΔA=r2cosθΔω, wherer 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 toL<, and since a single path may intersect the measurement surface at multiple depths, all path depths=0,1,,L are considered. Interaction types (specular reflection, refraction, or diffuse reflection) are sampled according to (20).

Refer to caption
(a)Specular reflection
Refer to caption
(b)Diffuse reflection
Figure 27:A specular reflection (left) deviates the incident ray tube, while a diffuse reflection (right) spawns a new ray tube. Shown in 2D for clarity.

This process leads to the following Monte Carlo estimator for the radio map (51):

C^i=1|Mi|n=1NS=0Le(pn())𝕀(pn())βn()Pr(𝝌n()),(52)

wherepn() denotes then-th path at depth;𝕀(pn()) is an indicator function equal to1 ifpn() intersects the measurement surface at depth and0 otherwise; andPr(𝝌n()) is the probability of sampling the specific sequence of interaction types𝝌n() corresponding topn().βn() is a weighting factor that incorporates the intersection area of the ray tubes on the scatterer and measurement surfaces, and thus absorbs the factorr2cosθ,

βn()=i=1nrtri2cosθiΔωi,(53)

where, for then-th path at depth,nrt is the number of ray tubes that constitute the path,ri is the length of thei-th ray tube,θi is the angle between the incident ray tube and the surface normal, andΔωi is the solid angle subtended by thei-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 emitsNS ray tubes, each subtending a solid angle of4πNS, while each diffuse reflection point spawns a single ray tube, uniformly sampled over the hemisphere, with a solid angle of2π. Thus,nrt equals the number of diffuse reflection points along the path plus one.

4.3Computation of Radio Map due to Diffraction

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 lengthL. 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𝒜:

Ci(𝒟)=1|Mi|Mi0Le(p)𝒱(p)w(p)𝑑x𝑑𝐭.(54)

Here, the inner integral is over the diffraction point positionx along the edge, i.e.,𝐯=𝐨+x𝐞^, while the outer integral is over the measurement cellMi. The functionw(p) ensures the scattered wave lies on the Keller cone:

w(p)=δ((𝐯𝐬)𝖳𝐞^𝐯𝐬2cosβ0(𝐭𝐯)𝖳𝐞^𝐭𝐯2cosβ0=0),(55)

whereβ0 andβ0 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(𝐭^0,𝐧^0,𝐞^), where𝐧^0 is the normal to a wedge face and𝐭^0×𝐧^0=𝐞^, as illustrated in Figure 28. For a given angle of incidenceβ0, any point onMi that can be reached by a diffracted ray can be written as:

𝐭=𝐨+x𝐞^𝐯+γ(sinβ0cosϕ𝐭^0+sinβ0sinϕ𝐧^0+cosβ0𝐞^)𝐤^s.(56)

Here,𝐯 is a point on the edge parametrized byx,𝐤^s is the direction of the diffracted ray (withϕ the Keller cone azimuth), andγ>0 is the distance for which the ray from𝐯 in direction𝐤^s intersects the measurement cellMi (see Figure 28). Since a ray and a plane intersect at most once,𝐭 is uniquely determined byx andϕ, and thus𝐭(x,ϕ) forms a reparametrization of the subset ofMi that can be reached by a diffracted ray when the angle of incidence isβ0.

Refer to caption
(a)3D view
Refer to caption
(b)2D cross-section
Figure 28:A measurement point𝐭 reachable by a diffracted ray from a wedge is determined by a distance along the edgex and the Keller cone azimuthϕ, while the cone opening angle isβ0.

With this reparametrization, (54) becomes:

Ci(𝒟)=1|Mi|0Lnπ0Le(p)𝒱(p)w(p)δ𝐭δx×δ𝐭δϕ2𝑑x𝑑ϕ𝑑x(57)

wherenπ is the wedge exterior angle, andδ𝐭δx×δ𝐭δϕ2 accounts for the change of variables [26].

The condition in (55) is only satisfied whenx=x for a givenϕ, leading to:

Ci(𝒟)=1|Mi|0Lnπe(p)𝒱(p)δ𝐭δx×δ𝐭δϕ2𝑑x𝑑ϕ.(58)

To estimate (58),NS samples are drawn on the wedge:x uniformly in[0,L] andϕ uniformly in[0,nπ]. This yields the Monte Carlo estimator:

C^i(𝒟)=1|Mi|LnπNSn=1NSe(pn)𝕀(pn)δ𝐭δx×δ𝐭δϕ2(59)

wherepn is then-th path,𝕀(pn) is 1 ifpn intersects the measurement surface and is not occluded by other scatterers and 0 otherwise, and the weighting factorδ𝐭δx×δ𝐭δϕ2 is computed as described in Annex D.

4.4Non-Coherent vs. Coherent Radio Maps

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.

Refer to caption
Figure 29:Comparison of radio maps: one computed using the radio map solver, one by non-coherently summing path coefficients from the path solver, and one by coherently summing path coefficients from the path solver. The transmitter is depicted as a red ball. All radio maps are computed with a maximum depth ofL=3, cell sizes of10×10 cm, using isotropic antenna patterns on both the transmitter and receiver, and for the “box” scene built in Sionna RT. The “non-coherent sum” and “coherent sum” radio maps are generated by placing a single target point at the center of each measurement cell.

4.5Handling Multiple Transmit Antennas

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, letNAtx denote the number of antennas at the transmitter, and let𝐮PNAtx be the precoding vector. For a given path connecting the source to the measurement plane, let𝐄2 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𝐮Atx, leading to

𝐄A=𝐄(𝐮Atx)𝖳.(60)

Here,𝐄A is a matrix of size2×NAtx, where each column represents the electric fields radiated by each transmit antenna. The contribution of this path to the radio map is given by

𝐄A𝐮P22.(61)

This expression allows the path’s contribution to the radio map to be represented as

𝐄A𝐮P22=(𝐄(𝐮Atx)𝖳𝐮P)22=𝐄α22(62)

whereα=(𝐮Atx)𝖳𝐮P 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.

Refer to caption
(a)Scene with the radio map.
Refer to caption
(b)Computation time vs. number of samplesNS.
Figure 30:Computation time for calculating radio maps using an NVIDIA RTX 4090 GPU for a single transmitter with a linear array of 1 to 1024 antennas.

Figure 30(b) illustrates the computation time needed to generate a radio map for a single source as the number of samplesNS and the number of transmit antennasNAtx 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 using108 samples and a linear array of 512 transmit antennas. Notably, the radio map solver can compute radio maps with109 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.

Handling of Dual-Polarized Transmit Antennas

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).

4.6Practical Notes

Mesh-based Measurement Surface

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.

Scaling with the Number of Measurement Cells

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 samplesNS to maintain the accuracy of the estimators (52) and (59), as fewer paths will intersect with each measurement cell, resulting in noisier radio maps.

Early Termination with Russian Roulette and Gain Thresholding

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 lengthr is deactivated when the squared amplitude of the electric field𝐄22 falls below a user-defined threshold.With Russian roulette, at each iteration, a path continues with a probability given by

prr=min(r2𝐄22,prr,max)(63)

whereprr,max 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.

Extension to other Types of Radio Maps

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].


[8]ページ先頭

©2009-2026 Movatter.jp