4.11 Coding for E-HICH ACK/NACK

25.2223GPPMultiplexing and channel coding (TDD)Release 17TS

4.11.1 Coding for E-HICH ACK/NACK for the 3.84Mcps and 7.68Mcps options

4.11.1.1 Overview

The ACK/NACK is transmitted on the E‑HICH as described in [7].

The value of a binary HARQ acknowledgement indicator for user h is denoted "ah" and may assume the value 0 or 1. The value of the indicator is mapped as shown in table 28.

Table 28 – Mapping of HARQ acknowledgement indicator

Command

HARQ acknowledgement indicator value (ah)

NACK

0

ACK

1

A HARQ acknowledgement indicator is mapped to one of 240 signature sequences of length 240 bits and represented by the bit sequence bh,0, bh,1, …, bh,239 for the hth acknowledgement indicator. The signature sequence number "r" is selected as described in [7].

The signature sequence bh,0, bh,1, …, bh,239 is constructed via coding of ah followed by bit scrambling. Spare bits are inserted during the physical channel mapping stage to produce the output sequence dh,0, dh,1, …, dh,U,.

4.11.1.2 Coding of the HARQ acknowledgement indicator

Bit ah is used to form the sequence s2,v (v=0,1,…,239) via a two-stage serialised binary spreading process as shown in figure 26.

Figure 26

The output of the first spreading stage is , where k=0, 1, 2,…, 19.

The output of the second spreading stage is , where v=0, 1,…, 239 and where and, .

The binary sequences selected for the first (C1,i,k) and second (C2,j,m) spreading operations are derived as a function of the HARQ acknowledgement sequence number r (see [7]) such that:

The first orthogonal sequence set (C1,i,k) is given by table 29 and the second orthogonal sequence set (C2,j,m) is given by table 30.

Table 29 – Primary code sequences for HARQ acknowledgement indicator

k

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

C1,0,k

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

C1,1,k

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

C1,2,k

1

0

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

0

C1,3,k

1

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

0

0

C1,4,k

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

0

0

1

C1,5,k

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

C1,6,k

1

0

0

0

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

0

C1,7,k

1

0

0

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

C1,8,k

1

0

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

0

C1,9,k

1

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

C1,10,k

1

0

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

C1,11,k

1

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

C1,12,k

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

C1,13,k

1

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

C1,14,k

1

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

C1,15,k

1

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

C1,16,k

1

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

1

C1,17,k

1

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

1

1

C1,18,k

1

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

C1,19,k

1

1

0

0

1

1

0

0

0

0

1

0

1

0

1

1

1

1

0

0

Table 30 – Secondary code sequences for HARQ acknowledgement indicator

m

0

1

2

3

4

5

6

7

8

9

10

11

C2,0,m

1

1

1

1

1

1

1

1

1

1

1

1

C2,1,m

1

0

1

0

1

1

1

0

0

0

1

0

C2,2,m

0

1

1

0

1

0

0

0

1

1

1

0

C2,3,m

1

1

0

0

1

0

1

1

1

0

0

0

C2,4,m

1

0

1

0

0

1

0

1

1

1

0

0

C2,5,m

0

1

1

0

1

1

0

1

0

0

0

1

C2,6,m

0

1

1

1

0

1

1

0

1

0

0

0

C2,7,m

0

0

1

1

1

0

1

1

0

1

0

0

C2,8,m

1

1

1

0

0

0

1

0

0

1

0

1

C2,9,m

0

0

0

0

1

1

1

0

1

1

0

1

C2,10,m

0

1

0

0

0

1

1

1

0

1

1

0

C2,11,m

1

1

0

1

1

1

0

0

0

1

0

0

4.11.1.3 Bit scrambling of the E-HICH

The bit sequence bh,0,bh,1,…,bh,239 is formed by applying bit scrambling (as defined in subclause 4.2.9) to the sequence s2,v.

4.11.1.4 Physical channel mapping of the E-HICH

The bit sequence bh,0,bh,1,…,bh,239 is segmented into two halves, bh,0,, …, bh,119, and bh,120,…,bh,239. A sequence of U spare bits zu (u=0…U-1) are inserted between the first and second half of the sequence to form:

dh = {bh,0, bh,1, … , bh,119, z0, z1, … zU-1, bh,120, bh,121, … , bh,239}

U is equal to 4 or 36 dependant on the burst type (see [7]). The spare bit sequence zu is not defined.

4.11.2 Coding for E-HICH for the1.28Mcps option only

4.11.2.1 Overview

