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.
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.
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.
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.
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} }
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.
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))
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
|
|||||||||||||||||||||||||