rach procedure

22
FAQs on RACH 1) Why RACH procedure is required? 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 synchronize with the network. In LTE a separate channel PRACH (Physical Random Access Channel) is provided for initial access to the network. 2) When does UE need to perform RACH 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 layers will send a Random Access Request (RACH Request) after receiving request from UE RRC. 3) Difference between Contention based and Contention based RACH Contention based RACH Message1: Random access Preamble on RACH 6bit: 5 bit preamble ID and 1 bit to indicate size of message3 Message2: RAR RACH Response by MAC on DL-SCH No HARQ

Upload: madhu-valluri

Post on 30-Jan-2016

246 views

Category:

Documents


4 download

DESCRIPTION

rach faqs

TRANSCRIPT

Page 1: Rach procedure

FAQs on RACH

1) Why RACH procedure is required?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 synchronize with the network. In LTE a

separate channel PRACH (Physical Random Access Channel) is provided for initial access to

the network.

2) When does UE need to perform RACH 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 layers will send a Random Access Request (RACH Request) after receiving request from UE RRC.

3) Difference between Contention based and Contention based RACH

Contention based RACH

Message1: Random access Preamble on RACH6bit: 5 bit preamble ID and 1 bit to indicate size of message3

Message2: RAR RACH Response by MAC on DL-SCHNo HARQAddressed to RA-RNTIContains RAPID (Preamble ID) , Timing Alignment, Initial UL grant, T-CRNTI

Message3: Schedule transmission on UL-SCHHARQ usedFor initial Access:NAS UE ID but no NAS messageRRC Connection Req over CCCHRLC TM After Radio Link Failure:RRC Connection Reestablishment via CCCHRLC TM

Page 2: Rach procedure

No NAS messageAfter HO in target cell:RRC connection Reconfiguration Complete i.e., the confirmation for the RRC connection Reconfiguration over DCCH.Allocated CRNTI.Includes Uplink Buffer Status Report when required.

Message4:Not synchronized with MessageHARQ supportedT-CRNTI for Initial Access and after Radio Link failureCRNTI for UE in RRC_CONNECTED

Non -Contention based RACH Msg 1: RA preamble assignment on DL dedicated signalingHO: HO Command generated by Target eNB sent via source eNBDL data arrival: MAC signaling in case of DL data arrival

Message2: RA preamble on RachUse preamble received from message1.

Message3:No HARQ Addressed to RA-CRNTI.Contains at least Timing Alignment, Initial UL grant for HO case, Timing alignment for DL data arrival case, RA-preamble identifier.

4) Steps followed by UE for sending a RACH request

Page 3: Rach procedure

3) 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 36.211 table 5.7.1-2 from which UE

can find the available sub frames where it can send a RACH.

Example : Prach Config index value = 7, From table it is clear that UE can send a RACH Req in

any system frame but sub frame 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.

4) Exactly when and where Network transmit RACH Response The following is what 3GPP 36.321 (section 5.1.4) describes.

 

Page 4: Rach procedure

Once the Random Access Preamble is transmitted and regardless of the possible occurrence of

a measurement gap, the UE shall monitor the PDCCH for Random Access Response(s)

identified by the RA-RNTI defined below, in the RA Response window which starts at the sub

frame that contains the end of the preamble transmission [7] plus three sub frames and has

length ra-ResponseWindowSize sub frames.

 

It means the earliest time when the network can transmit the RACH response is 3 sub frames

later from the end of RACH Preamble. Then what is the latest time when the network can

transmit it? It is determined by ra-ResponseWindowSize. This window size can be the number

between 0 and 10 in the unit of sub frames. This means that the maximum time difference

between the end of RACH preamble and RACH Response is only 12 sub frames (12 ms) which

is pretty tight timing requirement.

5) How many preamble sequences are available and how they are grouped?

Total 64 preamble sequences are available; they can be divided into group A and group B.

UE select a sequence from any of the groups based on

a) The size of uplink packet to be sent

b) The radio conditions

This allows the enodeb to decide upon the quantity of PUSCH resources to allocate to UE for its

uplink data transfer;

Group A are intended for small packets, or large packets in poor radio conditions

Group B are intended for large packets in good radio conditions

Once the UE as selected either group A or group B, a preamble is selected at random from

within that group .

