2-Step RACH in Release 16 of 5G NR
In Earlier versions of NR Releases prior to R-16, There was only one type of RACH procedure which is kind of similar to the LTE RACH procedure also known as the 4-Step RACH procedure.
In the Release-16 NR version, 3GPP Introduced a new 2-Step RACH procedure that aims to improve the overall latency of the RACH procedure.
Now there are two RACH procedures and 3GPP has categorized them into two types:
- Type-1 Random access procedure (4-Step-RACH)
- Type-2 Random access procedure (2-Step-RACH)
Benefits of 2-Step RACH
So what’s the benefit of having a 2-Step RACH process over 4-Step RACH process?
- It Reduces the Latency compared to 4-step RACH process.
- Reduces the Control Signaling overhead at the gNB.
"Comparison between 2-Step RACH and 4-Step RACH procedure in 5G NR."
Design Targets
To Implement 2-Step RACH Procedure, 3GPP defined a list of design targets that reflect the motivation behind the introduction of 2-Step RACH procedure:
- A common design for 3 main use cases of 5G-NR (mMTC, URLLC and eMBB) and for both licensed and unlicensed spectrum.
- 2-step RACH procedure potentially has benefits for channel access.
- The triggers for 4-step RACH are also applicable to 2-step RACH and hence 2-step RACH could be applied for all RRC states.
- 2-step RACH is applied for RRC_INACTIVE , RRC_CONNECTED and RRC_IDLE state.
- 2-step RACH is applicable to any cell size supported in Rel-15 NR and shall be able operate regardless of whether the UE has valid Timing Alignment(TA) or not.
High-level Call Flow
Below is the high-level call-flow of 2-Step RACH & 4-Step RACH Procedure.
The Preamble selection process remains the same in the 2-Step RACH process but there is furthermore information in MsgA.
2-Step RACH consists of 1 round trip transfer of control signaling between UE and gNB:
- MsgA Transmission from UE to gNB
- MsgB Reception at UE from gNB
"High-level call flow of the 2-Step Random Access procedure."
We will discuss in detail MsgA transmission. MsgB Reception is discussed in another article here.
MsgA Contents
MsgA consists of:
- PRACH Preamble Transmission
- PUSCH Transmission
PRACH Preamble Transmission
The Preamble Selection and transmission is the same as the 4-Step RACH process.
- UE follows the similar Procedure of 4-Step RACH while selecting a Random Access preamble.
- All the preamble formats and the PRACH configuration indexes defined in Rel-15 and in Rel-16 NR-U can be used.
- In the case of shared time-domain PRACH resources between 4-step RACH and 2-step RACH, different preambles are allocated to differentiate the RA types.
- The mapping between SSB and PRACH occasion reuses that for 4-step RACH.
- The PRACH occasion can be shared between 2-StepRA and 4-step RA procedure.
RACH Type Selection Process
How does the UE knows which RACH type to use for Initial access or any other IDLE or Connected mode scenarios? The RACH Type selection process is described below.
In the Case of Initial Access
- UE checks SIB message to see what Type of RA is defined.
- If both 2-step and 4-step RA type Random Access Resources are configured then:
- UE will check if RSRP of the downlink pathloss reference is above
msgA-RSRP-Threshold. - If its above
msgA-RSRP-Thresholdthen it will select 2-Step RA else it will select 4-Step RA.
- UE will check if RSRP of the downlink pathloss reference is above
- Or if only 2-step RA is configured then UE will select 2-Step RA.
- Or if only 4-Step RA is configured then UE will select 4-Step RA.
In the case of Reconfiguration with Sync
- If the contention-free Random Access Resources for 2-step RA type have been explicitly provided in
rach-ConfigDedicatedfor the BWP selected for Random Access procedure then, the UE will select 2-stepRA. - If the contention-free Random Access Resources for 4-step RA type have been explicitly provided in
rach-ConfigDedicatedfor the BWP selected for Random Access procedure then, the UE will select 4-stepRA.
MsgA-PUSCH Transmission
PUSCH message is transmitted in the case of 2-Step RA as part of msgA. How and when this message is transmitted by UE is discussed in this section.
PUSCH Occasion
What is a PUSCH Occasion?
A PUSCH occasion for PUSCH transmission is defined by a frequency resource and a time resource and is associated with a DMRS resource. The DMRS resources are provided by msgA-DMRS-Configuration. Simply put PUSCH occasions are time and frequency resources where a UE can send PUSCH in the uplink.
How UE knows when to transmit PUSCH for MsgA?
There are a couple of ways the UE gets this information from the network, either in SIB1 when the UE is not in a connected state, or when the UE is RRC_CONNECTED state and this information is passed on to UE by dedicated signaling for example during a handover procedure.
When does the UE transmit MsgA PUSCH?
- UE transmits PUSCH message after PRACH is transmitted.
- The first PUSCH transmitted is encoded with Redundancy version 0 i.e RV=0.
- There is no HARQ ACK for msg-A PUSCH transmission.
- The PUSCH is transmitted after N symbols of PRACH transmission,
- where
N=2foru = 0oru=1 - where
N=4foru = 2oru=3 - Where
uis the SCS for UL BWP
- where
- PUSCH is transmitted by UE at PUSCH Occasions configured by network in RRC message IE
msgA-PUSCH-Config. - In the case of initial access
msgA-PUSCH-Configis provided in initial UL BWP of SIB1 RRC message. - If the UE is in
RRC_CONNECTEDmode the network can configuremsgA-PUSCH-Configas part of active UL BWP.
 "MsgA PUSCH Time domain information and timing offset from PRACH slot."
