RACH Process
What is RACH process and why a UE needs to perform it?
The answer is simple, If a UE wants to connect to a network , it has to be synchronized in both downlink as well as in uplink. RACH process helps to achieve the uplink synchronization between UE and the network.
It also helps to obtain the resources for Message 3(RRC connection request).
Before diving into RACH process, lets discuss some basics about synchronization.
In communication technology, synchronization means “Synchronization for transmission and reception”. There are two types of synchronization.
- Downlink synchronization
- Uplink synchronization
From UE point of view, downlink is the receiving direction and uplink is the transmitting direction.
Downlink synchronization:
This is the process in which UE detects the radio boundary(the exact timing when a radio frame starts) and OFDM symbol boundary (the exact timing when an OFDM symbol starts). This process is done by detecting and analyzing the SS block. (Will cover SS block in my next story )
Uplink synchronization:
This is the process in which UE figure out the exact timing when it should send uplink data (via PUSCH / PUCCH). gNB handles multiple UE, so the uplink signal from every UE needs to be aligned with the common receiver time of the network. Sometimes, network needs to adjust the uplink timing of the each UE. This uplink synchronization process is called RACH process.
Now lets discuss about RACH process. As I explained above, RACH is used for uplink synchronization and to obtain the resources for MSG 3.
There are two types of RACH procedure
- Contention based RACH (CBRA)
- Contention Free RACH (CFRA)
Contention Based RACH:
In this procedure, UE randomly picks a preamble from the pool of preambles which is shared with other UEs as well. So, a UE can pick a random preamble which can be used by other UEs as well and this may result in contention or conflict.
In such cases, the gNB will perform contention resolution step. The result of this step is random and not all Random access succeeds. Meaning, during such conflicts, some UEs will have successful RACH process and it may fails in some UEs.
Step 1: Random Access Request (MSG 1)
In this step, UE will select a random preamble from the pool of preambles and transmits it to the appropriate beam of gNB.
Step 2: Random Access Response (MSG 2)
When gNB receives this random preamble, gNB’s MAC generates RA response and it applies TC_RNTI(Temporary cell RNTI) and UL,DL scheduling resources.
Some may wonder what this term TC_RNTI means, right? I did the same in the beginning , I will explain about TC_RNTI and other different RNTI in upcoming stories. So, far now just remember that TC_RNTI is Temporary cell RNTI (Radio Network Temporary Identifier). This will be allocated to UE by gNB. The UE shall use Temp C-RNTI for scrambling of msg3 (PUSCH corresponding to RAR grant) and it’s retransmissions.
After UE sends RA Preamble, it monitors PDCCH for RA Response within a RA response window. The RA response will also contains RA-preamble identifier, timing alignment information, TC_RNTI and initial uplink grant. gNB will send this RA-Response over the PDSCH. One PDSCH can have RA Response for multiple UEs.
Get Lakshmi Priya’s stories in your inbox
Join Medium for free to get updates from this writer.
When UE receives RA response which has same RA Identifier as the one sent in the transmitted RA preamble, then RA response is successful and UE will proceed towards MSG 3
If UE not received RA response within the RA response window or failed to receive the response, the UE will re-attempt RA until the number of RA attempts reaches the upper limit (10). Otherwise RA is considered as failed.
There can be a case, where two UEs can send RACH preamble at same time and gNB can allocate same TC-RNTI and same resources are allocated for both UEs.
As a result both UE will send L2/L3 message through the same resource. That means both UE will send L2/L3 message on the same time and frequency location to the network.
In such case, both UEs will act as interference to each other and network decode neither of them or it can decode L2/L3 message of one UE and ignore the other. So, the RACH process will be successful for one UE and it fails for other.
Step 3: Scheduled UL Transmission (MSG 3)
UE sends uplink scheduling information over PUSCH, the signaling messages and the information it carries varies across different RA scenarios. It can be RRC connection setup, RRC connection re-establishment, handover and other scenarios.
Contention based RA is used for handover, only in scenarios where UE tries to access target cell and no dedicated preamble is allocated.
Step 4: Contention Resolution (MSG 4)
When gNB received MSG 3 from UE, gNB performs contention resolution by sending C-RNTI (Cell RNTI) over PDCCH or contention resolution identity IE over PDSCH. After UE sends MSG 3 , a contention resolution timer of 4ms starts. UE keep on monitoring PDCCH for contention resolution until the timer expires.
The UE considers the contention resolution successful and stops timer only when it receives C-RNTI over PDCCH or contention resolution identity IE over PDSCH.
Note: the contention resolution identity sent by gNB in MSG 4 should be same as the one sent by UE in MSG 3.
When UE not received MSG 4 from gNB and the timer expires then UE considers contention resolution as failed and reattempts RA until the number of RA attempts reaches the upper limit (10). If the number of RA attempts reaches it limit then RA procedure is considered as failed.
Contention Free Random Access (CFRA):
There are some cases where network prevents contentions due to some reasons (like timing restriction). In such cases, network will informs UE when and which preamble it has to use, so that there won’t be collision.
Such preambles are known as dedicated preambles and the process is known as Contention Free Random Access. These preambles assigned either through RRC signaling or PHY layer signaling(DCI on the PDCCH)
Note: CFRA will be used only when UE is in connected mode before RACH process.
Contention Free Random Access (CFRA) is a three step process.
Step 1: RA Preamble Assignment
gNB selects a preamble and assign to the UE either via RRC message or DCI. UE will use this preamble and performs RA preamble transmission (MSG 1)
Handover is one of the scenarios where CFRA can be used. When UE wants to connect to target cell, target gNB will inform UE which preamble it has to use via RRC signalling.
Step 2: Random Access transmission (MSG 1) — This process is similar as in CBRA
Step 3: Random Access response (MSG 2) — This process is similar as in CBRA
The RA response message should have timing alignment information, uplink grant and the RA Preamble Identifier (RAP ID)
So, thanks for reading till the end 😁, Will continue about RACH process messages and its IE details in my next story.








