PRACH Preamble Generation

The PRACH is time and frequency-multiplexed with PUSCH and PUCCH, PRACH time-frequency resources are semi-statically allocated within the PUSCH region, and repeat periodically.

Figure 1: PRACH in Frequency and time domains

The PRACH occupies 6 PRBs in the frequency domain and in time domain occupy 1, 2 or 3 sub frames, depending on the specific preamble format.

Figure 2: PRACH Resource blocks and time slots

The preamble is a burst, which consists of a Tcp (cyclic prefix), thus allowing for an efficient frequency-domain receiver at the eNodeB.

and a Sequence, the preamble length is shorter than the PRACH slot in order to provide room for a Guard Time to absorb the propagation delay.

Figure 3: Preamble Format

The Guard time is required since the eNodeB does not know when the preambles will arrive.

an example with two UEs:

Figure 4: PRACH Guard Time

The UE A is next to the eNodeB therefore there is very little delay.

In contrast UE “B” is some distance from the eNodeB, as such the initial access preamble is delayed, there is a round trip delay. The eNodeB must allocate a large enough window such that the preambles from UE at the edge of the cell don’t arrive outside of this window.

.In LTE there are four possible preamble format configurations possible.

The formats can have either short or long Cyclic Prefix (CP).

Figure 5: LTE Preamble Format

The long CP, used in formats 1, and 3 enable an increased tolerance for timing uncertainty.

By aggregating two preamble sequences, as done in formats 2 and 3, there can be better compensation for path loss, which also means that these two formats are better for cells of large radius.

There are 4 Preamble formats in LTE, Each format is defined by the durations of the sequence and its CP.

Preamble FormatAllocated Sub framesBurst (µs)TCP (µs)TSEQ (µs)TGT (µs)Max. Delay Spread (µs)Max Cell Radius (km)
4 (TDD)Special Frame167.914.583133.3318.7516.6664.375
Table 1: Preamble specifications
  • Format 0: 1 ms random access burst with 800 μs preamble sequence, for small to medium cells (up to ∼14 km).
  • Format 1: 2 ms random access burst with 800 μs preamble sequence, for large cells (up to ∼77 km), without a link budget problem.
  • Format 2: 2 ms random access burst with 1600 μs preamble sequence, for medium cells (up to ∼29 km) supporting low data rates.
  • Format 3: 3 ms random access burst with 1600 μs preamble sequence, for very large cells (up to ∼100 km).
  • Format 4 is only available for LTE TDD, frame structure type 2 and special subframe configurations, for small cells (up to ∼ 4 km).

The maximum number of preamble available per cell is 64 preamble generated by Zadoff-Chu sequence.

Formula 1: Zadoff-Chu sequence;

there are multiple root Zadoff-Chu sequences used in LTE.

From each root sequence, multiple preambles can be obtained by applying different cyclic shifts:

Formula 2: Cyclic Shift

an Example:

of 2 UEs, UE 1 at the cell edge and UE 2 close to the eNodeB. The cyclic shift used by UE 1 is 0 and the cyclic shift used by UE 2 is Ncs.

Figure 6: Cyclic Shift Ncs

At the eNodeB, the observed cyclic shift of UE 1 will not be 0 but some value x because of the transmission delay.

As long as x is less than Ncs, the auto-correlation between the shifted x and shifted Ncs (as perceived by the eNodeB) will be zero, and the eNodeB will be able to distinguish between the accesses from UE 1 and UE 2.

So, the maximum cell radius is limited by the cyclic shift.

The calculation of the maximum supported cell radius by a cyclic shift, Ncs, is a follow:

The preamble sequence length is 839 and spans 800 milliseconds.

Figure 7: PRACH Subcarriers

So, to keep the Ncs value larger than the transmission delay.

the formula is:

the round trip delay is equal to time of the cell radius devided by C, the speed of light:

from the formula, the maximum Cell Radius should be less than:

