Almost every LTE physical signal starts from a known sequence. The UE detects a cell, estimates a channel or removes a scrambling code by correlating what it receives with that sequence. LTE uses three families of them: Zadoff-Chu sequences, Gold sequences and m-sequences. This page shows where each family is used and why it suits that job.
Followings are the topics to be covered in this page.
- Sequence Types and Their Use in LTE
- Zadoff-Chu Sequence
- Gold Sequence - Pseudo-Random Sequence
- m-Sequence
- Reference
Sequence Types and Their Use in LTE
Which sequence does each LTE signal use? The table below groups the signals by sequence family. Each row links to the page that covers that signal in detail, and the Example column links to a worked example where one exists.
|
Sequence Type |
Application in LTE |
Example |
|
Generation of PSS |
||
|
Generation of PRACH |
|
|
Generation of PUSCH DMRS |
||
Generation of PUCCH DMRS |
|
|
Generation of SRS |
|
|
|
Generation of Downlink Reference Signal |
|
|
|
Scrambling of PDSCH |
|
|
|
Scrambling of PMCH |
|
|
|
Scrambling of PDCCH |
|
|
|
Calcuating f_gh() in PUSCH DMRS |
||
|
Generation of SSS |
The split follows the job each signal does. Zadoff-Chu sequences are used where the receiver must correlate against a known waveform, as in synchronization, random access and the uplink reference signals. Gold sequences are used where a long binary code with a cell- or UE-specific seed is needed, as in scrambling and the downlink reference signals. The SSS is built from shorter m-sequences, so that 168 cell-identity groups can be told apart with simple binary codes.
One detail of the table needs care. The uplink reference signals use Zadoff-Chu sequences only when the sequence has 36 elements or more, that is 3 RB or more (36.211 v19.3.0 clause 5.5.1.1). For 12 and 24 elements, clause 5.5.1.2 defines computer-generated QPSK sequences from Table 5.5.1.2-1 and Table 5.5.1.2-2 instead. So a 1 RB PUSCH DMRS and the PUCCH DMRS use these table-based sequences, not a Zadoff-Chu root.
Zadoff-Chu : PSS, PRACH, and uplink reference signals of 3 RB or more.Gold sequence : scrambling, downlink reference signals and group hopping.m-sequence : SSS, and the two building blocks of the Gold sequence.1 RB and 2 RB uplink reference signals : computer-generated sequences from Tables 5.5.1.2-1 and 5.5.1.2-2.
Zadoff-Chu Sequence
Why is a Zadoff-Chu sequence used for synchronization and random access? The receiver of these signals does not know the timing in advance, so it must find a known waveform by correlation. A Zadoff-Chu sequence gives a sharp correlation peak and a flat envelope at the same time.
The root sequence of length NZC and root index u is xu(n) = exp(-j pi u n (n+1) / NZC), for n = 0 to NZC - 1. Every element has magnitude 1, which keeps the peak-to-average power ratio low. Its cyclic shifts are orthogonal: the periodic autocorrelation is zero at every non-zero shift. When NZC is prime, two sequences with different roots have a cross-correlation of exactly 1/√NZC at every shift.
A calculation shows these properties for the PSS, which uses NZC = 63 and the roots 25, 29 and 34 of 36.211 Table 6.11.1.1-1 for NID(2) = 0, 1 and 2. The off-peak autocorrelation of each root is 0, and the cross-correlation between roots 25 and 29 is 0.126 at every shift, which is 1/√63. The PSS then leaves out the middle element of the 63, so 62 values are mapped around the DC subcarrier.
The other users choose the length for their own needs. PRACH preamble formats 0 to 3 use NZC = 839 and format 4 uses 139 (Table 5.7.2-1), and each root gives several preambles by cyclic shift. The uplink reference signals use the largest prime below the sequence length and extend the sequence cyclically to fill it. They are arranged in 30 groups, so that neighbouring cells can use different groups.
Constant amplitude : every element has magnitude 1.Zero autocorrelation off the peak : cyclic shifts of one root are orthogonal.Cross-correlation 1/√NZC : 0.126 between PSS roots 25 and 29.Lengths 63, 839, 139 : PSS, PRACH formats 0 to 3, PRACH format 4.
Gold Sequence - Pseudo-Random Sequence
Scrambling needs a long binary code that looks random but can be regenerated exactly from a short seed. 36.211 v19.3.0 clause 7.2 defines one pseudo-random generator for all these uses, and each channel differs only in the seed it loads.
The generator is a length-31 Gold sequence. It adds two m-sequences of degree 31 modulo 2: x1(n+31) = (x1(n+3) + x1(n)) mod 2 and x2(n+31) = (x2(n+3) + x2(n+2) + x2(n+1) + x2(n)) mod 2. The first register always starts with x1(0) = 1 and 30 zeros. The second register is loaded with cinit. The output c(n) = (x1(n + NC) + x2(n + NC)) mod 2 skips the first NC = 1600 values. Seeds that differ in a single bit therefore still give sequences that look unrelated.
A calculation shows this. With cinit = 1, the first 20 output bits are 00000010100000110000. With cinit = 2 they are 10000010110011111000. The seed carries the identity of the transmission. For the PDSCH it is nRNTI x 214 + q x 213 + floor(ns/2) x 29 + NIDcell (clause 6.3.1). The code therefore changes with the UE, the codeword, the subframe and the cell. For uplink group hopping the seed is floor(nIDRS/30) at the start of each radio frame (clause 5.5.1.3). nIDRS equals NIDcell unless higher layers configure a virtual cell identity (clause 5.5.1.5).
The same generator is used well beyond the rows of the table above. It also scrambles the PBCH, PCFICH, PHICH and PUSCH, and it produces the CRS, the UE-specific reference signals, the CSI-RS and the positioning reference signal. Only cinit and the length of the output change from one use to the next.
Two degree-31 m-sequences added modulo 2 : x1 fixed, x2 loaded with cinit.NC = 1600 : the first 1600 outputs are discarded.cinit carries the identity : RNTI, codeword, subframe and cell for the PDSCH.One generator, many uses : scrambling and most downlink reference signals.
m-Sequence
The SSS must carry one of 168 cell-identity groups and also tell subframe 0 from subframe 5. 36.211 v19.3.0 clause 6.11.2.1 builds it from length-31 m-sequences, because their cyclic shifts are easy to generate and to separate.
An m-sequence comes from a shift register with a primitive feedback polynomial. The SSS sequence x uses x(i+5) = (x(i+2) + x(i)) mod 2, starting from x(0) to x(3) = 0 and x(4) = 1. A calculation gives 0000100101100111110001101110101: 31 bits, which is 25 - 1, with 16 ones and 15 zeros. After mapping 0 to +1 and 1 to -1, its periodic autocorrelation is -1 at every non-zero shift, so each cyclic shift is almost orthogonal to the others.
The SSS interleaves two cyclic shifts of this sequence, with shifts m0 and m1 taken from NID(1) (Table 6.11.2.1-1). The two halves swap places between subframe 0 and subframe 5, which gives the frame timing. Two further m-sequences, with the feedback x(i+3) + x(i) and x(i+4) + x(i+2) + x(i+1) + x(i), scramble the halves. Their shifts depend on NID(2) and m0 or m1. The Gold sequence of the previous section is itself the sum of two m-sequences, of degree 31 instead of 5.
Period 25 - 1 = 31 : 16 ones and 15 zeros.Autocorrelation -1 off the peak : cyclic shifts are almost orthogonal.SSS = two shifted m-sequences : shifts from NID(1), halves swapped between subframes 0 and 5.Scrambling of the halves : two more m-sequences, tied to NID(2).
Reference
[1] 3GPP TS 36.211 v19.3.0 - clauses 5.5.1 (uplink reference signal sequences), 5.7.2 (PRACH preambles), 6.11 (synchronization signals) and 7.2 (pseudo-random sequence generation)