How to Generate 64 PRACH Preamble Sequences?

This section could provide a more in-depth reference to the specific part of the 3GPP specification (36.331) that describes the RACH configuration information within SIB 2.

  • There is total 64 preambles for each cell.
  • Preamble available are divided into 2 groups. (Group A and Group B)
  • Total 6PRBs are used to send RACH Preamble

This explanation dives into the process of generating PRACH preambles in LTE networks, focusing on the role of parameters broadcasted in System Information Block 2 (SIB 2). It also incorporates additional points for a more comprehensive understanding.

The eNodeB broadcasts three crucial parameters in SIB 2 to facilitate PRACH preamble generation by UEs:

  • Identifies the starting point for the Zadoff-Chu (ZC) root sequence library used to generate preambles. Think of it as a reference number in a codebook containing various ZC sequences.
  • Additional Point: The actual ZC sequence library and its size (typically 64) are pre-configured in the network and known to both the UE and the base station.
  • Indicates the presence of fast-moving UEs within the cell.
  • When set to true, this flag restricts the number of cyclic shifts allowed for preambles to mitigate potential confusion between signals from slow and fast-moving UEs at the base station.
  • Additional Point: This flag essentially enforces stricter timing requirements for fast-moving UEs to ensure their signals are distinguishable from those of slower UEs.
  • Defines the maximum number of cyclic shifts a UE can generate from a single ZC root sequence.
  • Cyclic shifts involve delaying the ZC sequence by a specific number of samples, resulting in different preamble variations.
  • A larger zeroCorrelationZoneConfig value allows for more cyclic shifts, offering a wider range of preambles for the UE to utilize.
  • Additional Point: This parameter balances the trade-off between the number of available preambles (increased diversity) and the risk of inter-cell interference, especially in large cells.

Example: Deriving the Base ZC Sequence (rootSequenceIndex = 22):

  • The provided example states rootSequenceIndex = 22. However, directly obtaining the base ZC sequence from this index isn’t entirely accurate. Here’s a clarified explanation:
  • The rootSequenceIndex points to the position of the base ZC sequence within the pre-defined library (of size 64) known to both the UE and the base station.
  • In this case, rootSequenceIndex = 22 suggests that the 22nd ZC sequence in the library is considered the base sequence for generating preambles.
  • The actual base ZC sequence itself cannot be directly derived from the index; it’s a pre-defined mathematical sequence stored in the library.
  1. The UE retrieves the rootSequenceIndex, highSpeedFlag, and zeroCorrelationZoneConfig values from SIB 2.
  2. Based on the rootSequenceIndex, the UE accesses the corresponding base ZC sequence from the pre-defined library.
  3. The UE generates multiple preambles by applying cyclic shifts to the base ZC sequence, up to the limit specified by zeroCorrelationZoneConfig.
  4. If the highSpeedFlag is set, the number of cyclic shifts might be further restricted to avoid confusion with signals from fast-moving UEs.
  5. The UE can then choose from this pool of generated preambles for its random-access attempt.

Leave a Reply