4G/LTE - BL/CE

 

 

 

LTE-BL/CE (LTE-M1) - MCS/TBS Determination

 

A grant does not carry a transport block size. It carries a small index, and both the UE and the network turn that index into a size by looking it up the same way. Getting the same answer at both ends is the whole point, so the lookup is specified down to which table and which column.

LTE-M1 keeps the legacy tables and changes what feeds them. The modulation and coding scheme field is narrower than a legacy UE's. The mapping from that field to a transport block size index is its own. And the resource block count that selects the column is capped by the narrowband. Those three differences are what this page is about.

Followings are the topics to be covered in this page.

Downlink TBS Determination

TBS (Transport Block Size) for BL/CE UE is determined by 36.213 Table 7.1.7.2.1-1: Transport block size table as in legacy LTE. The difference between M1 and legacy LTE lies in mapping between I_MCS and I_TBS and the possible range of I_MCS.

 

36.213-7.1.7 Modulation order and transport block size determination states as follows :

  • When PDSCH is scheduled by DCI format 6-1A
    • the number of MCS field is 4, it means the maximum MCS is 15
  • When PDSCH is scheduled by DCI format 6-2
    • the number of MCS field is 3, it means the maximum MCS is 7
  • When PDSCH is scheduled by DCI format 6-1B
    • the number of MCS field is 4 and I_MCS = I_TBS
  • When PDSCH is to carry SystemInformationBlockType1-BR

Reading those four together, the pattern is the width of the field rather than the meaning of it. A narrower modulation and coding scheme field cannot reach as far up the table. The format a grant arrives in therefore caps the transport block size before anything else is considered.

Paging is the tightest case. DCI format 6-2 carries only three bits, so the index never exceeds 7. The paging message is limited to the lower part of the table whatever the radio conditions are. That is a deliberate floor on decoding cost for a UE that wakes briefly and has to decode a candidate before it knows anything.

Format 6-1B is the odd one in the other direction. It reads four bits like 6-1A does. The specification then sets the transport block size index equal to the modulation and coding scheme index, rather than mapping through a table. CE mode B has only one modulation to offer, so a mapping step would have nothing to decide.

  • The DCI format sets the ceiling : three bits for 6-2 and four for the rest, so a paging grant can never reach the transport block sizes a unicast grant can.
  • 6-1B skips the mapping : the transport block size index is the modulation and coding scheme index, because CE mode B sends QPSK and nothing else.
  • SIB1-BR does not use a DCI at all : its index comes from schedulingInfoSIB1-BR in the MIB, which is the only source available before any control channel has been read.
  • The table is the legacy one : 36.213 Table 7.1.7.2.1-1 is what a legacy UE uses too, so only the route into it is specific to LTE-M1.

Uplink TBS Determination

The uplink answer is shorter, because there is only one table to read and it is printed below in full. What it settles is two things at once: the modulation the UE transmits with, and the index it carries into the transport block size table.

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.

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

36.213 Table 8.6.1-2 with sixteen MCS index rows, the modulation order 2 or 4, and the resulting TBS index

36.213 Table 8.6.1-2. Sixteen rows for a four bit field, with the modulation order changing once, at MCS index 11.

  • The first eleven rows are QPSK : modulation order 2 for MCS index 0 through 10, and over that range the transport block size index is simply the MCS index.
  • The last five rows are 16QAM : modulation order 4 for MCS index 11 through 15, and there the transport block size index is the MCS index minus one.
  • Transport block size index 10 appears twice : once at MCS index 10 with QPSK and once at MCS index 11 with 16QAM, so the same transport block can be sent either way.
  • The table stops at modulation order 4 : there is no 64QAM row at all, which matches the uplink capability of Category M1 and M2.
  • The highest reachable index is 14 : MCS index 15 is the top of a four bit field, and it maps to transport block size index 14 rather than 15.

That duplicated row is the useful one. A UE told to use MCS index 10 and a UE told to use 11 carry the same number of bits. The second spends fewer resource blocks to do it, and needs a better signal to be decoded. The network therefore has a way to trade bandwidth against reliability without changing the transport block size at all.

The restriction the section above states now reads differently as well. A CE mode B UE is not expected to receive a modulation and coding scheme index of 10 or above, so it never reaches row 11 and never transmits 16QAM. CE mode B is QPSK only, and this table is what makes it so rather than a separate rule.

  • CE mode B is QPSK by consequence, not by decree : capping the index below 10 keeps the UE in the modulation order 2 rows of this table.
  • Two indices, one size : the repeated transport block size index is how the network trades resource blocks against required signal quality.
  • The random access grant is excluded : the page states this above, and a PUSCH scheduled by a Random Access Response follows its own rule rather than this table.

From index to transport block size

Both sections above stop at an index, and an index is not a size. 36.213 needs a second number before it can name one, and that second number is the one the sections above never mention. It is the column of the table rather than the row.

36.213 Table 7.1.7.2.1-1 is two dimensional. The transport block size index chooses a row, a resource block count chooses a column, and the transport block size is the value where they meet. A grant therefore carries half the answer, and the allocation carries the other half.

A transport block size needs two inputs, not one Modulation and coding scheme 3 or 4 bits, from the DCI, or from schedulingInfoSIB1-BR Resource block count the allocation, capped at 6 by the narrowband a BL UE is tuned to TBS index picks the row Column indicator picks the column Transport block size the cell where the two meet Only the first input is carried in the grant. The second comes from the allocation, and a BL UE can never push it past 6.