8 preamble sequences are reserved by enodeb out of 64 for the purpose of non-contention

based RACH during intra handover scenarios

6) 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

Page 5: Rach procedure

preambles available for UE to send a Rach Request.Range of this parameter is 4 to 64

SizeOfRaPreamblesGroupA: -Total number of random access preambles sequences available within Group A. Preambles are divided into Group A and Group B. Group A preambles are intended for sending small packets and Group B preambles are intended for sending large packets. Range of this parameter is 4 to 60

MessageSizeGroupA: Message size threshold for selecting preamble Group A in term of bits. Its value is in bits(56, 144, 208 or 256 bits)

Now UE needs to decide the group from which it needs the preamble. Group is decided on the basis of size of MSG3 (RRC connection request).

If Msg3 size > messageSizeGroupA,Preamble will be selected from GroupBElsePreamble will be selected from Group A

the actual formula for selecting a preamble is given in spec 36321 sec 5.1.2. That contains factors other than MSG3 size as well. But mainly this is how UE decides the Group. From the selected group, randomly UE selects a preamble index. 

7) How can we get RA RNTI? “5.1.4 Random Access Response reception" in "TS36.321” says how to calculate RA_RNTI as follows. The RA-RNTI associated with the PRACH in which the Random Access Preamble is transmitted, is computed as:RA-RNTI = 1 + t_id + 10 * f_idWhere t_id is the index of the first subframe of the specified PRACH (0 <≤ t_id <10), and f_id is the index of the specified PRACH within that subframe, in ascending order of frequency domain (0≤ f_id< 6). For FDD, f_id is fixed as 0. Therefore, RA_RNTI is decided by the sending timing (Subframe) of PRACH Preamble by UE. It means that (the subframe number (number between 0000~0009) of PRACH transmission + 1) is RA-RNTI.It means that UE specifies RA_RNTI by the sending timing (Subframe) of PRACH Preamble. 

8) What is preamble format? If you see the table 5.7.1-1 show above, you see the column titled as "Preamble Format". It is defined as following diagram. 

Page 6: Rach procedure

You would see that the length of PRACH preamble varies depending on the preamble format. For example, the length of PRACH with preamble format is (3186 + 24567) Samples. (As you know, one sample (Ts) is 1/30.72 us. It is defined as 1/(15000 x 2048) seconds in 36.211 4 Frame structure). 

 The preamble format to be used within a specific cell is signaled using the PRACH configuration index which is broadcast within SIB2.

Multiple preamble formats is used for various cell ranges as shown below

9) Explain about PRACH preamble structure

Page 7: Rach procedure

Following figure shows the PRACH Preamble signal structure in comparison with normal Uplink subframe. A couple of points to be specially mentioned are

Preamble Length in Frequency Domain is amount to 6 RBs of UL Subframe, which is 1.08MHz

One sub carrier of PRACH Preamble is 1.25 KHz whereas 1 sub carrier of UL subframe is 15 KHz. It means that 12 preamble sub carrier is amount to 1 UL Subframe subcarrier.

The random access preamble occupies 1,2,3 subframes in time domain (1,2,3 ms ) and 839 subcarriers in frequency domain (1.08MHz) .there is a 15khz guard band either side of the random access preamble so a total of 1.08 MHz is used (6RBs)

The position of the random access preamble in frequency domain is defined by PRACH frequency offset parameter within SIB2 .This parameter as a range of 0 to 94, and specifies the first resource block within which the preamble is located

There is a max of 1 random access preamble resource within each subframe but more than a single UE can use that preamble resource. Multiple UEs using the same preamble resource are differentiated by their preamble sequences

Page 8: Rach procedure

10) How eNodeB behaves after receiving Random Access request

1. Allocation of temporary RNTI (Radio Network temporary Identifier):- After receiving RACH Request, eNodeB allocates a temporary identity to the UE which is made permanent after successful RACH procedure. The permanent identity is called as TCRNTI .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.

2. Timing Advance: - After receiving RACH Request, eNodeB PHY (Physical layer) calculates the timing advance which is transmitted to the UE as part of response message.

As part of Rach response, absolute Timing advance value is transmitted.

