You are on page 1of 21

GPRS/EDGE Channel Coding

GSM/EDGE lecture
Nov 2004

2002 Hughes Software Systems Ltd.

Agenda

RLC/MAC Block Structure


GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

2 2004 Hughes Software Systems Ltd.


RLC/MAC Block Structure
GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

3 2004 Hughes Software Systems Ltd.

Packet Segmentation
Segmentation and Framing Layer
Network
PH N-PDU (e.gTCP/IP)

Segment Segment Segment Segment SNDCP

FH FCS Frame LLC


rate convolution
Segment Segment codeing
Segment LLC/RLC

BH BCS Tail Block RLC/MAC

456 bits Physical


PH Packet Header
FH Frame Header
Burst Burst Burst Burst FCS Frame Check Sequence
114 bits 114 bits 114 bits 114 bits BCS Block Check Sequence
BH Block Header
4 2004 Hughes Software Systems Ltd.
RLC/MAC Block Structure

Different RLC/MAC block structures are defined for data


transfers and for control message transfers.

The RLC/MAC block structures for data transfers are


different for GPRS and EGPRS. The RLC data units
contains octets from one or more LLC PDUs.

The same RLC/MAC control message block structure is


used for control message transfers for GPRS and
EGPRS.

The RLC/MAC Blocks undergo channel coding

5 2004 Hughes Software Systems Ltd.

RLC/MAC Blocks
The RLC/MAC block for GPRS data transfer
RLC/MAC block

RLC data block


MAC header
RLC header RLC data unit Spare bits

The RLC/MAC block for EGPRS data transfer.


MCS-1,2,3,4,5 and 6 have one RLC data block, whereas
MCS-7,8 and 9 have two RLC data blocks
RLC/MAC block

RLC/MAC header RLC data block 1 RLC data block 2


(conditional)

The RLC/MAC block for GPRS/EGPRS control message


RLC/MAC block

MAC header RLC/MAC control block

6 2004 Hughes Software Systems Ltd.


RLC/MAC Block Structure

Different RLC/MAC block structures are defined for data


transfers and for control message transfers.

The RLC/MAC block structures for data transfers are


different for GPRS and EGPRS. The RLC data units
contains octets from one or more LLC PDUs.

The same RLC/MAC control message block structure is


used for control message transfers for GPRS and
EGPRS.

The RLC/MAC Blocks undergo channel coding

7 2004 Hughes Software Systems Ltd.

RLC/MAC Block Structure


GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

8 2004 Hughes Software Systems Ltd.


Packet Data Channel coding

Packet channel characteristics/requirements

Retransmissions/delay possible

Link adaptability required

RLC Header information needs better protection

Capability to handle high payload

if possible re-use existing channel coding functions

9 2004 Hughes Software Systems Ltd.

GPRS/EGPRS Channel Coding


Thirteen coding schemes are specified for the packet
data traffic channels. CS1-4 and MCS1-9

GPRS
Four coding schemes, CS-1 to CS-4, are defined for the
GPRS packet data traffic channels
For all other GPRS packet control channels except PRACH
and PTCCH/U, coding scheme CS-1 is always used

EGPRS
Nine modulation and coding schemes, MCS-1 to MCS-9,
are defined for the EGPRS packet data traffic channels
The RLC/MAC header part is independently coded from the
data part to provide stronger header protection

10 2004 Hughes Software Systems Ltd.


GPRS/EGPRS Coding Schemes

GMSK Modulation is used for GPRS CS1-4 coding


schemes and MCS schemes MCS1-4
For higher payload schemes MCS5-9, 8PSK modulation is
used
Coding Modulatio Payload Bytes Gros rate on RLC/MAC (including
Scheme n per Radio protocol overhead) [kbit/sec]
Block
CS 1 GMSK 22 8.8
CS 2 GMSK 32 12.8
GSM GPRS
CS 3 GMSK 38 15.2
CS 4 GMSK 52 20.8
MCS-1 GMSK 22 8.8
MCS-2 GMSK 28 11.2
MCS-3 GMSK 37 14.8
MCS-4 GMSK 44 17.6
MCS-5 8-PSK 56 22.4 GSM EGPRS
MCS-6 8-PSK 74 29.6
MCS-7 8-PSK 2x56 44.8
MCS-8 8-PSK 2x68 54.4
MCS-9 8-PSK 2x74 59.2

11 2004 Hughes Software Systems Ltd.

USF coding
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

Coding schemes CS-2 to CS-4 and MCS-1 to MCS-4


