Aerial Omniverse Digital Twin
Aerial Omniverse Digital Twin v1.1

Graphical User Interface

The graphical user interface is illustrated in the following figure and is composed of the following elements.

interface.png

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). 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). To deploy a DU, we can finally right click on the map and select Aerial > Deploy DU.

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.

ui_configuration.png

  • 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 any simulation.

  • ls_session: the name of the live session. This field can be changed in order to import or discard a given RAN deployment for the same scene.

  • ru_url: the URL to the 3D asset used to indicate a radio unit.

  • du_url: the URL to the 3D asset used to indicate a distributed 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 a 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.

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 GIS tab is used to connect to the GIS container and trigger USD conversion jobs from CityGML or OpenStreetMap (OSM) sources. It offers the following fields:

gis_combined_import_ui.png

  • GIS Channel Configuration:

    • Server Path: the URL for the Omniverse Nucleus server.

    • Broadcast Channel Name the name of the Nucleus broadcast channel. This is the channel over which the graphical interface will search for an available worker to perform GIS jobs.

  • GIS Processing:

    • OSM: contains configuration for OSM processing.

      • Coordinates: coordinates for the bounding box used for OSM import. Must be in decimal degrees and in the following order: lower left longitude, lower left latitude, upper right longitude, upper right latitude.

      • Output stage: URL of the output USD stage.

    • CityGML: contains configuration for CityGML processing.

      • Input files: a list of CityGML paths on the host of the GIS container.

      • Output stage: URL of the output USD stage

      • Additional Options:

        • EPSG (In): EPSG code of incoming CityGML data

        • EPSG (Out): EPSG code of resulting USD stage. Must be a projected coordinate system (linear units).

        • Scale: how to scale the dimensions of the map; the default is 100.0, corresponding to an input expressed in meters (after a potential projection) and being converted to centimeters.

        • Mobility Scale: this flag defines the maximum size that an edge is allowed to have in the mobility domain mesh generated by the pipeline (default = 400 in target units of measurements, i.e., centimeters).

        • Adjust Height Threshold: relative threshold after which the height of meshes gets adjusted to what is reported in the measured height; the default is 0.1 or 10% of the height of the building.

        • Flatten: whether to flatten the terrain and drop all buildings to the flat ground plane; default is false.

        • Textures: include texture references; default is true. A corresponding textures folder must be found where the input GML files are. Note: in some cases, untextured buildings in the scene will be rendered in white.

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.

ui_ant_el.png

  • panel_asset: specifies which panel is being edited through the tab.

  • antenna_type: after visually selecting one or more antenna elements in the array, this field edits their antenna type. In particular,

    • the user can select the antenna elements whose antenna type needs to be changed by clicking on the elements in the simplified diagram of the array, where the element using the first linear polarization are marked in blue and those using the second polarization are represented in green

    • the user can the select the antenna type from the Antenna combo box,

    • and finally apply it using the Apply to Element(s) button.

If successful, the type of the antenna element is updated in the aforementioned diagram. To add or remove a second polarization, update the Dual Polarized check box in the property widget.

Below are the supported built-in antenna types:

  • isotropic

  • infinitesimal dipole

  • half-wave dipole

  • microstrip patch, with

    • \(\epsilon_r=4.8\)

    • \(L = \dfrac{\lambda}{2 \sqrt{\epsilon_r}}\) (\(\lambda\) being the wavelength of the carrier)

    • \(W = 1.5 L\)

while custom antenna elements can be imported using the button

  • Open Element File, which supports a single element CSV or FFD file upload. The file needs to have the section header [Antenna element parameters] and the pattern data for a single antenna element with header columns Theta,Phi,EThetaReal,EThetaImag,EPhiReal,EPhiImag. Once a pattern file is uploaded, the pattern will be added to the antenna_type combo box and can be applied to the selected elements. The patterns can be removed using the Remove Element File button. Any antenna element for which its pattern is removed will revert back isotropic. Built-in antenna types cannot be removed.

For half-wave dipoles, AODT also offers the possibility of directly calculating the active antenna element pattern (AEP) for each element though the button Calculate AEP, thus accounting for mutual coupling effects.

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.

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 ITU P.2040 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 \)

  • and by

    • Scattering XPD: the diffuse scattering cross-polarization/co-polarization power ratio

    • RMS Roughness: the root mean squared of the surface roughness

    • Scattering coefficient: the scattering coefficient parameter used in the effective roughness model [^2], [^3]

    • Forward Scattering Lobe Exponent: the integer exponent parameter for the forward scattering lobe (in the specular reflection direction) in the Directional diffuse model

    • Backward Scattering Lobe Exponent: the integer exponent parameter for the backward scattering lobe (in the indicence direction) in the Directional diffuse model

    • Forward Scattering Lobe / Total power Ratio: the ratio between the forward scattering power and the total scattering power in the Directional diffuse model.

