6.5.5 Channel Coding

03.643GPPGeneral Packet Radio Service (GPRS)Overall description of the GPRS radio interfaceStage 2TS

NOTE: The text in this subclause is informative. The normative text is in GSM 05.03 [12. Where there is a conflict between these descriptions, the normative text has precedence.

Four coding schemes, CS-1 to CS-4, are defined for the GPRS packet data traffic channels. For all other GPRS packet control channels than Packet Random Access Channel (PRACH) and Packet Timing Advance Control Channel on Uplink (PTCCH/U), coding scheme CS-1 is always used. For access bursts on PRACH, two coding schemes are specified.

All coding schemes (CS-1 to CS-4) are mandatory for MSs supporting GPRS. CS-1 is mandatory for a network supporting GPRS.

Nine modulation and coding schemes, MCS-1 to MCS-9, are defined for the EGPRS packet data traffic channels. For all EGPRS packet control channels the corresponding GPRS control channel coding is used. MSs supporting EGPRS shall support MCS-1 to MCS-9 in downlink and MCS-1 to MCS-4 in uplink. In case an MS supporting EGPRS is 8-PSK capable in uplink, it shall also support MCS-5 to MCS-9 in uplink. A network supporting EGPRS may support only some of the MCSs.

6.5.5.1 Channel coding for PDTCH

6.5.5.1.1 Channel coding for GPRS PDTCH

Four different coding schemes, CS-1 to CS-4, are defined for the GPRS Radio Blocks carrying RLC data blocks. The block structures of the coding schemes are shown in Figure 7 and Figure 8.

Figure 7: Radio Block structure for CS-1 to CS-3

Figure 8: Radio Block structure for CS-4

The first step of the coding procedure is to add a Block Check Sequence (BCS) for error detection.

For CS-1 – CS-3, the second step consists of pre-coding USF (except for CS-1), adding four tail bits and a half rate convolutional coding for error correction that is punctured to give the desired coding rate.

For CS-4 there is no coding for error correction.

The details of the codes are shown in table 3, including:

– the length of each field;

– the number of coded bits (after adding tail bits and convolutional coding);

– the number of punctured bits;

– the data rate, including the RLC header and RLC information.

Table 3: Coding parameters for the GPRS coding schemes.

Scheme

Code rate

USF

Pre-coded USF

Radio Block excl. USF and BCS

BCS

Tail

Coded
bits

Punctured
bits

Data rate
kb/s

CS-1

1/2

3

3

181

40

4

456

0

9.05

CS-2

2/3

3

6

268

16

4

588

132

13.4

CS-3

3/4

3

6

312

16

4

676

220

15.6

CS-4

1

3

12

428

16

456

21.4

CS-1 is the same coding scheme as specified for SACCH in GSM 05.03 [12]. It consists of a half rate convolutional code for FEC and a 40 bit FIRE code for BCS (and optionally FEC).

CS-2 and CS-3 are punctured versions of the same half rate convolutional code as CS-1 for FEC.

CS-4 has no FEC.

CS-2 to CS-4 use the same 16 bit CRC for BCS. The CRC is calculated over the whole uncoded RLC Data Block including MAC Header.

The USF has 8 states, which are represented by a binary 3 bit field in the MAC Header.

For CS-1, the whole Radio Block is convolutionally coded and USF needs to be decoded as part of the data.

All other coding schemes generate the same 12 bit code for USF. The USF can be decoded either as a block code or as part of the data.

In order to simplify the decoding, the stealing bits (defined in GSM 05.03 [12] ) of the block are used to indicate the actual coding scheme.

6.5.5.1.2 Channel coding for EGPRS PDTCH

Nine different modulation and coding schemes, MCS-1 to MCS-9, are defined for the EGPRS Radio Blocks (4 bursts, 20ms) carrying RLC data blocks. The block structures of the coding schemes are shown from Figure 10 to Figure 18 and in Table 4. A general description of the MCSs is given in Figure 9.

The MCSs are divided into different families A, B and C. Each family has a different basic unit of payload: 37 (and 34), 28 and 22 octets respectively. Different code rates within a family are achieved by transmitting a different number of payload units within one Radio Block. For families A and B, 1, 2 or 4 payload units are transmitted, for family C, only 1 or 2 payload units are transmitted.

When 4 payload units are transmitted (MCS-7, MCS-8 and MCS-9), these are splitted into two separate RLC blocks (i.e. with separate sequence numbers and BCSs). These blocks in turn are interleaved over two bursts only, for MCS-8 and MCS-9. For MCS-7, these blocks are interleaved over four bursts. All the other MCSs carry one RLC block which is interleaved over four bursts. When switching to MCS-3 or MCS-6 from MCS-8, 6 padding octets are added to the data octets.

Figure 9: General description of the Modulation and Coding Schemes for EGPRS

To ensure strong header protection, the header part of the Radio Block is independently coded from the data part of the Radio Block (8 bit CRC calculated over the header -excl. USF- for error detection, followed by rate 1/3 convolutional coding –and eventually puncturing- for error correction). Three different header formats are used, one for MCS-7, MCS-8 and MCS-9, one for MCS-5 and MCS-6 and one for MCS-1 to MCS-4. The two first formats are for 8PSK modes, the difference being in the number of Sequence Numbers carried (2 for MCS-7, -8 and -9, 1 for MCS-5 and –6). The third format is common to all GMSK modes. The header is always interleaved over four bursts. See 3GPP TS 04.60 [7] for more details.

Following figures show the coding and puncturing for all the Modulation and Coding Schemes, for downlink traffic.

Figure 10: Coding and puncturing for MCS-9; uncoded 8PSK, two RLC blocks per 20ms

Figure 11: Coding and puncturing for MCS-8; rate 0.92 8PSK, two RLC blocks per 20ms

Figure 12: Coding and puncturing for MCS-7; rate 0.76 8PSK, two RLC blocks per 20ms

Figure 13: Coding and puncturing for MCS-6; rate 0.49 8PSK, one RLC block per 20 ms

Figure 14: Coding and puncturing for MCS-5; rate 0.37 8PSK, one RLC block per 20 ms

Figure 15: Coding and puncturing for MCS-4; uncoded GMSK, one RLC block per 20 ms

Figure 16: Coding and puncturing for MCS-3; rate 0.85 GMSK, one RLC block per 20 ms

Figure 17: Coding and puncturing for MCS-2; rate 0.66 GMSK, one RLC block per 20 ms

Figure 18: Coding and puncturing for MCS-1; rate 0.53 GMSK, one RLC block per 20 ms

The USF has 8 states, which are represented by a binary 3 bit field in the MAC Header. The USF is encoded to 12 symbols similarily to GPRS, (i.e., 12 bits for GMSK modes and 36 bits for 8PSK modes).

The FBI (Final Block Indicator) bit and the E (Extension) bit defined in 3GPP TS 04.60 [7] do not require extra protection: they are encoded along with the data part.

The first step of the coding procedure is to add a Block Check Sequence (BCS) for error detection.

The second step consists of adding six tail bits (TB) and a 1/3 rate convolutional coding for error correction that is punctured to give the desired coding rate. The Pi for each MCS correspond to different puncturing schemes achieving the same coding rate. The bits indicating the MCS used are in the coded header. In both 8PSK and GMSK modes the stealing bits (SB) of the block are used to indicate the header formats. There are eight SB for 8PSK mode which allow to indicate four header formats. There are twelve SB for GMSK mode which allow to indicate two header formats: the first eight of the twelve SB indicate CS-4.

The details of the EGPRS coding schemes are shown in table 4:

Table 4: Coding parameters for the EGPRS coding schemes

Scheme

Code rate

Header Code rate

Modulation

RLC blocks per Radio Block (20ms)

Raw Data within one Radio Block

Family

BCS

Tail payload

HCS

Data rate
kb/s

MCS-9

1.0

0.36

8PSK

2

2×592

A

2×12

2×6

8

59.2

MCS-8

0.92

0.36

2

2×544

A

54.4

MCS-7

0.76

0.36

2

2×448

B

44.8

MCS-6

0.49

1/3

1

592

48+544

A

12

6

29.6

27.2

MCS-5

0.37

1/3

1

448

B

22.4

MCS-4

1.0

0.53

GMSK

1

352

C

17.6

MCS-3

0.85

0.53

1

296

48+248 and 296

A

14.8

13.6

MCS-2

0.66

0.53

1

224

B

11.2

MCS-1

0.53

0.53

1

176

C

8.8

NOTE: The italic captions indicate the 6 octets of padding when retransmitting an MCS-8 block with MCS-3 or MCS-6. For MCS-3, the 6 octets of padding are sent every second block (see 3GPP TS 04.60).

6.5.5.2 Channel coding for PACCH, PBCCH, PAGCH, PPCH,PNCH and PTCCH

The channel coding for the PACCH, PBCCH, PAGCH, PPCH,PNCH and downlink PTCCH is the same as the coding scheme CS-1 presented in subclause 6.5.5.1.

The coding scheme used for uplink PTCCH is the same as for PRACH.

6.5.5.2a Channel coding for CPBCCH, CPAGCH, CPPCH, CPNCH, and CSCH

The channel coding for the CPBCCH, CPAGCH, CPPCH, and CPNCH is the same as the coding scheme CS-1 presented in subclause 6.5.5.1. The channel coding for the CSCH is identical to SCH.

6.5.5.3 Channel Coding for the PRACH and CPRACH

Two types of packet access burst may be transmitted on the PRACH: an 8 information bits access burst or an 11 information bits access burst called the extended packet access burst. The mobile shall support both access bursts. The channel coding for both burst formats is indicated in the following subclauses. Only the 11 information bits access burst may be transmitted on the CPRACH.

6.5.5.3.1 Coding of the 8 data bit Packet Access Burst

The channel coding used for the burst carrying the 8 data bit packet access uplink message is identical to the coding of the access burst as defined for random access channel in GSM 05.03 [12].

6.5.5.3.2 Coding of the 11 data bit Packet Access Burst

The channel coding for 11 bit access burst is the punctured version of the same coding as used for 8 bit access burst.