top of page

5G Standalone Access and Synchronization Part 2 | Random Access procedure

Updated: May 26

In our previous post, we covered the cell search and downlink synchronization procedures. Today, we will discuss the RACH part, if you missed our first post, please refer to it for background information.



Figure 1


5G SA RACH Procedure



When comparing the LTE and 5GS RACH, they both follow the same procedure (MSG1-->MSG4) and utilize a preamble based on the Zadoff-Chu sequence. Additionally, both operate on a contention-based system for initial access. However, in 5G SA, the UE must perform beam correspondence, and more preamble formats are defined for and parameters defined in SIB1 instead of SIB2 where UE receives it on RRC reconfiguration for 5G NSA


1 . RACH message 1


  • Resource allocation

As mentioned earlier UE needs to perform beam correspondence in order to access the network as the Gnb does not yet know which Beam UE selected during beam selection and dowlink synchronization procedure so a dedicated mechanism is defined for Gnb and UE to align on the selected beam


Following on our first topic in the gNB transmits SSB using a beam-sweeping procedure and it is essential to note that different SS block time indices are associated with different RACH time/frequency occasions , this simply means that for the initial UL BWP UE needs to get the below information before starting the RACH process ( Figure 1 ):



Figure 1: Associated SSB with different RACH time/frequency occasions


5G RACH Parameters


1. prach_ConfigurationIndex: This parameter will refer to the table defined by 138.211.

indicating the PRACH format to use which according to the given table falls under 2 categories:

Long preamble format: which is reserved for large cell coverage (for example Format 1 or 2 ) or high-speed scenarios (Format 3 ) we should note that those formats are reserved for FR1 only.

Table 1 138.211 : Random access configurations for FR1


5G RACH Configuration Index and preamble format

