WirelessBrewTools

Main Navigation

  • Home
  • Calculators & Tools
  • Technical Articles
  • Cheatsheets

Tool Categories

  • 5G NR
    • 5G NR & 4G LTE Frequency Bands
    • 5G NR & LTE Measurement Gap
    • 5G NR ARFCN Calculator
    • 5G NR GSCN to Frequency Calculator
    • 5G NR PRACH Configuration Calculator
    • 5G NR RRC Timers
    • 5G NR RSRP Measurements
    • 5G NR Throughput Calculator
    • 5QI/QoS Reference
    • Beam Failure Recovery Sandbox
    • BWP Calculator
    • Cell Selection Criterion
    • MAC CE Parser
    • MCS Table Reference
    • Measurement Events Simulator
    • Paging & Wake-Up Calculator
    • Resource Grid Explorer
    • RSRP Mapper
    • SCS & Numerology
    • SLIV/RIV/FDRA Calculator
    • SSB Configuration
    • TBS Calculator
    • Timing Advance Calculator
  • 4G LTE
    • 4G LTE EARFCN Calculator
    • LTE CQI Calculator
    • LTE PRACH Configuration Calculator
    • LTE RRC Timers
    • LTE Throughput Calculator
    • TDD Configuration
  • RF Tools
    • Antenna Downtilt Calculator
    • Antenna Gain Calculator
    • Cable Loss Calculator
    • Cell Range Calculator
    • EIRP Calculator
    • Fresnel Zone Calculator
    • Idle Mode Reselection
    • Link Budget Calculator
    • Path Loss Calculator
    • PCI Calculator
    • PIM Calculator
    • RSRP/RSRQ/SINR Calculator
  • Common RF
    • dB Calculator
    • dBm to Watt Converter
    • Free Space Path Loss Calculator
    • Thermal Noise Calculator
    • VSWR Calculator
  • Reference Tools
    • 3GPP Specs Reference
    • 3GPP Timeline
    • IMSI/IMEI Analyzer
    • Technology Comparison
    • UE Category Reference
  • Beta Releases
    • 3GPP NTN Satellite Planner
    • CORESET/PDCCH Calculator
Contact UsSettings
WirelessBrew
HomeCalculatorsCheatsheetsTechnical Articles
Tool Categories
5G NR
5G NR & 4G LTE Frequency Bands5G NR & LTE Measurement Gap5G NR ARFCN Calculator5G NR GSCN to Frequency Calculator5G NR PRACH Configuration Calculator5G NR RRC Timers5G NR RSRP Measurements5G NR Throughput Calculator5QI/QoS ReferenceBeam Failure Recovery SandboxBWP CalculatorCell Selection CriterionMAC CE ParserMCS Table ReferenceMeasurement Events SimulatorPaging & Wake-Up CalculatorResource Grid ExplorerRSRP MapperSCS & NumerologySLIV/RIV/FDRA CalculatorSSB ConfigurationTBS CalculatorTiming Advance Calculator
4G LTE
4G LTE EARFCN CalculatorLTE CQI CalculatorLTE PRACH Configuration CalculatorLTE RRC TimersLTE Throughput CalculatorTDD Configuration
RF Tools
Antenna Downtilt CalculatorAntenna Gain CalculatorCable Loss CalculatorCell Range CalculatorEIRP CalculatorFresnel Zone CalculatorIdle Mode ReselectionLink Budget CalculatorPath Loss CalculatorPCI CalculatorPIM CalculatorRSRP/RSRQ/SINR Calculator
Common RF
dB CalculatordBm to Watt ConverterFree Space Path Loss CalculatorThermal Noise CalculatorVSWR Calculator
Reference Tools
3GPP Specs Reference3GPP TimelineIMSI/IMEI AnalyzerTechnology ComparisonUE Category Reference
Beta Releases
3GPP NTN Satellite PlannerCORESET/PDCCH Calculator
Preferences
Back to 5g nr
#5G#NR#RACH#Release16

2-Step RACH in Release 16 of 5G NR

