is_scheduled_in_slot#

sionna.sys.is_scheduled_in_slot(sinr: torch.Tensor | None = None, num_allocated_re: torch.Tensor | None = None) torch.Tensor[source]#

Determines whether a user is scheduled in a slot.

Parameters:
  • sinr (torch.Tensor | None) – SINR for each OFDM symbol, subcarrier, user, and stream. If None, then num_allocated_re is required.

  • num_allocated_re (torch.Tensor | None) – Number of allocated resources (streams/REs/PRBs etc.) per user. If None, then sinr is required.

Outputs:

is_scheduled – […, num_ut], torch.bool. Whether a user is scheduled in a slot.

Examples

import torch
from sionna.sys.utils import is_scheduled_in_slot

# Using SINR input
sinr = torch.rand(2, 14, 52, 4, 2)  # [batch, symbols, subcarriers, users, streams]
is_sched = is_scheduled_in_slot(sinr=sinr)
print(is_sched.shape)
# torch.Size([2, 4])

# Using num_allocated_re input
num_re = torch.tensor([10, 0, 5, 8])  # 4 users, 2nd not scheduled
is_sched = is_scheduled_in_slot(num_allocated_re=num_re)
print(is_sched)
# tensor([ True, False,  True,  True])