Short preamble format: used for normal cell coverage ( for example the format defined in our example on prach_ConfigurationIndex = 156 mapping from 38.211 table --> corresponding to Format ( B4 ) so according to our example in Figure 1, UE is expected to transmit the RACH MSG1 for all corresponding SSB on subframe 2


2. Msg1_FrequencyStart: This parameter represents the Offset of the lowest PRACH transmission occasion in the frequency domain respective to PRB 0.

The value is configured so that the corresponding RACH resource within the bandwidth of the UL BWP or UL BWP0


3.MSG1_FDM: This parameter specifies how many RACH occasions are being allocated on the frequency domain whereas Ssb_perRACH_Occasion in ssb_perRACH_OccasionAndCB_PreamblesPerSSB specifies how many SSB can be mapped on one RACH occasion and the parameters should be set to make a balance and a tradeoff between overhead and RACH latency in case of high number of SSBs


So following on our example in Figure 1 with a PRACH configuration index of 156 allow one RACH MSG1 occasion per frame on SFN=2 & MSG1_FDM = 4 with ssb_perRACH_OccasionAndCB_PreamblesPerSSB = one means that will be one RACH occasion for every SSB as shown in figure 1


And in the opposite case ( in case ROs are not enough to accommodate all configured SSB ) the case of several SSB like for FR2 for example , UE will have to wait to the next RACH occasion corresponding to the selected SSB based on the SSB indices to RO associated period, please refer to 3gpp 138.213 table: 8.1.1 for further details as this will needs to be discussed on separate topic


4.CB_PreamblesPerSSB in ssb_perRACH_OccasionAndCB_PreamblesPerSSB will specify the Contention-based preamble per RACH occasion available :


Ssb_perRACH_Occasion <=1, Total available Preamble are used only for the SSB mapped to this RACH occasion.


ssb_perRACH_Occasion > 1, Total available preamble are shared by the ssb_perRACH_Occasion SSBs.


All preamble are divided into 3 parts, preamble for CFRA and CBRA and SI request procedure, and post preamble selection RACH MSG1 is transmitted.


  • Reliability

During initial access, MSG1 reliability is the most challenging part in terms of reliability as Gnb does not have any idea yet about UE RF condition and delay, so we can see RACH MSG1 as the first knock on the network , accordingly 2 features are present to ensure the reliability :


UL beam switching during MS1 transmission :

Detection of the new best beam during a RACH can trigger a change of the UL beam during the MSG1 transmission however how UE switches the UL beam for each preamble retransmission is left to UE implementation


Power ramp-up :


UE determines a transmission power Prach power for a physical random access channel (PRACH) and power is increased en every ramp based on the following formulas from 3GPP: 138.213 for the transmission occasion: i



Prach b,f,c (i) = min {Pcmax f,c (i) ,Pprach,target+PL b,f,c } [dbm]


Pcmax (i) : Is the configured UE transmission power referred with transmission occasion (i) where b,f, and c represent the UL BWP, carrier frequency, and serving cell respectively

PL: Is calculated based on the following parameters ss-PBCH-BlockPower - RSRP

Pprach,target: is calculated as follows:

PreambleReceivedTargetPower + DELTA_PREAMBLE +(PREAMBLE_POWER_RAMPING_COUNTER – 1) × PREAMBLE_POWER_RAMPING_STEP --> 138.321


DELTA_PREAMBLE: is determined based on the following table ( Table 1 ) for short preamble formats



Table 2: 3GPP 138.321 DELTA_PREAMBLE values for short preamble formats.

5G Preamble format

where μ is the sub-carrier spacing configuration determined by msg1-SubcarrierSpacing ( transmitted in SIB1 ) and it is equal to 1 for 30 kHz and 0 for 15 kHz.



2. RACH MSG- 2 ( random access response or RAR )


MSG2 is carried on PDSCH scheduled by DCI 1.0 so UE needs to check if RA-RNTI matches during the RAR window defined on SIB1 The UE will decode the RAPID and check if the RAPID matching and then apply the grant ( MAC payload ) as described on Figure 4 ( both rapid and RA-RNTI are part of MAC header )


Figure 3 : RAPID match for RAR

5G Rapid Match


Figure 4: MAC Payload structure for RAR .


5G Rach Message 2 MSG2 Payload



3. RACH MSG- 3 ( random access response or RAR )


MSG3 is scheduled by the uplink grant in MSG2 as previously mentioned

  • Reliability

UE adjust the power for MSG3 using TPC cmd --> Figure 4 in MSG2 & MSG3-alpha and & msg3-delta preamble & Tx power of the latest PRACH preamble according to the equation defined in 3gpp 138.213 section 7.1.1.


  • Waveform for MSG3

Compared to LTE Waveform for MSG3 in 5G NR waveform can be DFT-S-OFDM or CP-OFDM, DFT-S-OFDM so DFT spreading could be disabled or enabled using the following parameter: Msg3_transformPrecoder / transformPrecoder where Msg3_transformPrecoder is used if needs to transform precoding for MSG3


If the parameter is disabled, transform precoding is not used for uplink waveforms so CP -OFDM is used where CP -OFDM allows the usage of multiple streams ( MIMO ) , DFT-S-OFDM allows a better PAPR ( peak to average ratio) providing an enhanced cell edge performance.


4.RACH MSG- 4 ( CT resolution )


Once the UE transmits the MSG3 the UE should :

  • Start the ra-ContentionResolutionTimer and restart the timer at each HARQ retransmission then in the first symbol after the end of the Msg3 transmission;

  • Monitor the PDCCH while the ra-ContentionResolutionTimer is running ( UE will look for DCI in Type1 PDCCH


  • CT resolution

3. possibilities will be there after UE decodes the RACH Contention resolution message :

  • The UE correctly decodes the message and discovers that it contains Identity for another UE ( contention Resolution Identity not confirmed ) --> nothing is sent (DTX).

  • The UE fails to decode the message and misses the DL grant--> again (DTX).

  • The UE successfully decodes MSG4 and confirms UE identity ( ( Contention Resolution Identity IE received over the PDSCH and confirmed same as sent in MSG3 ( MAC CE ) --> HARQ-ACK delivered in a PUCCH for MSG4 payload.

RACH will fail if the CT resolution timer expires



5.RACH delay optimization in 3GPP R16


In 3gpp release 16 new 2-STEP RACH is defined to optimize the RACH delay where MSG2 & MSG4 are transmitted as MSGB. and MSG1 & MSG3 are transmitted as MSGA but that will be detailed in upcoming topics so stay in touch :)




Reference used for this article :









































781 views2 comments

2件のコメント


Rajib chakrabarti
Rajib chakrabarti
2023年9月23日

I would suggest include some real life problem solving cases using this knowledge base.. it will bring more traffic to your blog...

いいね!
Hamza Bouchebbah
Hamza Bouchebbah
2023年9月23日
返信先

Thanks Rajib will consider on upcoming articles

いいね!
bottom of page