Graphical User Interface
The graphical user interface is illustrated in the following figure and is composed of the following elements.
The viewport displays the geospatial data that make up the scenario and is used to deploy the radio access network (RAN) nodes or specific user equipment (UE). E.g., the deployment of a radio unit can be performed by right clicking on a given area of the map and selecting Aerial > Deploy RU from the context menu. To move the RU, once it has been selected, we can instead use Aerial > Move RU. Similarly, to manually deploy a UE, we can use Aerial > Deploy UE. (Procedural deployment of the UEs is illustrated in the simulation section).
At the top of the viewport, we can also find the settings to change the view type (e.g., top or perspective) or viewport resolution.
Finally, the color bar provides the gradient describing the power carried by each individual ray traced by the EM engine, and can be hidden or shown using CTRL+B.
The configuration tab is used to set up the simulation and offers the following fields.
db_host: specifies the IP address of the ClickHouse server.
db_port: indicates the ClickHouse client port. By default, this field is 9000, unless ClickHouse has been installed with non-standard settings. Once db_host and db_port are specified, the user can connect to the ClickHouse server using the Connect button. If the connection is successful, the indicator next to the button will go from red to green.
db_name: this is the name of the database that will be used to store the results generated during the simulation.
db_author: this field records the author of the database. By default, it is the user ID.
db_notes: any additional text that the user intends to add to the database. This field can be left empty.
nucleus_url: the URL for the Omniverse Nucleus server.
nucleus_bc: the name of the Nucleus broadcast channel. This is the channel over which the graphical interface will search for an available worker to perform the RAN simulation.
ls_session: the name of the live session. This field can be changed in order to import or discard a given RAN deployment on the same scene.
ru_url: the URL to the 3D asset used to indicate a radio unit.
ue_url: the URL to the 3D asset used to indicate a UE.
panel_url: the URL to the asset used to express an antenna planar array.
sz_url: the URL to the asset used to indicate zone in which UEs can be procedurally spawned.
mat_url: the URL pointing to the asset that describes the ITU P.2040 materials used within the scope of the simulation.
The content tab can be used to browse the content of the Nucleus server, move/copy files and open the desired scene.
The antenna tab is used while setting up the simulation to specify
the type of antennas that a given antenna panel is composed of
the geometrical and polarimetric properties of said panel.
The fields of the tab are illustrated in the following figure.
panel_asset: this field specifies which panel is being edited through the tab.
antenna_type: when a given antenna site in the panel is selected, it is possible to change the type of antennas installed at the specific site. This can be done through the list of antennas found at the Antenna combo box. Once a specific antenna type is selected, it can be applied using the Apply button. If the action is successful, the field ant_type under the selected antenna sites is changed to the value indicated in the Antenna combo box. For a given site, there could be at most two colocated antennas of different polarization. This can be manipulated through the Dual Polarized check box in the property widget.
panel_sh: this field represents the uniform horizontal spacing used in the planar antenna array.
panel_sv: correspondingly, this other field indicates the uniform vertical spacing.
panel_cf: this field is in the property widget, and indicates the center frequency for which the antenna array has been designed.
panel_nh: the number of elements in a row of the planar antenna array.
panel_vh: the number of elements in a column of the planar antenna array.
panel_erf: this field expresses the roll angle, with respect to the vertical axis, of the first element in a dual polarized antenna site.
panel_ers: the corresponding roll angle for the second element in a dual polarized antenna site.
In the tab we also find two plots:
the gain pattern for the azimuthal cut
and the gain pattern for the zenithal cut
which, for the antenna type selected from the Antenna combo box, illustrate the contour of the radiation solid along the azimuthal and zenithal planes.
Finally, it is worth mentioning that the selection of a given antenna site through the left click of the mouse is additive, i.e., once a site is selected, a second one can also be added, and then a third, and so on. A second click on the selected site, will deselect it. Alternatively, the button Clear Selected can be used in order to remove any selection.
This tab is used to illustrate all warnings and messages collected during the operation of the Aerial Omniverse Digital Twin. Warnings are marked in yellow, and errors are marked in red. Error of consequence for the simulation are also propagated to a dialog box.
The stage widget shows all the assets deployed in the scene and the property widget is the interface for setting their attributes:
Environment
This entry in the stage widget can be used to set how the scene looks and feels. It allows - for instance - to set the time of the day at the simulated location, with direct consequences on sun illumination.
Looks
This entry, if present, contains the textures used to describe the buildings.
Materials
This entry is used to list the material used across the simulation. Each material is characterized by a tuple \(\left(a,b,c,d\right)\) of four parameters, so that the relative permittivity of the material is expressed as
\( \epsilon_r = a f_{\rm{GHz}}^b - j c f_{\rm{GHz}}^d \)
as described in ITU P.2040.
Panels
This entry collects the antenna arrays used across the simulation. A new type can be added with a right click on the stage widget area and selecting Aerial > Create Panel. Once a panel is selected under this entry, we can set:
Antenna Element Type: by pressing the Edit button, we can go to the Antenna Elements tab and select one of the following antenna types:
isotropic (point source radiating in all directions with the same intensity and phase).
infinitesimal dipole
half-wave dipole
microstrip patch: reference patch antenna with
\(\epsilon_r=4.8\)
\(L = \dfrac{\lambda}{2 \sqrt{\epsilon_r}}\) (\(\lambda\) being the wavelength of the carrier)
\(W = 1.5 L\)
user input: this points to the possibility of using
Dual Polarized: this flag indicates whether the panel uses antenna arrays with dual-polarized elements.
Carrier Frequency: the center frequency at which the antenna in the array will operate.
Horizontal Elements (\(N_{hor.}\)): number of elements in a row of the planar antenna array.
Vertical Elements: (\(N_{vert.}\)): number of elements in a column of the planar antenna array.
Horizontal Spacing (\(\Delta_{hor.}\)): distance between antenna elements along each row of the planar antenna array.
Vertical Spacing (\(\Delta_{vert.}\)): distance between antenna elements along each column of the planar antenna array.
Roll of First Pol. Element: angular displacement of the element realizing the first polarization (e.g., \(45^\circ\))
Roll of Second Pol. Element: angular displacement of the element realizing the second polarization (e.g., \(-45^\circ\)). Has an effect only when the array is composed of dual polarized elements.
runtime
After they have been generated, this entry collects the trajectories along which the UEs will move during the simulation.
RUs
This entry in the stage widget collects the deployed RUs, which are added to the scene by right clicking on the viewport area with mouse and selecting Aerial > Deploy RU. By selecting a given RU in the list, we can set two different sets of properties:
Aerial Properties
Cell ID: the unique identifier that defines the cell supported by the given RU.
Panel Type: the specific antenna array for the RU currently selected.
Waveform FFT size: the size of the FFT used in a potential waveform. This parameter is used when Enable Wideband CFRs or Simulate RAN are on in Scenario.
Sub-carrier Spacing: parameter indicating the spectral distance between adjacent sub-carriers in the OFDM waveform used by the RU.
Mechanical Azimuth (\(\phi_b\)): azimuth of the RU boresight (indicated as \(\hat{b}\) in the figure below).
Mechanical Tilt (\(\theta_b\)): elevation of the RU boresight (indicated as \(\hat{b}\) in the figure below) with respect to the horizon.
Radiated power: the total radiated power, across the whole antenna array, for the given RU.
Ray Properties
Show Rays: this flag indicates whether the rays shot from a given RU needs to be included in the telemetry visualized after the simulation.
Scenario
This entry in the stage widget collects all the simulation parameters that can be currently set. This includes:
Default UE panel: this is the antenna array associated by default to any UE in the simulation. As we will see later, this parameter can be overridden locally for any given UE. This parameter is offered for convenience to programmatically associate an antenna array type to large populations of UEs.
Default RU panel: same concept as described for the default UE panel, but for the RU panel.
Enable Temperature Color: this flag indicates whether the rays need to be colored based on their relative power.
Max dynamic range: the power range in dB that should be considered for the visualization of the simulations. This range sets the power threshold - from the strongest ray - under which the graphical interface will omit the visualization of rays.
# of emitted rays (in thousands): this is the number of emitted rays at a given RU, since the rays are all traced from the RUs.
# of scene interactions per ray: the total number of admissible scattering events along any of the traced rays.
Max # of Shown Paths per RU-UE pair: this field sets the number of visualized rays per RU-UE pair.
Ray sparsity: whereas the RAN digital twin calculates the rays for all temporal samples, this field allows to only propagate a fraction of such rays to the graphical interface. This is convenient when running long simulations, which would require the transfer of substantial amount of data towards the graphical interface host, which will have to keep the data in RAM. E.g., a Ray sparsity factor of 10 means that the graphical interface will only request the rays once every 10 samples.
Batches: the number of UE redrop events during the simulation. This parameter is useful when training neural networks: in lack of aggressive parametrization of the Interval field described below, the evolution of the UEs movement is smooth and gradual. Correspondingly, the statistics of the channel does not change appreciable if not across many samples. Thanks to this parameter, it is possible to accelerate the convergence of the training process by means of UE redropping, which occur for every batch.
Enabled Wideband CFRs: this flag indicates whether channel frequency responses are also going to be generated.
Number of UEs: this indicates how many UEs will be present during the simulation. Currently limited to a maximum of 2000.
UE Height: this is the default UE height, which will be applied to all UEs in the scene.
UE Max speed: the maximum speed of the UEs in the simulation.
UE Min speed: the minimum speed of the UEs during the simulation. The actual speed of given UE will be picked from a uniform distribution going from UE Min speed to UE Max speed.
Seeded mobility: indicates whether the random number generators involved in the creation of UE mobility are seeded or not.
Seed: in case the previous parameter is set to true, this indicates the seed for the random number generators.
Enable training: this flag indicates whether we want to train a neural network while running our simulation. This is currently only supported when the RAN is not being simulated.
Simulate RAN: enables the possibility of simulating the behavior of the deployed RUs by adding a physical layer and a medium access control layer to both RUs and UEs.
Simulation mode: when Simulate RAN is disabled, this field allows to choose between two different ways of specifying the simulation timeline. In Slots mode, the simulation timeline is described by the number of slots per batch and the number of realizations of the channel per slot (Samples per slot). Differently, in Duration mode, the timeline is described by a total temporal length of simulation (Duration) and the sampling period across said duration is set by Interval. If Simulate RAN is enabled, only Slot mode is possible.
Slots per batch: number of slots to simulate for every batch in the simulation. The total number of batches in the simulation is specified in Batches.
Samples per slot: number of samples to consider in a given slot. This field can either be 1 or 14, indicating whether or not the simulation should account for the Doppler effect.
Duration: this number represents the amount of simulated time for which we would like to generate realizations of the radio environment.
Interval: this parameter indicates the sampling period with which the radio environment is to be sampled.
UEs
Once a UE is deployed, using either the viewport context menu (Aerial > Deploy UE) or the programmatic approach described next, the UE will be found under the scope of this entry. By selecting a given UE, we can configure two different sets of properties:
Aerial Properties:
User ID: the unique identifier that distinguishes a given UE from the others.
Panel Type: the specific antenna array for the UE currently selected.
Mechanical Tilt (\(\theta_b\)): elevation of the UE boresight (indicated as \(\hat{b}\) in the figure below) with respect to the horizon.
Radiated power: the total radiated power, across the whole antenna array, for the given UE.
Manually created: this flag indicates whether UE has been positioned directly by the user, or it has been generated procedurally by the software.
Ray Properties:
Show Rays from: this field indicate the list of the RUs whose rays will be included in the UE-specific telemetry visualized after the simulation.
World
This entry contains the geometry describing the scene.
The layer widget provides an alternative visualization of how the scene is composed and tracks the changes introduced in the live session from the USD file as saved on disk. These changes are collected in the authoring layer, which is marked in green. The figure below illustrates the concept.
Any entry with a \(\Delta\) superimposed indicates that the assets in the and the attributes in the live session are different from what USD file contains. In general, the layer widget is where we want to reset the scene to its initial state by deleting the introduced deltas using the context menu.
The function of the live session widget is to synchronize the graphical interface and the RAN digital twin through NVIDIA’s Live Sync technology.
Any update added to the scene from the graphical interface side needs to occur while the live session is active. This ensures that any change is propagated to the RAN digital twin.
The timeline widget allows the user to manually move across the simulation once the EM solver has calculated the radio frequency (RF) environment. This can be accomplished moving the blue marker across the timeline.
The numbers on the timeline correspond to frames. The total number of frames is given by the duration of the simulation divided by the interval separating different samples specified in the Scenario entry of the stage widget. The total is updated every time that the Generate UEs button described above is pressed.
The standard buttons of the toolbar are documented here. The buttons specific to the Aerial Omniverse Digital Twin instead are:
Attach worker
After the scene is ready for simulation, i.e.,
the RUs and the manual UEs have been deployed
the antenna arrays have been created
and the Scenario entry in the stage widget has been configured with the desired parameters,
we can use this button to search for an available RAN digital twin worker to carry out the simulation.
Generate UEs
The first step of the simulation process is the generation of the non-manual UEs and of the routes of all UEs. This can be accomplished using this button. The resulting routes can be inspected under the runtime entry in the stage widget, and the play button from the standard toolbar can be used to see how the UEs move along the generated trajectories.
Start UE mobility
After the trajectories of the UEs have been generated, this button can be used to start the simulation on the RAN digital twin side.
Pause UE mobility
This button is provided to pause the simulation.
Stop UE mobility
Similarly this button is provided to stop the simulation.
Telemetry refresh
After a simulation is complete, the RAN digital twin saves all telemetry in the ClickHouse database specified in the configuration tab. The graphical interface subsequently read such telemetry and visualized it at the press of the play button in the standard Omniverse toolbar. For RAN simulations, this includes the instantaneous throughput of every UE and its allocated modulation and coding scheme. This telemetry can be observed by selecting one of the UEs under the corresponding entry in the stage widget. However, the rays arriving at a given UE from any selected RU will not show unless the Ray Properties in the property widget of the given RU or UE were set before the simulation began. If not, these rays can be added to the visualized telemetry by setting the Ray Properties after the simulation and refreshing the telemetry. This will ensure that the rays are now visible.