You are on page 1of 8

Random Access Procedure:- In order to be synchronized with

the network, RACH procedure is used.
Suppose a UE wants to access the network, so first it will try to attach or syncronise
with the network. In LTE a separate channel PRACH ( Physical Random Access Channel)
is provided for initial access to the network.

When does UE need to perform Random Access Procedure :-
As per specifications, RACH can be performed in below mentioned scenarios :-

• Initial Access - UE is trying to access the network in RRC idle state.
• During RRC connection re-establishment procedure .
• Handover
• When uplink synchronization is lost :- It means from a certain duration network has not
received anything from UE in uplink.
• When UE does not have any PUCCH resources available for SR(Scheduling Request) .
• When timing advance is needed for positioning purpose in RRC connected state for UE.

To initiate the procedure UE lower layes will send a Random Access Request(RACH
Request) after receiving request from UE RRC.

UE receives a lot of information from eNodeB in System Information (SIB2). It's
important to understand those terminologies first.

You can also refer LTE(Long Term Evolution) SIB2 parameters section.
1. RACH Configurations
2. PRACH Configurations

How UE decides about when and where it needs to send RACH Request:-
It is decided on the basis of parameters received in SIB2 PRACH configurations.
UE can use 6 Resource blocks for sending the RACH Request.

From PRACH Config Index - There is a mapping in spec 36211 table 5.7.1-2 from which
UE can find the available subframes where it can send a RACH.
For example:- Prach Config index value = 7, From table it is clear that UE can send a
RACH Req in any system frame but subframe should be 2 and 7.

From PRACH Frequency Offset - This value is also received in SIB2 by UE. It governs
which frequency resource UE can use for the RACH Req.
Example:- If the value of PRACH Freq Offset is 10. UE can use the 6 PRB's starting from
PRB 10 for RACH Request.

What exactly RACH Request contains:-
1. Preamble Index :- There are total of 64 preambles available which are divided into
two groups Group A and Group B. UE decides the preamble index from a group on the
basis of parameters received in SIB2:-

numberofRaPreambles :- eNodeB sends this value in SIB2 which denotes the total
number of preambles available for UE to send a Rach Request.

How UE decides the Power used for Rach request Transmission:- Now UE need to decide the power which will be used for RACH Request transmission. Now UE needs to decide the group from which it needs the preamble. So number of preamble in Group B = numberofRaPreambles .1. We will be explaining them in detail later. DELTA_PREAMBLE = 0 Power used = -100 + 0 + (1.Value varies from -120dBm to -90 dBm . power used for Rach Request transmission = preambleInitialReceivedTargetPower + DELTA_PREAMBLE + (PREAMBLE_TRANSMISSION_COUNTER – 1) *powerRampingStep DELTA_PREAMBLE = This is preamble format based delta offset. If Msg3 size > messageSizeGroupA . preambleInitialReceivedtargetPower = -100 powerRampingStep = 2 First Transmission of Rach Request:- PREAMBLE_TRANSMISSION_COUNTER = 1 For preamble format 0. preamble will be selected from GroupB else preamble will be selected from Group A The actual formula for selecting a preamble is given in spec 36321 sec 5. From the selected group. powerRampingStep:. For Example:- In Sib2. Most of the time preamble format 0 is used. But mainly this is how UE decides the Group. Group is decided on the basis of size of MSG3( RRC connection request ). Power is decided on the factors received in SIB2 as:- preambleInitialReceivedtargetPower:.Power factor which will be used for first transmission of Rach Request. There are four formats available for preamble which are called as preamble formats. That contain factors other than MSG3 size as well.It represents the number of preambles available within Group A.1) *2 = -100 Suppose eNodeB is not able to receive it Second transmission of Rach request:- PREAMBLE_TRANSMISSION_COUNTER = 2 . randomly UE selects a preamble index.sizeOfRaPreamblesGroupA :.This is mainly used when eNodeB is not able to detect the Rach Request then UE will re transmit the RACH Request by increasing the power to powerRampingStep factor. Its value is in bits.sizeOfRaPreamblesGroupA MessageSizeGroupA :.2.It is used for selecting a preamble from a group.

enodeB allocates a temporary identity to the UE which is made permanent after successful RACH procedure. eNodeB PHY(Physical layer) calculates the timing advance which is transmitted to the UE as part of response message. The permanent identity is called as CRNTI ( Cell RNTI ). Allocation of temporary RNTI(Radio Network temporary Identifier) :. In nutshell. 2.Power used = -100 + 0 + (2-1) * 2 = -98 UE will send the RACH Request containing these values in the specified subframe by using the specified resources. Timing advance calculation for RACH Response message:- . steps followed by UE for sending a Rach request:- How eNodeB behaves after receiving Random Access Request:- 1. Timing Advance :.After receiving RACH Request. This TC-RNTI is transmitted to the UE as part of RACH Response which will be used for further communication between the UE and the network. absolute Timing advance value is transmitted.After receiving RACH Request. As part of Rach response.

