22.01.2015 Aufrufe

Vorlesungsskript Kanalcodierung II - Universität Bremen

Vorlesungsskript Kanalcodierung II - Universität Bremen

Vorlesungsskript Kanalcodierung II - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Kanalcodierung</strong> <strong>II</strong><br />

Dr.-Ing. Volker Kühn, Dr.-Ing. Dirk Wübben<br />

Universität <strong>Bremen</strong><br />

Fachbereich 1, ANT<br />

Kapitel 1<br />

Verkettete Codes<br />

1.1 Einführung<br />

Motivation<br />

Ziel der Codierungstheorie ist es, die Kanalkapazität von Shannon zu erreichen. Praktische Codes wie die im<br />

letzten Semester behandelten Faltungs- und Blockcodes sind weit von dieser theoretischen Grenze entfernt.<br />

Ein entscheidender Nachteil von ihnen besteht darin, dass mit zunehmender Leistungsfähigkeit auch der Decodieraufwand<br />

ansteigt, meistens wächst er exponentiell an. Daher setzt die praktische Realisierbarkeit der Leistungsfähigkeit<br />

dieser Codes schnell Grenzen. Zwar ist es oft nur eine Frage der Zeit, bis die Technologie einen<br />

höheren Aufwand bei der Decodierung erlaubt. Trotzdem stellt sich die Frage, ob nur durch Vergrößerung der<br />

Einflusslänge bei Faltungscodes bzw. der Blocklänge bei Blockcodes die Kapazität nach Shannon prinzipiell<br />

erreicht werden kann.<br />

Einen anderen Weg zur Konstruktion leistungsfähiger FEC-Codes zeigte Forney bereits im Jahr 1966, als er<br />

erstmals die Verkettung einfacher Teilcodes vorstellte [For66]. Seit dieser Zeit sind gerade in den vergangenen<br />

Jahren enorme Fortschritte zu verzeichnen gewesen. Hervorzuheben ist hier das Jahr 1993, als zum ersten Mal<br />

die sogenannten Turbo-Codes präsentiert wurden, einer geschickten parallelen Anordnung zweier Faltungscodes,<br />

mit denen die Kapazitätsgrenze von Shannon so dicht wie noch nie erreicht wurde (Abstand nur noch<br />

0,5 dB bei einer Fehlerrate von P b = 10 −5 ).<br />

Idee<br />

Die grundlegende Idee besteht also darin, einfache Codes geschickt miteinander zu verknüpfen, so dass ein<br />

Gesamtcode entsteht, der leistungsfähiger als die einzelnen Komponentencodes ist. Gleichzeitig muss er aber<br />

auch einfacher zu decodieren sein. Dies soll an einem Beispiel näher erläutert werden. Die heute zur Verfügung<br />

stehende Technologie erlaubt beispielsweise im Consumerbereich die Decodierung eines Faltungscodes mit<br />

der Einflusslänge L c = 9, d.h. es ist ein Trellisdiagramm bestehend aus 2 8 = 256 Zuständen abzuarbeiten.<br />

Würde man nun 2 Faltungscodes mitL c = 3 verknüpfen, ergäbe sich ein Aufwand, der einem Trellisdiagramm<br />

von 2 · 2 2 = 8 Zuständen, also nur der 64-ste Teil des Aufwandes. Berücksichtigt man nun eine wiederholte<br />

Decodierung des verketteten Codes (Turbo-Decodierung, z.B. 6 Iterationen, mehr dazu später), ergibt sich ein<br />

Aufwand von 6·8 = 48 Zuständen, also immer noch weniger als ein Fünftel des ursprünglichen Aufwandes.<br />

Ob der resultierende Gesamtcode genauso gut oder gar besser ist, wird im Folgenden ausführlich diskutiert.<br />

Prinzipiell unterscheiden wir zwei Arten der Codeverkettung.<br />

Serielle Verkettung<br />

• Codes sind seriell hintereinander angeordnet<br />

• Jeder nachfolgende Codierer codiert den gesamten Datenstrom inklusive der bereits erzeugten Redun-<br />

1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!