4G/LTE - BL/CE

 

 

 

MAX Throughput

 

Just in terms of theoretical throughput, M1 Downlink Max throughput is same as DL Category 0 which is 1 Mbps, but considering the repetivity scheduling, MPDCCH and PDSCH in separate subframes, Half Duplex operation, it will not be easy to achieve this throughput. The practical throughput may vary widely depending on DL / UL scheduling.

This page works through that gap in three steps. The first is the peak rate that the UE category allows. The second is the list of configuration choices that take subframes away from user data. The third is one half duplex scheduling pattern, where you can check the numbers subframe by subframe.

Followings are the topics to be covered in this page.

What limits the peak rate of a Cat M1 UE ?

The peak rate starts from the UE category, not from the bandwidth. A Cat M1 UE works in a 1.4 MHz narrowband, but the category caps the transport block it has to handle in one TTI. So the category table sets the ceiling, and scheduling decides how close the UE gets to it.

Downlink transport block size

The downlink limit comes from 36.306 Table 4.1A-1, which sets the largest transport block each UE category receives in one TTI. The row that matters here is DL Category M1, and the screenshot shows it next to Category 0 for comparison.

< 36.306 v13.4 - Table 4.1A-1: Downlink physical layer parameter values set by the field ue-CategoryDL >   

36.306 Table 4.1A-1 with the DL Category M1 row highlighted above DL Category 0

DL Category M1 carries the same limits as Category 0: 1000 bits per TTI and 25344 soft channel bits. One transport block in every 1 ms TTI gives the 1 Mbps peak.

  • 1000 bits per TTI : both the total and the single transport block limit are 1000 bits, so a second transport block adds nothing.
  • One layer : Cat M1 supports no spatial multiplexing in the downlink.
  • Same as Category 0 : the highlighted M1 row and the Category 0 row below it carry the same values.

The screenshot comes from 36.306 v13.4. In 36.306 v19.3.0 the M1 row reads 1000 or 1736 bits, and 25344 or 43008 soft channel bits. The larger values apply when the UE indicates ce-PDSCH-MaxTBS-r17. Release 14 also added DL Category M2, with 4008 bits per TTI and 73152 soft channel bits.

Uplink modulation and TBS

The uplink limit works the same way, and 36.306 Table 4.1A-2 caps UL Category M1 at 1000 bits per TTI. 36.213 then decides how the UE reaches that size, through the MCS index in DCI format 6-0A and the table below.

36.213-8.6.1 Modulation order and redundancy version determination  and 8.6.2 Transport block size determination states as follows :

  • The modulation order is determined according to following table.  CEModeB UE is not expected to receive a DCI format 6-0B indicating I_MCS >= 10.
  • For CEModeA, TBS of a user data PUSCH (except PUSCH scheduled by Random Access Response) is determined by following table. (For the details of TBS allocation, refer to MCS/TBS Determination page)

< 36.213-Table 8.6.1-2: Modulation and TBS index table for PUSCH >

36.213 Table 8.6.1-2, MCS index 0 to 15 with modulation order and TBS index for PUSCH

The MCS index runs from 0 to 15. Indices 0 to 10 use QPSK, and indices 11 to 15 use 16QAM with TBS indices 10 to 14.

  • 16QAM starts at MCS 11 : MCS 10 and MCS 11 share TBS index 10, so the step between them changes only the modulation.
  • CE mode B uses MCS 0 to 9 : 36.213 does not expect a DCI format 6-0B that indicates an MCS index of 10 or more.
  • 1000 bits is still the ceiling : UL Category M1 limits the transport block to 1000 bits, whatever the MCS.

In 36.306 v19.3.0, UL Category M1 reads 1000 or 2984 bits. The UE supports 2984 bits if it indicates ce-PUSCH-NB-MaxTBS-r14. For a UE in CE mode A with ce-pusch-nb-maxTbs-config on, 36.213 then takes the modulation order from Table 8.6.1-2A for PUSCH scheduled in the UE-specific search space. UL Category M2 allows 6968 bits.

What reduces the throughput in practice ?

The category sets a ceiling, but a Cat M1 UE rarely reaches it. Every subframe that carries system information, MPDCCH or a duplex gap is a subframe without user data. The list below names the configuration choices that decide how many subframes remain.

As mentioned above, real max throughput for user data can vary greatly depending on how eNB schedule the DL / UL transmission. General factors to influence the max throughput for user data are as follows :