Timing advance calculation for RACH Response message:-As per 3GPP spec,Ts = 1/(15000 * 2048)  secondsNTA = TA * 16 where TA = 11 bit value for random access response varying from 0,1,2 .... 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. It is possible that UE is far away from the eNodeB , so for eNodeB to receive the data from UE at correct timing this timing adjustments are done.

If timing advance is received in subframe n, UE should do the adjustment from the starting of subframe (n +6). 

After the Random access response message, eNodeB does not send absolute timing advance value. It will send a value which UE will use to adjust the already stored timing advance value. We will explain this in Timing advance section later.   Refer spec 36213 sec 4.2.3 and spec 36211 sec 8.1 for details about timing adjustments 

3. Allocate uplink Resources (UL GRANT):- eNodeB will provide the required information in Random Access Response (RAR) message for UE to send the MSG3 (RRC Connection

Page 9: Rach procedure

Request)

UL Grant is a 20 bit message with contents from MSB to LSB as:-

Hopping Flag :- This is 1 bit of information which governs whether frequency hopping is enabled or not. If the value of the bit is 1 and resource block assignment is type 0, UE should perform PUSCH frequency hopping.What is Frequency Hopping:- As we know that RB allocation is contiguous in uplink which means eNodeB allocates continuous RB's in frequency domain. As in downlink we have multiple resource allocation policies to achieve frequency diversity.

So in uplink, to achieve frequency diversity Frequency Hopping is used. eNodeB communicates required parameters to UE's in SIB2 which are needed for performing frequency hopping at UE.

For Example:-Suppose eNodeB has allocated 5 RB's to a particular UE in uplink as shown below.

It is clear that the allocation in uplink in terms of RB is contiguous. But eNodeB has enabled frequency hopping for this UE. 

We are able to achieve frequency diversity in contiguous allocation as well due to hopping. In the figure above, same color represents the hopping of UE data in different slots for a particular RB.

There is a lot more to discuss in frequency hopping. We will be taking it later in that particular section.

As of now, we can summarize it as:-

Page 10: Rach procedure

Frequency hopping is used to provide frequency diversity in uplink. Its main advantage is, 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. 

Resource Block Assignment :- It is 10 bits of information embedded in UL Grant message.How UE decodes the 10 bit RB Assignment :-According to spec 36213 sec 6.1.1, UE decodes it as:-

If NULRB <= 44Truncate the fixed size resource block assignment to its b least significant bits where,b = ceiling ( log2(NUL

RB * (NULRB + 1)/2) )

and interpret the truncated resource block assignment according to the rules for a regular DCI format 0  

elseInsert b most significant bits with value zero where, b = (ceiling ( log2(NUL

RB * (NULRB + 1)/2) )) - 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 :- 1 1 1 1 1 1 1 1 1 1Assume Total number of uplink RB's in system = 100

b =  (ceiling ( log2(NULRB * (NUL

RB + 1)/2) )) - 10  = (ceiling ( log2(100 *101/2))) - 10

   = (ceiling ( 12.3)) - 10

    = 13 -10    = 3

So, RB assignment will be :- 0 0 0 1 1 1 1 1 1 1RB assignment ( value in decimal) =  127Now we need to interpret it according to the rules of DCI format 0.

Number of RB's allocated = Floor (127 /100) + 1                                        = 1 + 1                                        = 2RB start index = 127 mod 100                     = 27

Modulation and Coding scheme to be used by UE:-  It is 4 bits of information in UL grant message whose value varies from 0 to 15. The modulation and coding is determined by UE from MCS indices 0 to 15 in table 8.6.1.1 from spec 36213.

Power used by UE for PUSCH: - It is indicated in 3 bits as a TPC command whose value varies from 0 to 7. TPC command to power mapping is mentioned in table below

Page 11: Rach procedure

UL delay :- 1 bit of information which can be set to 0 or 1. It indicates whether the delay of PUSCH is introduced or not. 

CSI field: - This 1 bit of information determines whether an aperiodic CQI, PMI and RI report can be included in the PUSCH transmission. For contention based Random access CSI field is reserved. 

ENodeB will prepare a response (Random Access Response) with above discussed fields and send it to UE. But we need to understand the timing of response message corresponding to Rach Request.

11) What if UE does not receive RACH Response at the first trial? What is UE supposed to do in this case?