Figure 1. The lookup in both directions. The modulation and coding scheme field is the only part a grant carries. The column comes from how many resource blocks were allocated, and the narrowband is what limits it.

This is where the narrowband matters. A BL UE is tuned to six resource blocks, so an ordinary unicast allocation never selects a column beyond six. The whole right hand side of the legacy table is unreachable. Everything the category tables say about a Category M1 transport block size follows from that one cap rather than from a separate limit.

The second step is also where 36.213 stops sending every case to the same table. For an ordinary unicast grant it sets the column indicator to the number of allocated resource blocks and uses Table 7.1.7.2.1-1. For three other cases it does something else, and the page opening is correct only for the first of them.

Case

Where the transport block size comes from

Ordinary unicast PDSCH

Table 7.1.7.2.1-1, with the column indicator set to the allocated resource block count

PDSCH assigned by DCI format 6-2

Table 7.1.7.2.3-1, a different table

PDSCH carrying SystemInformationBlockType1-BR

Clause 7.1.7.2.7

PDSCH assigned by DCI format 6-1B

Clause 7.1.7.2.6, unless a wider maximum PDSCH bandwidth is configured

DCI format 6-1A with CRC scrambled by RA-RNTI

Table 7.1.7.2.1-1, with the column indicator taken from 36.212 clause 5.3.3.1.12

The second step of 36.213 7.1.7 for a BL/CE UE. Only the first row is the legacy lookup; paging, SIB1-BR and CE mode B each have a route of their own.

None of this contradicts the sentence this page opens with. Table 7.1.7.2.1-1 is the table for user data, which is the case a reader usually arrives with. It is worth knowing that paging and system information take a different road, because a bit count derived from the wrong table will not match a log.

  • A transport block size needs a row and a column : the modulation and coding scheme field supplies only the row.
  • The narrowband caps the column : six resource blocks is the widest ordinary allocation, so most of the legacy table is unreachable for a Category M1 UE.
  • Three cases leave Table 7.1.7.2.1-1 behind : DCI format 6-2, SIB1-BR and DCI format 6-1B each point somewhere else.
  • A random access grant takes its column from the DCI definition : 36.212 clause 5.3.3.1.12 supplies it rather than the allocation.

What changed after Release 13

Both references at the foot of this page are stamped V13.2.0, and the clause they point at has grown since. The four cases in the downlink section are still there and still correct, but DCI format 6-1A no longer has only one way of being read.

Release 15 added a wider field, under three conditions at once. The UE has to be configured with ce-PDSCH-64QAM-Config, the DCI has to arrive in the UE specific search space, and the repetition number field has to indicate repetition level 1. 36.213 then tells the UE to read a 5-bit extended modulation and coding scheme field rather than the 4-bit one. A wider field is what a 64QAM table needs, because the extra modulation adds rows.

Release 16 added a second branch to the same format. When the Scheduling TBs for Unicast field is present and the DCI schedules 4 or 6 transport blocks, the UE goes back to reading the 4-bit field. Multi transport block scheduling and the extended field are alternatives rather than a pair.

The uplink table is untouched. 36.213 Table 8.6.1-2 in the current specification is row for row the table pictured above, so the screenshot on this page is still accurate.

Release

What 36.213 7.1.7 gained

Field

Rel-13

The four cases this page lists, with a 4-bit modulation and coding scheme field for 6-1A and 6-1B and a 3-bit field for 6-2

-

Rel-15

A 5-bit extended modulation and coding scheme field for 6-1A, read when 64QAM is configured, the DCI is in the UE specific search space and the repetition level is 1

ce-PDSCH-64QAM-r15

Rel-16

A multi transport block branch for 6-1A, where 4 or 6 transport blocks are scheduled by one DCI and the 4-bit field is read again

ce-PDSCH-MultiTB-Config-r16

Compared against 36.213 v19.4.0, with each release dated by the suffix of the field that configures it in 36.331. Both additions sit on DCI format 6-1A and neither changes the other three cases.

  • The four downlink cases still hold : nothing on this page has been withdrawn, and a Release 13 network behaves exactly as described.
  • 6-1A is the format that grew : it can now be read with a 4-bit or a 5-bit modulation and coding scheme field depending on what is configured.
  • A wider field came with a wider modulation : 64QAM needs rows the 4-bit field cannot reach, so the extended field arrived with it.
  • The uplink table has not moved : 36.213 Table 8.6.1-2 is unchanged, so the picture on this page needs no correction.

Reference

The clauses and tables this page is built on, and the versions they were checked against.

[1] 3GPP TS 36.331 V13.2.0 (2016-06)

[2]3GPP TS 36.213 V13.2.0 (2016-06) Physical layer procedures

[3] 3GPP TS 36.213 v19.4.0 - clause 7.1.7 for the downlink and clauses 8.6.1 and 8.6.2 for the uplink, with Table 8.6.1-2

[4] 3GPP TS 36.212 v19.3.0 - clause 5.3.3.1.12, the DCI format 6-1A definition the random access column indicator comes from

[5] 3GPP TS 36.331 v19.3.0 - the ce-PDSCH-64QAM and ce-PDSCH-MultiTB-Config fields