Der Turbo-Code ist ein 1993 von Claude Berrou, Alain Glavieux und Punya Thitimajshima vorgestelltes Kanalcodierverfahren, das erstmals praktisch bis auf wenige Zehntel Dezibel an die Shannon-Grenze der Kanalcodierung heranreicht. Er entsteht durch die parallele Verkettung zweier Faltungscodes, zwischen denen ein Interleaver die Daten umsortiert.
Aufbau: Zwei Codierer und ein Interleaver
Die Eingabesequenz wird zweimal codiert: Der erste Faltungscodierer verarbeitet die Daten in der Originalreihenfolge, der zweite eine durch den Interleaver permutierte Version. Dadurch erzeugen die beiden Teilcodes unterschiedliche Fehlermuster, und der Empfänger kann sie wechselseitig stützen. Üblich ist eine Coderate von 1/3, die sich durch Puncturing (gezieltes Weglassen von Paritätsbits) auf 1/2 oder höher anheben lässt.
Iterative Decodierung
Anders als der einmalige Durchlauf des Viterbi-Algorithmus decodiert ein Turbo-Decodierer iterativ: Zwei Soft-Input/Soft-Output-Decodierer (meist mit dem MAP- beziehungsweise BCJR-Algorithmus) tauschen über mehrere Runden extrinsische Informationen — Vertrauenswerte in Form von Log-Likelihood-Ratios (LLR) — aus. Mit jeder Iteration steigt die Zuverlässigkeit der Schätzung, bis sich die Verbesserung nur noch marginal ändert.
Bedeutung und Nachfolger
Turbo-Codes waren der Durchbruch, der moderne Mobilfunkstandards mit hohen Datenraten ermöglichte: Sie werden in UMTS (3G) und LTE (4G) eingesetzt sowie in Satelliten- und Tiefraumverbindungen. In neueren Systemen übernehmen teils LDPC-Codes (WLAN, DVB-S2, 5G-Datenkanäle) und Polar-Codes (5G-Steuerkanäle) diese Rolle — dieselbe iterative Soft-Decision-Idee bleibt erhalten. Verwandte Grundlagen: Kanalcodierung, Vorwärtsfehlerkorrektur.