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.ObjectAntenna 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,
precisionis used.device (str | None) – Device for computation (e.g.,
"cpu","cuda:0"). If None,deviceis 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 slant_angle: torch.Tensor#
Polarization slant angle [radian]