AntennaElement#

class sionna.phy.channel.tr38901.AntennaElement(pattern: str, slant_angle: float = 0.0, precision: str | None = None, device: str | None = None)[source]#

Bases: sionna.phy.object.Object

Antenna element following the [TR38901V1920] specification

Parameters:
  • pattern (str) – Radiation pattern. One of "omni", "38.901", or "38.901-handheld". The "38.901" pattern follows Table 7.3-1 of TR 38.901 [TR38901V1920]. The "38.901-handheld" pattern follows Table 7.3-2 of [TR38901V1920] for handheld UT antenna elements.

  • slant_angle (float) – Polarization slant angle [radian]

  • precision (str | None) – Precision used for internal calculations and outputs. If set to None, precision is used.

  • device (str | None) – Device for computation (e.g., "cpu", "cuda:0"). If None, device is used.

Examples

from sionna.phy.channel.tr38901 import AntennaElement
import torch

# Create an antenna element with 38.901 radiation pattern
ant = AntennaElement(pattern="38.901", slant_angle=0.0)

# Compute field at zenith angle pi/2 and azimuth angle 0
theta = torch.tensor([1.5708])
phi = torch.tensor([0.0])
f_theta, f_phi = ant.field(theta, phi)

Methods

field(theta: torch.Tensor, phi: torch.Tensor) Tuple[torch.Tensor, torch.Tensor][source]#

Field pattern in the vertical and horizontal polarization (7.3-4/5)

Parameters:
  • theta (torch.Tensor) – Zenith angle wrapped within (0, pi) [radian]

  • phi (torch.Tensor) – Azimuth angle wrapped within (-pi, pi) [radian]

Attributes

property pattern: str#

Radiation pattern type.

show() None[source]#

Shows the field pattern of an antenna element

property slant_angle: torch.Tensor#

Polarization slant angle [radian]