Panels

  • This entry collects the antenna arrays used across the simulation. A new panel can be added with a right click on the stage widget area and selecting Aerial > Create Panel. Once a panel is created, we can set:

    • Antenna Elements

      • Edit: by pressing the button, we can go to the Antenna Elements tab

      • Open Panel File: CSV or FFD file upload for the whole panel. The file needs to have a [Antenna panel parameters] section and pattern data for all elements. The total number of elements in the panel is determined by the properties HorizontalElements, VerticalElements and DualPolarized. Each pattern must have the column headers Theta,Phi,EThetaReal,EThetaImag,EPhiReal,EPhiImag.

      • Save Panel File: CSV or FFD file export at panel-level.

    • Dual Polarized: indicates whether the panel uses antenna arrays with dual-polarized elements.

    • Carrier Frequency [MHz]: indicates the center frequency at which the antennas in the array will operate.

    • Horizontal Elements (\(N_{hor.}\)): the number of elements in a row of the planar antenna array.

    • Vertical Elements (\(N_{vert.}\)): the number of elements in a column of the planar antenna array.

    • Horizontal Spacing [mm] (\(\Delta_{hor.}\)): this field represents the uniform horizontal spacing used in the planar antenna array.

    • Vertical Spacing [mm] (\(\Delta_{vert.}\)): correspondingly, this other field indicates the uniform vertical spacing.

    • Roll of First Pol. Element [deg]: this field expresses the roll angle, with respect to the vertical axis, of the first element in a dual polarized antenna site (e.g., \(0^\circ\)).

    • Roll of Second Pol. Element [deg]: the corresponding roll angle for the second element in a dual polarized antenna site (e.g., \(90^\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.

      • Distributed Unit (DU) ID: the unique identifier of the DU associated with this RU (see next attribute).

      • Manually Assigns DU: if enabled, users can manually override the DU ID for the selected RU. If disabled, the nearest valid DU will be assigned to the RU. If no existing DUs have matching carrier frequency and total number of antennas as the panel the RU makes use of, a new DU with the necessary properties will be created and assigned to 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.

      • Height: the height of the antenna panel from RU base.

    • 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. For the rays to a given UE to appear, the corresponding field on the UE side also needs to be enabled.

      ru.png

DUs

  • This entry in the stage widget collects the deployed DUs, which are added to the scene by right clicking on the viewport area and selecting Aerial > Deploy DU. When deployed, the DUs are placed above the buildings in its immediate proximity, so it might be necessary to zoom out in order to see them after the deployment. By selecting a given DU in the property widget, we can set:

    • Aerial Properties

    • ID: the unique identifier for this DU.

    • Waveform FFT size: the size of the FFT used in the orthogonal frequency division multiplexing (OFDM) waveform. This parameter is used when Enable Wideband CFRs or Simulate RAN are active in the Scenario scope.

    • Sub-carrier Spacing: parameter indicating the spectral distance between adjacent sub-carriers in the OFDM waveform used by the RU.

    • Max Channel Bandwidth [MHz]: the largest bandwidth supported by the DU.

      • Antenna Elements: the number of antennas that the panels assigned to associated RUs are expected to make use of.

    • Carrier Frequency [MHz]: the center frequency that the assigned RU panels are expected to emit at.

  • Please note the following when assigning an RU to a DU:

    • Multiple RUs can be assigned to a DU by editing the ID attribute in the RUs.

    • All RUs belonging to a DU must have the same number of antennas where num_ants = num_horizontal_elements * num_vertical_elements * num_polarizations.

    • When a RU is created, the UI will attempt to associate it with the closest DU if the RU satisfies the above requirements.

    • Users can manually associate RUs to DUs which are further away than the one in direct proximity as long as the RUs satisfies the above requirements.

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.

    • 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 power.

    • Max dynamic range: the power range in dB that should be considered for the visualization of the rays. 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 all rays are traced from the RUs to the UEs.

    • # of scene interactions per ray: the total number of admissible scattering events along any of the traced rays.

    • Diffuse Model: indicates how a surface scatters light, either uniformly in all directions (Lambertian) or with a directional bias.

    • Reception sphere radius: the radius of the spheres at the UEs’ position for the purpose of finding the propagation paths in the ray tracing of the EM engine.

    • Max # of Shown Paths per RU-UE pair: this field sets the number of visualized rays per RU-UE pair.

    • Ray sparsity: whilst 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, 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. 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 UEs 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 within a slot.

    • 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. For the rays from a given RU to appear the corresponding field needs to be enabled on the RU side.

      ue.png

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.

layers.png

Any entry with a \(\Delta\) superimposed indicates that the assets and the attributes in the live session are different from what the 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.

Note: release 1.1 contains a known bug affecting the “End and Merge” option in the live session widget. As a temporary workaround for data sharing, users are advised to locate their USD file and the associated .live folder on Nucleus, compress these items into a zip file, and share this package with collaborators. This approach will enable continued data sharing until the issue is resolved in a future update.

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 when the RAN is not simulated. Differently, it represents the number of slots considered for the simulation. In presence of batches, the timeline is unrolled across batches. The total number of frames 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:

button_as_worker.png

Attach worker

After the scene is ready for simulation, i.e.,

  • the antenna arrays have been created

  • the RUs and the manual UEs have been deployed

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

button_as_mobi.png

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.

button_as_play.png

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.

button_as_pause.png

Pause UE mobility

This button is provided to pause the simulation.

button_as_stop.png

Stop UE mobility

Similarly this button is provided to stop the simulation.

button_as_refresh.png

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 reads such telemetry and visualizes it at the press of the play button of the standard Omniverse toolbar. For RAN simulations, this includes

  • the aggregate (across UEs) instantaneous throughput of every RU and the statistics of the allocated modulation and coding schemes

  • the instantaneous throughput of every UE and its allocated modulation and coding scheme.

This telemetry can be observed by selecting one of the RUs or one of the UEs under the corresponding entry in the stage widget.

Worth mentioning that 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.

Previous Installation
Next Scene Importer
© Copyright 2024, NVIDIA. Last updated on Dec 9, 2024.