5.1a.13 Packet data block type 24 (UBS-10)

3GPP45.003GSM/EDGE Channel codingRelease 17TS

5.1a.13.1 Block constitution

If the message delivered to the encoder does not include a PAN, it has a fixed size of 1834 information bits {d(0),d(1),…,d(1833)}. If the message delivered to the encoder includes a PAN, it has a fixed size of 1859 information bits {d(0),d(1),…,d(1858).

NOTE: The presence of the PAN is indicated by the PANI field in the header (see 3GPP TS 44.060).

The message is separated into the following parts:

h(k) = d(k) for k = 0,…,51

i1(k-52) = d(k) for k = 52,…,645

i2(k-646) = d(k) for k = 646,…,1239

i3(k-1240) = d(k) for k = 1240,…,1833

And if a PAN is included:

pn(k-1834) = d(k) for k = 1834,…,1858

5.1a.13.2 Header coding

The header {h(0),…,h(51)} is coded as defined in subclause 5.1a.1.1, with N=52, resulting in a block of 180 bits, {C(0),…,C(179)}.

The code is punctured in such a way that the following coded bits:

{ C(15*k+14) for k=0,…,11} are not transmitted.

This results in a block of 168 bits, {hc(0),…,hc(167)}.

5.1a.13.3 Data coding

Each data part, {i1(0),…,i1(593)}, {i2(0),…,i2(593)} and {i3(0),…,i3(593)}, is coded as defined in subclause 5.1a.1.2, with N=594, resulting in three coded blocks of 1836 bits, {C1(0),…,C1(1835)}, {C2(0),…,C2(1835)} and {C3(0),…,C3(1835)}.

Each coded block is punctured depending on the value of the CPS field as defined in 3GPP TS 44.060. Three puncturing schemes named P1, P2 or P3 are applied in such a way that the following coded bits are punctured:

Always punctured

Punctured only if a PAN is included

P1

C(15*k+j) for k=0,…,121, j=2, 4, 5, 6, 8, 11, 12 and 13; and

C(15*122+j) for j=2, 4 and 5,

except C(15*k+8) for k=10, 51 and 92 that are not punctured

C(15*k+8) for k=10, 51 and 92; and

C(15*k+1) for k=0, 4, 9, 14, 19, 24, 29, 34, 39, 44, 48, 53, 58, 63, 68, 73, 78, 83, 88, 93, 97, 102, 107, 112 and 117

P2

C(15*k+j) for k=0,…,121, j=0, 1, 3, 7, 8, 9, 10 and 14; and

C(15*122+j) for j=0, 1 and 3,

except C(15*k) for k=20, 61 and 102 that are not punctured

C(15*k) for k=20, 61 and 102; and

C(15*k+12) for k=1, 6, 11, 16, 21, 26, 31, 35, 40, 45, 50, 55, 60, 65, 70, 75, 79, 84, 89, 94, 99, 104, 109, 114 and 119

P3

C(15*k+j) for k=0,…,121, j=0, 2, 5, 6, 7, 11, 13 and 14; and

C(15*122+j) for j=0, 2 and 5,

except C(15*k+2) for k=30, 71 and 112 that are not punctured

C(15*k+2) for k=30, 71 and 112; and

C(15*k+9) for k=3, 8, 13, 17, 22, 27, 32, 37, 42, 47, 52, 57, 62, 66, 71, 76, 81, 86, 91, 96, 101, 106, 110, 115 and 120

If a PAN is not included, the result is three blocks of 860 bits, {c1(0),…,c1(859)}, {c2(0),…,c2(859)} and {c3(0),…,c3(859)}.

If a PAN is included, the result is three blocks of 832 bits, {c1(0),…,c1(831)}, {c2(0),…,c2(831)} and {c3(0),…,c3(831)}.

NOTE: C1 and c1 correspond to i1, C2 and c2 to i2, and C3 and c3 to i3.

5.1a.13.4 PAN coding

The PAN coding is the same as for UBS-9 as specified in subclause 5.1a.12.4.

5.1a.13.5 Interleaving

a) Header

The header, {hc(0),…,hc(167)}, is interleaved as defined in subclause 5.1a.2.1, with NC=168 and a=29, resulting in a block of 168 bits, {hi(0),…,hi(167)}.

b) Data and PAN

If a PAN is not included, data are put together as one entity as described by the following rule:

dc(k) = c1(k) for k = 0,…,859

dc(k) = c2(k-860) for k = 860,…,1719

