Pages

LTE Modulation Order, MCS, and TBS

LTE UE would use MCS (Modulation Coding Scheme) index for modulation order for both PDSCH and PUSCH. If modulation order is 2, 4 (2 powered by 2) different digit values come and it turns out QPSK in digital modulation scheme. If modulation order is 4, 16 (2 powered by 4) different values come indicating 16QAM.
Depending on what MCS Index is determined, the modulation order and transport block size (TBS) would be achieved according to Section 7.1.7 for PDSCH and Section 8.6 for PUSCH in TS36.213.


MCS for PDSCH


UE shall use MCS index (IMCS) to determine modulation order (Qm) used in PDSCH. Each MCS Index is mapped to TBS index in Table 7.1.7.1-1 in TS36.213 and TBS size would be achieved by the procedure in  Section 7.1.7.2.1 using Table 7.1.7.2.1-1 to be more accurate unless a transport block is mapped to two-layer spatial multiplexing, which can be done in Section 7.1.7.2.2.


Here is the procedure explained in Section 7.1.7.2.1 using Table 7.1.7.2.1-1 in TS36.213.




If 29 ≤ IMCS ≤ 31, TBS index would be assumed to be determined by the DCI transported in the latest PDCCH for the same transport block using IMCS ≤ 28.

In DCI format 2 and 2A, if IMCS = 0, && rvidx = 1, a transport block is disabled.


MCS for PUSCH


UE would read 5-bit "modulation and coding scheme and redundancy version" in the DCI and follow the MCS index (IMCS).

For 0 ≤ IMCS ≤ 28, UE would determine TBS index (ITBS) using MCS index (IMCS) in Table 8.6.1-1 in TS36.213. As you may noticed, Q'm (Q prime m) is used in the table so Q'm could be the same as Qm and could not sometimes.
If UE is not capable of 64QAM in PUSCH like most of devices as of now, early 2016, the modulation order (Q'm) would first read from Table 8.6.1-1 and then the final modulation order (Qm) can be set Qm = min(4, Q'm). In this case, UE may use MCS index >20 and Q'm would be 6 indicating 64QAM, but the final modulation order (Qm) would be 4 indicating 16QAM. Most of LTE devices seem like supporting MCS index up to 23 and it turns out Qm =2 (16QAM) is used.
If UE is capable of 64QAM in PUSCH, the modulation order would be given by Q'm, which is first read from Table 8.6.1-1 in TS36.213. How would LTE base station (eNB) side know of? This would be explained a bit later below.

Here is the procedure how to find TBS for PUSCH in TS36.213.



For 29 ≤ IMCS ≤ 31, if IMCS =29 && "CQI request" bit in the DCI format 0 && number of RB ≤ 4, the modulation order would be set to Q= 2. Otherwise it would be determined by the latest with DCI format 0 in PDCCH, which used 0 ≤ IMCS ≤ 28.

For Table A.2.2.1.1-1 in TS35.521, LTE RF test specifications, all payload size is defined by this procedure I described above. The TS35.521 defines lots of combination regarding RMC (Reference Measurement Channel) in Table A.2.2.x.x-x, A.2.3.x.x-x, and A.2.3.3-1 in TS36.521 can be unified to the table below for all available UL RMC RBs.




64QAM for PUSCH and 256QAM for PDSCH


If UE is capable of 64QAM for PUSCH, it can be notified in blue with UE Capability Information message below. Once it is notified and eNB is ready to do, PUSCH 64QAM would be transmitted.

UE-EUTRA-Capability [11]
  ...
                nonCriticalExtension [011]
                  phyLayerParameters-v1170 []
                  ue-Category-v1170 [9]
                  nonCriticalExtension [00001]
                    rf-Parameters-v1180 []
                    mbms-Parameters-r11 []
                    fdd-Add-UE-EUTRA-Capabilities-v1180 []
                    tdd-Add-UE-EUTRA-Capabilities-v1180 []
                    nonCriticalExtension [101]
                      ue-Category-v11a0 [11]
                      measParameters-v11a0 []
                      nonCriticalExtension [010000000000000]
                        phyLayerParameters-v1250 []
                        rf-Parameters-v1250 [1000]
                          supportedBandListEUTRA-v1250 [5]
                            SupportedBandEUTRA-v1250 [10]
                              dl-256QAM-r12 [supported]
                              ul-64QAM-r12 [supported]
                            SupportedBandEUTRA-v1250 [11]
                              dl-256QAM-r12 [supported]
                              ul-64QAM-r12 [supported]
                            SupportedBandEUTRA-v1250 [11]
                              dl-256QAM-r12 [supported]
                              ul-64QAM-r12 [supported]
                            SupportedBandEUTRA-v1250 [11]
                              dl-256QAM-r12 [supported]
                              ul-64QAM-r12 [supported]
                            SupportedBandEUTRA-v1250 [11]
                              dl-256QAM-r12 [supported]
                              ul-64QAM-r12 [supported]
                          supportedBandCombination-v1250 []
                          supportedBandCombinationAdd-v1250 []
                          freqBandPriorityAdjustment-r12 []


In case of 256QAM for PDSCH, which is defined in 3GPP Release 12, it would be informed in brown above to eNB then network would be capable of doing this, it would be activated by RRC Connection Reconfiguration message below. 

DL-DCCH-Message
   ...
        rrcConnectionReconfiguration
          ...
                radioResourceConfigDedicated [110101]
                  ...
                  physicalConfigDedicated [0100110010]
                    pdsch-ConfigDedicated []
                    pucch-ConfigDedicated [0]
                    pusch-ConfigDedicated []
                    uplinkPowerControlDedicated []
                    tpc-PDCCH-ConfigPUCCH [setup]
                    tpc-PDCCH-ConfigPUSCH [setup]
                    cqi-ReportConfig []
                    soundingRS-UL-ConfigDedicated []
                    antennaInfo [explicitValue]
                    schedulingRequestConfig []
                    EXTENSION [00001]
                      VERSION-BRACKETS1 []
                      VERSION-BRACKETS2 []
                      VERSION-BRACKETS3 []
                      VERSION-BRACKETS4 []
                      VERSION-BRACKETS5 [00001000]
                        antennaInfo-v1250 []
                        eimta-MainConfig-r12 []
                        eimta-MainConfigPCell-r12 []
                        pucch-ConfigDedicated-v1250 []
                        cqi-ReportConfigPCell-v1250 [0001]
                          csi-SubframePatternConfig-r12 []
                          cqi-ReportBoth-v1250 []
                          cqi-ReportAperiodic-v1250 []
                          altCQI-Table-r12 [allSubframes]
                        uplinkPowerControlDedicated-v1250 []
                        pusch-ConfigDedicated-v1250 []
                        csi-RS-Config-v1250 []

Once "altCQI-Table-r12" is applied to UE, another Table 7.1.7.1-1A for MCS index rather than conventional one would be applied. The MCS index and TBS index mapping seem different between two tables below. The maximum MCS index would be 27 indicating Modulation Order 8 (256QAM). 
Even though UE is capable of 256QAM for PDSCH, eNB does not apply "altCQI-Table-r12" to UE, then UE should follow the procedure with Table 7.1.7.1-1. 






# References
  • TS36.213 7.1.7 Modulation order and transport block size determination
  • TS36.213 8.6.1 Modulation order and redundancy version determination
  • TS36.213 8.6.2 Transport block size determination