4G/LTE - UL Grant

 

 

 

UL Grant

 

UL Grant is a specific physicall controntrol channel information from Network (eNodeB) telling a UE "Now you can transmit data" (More accurately saying "You can transmit the data 4 ms after you got this grant").

UL Grant is another name of DCI format 0. (Many people get confused by the name of "DCI format 0". They think DCI format 0 would be some information about downlink data transmission, but keep in mind that DCI format 0 is a control information about uplink data transmission).

Let's keep one picture in mind for the whole page. The UE never decides by itself where and how to send uplink data. It waits for the eNodeB to tell it which resource blocks to use, which MCS to apply and whether the data is new or a retransmission. The UL grant is that instruction. This page first reads the fields of one decoded DCI format 0. Then it follows the steps from the grant to the PUSCH. Finally, it lists the other places where an UL grant can come from.

What does DCI format 0 carry ?

UL Grant (DCI format 0) carries the following information and the most important information is 'Resource Allocation' and MCS. UE should transmit the data using RBs and MCS specified in this DCI 0.

The image below is a decoded DCI format 0 for a 10 MHz cell, as a protocol analyzer shows it. Each line is one field of the DCI. The value column shows the decoded value, not the raw bits. The resource allocation is shown as a nonHopping branch with a single RIV value, because the hopping flag is 0 in this grant.

 

DCI format 0 decoded for a 10 MHz cell, RIV 270 and MCS 8

A single DCI format 0 gives the UE everything it needs for one PUSCH transmission. Here it is 6 resource blocks from RB 20, with MCS 8.

  • Format0-1A-Flag = DciFormat0 : DCI format 0 and DCI format 1A have the same size, so this 1-bit flag tells the UE which of the two it has decoded. The value 0 means format 0.
  • ResoureAllocation = nonHopping, RIV 270 : the hopping flag is 0, so the RIV is read as a contiguous allocation. With 50 RBs in 10 MHz, RIV 270 means a start at RB 20 and a length of 6 RBs. The next section shows the calculation.
  • MCS = 8 : for PUSCH, MCS 0 to 10 use QPSK and the TBS index equals the MCS index. So the UE uses QPSK and TBS index 8.
  • NDI = 1 : the UE compares this bit with the NDI of the previous grant for the same HARQ process. A toggled bit means new data. The same value means a retransmission.
  • TPC = 01 : with accumulated power control, the value 01 means 0 dB, so the UE keeps its PUSCH power. With absolute power control, 01 would mean -1 dB.
  • CyclicShift = 000 : this selects the cyclic shift and the OCC of the uplink DMRS. The eNodeB uses different values when it schedules two UEs on the same RBs for uplink MU-MIMO.
  • UlIndex-or-DAI = 00 : this field exists only when the primary cell is TDD, so the capture comes from a TDD cell. It is the UL index for TDD configuration 0 and the DAI for TDD configurations 1 to 6.
  • CqiRequest = 0 : the eNodeB does not ask for an aperiodic CSI report on this PUSCH. With the value 1, the UE would send the report on the same PUSCH.

The field list above is the short form of DCI format 0. TS 36.212 adds optional fields that appear only with certain features. The carrier indicator appears with cross-carrier scheduling, the SRS request in the UE-specific search space, and a resource allocation type bit that can select uplink resource allocation type 1. So a DCI format 0 from a Carrier Aggregation UE can be a few bits longer than the one in the image. When format 0 is shorter than format 1A, the eNodeB appends zeros to it until the two sizes are equal.

  • Resource allocation and MCS are the core of the grant : together they set the RBs, the modulation and the transport block size.
  • NDI decides new data or retransmission : the UE reads it per HARQ process, so the same bit value can mean different things for different processes.
  • The field list depends on the configuration : duplex mode, carrier aggregation and SRS configuration all add or remove fields.

How does the UE turn the grant into a PUSCH transmission ?

A UE that has decoded the grant still has three questions to answer before it can transmit. Which RBs are allocated? How many bits go into the transport block? In which subframe does the PUSCH go out? Let's answer them one by one with the values from the image above.

