Kanalkodierung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Als Kanalkodierung (auch Kanalcodierung) bezeichnet man in der Nachrichtentechnik das Verfahren, digitale Daten bei der Übertragung über gestörte Kanäle durch Hinzufügen von Redundanz gegen Übertragungsfehler zu schützen.

Die mathematischen Grundlagen für die Kanalkodierung stellt die Kodierungstheorie bereit.

Zu unterscheiden ist die Kanalkodierung von der Quellenkodierung, welche Redundanz vermindert, und von der Leitungskodierung, welche eine spektrale Anpassung an die Anforderungen des Übertragungskanals vornimmt.

Verfahren[Bearbeiten]

Übertragung mit Quellen-, Kanal- und Leitungskodierung

Die Kanalkodierung fügt den Daten am Eingang eines Übertragungskanals Redundanz hinzu und dekodiert die Daten an seinem Ausgang. Wenn die Zusatzinformationen lediglich auf einen Fehler hindeuten und eine Neuübertragung der Daten erfordern, spricht man von Rückwärtsfehlerkorrektur. Genügt die Redundanzinformation, den Fehler zu korrigieren, handelt es sich um eine Vorwärtsfehlerkorrektur. Eine effiziente Kanalkodierung erhöht das Signal-Rausch-Verhältnis bei unveränderter Bitfehlerhäufigkeit. Je nach Kanalkodierungsverfahren beträgt der Codegewinn mehrere dB.

Eine wesentliche Eigenschaft eines Kanalkodes ist seine (Kode-) Coderate R=k/n, wobei k die Anzahl der Symbole am Eingang des Kodierers (Informationssymbole) ist und n die Anzahl am Ausgang (Codesymbole). Es werden also k Informationssymbole auf n Codesymbole abgebildet. Eine kleine Rate (großes n) bedeutet einen höheren Anteil der Codesymbole an den übertragenden Symbolen, also eine kleinere Datenübertragungsrate. Üblicherweise kann ein Kanalcode mit einer niedrigeren Koderate mehr Fehler korrigieren als ein vergleichbarer Kanalkode mit einer hohen Koderate – es ist also ein Abtausch zwischen Datenübertragungsrate und Fehlerkorrekturfähigkeit möglich.

Codeverkettung[Bearbeiten]

Durch geschicktes Verketten von Codes (z. B. bei Turbo-Codes) kann die Korrekturfähigkeit des so entstandenen verketteten Codes sehr viel höher sein als die der einzelnen Codes (Komponentencodes).

Punktierung[Bearbeiten]

Unter Punktierung versteht man das gezielte Streichen einzelner Codesymbole, so dass die Anzahl der übertragenden Codesymbole von n auf n' reduziert wird. Damit ergibt sich für den punktierten Code eine höhere Rate R'=k/n'>k/n=R. Punktierung ermöglicht die Nutzung desselben Codierer/Decodierer-Paares für Codes unterschiedlicher Raten.

Kodierungen[Bearbeiten]

Quellencodes[Bearbeiten]

Hauptartikel: Datenkompression

Beispiel für einen Quellencode: Huffman-Code

Kanalcodes[Bearbeiten]

Kennt man die Fehlerarten, die in einem Übertragungskanal auftreten, kann man verschiedene Codes konstruieren, die die häufigen Fehlerarten gut, weniger häufigere Fehlerarten weniger gut korrigieren können. Die folgende Abbildung zeigt eine Übersicht häufig verwendeter Codeklassen.

Übersicht häufig verwendeter Codeklassen

Leitungscodes[Bearbeiten]

Hauptartikel: Leitungscode

Beispiel für einen Leitungscode: Manchesterkodierung

Beispiele[Bearbeiten]

  • Kanalfehler abhängig von Quellkodierung
Die Festlegung eines Kodierungsverfahren berücksichtigt sowohl die Qualitätsansprüche an das zu übertragende Signal als auch die Eigenschaften des Kanals. Wird beispielsweise bei einem unkomprimiert übertragenen Fernsehsignal ein Bit auf dem Übertragungsweg verfälscht, so ändert sich nur ein Pixel eines (Halb-)Bildes. Tritt der gleiche Fehler bei einem komprimierten MPEG-codierten Fernsehsignal auf, verfälscht er einen ganzen Makroblock von einer bestimmten Anzahl von Bildpunkten (je nachdem, wie groß der Makroblock ist: 16×16 bis hin zu 4×4 Pixel) und die darauffolgenden Bilder; erst wenn wieder ein unabhängig codiertes Frame (I-Frame) kommt, ist der Fehler nicht mehr vorhanden.
  • Beispiel Rückwärtsfehlerkorrektur
Hinzufügen von Paritätsbits zu einem Datenwort.
  • Beispiel Rückwärts-/Vorwärtsfehlerkorrektur
ISBN-Code: Bei fehlender Übereinstimmung mit der Prüfziffer kommen nur wenige ISBN-Codes als korrekte Werte in Frage.
  • Beispiel Vorwärtsfehlerkorrektur
Angabe von Postleitzahl und Ort: eine falsch geschriebene Ortsangabe kann anhand der Postleitzahl korrigiert werden. Ebenso werden Zahlendreher in der Postleitzahl durch den Abgleich mit dem Ortsnamen erkannt.
Das Telefon begrenzt den Frequenzbereich der Sprache auf ca. 4 kHz. Bei einer Abtastung mit 8 kHz bei einer Quantisierung von 8 Bit pro Abtastwert fällt ein Datenstrom von 64 kbit/s an. Die GSM-Quellcodierung reduziert ihn auf ca. 13 kbit/s. Um die Bitfehlerhäufigkeit bei der störanfälligen Funkübertragung zu begrenzen, werden dem Datenstrom Redundanzen hinzugefügt. Die Kanalkodierung erhöht die Bitrate auf 22,8 kbit/s.

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  •  John G. Proakis, Masoud Salehi: Communication Systems Engineering. 2. Auflage. Prentice Hall, 2002, ISBN 0-13-095007-6.