4G/LTE - LTE NB

 

 

 

 

RACH

 

If you look at the high level procedure of RACH, LTE-NB RACH is not much different from legacy LTE or LTE BL/CE(M1). That is, they are all go through the 4 step message transaction (Msg1, Msg2, Msg3, Msg4). However, you would have noticed this procedure got more and more complicated if you look one step deeper into it.

  • If you compare the legacy LTE and LTE BL/CE(M1) RACH procedure, LTE BL/CE is more complicated and the most of those complication comes from repeated transmission of each message.
  • If you compare the LTE BL/CE(M1) RACH and LTE NB(M2) RACH procedure, you would notice that LTE NB(M2) RACH is more complicated. The most of this complication seems to come from physica resource allocation of Preamble signal in LTE NB (You would see a whole bunch of parameters in NPRACH-Parameters-NB-r13, most of which would not be seen in legacy LTE and LTE BL/CE(M1)) .

 

Followings are the topics that will be covered in this page.

 

 

Overall Process of RACH procedure for initial attach

 

Following is the overall procedure for RACH Process for Initial Attach. Technically the RACH procedure is from Step (B) through (H), but I added some additional steps that must be done before and after the RACH procedure. I will put further description some time later when I have time.

 

 

 

Time Domain Structure

 

In LTE NB, there are only two Preamble formats. Each preamble format is made up of two portions : CP and Sequence. The Sequence part is made up of 5 sub blocks. All of the 5 subblock is made up of identical symbols. As you see in the following illustration, the length of Sequence part of Preamble format 0 and 1 are same. The difference lies in the length of CP.

 

 

 

NPRACH Parameters

 

As I mentioned in other page, in terms of physical layer implementation LTE-NB is pretty new radio technology comparing to legacy LTE. You can see this new aspects of physical layer in RACH preamble signal design as well (Higher layer sequence (i.e, MAC and higher) of RACH process is not so different from legacy LTE and LTE BL/CE(M1) though). A lot of new parameters defining the physical layer aspect of PRACH are introduced and followings are the list of those parameters.

 

PHY Parameter

RRC Parameter (SIB2)

Description

nprach-Periodicity

NPRACH resource periodicity

nprach-SubcarrierOffset

Frequency location of the first subcarrier allocated to NPRACH

nprach-NumSubcarriers

Number of subcarriers allocated to NPRACH

nprach-NumCBRA-StartSubcarriers

Number of starting sub-carriers allocated to contention based NPRACH random access

numRepetitionsPerPreambleAttempt

Number of NPRACH repetitions per attempt

nprach-StartTime

NPRACH starting time

nprach-SubcarrierMSG3-RangeStart

Fraction for calculating starting subcarrier index for the range of NPRACH subcarriers reserved for indication of UE support for multi-tone msg3 transmission

 

Following is the ASN definition of each of the parameters listed above.

 

NPRACH-Parameters-NB-r13::=         SEQUENCE {

    nprach-Periodicity-r13                  ENUMERATED {ms40, ms80, ms160, ms240,

                                                        ms320, ms640, ms1280, ms2560},

    nprach-StartTime-r13                    ENUMERATED {ms8, ms16, ms32, ms64,

                                                        ms128, ms256, ms512, ms1024},

    nprach-SubcarrierOffset-r13             ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1},

    nprach-NumSubcarriers-r13               ENUMERATED {n12, n24, n36, n48},

    nprach-SubcarrierMSG3-RangeStart-r13    ENUMERATED {zero, oneThird, twoThird, one},

    maxNumPreambleAttemptCE-r13             ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1},

    numRepetitionsPerPreambleAttempt-r13    ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128},

    npdcch-NumRepetitions-RA-r13            ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,

                                                        r256, r512, r1024, r2048,

                                                        spare4, spare3, spare2, spare1},

    npdcch-StartSF-CSS-RA-r13               ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64},

    npdcch-Offset-RA-r13                    ENUMERATED {zero, oneEighth, oneFourth, threeEighth}

}

 

 

Baseband Signal Generation

 

 

 

Time and Frequency Domain Resource Allocation

 

NPRACH preamble is transmitted within 180 Khz range which is made up of 48 subcarriers with the subcarrier spacing of 3.75 Khz. Basically NPRACH preamble is transmitted in repetition and at each repetition it hops to a different subcarriers according to rules illustrated below.

 

 

 

NPRACH Transmission Timing

 