First, the RBs. For uplink resource allocation type 0, the RIV encodes a start RB, RBSTART, and a number of contiguous RBs, LCRBs. When (LCRBs - 1) is not more than ⌊NRBUL / 2⌋, TS 36.213 defines RIV = NRBUL (LCRBs - 1) + RBSTART. For 10 MHz, NRBUL is 50. RIV 270 divided by 50 gives 5 with a remainder of 20. So LCRBs is 6 and RBSTART is 20, and the UE transmits on RB 20 to RB 25.

Second, the transport block size. Table 8.6.1-1 of TS 36.213 maps MCS 8 to modulation order 2, which is QPSK, and to TBS index 8. Table 7.1.7.2.1-1 then gives 808 bits for TBS index 8 with 6 PRBs. So this grant carries a transport block of 808 bits, or 101 bytes, before the 24-bit CRC is attached. The UE MAC fills this transport block with the data waiting in its buffer, following the logical channel priorities.

Third, the timing. In FDD, a grant received in subframe n is used for the PUSCH in subframe n+4. This is the 4 ms in the opening paragraph. A UE configured with shortProcessingTime can use n+3 for a grant in the UE-specific search space. In TDD, the gap is k subframes from Table 8-2 of TS 36.213, and k is between 4 and 7 depending on the TDD configuration and the subframe. For TDD configuration 0, the UL index field tells the UE which of the two possible UL subframes the grant is for.

After the PUSCH, the eNodeB answers on PHICH with ACK or NACK. For a NACK without a new grant, the UE retransmits on the same RBs, which is a non-adaptive retransmission. If the eNodeB wants to change the RBs or the MCS, it sends a new DCI format 0 with the NDI not toggled, which is an adaptive retransmission.

  • RIV packs the start and the length into one number : for RIV 270 in a 50 RB cell, the start is RB 20 and the length is 6 RBs.
  • MCS and the number of RBs give the TBS : MCS 8 with 6 RBs is 808 bits.
  • FDD uses a fixed 4 ms gap : TDD uses a gap between 4 and 7 subframes from Table 8-2 of TS 36.213.
  • A retransmission does not always need a new grant : a PHICH NACK alone triggers a non-adaptive retransmission.

Which other messages carry an UL grant ?

The opening paragraph calls the UL grant another name of DCI format 0. That was the full picture in Release 8. Later releases added more DCI formats that schedule PUSCH, and one UL grant never comes in a DCI at all. Let's list them, because a log will show all of them under the name UL grant.

The first is the Random Access Response grant. During random access, the UE has no C-RNTI yet, so the eNodeB sends the grant for Msg3 inside the MAC RAR on PDSCH. TS 36.213 defines it as 20 bits. It carries a 1-bit hopping flag, a 10-bit fixed size resource block assignment, a 4-bit truncated MCS, a 3-bit TPC command, a 1-bit UL delay and a 1-bit CSI request.

The second is DCI format 4, added in Release 10 for uplink MIMO. It schedules PUSCH with multi-antenna port transmission, so it carries two sets of MCS and NDI, one per transport block, and a precoding information field. The third group is DCI formats 0A, 0B, 4A and 4B for PUSCH on a LAA SCell. Formats 0B and 4B can schedule PUSCH in several subframes with one DCI.

The remaining formats serve other UE types. DCI format 6-0A and DCI format 6-0B schedule PUSCH for BL/CE UEs, which are the LTE-M UEs, on MPDCCH. DCI format N0 schedules NPUSCH for NB-IoT. DCI formats 7-0A and 7-0B schedule PUSCH with slot or subslot duration for short TTI. Finally, a configured grant for UL SPS is activated once by a DCI format 0 with CRC scrambled by the SPS C-RNTI. The UE then uses the same resource periodically without a new DCI.

  • The RAR grant is not a DCI : it is 20 bits inside the MAC Random Access Response, and it schedules Msg3.
  • DCI format 4 is the UL MIMO grant : it carries a precoding field and two transport block fields.
  • Each UE type has its own grant format : 6-0A and 6-0B for LTE-M, N0 for NB-IoT, and 7-0A and 7-0B for short TTI.
  • An SPS grant is sent once and used many times : DCI format 0 with the SPS C-RNTI activates it.

Reference

[1] 3GPP TS 36.212 v19.3.0 - E-UTRA, Multiplexing and channel coding, clause 5.3.3.1

[2] 3GPP TS 36.213 v19.4.0 - E-UTRA, Physical layer procedures, clauses 5.1.1.1, 6.2, 8.0, 8.1.1 and 8.6