Main Content

scheduleNewTransmissionsUL

Class: nrScheduler

Schedule New UL Transmissions

Since R2024b

Description

ulGrants = scheduleNewTransmissionsUL(newradioscheduler,timeResource,frequencyResource,schedulingInfo) assigns frequency resources to the user equipment (UE) nodes for new uplink (UL) transmissions in a transmission time interval (TTI). The timeResource argument specifies the TTI. For a given TTI, the New Radio (NR) scheduler calls this function once it has met any retransmission needs for the UE nodes. Thus, not all frequency resources in the bandwidth remain available for new transmission scheduling within this transmission time interval (TTI).

Input Arguments

expand all

NR scheduler, specified as an object of a subclass of nrScheduler.

Time resource, specified as a structure representing the TTI, detailing the time symbols being scheduled by the scheduler. The structure contains these fields:

  • NFrame — Absolute frame number of the symbols being scheduled.

  • NSlot — Slot number within the frame NFrame that contains the symbols being scheduled

  • SymbolAllocation — Array with two elements [StartSym NumSym] that define the range of symbols being scheduled within the slot NSlot of the frame NFrame. The array contains these two elements:

    • StartSym — Start symbol number within the slot NSlot, marking the beginning of the TTI.

    • NumSym — Number of consecutive symbols being scheduled starting from StartSym. This defines the length of the TTI in terms of symbols

    .

Note

The fields NFrame, NSlot, and StartSym follow a zero-based numbering system.

Frequency resource, specified as one of these options.

  • When you set the ResourceAllocationType name-value argument of the configureScheduler function to 1 (RAT-1), FREQUENCYRESOURCE is a bit array with a length equal to the number of resource blocks (RBs) in the UL bandwidth. Each bit represents an resource block (RB). A bit value of 0 indicates that the corresponding RB is available for the new transmission scheduling, whereas a value of 1 indicates the RB is unavailable.

  • When you set the ResourceAllocationType name-value argument to 0 (RAT-0), FREQUENCYRESOURCE is a bit array with a length equal to the number of resource block groups (RBGs) in the UL bandwidth. Each bit represents an resource block group (RBG). A bit value of 0 indicates that the corresponding RBG is available for the new transmission scheduling, whereas a value of 1 indicates the RBG is unavailable. To determine the size of an RBG, the nrScheduler class uses Configuration 1 as described in TS 38.214,Table 5.1.2.2.1-1.

When retransmissions consume all frequency resources in a TTI, the scheduler does not invoke this function for that TTI.

Scheduling information, specified as a structure containing the information for scheduling decisions within a TTI. It comprises these fields:

  • EligibleUEs — Array containing the Radio Network Temporary Identifiers (RNTIs) of user equipment (UE) nodes eligible for allocation in the current TTI. This set comprises all UEs connected to the gNB, except those meeting any of these criteria:

    • The UE node has a scheduled retransmission in this TTI.

    • The UE node has no data queued.

    • The UE node has all its hybrid automatic repeat request (HARQ) processes blocked.

    When no UE nodes meet the eligibility criteria due to these conditions, the scheduler does not invoke this function.

  • MaxNumUsersTTI — Maximum number of UE nodes eligible for new transmissions within the TTI, adjusted for retransmissions. It equals the total maximum allowed users in a TTI minus the number of UEs scheduled for retransmissions in that TTI. For more information about the total maximum allowed users in a TTI, see the MaxNumUsersPerTTI name-value argument of the configureScheduler function. The scheduler calls this function if the value of this field is greater than zero.

    In addition to the information in schedulingInfo, the scheduler can use any other context from the scheduler object, newradioscheduler, to decide on resource allocation to UEs.

Output Arguments

expand all

Physical uplink shared channel (PUSCH) grants, returned as an array of structures. The number of elements in the array must not exceed the MaxNumUsersTTI field of the schedulingInfo argument. Each structure element represents one PUSCH grant for a UE node and contains these fields:

  • RNTI — Radio network temporary identifier of the UE node. This RNTI must belong to the EligibleUEs field of the schedulingInfo argument.

  • FrequencyAllocation — Frequency allocation for the UE node, returned as one of these options:

    • For RAT-1, it is a vector of two elements indicating the start RB and the number of RBs, with the start RB following a zero-based numbering system.

    • For RAT-0, it is a bit vector with a length equal to frequencyResource. A value of 1 at an index indicates that the scheduler has allocated the corresponding RBG to the UE node.

  • MCSIndex — Selected modulation and coding scheme, represented as a zero-based row index in the MCS table as described in the TS 38.214, Table 5.1.3.1-2 [1]. The value of the MCSIndex field is an integer in the range [0, 27].

  • NumLayers — Number of transmission layers, returned as an integer in the range [1, 4]. The value of this field must be less than or equal to the NumTransmitAntennas property of UEContext with the corresponding RNTI.

  • TPMI — Transmitted precoding matrix indicator, returned as an integer in the range [0, 27]. The valid range of TPMI depends on the specified NumLayers and the assumption that the number of antenna ports equals the NumTransmitAntennas property of UEContext with the corresponding RNTI. For more information about TPMI, see TS 38.211, Tables 6.3.1.5-1 to 6.3.1.5-7.

References

[1] 3GPP TS 38.321. “NR; Medium Access Control (MAC) protocol specification.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 3GPP TS 38.214. “NR; Physical layer procedures for data.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Version History

Introduced in R2024b