Random Access: Random access required to do uplink synchronization between UE and eNB and gNB.
There are 2 types of Random Access Procedure in 5G Network.
Contention Based Random Access(CBRA): UE selects a random access preamble from a pool of preambles shared with other UE, so in CBRA UE taking the risk to select the same preamble as another UE.
Contention Free Random Access: 5G Base station allocate a dedicated random access preamble.
Contention Based Random Access
- Contention Based Random access has four-step
- MSG1 ( UE to gNB or MN-eNB)
- MSG2 ( gNB to UE)
- Msg3 (UE to gNB)
- Ms4 (gNB to UE)
Message 1- UE–gNB or MN-eNB
- Receive SSB( UE measure the RSRP on each received beams, selects the SSB and read the system information Block.
- RMSI for a standalone scenario or RRC reconfiguration for NSA to determine PRACH configuration. Here we will check( RACH occasion: time-frequency resources, prach preamble format, Root sequence index(RSI)
- Calculate RA-RNTI: The RA-RNTI associated with the PRACH in which the Random Access Preamble is transmitted if all condition for PRACH transmission is met.
- Calculate PRACH TX power
- Transmit the preambles
- UE select the preamble which is available in CBRA access or Pool, here we have a parameter ( totalNumberOfRA-Preambles) , Contention based preambles with consecutive indexed associated with SS/PBCH block n, 0≤n≤N-1, per valid PRACH occasion start from the preamble index n.N total preamble/N where N total preamble.
- A UE is provided with a number N of SS/PBCH blocks associated with one PRACH occasion and a number R of contention-based preambles per SS/PBCH block per valid PRACH occasion by ssb-perRACH-OccasionAndCB PreamblesPerSSB. means ssb-perRACH-OccasionAndCB PreamblesPerSSB allows the UE to quantify the number of contention-based PRACH preambles associated with each SSB beams.
- ssb-perRACH-Occasion means a number of SSB beams sharing the same PRACH occasion,64 preambles.
- Now SSB-perRACH-OccasionAndCB PreamblesPerSSB , If N= 1, SS/PBCH block is associated with 64 preambles
- Now SSB-perRACH-OccasionAndCB PreamblesPerSSB , If N<1, SS/PBCH block is associated with 1/N , consecutive valid PRACH occasions and R contention-based preambles with consecutive indexes associated with the SS/PBCH block per valid PRACH occasion start from preamble index 0.
- Now SSB-perRACH-OccasionAndCB PreamblesPerSSB , If N≥1, R contention-based preambles with consecutive indexes associated with SS/PBCH block n 0≤n≤N-1,
- CB PreamblesPerSSB : defines the number of contention-based preambles per PRACH occasion which are available to a specific beam.
Example : ssb-perRACH-Occasion is set to 1/2 and CB-PreamblesPerSSB is set to 40 then there are 80 contention-based preambles available to each beam.
gNB calculates the RA-RNTI associated with the PRACH occasion, in which the random access preamble is transmitted.
Where:
Identifier | Description |
---|---|
s_id | Index of the first OFDM symbol of the specified PRACH (0 ≤ s_id < 14) |
t_id | Index of the first slot of the specified PRACH in a system frame (0 ≤ t_id < 80) |
f_id | Index of the specified PRACH in the frequency domain (0 ≤ f_id < 8) |
ul_carrier_id | Uplink carrier used for Msg1 transmission (0 for NUL carrier, and 1 for SUL carrier) |
The frequency-domain location (resource) for PRACH preamble is determined by the RRC parameter msg1-FDM and msg1-FrequencyStart. The time-domain location (resource) for PRACH preamble is determined by the RRC parameter prach-ConfigurationIndex
RACH-ConfigGeneric ::= SEQUENCE {
prach-ConfigurationIndex INTEGER (0..255),
msg1-FDM ENUMERATED {one, two, four, eight}, the number of PRACH transmission occasions FDMed in one time instance
msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1),
zeroCorrelationZoneConfig INTEGER(0..15),
preambleReceivedTargetPower INTEGER (-200..-74),
preambleTransMax ENUMERATED {n3,n4,n5,n6,n7,n8,n10,n20,n50,n100,n200},
powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6},
ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}
Message 2: Random Access Response(RAR)
MsG2- RAR Contain:
- Timing Advance(TA) for MSG3
- UL Grant for MSG-3
- Temp C-RNTI
- In the second step, following the PRACH transmission, the UE awaits a random-access response from the gNB which would be sent through a DCI scrambled with RA-RNTI value
calculated as above. - The UE attempts to detect a PDCCH with the corresponding RA-RNTI within the period of ra-ResponseWindow.
- The UE searches for the DCI in Type 1 PDCCH common search space.
- The DCI format for scheduling RAR message on PDSCH is DCI format 1_0 scrambled with RA-RNTI.
- The resource allocation type for the Msg2 on PDSCH is resource allocation Type 1.
- The frequency-domain resource allocation for the PDSCH carrying RAR message is specified by DCI format 0_1.
- The time-domain resource allocation for the RAR message on PDSCH is specified by DCI format 1 and PDSCHConfigCommon.
- The RAR window is configured by a rar-WindowLength information element in a SIB message
- If the UE successfully detects the PDCCH, it can decode PDSCH carrying the RAR message.
- After decoding the RAR message, the UE checks, if the random-access preamble ID (RAPID) in the RAR message matches the RAPID assigned to the UE.
- The PDCCH and PDSCH associated with the process are expected to use the same subcarrier spacing and cyclic prefix as SIB1.
- Note that the gNB is not expecting any HARQ-ACK for the RAR message.
- The gNB may conclude that UE has successfully received and decoded the RAR message if the UE does not retransmit PRACH, which would happen if the UE does not detect the DCI format 1_0 with CRC scrambled with the corresponding RA-RNTI within the RAR window, or if the UE does not correctly receive the transport block in the corresponding PDSCH within that window.
-
Random Access Response Windows:
- Note : The UE attempts to receive the RAR during the RAR window(ra-ResponseWindow)as shown in the above figure. The RAR window starts at the first symbol of the earliest CORESET (control resource set) of Type1-PDCCH CSS that starts at least one symbol after the PRACH occasion corresponding to the PRACH transmission. The RAR window size is configured in a number of slots and is less than 10 ms.
- The device monitors the coreset for a DCI format 1_0 which has it CRC bit scrambled by RA-RNTI.
- If the UE receives a DCI Format 1_0 which has its CRC bits scrambled by the RA-RNTI, the UE proceeds to decode the Transport Block (MAC PDU) within the corresponding PDSCH resource allocation.
The RAR MAC protocol data unit (PDU) transmitted in the PDSCH channel, consists of one or more subPDUs and optional padding.
The MAC PDU can include up tot here different types of MAC sub-PDU.
- Backoff indicator
- RAPID
- MAC subPDU with subheader for RAPID and MAC RAR
Backoff indicator :
MAC subheader for Backoff Indicator of size 1 byte
E: Indicate that the MAC PDU includes another MAC sub-PDU if E= 1 A value of “1” indicates that there are more subPDUs in the MAC PDU
IF E=0 A value of “0” indicates that this is the last subPDU of the MAC PDU
T: Differentiate between MAC subheader which includes the Back-off indicator and MAC subheader which include RAPID
“R” is a reserved bit set to “0
MAC subheader for RAPID :
- A subPDU signalling the Random Access Preamble Identifier (RAPID) only.
- This subPDU is used to acknowledge the System Information (SI) request.
- It consists of a MAC subheader for the RAPID
- The MAC subheader for RAPID of size 1 byte
- t IS TET TO 1.
- RAPID field is 6 bits that signal the preamble identifier.
- A SubPDU signalling the RAPID with a MAC RAR.
- This subPDU consist of MAC subheader for RPAID followed by MAC RAR.
MAC subPDU with subheader for RAPID and MAC RAR :
- The MAC RAR is seven bytes
- Rapid size is 1 byte
- The total size of this subPDU is 8 bytes
After these steps, The MAC sub-PDU which includes a Random Access Response provides the followings.
-
Timing Advance Command
-
Uplink Grant
-
Temporary C-RNTI (TC-RNTI)
-
Timing Advance Command: Timing advance command is used to synchronise the uplink transmission timing of the UE at the base station receiver.
- Time advance command that is 12 bits.