GPRS GP RS/E /EDG DGE E Channel Chann el Cod Codii ng
GSM/EDGE lecture Nov 2004
© 2002 Hughes Software Systems Ltd.
Ag A g en end da
2
•
RLC/MAC Bl Block St Structure
•
GPRS GP RS/E /EGP GPRS RS Ch Chan anne nell Co Codi ding ng Ov Over ervi view ew
•
GPRS Ch Channel Co Coding
•
EGPRS Channel Coding
•
GPRS GP RS/E /EGP GPRS RS Con Contr trol ol Cha Chann nnel el Cod Codin ing g
© 2004 Hughes Software Systems Ltd.
3
•
RLC/MAC Bl Block St Structure
•
GPRS GP RS/E /EGP GPRS RS Ch Chan anne nell Co Codi ding ng Ov Over ervi view ew
•
GPRS Ch Channel Co Coding
•
EGPRS Channel Coding
•
GPRS GP RS/E /EGP GPRS RS Con Contr trol ol Cha Chann nnel el Cod Codin ing g
© 2004 Hughes Software Systems Ltd.
Pack cke et Segm gme ent nta ati tion on • Se Segm gmen enta tati tion on an and d Fra Frami ming ng
Layer
Segment
Segment
FH
Segment
4
© 2004 Hughes Software Systems Ltd.
114 bits
RLC/MAC
Physical
456 bits Burst
LLC/RLC
Block
BCS Tail
SNDCP
LLC
½ rate convolution codeing Segment Segment
BH
114 bits
Segment
Frame
FCS
Segment
Burst
Network (e.gTCP/IP)
N-PDU
PH
Burst
Burst
114 bits
114 bits
PH FH FCS BCS BH
Packet Header Frame Header Frame Check Sequence Block Check Sequence Block Header
RLC/MAC Block Structure
5
•
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
© 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
6
© 2004 Hughes Software Systems Ltd.
RLC/MAC control block
RLC/MAC Block Structure
7
8
•
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
© 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
© 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 Scheme
11
Modulatio n
Payload Bytes per Radio Block
Gros rate on RLC/MAC (including protocol overhead) [kbit/sec]
CS – 1
GMSK
22
8.8
CS – 2
GMSK
32
12.8
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
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
GSM – GPRS
GSM – EGPRS
© 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.
13
•
RLC/MAC Block Structure
•
GPRS/EGPRS Channel Coding Overview
•
GPRS Channel Coding
•
EGPRS Channel Coding
•
GPRS/EGPRS Control Channel Coding
© 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
16
CS1
PCU Spare Bits USF Block USFD CRC Tail Conv Rate Conv Punc Total Ident Total Burst In Out 1 (8) 2 184 184 0 184 0 40 4 228 2 456 0 456 0xFF 464 116
CS2
264
+7=271
3
268
6
CS3
312
+3=315
3
312
6
CS4
424
+7=431
3
428
12
16 16 16
4
294
2
588
-132
456
0xC8
464
116
4
338
2
676
-220
456
0x21
464
116
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
© 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
456 bits
SB = 8
116 bits
116 bits
116 bits
116 bits
464 bits 17
© 2004 Hughes Software Systems Ltd.
CS2 Channel Coding CS2 USF PrcdUSF
RLC/MAC Header + RLC Data = 268 bits
Parity + Tail = 20 bits
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 456 punctured bits
SB = 8
116 bits
18
© 2004 Hughes Software Systems Ltd.
116 bits
116 bits
116 bits
CS3 Channel Coding USF PrcdUSF
RLC/MAC Header + RLC Data = 312 bits
Parity + Tail = 20 bits
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 456 punctured bits
SB = 8
116 bits
19
116 bits
116 bits
116 bits
© 2004 Hughes Software Systems Ltd.
Channel Coding CS4 USF Percoded_USF
RLC/MAC Header + RLC Data = 428 bits
Parity + Tail = 20 bits
RLC/MAC Header + RLC Data = 312 bits
Parity + Tail = 20 bits
No convolutional coding (456 bits) 456 "encoded" bits No puncturing 456 "punctured" bits
SB = 8
116 bits
20
© 2004 Hughes Software Systems Ltd.
116 bits
116 bits
116 bits
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
22
kmod8=
0
1
2
3
j=0
k=0
57
114
171
2
64
121
178
4
128
185
6
192
8
100
4
5
6
7
j=1
228
285
342
399
235
3
292
349
406
7
242
299
5
356
413
14
71
249
306
363
7
420
21
78
135
256
313
370
427
9
28
85
142
199
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
© 2004 Hughes Software Systems Ltd.
k mod 8=
23
•
RLC/MAC Block Structure
•
GPRS/EGPRS Channel Coding Overview
•
GPRS Channel Coding
•
EGPRS Channel Coding
•
GPRS/EGPRS Control Channel Coding
© 2004 Hughes Software Systems Ltd.
EGPRS RLC data coding
24
•
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 existsMCS3,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
© 2004 Hughes Software Systems Ltd.
EGPRS RLC header •
25
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
© 2004 Hughes Software Systems Ltd.
EGPRS : MCS Families • 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
MCS-3 Family A
37 octets
37 octets 37 octets
37 octets
MCS-6 MCS-9
MCS-2
• Different code rates within a family are achieved by transmitting a different number of payload units(1,2 or 4) within one RLC/MAC Block
Family B
28 octets
28 octets 28 octets
MCS-5 MCS-7 MCS-1 Family C
22 octets
22 octets
MCS-4
26
© 2004 Hughes Software Systems Ltd.
28 octets
MCS Families Family C
Family A
MCS-1
MCS-3
22
37
MCS-4
MCS-6
44
74 MCS-9
Family B 74
MCS-2
74
28
MCS-6 68
MCS-5 56
MCS-8 68
MCS-7 56
27
68
56
© 2004 Hughes Software Systems Ltd.
EGPRS CC parameters Scheme Code rate
Header Modulation RLC blocks Code rate per Radio Block (20ms)
MCS-9
1.0
0.36
MCS-8
0.92
0.36
MCS-7
0.76
0.36
MCS-6
0.49
1/3
8PSK
2x12
2x6
Data rate kb/s
2
2x592
A
2
2x544
A
54.4
2
2x448
B
44.8
1
592 544+48
A
29.6 27.2
59.2
8
MCS-5
0.37
1/3
1
448
B
MCS-4
1.0
0.53
1
352
C
17.6
MCS-3
0.80
0.53
1
296 272+24
A
14.8 13.6
GMSK
12
6
22.4
MCS-2
0.66
0.53
1
224
B
11.2
MCS-1
0.53
0.53
1
176
C
8.8
NOTE:
28
HCS Raw Data Fam il y B CS Tail payload within one Radio Block
© 2004 Hughes Software Systems Ltd.
the italic captions indicate the padding.
MCS1 Channel Coding MCS-1: rate 0.53 GMSK, one RLC block per Radioblock 3 bits USF
36 bits RLC/MAC HCS Hdr.
196 bits FBI
E
Data = 22 octets = 176 bits
BCS
TB
Rate 1/3 convolutional coding 12 bits
108 bits
588 bits puncturing
puncturing SB = 12
12 bits
372 bits
68 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 USF
36 bits RLC/MAC HCS Hdr.
244 bits FBI
E
Data = 28 octets = 224 bits
BCS
TB
Rate 1/3 convolutional coding 12 bits
108 bits
672 bits puncturing
puncturing SB = 12
12 bits
68 bits
372 bits P1
464 bits 30
© 2004 Hughes Software Systems Ltd.
372 bits P2
MCS3 Channel Coding MCS-3: rate 0.8 GMSK, one RLC block per Radioblock 3 bits USF
36 bits RLC/MAC HCS FBI Hdr.
316 bits E
Data = 37 octets = 296 bits
BCS
TB
Rate 1/3 convolutional coding 12 bits
108 bits
948 bits puncturing
puncturing SB = 12
12 bits
372 bits
68 bits
372 bits
P1
372 bits
P2
P3
464 bits 31
© 2004 Hughes Software Systems Ltd.
MCS4 Channel Coding MCS-4: uncoded GMSK, one RLC block per Radioblock 3 bits USF
36 bits RLC/MAC HCS FBI Hdr.
372 bits E
Data = 44 octets = 352 bits
BCS
TB
Rate 1/3 convolutional coding 12 bits
108 bits
1116 bits puncturing
puncturing SB = 12
12 bits
68 bits
372 bits P1
464 bits 32
© 2004 Hughes Software Systems Ltd.
372 bits P2
372 bits P3
MCS5 Channel Coding MCS-5: rate 0.37 8PSK, one RLC block per Radioblock 3 bits USF
33 bits RLC/MAC HCS FBI Hdr.
468 bits E
Data = 56 octets = 448 bits
BCS
TB
Rate 1/3 convolutional coding 36 bits
99 bits
1404 bits puncturing
+1 bit SB = 8
36 bits
P1
P2
1248 bits
100 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 USF
33 bits RLC/MAC HCS FBI Hdr.
612 bits E
Data = 74 octets = 592 bits
BCS
TB
Rate 1/3 convolutional coding 36 bits
99 bits +1 bit
SB = 8
36 bits
100 bits
1836 bits puncturing P1 1248 bits
1392 bits 34
© 2004 Hughes Software Systems Ltd.
P2 1248 bits
MCS7 Channel Coding MCS-7: rate 0.76 8PSK, two RLC blocks per Radioblock 3 bits USF
45 bits
468 bits
468 bits
RLC/MAC HCS FBI E Data = 448 bits BCS Hdr.
TB
Rate 1/3 convolutional coding 36 bits
135 bits
36 bits
124 bits
TB
Rate 1/3 convolutional coding
1404 bits
1404 bits
puncturing
puncturing SB = 8
FBI E Data = 448 bits BCS
puncturing
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 USF
45 bits
564 bits
RLC/MAC HCS FBI E Data = 544 bits BCS Hdr.
564 bits TB
Rate 1/3 convolutional coding 36 bits
135 bits
36 bits
124 bits
© 2004 Hughes Software Systems Ltd.
1692 bits
puncturing
puncturing
612 bits
612 bits
612 bits
612 bits
612 bits
612 bits
P1
P2
P3
P1
P2
P3
1392 bits 36
TB
Rate 1/3 convolutional coding
1692 bits
puncturing SB = 8
FBI E Data = 544 bits BCS
MCS9 Channel Coding MCS-9: uncoded 8PSK, two RLC blocks per Radioblock 3 bits USF
45 bits
612 bits
RLC/MAC HCS FBI E Data = 592 bits BCS Hdr.
612 bits TB
Rate 1/3 convolutional coding 36 bits
135 bits
36 bits
124 bits
TB
Rate 1/3 convolutional coding
1836 bits
1836 bits
puncturing
puncturing SB = 8
FBI E Data = 592 bits BCS
puncturing
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 xmission
r = 1/1
r = 1/1 1st decoding attempt
2nd xmission
r = 1/2
r = 1/1 2nd decoding attempt
3rd xmission
r = 1/3
r = 1/1 3rd decoding attempt
38
© 2004 Hughes Software Systems Ltd.
39
•
RLC/MAC Block Structure
•
GPRS/EGPRS Channel Coding Overview
•
GPRS Channel Coding
•
EGPRS Channel Coding
•
GPRS/EGPRS Control Channel Coding
© 2004 Hughes Software Systems Ltd.
Channel Coding of Control Channels
40
•
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
© 2004 Hughes Software Systems Ltd.
Summary
41
•
RLC/MAC Block Structure
•
GPRS/EGPRS Channel Coding Overview
•
GPRS Channel Coding
•
EGPRS Channel Coding
•
GPRS/EGPRS Control Channel Coding
© 2004 Hughes Software Systems Ltd.
Any questions ?
42
© 2004 Hughes Software Systems Ltd.