These all comes in RACH Preamble Planning: -
There are 64 preambles available in each cell but we can not generate 64 preamble sequences with a cell.
So we have logical root sequence index from 0 to 837 and physical root sequence index (u) for preamble formats 0-3 and 4 respectively.
Here 0-3 and 4 are the antenna's present in a cell. It means for each cell there will be a preamble value decided by Zadoff-Chu sequences rule.
Each cell, then must have a different RootSequenceIndex to avoid the reception of false preambles in adjacent eNodeBs and the planning could be linked (if desired) to the PCI planning.
These preambles are shared among users for initial access and handover. Access to LTE systems can be classified based on the reservation or not of preambles for access. When users have a reserved signature to access the system, they are said to be using Contention Free Random Access (CFRA). On the contrary, when users don't have a reserved signature for access they are said to use Contention Based Random Access. CFRA is typically used during handover. A number of the 64 preambles are normally reserved for handover only.
The 64 preambles are not implicitly communicated to the UEs by the eNodeB but rather, the UE is informed about the process of how to generate them via parameters broadcast in SIB2. These parameters are:
In LTE, there are 838 root Zadoff-Chu sequences available for preambles. The length of each root sequence is 839. RootConfigurationIndex, informs the UE via SIB2 which sequence is to be used.
One root sequence can generate several preambles by cyclic shift. One or more root sequences are needed to generate all preambles in a cell. The UE starts with the broadcasted root index and applies cyclic shifts to generate preambles. ZeroCorrelationZoneConfig points to a table where the cyclic shift is obtained from.
The smaller the cyclic shift, the more preambles can be generated from a root sequence. Hence, the number of sequences needed to generate the 64 preambles in a given cell is:
# of rows = ceiling (64 / (integer (sequence length/cyclic shift)))
For example, if the rootsequence index is 300 and the cyclic shift is 119, then, the number of rows needed to generate the 64 preambles in a cell is:
# of rows = ceiling(64 /(integer(839/119))) = 10
This means, that if we allocated rootsequenceindex 300 to cell X, then cell Y must have rootsequenceindex 310 and cell Y must have rootsequenceindex 320 as shown in the picture below.
I hope it clears your point now.