dc(k) = c3(k-1720) for k = 1720,…,2579

If a PAN is included, data and PAN are put together as one entity as described by the following rule:

dc(k) = ac(k) for k = 0,…,83

dc(k) = c1(k-84) for k = 84,…,915

dc(k) = c2(k-916) for k = 916,…,1747

dc(k) = c3(k-1748) for k = 1748,…,2579

The block {dc(0),…,dc(2579)} is interleaved as defined in subclause 5.1a.2.1, with NC=2580 and a=179, resulting in a block of 2580 bits, {di(0),…,di(2579)}.

5.1a.13.6 Mapping on a burst

a) Straightforward Mapping

The mapping is given by the rule:

For B=0,1,2,3, let

e(B,j) = di(645B+j) for j = 0,…,324

e(B,j) = hi(42B+j-325) for j = 325,…,344

e(B,j) = q(3B+j-345) for j = 345

e(B,j) = hi(42B+j-326) for j = 346

e(B,j) = q(3B+j-346) for j = 347,348

e(B,j) = hi(42B+j-328) for j = 349,…,369

e(B,j) = di(645B+j-45) for j = 370,…,689

where

q(0),q(1),…,q(11) = 0,0,0,0,0,0,0,0,0,0,0,0 identifies the coding scheme UBS-10.

b) Bit swapping

After this mapping the following bits are swapped:

For B = 0,1,2,3,

Swap e(B,305+k) with e(B,326+k) for k=0, 3, 5, 8, 10, 13, 15 and 18.

Swap e(B,295+k) with e(B,327+k) for k=0 and 5

Swap e(B,298+k) with e(B,337+k) for k=0 and 5

Swap e(B,370+k) with e(B,346+k) for k=0, 3, 5, 8, 10, 13, 15, 18, 20 and 23.

Swap e(B,395+k) with e(B,362+k) for k=0 and 5.

Swap e(B,398+k) with e(B,352+k) for k=0 and 5.

c) PAN bit swapping

In case a PAN is included in the radio block, the following additional bits are swapped after the bit swapping in b):

For B = 0

Swap e(B,34) with e(B,170)

Swap e(B,71) with e(B,98)

Swap e(B,142) with e(B,110)

Swap e(B,176) with e(B,200)

Swap e(B,179) with e(B,80)

Swap e(B,284) with e(B,188)

Swap e(B,321) with e(B,158)

Swap e(B,357) with e(B,410)

Swap e(B,367) with e(B,688)

Swap e(B,437) with e(B,503)

Swap e(B,474) with e(B,480)

Swap e(B,582) with e(B,433)

Swap e(B,616) with e(B,530)

Swap e(B,687) with e(B,493)

For B = 1

Swap e(B,7) with e(B,158)

Swap e(B,44) with e(B,98)

Swap e(B,149) with e(B,200)

Swap e(B,152) with e(B,80)

Swap e(B,186) with e(B,170)

Swap e(B,257) with e(B,188)

Swap e(B,294) with e(B,110)

Swap e(B,376) with e(B,480)

Swap e(B,447) with e(B,503)

Swap e(B,481) with e(B,688)

Swap e(B,484) with e(B,433)

Swap e(B,589) with e(B,493)

Swap e(B,626) with e(B,530)

For B = 2

Swap e(B,17) with e(B,98)

Swap e(B,51) with e(B,188)

Swap e(B,159) with e(B,170)

Swap e(B,196) with e(B,110)

Swap e(B,267) with e(B,158)

Swap e(B,304) with e(B,80)

Swap e(B,359) with e(B,530)

Swap e(B,454) with e(B,688)

Swap e(B,457) with e(B,410)

Swap e(B,491) with e(B,503)

Swap e(B,562) with e(B,493)

Swap e(B,599) with e(B,480)

Swap e(B,636) with e(B,433)

For B = 3

Swap e(B,24) with e(B,103)

Swap e(B,27) with e(B,80)

Swap e(B,61) with e(B,188)

Swap e(B,132) with e(B,200)

Swap e(B,169) with e(B,170)

Swap e(B,206) with e(B,110)

Swap e(B,277) with e(B,158)

Swap e(B,311) with e(B,0)

Swap e(B,369) with e(B,480)

Swap e(B,427) with e(B,493)

Swap e(B,464) with e(B,530)

Swap e(B,501) with e(B,433)

Swap e(B,572) with e(B,503)

Swap e(B,609) with e(B,410)