LTE Advanced - UL 64QAM                            Home : www.sharetechnote.com

 

 

 

 

Following is the mapping table for PUSCH (Uplink). If you look at the table carefully, you would notice that the modulation parameter is Q'm (Q prime m), not Qm. It implies that this is some additional rule to convert the Q'm to Qm. This rule is described at the beginning of 36.213 8.6.1.

 

< 36.213 Table 8.6.1-1 >

 

 

Simply put, the mapping between Qm and Q'm gets different whether UE support Uplink 64 QAM or not. How eNB can figure out whether a UE support UL 64 QAM or not ? UE is supposed to notify this capability to eNB via UE Capability Information message as shown below. If UE support 64 QAM and eNB enable UL 64 QAM, Q'm = 6 is translated to Qm = 6 (64 QAM), but if UE does not support 64 QAM and eNB does not enable UL 64 QAM, Q'm = 6 is translated to Qm = 4. (Refer to 36.213 8.6.1 for further details).

 

NOTE : Even though Qm varies depending on the situation as explained above, the Mapping between I_MCS and I_TBS does not change. It means the mapping between I_MCS and Transport block size does not change. As a result, PUSCH Code Rate would change in case of Q'm = 6 depending on whether it is translated to 16 QAM or 64 QAM.

 

How eNB knows whether a UE support 64 QAM or not ?

    +-nonCriticalExtension

      +-phyLayerParameters-v1170 = Omit

      +-ue-Category-v1170  = 9

      +-nonCriticalExtension = 00001

        +-rf-Parameters-v1180 = Omit

        +-mbms-Parameters-r11 = Omit

        +-fdd-Add-UE-EUTRA-Capabilities-v1180 = Omit

        +-tdd-Add-UE-EUTRA-Capabilities-v1180 = Omit

        +-nonCriticalExtension  

          +-ue-Category-v11a0 = 11

          +-measParameters-v11a0 = Omit

          +-nonCriticalExtension  

            +-phyLayerParameters-v1250 = Omit

            +-rf-Parameters-v1250

            | +-supportedBandListEUTRA-v1250 = 5

            | | +-SupportedBandEUTRA-v1250  

            | | | +-dl-256QAM-r12 = supported

            | | | +-ul-64QAM-r12 = supported

            | | +-SupportedBandEUTRA-v1250  

            | | | +-dl-256QAM-r12 = supported

            | | | +-ul-64QAM-r12 = supported

            | | +-SupportedBandEUTRA-v1250  

            | | | +-dl-256QAM-r12 = supported

            | | | +-ul-64QAM-r12 = supported

            | | +-SupportedBandEUTRA-v1250  

            | | | +-dl-256QAM-r12 = supported

            | | | +-ul-64QAM-r12 = supported

            | | +-SupportedBandEUTRA-v1250  

            | |   +-dl-256QAM-r12 = supported

            | |   +-ul-64QAM-r12 = supported

 

 

How UE figure out whether it has to use 64QAM or not ?

 

This answer to this question is described in 36.213 8.6.1 as follows.

 

For 0 <= MCS_I <≤28 , the modulation order ( Qm ) is determined as follows:

    - If the UE is capable of supporting 64QAM in PUSCH and has not been configured by higher layers to transmit only QPSK and 16QAM, the modulation order is given by Qm in Table 8.6.1-1. // this means UE should use 64QAM if MCS >= 21

    - If the UE is not capable of supporting 64QAM in PUSCH or has been configured by higher layers to transmit only QPSK and 16QAM, Q'm is first read from Table 8.6.1-1. The modulation order is set to Qm = min(4, Q'm ) // This means UE does not use 64 QAM

Now the questions is what does it mean by 'Configured by higher layers' ?  Followings are the IEs that seems to be related to the higher layer configuration.

     

    +-systemInformation-r8 ::= SEQUENCE [0]

      +-sib-TypeAndInfo ::= SEQUENCE OF SIZE(1..maxSIB[32]) [1]

      | +- ::= CHOICE [sib2]

      |   +-sib2 ::= SEQUENCE [00]

      |     +-ac-BarringInfo ::= SEQUENCE OPTIONAL:Omit

      |     +-radioResourceConfigCommon ::= SEQUENCE

      |     | +-rach-ConfigCommon ::= SEQUENCE

      |     | +-bcch-Config ::= SEQUENCE

      |     | +-pcch-Config ::= SEQUENCE

      |     | +-prach-Config ::= SEQUENCE

      |     | +-pdsch-ConfigCommon ::= SEQUENCE

      |     | +-pusch-ConfigCommon ::= SEQUENCE

      |     | | +-pusch-ConfigBasic ::= SEQUENCE

      |     | | | +-n-SB ::= INTEGER (1..4) [1]

      |     | | | +-hoppingMode ::= ENUMERATED [interSubFrame]

      |     | | | +-pusch-HoppingOffset ::= INTEGER (0..98) [16]

      |     | | | +-enable64QAM ::= BOOLEAN [True]

      |     | | +-ul-ReferenceSignalsPUSCH ::= SEQUENCE

      |     | +-pucch-ConfigCommon ::= SEQUENCE

      |     | +-soundingRS-UL-ConfigCommon ::= CHOICE [release]

      |     | +-uplinkPowerControlCommon ::= SEQUENCE

      |     | +-ul-CyclicPrefixLength ::= ENUMERATED [len1]

      |     | +-EXTENSION ::= SEQUENCE [001]

      |     |   +-VERSION-BRACKETS1 ::= SEQUENCE OPTIONAL:Omit

      |     |   +-VERSION-BRACKETS2 ::= SEQUENCE OPTIONAL:Omit

      |     |   +-VERSION-BRACKETS3 ::= SEQUENCE [1] OPTIONAL:Exist

      |     |     +-pusch-ConfigCommon-v1270 ::= SEQUENCE OPTIONAL:Exist

      |     |       +-enable64QAM-v1270 ::= ENUMERATED [true]

      |     +-ue-TimersAndConstants ::= SEQUENCE

      |     +-freqInfo ::= SEQUENCE [00]

      |     +-mbsfn-SubframeConfigList ::= SEQUENCE OF OPTIONAL:Omit

      |     +-timeAlignmentTimerCommon ::= ENUMERATED [infinity]

      |     +-EXTENSION ::= SEQUENCE [0000]

      |       +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

      |       +-VERSION-BRACKETS1 ::= SEQUENCE OPTIONAL:Omit

      |       +-VERSION-BRACKETS2 ::= SEQUENCE OPTIONAL:Omit

      |       +-VERSION-BRACKETS3 ::= SEQUENCE OPTIONAL:Omit

      +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

Reference :

 

[1] R4-151580 : 3GPP TSG-RAN WG4 #74bis Rio de Janeiro, Brazil, 20th 24th April 2015