The scheduled and non-Scheduled transmissions on different E‑HICHs are described in [7]. The acknowledgement indicators for the E-DCH semi-persistent scheduling operation can be transmitted on the same E-HICH carrying indicators for scheduled traffic or the E-HICH carrying indicators for non-scheduled traffic as described in [7].

For 1.28Mcps TDD multi-carrier E-DCH transmission, the acknowledgement indicators for the E-PUCH on one carrier is associated with the E-HICHs on the same carrier. The E-HICHs on the different carriers are coded independently.

The value of a binary HARQ acknowledgement indicator for user h is denoted "ah" and may assume the value 0 or 1. The value of the indicator is mapped as same as that of 3.84Mcps shown in subclause 4.11.1.1.

Construction of the bit sequence for the hth acknowledgement indicator is achieved via a spreading process using an orthogonal sequence which is the row of an orthogonal matrix of order 80. This orthogonal matrix (C80) is Kronecker tensor product of one Hadamard matrix of order 20 (C20) and another Hadamard matrix of order 4 (C4),

is Kronecker tensor product. (note: Kronecker product is not commutative, i.e. ). The element "0" in Hadamard C20 and C4 shall be replaced by "-1" before the Kronecker tensor product operation. And after the operation the elements "-1" in C80 should be converted back into "0".

These two Hadamard matrices are given by table 31 and table 32.

Table 31: Hadamard matrix of order 4

m

0

1

2

3

C4,0,m

1

1

1

1

C4,1,m

1

0

1

0

C4,2,m

1

1

0

0

C4,3,m

0

1

1

0

Table 32: Hadamard matrix of order 20

k

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

C20,0,k

1

0

0

0

0

1

0

0

0

0

1

1

0

0

1

1

0

1

1

0

C20,1,k

0

1

0

0

0

0

1

0

0

0

1

1

1

0

0

0

1

0

1

1

C20,2,k

0

0

1

0

0

0

0

1

0

0

0

1

1

1

0

1

0

1

0

1

C20,3,k

0

0

0

1

0

0

0

0

1

0

0

0

1

1

1

1

1

0

1

0

C20,4,k

0

0

0

0

1

0

0

0

0

1

1

0

0

1

1

0

1

1

0

1

C20,5,k

0

1

1

1

1

1

0

0

0

0

0

1

0

0

1

1

1

0

0

1

C20,6,k

1

0

1

1

1

0

1

0

0

0

1

0

1

0

0

1

1

1

0

0

C20,7,k

1

1

0

1

1

0

0

1

0

0

0

1

0

1

0

0

1

1

1

0

C20,8,k

1

1

1

0

1

0

0

0

1

0

0

0

1

0

1

0

0

1

1

1

C20,9,k

1

1

1

1

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

C20,10,k

0

0

1

1

0

1

0

1

1

0

1

0

0

0

0

0

1

1

1

1

C20,11,k

0

0

0

1

1

0

1

0

1

1

0

1

0

0

0

1

0

1

1

1

C20,12,k

1

0

0

0

1

1

0

1

0

1

0

0

1

0

0

1

1

0

1

1

C20,13,k

1

1

0

0

0

1

1

0

1

0

0

0

0

1

0

1

1

1

0

1

C20,14,k

0

1

1

0

0

0

1

1

0

1

0

0

0

0

1

1

1

1

1

0

C20,15,k

0

1

0

0

1

0

0

1

1

0

1

0

0

0

0

1

0

0

0

0

C20,16,k

1

0

1

0

0

0

0

0

1

1

0

1

0

0

0

0

1

0

0

0

C20,17,k

0

1

0

1

0

1

0

0

0

1

0

0

1

0

0

0

0

1

0

0

C20,18,k

0

0

1

0

1

1

1

0

0

0

0

0

0

1

0

0

0

0

1

0

C20,19,k

1

0

0

1

0

0

1

1

0

0

0

0

0

0

1

0

0

0

0

1

The binary orthogonal sequence (C80,r,n) used for spreading operation is selected from the rth row of the orthogonal matrix of order 80 (C80). A HARQ acknowledgement indicator is synchronously linked with the E-DCH TTI transmission to which it relates. There is thus a one-to-one association between an E-DCH TTI transmission and its respective HARQ acknowledgement indicator.

4.11.2.2 Coding of the HARQ acknowledgement indicator and TPC/SS

For scheduled transmissions, E-HICHs carry HARQ acknowledgement indicators only.

When the special default midamble allocation scheme is not used for E-PUCH, a logical allocation resource tag ID "r" (r=0, 1, 2,…, 79) is calculated first for the E-DCH resource allocation associated with the HARQ acknowledgement indicator.