According to 36.211-10.1.6.1, NPRACH can be transmitted only at one specific timing within a NPRACH period as illustrated below. nprach-StartTime, nprach-Periodicity is configured by Higher Layer (SIB2)

 

 

 

Higher Layer Signaling Parameters

 

SystemInformationBlockType2-NB-r13 ::=  SEQUENCE {

    radioResourceConfigCommon-r13           RadioResourceConfigCommonSIB-NB-r13,

    ue-TimersAndConstants-r13               UE-TimersAndConstants-NB-r13,

    freqInfo-r13                            SEQUENCE {

        ul-CarrierFreq-r13                      CarrierFreq-NB-r13              

        additionalSpectrumEmission-r13          AdditionalSpectrumEmission

    },

    timeAlignmentTimerCommon-r13            TimeAlignmentTimer,

    multiBandInfoList-r13   SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission 

    lateNonCriticalExtension                    OCTET STRING                   

    ...

}

 

 

RadioResourceConfigCommonSIB-NB-r13 ::= SEQUENCE {

    rach-ConfigCommon-r13                   RACH-ConfigCommon-NB-r13,

    bcch-Config-r13                         BCCH-Config-NB-r13,

    pcch-Config-r13                         PCCH-Config-NB-r13,

    nprach-Config-r13                       NPRACH-ConfigSIB-NB-r13,

    npdsch-ConfigCommon-r13                 NPDSCH-ConfigCommon-NB-r13,

    npusch-ConfigCommon-r13                 NPUSCH-ConfigCommon-NB-r13,

    dl-Gap-r13                              DL-GapConfig-NB-r13         

    uplinkPowerControlCommon-r13            UplinkPowerControlCommon-NB-r13,

    ...

}

 

 

RACH-ConfigCommon-NB-r13 ::=        SEQUENCE {

    preambleTransMax-CE-r13             PreambleTransMax,

    powerRampingParameters-r13          PowerRampingParameters,

    rach-InfoList-r13                   RACH-InfoList-NB-r13,

    connEstFailOffset-r13               INTEGER (0..15)                 OPTIONAL,   -- Need OP

    ...

}

 

RACH-InfoList-NB-r13 ::=    SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-r13

 

RACH-Info-NB-r13    ::=     SEQUENCE {

    ra-ResponseWindowSize-r13           ENUMERATED {

                                            pp2, pp3, pp4, pp5, pp6, pp7, pp8, pp10},

    mac-ContentionResolutionTimer-r13   ENUMERATED {

                                            pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64}

}

 

 

NPRACH-ConfigSIB-NB-r13 ::=         SEQUENCE {

    nprach-CP-Length-r13                ENUMERATED {us66dot7, us266dot7},

    rsrp-ThresholdsPrachInfoList-r13    RSRP-ThresholdsNPRACH-InfoList-NB-r13   

    nprach-ParametersList-r13           NPRACH-ParametersList-NB-r13   

}

 

NPRACH-ParametersList-NB-r13 ::=    SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13))

                                        OF NPRACH-Parameters-NB-r13

 

NPRACH-Parameters-NB-r13::=         SEQUENCE {

    nprach-Periodicity-r13                  ENUMERATED {ms40, ms80, ms160, ms240,

                                                        ms320, ms640, ms1280, ms2560},

    nprach-StartTime-r13                    ENUMERATED {ms8, ms16, ms32, ms64,

                                                        ms128, ms256, ms512, ms1024},

    nprach-SubcarrierOffset-r13             ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1},

    nprach-NumSubcarriers-r13               ENUMERATED {n12, n24, n36, n48},

    nprach-SubcarrierMSG3-RangeStart-r13    ENUMERATED {zero, oneThird, twoThird, one},

    maxNumPreambleAttemptCE-r13             ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1},

    numRepetitionsPerPreambleAttempt-r13    ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128},

    npdcch-NumRepetitions-RA-r13            ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128,

                                                        r256, r512, r1024, r2048,

                                                        spare4, spare3, spare2, spare1},

    npdcch-StartSF-CSS-RA-r13               ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64},

    npdcch-Offset-RA-r13                    ENUMERATED {zero, oneEighth, oneFourth, threeEighth}

}

 

RSRP-ThresholdsNPRACH-InfoList-NB-r13 ::= SEQUENCE (SIZE(1..2)) OF RSRP-Range

 

 

Reference :

 

[1] Random Access Preamble Design and Detection for 3GPP Narrowband IoT Systems