Most items on the list work in the same way. They reserve subframes, or parts of the narrowband, for something other than user data. Half duplex operation has the largest effect. It adds guard subframes and splits the remaining time between downlink and uplink. The next section puts numbers on that.

  • Duplex mode matters most : a half duplex UE never receives and transmits in the same subframe, and it needs a guard subframe at each switch.
  • System information takes whole subframes : SIB1-BR repetitions and SI windows are not available for user data.
  • MPDCCH competes with PDSCH : with a 6 RB allocation, a subframe that carries MPDCCH for the UE cannot carry its PDSCH.
  • The subframe bitmaps can remove subframes : fdd-DownlinkOrTddSubframeBitmapBR-r13 and fdd-UplinkSubframeBitmapBR-r13 decide which subframes BL/CE transmissions use.

How much can half duplex scheduling deliver ?

A scheduling pattern turns the list above into a number. The table below is one 10 ms pattern for a half duplex UE, with every channel placed in its subframe. Read it as a worked example of the timing rules, not as the only possible pattern.

Following is one example of scheduling pattern for user data. If we assume that eNB assing max TBS (i.e, 1000) the throughput will be around 300 Kbps DL and 300 Kbps UL.

< Example of User Traffic scheduling in Half Duplex mode >

Sub Frame

Transmitted Channel

Direction

PDSCH

MPDCCH(DL)

MPDCCH(UL)

PUSCH/PUCCH

0

 

 

 

 

UE

<--------------

eNB

1

 

 

 

 

UE

<--------------

eNB

2

 

 

 

 

UE

<--------------

eNB

3

 

 

 

 

UE

Half Duplex GAP(Type B)

eNB

4

 

 

 

 

UE

-------------->

eNB

5

 

 

 

 

UE

-------------->

eNB

6

 

 

 

 

UE

-------------->

eNB

7

 

 

 

 

UE

Half Duplex GAP(Type B)

eNB

8

 

 

 

 

UE

<--------------

eNB

9

 

 

 

 

UE

<--------------

eNB

Three subframes carry PDSCH and three carry PUSCH in every 10 ms. Two guard subframes and two MPDCCH-only subframes take the rest.

The pattern follows two timing rules. A DCI 6-1A schedules PDSCH two subframes after the MPDCCH, so the MPDCCH (DL) in subframes 8, 9 and 0 schedules the PDSCH in subframes 0, 1 and 2. A DCI 6-0A schedules PUSCH four subframes after the MPDCCH, so the MPDCCH (UL) in subframes 0, 1 and 2 schedules the PUSCH in subframes 4, 5 and 6. The HARQ-ACK for each PDSCH also returns four subframes later, on the PUCCH in subframes 4, 5 and 6.

The arithmetic is then simple. Three transport blocks of 1000 bits in 10 ms give 300 kbps in each direction, which is the figure above. Subframe 0 carries PDSCH and both MPDCCHs at once. That works only when MPDCCH and PDSCH share the narrowband, as in the 2 + 4 RB allocation of the list above.

Release 14 added two CE mode A options for FDD. The field ce-PDSCH-TenProcesses-r14 configures 10 DL HARQ processes instead of 8, and ce-HARQ-AckBundling-r14 activates PDSCH HARQ-ACK bundling in half duplex FDD. The pattern in the table uses neither of them.

  • 3 of 10 subframes in each direction : PDSCH in subframes 0 to 2, and PUSCH in subframes 4 to 6.
  • Two guard subframes : subframes 3 and 7 carry nothing, because the UE switches between receiving and transmitting.
  • DL grants run two subframes ahead : MPDCCH (DL) in subframes 8, 9 and 0 schedules PDSCH in subframes 0, 1 and 2.
  • UL grants run four subframes ahead : MPDCCH (UL) in subframes 0, 1 and 2 schedules PUSCH in subframes 4, 5 and 6.
  • 300 kbps assumes the maximum TBS : a smaller TBS lowers the figure in proportion.

Reference

[1]

[2] 3GPP TS 36.306 v19.3.0 - Table 4.1A-1 and Table 4.1A-2, the DL and UL physical layer parameters for UE categories M1 and M2

[3] 3GPP TS 36.213 v19.4.0 - clause 8.6.1 with Table 8.6.1-2 and Table 8.6.1-2A

[4] 3GPP TS 36.331 v19.3.0 - field descriptions of ce-PDSCH-TenProcesses and ce-HARQ-AckBundling