If the value of the bit is 1 and resource block assignment is type 0 . UE should do the adjustment from the starting of subframe (n +6) .eNodeB will provide the required information in Random Access Response(RAR) message for UE to send the MSG3( RRC Connection Request) . After the Random access response message. Allocate uplink Resources ( UL GRANT ):.This is 1 bit of information which governs whether frequency hopping is enabled or not. enodeB does not send absolute timing advance value. If timing advance is received in subframe n. to achieve frequency diversity Frequency Hopping is used.. UE should perform PUSCH frequency hopping. so for eNodeB to receive the data from UE at correct timing this timing adjustments are done. It will send a value which UE will use to adjust the already stored timing advance value. eNodeB communicates required parameters to UE's in SIB2 which are needed for performing frequency hopping at UE. Ts = 1/(15000 * 2048) seconds NTA = TA * 16 where TA = 11 bit value for random access response varying from 0. 1282 NTA = Amount of time alignment So transmission of uplink radio frame from the UE shall start = (NTA + NTA offset) * Ts NTA offset = 0 ( For type 1 frame structure) = ((NTA + 0) * 1)/ (15000 * 2048) = (TA * 16)/(15000 * 2048 )seconds Mainly this timing advance fundamental is used for eNodeB PHY to receive the UE message at correct timing. For Example:- Suppose eNodeB has allocated 5 RB's to a particular UE in uplink as shown below. We will explain this in Timing advance section later.3 and spec 36211 sec 8. What is Frequency Hopping:- As we know that RB allocation is contiguous in uplink which means eNodeB allocates continuous RB's in frequency domain.1 for details about timing adjustments 3. As in downlink we have multiple resource allocation policies to achieve frequency diversity.. It is possible that UE is far away from the eNodeB . As per 3GPP spec.2 . .1. So in uplink.2. UL Grant is a 20 bit message with contents from MSB to LSB as:- • Hopping Flag :.. Refer spec 36213 sec 4.

Its main advantage is. . • Resource Block Assignment :. As of now. we will be taking it later in that particular section. We are able to achieve frequency diversity in contiguous allocation as well due to hopping. There is a lot more to discuss in frequency hopping.we can summarize it as :- Frequency hopping is used to provide frequency diversity in uplink. But eNodeB has enabled frequency hopping for this UE. same color represents the hopping of UE data in different slots for a particular RB.It is 10 bits of information embedded in UL Grant message. In the figure above. suppose in frequency domain at RB0 channel conditions are bad but at RB3 conditions are good. So in that case. UE can decode the data of RB0 after combining the same colored data. It is clear that the allocation in uplink in terms of RB is contiguous.

10 = (ceiling ( log2(100 *101/2))) .10 = (ceiling ( 12.1. TPC command to power mapping is mentioned in table below . UE decodes it as:- If NULRB <= 44 Truncate the fixed size resource block assignment to its b least significant bits where. The modulation and coding is determined by UE from MCS indices 0 to 15 in table 8. How UE decodes the 10 bit RB Assignment :- According to spec 36213 sec 6.0 0 0 1 1 1 1 1 1 1 RB assignment ( value in decimal) = 127 Now we need to interpret it according to the rules of DCI format 0.1 from spec 36213.It is 4 bits of information in UL grant message whose value varies from 0 to 15.10 and interpret the expanded resource block assignment according to the rules for a regular DCI format 0 For Example :- Lets assume the 10 bits of the information as :. b = ceiling ( log2(NULRB * (NULRB + 1)/2) ) and interpret the truncated resource block assignment according to the rules for a regular DCI format 0 else Insert b most significant bits with value zero where. RB assignment will be :. b = (ceiling ( log2(NULRB * (NULRB + 1)/2) )) . Number of RB's allocated = Floor( 127 /100 ) + 1 =1+1 =2 RB start index = 127 mod 100 = 27 • Modulation and Coding scheme to be used by UE:.3)) .It is indicated in 3 bits as a TPC command whose value varies from 0 to 7.1 1 1 1 1 1 1 1 1 1 Assume Total number of uplink RB's in system = 100 b = (ceiling ( log2(NULRB * (NULRB + 1)/2) )) .1.6.10 = 13 -10 =3 So. • Power used by UE for PUSCH :.1.

eNodeB will prepare a response ( Random Access Response) with above discussed fields and send it to UE. . You can refer the LTE basic section for more details.• UL delay :.This 1 bit of information determines whether an aperiodic CQI. • CSI field :. Its value is in subframes. But we need to understand the timing of response message corresponding to Rach Request.r. It indicates whether the delay of PUSCH is introduced or not. For contention based Random access CSI field is reserved.1 bit of information which can be set to 0 or 1. Timing w.t to Rach Request and Random Access Response:- RAR Response Window is the value transmitted in SIB2. PMI and RI report can be included in the PUSCH transmission.