Radio Devices

A radio device refers to aTransmitter orReceiver equippedwith anAntennaArray as specified by theScene’s propertiestx_array andrx_array, respectively.

The following code snippet shows how to instantiate aTransmitterequipped with a\(4 \times 2\)PlanarArray with cross-polarized isotropic antennas:

fromsionna.rtimportload_scene,PlanarArray,Transmitterscene=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\((\alpha, \beta, \gamma)\) of a radio devicecan be freely configured. The latter is specified through three angles corresponding to a 3Drotation as defined in(3).

fromsionna.rtimportload_scene,Transmitterscene=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 methodadd()and can be removed from it usingremove():

fromsionna.rtimportload_scene,Transmitterscene=load_scene()scene.add(Transmitter(name="tx",position=(0,0,0)))scene.remove("tx")
classsionna.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 classesTransmitter andReceiver 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\((\alpha, \beta, \gamma)\)corresponding to a 3D rotation as defined in(3).This parameter is ignored iflook_at is notNone.

  • look_at (typing.Union[mitsuba.Point3f,typing.Self,None]) – A position or the instance ofRadioDevices to look at.If set toNone, thenorientation is used toorientate 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 parameterfor the device as displayed in the previewer and renderer. Each RGBcomponent must have a value within the range\(\in [0,1]\).

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

propertycolor

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

Type:

Tuple[float,float,float]

propertydisplay_radius

Get/set the radius [m] of the sphere thatrepresents this device when displayed in the previewer and renderer.If set toNone, 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 aposition, or radio device.

Given a point\(\mathbf{x}\in\mathbb{R}^3\) with spherical angles\(\theta\) and\(\varphi\), the orientation of the radio devicewill be set equal to\((\varphi, \frac{\pi}{2}-\theta, 0.0)\).

Parameters:

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

propertyname

Name

Type:

str

propertyorientation

Get/set the orientation

Type:

mi.Point3f

propertyposition

Get/set the position

Type:

mi.Point3f

propertyvelocity

Get/set the velocity

Type:

mi.Vector3f

classsionna.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\((\alpha, \beta, \gamma)\)corresponding to a 3D rotation as defined in(3).This parameter is ignored iflook_at is notNone.

  • look_at (typing.Union[mitsuba.Point3f,typing.Self,None]) – A position or the instance ofRadioDevices to look at.If set toNone, thenorientation is used toorientate 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 parameterfor the device as displayed in the previewer and renderer. Each RGBcomponent must have a value within the range\(\in [0,1]\).

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

classsionna.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\((\alpha, \beta, \gamma)\)corresponding to a 3D rotation as defined in(3).This parameter is ignored iflook_at is notNone.

  • look_at (typing.Union[mitsuba.Point3f,typing.Self,None]) – A position or the instance ofRadioDevices to look at.If set toNone, thenorientation is used toorientate 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 parameterfor the device as displayed in the previewer and renderer. Each RGBcomponent must have a value within the range\(\in [0,1]\).

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

propertypower

Get the transmit power [W]

Type:

mi.Float

propertypower_dbm

Get/set transmit power [dBm]

Type:

mi.ScalarFloat