Antenna Arrays
- class sionna.rt.AntennaArray(antenna_pattern, normalized_positions)[source]
Class implementing an antenna array
An antenna array is composed of antennas which are placed at different positions. All antennas share the same antenna pattern, which can be single- or dual-polarized.
- Parameters:
antenna_pattern (
sionna.rt.antenna_pattern.AntennaPattern
) – Antenna pattern to be used across the arraynormalized_positions (
mitsuba.Point3f
) – Array of relative positions of each antenna with respect to the position of the radio device, normalized by the wavelength. Dual-polarized antennas are counted as a single antenna and share the same position.
- property antenna_pattern
Get/set the antenna pattern
- Type:
- property array_size
Number of antennas in the array. Dual-polarized antennas are counted as a single antenna.
- Type:
int
- property normalized_positions
Get/set array of relative normalized positions
[ ] of each antenna. Dual-polarized antennas are counted as a single antenna and share the same position.- Type:
mi.Point3f
- property num_ant
Number of linearly polarized antennas in the array. Dual-polarized antennas are counted as two linearly polarized antennas.
- Type:
int
- positions(wavelength)[source]
Get the relative positions of all antennas (dual-polarized antennas are counted as a single antenna and share the same position).
Positions are computed by scaling the normalized positions of antennas by the
wavelength
.- Parameters:
wavelength (
float
) – Wavelength [m]- Return type:
mitsuba.Point3f
- Returns:
Relative antenna positions
[m]
- rotate(wavelength, orientation)[source]
Computes the relative positions of all antennas rotated according to the
orientation
Dual-polarized antennas are counted as a single antenna and share the same position.
Positions are computed by scaling the normalized positions of antennas by the
wavelength
and rotating byorientation
.- Parameters:
wavelength (
float
) – Wavelength [m]orientation (
mitsuba.Point3f
) – Orientation [rad] specified through three angles corresponding to a 3D rotation as defined in (3)
- Return type:
mitsuba.Point3f
- Returns:
Rotated relative antenna positions
[m]
- class sionna.rt.PlanarArray(*, num_rows, num_cols, vertical_spacing=0.5, horizontal_spacing=0.5, pattern, **kwargs)[source]
Class implementing a planar antenna array
The antennas of a planar array are regularly spaced, located in the y-z plane, and numbered column-first from the top-left to bottom-right corner.
- Parameters:
num_rows (
int
) – Number of rowsnum_cols (
int
) – Number of columnsvertical_spacing (
float
) – Vertical antenna spacing [multiples of wavelength]horizontal_spacing (
float
) – Horizontal antenna spacing [multiples of wavelength]pattern (
str
) – Name of a registered antenna pattern factory method (“iso” | “dipole” | “hw_dipole” | “tr38901”)
- Keyword Arguments:
polarization (
str
) – Name of a registered polarization (“V” | “H” | “VH” | “cross”)polarization_model (
str
) – Name of a registered polarization model (“tr38901_1” | “tr38901_2”). Defaults to “tr38901_2”.** (
Any
) – Depending on the chosen antenna pattern, other keyword arguments must be provided. See the Developer Guide for more details.
Example
from sionna.rt import PlanarArray array = PlanarArray(num_rows=8, num_cols=4, pattern="tr38901", polarization="VH") array.show()
- property antenna_pattern
Get/set the antenna pattern
- Type:
- property array_size
Number of antennas in the array. Dual-polarized antennas are counted as a single antenna.
- Type:
int
- property normalized_positions
Get/set array of relative normalized positions
[ ] of each antenna. Dual-polarized antennas are counted as a single antenna and share the same position.- Type:
mi.Point3f
- property num_ant
Number of linearly polarized antennas in the array. Dual-polarized antennas are counted as two linearly polarized antennas.
- Type:
int
- positions(wavelength)
Get the relative positions of all antennas (dual-polarized antennas are counted as a single antenna and share the same position).
Positions are computed by scaling the normalized positions of antennas by the
wavelength
.- Parameters:
wavelength (
float
) – Wavelength [m]- Return type:
mitsuba.Point3f
- Returns:
Relative antenna positions
[m]
- rotate(wavelength, orientation)
Computes the relative positions of all antennas rotated according to the
orientation
Dual-polarized antennas are counted as a single antenna and share the same position.
Positions are computed by scaling the normalized positions of antennas by the
wavelength
and rotating byorientation
.- Parameters:
wavelength (
float
) – Wavelength [m]orientation (
mitsuba.Point3f
) – Orientation [rad] specified through three angles corresponding to a 3D rotation as defined in (3)
- Return type:
mitsuba.Point3f
- Returns:
Rotated relative antenna positions
[m]