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 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
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
andReceiver
inherit from this class and should be used.- Parameters:
name (
str
) – Nameposition (
mitsuba.Point3f
) – Position [m]orientation (
typing.Optional
[mitsuba.Point3f
]) – Orientation specified through three angles 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 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 .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
.- 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
with spherical angles and , the orientation of the radio device will be set equal to .- Parameters:
target (
typing.Union
[mitsuba.Point3f
,typing.Self
]) – A position, or instance of aRadioDevice
, 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
) – Nameposition (
mitsuba.Point3f
) – Position [m]orientation (
typing.Optional
[mitsuba.Point3f
]) – Orientation specified through three angles 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 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 .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
) – Nameposition (
mitsuba.Point3f
) – Position [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 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 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 .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