WirelessBrew Team
January 20, 2025
10 min read
  • Benefits of 2-Step RACH
  • Design Targets
  • High-level Call Flow
  • MsgA Contents
  • PRACH Preamble Transmission
  • RACH Type Selection Process
  • In the Case of Initial Access
  • In the case of Reconfiguration with Sync
  • MsgA-PUSCH Transmission
  • PUSCH Occasion
  • Frequency Domain Information
  • Time Domain Information
  • Restrictions on msgA-PUSCH Transmission
  • Further Reading
  • FAQ: 2-Step RACH in 5G NR
  • What is the advantage of 2-Step RACH?
  • When is 2-Step RACH used?
  • What are the components of MsgA?
  • Can 2-Step and 4-Step RACH share resources?

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.

2-Step RACH vs 4-Step RACH "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:

  1. MsgA Transmission from UE to gNB
  2. MsgB Reception at UE from gNB

2-Step RACH Call Flow "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

  1. UE checks SIB message to see what Type of RA is defined.
  2. 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-Threshold then it will select 2-Step RA else it will select 4-Step RA.
  3. Or if only 2-step RA is configured then UE will select 2-Step RA.
  4. 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-ConfigDedicated for 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-ConfigDedicated for 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=2 for u = 0 or u=1
    • where N=4 for u = 2 or u=3
    • Where u is the SCS for UL BWP
  • 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-Config is provided in initial UL BWP of SIB1 RRC message.
  • If the UE is in RRC_CONNECTED mode the network can configure msgA-PUSCH-Config as part of active UL BWP.

![MsgA PUSCH Time Domain Offset](/images/posts/5g-nr/2-Step RACH MsgA PUSCH Time domain information.png) "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-PUSCH is provided, a first symbol of the second hop is separated by guardPeriodMsgA-PUSCH symbols 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-PUSCH in BWP-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-TimeDomainOffset provides 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-perSlot and the number of consecutive slots that include PUSCH occasions is provided by nrofSlotsMsgA-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-TimeDomainAllocation points to the PUSCH-TimeDomainResourceAllocationList provided in PUSCHConfigCommon.
  • If there is no table provided in PUSCHConfigCommon then UE will lookup the default 3GPP table from Table 6.1.2.1.1-2 in 38.214.
  • The Value of K2 is not used for msgA PUSCH.
  • UE can use startSymbolAndLengthMsgA-PO-r16 for SLIV and mappingTypeMsgA-PUSCH-r16 for PUSCH mapping type if msgA-PUSCH-TimeDomainAllocation IE 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-ConfigurationCommon is 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-ConfigurationCommon is 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 least N_"gap" symbols after a last SS/PBCH block symbol.
Engineering Tool

5G NR PRACH Configuration Calculator

Interactive tool to calculate the PRACH configuration parameters based on the given inputs.

Further Reading

  • Network Controlled Small Gap Ncsg

  • UL Gap For Tx Power Management

  • Rnti Values And Its Usage In 5g Nr

  • 3gpp Spec Decoding

  • Pre Configured Measurement Gap

  • Lte

  • 3gpp Timeline

  • 4g Lte Earfcn Calculator

  • 5g Nr Arfcn Calculator

  • 5g Nr Gscn Calculator

  • 5g Nr Peak Throughput Calculator

  • 5g Nr Rrc Timers

  • 5g Nr Rsrp Measurements Table

  • Bwp Calculator

  • Cable Loss

  • Cell Range

  • Cell Selection

  • Coreset Calculator

  • Db Calc

  • Eirp Calculator

  • Frequency Band

  • Fresnel Zone Calculator

  • Idle Reselection

  • Lte Prach Configuration Calculator

  • Lte Rrc Timers

  • Mcs Table

  • Measurement Gap Calculator

  • Path Loss Calculator

  • Pci Calculator

  • Resource Grid

  • Rsrp Mapper

  • Rsrp Rsrq Calculator

  • Scs Numerology

  • Sliv Calculator

  • Specs Reference

  • Ssb Configuration

  • Tbs Calculator

  • Tdd Configuration

  • Tech Comparison

  • Timing Advance

  • Ue Category

  • Vswr Calculator

  • 2-Step RACH MsgB Reception (Part 2)

  • 5G NR RACH Trigger Reasons with Details

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.


W
Written by

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 →

Related Technical Articles & Tools

post5g nr

Contention Resolution Identity (MSG4) in 5G NR RACH

post5g nr

Msg2-Random Access Response (RAR) Process in 5G NR RACH

post5g nr

2-Step RACH MsgB Reception (Part 2)

post5g nr

5G NR RACH Trigger Reasons with Details

post5g nr

PDCCH order in 5G NR