5.1a.14 Packet data block type 25 (UBS-11)
3GPP45.003GSM/EDGE Channel codingRelease 17TS
5.1a.14.1 Block constitution
If the message delivered to the encoder does not include a PAN, it has a fixed size of 2248 information bits {d(0),d(1),…,d(2247)}. If the message delivered to the encoder includes a PAN, it has a fixed size of 2273 information bits {d(0),d(1),…,d(2272).
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,…,63
i1(k-64) = d(k) for k = 64,…,609
i2(k-610) = d(k) for k = 610,…,1155
i3(k-1156) = d(k) for k = 1156,…,1701
i4(k-1702) = d(k) for k = 1702,…,2247
And if a PAN is included:
pn(k-2248) = d(k) for k = 2248,…,2272
5.1a.14.2 Header coding
The header {h(0),…,h(63)} is coded as defined in subclause 5.1a.1.1, with N=64, resulting in a block of 216 bits, {C(0),…,C(215)}.
The code is punctured in such a way that the following coded bits:
{ C(27*k+24) for k=0,…,7} are not transmitted
This results in a block of 208 bits, {hc(0),…,hc(207)}.
5.1a.14.3 Data coding
Each data part, {i1(0),…,i1(545)}, {i2(0),…,i2(545)}, {i3(0),…,i3(545)} and {i4(0),…,i4(545)}, is coded as defined in subclause 5.1a.1.2, with N=546, resulting in four coded blocks of 1692 bits, {C1(0),…,C1(1691)}, {C2(0),…,C2(1691)}, {C3(0),…,C3(1691)} and {C4(0),…,C4(1691)}.
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(24*k+j) for k=0,…,69, j=2, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 18, 19, 21 and 22; and C(24*70+j) for j=2, 4, 5, 6, 8, 10 and 11 |
C(24*k) for k=0, 3, 7, 10, 14, 17, 21, 24, 28, 31, 35, 38, 42, 45, 49, 52, 56, 59, 63 and 66 |
|
P2 |
C(24*k+j) for k=0,…,69, j=0, 1, 3, 4, 6, 7, 9, 11, 12, 13, 15, 17, 18, 20 and 23; and C(24*70+j) for j=0, 1, 3, 4, 6, 7, 9 and 11, except C(24*35+3) that is not punctured |
C(24*35+3); and C(24*k+22) for k=2, 5, 9, 12, 16, 19, 23, 27, 30, 34, 37, 41, 44, 48, 51, 55, 58, 62 and 65 |
|
P3 |
C(24*k+j) for k=0,…,69, j=1, 2, 3, 5, 7, 8, 10, 12, 14, 16, 17, 19, 20, 21 and 22; and C(24*70+j) for j=1, 2, 3, 5, 7, 8 and 10 |
C(24*k+9) for k=1, 4, 8, 11, 15, 18, 22, 25, 29, 32, 36, 39, 43, 47, 50, 54, 57, 61, 64 and 68 |
If a PAN is not included, the result is four blocks of 635 bits, {c1(0),…,c1(634)}, {c2(0),…,c2(634)}, {c3(0),…,c3(634)} and {c4(0),…,c4(634)}.
If a PAN is included, the result is four blocks of 615 bits, {c1(0),…,c1(614)}, {c2(0),…,c2(614)}, {c3(0),…,c3(614)} and {c4(0),…,c4(614)}.
NOTE: C1 and c1 correspond to i1, C2 and c2 to i2, C3 and c3 to i3, and C4 and c4 to i4.
5.1a.14.4 PAN coding
The PAN coding is the same as for UBS-5 as specified in subclause 5.1a.8.4.
5.1a.14.5 Interleaving
a) Header
The header, {hc(0),…,hc(207)}, is interleaved as defined in subclause 5.1a.2.1, with NC=208 and a=49, resulting in a block of 208 bits, {hi(0),…,hi(207)}.
b) Data and PAN
If a PAN is not included, the following definitions apply:
dc1(k) = c1(k) for k = 0,…,634
dc2(k) = c2(k) for k = 0,…,634
dc3(k) = c3(k) for k = 0,…,634
dc4(k) = c4(k) for k = 0,…,634
If a PAN is included, the following definitions apply:
dc1(k) = ac(4k) for k = 0,…,19
dc1(k) = c1(k-20) for k = 20,…,634
dc2(k) = ac(4k+1) for k = 0,…,19
dc2(k) = c2(k-20) for k = 20,…,634
dc3(k) = ac(4k+2) for k = 0,…,19
dc3(k) = c3(k-20) for k = 20,…,634
dc4(k) = ac(4k+3) for k = 0,…,19
dc4(k) = c4(k-20) for k = 20,…,634
The four blocks {dc1(0),…,dc1(634)}, {dc2(0),…,dc2(634)}, {dc3(0),…,dc3(634)} and {dc4(0),…,dc4(634)} are separately interleaved as defined in subclause 5.1a.2.2, with NC=635 and a=177, resulting in the four blocks {di1(0),…,di1(634)}, {di2(0),…,di2(634)}, {di3(0),…,di3(634)} and {di4(0),…,di4(634)}, where di1 corresponds to dc1, di2 to dc2, di3 to dc3 and di4 to dc4.
The blocks are put together as one entity as described by the following rule:
di(k) = di1(k) for k = 0,…,634
di(k) = di2(k-635) for k = 635,…,1269
di(k) = di3(k-1270) for k = 1270,…,1904
di(k) = di4(k-1905) for k = 1905,…,2539
5.1a.14.6 Mapping on a burst
Straightforward Mapping
The mapping is given by the rule:
For B=0,1,2,3, let
e(B,j) = di(635B+j) for j = 0,…,319
e(B,j) = hi(52B+j-320) for j = 320,…,344
e(B,j) = q(3B+j-345) for j = 345
e(B,j) = hi(52B+j-321) for j = 346
e(B,j) = q(3B+j-346) for j = 347,348
e(B,j) = hi(52B+j-323) for j = 349,…,374
e(B,j) = di(635B+j-55) for j = 375,…,689
where
q(0),q(1),…,q(11) = 1,1,1,1,1,1,1,1,1,1,1,1 identifies the coding scheme UBS-11 or UBS-12.
b) Bit swapping
After this mapping the following bits are swapped:
For B = 0,1,2,3,
Swap e(B,295+k) with e(B,321+k) for k=0, 3, 5, 8, 10, 13, 15, 18, 20 and 23.
Swap e(B,280+k) with e(B,322+k) for k=0, 5 and 10.
Swap e(B,288+k) with e(B,337+k) for k=0 and 5.
Swap e(B,375+k) with e(B,346+k) for k=0, 3, 5, 8, 10, 13, 15, 18, 20, 23, 25 and 28.
Swap e(B,405+k) with e(B,362+k) for k=0, 5 and 10.
Swap e(B,408+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, 1, 2 and 3
Swap e(B,11) with e(B,200)
Swap e(B,42) with e(B,110)
Swap e(B,146) with e(B,98)
Swap e(B,177) with e(B,80)
Swap e(B,219) with e(B,158)
Swap e(B,292) with e(B,170)
Swap e(B,349) with e(B,530)
Swap e(B,409) with e(B,420)
Swap e(B,451) with e(B,493)
Swap e(B,482) with e(B,480)
Swap e(B,524) with e(B,688)
Swap e(B,586) with e(B,433)
Swap e(B,659) with e(B,503)