generate the same 12 bit code for USF. The USF can be
decoded either as a block code or as part of the data
the first three bits (USF-bits) of the data block are encoded such
that the first twelve coded bits are representing the same bit
pattern, irrespective of the coding scheme, depending only on
the USF-bits
the USF-bits can therefore always be decoded from these
twelve bits in the same way
12 2004 Hughes Software Systems Ltd.
RLC/MAC Block Structure
GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

13 2004 Hughes Software Systems Ltd.

GPRS CC parameters

CS-1 is the same coding scheme as specified for SACCH.


It consists of a half rate convolution 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 convolution code as CS-1/SACCH/TCH-FS for FEC

CS-4 has no FEC

14 2004 Hughes Software Systems Ltd.


GPRS CC parameters

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

For CS-1, the whole Radio Block is convolutionally coded


and USF needs to be decoded as part of the data

In order to simplify the decoding, the stealing bits of the


block are used to indicate the actual coding scheme

15 2004 Hughes Software Systems Ltd.

GPRS CC parameters

CS1 coding schemes adds more protection to the payload


than CS-4, and hence processes less payload -Tradeoff
Link adaptation
CS PCU Spare Bits USF Block USFD CRC Tail Conv Rate Conv Punc Total Ident Total Burst
In Out 1 (8) 2
CS1 184 184 0 184 0 40 4 228 2 456 0 456 0xFF 464 116
CS2 264 +7=271 3 268 6 16 4 294 2 588 -132 456 0xC8 464 116
CS3 312 +3=315 3 312 6 16 4 338 2 676 -220 456 0x21 464 116
CS4 424 +7=431 3 428 12 16 0 456 1 456 0 456 0x16 464 116

CS Payload Punc.Conv.Code rate Kbit/s

CS1 184 -1/2 9.05


CS2 264 -2/3 13.4
CS3 312 -3/4 15.6
CS4 424 1 21.4

16 2004 Hughes Software Systems Ltd.


CS1 Channel Coding CS1
Same channel coding as for SACCH

USF + RLC/MAC Header + RLC Data = 23 octets = 184 bits FIRE + Tail = 44 bits

Rate 1/2 convolutional coding

456 bits

SB = 8 456 bits

116 bits 116 bits 116 bits 116 bits

464 bits

17 2004 Hughes Software Systems Ltd.

CS2 Channel Coding CS2

USF RLC/MAC Header + RLC Data = 268 bits Parity + Tail = 20 bits

PrcdUSF RLC/MAC Header + RLC Data = 268 bits Parity + Tail = 20 bits

Rate 1/2 convolutional coding


(294 bits to 2*294 bits)
588 encoded bits

Puncturing

SB = 8 456 punctured bits

116 bits 116 bits 116 bits 116 bits

18 2004 Hughes Software Systems Ltd.


CS3 Channel Coding

USF RLC/MAC Header + RLC Data = 312 bits Parity + Tail = 20 bits

PrcdUSF RLC/MAC Header + RLC Data = 312 bits Parity + Tail = 20 bits

Rate 1/2 convolutional coding


(338 bits to 2*338 bits)
676 encoded bits

Puncturing

SB = 8 456 punctured bits

116 bits 116 bits 116 bits 116 bits

19 2004 Hughes Software Systems Ltd.

Channel Coding CS4

USF RLC/MAC Header + RLC Data = 428 bits Parity + Tail = 20 bits

Percoded_USF RLC/MAC Header + RLC Data = 312 bits Parity + Tail = 20 bits

No convolutional coding
(456 bits)
456 "encoded" bits

No puncturing

SB = 8 456 "punctured" bits

116 bits 116 bits 116 bits 116 bits

20 2004 Hughes Software Systems Ltd.


Interleaving CS1-CS4

Rectangular Interleaving(CS1-CS4)

0,8 1,9 2,10 3,11

4,12 5,13 6,14 7,15

Diagonal Interleaving (FR speech)

0,8 1,9 2,10 3,11

4,12 5,13 6,14 7,15

21 2004 Hughes Software Systems Ltd.

Interleaving Table CS1-CS4


kmod8= 0 1 2 3 k mod 4 5 6 7
8=

j=0 k=0 57 114 171 j=1 228 285 342 399

2 64 121 178 235 3 292 349 406 7

4 128 185 242 299 5 356 413 14 71

6 192 249 306 363 7 420 21 78 135

8 256 313 370 427 9 28 85 142 199

100 8 65 122 179 101 236 293 350 407

72 129 186 243 300 357 414 15

136 193 250 307 364 421 22 79

200 257 314 371 428 29 86 143

264 321 378 435 36 93 150 207

110 328 385 442 43 111 100 157 214 271

112 392 449 50 107 113 164 221 278 335

22 2004 Hughes Software Systems Ltd.


RLC/MAC Block Structure
GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

23 2004 Hughes Software Systems Ltd.

