Professional Documents
Culture Documents
1) Why RACH Procedure Is Required?
1) Why RACH Procedure Is Required?
To initiate the procedure UE lower layers will send a Random Access Request (RACH Request)
after receiving request from UE RRC.
Message2: RAR
RACH Response by MAC on DL-SCH
No HARQ
Addressed to RA-RNTI
Contains RAPID (Preamble ID) , Timing Alignment, Initial UL grant, T-CRNTI
Message4:
Not synchronized with Message
HARQ supported
T-CRNTI for Initial Access and after Radio Link failure
CRNTI for UE in RRC_CONNECTED
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.
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.
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
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.Range of this parameter is 4 to 64
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).
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.
“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_id
Where 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).
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.
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.
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
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.
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
Request)
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.
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.
If NULRB <= 44
Truncate the fixed size resource block assignment to its b least significant bits where,
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,
b = (ceiling ( log2(NULRB * (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 1
Assume Total number of uplink RB's in system = 100
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?
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:-
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.
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
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.
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.
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
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).
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)
18) Rach Configurations
NumberOfRA-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
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)
HighSpeedFlag: For high speed UEs, as this can impact the correlation between cycles
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
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.