7 Synchronisation codes for the 3.84 Mcps option
25.2233GPPRelease 17Spreading and modulation (TDD)TS
Sub-clauses 7.1, 7.2 and 7.3 do not apply for 3.84 Mcps MBSFN IMB operation. Synchronisation codes for 3.84 Mcps MBSFN IMB are described in sub-clause 7.4.
7.1 Code Generation
The primary synchronisation code (PSC), Cp , is constructed as a so-called generalised hierarchical Golay sequence. The PSC is furthermore chosen to have good aperiodic auto correlation properties.
Define a = < x1, x2, x3, …, x16 > = < 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1 >
The PSC is generated by repeating the sequence ‘a’ modulated by a Golay complementary sequence and creating a complex-valued sequence with identical real and imaginary components.
The PSC, Cp , is defined as Cp = < y(0),y(1),y(2),…,y(255) >
where
and the left most index corresponds to the chip transmitted first in time.
The 12 secondary synchronization codes, {C0, C1, C3, C4, C5, C6, C8, C10, C12, C13, C14,C15 } are complex valued with identical real and imaginary components, and are constructed from the position wise multiplication of a Hadamard sequence and a sequence z, defined as
z = , where
b =
and x1, x2, x3, …, x16 are the same as in the definition of the sequence ‘a’ above.
The Hadamard sequences are obtained as the rows in a matrix H8 constructed recursively by:
The rows are numbered from the top starting with row 0 (the all ones sequence).
Denote the n:th Hadamard sequence hn as a row of H8 numbered from the top, n = 0, 1, 2, …, 255, in the sequel.
Furthermore, let hm(l) and z(l) denote the lth symbol of the sequence hm and z, respectively where l = 0, 1, 2, …, 255 and l = 0 corresponds to the leftmost symbol.
The i:th secondary SCH code word, Ci, i = 0, 1, 3, 4, 5, 6, 8, 10, 12, 13, 14, 15 is then defined as
Ci = (1 + j) <hm(0) z(0), hm(1) z(1), hm(2) z(2), …, hm(255) z(255)>,
where m = (16i) and the leftmost chip in the sequence corresponds to the chip transmitted first in time.
7.2 Code Allocation
Three secondary SCH codes are QPSK modulated and transmitted in parallel with the primary synchronization code. The QPSK modulation carries the following information:
– the code group that the base station belongs to (32 code groups:5 bits; Cases 1, 2);
– the position of the frame within an interleaving period of 20 msec (2 frames:1 bit, Cases 1, 2);
– the position of the SCH slot(s) within the frame (2 SCH slots:1 bit, Case 2).
The modulated secondary SCH codes are also constructed such that their cyclic-shifts are unique, i.e. a non-zero cyclic shift less than 2 (Case 1) and 4 (Case 2) of any of the sequences is not equivalent to some cyclic shift of any other of the sequences. Also, a non-zero cyclic shift less than 2 (Case 1) and 4 (Case 2) of any of the sequences is not equivalent to itself with any other cyclic shift less than 8. The secondary synchronization codes are partitioned into two code sets for Case 1 and four code sets for Case 2. The set is used to provide the following information:
Case 1:
Table 2: Code Set Allocation for Case 1
Code Set |
Code Group |
1 |
0-15 |
2 |
16-31 |
The code group and frame position information is provided by modulating the secondary codes in the code set.
Case 2:
Table 3: Code Set Allocation for Case 2
Code Set |
Code Group |
1 |
0-7 |
2 |
8-15 |
3 |
16-23 |
4 |
24-31 |
The slot timing and frame position information is provided by the comma free property of the code word and the Code group is provided by modulating some of the secondary codes in the code set.
The following SCH codes are allocated for each code set:
Case 1
Code set 1: C1, C3, C5.
Code set 2: C10, C13, C14.
Case 2
Code set 1: C1, C3, C5.
Code set 2: C10, C13, C14.
Code set 3: C0, C6, C12.
Code set 4: C4, C8, C15.
The following subclauses 7.2.1 to 7.2.2 refer to the two cases of SCH/P-CCPCH usage as described in [7].
Note that in the tables 4 and 5 corresponding to Cases 1 and 2, respectively, Frame 1 implies the frame with an odd SFN and Frame 2 implies the frame with an even SFN.
7.2.1 Code allocation for Case 1
Table 4: Code Allocation for Case 1
Code Group |
Code Set |
Frame 1 |
Frame 2 |
Associated toffset |
||||
0 |
1 |
C1 |
C3 |
C5 |
C1 |
C3 |
-C5 |
t0 |
1 |
1 |
C1 |
-C3 |
C5 |
C1 |
-C3 |
-C5 |
t1 |
2 |
1 |
-C1 |
C3 |
C5 |
-C1 |
C3 |
-C5 |
t2 |
3 |
1 |
-C1 |
-C3 |
C5 |
-C1 |
-C3 |
-C5 |
t3 |
4 |
1 |
jC1 |
jC3 |
C5 |
jC1 |
jC3 |
-C5 |
t4 |
5 |
1 |
jC1 |
-jC3 |
C5 |
jC1 |
-jC3 |
-C5 |
t5 |
6 |
1 |
-jC1 |
jC3 |
C5 |
-jC1 |
jC3 |
-C5 |
t6 |
7 |
1 |
-jC1 |
-jC3 |
C5 |
-jC1 |
-jC3 |
-C5 |
t7 |
8 |
1 |
jC1 |
jC5 |
C3 |
jC1 |
jC5 |
-C3 |
t8 |
9 |
1 |
jC1 |
-jC5 |
C3 |
jC1 |
-jC5 |
-C3 |
t9 |
10 |
1 |
-jC1 |
jC5 |
C3 |
-jC1 |
jC5 |
-C3 |
t10 |
11 |
1 |
-jC1 |
-jC5 |
C3 |
-jC1 |
-jC5 |
-C3 |
t11 |
12 |
1 |
jC3 |
jC5 |
C1 |
jC3 |
jC5 |
-C1 |
t12 |
13 |
1 |
jC3 |
-jC5 |
C1 |
jC3 |
-jC5 |
-C1 |
t13 |
14 |
1 |
-jC3 |
jC5 |
C1 |
-jC3 |
jC5 |
-C1 |
t14 |
15 |
1 |
-jC3 |
-jC5 |
C1 |
-jC3 |
-jC5 |
-C1 |
t15 |
16 |
2 |
C10 |
C13 |
C14 |
C10 |
C13 |
-C14 |
t16 |
17 |
2 |
C10 |
-C13 |
C14 |
C10 |
-C13 |
-C14 |
t17 |
|
|
|
|
|
|
|
|
|
20 |
2 |
jC10 |
jC13 |
C14 |
jC10 |
jC13 |
-C14 |
t20 |
|
|
|
|
|
|
|
|
|
24 |
2 |
jC10 |
jC14 |
C13 |
jC10 |
jC14 |
-C13 |
t24 |
|
|
|
|
|
|
|
|
|
31 |
2 |
-jC13 |
-jC14 |
C10 |
-jC13 |
-jC14 |
-C10 |
t31 |
NOTE: The code construction for code groups 0 to 15 using only the SCH codes from code set 1 is shown. The construction for code groups 16 to 31 using the SCH codes from code set 2 is done in the same way.
7.2.2 Code allocation for Case 2
Table 5: Code Allocation for Case 2
Code Group |
Code Set |
Frame 1 |
Frame 2 |
Associated toffset |
||||||||||
Slot k |
Slot k+8 |
Slot k |
Slot k+8 |
|||||||||||
0 |
1 |
C1 |
C3 |
C5 |
C1 |
C3 |
-C5 |
-C1 |
-C3 |
C5 |
-C1 |
-C3 |
-C5 |
t0 |
1 |
1 |
C1 |
-C3 |
C5 |
C1 |
-C3 |
-C5 |
-C1 |
C3 |
C5 |
-C1 |
C3 |
-C5 |
t1 |
2 |
1 |
jC1 |
jC3 |
C5 |
jC1 |
jC3 |
-C5 |
-jC1 |
-jC3 |
C5 |
-jC1 |
-jC3 |
-C5 |
t2 |
3 |
1 |
jC1 |
-jC3 |
C5 |
jC1 |
-jC3 |
-C5 |
-jC1 |
jC3 |
C5 |
-jC1 |
jC3 |
-C5 |
t3 |
4 |
1 |
jC1 |
jC5 |
C3 |
jC1 |
jC5 |
-C3 |
-jC1 |
-jC5 |
C3 |
-jC1 |
-jC5 |
-C3 |
t4 |
5 |
1 |
jC1 |
-jC5 |
C3 |
jC1 |
-jC5 |
-C3 |
-jC1 |
jC5 |
C3 |
-jC1 |
jC5 |
-C3 |
t5 |
6 |
1 |
jC3 |
jC5 |
C1 |
jC3 |
jC5 |
-C1 |
-jC3 |
-jC5 |
C1 |
-jC3 |
-jC5 |
-C1 |
t6 |
7 |
1 |
jC3 |
-jC5 |
C1 |
jC3 |
-jC5 |
-C1 |
-jC3 |
jC5 |
C1 |
-jC3 |
jC5 |
-C1 |
t7 |
8 |
2 |
C10 |
C13 |
C14 |
C10 |
C13 |
-C14 |
-C10 |
-C13 |
C14 |
-C10 |
-C13 |
-C14 |
t8 |
9 |
2 |
C10 |
-C13 |
C14 |
C10 |
-C13 |
-C14 |
-C10 |
C13 |
C14 |
-C10 |
C13 |
-C14 |
t9 |
10 |
2 |
jC10 |
jC13 |
C14 |
jC10 |
jC13 |
-C14 |
-jC10 |
-jC13 |
C14 |
-jC10 |
-jC13 |
-C14 |
t10 |
11 |
2 |
jC10 |
-jC13 |
C14 |
jC10 |
-jC13 |
-C14 |
-jC10 |
jC13 |
C14 |
-jC10 |
jC13 |
-C14 |
t11 |
12 |
2 |
jC10 |
jC14 |
C13 |
jC10 |
jC14 |
-C13 |
-jC10 |
-jC14 |
C13 |
-jC10 |
-jC14 |
-C13 |
t12 |
13 |
2 |
jC10 |
-jC14 |
C13 |
jC10 |
-jC14 |
-C13 |
-jC10 |
jC14 |
C13 |
-jC10 |
jC14 |
-C13 |
t13 |
14 |
2 |
jC13 |
jC14 |
C10 |
jC13 |
jC14 |
-C10 |
-jC13 |
-jC14 |
C10 |
-jC13 |
-jC14 |
-C10 |
t14 |
15 |
2 |
jC13 |
-jC14 |
C10 |
jC13 |
-jC14 |
-C10 |
-jC13 |
jC14 |
C10 |
-jC13 |
jC14 |
-C10 |
t15 |
16 |
3 |
C0 |
C6 |
C12 |
C0 |
C6 |
-C12 |
-C0 |
-C6 |
C12 |
-C0 |
-C6 |
-C12 |
t16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
3 |
jC6 |
-jC12 |
C0 |
jC6 |
-jC12 |
-C0 |
-jC6 |
jC12 |
C0 |
-jC6 |
jC12 |
-C0 |
t20 |
24 |
4 |
C4 |
C8 |
C15 |
C4 |
C8 |
-C15 |
-C4 |
-C8 |
C15 |
-C4 |
-C8 |
-C15 |
t24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
4 |
jC8 |
-jC15 |
C4 |
jC8 |
-jC15 |
-C4 |
-jC8 |
jC15 |
C4 |
-jC8 |
jC15 |
-C4 |
t31 |
NOTE: The code construction for code groups 0 to 15 using the SCH codes from code sets 1 and 2 is shown. The construction for code groups 16 to 31 using the SCH codes from code sets 3 and 4 is done in the same way.
7.3 Evaluation of synchronisation codes
The evaluation of information transmitted in SCH on code group and frame timing is shown in table 6, where the 32 code groups are listed. Each code group is containing 4 specific scrambling codes (cf. subclause 6.4), each scrambling code associated with a specific short and long basic midamble code.
Each code group is additionally linked to a specific tOffset, thus to a specific frame timing. By using this scheme, the UE can derive the position of the frame border due to the position of the SCH sequence and the knowledge of tOffset. The complete mapping of Code Group to Scrambling Code, Midamble Codes and tOffset is depicted in table 6.
Table 6: Mapping scheme for Cell Parameters, Code Groups,
Scrambling Codes, Midambles and tOffset
CELL PARA-METER |
Code Group |
Associated Codes |
Associated tOffset |
||
Scrambling Code |
Long Basic Midamble Code |
Short Basic Midamble Code |
|||
0 |
Group 0 |
Code 0 |
mPL0 |
mSL0 |
t0 |
1 |
Code 1 |
mPL1 |
mSL1 |
||
2 |
Code 2 |
mPL2 |
mSL2 |
||
3 |
Code 3 |
mPL3 |
mSL3 |
||
4 |
Group 1 |
Code 4 |
mPL4 |
mSL4 |
t1 |
5 |
Code 5 |
mPL5 |
mSL5 |
||
6 |
Code 6 |
mPL6 |
mSL6 |
||
7 |
Code 7 |
mPL7 |
mSL7 |
||
. . . . |
|||||
124 |
Group 31 |
Code 124 |
mPL124 |
mSL124 |
t31 |
125 |
Code 125 |
mPL125 |
mSL125 |
||
126 |
Code 126 |
mPL126 |
mSL126 |
||
127 |
Code 127 |
mPL127 |
mSL127 |
For basic midamble codes mP cf. [7], annex A ‘Basic Midamble Codes’.
Each cell shall cycle through two sets of cell parameters in a code group with the cell parameters changing each frame. Table 7 shows how the cell parameters are cycled according to the SFN.
Table 7: Alignment of cell parameter cycling and SFN
Initial Cell Parameter Assignment |
Code Group |
Cell Parameter used when SFN mod 2 = 0 |
Cell Parameter used when SFN mod 2 = 1 |
0 |
Group 0 |
0 |
1 |
1 |
1 |
0 |
|
2 |
2 |
3 |
|
3 |
3 |
2 |
|
4 |
Group 1 |
4 |
5 |
5 |
5 |
4 |
|
6 |
6 |
7 |
|
7 |
7 |
6 |
|
. . . . |
|||
124 |
Group 31 |
124 |
125 |
125 |
125 |
124 |
|
126 |
126 |
127 |
|
127 |
127 |
126 |
7.4 Synchronisation codes for 3.84 Mcps MBSFN IMB
7.4.1 Code generation
The primary synchronisation code (PSC), Cpsc, is constructed to be orthogonal to both the primary and secondary SCH codes defined in subclause 7.1. The PSC is furthermore chosen to have good aperiodic auto correlation properties and low aperiodic cross correlations with the primary SCH defined in sub-clause 7.1.
Define:
– a = <1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1>
The PSC is generated by repeating the sequence a modulated by a Golay complementary sequence, and creating a complex-valued sequence with identical real and imaginary components. The PSC Cpsc is defined as:
– Cpsc = (1 + j) <a, a, -a, a, -a, a, a, a, a, a, -a, a, a, -a, -a, -a>;
where the leftmost chip in the sequence corresponds to the chip transmitted first in time.
The 16 secondary synchronization codes, {Cssc,1,…,C ssc,16}, are complex-valued with identical real and imaginary components, and are constructed from position wise multiplication of a Hadamard sequence and a sequence z, defined as:
– z = <b, b, b, -b, b, b, -b, -b, b, -b, b, -b, -b, -b, -b, -b>, where
– b = <1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, -1>.
The Hadamard sequences are obtained as the rows in a matrix H8 constructed recursively by:
The rows are numbered from the top starting with row 0 (the all ones sequence).
Denote the n:th Hadamard sequence as a row of H8 numbered from the top, n = 0, 1, 2, …, 255, in the sequel.
Furthermore, let hn(i) and z(i) denote the i:th symbol of the sequence hn and z, respectively where i = 0, 1, 2, …, 255 and i = 0 corresponds to the leftmost symbol.
The k:th secondary synchronization code, Cssc,k, k = 1, 2, 3, …, 16 is then defined as:
– Cssc,k = (1 + j) <hm(0) z(0), hm(1) z(1), hm(2) z(2), …, hm(255) z(255)>;
where m = 16(k – 1) and the leftmost chip in the sequence corresponds to the chip transmitted first in time.
7.4.2 Code allocation of SSC
The secondary synchronisation code sequences shall be constructed as described in subclause 5.2.3.2 in [4]. For MBSFN IMB operation, only the first 8 scrambling code groups are utilised.