There are two aspects related to information regarding MsgA PUSCH transmission: Time-domain information and Frequency domain information.
Frequency Domain Information
The number of PUSCH occasions available in the frequency domain is provided by nrMsgA-PO-FDM.
- Consecutive PUSCH occasions in the frequency domain are separated by a number of RBs provided by
guardBandMsgA-PUSCH. - The starting PRB of PUSCH Occasion is given by an offset value with respect to PRB#0 and is provided by
frequencyStartMsgA-PUSCH. - The number of Frequency multiplexed PUSCH occasions in a time instance is provided by
nrofMsgA-PO-FDM. - The number of PRB’s per PUSCH occasion is provided by i.e.
nrofPRBs-PerMsgA-PO. - Frequency Hopping for msgA-PUSCH transmission if configured is indicated by
msgA-intraSlotFrequencyHopping. - The Frequency offset for the second hop is determined by
msgA-HoppingBits. - If
guardPeriodMsgA-PUSCHis provided, a first symbol of the second hop is separated byguardPeriodMsgA-PUSCHsymbols from the end of a last symbol of the first hop; otherwise, there is no time separation of the PUSCH transmission before and after frequency hopping. - If a UE is provided with
useInterlacePUCCH-PUSCHinBWP-UplinkCommon, the UE shall transmit PUSCH without frequency hopping. - PUSCH is CRC scrambled with
MsgB-RNTI.
Similar to RACH GroupA and Group B Preambles, PUSCH resources for GroupA preambles and GroupB preambles can be defined separately:
msgA-PUSCH-ResourceGroupA: MsgA PUSCH resources that the UE shall use when performing MsgA transmission using preambles group A.msgA-PUSCH-ResourceGroupB: MsgA PUSCH resources that the UE shall use when performing MsgA transmission using preambles group B.
Time Domain Information
When a First PUSCH Occasion is available after PRACH slot is determined by msgA-PUSCH-TimeDomainOffset in an active UL BWP.
- A Single time offset with respect to the start of each PRACH slot and PUSCH occasion slot is given by
msgA-PUSCH-TimeDomainOffset. - An important thing to note here is that PRACH and PUSCH transmission cannot happen in the same slot, there should be a min gap of at least 1 slot.
msgA-PUSCH-TimeDomainOffsetprovides an offset in number of slots in the active UL BWP from the start if a PRACH slot.- The number of Consecutive PUSCH occasions within each slot are separated by guard Period in symbols defined by the number of time domain PUSCH occasions in each slot is provided by
nrofMsgA-PO-perSlotand the number of consecutive slots that include PUSCH occasions is provided bynrofSlotsMsgA-PUSCH. - Similar to regular PUSCH transmissions, for msgA PUSCH transmissions SLIV and PUSCH type can be defined in rrc message by IE
msgA-PUSCH-TimeDomainAllocation. msgA-PUSCH-TimeDomainAllocationpoints to thePUSCH-TimeDomainResourceAllocationListprovided inPUSCHConfigCommon.- If there is no table provided in
PUSCHConfigCommonthen UE will lookup the default 3GPP table from Table 6.1.2.1.1-2 in 38.214. - The Value of
K2is not used for msgA PUSCH. - UE can use
startSymbolAndLengthMsgA-PO-r16for SLIV andmappingTypeMsgA-PUSCH-r16for PUSCH mapping type ifmsgA-PUSCH-TimeDomainAllocationIE is not present. - A UE is provided a DMRS configuration for a PUSCH transmission in a PUSCH occasion in an active UL BWP by
msgA-DMRS-Config. - A UE is provided an MCS for data information in a PUSCH transmission for a PUSCH occasion by
msgA-MCS.
Restrictions on msgA-PUSCH Transmission
For Paired Spectrum (FDD): A PUSCH occasion is valid if it does not overlap in time and frequency with any PRACH occasion associated with either a Type-1 random access procedure or a Type-2 random access procedure.
For Un-paired Spectrum (TDD):
- Case 1: If the IE
tdd-UL-DL-ConfigurationCommonis configured- A PUSCH occasion is valid if the PUSCH occasion does not precede a SS/PBCH block in the PUSCH slot and,
- PUSCH occasion starts at least symbols after a last SS/PBCH block symbol
- Case 2: If the IE
tdd-UL-DL-ConfigurationCommonis not configured- A PUSCH occasion is valid if the PUSCH occasion is within UL symbols, or
- The PUSCH occasion does not precede a SS/PBCH block in the PUSCH slot, and
- The PUSCH occasion starts at least
N_"gap"symbols after a last downlink symbol and at leastN_"gap"symbols after a last SS/PBCH block symbol.
Further Reading
FAQ: 2-Step RACH in 5G NR
What is the advantage of 2-Step RACH?
The primary advantage is reduced latency and lower control signaling overhead, as it accomplishes in two steps what the standard 4-Step RACH does in four.
When is 2-Step RACH used?
It is used in RRC_IDLE, RRC_INACTIVE, and RRC_CONNECTED states, primarily when the signal strength (RSRP) is above a configured threshold.
What are the components of MsgA?
MsgA in 2-Step RACH consists of both the PRACH preamble and a PUSCH transmission (payload).
Can 2-Step and 4-Step RACH share resources?
Yes, 3GPP allows sharing of PRACH occasions, but different preambles are typically allocated to help the gNB differentiate the RACH type.
WirelessBrew Team
Technical expert at WirelessBrew, specializing in 5G NR, LTE, and wireless system optimization. Committed to providing accurate, 3GPP-compliant engineering tools.
Up Next
More 5g nr Articles →