Kanalcodierung (englisch channel coding) umfasst Verfahren, die digitale Daten vor Übertragungs- und Speicherfehlern schützen, indem sie gezielt Redundanz hinzufügen. Der Empfänger kann damit Fehler erkennen oder sogar selbst korrigieren. Kanalcodierung ist das Gegenteil der Quellcodierung (Datenkompression): Diese entfernt Redundanz, jene fügt sie wieder hinzu.

Fehler erkennen oder korrigieren

Je nach Verfahren unterscheidet man zwei Klassen: Reine Fehlererkennung (etwa Paritätsbits, Prüfsummen oder die Zyklische Redundanzprüfung (CRC)) meldet dem Sender einen Fehler, worauf dieser die Daten erneut schickt – bekannt als ARQ (Automatic Repeat reQuest), etwa beim Protokoll Go-Back-N. Die Vorwärtsfehlerkorrektur (FEC) dagegen fügt so viel Redundanz hinzu, dass der Empfänger Fehler selbst korrigieren kann, ohne den Sender zu fragen.

Code-Familien

Hamming-Distanz und Coderate

Die Hamming-Distanz eines Codes ist der minimale Abstand zweier gültiger Codewörter. Mit Distanz d lassen sich d−1 Fehler erkennen und (d−1)/2 Fehler korrigieren. Die Coderate r = k/n gibt das Verhältnis von Nutzbits k zu gesendeten Bits n an: Mehr Redundanz bedeutet bessere Fehlerkorrektur, aber auch geringere Nutzdatenrate – der passende Code ist immer ein Kompromiss aus Schutz und Effizienz.

Wo Kanalcodierung steckt

Ohne Kanalcodierung wären Mobilfunk, WLAN, Satellitenfernsehen und Datenspeicher nicht zuverlässig: ECC-RAM korrigiert Speicherfehler, die CD/DVD setzt Reed-Solomon-Codes ein, und bei der digitalen Modulation nach QAM gleicht die Kanalcodierung die höhere Fehleranfälligkeit dichter Konstellationspunkte aus. Besonders deutlich wird der Bedarf bei Mehrträgerverfahren wie OFDM, dessen einzelne Unterträger unterschiedlich stark gestört sein können.

Verwandte Grundlagen: Vorwärtsfehlerkorrektur, Go-Back-N, Puls-Code-Modulation.