where:

t0 is the last (highest-numbered) allocated timeslot (1,2,..,5)

q0 is the lowest-numbered channelisation code index allocated in timeslot t0 (1,2,…, Q0)

Q0 is the spreading factor of the lowest-numbered channelisation code index allocated in timeslot t0

When the special default midamble allocation scheme is used for E-PUCH, a logical allocation resource tag ID "r" (r=0, 1, 2,…, 79) is calculated first associated with the HARQ acknowledgement indicator.

where:

t0, q0 and Q0 have the same definition as above .

Offset is decided by the special default midamble pattern indicator on E-AGCH and the mapping in Table33 below applies.

Table 33: Offset mapping table

offset

xmpi,1

xmpi,2

0

0

0

1

0

1

2

1

0

3

1

1

The logical resource tag ID r is then mapped to a physical allocation resource tag ID r’,

,

where P is a permutation function depends on the logical signature index r, system sub-frame number SFN’ of E-HICH and the cell specific basic midamble code sequence. A 7-tap linear feedback shift register (LFSR) is used to generate pseudo-random numbers which are then used to generate the pseudo-random permutation P. The generator polynomial of the 7-tap LFSR is , as shown in Figure 27.

Figure 27: Structure of PN register

The pseudo-random permutation is generated according to the following procedures:

1. Initialization

(a) Initialize M = 80, initialize P as P(m) = m, m = 0, 1, …, M-1;

(b) Initialize N = 7;

(c) Initialize PN register with seed s, where s = LSB(SFN’, N)⊕LSB(MidambleCode, N) and s6, s5, … s0 are put into the register in the order as shown in figure 27;

(d) Initialize i = 0.

2. Repeat the following steps while i <= M – 3.

(a) Find the smallest p such that Mi – 1 < 2p;

(b) Clock the PN register N times to obtain an N-bit pseudorandom number x. Set k = LSB(x, p);

(c) If k > Mi – 1, set k = k – (Mi);

(d) Swap the i-th and the (k+i)-th element of P, i.e., tmp = P(i), P(i) = P(k+i), P(k+i) = tmp;

(e) Increment i by 1.

where "LSB(x, n)" means the right most n bits of x, "⊕" means modulo 2 addition, and the first output bit from the PN register is the MSB, while the final output bit is the LSB . The resulting P is the output permutation and the physical signature sequence index is given by .

The output of the spreading stage is equal to , where n=0,1,…,79 and is the Xor operation.

For Non-Scheduled transmissions and E-DCH semi-persistent scheduling operation,, E-HICHs carry HARQ acknowledgement indicators and TPC/SS commands. The 80 orthogonal sequences are divided into 20 groups while each group includes 4 sequences of contiguous logical resource tag ID. The mapping between the logical resource tag ID and the physical tag ID is same as scheduled transmissions. Each non-scheduled user is assigned one group by higher layer to indicate the HARQ acknowledgement indicator and TPC/SS command. The first one of the four sequences is used for the acknowledgement indicator’s spreading operation and one of the other three is used to indicate TPC/SS command implicitly. The mapping relations between them are described in [7].

The HARQ acknowledgement indicator is spread by the assigned orthogonal sequence (C80,s’,n), where s’ is the physical resource tag ID. The output of the spreading stage is equal to, where n=0,1,…,79. The sequence chosen to indicate TPC/SS command is denoted as "eh,n", , where is the same as the parameter B defined in [7].

4.11.2.3 Bit scrambling and Physical channel mapping of the E-HICH

For scheduled transmission, the bit sequence bh,0,bh,1,…,bh,79 is segmented into two halves, bh,0,, …, bh,39, and bh,40,…,bh,79. 8 spare bits zu (u=0…7) are inserted between the first and second half of the sequence to form:

dh = {bh,0, bh,1, … , bh,39, z0, z1, … z7, bh,40, bh,41, … , bh,79}

The spare bit sequence zu is not defined.For Non-Scheduled transmission, the corresponding output bit sequences are:

dh1 = {ch,0, ch,1, … , ch,39, z0, z1, … z7, ch,40, ch,41, … , ch,79}

dh2 = {eh,0, eh,1, … , eh,39, z0, z1, … z7, eh,40, eh,41, … , eh,79}

Then the corresponding bit sequence dh or dh1/dh2 is formed by applying bit scrambling (as defined in subclause 4.2.9) to the sequence sh,n or sh1,n/sh2,n, n= 0,1,…,87.