The answer is simple. Just retry (resend) PRACH.Following is an example of PRACH Retry being observed in a real device. This is the case where UE send PRACH and NW does not send RAR (Yellow cell indicates the timing determined by PRACH Config Index when UE is allowed to send PRACH. Green cell indicates the timing when UE send PRACH in this specific example)

12) How UE decides the Power used for Rach request Transmission?

Page 12: Rach procedure

Now UE need to decide the power which will be used for RACH Request transmission. Power is decided on the factors received in SIB2 as:-

PreambleInitialReceivedtargetPower: - Power factor which will be used for first transmission of Rach Request. Value varies from -120dBm to -90 dBm.

PowerRampingStep:- 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.

Power used for Rach Request transmission = PreambleInitialReceivedtargetPower + DELTA_PREAMBLE + (PREAMBLE_TRANSMISSION_COUNTER – 1) * PowerRampingStep

DELTA_PREAMBLE = this is preamble format based delta offset. There are four formats available for preambles which are called as preamble formats

For Example:-In Sib2, preambleInitialReceivedtargetPower = -100 PowerRampingStep = 2

First Transmission of Rach Request:-PREAMBLE_TRANSMISSION_COUNTER = 1For preamble format 0, DELTA_PREAMBLE = 0 Power used = -100 + 0 + (1- 1) *2 = -100

Suppose eNodeB is not able to receive itSecond transmission of Rach request:-PREAMBLE_TRANSMISSION_COUNTER = 2Power 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.

13) When do I have to retry? (What should be the time delay between the previous transmission and the next transmission?)It’s provided by Network via a special RAR MAC PDU called "Back off Indicator".

Back off Indicator is a special MAC sub header that carries the parameter indicating the time delay between a PRACH and the next PRACH.There are cases where a UE has to send another PRACH after it already sent a PRACH. The most common cases would be as follows.i) UE sent a PRACH but didn't get a RAR for some reason.ii) UE sent a PRACH and got RAR, but the RAPID in the RAR is not for the UE. The structure of 'Back off Indicator' is as follows. 

Page 13: Rach procedure

 If you see the bit field shown above, you would notice that BI (Back off Indicator) field is made up of 4 bits, implying that it can carry the value from 0~15. Each of these value maps to a specific time value as shown in the following table. (36.321). For example, if the BI field value is 10, Back off Parameter value is 320 ms. This means UE can send PRACH any time in between 0 and 320 ms from now.

 When this BI is transmitted by MAC, it is transmitted as in the following structure (36.321). You see BI subheader should always be at the beginning of the whole MAC header. If you see more carefully, you would notice that BI subheader is shown with 'dotted' rectangle. It means that this is optional, implying that the network send or does not send BI depending on the situation.If you see even more carefully, you would notice that BI subheader does not have any corresponding payload part. It means "Backoff Indicator" information is carried directly by the MAC header/subheader and it doesn't use any payload field. 

Page 14: Rach procedure

14) Do I have to retransmit the PRACH with the same power as previous one? Or try with a little bit higher power? If I have to try with a little bit higher power, how much power do I have to increase?

Provided by Network via SIB2 as follows. PowerRampingStep =dB2. It means UE has to increase

PRACH power by 2 dB every time it retries.PowerRampingStep: power ramping step size with possible values of 0, 2, 4 or 6 dB

15) If I keep failing to receive RACH response, how many times I have to retry? Do I have to retry until the battery runs out? Or retry only several times and give up? If I have to give up after a certain amount of retry, exactly how many times do I have to retry?

PreambleTransMax = n6. It means UE retries PRACH retransmit only 6 times and then give up.PreambleTransMax: Maximum number of preambles transmissions. Possible values are 3, 4, 5, 6, 7, 8, 10, 20, 50, 100, and 200

16) Failure of RAR

Check the below things

Is eNB sending RACH MSG2 (if so check the RAPID correlate it with that of MSG1’s) also

check if UE decoding SIB2 properly or not (some imp params are ra-

ResponseWindowSize, PRACH Configuration Index.)

Please check RA Window Size, After sending the RACH MSG 1 UE monitors PDCCH for

certain duration i.e.,3 subframes (after transmission of MSG1 ) + ra-

ResponseWindowSize subframes (can be found from SIB2)

17) Explain RAR PDU format