EGPRS RLC data coding


The RLC/MAC block holds one RLC data block for MCS1-6 and
two RLC data block exist for MCS7,8,9. Each RLC data block is
coded separately

Always uses 12 parity bits, rate 1/3 convolution code is used.Data


coding is same in UL as in DL

For each MCS more than one puncturing options exists-


MCS3,4,7,8,9 have 3 puncturing schemes (PS) specified while
the rest have two.For a MCS schemes the punctured bits of each
PS are mutually exclusive

Each of the MCS8 and 9 data block is interleaved over two bursts
only. For MCS-7, these blocks are interleaved over four bursts. All
the other MCSs carry one RLC block which is interleaved over
four bursts
24 2004 Hughes Software Systems Ltd.
EGPRS RLC header
In each transfer direction, uplink and downlink, three different
RLC/MAC header types are defined. In decoding, they are
identified by the SF sequence
Header type 1 is used with MCS-7,8,9
Header type 2 is used with MCS-5,6
Header type 3 is used with MCS-1,2,3,4.

Header part is robustly coded (8bit parity, 1/3 rate convolution


mother code,Puncturing) so that the receiver is able to determine
the block identities for all transmissions, even if the payload
cannot be decoded

The coding of the header for all MCS schemes of a particular


Header type are similar.But coding for header of Uplink is
different from that for downlink, as the header of of different sizes

The header is coded and interleaved over four bursts


25 2004 Hughes Software Systems Ltd.

EGPRS : MCS Families

The MCSs are divided into MCS-3

different families A, B and C. Each Family A 37 octets 37 octets 37 octets 37 octets


family has a different basic unit of MCS-6
payload: 37 (and 34), 28 and 22 MCS-9
octets respectively
MCS-2

Family B 28 octets 28 octets 28 octets 28 octets


Different code rates within a family
MCS-5
are achieved by transmitting a MCS-7
different number of payload
MCS-1
units(1,2 or 4) within one
RLC/MAC Block Family C 22 octets 22 octets

MCS-4

26 2004 Hughes Software Systems Ltd.


MCS Families
Family C Family A
MCS-1 MCS-3
22 37

MCS-4 MCS-6
44 74

MCS-9
Family B
74 74
MCS-2
28

MCS-6
68
MCS-5
56 MCS-8
68 68
MCS-7
56 56

27 2004 Hughes Software Systems Ltd.

EGPRS CC parameters
Scheme Code rate Header Modulation RLC blocks Raw Data Family BCS Tail HCS Data rate
Code rate per Radio within one payload kb/s
Block Radio
(20ms) Block
MCS-9 1.0 0.36 2 2x592 A 2x12 2x6 59.2
MCS-8 0.92 0.36 2 2x544 A 54.4
8PSK
MCS-7 0.76 0.36 2 2x448 B 44.8
MCS-6 0.49 1/3 1 592 A 29.6
544+48 8 27.2
MCS-5 0.37 1/3 1 448 B 22.4
12 6
MCS-4 1.0 0.53 1 352 C 17.6
MCS-3 0.80 0.53 1 296 A 14.8
GMSK 272+24 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 padding.

28 2004 Hughes Software Systems Ltd.


MCS1 Channel Coding
MCS-1: rate 0.53 GMSK, one RLC block per Radioblock
3 bits 36 bits 196 bits

USF RLC/MAC HCS FBI E Data = 22 octets = 176 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

12 bits 108 bits 588 bits

puncturing
puncturing

SB = 12 12 bits 68 bits 372 bits 372 bits

P1 P2

464 bits

29 2004 Hughes Software Systems Ltd.

MCS2 Channel Coding


MCS-2: rate 0.66 GMSK, one RLC block per Radioblock
3 bits 36 bits 244 bits

USF RLC/MAC HCS FBI E Data = 28 octets = 224 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

12 bits 108 bits 672 bits

puncturing
puncturing

SB = 12 12 bits 68 bits 372 bits 372 bits

P1 P2

464 bits
30 2004 Hughes Software Systems Ltd.
MCS3 Channel Coding
MCS-3: rate 0.8 GMSK, one RLC block per Radioblock
3 bits 36 bits 316 bits

USF RLC/MAC HCS FBI E Data = 37 octets = 296 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

12 bits 108 bits 948 bits

puncturing
puncturing

SB = 12 12 bits 68 bits 372 bits 372 bits 372 bits

P1 P2 P3

464 bits
31 2004 Hughes Software Systems Ltd.

MCS4 Channel Coding


MCS-4: uncoded GMSK, one RLC block per Radioblock
3 bits 36 bits 372 bits

USF RLC/MAC HCS FBI E Data = 44 octets = 352 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

