Radio Devices

A radio device refers to a Transmitter or Receiver equipped with an AntennaArray as specified by the Scene’s properties tx_array and rx_array, respectively.

The following code snippet shows how to instantiate a Transmitter equipped with a 4×2 PlanarArray with cross-polarized isotropic antennas:

from sionna.rt import load_scene, PlanarArray, Transmitter
scene = load_scene()
scene.tx_array = PlanarArray(num_rows=4,
                            num_cols=2,
                            pattern="iso",
                            polarization="cross")
tx = Transmitter(name="tx",
                position=(0,0,0),
                power_dbm=22)
scene.add(tx)

The position (x,y,z) and orientation (α,β,γ) of a radio device can be freely configured. The latter is specified through three angles corresponding to a 3D rotation as defined in (3).

from sionna.rt import load_scene, Transmitter
scene = load_scene()
scene.add(Transmitter(name="tx", position=(0,0,0)))
tx = scene.get("tx")
tx.position=(10,20,30)
tx.orientation=(0.3,0,0.1)

Radio devices need to be explicitly added to the scene using the scene’s method add() and can be removed from it using remove():

from sionna.rt import load_scene, Transmitter
scene = load_scene()
scene.add(Transmitter(name="tx", position=(0,0,0)))
scene.remove("tx")
class sionna.rt.RadioDevice(name, position, orientation=None, look_at=None, velocity=None, color=(0, 0, 0), display_radius=None)[source]

Class defining a generic radio device

The classes Transmitter and Receiver inherit from this class and should be used.

Parameters:
  • name (str) – Name

  • position (mitsuba.Point3f) – Position (x,y,z) [m]

  • orientation (typing.Optional[mitsuba.Point3f]) – Orientation specified through three angles (α,β,γ) corresponding to a 3D rotation as defined in (3). This parameter is ignored if look_at is not None.

  • look_at (typing.Union[mitsuba.Point3f, typing.Self, None]) – A position or the instance of RadioDevices to look at. If set to None, then orientation is used to orientate the device.

  • velocity (typing.Optional[mitsuba.Vector3f]) – Velocity vector of the radio device [m/s]

  • color (typing.Tuple[float, float, float]) – Defines the RGB (red, green, blue) color parameter for the device as displayed in the previewer and renderer. Each RGB component must have a value within the range [0,1].

  • display_radius (typing.Optional[float]) – Defines the radius, in meters, of the sphere that will represent this device when displayed in the previewer and renderer. If not specified, the radius will be chosen automatically using a heuristic.

property color

Get/set the the RGB (red, green, blue) color for the device as displayed in the previewer and renderer. Each RGB component must have a value within the range [0,1].

Type:

Tuple[float, float, float]

property display_radius

Get/set the radius [m] of the sphere that represents this device when displayed in the previewer and renderer. If set to None, the radius will be chosen automatically using a heuristic.

Type:

float | None

look_at(target)[source]

Sets the orientation so that the x-axis points toward a position, or radio device.

Given a point xR3 with spherical angles θ and φ, the orientation of the radio device will be set equal to (φ,π2θ,0.0).

Parameters:

target (typing.Union[mitsuba.Point3f, typing.Self]) – A position, or instance of a RadioDevice, in the scene to look at

property name

Name

Type:

str

property orientation

Get/set the orientation

Type:

mi.Point3f

property position

Get/set the position

Type:

mi.Point3f

property velocity

Get/set the velocity

Type:

mi.Vector3f

class sionna.rt.Receiver(name, position, orientation=None, look_at=None, velocity=None, color=(0.4, 0.8, 0.4), display_radius=None)[source]

Class defining a receiver

Parameters:
  • name (str) – Name

  • position (mitsuba.Point3f) – Position (x,y,z) [m]

  • orientation (typing.Optional[mitsuba.Point3f]) – Orientation specified through three angles (α,β,γ) corresponding to a 3D rotation as defined in (3). This parameter is ignored if look_at is not None.

  • look_at (typing.Union[mitsuba.Point3f, typing.Self, None]) – A position or the instance of RadioDevices to look at. If set to None, then orientation is used to orientate the device.

  • velocity (typing.Optional[mitsuba.Vector3f]) – Velocity vector of the receiver [m/s]

  • color (typing.Tuple[float, float, float]) – Defines the RGB (red, green, blue) color parameter for the device as displayed in the previewer and renderer. Each RGB component must have a value within the range [0,1].

  • display_radius (typing.Optional[float]) – Defines the radius, in meters, of the sphere that will represent this device when displayed in the previewer and renderer. If not specified, the radius will be chosen automatically using a heuristic.

class sionna.rt.Transmitter(name, position, orientation=None, look_at=None, velocity=None, power_dbm=44, color=(1.0, 0.0, 0.0), display_radius=None)[source]

Class defining a transmitter

Parameters:
  • name (str) – Name

  • position (mitsuba.Point3f) – Position (x,y,z) [m]

  • power_dbm – Transmit power [dBm]

  • orientation (typing.Optional[mitsuba.Point3f]) – Orientation specified through three angles (α,β,γ) corresponding to a 3D rotation as defined in (3). This parameter is ignored if look_at is not None.

  • look_at (typing.Union[mitsuba.Point3f, typing.Self, None]) – A position or the instance of RadioDevices to look at. If set to None, then orientation is used to orientate the device.

  • velocity (typing.Optional[mitsuba.Vector3f]) – Velocity vector of the transmitter [m/s]

  • color (typing.Tuple[float, float, float]) – Defines the RGB (red, green, blue) color parameter for the device as displayed in the previewer and renderer. Each RGB component must have a value within the range [0,1].

  • display_radius (float | None)

:param display_radius Defines the radius, in meters, of the sphere that

will represent this device when displayed in the previewer and renderer. If not specified, the radius will be chosen automatically using a heuristic.

property power

Get the transmit power [W]

Type:

mi.Float

property power_dbm

Get/set transmit power [dBm]

Type:

mi.ScalarFloat