Introduction:
RACH stands for Random Access CHannel.
UE will perform power on procedure for DL synchronization.
UE will perform RACH procedure for UL synchronization.
In LTE there is a separate channel called as PRACH (Physical Random Access CHannel) that is provided for initial access to network.
When RACH is initiated?
1. To get UL synchronization.
2. When call setup is to be initiated.
3. During RRC Connection Re-Establishment procedure.
4. During Hand Over
5. When UL synchronization is non-synchronized
6. Initial access from RRC_IDLE
7. When UE does-not have any PUCCH resources for Scheduling Request
To initiate RACH procedure, UE will send RACH request after it receives request from UE RRC.
How many types of RACH procedure are there?
There are 2 types of RACH procedure.
1. Contention Based :
In this type, Preamble is selected by UE. There might be multiple UEs with the same preamble. Hence additional contention resolution is required.
Once the UE receives contention resolution MAC CE or DCI 0 with C-RNTI for the transmitted msg3.
2. Non-Contention Based or Contention free.
Here eNB will allocate dedicated preamble to UE.
We are going to study in details in upcoming sections.
Where does UE get information about RACH procedure?
UE will get information from eNB in SIB2.
Below are important parameters for RACH in SIB2.
RACH-ConfigCommon{ preambleInfo numberOfRA-Preambles n40 preamblesGroupAConfig sizeOfRA-PreamblesGroupA n32, messageSizeGroupA b144 messagePowerOffsetGroupB dB10 } powerRampingParameters{ powerRampingStep dB2 preambleInitialReceivedTargetPower dBm-104 } ra-SupervisionInfo { preambleTransMax n10, ra-ResponseWindowSize sf5, mac-ContentionResolutionTimer sf32 }, PRACH-Config{ rootSequenceIndex 30, PRACH-ConfigInfo, prach-ConfigIndex 4, highSpeedFlag FALSE, zeroCorrelationZoneConfig 8, prach-FreqOffset 3 }
Now let us understand all the above SIB 2 parameters in detail:
Random Access procedure is triggered by UE sending “RACH preamble” to eNB from PRACH channel.
Below is the format of RACH preamble:
It consist of CP and Sequence.
PACH preamble can have 4 possible formats as below:
Below table is taken from TS 36.211
How many RACH preambles are there?
There are 64 total preambles for each. UE will generate these one of 64 preambles to the cell it want to camp on.
But all the 64 preamble sequences are not available to UE.
Some of the preamble sequences are reserved by eNB for non contention based RACH.
SIB2 “numberOfRA-Preambles” will represent the total number of preambles available for UE to choose from.
Therefore, 64-numberOfRA-Preambles will give the number of RACH preambles reserved by eNB for non-contention based RACH procedure.
Preamble available to UE are divided into 2 groups. GroupA and GroupB.
SIB2 “sizeOfRA-PreamblesGroupA” denotes the number of preambles available in Group A
“numberOfRA-Preambles – sizeOfRA-PreamblesGroupA” will give the number of preambles in Group B
UE needs to decide if it needs to select GroupA or GroupB. Depending upon the size of L3 message, UE will select GroupA or GroupB.
If the message size is greater than SIB2 “messageSizeGroupA”, then GroupB preamble is selected. From the selected group, UE will randomly selects the preamble.
What are Preamble sequences?
PRACH sequences are Zadd-off Chu sequences.
SIB 2 parameters “rootSequenceIndex, highSpeedFlag, zeroCorrelationZoneConfig” are used by UE to derive preamble sequences.
When to transmit RACH Preamble?
Below table shows the format and timing of RACH Preamble
Below table is taken from TS 36.211
SIB2 parameter “prach-ConfigIndex” is mapped to “PRACH Configuration Index” of below table.
How much resources are used to transmit RACH preamble?
Total 6 PRB are used by UE to send RACH preamble.
SIB2 “prach-FreqOffset” tell the mapping of these 6 PRBs in resource grid.
How UE decides the power to be used for RACH request Transmission?
SIB2 “preambleInitialReceivedTargetPower” will tell the power to be used for first transmission of RACH request.
SIB2 “powerRampingStep” is used when eNB is not able to detect the RACH request.
SIB2 “preambleTransMax” will tell how many times UE should transmit RACH preamble in case of continious failure.
Which identifier UE sends while sending RACH preamble?
UE does not send any identifier while sending RACH preamble.
eNB will calculate RA-RNTI by the timing of preamble transmission.
If 2 UE sends the preamble at the same time eNB will derive same RA-RNTI for both UE’s.
What will eNB does once it receives RACH preamble request?
eNB will derive RA-RNTI, calculate TC-RNTI, calculate the timing advance value.
TC-RNTI is used for further communication between UE and eNB.
eNB will also send information related to UL transmission such as:
1. Resource blocks to be used for uplink transmission.
2. Modulation and coding scheme
3. hopping flag
4. Power to be used by UE for PUSCH
5. UL delay
6. CSI field.
All these messages are included in RAR (Random Access Response ) message.
When UE receives RA Response?
UW will receive in the time “Y”. Where “Y” lies in between “X+3 <= Y <X+RA_response_Window” SIB2 “ResponseWindowSize”.
What does UE do after getting RAR?
It will save C-RNTI from RA-response.
Applies the received timing correction.
Uses uplink information present in RAR to transmit the L2/L3 message to eNB.
UE will include a random number in RRC connection request message.
Then UE will start T300 timer available in SIB2 and waits for RRC connection Setup message.
eNB will send RRC Connection Setup with that random number to UE.
Reference TS 36.300