The Preamble is generated by Zadoff-Chu sequence:

Formula 3: Zadoff-Chu sequence

Nzc: is the Total Number of Zadoff sequence, equal to 839 for Preamble format 0, 1, 2, and 3.
for preamble format 4, Nzc equal to 139;

the parameter ‘u’: is drived from the Root sequence Index parameter used to generate the PRACH Zadoff-Chu sequence;

The mapping between the logical root sequence Index and the physicals value of, ‘u’ is determined by the following table.

the first column for the Logical value Root Sequence Index, and the second column for the physical value of parameter, “u”.

Table 2: Root sequence Index mapping

for example if the Root Sequence Index is equal to 122 in the range of 116 to 135, then the mapping of 122 from the table to the value of, “u” is 37.

Table 3: Example of Root Sequence Index mapping

Now, the generation of 64 preambles from a single base sequence is given by a cyclic shift defined by the zeroCorrelationZoneConfig and Highspeed flag parameters:

The mapping between zeroCorrelationZoneConfig and the cyclic shift Ncs is determined by the following table:

the first column is the zero correlation zone config parameter and the second column is the Ncs value, the unrestricted set is for high speed flag = False and the restricted set for high speed flag = True.

Table 4: Mapping between ZeroCorrelationZoneConfig and Ncs parameter

for example:

The zeroCorrelationZoneConfig parameter equal to 9, and the High speed flag is False then the Ncs value is equal to 59.

The maximum number of cyclic shift that can be used is from 0 to (Nzc/ Ncs) – 1.

in our example the Ncs value is 59, then the number of cyclic shift is from 0 to (839/59) – 1= 13, so a total of 14 cyclic shift that can be used for the first generated sequence 37 in our example.

so, to generate the 64 preambles, we need more Zadoff-Chu sequences, calculated as follow: 64/14 =4.5, then we need 4 more Zadoff-Chu sequences.

in our example:
the first sequence is 122, the next will be , 123 , 124, 125 and 126 root sequence index, that will be reserved for only one cell.

then the 64 preambles are generated as follow for our example:

the first preamble will use the base sequence, “u”, 37;
the second preamble = cyclic shift to base sequence by 1 * 59;
the third preamble = cyclic shift to base sequence by 2 * 59;

till fourtenth preamble;

PRACH Sequence[13] = cyclic shift to base sequence by 13 * 59;


to use the next Root sequence index: 123, and the value of “u” is 802;

to generate the next fourteenth preambles.

following are the range of NCS values and their usage with the various preamble formats when the high speed flag is set to false.

for example, preamble format 0 can support up to 14 Km, and the Ncs values defines the maximum cell range, if the Ncs value is set to 22 then the max cell range is 2 Km.

if it set to 59 then the cell range is 7.37 Km.

The set of zero correlation zone values for preamble formats 0 to 3 is presented in the following Table.

with the high speed flag setting when it set to false, and true, with the required number of root sequence index required per cell for each Ncs Configuration and the the maximum cell radius supported by each Ncs value.

Ncs ConfigurationHigh Speed flag = False Ncs valueRoot Sequence required per cellMax Cell Radius (Km)High Speed flag = True Ncs valueRoot Sequence required per cellMax Cell Radius (Km)
Table 5: The set of zero correlation zone values for preamble formats 0 to 3

if the cell range is 5 Km, and the high speed flag is set to false, then the Ncs value is 8, and the number of required Root sequence index for the cell is 4.

if the cell range is 10 Km, and the high speed flag is set to true, then the Ncs value is 9, and the required number of Root sequence Index for the cell is 7.

The UE receive the parameters to generate the 64 preambles, in System Information Block type 2 in PRACH Configuration setting as follow:

  • Root Sequence Index;
  • High Speed Flag;
  • and the zero Correlation Zone Config.
Figure 8: Parameters to generate a Preamble in SIB2

YouTube Version: