relocate_uts#

sionna.phy.channel.relocate_uts(ut_loc: torch.Tensor, sector_id: torch.Tensor, cell_loc: torch.Tensor) torch.Tensor[source]#

Relocate the UTs by rotating them into the sector with index sector_id and transposing them to the cell centered on cell_loc

sector_id gives the index of the sector to which the UTs are rotated to. The picture below shows how the three sectors of a cell are indexed.

../../../../_images/panel_array_sector_id.png

Fig. 12 Indexing of sectors#

If sector_id is a scalar, then all UTs are relocated to the same sector indexed by sector_id. If sector_id is a tensor, it should be broadcastable with [batch_size, num_ut], and give the sector in which each UT or batch example is relocated to.

When calling the function, ut_loc gives the locations of the UTs to relocate, which are all assumed to be in sector with index 0, and in the cell centered on the origin (0,0).

Parameters:
  • ut_loc (torch.Tensor) – UTs locations in the X-Y plane, shape [batch_size, num_ut, 2]

  • sector_id (torch.Tensor) – Indexes of the sector to which to relocate the UTs, broadcastable with [batch_size, num_ut]

  • cell_loc (torch.Tensor) – Center of the cell to which to transpose the UTs, broadcastable with [batch_size, num_ut, 2]

Outputs:

ut_loc – [batch_size, num_ut, 2], torch.float. Relocated UTs locations in the X-Y plane.