Antenna Arrays

classsionna.rt.AntennaArray(antenna_pattern,normalized_positions)[source]

Class implementing an antenna array

An antenna array is composed of antennas which are placed atdifferent 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 array

  • normalized_positions (mitsuba.Point3f) – Array of relative positions of eachantenna with respect to the position of the radio device,normalized by the wavelength.Dual-polarized antennas are counted as a single antennaand share the same position.

propertyantenna_pattern

Get/set the antenna pattern

Type:

AntennaPattern

propertyarray_size

Number of antennas in the array. Dual-polarized antennas are counted asa single antenna.

Type:

int

propertynormalized_positions

Get/set array of relative normalized positions\((x,y,z)\)[\(\lambda\)] of each antenna. Dual-polarized antennas are countedas a single antenna and share the same position.

Type:

mi.Point3f

propertynum_ant

Number of linearly polarized antennas in the array. Dual-polarizedantennas 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 thesame position).

Positions are computed by scaling the normalized positions of antennasby thewavelength.

Parameters:

wavelength (float) – Wavelength [m]

Return type:

mitsuba.Point3f

Returns:

Relative antenna positions\((x,y,z)\) [m]

rotate(wavelength,orientation)[source]

Computes the relative positions of all antennas rotated accordingto theorientation

Dual-polarized antennas are counted as a single antenna and share thesame position.

Positions are computed by scaling the normalized positions of antennasby thewavelength and rotating byorientation.

Parameters:
  • wavelength (float) – Wavelength [m]

  • orientation (mitsuba.Point3f) – Orientation [rad] specified through three anglescorresponding to a 3D rotation as defined in(3)

Return type:

mitsuba.Point3f

Returns:

Rotated relative antenna positions\((x,y,z)\) [m]

classsionna.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 they-z plane, and numbered column-first from the top-left tobottom-right corner.

Parameters:
  • num_rows (int) – Number of rows

  • num_cols (int) – Number of columns

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

  • **kwargs (Any) – Depending on the chosen antenna pattern, other keyword argumentsmust be provided.See theDeveloper Guide formore details.

Example

fromsionna.rtimportPlanarArrayarray=PlanarArray(num_rows=8,num_cols=4,pattern="tr38901",polarization="VH")array.show()
../../_images/antenna_array.png
propertyantenna_pattern

Get/set the antenna pattern

Type:

AntennaPattern

propertyarray_size

Number of antennas in the array. Dual-polarized antennas are counted asa single antenna.

Type:

int

propertynormalized_positions

Get/set array of relative normalized positions\((x,y,z)\)[\(\lambda\)] of each antenna. Dual-polarized antennas are countedas a single antenna and share the same position.

Type:

mi.Point3f

propertynum_ant

Number of linearly polarized antennas in the array. Dual-polarizedantennas 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 thesame position).

Positions are computed by scaling the normalized positions of antennasby thewavelength.

Parameters:

wavelength (float) – Wavelength [m]

Return type:

mitsuba.Point3f

Returns:

Relative antenna positions\((x,y,z)\) [m]

rotate(wavelength,orientation)

Computes the relative positions of all antennas rotated accordingto theorientation

Dual-polarized antennas are counted as a single antenna and share thesame position.

Positions are computed by scaling the normalized positions of antennasby thewavelength and rotating byorientation.

Parameters:
  • wavelength (float) – Wavelength [m]

  • orientation (mitsuba.Point3f) – Orientation [rad] specified through three anglescorresponding to a 3D rotation as defined in(3)

Return type:

mitsuba.Point3f

Returns:

Rotated relative antenna positions\((x,y,z)\) [m]

show()[source]

Visualizes the planar antenna array

Antennas are depicted by markers that are annotated with the antennanumber. The marker is not related to the polarization of an antenna.

Output:

matplotlib.pyplot.Figure – Figure depicting the antenna array