Another way to increase the data transfer speed besides timeslot aggregation is to use
different coding schemes. If the user is at close range to a base station the data transmitted
over the air is less likely to be corrupted during transmission than if the user is further away
and the reception is weak. As has been shown in Chapter 1, the base station adds error
detection and correction to the data before it is sent over the air. This is called coding and
the method used to code the user data is called the coding scheme. In GRPS, four different
coding schemes (CS-1 to 4) can be used to add redundancy to the user data depending on the
quality of the channel [1]. Table 2.2 shows the properties of the different coding schemes.
While CS-1 and CS-2 are commonly used, CS-3 and CS-4 are not implemented in today’s
GPRS networks. This is because data that is carried over one timeslot on the air interface
is carried in one-quarter of an E-1 timeslot between BTS and BSC which can only carry
16 kbit/s. When the overhead created by the packet header, which is not shown in Table 2.2,
is included, CS-3 and CS-4 exceed the amount of data that can be carried over one-quarter
of an E-1 timeslot. In order to use these coding schemes it is no longer possible to use
a fixed mapping. Unfortunately this requires a costly software and possibly also hardware
redesign of the BTS, BSC, and PCU (packet control unit). This is why many operators will
not introduce these coding schemes as it would require costly replacement of their BSCs.
Figure 2.7 shows how CS-2 and CS-3 encode the data before it is transmitted over the air
interface. CS-4 does not add any redundancy to the data. Therefore, CS-4 can only be used
when the signal quality between the network and the mobile station is very good.
GPRS coding schemes
Coding
scheme
Number of user data bits per block
(4 bursts with 114 bits each)
Transmission speed
per timeslot (kbit/s)
CS-1 160 8
CS-2 240 12
CS-3 288 14.4
CS-4 400 20
GPRS uses the same 1/2-rate convolutional decoder as already used for GSM voice
traffic. The result of the convolutional coding in CS-2 and CS-3 are more coded bits
than can be transmitted over a radio block. To compensate for this some of the bits are
simply not transmitted. This is called ‘puncturing’. As the receiver knows which bits were
punctured it can insert 0 bits at the correct positions and then use the convolutional decoder
to recreate the original data stream. This of course reduces the effectiveness of the channel
coder as not all the bits that were punctured were 0 bits at the sender side.