12 bits 108 bits 1116 bits

puncturing
puncturing

SB = 12 12 bits 68 bits 372 bits 372 bits 372 bits

P1 P2 P3

464 bits
32 2004 Hughes Software Systems Ltd.
MCS5 Channel Coding
MCS-5: rate 0.37 8PSK, one RLC block per Radioblock
3 bits 33 bits 468 bits

USF RLC/MAC HCS FBI E Data = 56 octets = 448 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

36 bits 99 bits 1404 bits

puncturing
+1 bit
P1 P2

SB = 8 36 bits 100 bits 1248 bits 1248 bits

1392 bits
33 2004 Hughes Software Systems Ltd.

MCS6 Channel Coding


MCS-6: rate 0.49 8PSK, one RLC block per Radioblock
3 bits 33 bits 612 bits

USF RLC/MAC HCS FBI E Data = 74 octets = 592 bits BCS TB


Hdr.

Rate 1/3 convolutional coding

36 bits 99 bits 1836 bits

puncturing
+1 bit
P1 P2

SB = 8 36 bits 100 bits 1248 bits 1248 bits

1392 bits
34 2004 Hughes Software Systems Ltd.
MCS7 Channel Coding
MCS-7: rate 0.76 8PSK, two RLC blocks per Radioblock
3 bits 45 bits 468 bits 468 bits

USF RLC/MAC HCS FBI E Data = 448 bits BCS TB FBI E Data = 448 bits BCS TB
Hdr.

Rate 1/3 convolutional coding Rate 1/3 convolutional coding

36 bits 135 bits 1404 bits 1404 bits

puncturing puncturing
puncturing

SB = 8 36 bits 124 bits 612 bits 612 bits 612 bits 612 bits 612 bits 612 bits

P1 P2 P3 P1 P2 P3

1392 bits
35 2004 Hughes Software Systems Ltd.

MCS8 Channel Coding


MCS-8: rate 0.92 8PSK, two RLC blocks per Radioblock
3 bits 45 bits 564 bits 564 bits

USF RLC/MAC HCS FBI E Data = 544 bits BCS TB FBI E Data = 544 bits BCS TB
Hdr.

Rate 1/3 convolutional coding Rate 1/3 convolutional coding

36 bits 135 bits 1692 bits 1692 bits

puncturing puncturing
puncturing

SB = 8 36 bits 124 bits 612 bits 612 bits 612 bits 612 bits 612 bits 612 bits

P1 P2 P3 P1 P2 P3

1392 bits
36 2004 Hughes Software Systems Ltd.
MCS9 Channel Coding
MCS-9: uncoded 8PSK, two RLC blocks per Radioblock
3 bits 45 bits 612 bits 612 bits

USF RLC/MAC HCS FBI E Data = 592 bits BCS TB FBI E Data = 592 bits BCS TB
Hdr.

Rate 1/3 convolutional coding Rate 1/3 convolutional coding

36 bits 135 bits 1836 bits 1836 bits

puncturing puncturing
puncturing

SB = 8 36 bits 124 bits 612 bits 612 bits 612 bits 612 bits 612 bits 612 bits

P1 P2 P3 P1 P2 P3

1392 bits
37 2004 Hughes Software Systems Ltd.

Combining Retransmissions
The different puncturing schemes used for a MCS scheme
puncture different bits
If a data block sent is PS1 fails decoding, the block is
stored
The retransmission happens with P2. This new block is
combined with the stored
This EGPRS feature known as Incremental redundancy
original data

1/3 coded data

1st xm ission r = 1/1


r = 1/1
1st decoding attempt

2nd xm ission r = 1/2


r = 1/1
2nd decoding attem pt

3rd xmission r = 1/3


r = 1/1
3rd decoding attempt

38 2004 Hughes Software Systems Ltd.


RLC/MAC Block Structure
GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

39 2004 Hughes Software Systems Ltd.

Channel Coding of Control Channels


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

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

Two types of packet access burst may be transmitted on PRACH: an


8 information bits access burst or an 11 information bits access burst
called the extended packet access burst

The channel coding used for the PRACH burst carrying the 8 data bit
packet access uplink message is identical to the coding of the access
burst as defined for RACH

The channel coding for 11 bit access burst is the punctured version of
the same coding as used for 8 bit access burst
40 2004 Hughes Software Systems Ltd.
Summary

RLC/MAC Block Structure


GPRS/EGPRS Channel Coding Overview
GPRS Channel Coding
EGPRS Channel Coding
GPRS/EGPRS Control Channel Coding

41 2004 Hughes Software Systems Ltd.

Any questions ?

42 2004 Hughes Software Systems Ltd.

You might also like