Im Gegensatz zum herkömmlichen GSM (9.6 kbit/s) sind bei GPRS vier mögliche Codierschemata definiert, die je nach Empfangsqualität genutzt werden können:
Codierschema 1 (CS–1) mit 9.05 kbit/s (181 Bit pro 20 ms),
Codierschema 2 (CS–2) mit 13.4 kbit/s (268 Bit pro 20 ms),
Codierschema 3 (CS–3) mit 15.6 kbit/s (312 Bit pro 20 ms),
Codierschema 4 (CS–4) mit 21.4 kbit/s (428 Bit pro 20 ms).
Die kleinstmögliche Datenrate ist somit 9.05 kbit/s (CS–1, ein Zeitschlitz), die maximale beträgt 171.2 kbit/s (CS–4, acht Zeitschlitze). Diese theoretische Geschwindigkeit wird in der Praxis jedoch nicht erreicht, da die meisten aktuellen GPRS–Handys nur maximal eine Netto–Datenrate von 13.4 kbit/s (Codierschema 2) unterstützen. Bei der Kombination von vier Zeitschlitzen, wie es in allen deutschen Netzen üblich ist, kommt man somit auf eine maximale Datenrate von 53.6 kbit/s.
Die Grafik und die nachfolgenden Erklärungen beziehen sich auf das Codierschema 2 und damit auf die Netto–Datenrate 13.4 kbit/s.
Die 268 Informationsbits werden zunächst durch 6 vorcodierte Bits des Uplink State Flags (USF), 16 Paritätsbits der so genannten Block Check Sequence (BCS) und vier Tailbits („0000”) ergänzt. Letztere sind für die Terminierung der Faltungscodes notwendig.
Zur Kanalcodierung wird der von
GSM bekannte Faltungscodeder Coderate RC = 1/2 benutzt. Durch diesen werden die insgesamt 294 Bits auf 588 Bits verdoppelt und somit ausreichend gegen Übertragungsfehler geschützt.
Anschließend werden 132 Bits der resultierenden 588 Bit punktiert, so dass daraus schließlich ein Codewort der Länge 456 Bit (Bitrate 22.8 kbit/s) resultiert. Damit ergibt sich eine resultierende Coderate (von Faltungscoder inklusive Punktierung) von 294/456 ≈ 65%.
Nach der Kanalcodierung werden die Codewörter einem Blockinterleaver der Tiefe 4 zugeführt. Das Interleavingschema ist für alle vier Codierschemata identisch.