If you decode UL Grant part, you will get the following result. You will notice that the information it carries would be very similar to DCI format 0 which carries Resource Allocation for uplink data. This information in UL Grant in RACH Response message is the resource allocation for msg3 (e.g., RRC Connection Request). 

Page 15: Rach procedure

EXAMPLE

Note: This is example of RAR for System BW 5 Mhz. If the system BW gets different, you should have different RIV values (if you want to have the same Start_RB, N_RB as in this example) or you will have different Start_RB, N_RB (if you keep RIV as below and just change the system BW)

Page 16: Rach procedure

18) Rach ConfigurationsNumberOfRA-Preambles: Total number of random access preambles available for contention based random access. Since there are maximum 64 preambles sequences available, others could be reserved by eNB for Non-Contention based random access. Range of this parameter is 4 to 64

Page 17: Rach procedure

sizeOfRaPreamblesGroupA: Total number of random access preambles sequences available within Group A. Preambles are divided into Group A and Group B. Group A preambles are intended for sending small packets and Group B preambles are intended for sending large packets. Range of this parameter is 4 to 60

MessageSizeGroupA: Message size threshold for selecting preamble Group A in term of bits (56, 144, 208 or 256 bits)

MessagePowerOffsetGroupB: Power offset for selecting preamble Group B (0, 5, 8, 10, 12, 15 or 18 dB)

PowerRampingStep: power ramping step size with possible values of 0, 2, 4 or 6 dB

PreambleInitialReceivedtargetPower: Preamble initial received target power with values from -120 dBm to -90 dBm with step size of 2 dBm

PreambleTransMax: Maximum number of preambles transmissions. Possible values are 3, 4, 5, 6, 7, 8, 10, 20, 50, 100, and 200.

Ra-ResponseWindowSize: Duration of RA response window. RA response window size is in unit of subframes (2, 3, 4, 5, 6, 7, 8, or 10 subframes)

Page 18: Rach procedure

Mac-ContentionResolutionTimer: Mac contention resolution timer in unit of subframes (8, 16, 24, 32, 40, 58, 56 or 64 subframes)

maxHARQ-Msg3Tx: Maximum number of HARQ retransmissions for message 3 of RACH process (contention-based Random access) with possible values from 1 to 8 in step of 1

19) PRACH ConfigurationsRootSequenceIndex: RA preambles are generated from Zadoff Chu sequence which consists of series of root sequences. Each root sequence can be cyclic shifted to obtain preamble sequence. Range of rootSequenceIndex is 0 to 837. 

Prach-ConfigIndex: This parameter defines exactly when UE should send RACH in frequency/time grids (Details TS36.211 Table 5.7.1-2)

HighSpeedFlag: For high speed UEs, as this can impact the correlation between cycles

ZeroCorrelationZoneConfig: The zero correlation zone is used to guarantee orthogonality of generated sequences. The value depends on particular condition in the cell

Prach-FreqOffset: With this information cell informs UE and other neighbor cells know about which PRB is available for RACH access

20) Can the RAR message contain information for more than one UE?

For example if we have 56 simultaneous users performing RACH procedure can the RAR message contain information for all 56 UE?

Scenario: All 56 will have the same RA-RNTI (this is INITIAL RRC connection) since all will send on subframe 1 for example.  They will have different preambles.

Thus when they send the message 1, all UEs will monitor PDCCH for RA-RNTI - this will then tell the UE where to search in the PDSCH for the RAR message. I am then thinking that the UE will use it sent preamble and associate it with the preamble in the RAR to receive the UL grant, TA, C-RNTI etc....thus the RAR message can have the ability to contain information for multiple UE based on the use of the preambles sent in the RAR - The UE will have to search for its sent preamble amongst the sent preambles from the eNodeB.

All the received preambles within one PRACH are answered by one MAC PDU.That MAC PDU contains multiple RAR messages addressing multiple UEs with identified preamble indices.

Size of MAC PDU depends upon how many RAR bundled and addressed to RA-RNTI

I'm not sure what the maximum size of MAC PDU is. (Max size of MAC PDU / RAR Message size) will give us the maximum number of RAR messages that can be bundle

Page 19: Rach procedure

21) What is the difference between PRACH of UMTS and LTE?

Umts –PRACH is used to transfer RRC messages (RRC connection request /cell update) and application data.

LTE - PRACH doesn’t transfer RRC messages or application data.