Codierungstheorie WS0809 v1 -...

298
Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009 Codierungstheorie Prof. Dr.-Ing. Thomas Kürner

Transcript of Codierungstheorie WS0809 v1 -...

Page 1: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.1

Codierungstheorie

Prof. Dr.-Ing. Thomas Kürner

Page 2: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.2

Dieses Skript basiert in Teilen auf dem Vorlesungsmanuskript der gleichnamigen an der TU Braunschweig angebotenen Vorlesung von Prof. Dr.-Ing. Andreas Czylwik aus dem Wintersemester 2001/2002.

Die vorliegende Version wurde von Dipl.-Ing. Andreas Hecker in den Jahren 2004 -2005 erstellt.

Page 3: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.3

Organisatorisches

• Vorlesung und Übung im Wintersemester (2 + 1 SWS, 4CP):– donnerstags; 13.15h – 14.45h; SN 22.2– donnerstags; 15.00h – 15.45h; SN 22.2

• Betreuer: Dipl.-Ing. M. Sc. Thomas Jansen• Prüfung: Klausur oder mündliche Prüfung (wird in der VL rechtzeitig

bekanntgegeben)

Page 4: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.4

Ziele:Die Vorlesung soll das Verständnis für die informationstheoretischen Grenzen der Datenübertragung entwickeln und Kenntnisse zu Verfahren zur Quellen- und Kanalcodierung in Theorie und Anwendung vermitteln.

Inhalt:Einführung1. Grundlagen der Informationstheorie2. Grundzüge der Kanalcodierung3. Einzelfehlerkorrigierende Blockcodes4. Bündelfehlerkorrigierende Blockcodes5. Faltungscodes6. Spezielle Codierungstechniken

Ziele und Inhalt der Vorlesung

Page 5: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.5

LiteraturLiteratur zur Vorlesung:

– H. Rohling: Einführung in die Informations- und Codierungstheorie, Teubner– R. Togneri, C.J.S. deSilva: Fundamentals of Information Theory and Coding

Design, Chapman & Hall/CRC

Weiterführende Literatur:– B. Friedrichs: Kanalcodierung, Springer– H. Schneider-Obermann: Kanalcodierung, Vieweg– M. Bossert: Kanalcodierung, Teubner– J. Bierbrauer: Introduction to Coding Theory, Chapman & Hall/CRC– O. Mildenberger: Informationstheorie und Codierung, Vieweg– S. Lin, D. J. Costello Jr.: Error Control Coding, Pearson Prentice Hall

Literatur zur digitalen Übertragung:– J.G. Proakis, M. Saleki: Grundlagen der Kommunikationstechnik, Pearson

Studium

Page 6: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.6

EinführungCode / Codierung:Ein Code ist eine Vorschrift für die eindeutige Zuordnung von Zeichen eines Zeichenvorrates zu denjenigen eines anderen Zeichenvorrates.

Die Umwandlung von dem einen in den anderen Zeichenvorrat wird als Codierung bezeichnet (codieren).

Die Codierung wird je nach Problemstellung unterteilt in:– Kryptologie– Quellencodierung– Kanalcodierung

Bsp.: Die Zuordnung von Städtenamen zu Autokennzeichen:Berlin → BBraunschweig → BS

} Gegenstand dieser Vorlesung

Page 7: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.7

Codierung zur Verschlüsselung (Kryptologie):Nachrichten sollen vor unberechtigtem Abhören geschützt werden. Die Entschlüsselung kann nur mit Kenntnis eines Code-Schlüssels erfolgen.

Quellencodierung (source coding):Nachrichten werden auf eine minimale Anzahl von Symbolen ohne Informationsverlust (Reduktion von Redundanz) komprimiert. Bei einer weitergehenden Kompression wird toleriert, dass Information verloren geht (z. B. bei Bild- und Tonübertragung).

Kanalcodierung (error control coding):Nachrichten sollen durch kontrolliertes Hinzufügen von Redundanz gegen Übertragungsfehler geschützt werden. Anwendungen finden sich u. a. bei der zu sichernden Datenübertragung über Wellenleiter und Funkkanäle (insbesondere Mobilfunkkanäle) oder bei der Datenspeicherung.

Einführung

Page 8: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.8

Blockschaltbild eines Systems zur digitalen Nachrichtenübertragung:

Einführung

Digitale Quelle

Digitale Senke

Diskreter Kanal

Quelle Quellen-Codierer

Kanal-Codierer Modulator

Übertragungskanal Störung

Senke Quellen-Decodierer

Kanal-Decodierer Demodulator

A

D

D

A

Page 9: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.9

vereinfachtes Modell:

Einführung

Kanalcodierung zur FehlerkorrekturFEC – forward error correction

Die Kanalqualität wird durch die Restfehlerwahrscheinlichkeit nach der Decodierung bestimmt. Die Datenrate aber ist unabhängig von der Kanalqualität.

Page 10: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.10

Einführung

Übersicht über einige FEC-Codes:

Faltungscodes

FEC-Codes

verkettete CodesBlockcodes

rekursiv nicht rekursivlinearnicht linear seriell Produktcodes parallel

zyklischnicht zyklisch

Hamming RS BCH zykl. HammingReed-Muller Abrahamson

Die grau unterlegten Codes werden in dieser Vorlesung nicht behandelt.

Page 11: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.11

Kanalcodierung zur FehlerdetektionCRC – cyclic redundancy check;Einsatz in Kombination mit ARQ-Verfahren (automatic repeat request)

Einführung

Dieses Verfahren macht einen Rückkanal notwendig, weswegen es nicht für „Broadcast“- bzw. zeitkritische Anwendungen einsetzbar ist. Das Einfügen von Redundanz geschieht adaptiv, d. h. nur im Fehlerfall wird Redundanz hinzugefügt. Die Restfehlerwahrscheinlichkeit ist somit unabhängig, die Datenrate hingegen abhängig von der Kanalqualität.

ARQ wird z. B. bei GPRS eingesetzt.

Page 12: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.12

Durch Kanalcodierung kann die Fehlerwahrscheinlichkeit beliebig reduziert werden, wenn die Datenrate kleiner als die Kanalkapazität ist.

Claude E. Shannon, Warren Weaver,The mathematical theory of communication,Urbana, University of Illinois Press, 1949

Leider gibt Shannon, der Begründer der Informationstheorie, für sein Theorem keine praktische Konstruktionsvorschrift an.

Einführung

Page 13: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.13

Kanalstörungseffekt undBeispiele für Korrekturergebnisse:

Einführung

Bild vor der Übertragung:

Bilder nach der Übertragung:

über BSC-Kanal mit perr = 0,005ohne Kanalcodierung

über BSC-Kanal mit perr = 0,5ohne Kanalcodierung,aber auch nicht korrigierbar!

über BSC-Kanal mit perr = 0,005mit (7,4,3)-Hamming-Kanalcodierung(nicht alle Fehler wurden beseitigt)

über BSC-Kanal mit perr = 0,005mit (31,16,15)-BCH-Kanalcodierung(nahezu fehlerfrei)

Page 14: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.14

Grundgedanke der KanalcodierungDie zum Schutz der zu übertragenden Nachricht zugefügte Redundanz dient der Fehlererkennung (FE) und eventuell der Fehlerkorrektur (FK). Zuordnung im Codierer am Beispiel einer Blockcodierung (BC):

Bei der BC wird ein k-stelliger Eingangsvektor u = (u1, ... , uk) in einenn-stelligen Ausgangsvektor x = (x1, ... , xn) umgewandelt.Als Coderate RC wird dann definiert:

Als Maß für die Leistungsfähigkeit eines Codes steht die minimale Hamming-Distanz dmin, d. h. die minimale Anzahl unterschiedlicher

Stellen aller möglichen Codewortpaare.

Einführung

nkR =C (E1)

Page 15: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.15

Einführung

Codewürfel mit n = 3 und

– RC = 1– dmin = 1– keine FE und

keine FK möglich

– RC = 2/3– dmin = 2– ein Fehler erkennbar;

kein Fehler korrigierbar

– RC = 1/3– dmin = 3– zwei Fehler erkennbar;

ein Fehler korrigierbar

k = 3 k = 2 k = 1

gültiges Codewort ungültiges Codewort

Page 16: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.16

1 Grundlagen der InformationstheorieDie Informationstheorie stellt die mathematische Beschreibung der Übertragung von Nachrichten dar.

Zentrale Fragestellungen behandeln die – quantitative Berechnung des Informationsgehalts von Nachrichten,– Bestimmung der Übertragungskapazität von Übertragungskanälen und– Analyse und Optimierung von Quellen- und Kanalcodierung.

Nachricht aus der Sicht der Informationstheorie:nicht relevant relevant

nich

t re

dund

ant

redu

ndan

t gesamte Nachricht

Für die Informations-übertragungnotwendiger Anteil

Page 17: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.17

1.2 Mathematische Beschreibung von NachrichtenNachrichten werden qualitativ eingeordnet. Die Bedeutung ist umso größer, je weniger die Nachricht vorhersagbar ist.

1 Grundlagen der Informationstheorie

Bedeutung

Wahrscheinlichkeit

Beispiel:• Morgen geht die Sonne auf.• Morgen gibt es schlechtes Wetter.• Morgen gibt es ein starkes Unwetter,

bei dem der Strom ausfallen wird.

Die Nachricht einer digitalen Quelle entspricht einer Folge von Zeichen.

Page 18: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.18

Entscheidungsgehalt H0 einer Quelle:

1.2 Mathematische Beschreibung von Nachrichten

(1.13)H0 beschreibt die Anzahl der für die Auswahl der Nachricht benötigten Binärentscheidungen. Dabei berücksichtigt sie nicht die Auftrittswahrscheinlichkeit der Quellensymbole.

Beispiele: deutschsprachiger Text mit 71 alphanumerischen Zeichen als Quelle(26⋅2 Buchstaben, 3⋅2 Umlaute, ß, 12 Sonderzeichen einschl. Leerzeichen „“ ()-.,;:!?)

H0 = ld(71) = ln(71)/ln(2) = 6,15 bit/Zeicheneine Seite deutschsprachiger Text mit 40 Zeilen und 70 Zeichen pro Zeileals Quelle, d.h. insgesamt N = 7140⋅70 mögliche unterschiedliche Seiten

H0 = ld(7140⋅70) = 40 ⋅ 70 ⋅ ld (71) = 17,22 kbit/Seite

Gegeben sei eine Quelle mit einem Zeichenvorrat von N Zeichen. Dann ist H0 definiert als:

H0 = ld(N) bit/Zeichen (bit = binary digit)

Page 19: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.19

Diese Bedingungen erfüllt die allgemeine Lösung I(xi) = −k ⋅ logb(p(xi)).

1.2 Mathematische Beschreibung von Nachrichten

Informationsgehalt I:

– I(xi) ≥ 0 für 0 ≤ p(xi) ≤ 1– I(xi) → 0 für p(xi) → 1– I(xi) > I(xj) für p(xi) < p(xj) – I(xi,xj) = I(xi) + I(xj) für p(xi,xj) = p(xi) ⋅ p(xj), d. h.

für zwei aufeinander folgende statistisch unabhängige Zeichen xi und xj

Definition des Informationsgehalts:(mit k = 1 und b = 2)

nbit/Zeiche)(

1ld)( ⎟⎟⎠

⎞⎜⎜⎝

⎛=

ii xp

xI (1.14)

Gegeben sei ein Zeichenvorrat (Alphabet) X mit X = {x1, ... , xN} und den einzelnen Auftrittswahrscheinlichkeiten der Zeichen p(x1), ... , p(xN). Dies-bezüglich soll I die Bedeutung einer Nachricht in Abhängigkeit ihrer Wahrscheinlichkeit p mathematisch abbilden [I = f(p)] . Dazu sollen die folgenden Eigenschaften erfüllt sein:

Page 20: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.20

1.2 Mathematische Beschreibung von Nachrichten

∑=

⋅==N

iiii xIxpxIXH

1)()()()(

Entropie H(X):

Redundanz einer Quelle RQ:Informationsgehalt einer Quelle, der aufgrund der speziellen Auftrittswahr-scheinlichkeiten der Zeichen nicht ausgenutzt wird:

RQ = H0 − H(X) (1.16)

(1.15)

H(X) ist der mittlere Informationsgehalt einer Quelle:

nbit/Zeiche)(

1ld)(1

∑=

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅=

N

i ii xp

xp

Page 21: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.21

1.2 Mathematische Beschreibung von Nachrichten

Entropie einer binären Quelle:

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

S(p) / bit

p

(1.18)

(1.17)

Eine binäre Quelle besitzt einen Zeichenvorrat X mit genau zwei Zeichen:X = {x1, x2} mit den Auftrittswahrscheinlichkeiten p(x1) = p und p(x2) = 1−p. Die Entropie H(X) ist dann: H(X) = −p ld(p) − (1 − p) ld(1 − p).Diese Funktion in Abhängigkeit von p wird auch Shannon-Funktion genannt:

S(p) = H(X).

Mathematikwiederholung:

( )

( ) 0loglim

log1log

0=⋅

−=⎟⎠⎞

⎜⎝⎛

→xx

xx

x

Page 22: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.22

1.2 Mathematische Beschreibung von Nachrichten

∑∑∑=== ⋅

⋅=⋅−⋅=−N

i ii

N

ii

N

i ii Nxp

xpNxpxp

xpNXH111 )(

1ld)(ld)()(

1ld)(ld)(

1ln −≤ xx

-1.0

0.0

1.0

1.0 2.0 x

ln(x)

x − 1

Die Entropie wird maximal für gleichwahrscheinliche Zeichen, d. h.:H(X) ≤ H0 = ld N.

Beweis:

Ausnutzung der Ungleichung:

)1(2ln

1ld1ln −≤⇒−≤ xxxx

∑=

⎟⎟⎠

⎞⎜⎜⎝

⎛−

⋅⋅≤−

N

i ii Nxp

xpNXH1

1)(

12ln

1)(ld)(

0112ln

1)(12ln

11

=⎟⎠⎞

⎜⎝⎛ −⋅=⎟

⎠⎞

⎜⎝⎛ −= ∑

= NNxp

N

N

ii

Mit

q.e.d.

(1.19)

(1.20)

Page 23: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.23

1.3 Methoden und Algorithmen der QuellencodierungDie Quellencodierung wird in der Nachrichtentechnik zur Verminderung des zu übertragenden Datenvolumens eingesetzt. Beispiele sind in vielen häufig gebrauchten Anwendungen wie Datenkomprimierung durch „Zippen“, MP3- oder MPEG-Komprimierung zu finden, ebenso in der GSM-Sprachcodierung, wo zuerst eine Digitalisierung stattfinden muss.

Bezüglich der Übertragung über einen Binärkanal werden im Folgenden Entwürfe für Binärcodierungen diskreter Quellen betrachtet.

1 Grundlagen der Informationstheorie

Page 24: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.24

1.3.1 Aufgaben der QuellencodierungGegeben ist der Zeichenvorrat X = {x1, ... , xN} einer beliebigen Quelle.Bei der Quellencodierung wird einem Zeichen xi des Zeichenvorrates Xein Binärcode der Codewortlänge L(xi) zugewiesen. Dabei ist das Ziel der Codierung die Minimierung der mittleren Codewortlänge :

1.3 Methoden und Algorithmen der Quellencodierung

L

∑=

⋅==N

iiii xLxpxLL

1)()()(

x1 1001x2 011

xN 010111L(xN)

....

....Beispiele für binäre Codierungen von Zeichen:– ASCII-Code:

feste Codewortlänge L(xi) = 8 (Blockcode)– Morse-Code:

Punkt-Strich-Alphabet mit Pause zur Trennung der Codewörter; häufig auftretende Buchstaben werden kurzen Codeworten zugeordnet.

(1.21)

Page 25: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.25

Präfix-Eigenschaft eines Codes:Diese Eigenschaft bedeutet, dass kein Codewort gleichzeitig den Beginn eines anderen Codewortes bilden kann. Eine gegebene Bitfolge ist dann ohne Verwendung von Trennungsregeln eindeutig („kommafreier Code“).

1.3.1 Aufgaben der Quellencodierung

x1 → 0x2 → 01x3 → 10x4 → 100

Die eindeutige Decodierung einer Bitfolge ist nicht möglich. Z. B. sind für die Sequenz 010010 mögliche Decodier-Ergebnisse: x1x3x2x1, x2x1x1x3, x1x3x1x3, x2x1x2x1, x1x4x3 .

Beispiele für Codes mit und ohne Präfix-Eigenschaft:x1 → 0x2 → 10x3 → 110x4 → 111

Die eindeutige Decodierung einer Bitfolge ist gewährleistet. Z. B. liefert die Decodierung der Sequenz 010010110111100 eindeutig: x1x2x1x2x3x4x2x1 .Für eine erfolgreiche Decodierung ist aber die Synchronisation auf den Anfang der Sequenz notwendig.

Page 26: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.26

Codes mit Präfix-Eigenschaft können mit Hilfe eines Entscheidungsbaums decodiert werden.

1.3.1 Aufgaben der Quellencodierung

x1 → 0x2 → 10x3 → 110x4 → 111

(nicht zu verwechseln mit der Redundanz RQ einer Quelle)Redundanz eines Codes RC: )(C XHLR −=

(1.22)

Page 27: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.27

Kraft‘sche Ungleichung:Ein Binärcode mit Präfix-Eigenschaft und den CodewortlängenL(x1), L(x2), ... , L(xN) existiert nur dann, wenn gilt:

1.3.1 Aufgaben der Quellencodierung

121

)( ≤∑=

−N

i

xL i

Beweisidee:Die Länge der Baumstruktur ist gleich der maximalen Codewortlänge Lmax:

Lmax = max(L(x1), L(x2), ... , L(xN)).Das Codewort xi in der Ebene L(xi) eliminiert der möglichen Codeworte in der Ebene Lmax .Die Summe aller eliminierten Codeworte ist kleiner oder gleich der

maximalen Anzahl der Codeworte in der Ebene Lmax: .

)(max2 ixLL −

maxmax 221

)( LN

i

xLL i ≤∑=

Das Gleichheitszeichen in der Kraft‘schen Ungleichung gilt, wenn alle Endpunkte des Codebaums mit Codewörtern besetzt sind.

(1.23)

Page 28: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.28

Untere Grenze der mittleren Codewortlänge :Jeder Präfix-Code hat eine mittlere Codewortlänge , die mindestens der Entropie der Quelle H(X) entspricht: .

1.3.1 Aufgaben der Quellencodierung

Beweisidee:Der Beweis ist ähnlich wie der Beweis zu Ungleichung (1.19). Zusätzlich wird die Kraft‘sche Ungleichung (1.23) ausgenutzt.

Das Gleichheitszeichen ist erfüllt, wenn gilt:und die Codewortlängen gewählt werden zu: L(xi) = Ki = I(xi).

LL

)(XHL ≥

xi p(xi) Codeworte x1 1/2 1 x2 1/4 00 x3 1/8 010 x4 1/16 0110 x5 1/16 0111

( ) iKixp 2

1)( =

Bei allgemeinen p(xi) ist I(xi) durch Aufrundungin einen Integer zu überführen, so dass gilt:

I(xi) ≤ L(xi) < I(xi) + 1. (1.27)Die L(xi) erfüllen dann weiterhin Ungl. (1.23).

815)( == XHLFür das Beispiel rechts gilt: .

(1.24)

(1.25)(1.26)

Page 29: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.29

Shannon‘sches Codierungstheorem:Für jede Quelle lässt sich eine Binärcodierung finden mit:

1.3.1 Aufgaben der Quellencodierung

1)()( +<≤ XHLXH

Beweisidee:Ungl. (1.27) mit p(xi) multiplizieren und über alle i aufsummieren.

Die linke Seite von Ungl. (1.27) wird für den Nachweis, dass es bei dieser Bedingung einen Code mit Präfix-Eigenschaft gibt, verwendet:

)()(

1 2)()(ld)( ii

xLiixpi xpxLxI −≥⇒≤⎟

⎠⎞⎜

⎝⎛=

1)(211

)( ∑∑==

− =≤N

ii

N

i

xL xpiSummation über alle i:

Das Ergebnis ist Ungl. (1.23), die die Existenz von Präfix-Codes gewährleistet. q.e.d.

(1.28)

Page 30: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.30

1.3.2 Shannon‘sche CodierungAlgorithmus:1. Ordnen der Auftrittswahrscheinlichkeiten2. Bestimmung der Codewortlängen L(xi) entsprechend Ungl. (1.27)3. Berechnung der akkumulierten

Auftrittswahrscheinlichkeiten Pi:

1.3 Methoden und Algorithmen der Quellencodierung

∑−

==

1

1)(

i

jji xpP

i p(xi) I(xi) L(xi) Pi Code1 0,22 2,18 3 0,00 000 2 0,19 2,40 3 0,22 001 3 0,15 2,74 3 0,41 011 4 0,12 3,06 4 0,56 1000 5 0,08 3,64 4 0,68 1010 6 0,07 3,84 4 0,76 1100 7 0,07 3,84 4 0,83 1101 8 0,06 4,06 5 0,90 111009 0,04 4,64 5 0,96 11110

4. Codeworte sind die L(xi)Nachkommastellen derBinärdarstellung von Pi.

Beispiel:0,90 = 1⋅2−1 + 1⋅2−2 + 1⋅2−3 +

0⋅2−4 + 0⋅2−5 + 1⋅2−6 +1⋅2−7 + 0⋅2−8 + 0⋅2−9 +1⋅2−10 + ...

Page 31: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.31

Umwandeln einer Dezimalzahl in eine Dualzahl:Für die Dezimalzahl 0,9 als Beispiel soll die Dualzahl entwickelt werden. Diese Suche entspricht einer Koeffizientensuche der folgenden Gleichung, die dann folgendermaßen gelöst werden kann:

1.3.2 Shannon‘sche Codierung

0,90⋅2 = 0,8 + 10,80⋅2 = 0,6 + 10,60⋅2 = 0,2 + 10,20⋅2 = 0,4 + 0 ...

0,90 = a1⋅2−1 + a2⋅2−2 + a3⋅2−3 + a4⋅2−4 + ... | ⋅21,80 = 1 + 0,80 = a1⋅20 + a2⋅2−1 + a3⋅2−2 + a4⋅2−3 + ...

Da 20 = 1, ist auch a1 = 1 unter der Voraussetzunga2⋅2−1 + a3⋅2−2 + a4⋅2−3 + ... < 1

Dies entspricht aber gerade der Kraft‘schen Ungleichung (Gl. 1.23), die bewiesen ist.Durch wiederholtes Multiplizieren lassen sich aufdiese Weise die Koeffizienten bestimmen.Das Verfahren lässt sich dann vereinfacht schreiben:

Page 32: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.32

1.3.2 Shannon‘sche Codierung

Baumdarstellung des im Beispiel betrachteten Shannon-Codes:

Das Baumdiagramm zeigt den Nachteil der Shannon‘schen Codierung. Nicht alle Endpunkte des Baums sind besetzt, d. h. die Codewortlänge kann reduziert werden. Dieser Code ist somit nicht optimal.

Page 33: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.33

1.3.3 Huffman-Codierung1.3 Methoden und Algorithmen der Quellencodierung

Die Huffman-Codierung basiert auf einem rekursiven Vorgehen. Der Grundgedanke ist, dass die beiden Symbole mit den kleinsten Wahrscheinlichkeiten die gleiche Codewortlänge besitzen müssen, denn andernfalls ist eine Reduzierung der Codewortlänge möglich. Die Symbole mit den kleinsten Wahrscheinlichkeiten bilden somit den Startpunkt.

Algorithmus:1. Ordnen der Symbole entsprechend ihrer Wahrscheinlichkeit2. Zuordnung von 0 und 1 zu den beiden Symbolen mit der kleinsten

Wahrscheinlichkeit3. Zusammenfassen der beiden Symbole mit der kleinsten

Wahrscheinlichkeit xN−1 und xN zu einem neuen Symbol mit der Wahrscheinlichkeit p(xN−1 ) + p( xN)

4. Wiederholung der Schritte 1 - 3, bis nur noch ein Symbol übrig bleibt.

Page 34: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.34

Codierung des Beispiels aus 1.3.2:

1.3.3 Huffman-Codierung

0

0

1

1

1 0

0

1

01

1

1

10,1

0,18

0,26

0,41

0,59

1,0

7

1

4

5

6

3

8

2

0,22

0,19

0,15

0,12

0,08

0,07

0,07

0,06

9 0,04

0,14

0,33

10

11

001

011

0001

0100

0101

00000

00001

0

0

0

i Codierung Codep(xi)

Page 35: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.35

Baumstruktur des Huffman-Code-Beispiels:

1.3.3 Huffman-Codierung

Page 36: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.36

1.4 Diskrete Quellenmodelle1.4.1 Diskrete Quelle ohne Gedächtnis

1 Grundlagen der Informationstheorie

Berechnet werden soll zuerst die Verbundentropie von Zeichenketten:

Für M unabhängige Zeichen der gleichen Quelle gilt:H(X1, X2, ... , XM) = M ⋅ H(X)

(1.29)

(1.30)

Betrachtet werden die Codiermöglichkeiten für Quellen, deren Zeichen statistisch unabhängig voneinander ausgegeben werden.

)()(),( YHXHYXH +=

))((ld)()())((ld)()(1111

ypypxpxpxpypN

kkk

N

ii

N

iii

N

kk ⋅⋅−⋅⋅−= ∑∑∑∑

====

[ ]))((ld))((ld)()(1 1

ypxpypxpN

i

N

kkiki +⋅⋅−= ∑ ∑

= =

)),((ld),(),(1 1

yxpyxpYXHN

i

N

kkiki−= ∑ ∑

= =

Page 37: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.37

1.4.1 Diskrete Quelle ohne Gedächtnis

Die Codierung von Zeichenketten stellt eine effizientere Methode dar, wie die allgemeine Form des Shannon‘schen Codierungstheorems zeigt:

Der Nachteil bei dem Verfahren steckt in dem stark ansteigenden Codierungsaufwand, da die Zahl der möglichen Zeichen exponentiell zunimmt.

Als Beispiel wird eine binäre Quelle mit X = {x1, x2} und den Auftritts-wahrscheinlichkeiten p(x1) = 0,2 bzw. p(x2) = 0,8 betrachtet. Die Entropie der Quelle ist damit H(X) = 0,7219 bit/Zeichen.Als Codieralgorithmus wird die Huffman-Codierung verwendet.

(1.31)

),,( 1 MM XXL KH(X1,...,XM) ≤ ≤ H(X1,...,XM) + 1

LM ⋅M⋅H(X) ≤ ≤ M⋅H(X) + 1

LH(X) ≤ ≤ H(X) + 1/M

Page 38: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.38

1.4.1 Diskrete Quelle ohne Gedächtnis

Codierung von Einzelzeichen: Zeichen p(xi) Code L(xi) p(xi)⋅L(xi)x1 0,2 0 1 0,2x2 0,8 1 1 0,8

Σ = 1Mittlere Codewortlänge: nbit/Zeiche1=L

Zeichen-paar

p(xi,xj) Code L(xi,xj) p(xi,xj)⋅L(xi,xj)

x1x1 0,04 101 3 0,12 x1x2 0,16 11 2 0,32 x2x1 0,16 100 3 0,48 x2x2 0,64 0 1 0,64

Σ = 1,56

Codierung vonZeichenpaaren:

Mittlere Codewortlänge: nbit/Zeiche 78,0=L

Page 39: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.39

1.4.1 Diskrete Quelle ohne Gedächtnis

Codierung vonZeichentripeln:

Zeichen-tripel

p(xi,xj,xk) Code L(xi,xj,xk) p(xi,xj,xk)⋅L(xi,xj,xk)

x1x1x1 0,008 11111 5 0,040 x1x1x2 0,032 11100 5 0,160 x1x2x1 0,032 11101 5 0,160 x1x2x2 0,128 100 3 0,384 x2x1x1 0,032 11110 5 0,160 x2x1x2 0,128 101 3 0,384 x2x2x1 0,128 110 3 0,384 x2x2x2 0,512 0 1 0,512

Σ = 2,184

MittlereCodewortlänge:

nbit/Zeiche 728,0=L

Zusammenfassung: M H(X) H(X) + 1/M1 0,7219 1,0 1,72192 0,7219 0,78 1,22193 0,7219 0,728 1,0552

L

Page 40: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.40

1.4.2 Diskrete Quelle mit Gedächtnis1.4 Diskrete Quellenmodelle

Hier werden die Codiermöglichkeiten für Quellen betrachtet, deren Zeichen abhängig voneinander ausgegeben werden. Dieser Umstand trifft auf reale Quellen zu, wenn zwischen den Einzelzeichen Korrelationen auftreten. In diesem Fall berechnet sich die Verbundentropie zu:

∑ ∑= =

⋅−=N

i

N

kikki xypyxpXYH

1 1))|((ld),()|(mit der bedingten Entropie

(1.32a)

(1.32b)

)|()(),( XYHXHYXH +=

))|((ld),())((ld)()|(1 11 1

xypyxpxpxpxypN

i

N

kikki

N

i

N

kiiik ⋅−⋅⋅−= ∑ ∑∑ ∑

= == =

[ ]))|((ld))((ld)|()(1 1

xypxpxypxpN

i

N

kikiiki +⋅⋅−= ∑ ∑

= =

)),((ld),(),(1 1

yxpyxpYXHN

i

N

kkiki−= ∑ ∑

= =

Page 41: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.41

1.4.2 Diskrete Quelle mit Gedächtnis

Zwischen der Quellenentropie und derbedingten Entropie gilt die Beziehung: H(Y) ≥ H(Y | X )

Beweis:

mit p(xi,yk) = p(xi) ⋅ p(yk|xi)

∑ ∑= =

⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅⋅≤−

N

i

N

k ik

kki xyp

ypyxpYHXYH1 1

1)|(

)(2ln

1),()()|(

0),()()(2ln

1)()|(1 11 1

=⎥⎦

⎤⎢⎣

⎡−≤− ∑ ∑∑ ∑

= == =

N

i

N

kki

N

i

N

kki yxpypxpYHXYH

Abschätzung mit: )1(2ln

1ld1ln −≤⇒−≤ xxxx

q.e.d.

(1.33)

∑ ∑= =

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅=−

N

i

N

k ik

kki xyp

ypyxpYHXYH1 1 )|(

)(ld),()()|(

∑ ∑∑= ==

⋅−=⋅−=N

i

N

kkki

N

kkk ypyxpypypYH

1 11))((ld),())((ld)()(

Page 42: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.42

1.4.2 Diskrete Quelle mit Gedächtnis

Mit diesem Ergebnis ist demnach, ausgehend von gleichwahrscheinlichen Einzelzeichen, die Entropie einer Quelle mit Gedächtnis kleiner als die Entropie einer Quelle ohne Gedächtnis. Anders ausgedrückt: Bei Quellen mit Gedächtnis ist eine wesentlich effizientere Quellencodierung durch Codierung von Zeichenfolgen durch Ausnutzung der Korrelationen unter den Einzelzeichen möglich, als wenn die Quelle als gedächtnislos betrachtet werden würde.

Gedächtnisbehaftete Quellen können als Markoff-Prozesse modelliert werden. Die zugehörigen Quellenmodelle werden als Markoff-Quellen bezeichnet.

Beispiel für Korrelationen in deutschen Texten: Die Wahrscheinlichkeit, dass nach einem „Q“ ein „u“ folgt, ist nahe 1.

Page 43: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.43

1.4.2 Diskrete Quelle mit Gedächtnis

Markoff-Quelle:Eine diskrete Quelle mit Gedächtnis kann allgemein als Markoff-Quellebeschrieben werden. Ihre Grundlage sind die Markoff-Prozesse.Als Basis wird eine Folge von zeitlich hintereinander auftretenden Zufallsvariablen betrachtet: z0, z1, z2, ..., zn. Sind diese statistisch unabhängig, so gilt allgemein:

)()...,,,|( 021,...,,| 021 nznnnzzzz zfzzzzfnnnn

=−−−−

Sind die zi statistisch abhängig, so erweitert sich die Gleichung zu:

),...,|(),...,,|( 1,...,|021,...,,| 1021 mnnnzzznnnzzzz zzzfzzzzfmnnnnnn −−−− −−−−

=

Häufig werden Markoff-Prozesse erster Ordnung betrachtet (m = 1):

)|(),...,,|( 1|021,...,,| 1021 −−− −−−= nnzznnnzzzz zzfzzzzf

nnnnn

(1.34a)

(1.34b)

(1.34c)

Page 44: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.44

1.4.2 Diskrete Quelle mit Gedächtnis

Die zi können endlich viele diskrete Werte annehmen: zi ∈ {x1, ... , xN}. Der Markoff-Prozess emittiert diese Werte. Eine Reihe von Werten, die voneinander abhängig sind, stellt eine Markoff-Kette dar. Diese kann vollständig durch Übergangswahrscheinlichkeiten beschrieben werden:

),...,|(),...,|(101 101 mnnn imninjniinjn xzxzxzpxzxzxzp

−−−======= −−−

Hängen die Übergangswahrscheinlichkeiten nicht von der absoluten Zeitab, spricht man von einer homogenen Markoff-Kette:

),...,|(),...,|(11 11 mm imkikjkimninjn xzxzxzpxzxzxzp ======= −−−−

Hängt der eingeschwungene Zustand nicht von den Anfangswahr-scheinlichkeiten ab, so spricht man von einer stationären Markoff-Kette:

Für die homogene und stationäre Markoff-Kette erster Ordnung (m = 1) gilt:

jjjnknikjnknwxpxzpxzxzp ====== +∞→+∞→

)()(lim)|(lim

ijinjn pxzxzp === − )|( 1

(1.35a)

(1.35b)

(1.35c)

(1.35d)

Page 45: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.45

1.4.2 Diskrete Quelle mit Gedächtnis

Für den Fall der homogenen stationären Markoff-Kette können die einzelnen Übergangswahrscheinlichkeiten in einer sogenannten Übergangsmatrix zusammengefasst werden: ⎟⎟

⎟⎟⎟

⎜⎜⎜⎜⎜

=

NNNN

N

N

ppp

pppppp

L

LOLL

L

L

21

22221

11211

P

11

=∑=

N

jijp

))()()(()( 2121 NN xpxpxpwww LL ==w

Pww =

Die einzelnen Zeilen der Übergangsmatrix müssen zusammen Eins ergeben:

Die Auftrittswahrscheinlichkeiten der einzelnen diskreten Werte können zu einem Wahrscheinlichkeitsvektor zusammengefasst werden:

Der Wahrscheinlichkeitsvektor kann mit Hilfe des eingeschwungenen Zustands bestimmt werden:

(1.36a)

(1.37)

(1.38)

(1.36b)

Page 46: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.46

1.4.2 Diskrete Quelle mit Gedächtnis

Es wird nun eine stationäre Markoff-Quelle betrachtet, die Markoff-Ketten erster Ordnung emittiert.

(1.39)N

∑ ∑= =

−− ==⋅==−=N

i

N

jinjninjn xzxzpxzxzp

1 111 ))|((ld),(

N N∑ ∑= =

−− ==⋅==⋅−=i j

injninjni xzxzpxzxzpw1 1

11 ))|((ld)|(

∑=

−− =⋅===i

inniiinn xzzHwxzzH1

11 )|()|(

−−−∞→

∞ == nnnnnn

zzHzzzzHZH 1021 )|(), ,,|(lim)( K

Für diese Anordnung, die durch w und P beschrieben ist, soll die Entropie berechnet werden. Diese ist dann gleich der Entropie im eingeschwungenen Zustand:

H∞(Z)

Page 47: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.47

1.4.2 Diskrete Quelle mit Gedächtnis

Da die Entropie H∞(Z) Zeichen aus der Vergangenheit, die bereits bekannt sind, einbezieht, handelt es sich um eine bedingte Entropie. Für diese gilt analog zu Ungl. (1.33):

)()()|()( 01 nnnn zHzHzzHZH ≤≤= −∞

Die Quellencodierung einer Markoff-Quelle kann nun unter Berücksichtigung des Gedächtnisses erfolgen. Dazu kann z. B. die Huffman-Codierung verwendet werden, die den momentanen Zustand der Quelle berücksichtigt.

Das Problem, das diese Codierung darstellt, welches aber ein grundsätzliches Problem der Quellencodes variabler Länge ist, stellt die katastrophale Fehlerfortpflanzung dar. Ein auf dem Kanal aufgetretener, nicht korrigierter Fehler kann dann zum Verlust der ganzen Informationssequenz führen.

(1.40)

Page 48: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.48

1.4.2 Diskrete Quelle mit Gedächtnis

Im Folgenden wird das nebenstehende Beispiel einer Markoff-Quelle betrachtet. Ihre Zustände entsprechen den gesendeten Zeichen: zn ∈ {x1, x2, x3}.

Die Übergangswahrscheinlichkeiten für dieses Beispiel lauten:

zn

zn−1

x1 x2 x3

x1 0,2 0,4 0,4x2 0,3 0,5 0,2x3 0,6 0,1 0,3

( ) ( )⎟⎟⎟

⎜⎜⎜

⎛===== −

3,01,06,02,05,03,04,04,02,0

)|( 1 Pijinjn pxzxzpBerechnet werden sollen im Folgenden wund H∞(Z).

Page 49: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.49

1.4.2 Diskrete Quelle mit Gedächtnis

Berechnung der stationären Wahrscheinlichkeiten wi:

w1 = 0,2 w1 + 0,3 w2 + 0,6 w3w2 = 0,4 w1 + 0,5 w2 + 0,1 w3w3 = 0,4 w1 + 0,2 w2 + 0,3 w31 = w1 + w2 + w3

3011,03441,03548,0 9328

39332

29333

1 ≈=≈=≈= www

Aus Gleichung (1.38) lassen sich hier drei einzelne gewinnen, um die drei Unbekannten zu berechnen. Jeweils eine von den drei Einzelgleichungen ist aber linear von den anderen beiden abhängig, so dass der zweite Ansatz zum Erhalt einer dritten unabhängigen Gleichung berücksichtigt werden muss: }eine der drei Gleichungen streichen!

Lösung des Gleichungssystems:

(1.41)

Benutzt wird als Ansatz die Gl. (1.38) sowie die Gleichung

1.1

=∑=

N

iiw

Page 50: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.50

1.4.2 Diskrete Quelle mit Gedächtnis

Berechnung der Entropie H∞(Z):

∑ ∑∑= ==

−∞ ⋅⋅−==⋅=N

i

N

jijiji

N

iinni ppwxzzHwZH

1 111 )(ld)|()(

Für die Übersicht bieten sich zuerst die einzelnen Berechnungen der Zustandsentropien an:

Zeichen/bit441,1

)|()|()|()( 313212111

=+=+== −−−∞ xzzHwxzzHwxzzHwZH nnnnnn

Die Entropie ist schließlich:

(1.42)

Den Ansatz für diese Berechnung stellt Gl. (1.39) dar. Die Benutzung der Notation für die stationären Wahrscheinlichkeiten wi und Übergangs-wahrscheinlichkeiten pij führt zu der Darstellung:

3,00,10,6 henbit / Zeic2955,1ld3,0ld1,0ld6,0)|( 11131 ≅⋅+⋅+⋅==− xzzH nn

henbit / Zeic4855,1ld2,0ld5,0ld3,0)|( 2,01

0,51

0,31

21 ≅⋅+⋅+⋅==− xzzH nn

henbit / Zeic5219,1ld4,0ld4,0ld2,0)|( 4,01

0,41

0,21

11 ≅⋅+⋅+⋅==− xzzH nn

Page 51: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.51

1.4.2 Diskrete Quelle mit Gedächtnis

Ein Vergleich der unterschiedlichen Werte zeigt:

Zeichen/bit441,1)( ≅∞ ZH

Zeichen/bit5814,11ld)(lim)(1

≅⋅== ∑=∞→

N

i iin

n wwzHZH

Zeichen/bit5850,13ld0 ≅=H

Siehe auch Ungl. (1.40).

Page 52: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.52

1.4.2 Diskrete Quelle mit Gedächtnis

Für das betrachtete Beispiel sind unten die zustandsabhängigen Huffman-Codierungen aufgelistet. Für jeden Zustand zn−1 gibt es eine eigene Codierung, die hier auch unterschiedlich zu den jeweils anderen ist:

zn

zn−1

x1 x2 x3 ⟨L⟩|zn−1

x1 11 10 0 1,6x2 10 0 11 1,5x3 0 11 10 1,4

Zeichen/bit5054,1

)|()|(1 1

11

==⋅⋅==== ∑ ∑= =

−−N

i

N

jinjnijiinjn xzxzLpwxzxzLL

zn

zn−1

x1 x2 x3

x1 0,2 0,4 0,4x2 0,3 0,5 0,2x3 0,6 0,1 0,3

Die mittlere Codewortlänge berechnet sich dann zu:

Zeichen/bit441,1)( ≅∞ ZHZeichen/bit5814,1)( ≅ZH

Zum Vergleich:

pij Codewörter

(1.43)

Page 53: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.53

1.5 Nachrichtenübertragungüber einen diskreten gedächtnislosen Kanal

1.5.1 Definition und Eigenschaftendes diskreten gedächtnislosen Kanals

1 Grundlagen der Informationstheorie

},...,,{ 21 XNxxxX ∈ },...,,{ 21 YNyyyY ∈

Der diskrete gedächtnislose Kanal (engl. discrete memoryless channel; DMC) ist eine Modellbeschreibung für die Übertragung diskreter Werte über einen Kanal. Gedächtnislos bedeutet, dass die Übertragungs-wahrscheinlichkeiten der Symbole unabhängig voneinander sind.

Das Eingangssignal X und das Ausgangssignal Y können jeweils unterschiedliche diskrete Werte annehmen, wobei die möglichen Werte am Eingang und Ausgang sowie deren Anzahl nicht gleich sein müssen:

Page 54: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.54

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

( ) ( )

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

====

YXXX

Y

Y

NNNN

N

N

ijij

ppp

pppppp

pxXyYp

L

LOLL

L

L

21

22221

11211

)|(P

Jedes der xi wird bei der Übertragung nun mit einer bestimmten Wahrscheinlichkeit pij in yj überführt:

Die Übergangswahrscheinlichkeiten pijwerden wieder in der Übergangsmatrix Pzusammengefasst.Dabei muss die Summe der pij über jeweils eine Zeile Eins ergeben (Gl. (1.36b)).

(1.44)

(Ähnlich zu Gl. (1.36a), wo es aber umÜbergänge in Quellen geht!)

Page 55: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.55

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

⎟⎟⎠

⎞⎜⎜⎝

⎛=

2221

1211pppp

P

212121

212121)()(

)|()()|()()Fehler(pxppxp

xypxpxypxpp⋅+⋅=

⋅+⋅=

⎟⎟⎠

⎞⎜⎜⎝

⎛−

−=

errerr

errerr1

1pp

ppP

errerr21

212121

)]()([

)()()Fehler(

ppxpxp

pxppxpp

=⋅+=

⋅+⋅=

Ein Spezialfall des DMCs ist der Binärkanal. Sowohl X als auch Y bestehen nur aus zwei Symbolen. Die Übergangsmatrix reduziert sich zu:

Die Wahrscheinlichkeit p(Fehler), dass ein Übertragungsfehler auftritt, berechnet sich zu:

Für den symmetrischen Binärkanal (engl.: binary symmetric channel; BSC) vereinfachen sich die Beziehungen zu:

(1.45)

(1.46)

(1.47)

Page 56: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.56

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Für den störungsfreien Kanal ist ersichtlich, dass die Information am Ausgang gleich der Information am Eingang des Kanals sein muss. Das bedeutet gleichzeitig, dass die übertragene Information gleich der Entropie der Quelle ist.Bei dem gestörten Kanal geht durch Falschzuweisung einiger Symbole Information bei der Übertragung verloren. D. h., die Information am Ausgang muss kleiner als die Information am Eingang sein. Damit sinkt aber auch die übertragene Information, die dann also kleiner als die Entropie der Quelle sein muss.Als Maß für die tatsächlich übertragene Information wird daher die Transinformation T(X,Y) definiert. Diese wird im Folgenden mit den anderen Informationsströmen in Beziehung gesetzt.

Page 57: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.57

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Informationsströme:

Page 58: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.58

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Definitionen der Entropien bzgl. des diskreten gedächtnislosen Kanals

Eingangsentropie: mittlerer Informationsgehalt der Eingangssymbole

Ausgangsentropie: mittlerer Informationsgehalt der Ausgangssymbole

Verbundentropie: mittlere Unsicherheit des gesamten Übertragungssystems

)(1ld)()(

1 i

N

ii xp

xpXHX

∑=

⋅=

)(1ld)()(

1 j

N

jj yp

ypYHY

∑=

⋅=

∑ ∑= =

⋅=X YN

i

N

j jiji yxp

yxpYXH1 1 ),(

1ld),(),(

(1.48)

(1.49)

(1.50)

Page 59: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.59

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Entropie der Irrelevanz: mittlerer Informationsgehalt am Ausgang bei bekanntem Eingangssymbol (bedingte Entropie)

Entropie der Äquivokation: mittlerer Informationsgehalt am Eingang bei bekanntem Ausgangssymbol (bedingte Entropie); Entropie der Information, die auf dem Kanal verloren geht

∑ ∑= =

⋅=X YN

i

N

j ijji xyp

yxpXYH1 1 )|(

1ld),()|(

∑ ∑= =

⋅=X YN

i

N

j jiji yxp

yxpYXH1 1 )|(

1ld),()|(

(1.51)

(1.52)

Page 60: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.60

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Aus dem Diagramm der Informationsströme sowie Gl. (1.32a) lassen sich folgende Beziehungen ableiten:

)|()()|()(),(),( YXHYHXYHXHXYHYXH +=+==

)()|( XHYXH ≤

)()|( YHXYH ≤

Die mittlere Transinformation lässt sich aus diesen Beziehungen bestimmen:

),()()(

)|()(

)|()(),(

YXHYHXH

XYHYH

YXHXHYXT

−+=

−=

−=

(1.53)

(1.54a)

(1.54b)

(1.55)

Page 61: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.61

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Bezüglich der Transinformation sollen zwei spezielle Beispiele betrachtet werden, für die die Entropien leicht herzuleiten sind.

Für den idealen ungestörten Kanal gilt:

Für die Entropien ergibt sich dann: H(X|Y) = 0, H(Y|X) = 0,H(X,Y) = H(X) = H(Y) und somitT(X,Y) = H(X) = H(Y).

Bzgl. des nutzlosen, vollständig gestörten Kanals sind die Eingangs- und Ausgangssymbole statistisch unabhängig voneinander, so dass gilt:p(xi,yj) = p(xi) ⋅ p(yj) = p(yj|xi) ⋅ p(xi) ⇒ p(yj|xi) = p(yj) ⇒ pij = pkj .D. h., dass die Übergangswahrscheinlichkeiten alle gleich sind. Für die Entropien bedeutet das: H(X|Y) = H(X), H(Y|X) = H(Y),

H(X,Y) = H(X) + H(Y) und somitT(X,Y) = 0.

⎩⎨⎧

≠=

=jiji

pij für 0für 1

Page 62: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.62

1.5.1 Definition und Eigenschaften des diskreten gedächtnislosen Kanals

Abschließend ein konkretes Beispiel zur Transinformation:Es werden 1000 binäre, statistisch unabhängige und gleichwahrscheinliche Symbole (p(0) = p(1) = 0,5) über einen symmetrischen Binärkanalperr = 0,01 übertragen.Qualitative Betrachtung: Die mittlere Anzahl der richtig übertragenen Symbole beträgt 990. Allerdings ist die genaue Lage der Fehler unbekannt, so dass gelten muss: T(X,Y) < 0,99 bit/Zeichen.Quantitative Betrachtung:

nbit/Zeiche9192,0)(1 err ≅−= pS

1ld1

1ld)1())1()0((1err

errerr

err ⎥⎦

⎤⎢⎣

⎡+

−−+−=

pp

pppp

)|()(),( −= XYHYHYXT

)|(1ld)|()(

)(1ld)(

1 11

⋅⋅−⋅= ∑∑∑= == xyp

xypxpyp

ypX YY N

i

N

j ijiji

N

j jj

Page 63: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.63

1.5.2 Kanalkapazität1.5 Nachrichtenübertragung über einen diskreten gedächtnislosen Kanal

Für einen gegebenen Kanal ist es interessant zu wissen, wieviel Information maximal über ihn gesendet werden kann. Die Transinformation hängt allerdings von der Wahrscheinlichkeitsverteilung der Quellensymbole und somit von der Quelle ab, so dass sie sich als Maß zur Beschreibung von Kanälen nicht direkt eignet. Dennoch ist eine Entkopplung von der Quelle möglich, indem man den maximalen Wert der Transinformation betrachtet. Auf diese Weise ist die Kanalkapazität definiert:

),(max1

)(YXT

TC

ixpΔ=

Die Kanalkapazität C ist das Maximum des Transinformationsflusses und hat die Dimension bit/s. ΔT beschreibt die zeitliche Periode der über den Kanal übertragenen Zeichen. Mit dieser Definition ist C allein von den Kanaleigenschaften, d. h. den Übergangswahrscheinlichkeiten, abhängig und nicht von der Quelle.

(1.56)

Page 64: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.64

1.5.2 Kanalkapazität

SymbolR

0)( =→= CRXHL

Symbol

inf

RL

R

=inf

,

inf RRRR

CKK ≥=

KRinfR

SymbolRQRXHH );(;0

Quelle

Quellendecoder KanaldecoderFehlerp

BSC-KanalCp ;err

Kanalcoder1, ≤CKR

Quellencoder

CRL;

Senke

idealer Coder:

(redundanzfrei)

Übersicht einer Übertragungsstrecke:

Definition der Informationsflüsse:Informationsfluss (Entropie / Zeit): H′(X) = H(X) / ΔTTransinformationsfluss (Transinformation / Zeit): T′(X,Y) = T(X,Y) / ΔTEntscheidungsfluss (Entscheidungsgehalt / Zeit): H0′(X) = H0(X) /ΔT

Page 65: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.65

1.5.2 Kanalkapazität

Am Beispiel des symmetrischen Binärkanals (BSC) soll die Kanalkapazität hergeleitet werden. Dafür ist die Transinformation zu bestimmen und anschließend nach dem Maximum zu suchen.

Transinformation des BSC:

(1.57)⎥⎦

⎤⎢⎣

⎡−

−+−err

errerr

err 11ld)1(1ldp

pp

p

+−−+−−+

err1err1err1err1 21

1ld)21(pppp

pppp

−+−+=

err1err1err1err1 2

1ld)2(pppp

pppp

−= )|()(),( XYHYHYXT

Page 66: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.66

1.5.2 Kanalkapazität

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 p(x1)

T(X,Y)

bit/Z

eich

en

perr = 0

perr = 0,1

perr = 0,2

perr = 0,3

perr = 0,5

Graphische Abbildung der Transinformation über verschiedene Übertragungsfehlerwahrscheinlichkeiten:

Die Stelle, an der das Maximum der Transinformation beim BSC auftritt, ist unabhängig von der Übertragungsfehlerwahrscheinlichkeit. Sie liegt beip1 = p(x1) = 0,5 (gleichwahrscheinliche Quellensymbole).

Page 67: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.67

1.5.2 Kanalkapazität

Graphische Abbildung der Kanalkapazität. Sie ist aus der obigen Abbildung der Transinformation zu entnehmen, indem über perr die entsprechenden Maxima der Transinformation aufzutragen sind:

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 perr

C⋅ΔT / bit

)(11

1ld)1(1ld1),(max errerr

errerr

err)(

pSp

pp

pYXTTCixp

−=⎥⎦

⎤⎢⎣

⎡−

−+−==Δ⋅

(1.58)

Page 68: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.68

1.5.2 Kanalkapazität

Als weiteres Beispiel wird der binäre Auslöschungskanal (binary erasurechannel; BEC) betrachtet. Er modelliert das Szenario, das ein Empfangssignal nicht einem der beiden Sendesignale zugeordnet werden kann. Die Daten und Ergebnisse lauten:

⎟⎟⎠

⎞⎜⎜⎝

⎛−

−=

err

err

err

err1

00

1pp

pp

P err1 pTC −=Δ⋅

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 perr

C⋅ΔT / bit

(1.60)(1.59)

Page 69: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.69

1.5.2 Kanalkapazität

Satz von der Kanalkapazität (Shannon 1948):Für jedes ε > 0 und jeden Informationsfluss einer Quelle Rinf kleiner als die Kanalkapazität C ( Rinf < C ) existiert ein binärer Blockcode der Länge n (n hinreichend groß), so dass die Restfehlerwahrscheinlichkeit nach der Decodierung im Empfänger kleiner ε ist.Umkehrung: Für Rinf > C kann die Restfehlerwahrscheinlichkeit eine

gewisse Grenze auch bei größtem Aufwand nicht unterschreiten.

Die Beweisführung wird mit zufälligen Blockcodes (random codingargument) durchgeführt. Dabei geht der Beweis für das Mittel über alle Codes. Dabei zeigt sich, dass alle bekannten Codes schlechte Codes sind.Der Satz von der Kanalkapazität sagt aber auch nur aus, dass Codes mit diesen Eigenschaften existieren. Eine Konstruktionsvorschrift gibt Shannon nicht an.

Page 70: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.70

1.5.2 Kanalkapazität

Bezüglich der Kanalkapazität liegt das Optimum in der Benutzung unendlicher Codewortlängen, also n sehr groß, was aber eine unendliche Verzögerungszeit und Komplexität mit sich bringen würde.Gallager verfeinert nun den Satz von der Kanalkapazität mit seinem Fehlerexponenten EG(RC) für einen DMC mit NX Eingangssymbolen. Ziel ist eine Abschätzung, die für kleinere Codewortlängen gültig ist.

⎥⎥⎥

⎢⎢⎢

⎟⎟⎟

⎜⎜⎜

⎛⋅−⋅−= ∑ ∑

=

+

=

+≤≤

Y X

i

N

j

sN

i

sijixps

xypxpRsRE1

1

1

11

C)(10

CG )|()(ldmaxmax)(

)(w CG2 REnP ⋅−<

Es existiert immer ein (n,k)-Blockcode (k: Informationswortlänge) mitRC = k / n ld NX < C ΔT,

so dass für die Wort-Fehlerwahrscheinlichkeit gilt:

(1.61)

(1.63)

(1.62)

Page 71: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.71

1.5.2 Kanalkapazität

0.0

0.2

0.4

0.6

0.8

0.0 0.2 0.4 0.6 0.8 1.0

EG(RC)

RC

R0

R0 C

Der Fehlerexponent nach Gallager hat die folgenden Eigenschaften:EG(RC) > 0 für RC < CEG(RC) = 0 für RC ≥ C

Der R0-Wert wird definiert als:

R0 = EG(RC = 0) (1.64)

Page 72: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.72

1.5.2 Kanalkapazität

⎥⎥

⎢⎢

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅−=== ∑ ∑

= =

Y X

i

N

j

N

iiji

xpxypxpRER

1

2

1)(CG0 )|()(ldmax)0(

C01

2

1C

)(CG )|()(ldmax)( RRxypxpRRE

Y X

i

N

j

N

iiji

xp−=

⎥⎥

⎢⎢

⎟⎟⎠

⎞⎜⎜⎝

⎛⋅−−≥ ∑ ∑

= =

Das Maximum von EG(RC = 0) liegt bei s = 1. Der R0-Wert, der auch mit „computational cut-off rate“ bezeichnet wird, ist dann:

Wenn RC nicht zu Null gesetzt wird, lautet die Gleichung:

(1.66)

(1.65)

Page 73: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.73

1.5.2 Kanalkapazität

R0-Theorem:Es existiert immer ein (n,k)-Blockcode mit

RC = k / n ld NX < C ΔT,so dass für die Wort-Fehlerwahrscheinlichkeit (bei Maximum-Likelihood-Decodierung) gilt:

)(w C02 RRnP −−<

Wie beim Satz von der Kanalkapazität sagt dieses Theorem nur etwas über die Existenz aus und gibt keine Konstruktionsvorschrift für gute Codes an.

(1.67)

Wertebereiche für die Coderate:0 ≤ RC ≤ R0 Abschätzung von PW mit (1.67)R0 ≤ RC ≤ C ΔT Abschätzung von PW schwierig zu berechnenRC > C ΔT PW kann nicht beliebig klein werden

Page 74: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.74

1.5.2 Kanalkapazität

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.1 0.2 0.3 0.4 0.5 perr

R0

C ΔTbi

t/Zei

chen

Vergleich von Kanalkapazität und R0-Wert für einen BSC:

Zwar verläuft die R0-Kurve unter der Kurve der Kanalkapazität und zeigt eine Grenze an, die schlechtere Eigenschaften der Codes voraussagt. Allerdings ist diese Grenze realistischer in dem Sinne, dass endlich lange Codewortlängen sie erreichen können.

Page 75: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.75

2 Grundzüge der KanalcodierungCodierungstheorie

In Kapitel 1 wurde der Einfluss von Störungen auf den Kanal durch Verringerung der übertragenen Information beschrieben. Praktisch wirkt sich eine Störung durch zufällige Fehler in der Symbolübertragung aus.

In diesem Kapitel sollen die für die Kanalcodierung grundlegenden Größen erläutert werden:– Coderate,– Minimaldistanz und– Fehlerwahrscheinlichkeiten.

Abhängig von einem Qualitätskriterium wie der Bitfehlerrate (BER) kann eine bestimmte Anzahl von (Rest-)Fehlern toleriert werden, für deren Begrenzung Kanalcodes eingesetzt werden müssen. Bei Sprachübertragung gilt z. B. eine BER von 10-3.

Weiterhin werden die Decodierregeln eingeführt und Schranken aufgezeigt, die theoretisch erreichbar sind.

Page 76: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.76

2.1 Einleitung2 Grundzüge der Kanalcodierung

Grundprinzip der Kanalcodierung:

Die Übertragungsstrecke mit Kanalcodierung/-decodierung teilt sich auf in:– Einteilung des Quellensymbolstroms zu Informationswörtern u der

Länge k,– Zuweisung von u zu einem Sendewort x ∈ C der Länge n,– Übertragung von x; dabei Überlagerung mit einem Fehlerwort f,– Schätzung des Empfangsworts y = x + f, d. h. Zuweisung von y zu dem

wahrscheinlichsten Codewort ∈ C,– Zuweisung von zu dem geschätzten Informationswort .

xx u

Page 77: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.77

2.1 Einleitung

Die Codierung hat dabei die Aufgabe, Redundanz zum Fehlerschutz zuzufügen (redundante Codes).

In diesem Kapitel werden nur binäre Blockcodierungen betrachtet, d. h. es ist q = 2, und k bzw. n sind für einen Code konstante Werte. Als Beispiele werden im Folgenden die Wiederholungscodes und die Parity-Check-Codes

betrachtet.

Für die Codierungu = (u0, u1, ... , uk-1) → c = (c0, c1, ... , cn-1)

gilt n ≥ k. Die zugefügten m = n – k Symbole werden als Prüfsymbolebezeichnet. Jedes der einzelnen Symbole ui bzw. ci kann allgemein q Werte annehmen. q ist dabei die Anzahl oder Stufenzahl der Symbole. Dann gibt es N = qk verschiedene Nachrichten bzw. Codewörter und qn – qk

unerlaubte Wörter.

Mit C wird der Coderaum, d. h. die Menge aller Codewörter, bezeichnet.

Page 78: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.78

2.1 Einleitung

Wiederholungscode (Repetition Code):Die Information besteht aus einem Informationsbit (k = 1), das (n – 1)-mal wiederholt wird. Damit gibt es insgesamt 2k = 2 Codewörter, nämlich

c1 = (0 0 0 ... 0) und c2 = (1 1 1 ... 1) .Die Decodierung erfolgt durch Mehrheitsentscheid, wenn n ungerade ist.

Beispiel: n = 5 ⇒ RC = 1/5 u1 = (0) → c1 = (0 0 0 0 0) und u2 = (1) → c2 = (1 1 1 1 1)

gestörte Empfangsfolgen mit: f1 = (0 1 0 0 1) und x1 = c2 = (1 1 1 1 1) y1 = x1 + f1 = (1 0 1 1 0) → (erfolgreiche Decodierung)

f2 = (1 1 0 1 0) und x2 = c1 = (0 0 0 0 0) y2 = x2 + f2 = (1 1 0 1 0) → (Decodierfehler)

)1(ˆ1 =u

)1(ˆ 2 =u

Die Addition wird bitweise ohne Überhang durchgeführt.

Page 79: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.79

2.1 Einleitung

Beispiel: k = 3y1 = ( 0 1 1 0) → kein Fehler

erkannty2 = ( 1 1 1 0) → Fehler erkannt

Paritätskontrolle (Parity Check Code):Der Code besteht aus k Informationsbits und einer Prüfstelle (m = 1). Damit ist n = k + 1. Es gibt 2k Codewörter der Form

c = (u p) mit p = u0 + u1 + u2 + ... + uk−1.Damit ergibt sich stets eine gerade Anzahl von Einsen in den Codewörtern.

Codewort Information Prüfstellec0 000 0c1 001 1c2 010 1c3 011 0c4 100 1c5 101 0c6 110 0c7 111 1

Die Paritätskontrolle sieht dann folgendermaßen aus:s0 = y0 + y1 + y2 + ... + yn−1 = 0

→ kein Fehler s0 = y0 + y1 + y2 + ... + yn−1 = 1

→ Fehler

Page 80: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.80

2.2 Coderate2 Grundzüge der Kanalcodierung

Eine Quelle generiert Nachrichten mit einer mittleren Rate Ri Bits pro Sekunde (bps), d. h. ein Bit wird alle Ti = 1/Ri Sekunden übertragen. Der Kanalcodierer weist jeder Informationsnachricht der Länge k ein Codewort der Länge n zu, so dass die Kanalbitrate lautet:

Da gilt: n ≥ k, ist RC ≤ 1.Die Coderate misst den relativen Informationsgehalt in jedem Codewortund ist einer der Schlüsselwerte für die Leistungsfähigkeit eines Kanalcodes. Ein hoher Wert von RC bedeutet zwar mehr übertragene Information, allerdings ist es durch die geringere Anzahl an Sicherheits-symbolen schwieriger, einen Schutz gegen Übertragungsfehler zu bieten.

knRR iK ⋅=

i

K

K

iC T

TRR

nkR ===Die Coderate ist dann:

(2.1)

(2.2)

Page 81: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.81

2.2 Coderate

In einigen Systemen sind Ri und RK feste Parameter. Für eine gegebene Nachrichtenlänge k ist n dann der größte Integer kleiner . Ist dieser Term selbst kein Integer, müssen Dummy-Bits zur Aufrechterhaltung der Synchronisation eingefügt werden.Beispiel:Ein System sei gegeben durch Ri = 3 bps und RK = 4 bps. Damit ist RC = ¾.

iK RRk /⋅

Soll ein Kanalcodierer mit k = 3 erstellt werden, ist ohne Synchronisations-verlust ein n = 4 zu wählen.Soll ein Kanalcodierer mit k = 5 erstellt werden, ergibt sich für das Produkt

= 6 + 2/3. Somit ist n = 6. Allerdings müssen 2 Dummy-Bits nach jedem 3. Codewort eingefügt werden, um die Lücke von 2/3 zu schließen.

iK RRk /⋅

k = 5X X X X X

⇓O O O O O O

n = 6

k = 5X X X X X

⇓O O O O O O

n = 6

k = 5X X X X X

⇓O O O O O O

n = 6d d

15 Bits

20 BitsRC = 3/4

Dummy-Bits

Page 82: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.82

2.3 Decodierregeln2 Grundzüge der Kanalcodierung

Der Kanaldecodierer muss eine Decodierregel für das Empfangswort yanwenden, um zu entscheiden, welches Sendewort x übertragen wurde, d. h. eine Entscheidungsregel D(.) wird gesucht, für die gilt: x = D(y).

Sei p(x) die a-priori-Wahrscheinlichkeit für die zu sendende Nachricht x. Mittels der Bayes‘schen Formel (Gl. 1.9) ist die Wahrscheinlichkeit, dass xgesendet wurde, wenn y empfangen wurde, gegeben durch:

Sei p(y | x) die Wahrscheinlichkeit, dass y empfangen wurde, wenn xgesendet wurde. Für einen diskreten gedächtnislosen Kanal kann sie durch die Übertragungswahrscheinlichkeiten ausgedrückt werden:

∏−

=

=1

0

)|()|(n

iii xypp xy (2.3)

)()()|()|(

yxxyyx

pppp ⋅

= (2.4)

Page 83: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.83

2.3 Decodierregeln

uuxx == ˆ,ˆ

uuxx ≠≠ ˆ,ˆ

uuxx⎭⎬⎫

⎩⎨⎧

≠=

⎭⎬⎫

⎩⎨⎧

≠=

ˆ,ˆ

Aus der Sicht des Empfängers gibt es 3 mögliche Decodierergebnisse:− korrekte Decodierung, wobei entweder auf dem Kanal keine Fehler

aufgetreten sind oder alle Fehler richtig korrigiert wurden:

− fehlerhafte Decodierung, d. h. ein Fehler ist derart aufgetreten, dass die Schätzung dem Empfangswort ein falsches Codewort zuweist:

− Decodierversagen, d. h. ein Fehler wurde detektiert, wofür derDecodierer aber keine Lösung findet.

uuxx == ˆ,ˆ

uuxx ≠≠ ˆ,ˆ

Bei einer Übertragung gibt es diese 3 möglichen Ergebnisse:− y = x, d. h. fehlerfreie Übertragung: ,− y ≠ x, y ∈ C, d. h. Verfälschung des Empfangsworts in ein anderes

Codewort (nicht korrigierbar): ,− y ≠ x, y ∉ C, d. h. fehlerhafte Übertragung,

wobei der Fehler erkennbar und u. U. korrigierbar ist: .

Page 84: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.84

Es wird angenommen, dass die Codewörter mit gleicher Wahrscheinlichkeit gesendet werden. Dann ergibt sich für pW:

∑∑≠

=≠

=≠xx

xyxx

xyxxxyy ˆ,

)|(ˆ,

)gesendet |empfangen ()gesendet |ˆ( ppp

2 Grundzüge der Kanalcodierung

x )ˆ|( xyp

Wortfehlerwahrscheinlichkeit für einen DMC:

Die bedingte Wahrscheinlichkeit für einen Schätzfehler ist:

Das Ziel besteht nun darin, die Wortfehlerwahrscheinlichkeit zu minimieren.Dafür muss so gewählt werden, dass maximal wird. Mit Gl. (2.4)

bietet sich auch die Möglichkeit, zu maximieren.

∑∈

⋅≠=Cx

xxxx )gesendet()gesendet|ˆ( pp≠= xx )ˆ(p≠= uu )ˆ(W pp

)|ˆ( yxp

(2.5)

(2.7)

(2.6)

∑⋅−= −

yxy )ˆ|(21 pk∑⋅−=

=∈

xxyxxy )|(21

ˆ,,pk

C

∑⋅=∈

yxxy )|([2

,pk

C∑ ∑ ⋅=∈

≠x xxyxy 2)|(

ˆ,W pp k

C∑−

=∈ xxyxxy ])|(

ˆ,,p

C

Page 85: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.85

2.3 Decodierregeln

Maximum-A-Posteriori-Regel:Die Wahrscheinlichkeit, dass die Entscheidung für das Empfangswort y zu dem Codewort x richtig ist, ist gerade p(x | y). Die Wahrscheinlichkeit für einen Fehler ist dann 1 - p(x | y). Die Minimierung des Schätzfehlers bei der Wahl von x ist somit die Maximierung der a-posteriori-Wahrscheinlichkeit p(x | y).

Cxyxyxx ∈≥= allefür )|()|ˆ( pp

Diese Decodierregel führt zu einem minimalen Decodierfehler.

Die zugehörige Maximum-a-posteriori-Regel (MAP-Regel) lautet:

x x= DMAP(y), wobei ∈ C,so dass

Mit Gl. (2.4) und da p(y) unabhängig von x ist, vereinfacht sich Gl. (2.8b) zu:

Cxxxyxxxxy ∈≥== allefür )()|()ˆ()ˆ|( pppp

(2.8a)

(2.8b)

(2.8c)

Page 86: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.86

2.3 Decodierregeln

Maximum-Likelihood-Decoding-Regel:Eine alternative Decodierregel basiert auf der Maximierung von p(y | x), der Wahrscheinlichkeit, dass bei der Übertragung von x das Wort y empfangen wurde. Diese Regel bietet nicht notwendigerweise minimale Fehler, ist aber einfacher zu implementieren, da die Kanaleingangswahrscheinlichkeiten nicht benötigt werden.

C∈≥= xxyxxy allefür )|()ˆ|( pp

Für gleichwahrscheinliche Eingangsgrößen führen die MLD- und die MAP-Regel zu gleichen Ergebnissen (vgl. folgendes Beispiel).

Die zugehörige Maximum-Likelihood-Decoding-Regel (MLD-Regel) lautet:

x x= DMLD(y), wobei ∈ C,so dass

(2.9a)

(2.9b)

Page 87: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.87

2.3 Decodierregeln

Beispiel: Gegeben sei ein BSC mit perr = 0,4 und ein Kanalcodierer mit (k,n) = (2,3), d. h. ein Kanalcode mit N = 22 = 4 Codewörtern der Längen = 3. Die Codewörter und ihre Auftrittswahrscheinlichkeiten seien:

Codewort p(x)x1 = (000) 0,4x2 = (011) 0,2x3 = (101) 0,1x4 = (110) 0,3144,0)0|1()1|1()1|1()110|111()|(

144,0)1|1()0|1()1|1()101|111()|(144,0)1|1()1|1()0|1()011|111()|(064,0)0|1()0|1()0|1()000|111()|(

4

3

2

1

=⋅⋅===⋅⋅===⋅⋅===⋅⋅==

pppppppppppppppppppp

xyxyxyxy

Sei y = (111). Die MLD-Regel liefert:

0432,03,0144,0)()|(0144,01,0144,0)()|(0288,02,0144,0)()|(0256,04,0064,0)()|(

44

33

22

11

=⋅=⋅=⋅=⋅=⋅=⋅=⋅=⋅

xxyxxyxxyxxy

pppppppp

Diese Regel liefert drei gleichhohe maximale Wahrscheinlichkeiten, so dass eine eindeutige Entscheidung nicht möglich ist.

Die Minimierung des Fehlers ist hier eindeutig durch Wahl des Codeworts x4 bestimmt,d. h. x4 = DMAP(y = (111)).

Die MAP-Regel liefert dagegen (mittels Gl. (2.8c)):

Page 88: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.88

2.3 Decodierregeln

Decodierkugel:Die Decodierkugel bezeichnet eine n-dimensionale Kugel um ein Codewort mit dem Radius t. Alle n-stelligen Empfangswörter, die im Innern einer bestimmten Decodierkugel liegen, werden als zugehöriges Codewort decodiert.

Es gilt, dass die Gesamtzahl aller Vektoren innerhalb von Decodierkugeln kleiner oder gleich der Gesamtzahl aller möglichen Wörter ist.

Die Decodierkugel bildet die Basis für die Hamming-Schranke (s. u.).

Decodierkugel

mögliches Empfangswort(kein Codewort)

Codewort

Raum möglicher Empfangswörter

t

Page 89: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.89

2.3 Decodierregeln

Maximum-Likelihood-Decodierung (MLD):Das Empfangswort wird mit allen Codewörtern verglichen (2k notwendige Vektorvergleiche). Dieses Verfahren ist zwar optimal, aber auch sehr aufwändig. Unter Umständen sind mehr als t Fehler korrigierbar.Begrenzte Distanz-Decodierung (BDD):Um jedes Codewort liegen Decodierkugeln mit dem Radius t0, die sich schneiden können. Die Decodierung findet nur für Empfangsvektoren ystatt, die in genau einer Kugel liegen. Alle Empfangsvektoren y, die in keiner oder mehreren Kugeln liegen, werden nicht decodiert.

Begrenzte Mindestdistanz-Decodierung (BMD):Um jedes Codewort liegt eine Decodierkugel mit dem Radius t. Die Decodierkugeln sind disjunkt. Die Decodierung findet nur für Empfangs-

vektoren y statt, die in einer Kugel liegen.

Decodierverfahren:Betrachtet wird ein Blockcode, der t Fehler mit Sicherheit korrigieren kann.

Page 90: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.90

2.3 Decodierregeln

MLD BDD BMD

Weitere Decodierverfahren sind z. B. die Syndrom-Decodierung und die Mehrheitsentscheidung.Die Syndromdecodierung ist einfach zu realisieren. Sie ist allerdings suboptimal, da nicht sämtliche Information genutzt wird.Die Mehrheitsentscheidung ist bereits von den Wiederholungscodes bekannt

und ebenfalls suboptimal.

Page 91: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.91

2.4 Hamming-Distanz2 Grundzüge der Kanalcodierung

Gegeben seien die beiden binären Codewörter x und y der Länge n. Die Hamming-Distanz zwischen x und y, dH(x,y), ist definiert als die Anzahl der Positionsbits, in denen sich x und y unterscheiden. Für beliebige binäre Wörter x, y und z erfüllt die Hamming-Distanz die folgenden Bedingungen:

− dH(x,y) ≥ 0, mit Gleichheit, wenn x = y, (2.10a)− dH(x,y) = dH(y,x) und (2.10b)− dH(x,y) + dH(y,z) ≥ dH(x,z) (Dreiecksungleichung). (2.10c)

Beispiel: Sei n = 8 und x = (11010001),y = (00010010) undz = (01010011).

Die Hamming-Distanzen sind für alle Kombinationenin der Tabelle gegeben.

dH x y zx 0 4 2y 4 0 2z 2 2 0

Die Überprüfung der Dreiecksungleichung (Gl. (2.10c)) ergibt:dH(x,y) + dH(y,z) ≥ dH(x,z) ⇒ 4 + 2 ≥ 2

Page 92: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.92

2.4 Hamming-Distanz

(Hamming-)Gewicht:Gegeben sei ein binärer Vektor x der Länge n. Dann ist das Hamming-Gewicht wH(x) definiert als die Anzahl der Einsen in x:

Beispiel: x = ( 0 1 1 1 0 1 0 1 )y = ( 1 0 1 0 0 1 0 1 ) ⇒ dH(x,y) = 3

x + y =( 1 1 0 1 0 0 0 0 ) ⇒ wH(x + y) = 3

∑−

=

=1

0H )(

n

iixw x

Beispiel: wH(0 1 1 1 0 1 0 1) = 5.

Zwischen der Hamming-Distanz dH und dem Hamming-Gewicht wH gilt:dH(x,y) = wH(x + y).

(2.11)

(2.12)

Page 93: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.93

2.4.1 Decodierregel für den BSC2.4 Hamming-Distanz

Gegeben sei ein BSC mit der Bitfehlerwahrscheinlichkeit perr. Bezüglich der MLD-Regel ergibt sich für die bedingte Wahrscheinlichkeit:

),(

err

errerr

),(err

),(err

1

0 err

err1

0

HHH

1)1()1(

fürfür1

)|()|(

xyxyxy

xy

dnddn

n

i ii

iin

iii

ppppp

xypxyp

xypp

⎟⎟⎠

⎞⎜⎜⎝

⎛−

⋅−=⋅−=

⎭⎬⎫

⎩⎨⎧

≠=−

==

=

=∏∏

C∈≤ xxyxy allefür ),()ˆ,( HH dd

Gleichung (2.13) ist maximal, wenn dH(x,y) minimal ist.Nach der MLD-Decodierregel ist der Schätzvektor x derart zu suchen, dass er dem Empfangswort y am nächsten ist:

Gleichung (2.13) sagt zudem aus, dass, sofern perr < 0,5, die Wahr-scheinlichkeit für einen Fehler größer ist als für zwei oder drei usw., d. h.

p(i Fehler) > p(i + 1 Fehler), 0 ≤ i ≤ n – 1.

(2.13)

(2.14)

(2.15)

Page 94: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.94

2.4.1 Decodierregel für den BSC

Beispiel: Gegeben sei der folgende Kanalcode:Nachricht Codewort

00 00001 00110 01111 111

Da n = 3 ist, gibt es N = 8 mögliche Empfangs-wörter, 4 von ihnen sind keine Codewörter. Ist das Empfangswort eines der Codewörter, weist die Decodierregel dem Schätzwert auch dieses Codewort zu ( = y). Ist y aber kein Codewort, dann lautet die Decodierregel wie folgt:

y dH(y,ci) Nächstes Codewort Aktion 010 1, 2, 1, 2 000; 011 1 Bitfehler entdeckt 100 1, 2, 3, 2 000 1 Bitfehler korrigiert 101 2, 1, 2, 1 001; 111 1 Bitfehler entdeckt 110 2, 3, 2, 1 111 1 Bitfehler korrigiert

Der Nachteil bei diesem Vorgehen ist die einzelne Betrachtung möglicher Wortpaare. Interessanter ist eine Größe, die für einen Code die allgemeinen

Erkennungs-/Korrektureigenschaften beschreibt.

x

Page 95: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.95

2.4.2 Fehlererkennung und Fehlerkorrektur2.4 Hamming-Distanz

Minimaldistanz eines linearen Codes*:Die minimale Distanz dmin eines linearen Blockcodes C ist gegeben durch die kleinste Hamming-Distanz aller Paare verschiedener Codewörter:

( )212121Hmin ,|),(min cccccc ≠∧∈= Cdd

( )( ) minH

212121Hmin;|)(min

;,|),(minww

dd=≠∈=

≠∈=

0ccccccccc

CC

( )( )( )( )0ccc

0ccc0cccccc0

cccccc

≠∈=

≠∈=

≠∈+=

≠∈=

;|)(min;|),(min

;,|),(min;,|),(min

H

H

212121H

212121Hmin

CC

CC

wdddd

Die minimale Distanz eines linearen Codes entspricht dem minimalen Gewicht des Codes ohne Berücksichtigung des Nullworts:

Beweis:

(2.16)

(2.17)

(*) Lineare Codes:s. Kap. 3

Page 96: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.96

2.4.2 Fehlererkennung und Fehlerkorrektur

Fehlererkennungseigenschaft:Ein Blockcode C entdeckt bis zu t Fehler, wenn seine minimale Distanz größer als t ist:

Dies ist eine wichtige Eigenschaft für ARQ-Verfahren, wo Codes für Fehlererkennungen benötigt werden.

dmin > t

Fehlerkorrektureigenschaft:Ein Blockcode C korrigiert bis zu t Fehler, wenn seine minimale Distanz größer als 2t ist:

Dies ist eine wichtige Eigenschaft für FEC-Verfahren, wo Codes für die Fehlerkorrektur benötigt werden.

dmin > 2t

(2.18a)

(2.18b)

Page 97: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.97

2.4.2 Fehlererkennung und Fehlerkorrektur

dmin = 3 dmin = 4

Die Anzahl erkennbarer Fehler ist somit gegeben durch te = dmin − 1.Die Anzahl korrigierbarer Fehler ist gegeben durch

t = (dmin − 2) / 2, wenn dmin gerade undt = (dmin − 1) / 2, wenn dmin ungerade ist.

Mit dmin = 1 kann weder eine Fehlererkennung noch eine Fehlerkorrektur gewährleistet werden; mit dmin = 2 ist immer mindestens ein einzelner Fehler erkennbar; mit dmin = 3 ist immer mindestens ein einzelner Fehler korrigierbar und sind mindestens zwei Fehler erkennbar usw.

(2.19)

(2.20a)(2.20b)

Page 98: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.98

2.4.2 Fehlererkennung und Fehlerkorrektur

Beispiele:1) Beim Wiederholungscode sind (n – 1)/2 Fehler (abgerundet) korrigierbar und n – 1 Fehler erkennbar.2) Bei der Paritätskontrolle ist kein Fehler korrigierbar und allgemein eine ungerade Anzahl von Fehlern erkennbar.3) Im Beispiel der unten stehenden Tabelle ist ein Fehler mit Sicherheit erkennbar, da dmin = 2.

Codewort Information Prüfstelle Gewichtc0 000 0 0c1 001 1 2c2 010 1 2c3 011 0 2c4 100 1 2c5 101 0 2c6 110 0 2c7 111 1 4

Page 99: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.99

2.5 Schranken und perfekte Codes2 Grundzüge der Kanalcodierung

Wie in 2.4 festgestellt wurde, spezifiziert die minimale Distanz dmin die Fähigkeiten eines Codes C, Fehler zu erkennen bzw. zu detektieren. Ausgehend von verschiedenen Problemstellungen ergeben sich interessante Fragestellungen:− Es soll ein Code C der Länge n generiert werden, der die minimale

Distanz dmin(C) haben soll. Gibt es dann eine maximale Anzahl (obere Grenze) möglicher Codewörter (Nachrichten) N?

− Es soll ein Code C der Länge n für Nachrichten der Länge k erstellt werden. Was ist der maximale Fehlerschutz (d. h. maximales dmin), den man mit diesen Parametern erreichen kann?

− Es soll ein Code C für Nachrichten der Länge k mit vorgegebenem Fehlerschutz (t Bits) erstellt werden. Welches ist die kleinste Codewortlänge n, die dafür benutzt werden kann?

Im Folgenden sollen diverse Grenzen betrachtet werden.

Page 100: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.100

2.5 Schranken und perfekte Codes

Singleton-Schranke:Die Mindestdistanz und das Mindestgewicht eines linearen Codes C sind beschränkt durch

mknwd +=−+≤= 11minmin

Beweis: Allgemein gibt es qk verschiedene Codewörter, die eine Mindestdistanz von dmin zueinander haben. Entfernt man aus jedem Codewort die letzten dmin – 1 Symbole, müssen aber immer noch mindestens qk verschiedene Worte übrig bleiben. Andernfalls hätte die Codierung keine Mindestdistanz von dmin.Insgesamt gibt es allgemein qn verschiedene Wörter der Länge n (alle möglichen Kombinationen). Entfernt man hier die letzten dmin – 1 Symbole, sind höchstens qn – (dmin – 1) Wörter voneinander verschieden. Somit muss gelten: n – (dmin – 1) = n – dmin + 1 ≥ k oder dmin ≤ n – k + 1.

Ein Code, für den das Gleichheitszeichen in Gl. (2.21) gilt, heißt MaximumDistance Separable (MDS).

(2.21)

Page 101: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.101

2.5 Schranken und perfekte Codes

Aus Gl. (2.21) lässt sich mit Gl. (2.19) für die Fehlererkennung herleiten:

te + 1 = dmin ≤ 1 + m ⇒ m ≥ te

D. h., mindestens zwei Prüfstellen pro korrigierbarem Fehler sind notwendig.

(dmin − 1) / 2 ≥ t ≥ (dmin − 2) / 22 t + 1 ≤ dmin ≤ 1 + m ⇒ m ≥ 2 t

D. h., mindestens eine Prüfstelle pro erkennbarem Fehler ist notwendig.

Für die Fehlerkorrektur lässt sich mit den Gln. (2.20a/b) herleiten:

(2.22a)

(2.22b)

Page 102: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.102

2.5 Schranken und perfekte Codes

Hamming-Schranke:Für einen binären (n,k)-Blockcode mit N = 2k Codewörtern der Länge n und der Korrekturfähigkeit t gilt:

nt

i

kin

220

≤⎟⎠

⎞⎜⎝

⎛∑=

1)1())1(()1(

⋅⋅−⋅−−⋅⋅−⋅

=⎟⎠

⎞⎜⎝

⎛K

K

tttnnn

tnnk

tnnnn

2210

2 ≤⎥⎦

⎤⎢⎣

⎡⎟⎠

⎞⎜⎝

⎛++⎟

⎞⎜⎝

⎛+⎟

⎞⎜⎝

⎛+⎟

⎞⎜⎝

⎛K

Beweis: Die Gesamtzahl aller Wörter innerhalb der 2k existierenden Deco-dierkugeln ist maximal gleich der Anzahl aller möglichen Wörter (2n), d. h.:

mit

Anzahl von Wörtern um ein Codewort mit dH = t

Anzahl von Wörtern um ein Codewort mit dH = 2Anzahl von Wörtern um ein Codewort mit dH = 1Codewort (Zentrum einer Decodierkugel)

(2.23)

Page 103: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.103

2.5 Schranken und perfekte Codes

Perfekte Codes:Wenn für einen Code C mit den Eigenschaften n, k und dmin die Gleichheit in der Hamming-Schranke (Gl. (2.23)) gilt, so heißt er perfekt.Dies bedeutet anschaulich, dass sich alle qn möglichen Empfangswörter innerhalb der Korrekturkugeln der qk Codewörter befinden. Somit können bei perfekten Codes alle verfälschten Codewörter eindeutig einem korrekten Codewort zugeordnet werden.Der Wiederholungscode ungerader Länge ist z. B. ein perfekter Code.

Weitere Schranken:Weiterhin gibt es die Plotkin- und die Elias-Schranke, die obere Schranken darstellen. Sie rechtfertigen sich durch die unterschiedliche Schärfe in verschiedenen Parameterbereichen.Die Gilbert-Varshamov-Schranke ist eine untere Schranke, deren Einhaltung die Existenz eines Codes garantiert.

(für weitere Informationen s. Schneider-Obermeier, Friedrichs)

Page 104: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.104

2.5 Schranken und perfekte Codes

Asymptotische Schranken für die Minimaldistanz:Letztendlich soll noch der Zusammenhang zwischen der Coderate RC und der normierten Distanz dmin/n betrachtet werden. Für große Codewortlängen (n → ∞) ergeben sich folgende Ausdrücke für die erwähnten Schranken:

– Singleton-Schranke:

– Hamming-Schranke:

– Plotkin-Schranke:

– Elias-Schranke:

– Gilbert-Varshamov-Schranke:

ndR min

C 1−≤

⎟⎠⎞

⎜⎝⎛ ⋅−≤

ndSR min

C 211

ndR min

C 21 ⋅−≤

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−−−≤

ndSR min

C 211211

⎟⎠⎞

⎜⎝⎛−≥

ndSR min

C 1

(2.24a)

(2.24b)

(2.24c)

(2.24d)

(2.24e)

Page 105: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.105

2.5 Schranken und perfekte Codes

Die oberen Schranken bilden verschiedene Grenzen, zu welchem Fehler-schutz (dmin/n) ein bestimmter Informationsgehalt (RC) übertragen werden kann. Die Gilbert-Varshamov-Grenze bildet die untere Grenze. Codes, die unter der unteren Grenze liegen, sind als schlecht anzusehen, da die Theorie besagt, dass es ausgehend von einem schlechten Code einen besseren mithöherer Coderategibt. DieseCodes sinddann als gutanzusehen.

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.2 0.4 0.6 0.8 1.0

RC=k/n

SingletonPlotkinEliasHamming

dmin / n

Gilbert-Varshamov

obereSchranken

Page 106: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.106

2.6 Fehlerwahrscheinlichkeiten2.6.1 Fehlerauftrittswahrscheinlichkeit

2 Grundzüge der Kanalcodierung

Gegeben sei ein BSC mit der Fehlerwahrscheinlichkeit perr. Daraus ergibt sich eine mittlere Fehlerzahl nFehler pro Codewort von .Deren Auftrittswahrscheinlichkeit berechnet sich wie folgt:

errFehler pnn ⋅=

Die Wahrscheinlichkeit, dass kein Fehler auftritt, ist:nppppp )1()1()1()1()( errerrerrerr −=−⋅⋅−⋅−== K0f

n FaktorenDie Wahrscheinlichkeit eines einzelnen Fehlers an einer bestimmten Stelle (f = f1, wH(f1) = 1) ist: 1

errerr1 )1()( −−⋅== nppp ff

Die Wahrscheinlichkeit eines einzelnen Fehlers an einer beliebigen Stelle(f = f1, wH(f1) = 1) ist: 1

errerr1 )1()( −−⋅⋅== nppnp ffDie Wahrscheinlichkeit von ne Fehlern an beliebigen Stellen(f = fne

, wH(fne) = ne) ist:

eee

)1()( errerre

nnnn pp

nn

p −−⋅⋅⎟⎟⎠

⎞⎜⎜⎝

⎛== ff

(2.25a)

(2.25c)

(2.25b)

(2.25d)

Page 107: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.107

0.0

0.2

0.4

0.6

0.8

1.0

0.0 1.0 2.0 3.0 4.0 5.0

p(wH(f) = ne)

ne

perr = 0,01

perr = 0,1perr = 0,3

2.6.1 Fehlerauftrittswahrscheinlichkeit

Für die Binomialkoeffizientengilt allgemein:

Mit ihnen lässt sich diebinomische Formel darstellen:

; 10

=⎟⎠

⎞⎜⎝

⎛=⎟

⎞⎜⎝

⎛nnn

)!(!! ⎟

⎞⎜⎝

⎛−

=−⋅

=⎟⎠

⎞⎜⎝

⎛kn

nknk

nkn

nn

k kn

20

=⎟⎠

⎞⎜⎝

⎛∑=

;nknkn

kbaba

kn

)(0

+=⎟⎠

⎞⎜⎝

⎛∑ −

=

Für n = 7 ist hier die Fehlerauftritts-wahrscheinlichkeit nach Bitfehlerndargestellt.

(2.26)

(2.27)

Page 108: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.108

2.6.2 Wahrscheinlichkeit unerkannter Fehler2.6 Fehlerwahrscheinlichkeiten

Seien xi und xj Codewörter, wobei xi gesendet und y = xj empfangen wurde. Die Decodierregel wird annehmen, dass kein Fehler aufgetreten ist und xjals Codewort ansehen, das übertragen wurde. Dieser spezielle Fall eines Decodierfehlers kann nicht vermieden werden, der Fehler bleibt unerkannt. Für Codes, die Fehler detektieren sollen, ist die Wahrscheinlichkeit pue(undetected error) für einen unerkannten Fehler eine wichtige Kenngröße. Sie wird berechnet durch:

∑∑

∑ ∑

∑ ∑

=

≠=

=

≠=

=

≠=

−=

−=

=

1

0

1

0

),(),(

1

0

1

0

),(),(

1

0

1

0

HH

HH

)1(1

)1()(

)|()(

N

i

N

ijj

derr

dnerr

N

i

N

ijj

derr

dnerri

N

i

N

ijj

ijiue

ijij

ijij

ppM

ppxp

pxpp

xxxx

xxxx

xx

(2.28a)

Page 109: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.109

2.6.2 Wahrscheinlichkeit unerkannter Fehler

Es wird angenommen, dass Codewörter gleichwahrscheinlich auftreten. Die Doppelsumme und der Bedarf an allen möglichen Hamming-Distanzenbilden die Hauptschwierigkeit bei der Berechnung. Für die binären linearen Codes, die im nächsten Kapitel behandelt werden, gilt, dass die Verteilung von d(xi,xj) durch die Anzahl Ai der Codewörter mit dem Gewicht iermittelt werden kann.

∑=

− ⋅−⋅=n

di

iini ppAp

min

errerrue )1(

∑=

−−⋅⋅+=⎟⎟⎠

⎞⎜⎜⎝

⎛−

n

di

iii ppA

ppA

min

)1(11 errerr

err

err

⎥⎦

⎤⎢⎣

⎡−⎟⎟

⎞⎜⎜⎝

⎛−

−= 11

)1(err

errerrue p

pApp n

Mit der Gleichung

kommt man zu der Darstellung:

(2.28b)

(2.29)

(2.30a)

Page 110: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.110

2.6.2 Wahrscheinlichkeit unerkannter Fehler

Für kleine Fehlerwahrscheinlichkeiten perr kann pue angenähert werden durch:

Beispiel:Betrachtet sei der (7,4)-Hamming-Code, der ein binärer linearer Code ist. Dieser Code hat jeweils ein Codewort mit dem Gewicht 0 und 7 und jeweils 7 Codewörter mit dem Gewicht 3 und 4.Die Minimaldistanz ist

dmin = 3.Daraus ergibt sich eine Wahrscheinlichkeit pue von

pue = 7 (1 − perr)4 perr3 + 7 (1 − perr)3 perr

4 + perr7

= 7 perr3 − 21 perr

4 + 21 perr5 − 7 perr

6 + perr7 ≈ 7 perr

3

(2.30b)minmin

min

errerrerrue 1)( dd

n

di

ii pApApAp ⋅≈−=⋅≈ ∑

=

Page 111: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.111

2.6.3 Restfehlerwahrscheinlichkeit2.6 Fehlerwahrscheinlichkeiten

Gegeben sei ein linearer Blockcode C = {c0,c1,c2, ... ,c2k-1} mit der Korrektur-fähigkeit t. Es wird angenommen, dass eine begrenzte Mindestdistanz-Decodierung (BMD) verwendet wird. Mit f sei der Fehlervektor bezeichnet. Dann gilt für die Wortfehlerwahrscheinlichkeit bei BMD pw,BMD:

∑∑+==

===−=

+≥=≤−=

−=

n

ti

t

iiwpiwp

twptwp

pp

1H

0H

HH

BMDW,

))(())((1

)1)(())((1

)gDecodierun richtige(1

ff

ff

ini ppin

iwp −−⋅⋅⎟⎠

⎞⎜⎝

⎛== )1())(( errerrH f

Die Wahrscheinlichkeit von Fehlervektoren mit dem Gewicht wH(f) = i ist mit Gl. (2.25d):

∑∑+=

=

− −⎟⎠⎞⎜

⎝⎛=−⎟

⎠⎞⎜

⎝⎛−=

n

ti

init

i

ini ppinppi

np1

errerr0

errerrBMDW, )1()1(1

Somit ist das Ergebnis:

(2.31a)

(2.31b)

(2.31c)

Page 112: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.112

2.6.3 Restfehlerwahrscheinlichkeit

Für kleine Fehlerwahrscheinlichkeiten gilt die Abschätzung:1

errBMDW, 1+⎟

⎞⎜⎝

⎛+

< tpt

np

BMDW,MLDW, pp ≤Zwischen den Wortfehlerwahrscheinlichkeiten bei MLD und BMD gilt die Beziehung:

2err

2err

2errerrerr

3err

2errerr

6errerr

7err

6err

1err

7err

0errW

27

21

)61(7)2171(1

)1(7)1(1

)1(17

)1(07

1

pp

pppppp

ppp

ppppp

⎟⎠

⎞⎜⎝

⎛=≈

+−−−+−−=

−−−−=

−⎟⎠

⎞⎜⎝

⎛−−⎟

⎞⎜⎝

⎛−=

KK

Beispiel: Für den (7,4)-Hamming-Code (s.o.) ergibt sich:

(2.31d)

Gleichheitszeichen, da Code perfekt

Page 113: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.113

2.6.3 Restfehlerwahrscheinlichkeit

Letztendlich soll noch die Bitfehlerwahrscheinlichkeit pBit nach der Decodierung abgeschätzt werden:

pbit ∑=

=⋅==n

iiwpiw

k 0HH ))(()(|Wortdecod.proBitfehler d.Anz.1 ff

)ˆ,(),()ˆ,()ˆ,( HHHH xyyxxxuu dddd +≤≤

= i ≤ t

Die Anzahl der Bitfehler ist begrenzt auf die Anzahl der Informationsbits kund auf i + t, da gilt:

∑+=

=⋅+≤n

tiiwptik

kp

1Hbit ))((),min(1 f⇒

inin

tipp

in

ktip −

+=−⋅⋅⎟

⎞⎜⎝

⎛⋅⎟

⎠⎞

⎜⎝⎛ +

≤ ∑ )1(,1min errerr1

bitUnd schließlich:

Für kleine Fehlerwahrscheinlichkeitengilt die Abschätzung:

1err

minbit 1

,1min +⋅⎟⎠

⎞⎜⎝

⎛+

⋅⎟⎠⎞

⎜⎝⎛≤ tp

tn

kdp

(2.32)

(2.33)

(2.34)

(2.35a)

(2.35b)

Dreiecksungleichung

Page 114: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.114

3 Einzelfehlerkorrigierende BlockcodesCodierungstheorie

In diesem Kapitel werden die grundlegenden Beziehungen der linearen Blockcodierung vermittelt. Neben den mathematischen Zusammenhängen und ihren Eigenschaften werden zwei einfache Codebeispiele betrachtet, die von großer Bedeutung sind: die allgemein zyklischen Codes und die Hamming-Codes. Weiterhin werden praktische Ansätze der Realisierung von solchen Codes anhand von Schieberegisterschaltungen betrachtet.

Ausgehend von einem Blockcode mit der Stufenzahl q, der Informations-stellenzahl k, der Codewortstellenzahl n und der Minimaldistanz dmin lautet die allgemeine Bezeichnung:

In diesem Kapitel werden nur binäre Codes betrachtet (q = 2). Auf den Index wird verzichtet. Bei den meisten Bezeichnungen wird anstelle der Minimaldistanz die Anzahl der Prüfstellen m verwendet oder auch darauf verzichtet:

(n,k,dmin)q-Blockcode

(n,k,m)-Blockcode bzw. (n,k)-Blockcode

Page 115: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.115

3 Einzelfehlerkorrigierende Blockcodes

Ein grundlegendes Unterscheidungsmerkmal ist die Unterteilung insystematische / unsystematische Codes.

Bei systematischen Codes sind Informations- und Prüfstellen voneinander trennbar:

u0 u1 u2 u3 ... ... uk-1

↓ ↓ ↓ ↓ ↓ ↓ ↓

c0 c1 c2 c3 ... ... ck-1 ck ck+1 ... ... cn-1

m = n – kIm Gegensatz dazu sind die Informations- und Prüfstellen bei nicht-systematischen Codes nicht trennbar.Blockcodes haben aber die Eigenschaft, immer in äquivalente (d. h. durch

Vertauschung von Stellen) systematische Codes umformbar zu sein.

c = (u, p) (3.1)

(3.2)

Page 116: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.116

3.1 Mathematische Grundlagen3 Einzelfehlerkorrigierende Blockcodes

Rechnen im binären Zahlensystem (modulo 2):Addition: Multiplikation:⊕ 0 1

0 0 11 1 0

⊗ 0 10 0 01 0 1

Eine modulo-Berechnung wird in einer Gleichung oft explizit durch ihre Angabe verdeutlicht, z. B.: 1 + 1 = 0 mod 2.Mathematisch stellt dieses Zahlensystem mit seinen Rechenvorschriften das einfachste Beispiel für einen Körper K (Kapitel 4) dar. Praktisch sind sie durch eine XOR- bzw. UND-Verknüpfung realisierbar.Binäre Wörter bilden sogenannte n-Tupel von Elementen von Kn (Raum über alle n-stelligen Bitsequenzen). Die Addition in Kn erfolgt komponentenweise,

Beispiel aus K4: 0011 + 0101 = 0110,während die Multiplikation mit Elementen von K einfach definiert ist als:

0b = 0 und 1b = b für alle b ∈ Kn.

Page 117: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.117

3.1 Mathematische Grundlagen

Matrix-Darstellung von Blockcodes:Sei u ein Informationsvektor der Länge k und x der zugehörige Codewortvektor eines Blockcodes der Länge n. Dann sind u und xverknüpft durch

x = u G,wobei G die Generator-Matrix (k × n -Matrix) des Blockcodes darstellt.

Ist ein Code durch diese Matrixmultiplikation beschreibbar, wobei ubeliebig ist, so ist er linear.Die Zeilen der Generatormatrix müssen linear unabhängig sein.

Für systematische Blockcodes hat G die FormG = [Ik P]

mit der k × k -Einheitsmatrix Ik und der k × (n − k) - Prüfstellenmatrix P.

(3.3)

(3.4)

Page 118: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.118

3.1 Mathematische Grundlagen

Polynomdarstellung von Blockcodes:Ein n-stelliges Codewort c kann wie folgt als Polynom c(x) dargestellt werden:

( ) ∑−

=− =⇔=

1

0110 )(

n

i

iin xcxccccc K

c c(x)0000 ... 0 01000 ... 0 10100 ... 0 x0010 ... 0 x2

000 ... 01 xn−1

1111 ... 1 1 + x + x2 + ... + xn−1

1010 ... 0 1 + x2

Beispiele: c1 = 0011 ⇔ c1(x) = x2 + x3;c2 = 0101 ⇔ c2(x) = x + x3;(s. a. Tabelle für weiterePolynombeispiele vonCodewörtern der Länge n).

Die Addition von Vektoren entsprichtder Addition von Polynomen.Beispiel: c1 + c2 = 0110

⇔ c1(x) + c2(x) = x2 + x3 + x + x3 = x + x2.

(3.5)

Page 119: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.119

3.1 Mathematische Grundlagen

Gewichtsfunktion:Gegeben sei ein Blockcode C. Dann sei Ai die Anzahl von Codewörtern von C, die das Gewicht i (0 ≤ i ≤ n) besitzen. Dann sei die Gewichtsfunktion A(z) bzw. W(x,y):

Zwischen diesen beiden Schreibweisen bestehen die Beziehungen:

∑=

=n

i

ii zAzA

0)( ∑

=

−=n

i

iini yxAyxW

0),(

),1()( zWzA = )(),(xyAxyxW n=

Die Gewichtsfunktion ist nur für wenige Codes geschlossen berechenbar.Manche Codes besitzen eine symmetrische Gewichtsverteilung: Ai = An−i.Die Gewichtsverteilung ermöglicht die exakte Berechnung der Restfehler-wahrscheinlichkeit (s. Kapitel 2).Für die Gewichtsverteilung eines linearen Codes mit der Minimaldistanz

dmin gilt: A0 = 1; An ≤ 1 und Ai = 0 für 0 < i < dmin.

(3.6b)

(3.6a) (3.7a)

(3.7b)

Page 120: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.120

3.1 Mathematische Grundlagen

Beispiel: (4,3)-Paritätskontrolle

Codewort Information Prüfstelle Gewichtc0 000 0 0c1 001 1 2c2 010 1 2c3 011 0 2c4 100 1 2c5 101 0 2c6 110 0 2c7 111 1 4

4261)( zzzA ++=

Die Gewichtsverteilung aus der Tabelle führt zu einer Gewichtsfunktion von:

Page 121: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.121

3.2 Eigenschaften und Begriffe linearer Blockcodes3 Einzelfehlerkorrigierende Blockcodes

Für einen linearen Blockcode C, der durch Gl. (3.3) beschrieben ist, gilt:

– Jedes Codewort ist eine Linearkombination von Zeilen der Generator-matrix G;

– der Code setzt sich aus allen Linearkombinationen von Zeilen von Gzusammen;

– die Summe von Codewörtern ist wieder ein Codewort und– im Code ist der Nullvektor (0 0 0 ... 0) enthalten.

Elementare Zeilenoperationen in G ändern einen Code nicht, d. h. derCoderaum C bleibt gleich:

– Vertauschung zweier Zeilen,– Multiplikation einer Zeile mit einem Skalar ungleich 0 und– Addition einer Zeile zu einer anderen.

Allerdings ändert sich die Zuordnung der Informationswörter u zu denCodewörtern x.

Page 122: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.122

3.2 Eigenschaften und Begriffe linearer Blockcodes

Prüfmatrix:Für einen linearen Blockcode C ist eine Prüfmatrix H definiert durch:

( ) 0PPIPPII

PPIHG =+=+=⎟⎟

⎞⎜⎜⎝

⎛= −

−knk

knk

T

c HT = 0 für alle c ∈ C und x HT ≠ 0 für alle x ∉ CH ist eine (n − k) × n -Matrix. Es gilt:

0 = c HT = (u G) HT = u (G HT) → G HT = 0

D. h., dass die Generatormatrix G und die Prüfmatrix H orthogonal zueinander sind.Wie für G sind auch für H elementare Zeilenoperationen erlaubt.Handelt es sich bei C um einen systematischen Code mit G = (Ik P), so gilt für H: H = (PT In − k)

Für diesen Fall kann die Orthogonalität wie folgt nachgewiesen werden:

(3.8a/b)

(3.9)

(3.10)

Page 123: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.123

3.2 Eigenschaften und Begriffe linearer Blockcodes

Syndrom:Sei H die Prüfmatrix eines linearen (n,k,m)-Blockcodes und x ∈ C ein beliebiges zu sendendes Codewort. Bei der Übertragung überlagert sich ein Fehlerwort f, so dass das Empfangswort y lautet:

– s ist nur dann ein Nullvektor, wenn y ein Codewort ist,– alle Fehlervektoren f werden erkannt, die nicht Codewörter sind, und– s ist unabhängig vom Codewort.

Dann gilt für das Produkt aus y und HT:y HT = (x + f) HT = x HT + f HT = 0 + f HT = f HT = s

Das Produkt y HT wird als Syndrom s bezeichnet, die dargestellte Berechnung ist die Syndromberechnung in Matrix-Schreibweise.Die Eigenschaften von s sind:

y = x + f. (3.11)

(3.12)

Page 124: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.124

3.2 Eigenschaften und Begriffe linearer Blockcodes

Dualer Code:Ausgehend von einem Code C mit der Generatormatrix G und der Prüfmatrix H sei ein dualer Code Cd, beschrieben durch seine duale Generatormatrix Gd und duale Prüfmatrix Hd, definiert durch:

Gd = H und Hd = GDie Codewörter der beiden Codes sind orthogonal. Mit c = u G ∈ C und cd = v H ∈ Cd gilt:

( ) ( ) 0TTTTTd ==== v0uvHGuHvGucc

Beispiele für Codes, die zueinander dual sind, sind der Wiederholungscode (Index W) und die Paritätskontrolle mit der ersten Stelle als Prüfstelle (Index P):

( )111|1 L=GW = HP

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

10000

010001

||||

1

11

L

OM

M

L

MHW = GP.

(3.13a/b)

Page 125: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.125

3.2 Eigenschaften und Begriffe linearer Blockcodes

Gewichtsfunktion des dualen Codes (MacWilliams-Identität):Ist A(z) die Gewichtsfunktion eines (n,k)-Blockcodes, so ist die Gewichtsfunktion Ad(z) des zugehörigen dualen Codes:

⎟⎠⎞

⎜⎝⎛

+−

⋅+⋅= −zzAzzA nk

11)1(2)(d ⎟

⎠⎞

⎜⎝⎛

+−

⋅+⋅= −−zzAzzA nkn

11)1(2)( d

)(

),(2),(d yxyxWyxW k −+⋅= − ),(2),( d)( yxyxWyxW kn −+⋅= −−

Beispiel: Für die (3,2)-Paritätskontrolle ist der Code C:C = {000,011,101,110}.

Die Gewichtsfunktion lautet: A(z) = 1 + 3z2.

32

32d 1

1131)1(2)( z

zzzzA +=

⎥⎥⎦

⎢⎢⎣

⎡⎟⎠⎞

⎜⎝⎛

+−

+⋅+⋅= −

Dazu lautet der duale Code Cd = {000,111} (Wiederholungscode).Die Gewichtsfunktion berechnet sich zu:

(3.14a/b)

(3.15a/b)

Page 126: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.126

3.2 Eigenschaften und Begriffe linearer Blockcodes

Modifikationen linearer Codes:Ein (n,k,dmin)q-Code kann wie folgt zu einem (n',k',dmin')q-Code verändert werden:– Expandieren (extending): Anhängen zusätzlicher Prüfstellen

n' > n, k' = k, m' > m, RC' < RC, dmin' ≥ dmin– Punktieren (puncturing): Reduktion von Prüfstellen

n' < n, k' = k, m' < m, RC' > RC, dmin' ≤ dmin– Verlängern (lengthening): Anhängen zusätzlicher Informationsstellen

n' > n, k' > k, m' = m, RC' > RC, dmin' ≤ dmin– Verkürzen (shortening): Reduktion von Informationsstellen

n' < n, k' < k, m' = m, RC' < RC, dmin' ≥ dminDie Expansion eines Codeworts, das eine ungerade Minimaldistanz besitzt, kann durch Zufügen einer Parity-Check-Stelle zu einer Erhöhung der Minimaldistanz um 1 führen, so dass der Code einen weiteren Fehler erkennen kann (Bsp. s. Hamming-Codes).

Page 127: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.127

3.3 Zyklische Codes3 Einzelfehlerkorrigierende Blockcodes

Definition zyklischer Codes:Ein linearer (n,k)-Blockcode heißt zyklisch, wenn jede zyklische Verschiebung eines Codewortes wieder ein Codewort ist:

C ∈⇒∈ −−− ),,,,(),,,,( 21011210 nnn cccccccc KK C

Die Menge der zyklischen Codes ist eine Teilmenge der linearen Blockcodes. Dementsprechend besteht zwischen einem Nachrichtenwort

die Beziehungc = u G.

u = (u0, u1, u2, ... , uk−1)und einem Codewort

c = (c0, c1, c2, ... , cn−1)

Somit ist ein zyklischer Code ebenfalls durch eine Generatormatrix Gbeschrieben. Dabei besitzen alle zyklischen Codes zumindest eine

Generatormatrix mit Bandstruktur (s. Gl. (3.18) u. folgendes Beispiel).

(3.16)

(3.17)

Page 128: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.128

3.3 Zyklische Codes

Beispiel für einen zyklischen Code:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1011000010110000101100001011

G

u x0000 00000001000 11010000100 01101000010 00110100001 00011011110 10001100111 01000111101 1010001

u x1011 11111111010 11100100101 01110011100 10111000110 01011100011 00101111111 10010111001 1100101

Aufgrund der zyklischen Eigenschaft ist der Code allein leicht herzuleiten. In diesem Fall reicht die Kenntnis der Codewörter {0000000, 1101000, 1110010, 1111111} aus. Diese müssen allerdings zuerst gefunden werden (über Linearkombinationen von Zeilen von G + Nullwort). Die restlichen Wörter ergeben sich durch zyklische Verschiebung. Abbruchkriterium:

2k gefundene Wörter.

Page 129: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.129

3.3 Zyklische Codes

Generatormatrix mit Bandstruktur:

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

=

kn

kn

kn

kn

kn

gggggggg

gggggggg

gggg

KK

KK

MM

MM

KK

KK

KK

210

210

210

210

210

00000000

000000000000

G

Vorsicht: Generatormatrizen mit Bandstruktur beschreiben nicht notwendigerweise zyklische Codes!Beispiel: C = {00000, 11010, 01101, 10111} mit der Generatormatrix

⎟⎟⎠

⎞⎜⎜⎝

⎛=

1011001011

G

ist kein zyklischer Code.

(3.18)

Page 130: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.130

3.3 Zyklische Codes

Generatorpolynom:Die Generatormatrix G eines zyklischen Codes ist somit durch eine Zeile von G vollständig charakterisiert. Sie beinhaltet höchstens n − k + 1 von 0 verschiedene Einträge: g0, g1, g2, ... , gn−k. Diese Koeffizienten bilden ein besonderes Polynom:

g(x) = g0 + g1 x + g2 x2 + ... + gn−k xn−k

g(x) heißt Generatorpolynom.Die Koeffizienten des Generatorpolynoms können bei den binären Codes nur Werte von 0 oder 1 annehmen. Für einen (n,k)-Blockcode muss weiterhin gelten:

g0 = gn−k = 1⇒ g(x) = 1 + g1 x + g2 x2 + ... + xn−k

Mit Polynomen ergibt sich bei zyklischen Codes eine vereinfachteBeschreibung von Generatormatrix, Nachrichten- und Codevektoren.

(3.19b)

(3.19a)

Page 131: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.131

3.3 Zyklische Codes

Die Polynom- und Matrixschreibweise ist hier nebeneinander aufgeführt:Nachrichtenworte:

u = (u0, u1, u2, ... , uk−1) u(x) = u0 + u1 x + u2 x2 + ... + uk−1 xk−1

Codeworte:c = (c0, c1, c2, ... , cn−1) c(x) = c0 + c1 x + c2 x2 + ... + cn−1 xn−1

Codierungsvorschrift:c = u G c(x) = u(x) ⋅ g(x)

M M M M

Beide Vorschriften ergeben mit den Gln. (3.18/19b) dieselben Ergebnisse:c0 = u0 g0c1 = u0 g1 + u1 g0c2 = u0 g2 + u1 g1 + u2 g0

Die allgemeine Darstellung eines Codewortpolynoms ist somit:c(x) = (u0 + u1 x + u2 x2 + ... + uk−1 xk−1) ⋅ g(x)⇒ g(x) ist das Codewortpolynom mit geringstem Grad größer Null.

(3.20a/b)

(3.20c/d)(3.20e/f)

Page 132: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.132

3.3 Zyklische Codes

Periode eines Generatorpolynoms:Sei g(x) das Generatorpolynom eines zyklischen Codes C. Und sei r der kleinste Exponent, für den gilt

xr + 1 = 0 mod g(x).g(x) ist dann Teiler von xr + 1, und r ist die Periode von g(x).Eine zyklische Eigenschaft besteht nur, wenn für die Codewortlänge n gilt:

n = r

Für den Beweis wird der folgende Satz verwendet, der mit Gl. (3.20f) recht einleuchtend ist:

Satz: Jedes Codewortpolynom c(x) ist ohne Rest durch g(x) teilbar.

Beispiel: g(x) = 1 + x + x3, u(x) = 1 + x2 + x3

⇒ c(x) = u(x) ⋅ g(x) = 1 + x + x2 + x3 + x4 + x5 + x6 ⇔ c = (1111111)

(3.22)

(3.21)

Page 133: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.133

3.3 Zyklische Codes

d ist nur ein Codewort, wenn d(x) ohne Rest durch g(x) teilbar ist. Deshalb muss gelten:

1 + xn = 0 mod g(x).

Nur wenn das Generatorpolynom die Bedingung (3.23) erfüllt, entsteht ein zyklischer Code.

Beweis der Bedingung (3.22): Es soll gelten, dassc = (c0, c1, c2, ... , cn−1) ∈ C ⇒ d = (cn−1, c0, c1, ... , cn−2) ∈ C.

= c(x)= x ⋅ c(x) + cn−1 (1 + xn)

c(x) = c0 + c1 x + c2 x2 + ... + cn−1 xn−1 ist ohne Rest durch g(x) teilbar:c(x) = 0 mod g(x) ⇒ x ⋅ c(x) = 0 mod g(x)d(x) = cn−1 + c0 x + c1 x2 + ... + cn−2 xn−1

= cn−1 + x (c0 + c1 x + c2 x2 + ... + cn−1 xn−1) + cn−1 xn

(3.23)

Page 134: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.134

3.3 Zyklische Codes

Bestimmung eines Generatorpolynoms:g(x) ist Teiler von 1 + xn. Allgemein heißt das, dass 1 + xn in einzelne Faktoren zerlegt werden kann. Jeder Faktor kann dann als Generator-polynom verwendet werden.

Beispiel: x7 + 1 = (1 + x) ⋅ (1 + x + x3) ⋅ (1 + x2 + x3)

Berechnung der Periode eines gegebenen Generatorpolynoms:Dies geschieht durch Umkehrung des Gauß’schen Divisionsalgorithmus. Das Polynom wird so geshiftet, dass sich immer die niedersten Potenzen aufheben.Beispiel: (x3 + x + 1) ⋅ p(x) = xn + 1

x3 + 0 + x + 1 | ⋅1x4 + 0 + x2 + x | ⋅x ⇒ p(x) = x4 + x2 + x + 1

x5 + 0 + x3 + x2 | ⋅x2 = h(x)x7 + 0 + x5 + x4 | ⋅x4

x7 + 0 + 0 + 0 + 0 + 0 + 0 + 1 ⇒ n = 7

Page 135: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.135

3.3 Zyklische Codes

Prüfmatrix und Prüfpolynom:Für das Generatorpolynom g(x) eines zyklischen (n,k)-Blockcodes gilt:

xn + 1 = g(x) ⋅ h(x).

⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜

=

−−

−−

−−

−−

−−

021

021

021

021

021

00000000

000000000000

hhhhhhhh

hhhhhhhh

hhhh

kkk

kkk

kkk

kkk

kkk

KK

KK

MM

MM

KK

KK

KK

H

h(x) ist das Prüfpolynom und hat den Grad k:h(x) = h0 + h1 x + h2 x2 + ... + hk xk

mit h0 = hk = 1.

Die zugehörige (n − k) × n -Prüfmatrix H hat den folgenden Aufbau:

(3.25a)

(3.25b)

(3.24)

Page 136: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.136

3.3 Zyklische Codes

Systematische Codierung:Zyklische Codes sind im Allgemeinen nicht systematisch. Um dies zu erreichen, wird die folgende Konstruktionsvorschrift angewendet:

)()()(

)()(

xgxrxq

xgxxu kn

+=⋅ −

1. Multiplikation des Nachrichtenpolynoms u(x) mit xn−k:u(x) ⋅ xn−k = u0 xn−k + u1 xn−k+1 + u2 xn−k+2 + ... + uk−1 xn−1

(entspricht Verschiebung der Nachrichtenstellen zu den höchstenKoeffizienten hin).

2. Division des Polynoms u(x) ⋅ xn−k durch g(x): d. h., u(x) ⋅ xn−k = q(x) ⋅ g(x) + r(x) mit q(x) alsganzzahligem Divisionsergebnis und r(x) als Divisionsrest (imAllgemeinen: r(x) ≠ 0 und r(x) = r0 + r1 x + r2 x2 + ... + rn−k−1 xn−k−1).

3. Erzwingen der ganzzahligen Dividierbarkeit durch Addition von r(x):u(x) ⋅ xn−k + r(x) = q(x) ⋅ g(x) = c(x).

Resultierendes Codewort: c = (r0, r1, r2, ... , rn−k−1, u0, u1, u2, ... , uk−1)(3.27)

(3.26b)

(3.26a)

Page 137: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.137

3.3 Zyklische Codes

Beispiel:Mit dem zyklischen (7,4)-Blockcode mit der Generatormatrix

g(x) = x3 + x + 1soll für das Nachrichtenwort

u = (1 0 0 1), d. h. u(x) = x3 + 1,ein systematisches Codewort entwickelt werden.

13

2

++

+

xxxx

1. Mit n = 7 und k = 4 ist n − k = 3. Dann ist u(x) ⋅ xn−k = x6 + x3.2. Division des Polynoms u(x) ⋅ xn−k durch g(x):

(x6 + 0 + 0 + x3) : (x3 + 0 + x + 1) = x3 + x ++ (x6 + 0 + x4 + x3)

(0 + 0 + x4 + 0 + 0 + 0)+ (x4 + 0 + x2 + x)

(0 + 0 + x2 + x) = r(x)3. c(x) = u(x) ⋅ xn−k + r(x) = x6 + x3 + x2 + x ⇒ c = (0 1 1 1 0 0 1)

Page 138: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.138

3.3 Zyklische Codes

Decodierung von zyklischen Codes:Geprüft werden soll der Empfangsvektor y bzw. das Empfangspolynom y(x)

y = c + f ⇔ y(x) = c(x) + f(x).

)()()(

)()(

xgxsxq

xgxy

+=

Es gilt, dass ein Codewort c ohne Rest durch das Generatorpolynom g(x) teilbar ist. Das Ergebnis ist das ursprüngliche Informationswort u, das auf diese Weise wieder herausgerechnet werden kann. Für ein beliebiges y ist dieses Verfahren eine Testmöglichkeit, ob es sich dabei um ein Codewort handelt oder nicht. Im Fehlerfall bleibt bei der Division ein Rest übrig:

s(x) stellt das Syndrom in der Polynomschreibweise dar:y(x) = q(x) ⋅g(x) + s(x).

Wenn s(x) ≠ 0 ist, erfolgt die Fehlerkorrektur mit Hilfe einer Syndrom-Tabelle. Die Polynomdivision wird praktisch durch Schieberegister-Schaltungen realisiert. Der große Vorteil ist, dass bei der Codierung und

Decodierung keine Matrix-Multiplikationen notwendig sind.

(3.28)

(3.29a)

(3.29b)

Page 139: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.139

3.4 Hamming-Codes3 Einzelfehlerkorrigierende Blockcodes

Definition der Hamming-Codes:Sei m ≥ 3. Ein Hamming-Code ist ein Code mit Codewörtern der Längen = 2m − 1, bestehend aus k = 2m − m − 1 Informationsbits und m Prüfbits. Die Minimaldistanz ist 3.

Der Hamming-Code ist somit ein (2m − 1,2m − 1 − m)-Blockcode.Für den Code ergeben sich u. a. folgende Werte für n, k und m:

m 3 4 5 6 7 8n 7 15 31 63 127 255k 4 11 26 57 120 247

Aufgrund seiner Minimaldistanz kann er genau einen Fehler korrigieren. Seine Konstruktion ist in Wahrheit darauf ausgelegt.

Page 140: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.140

3.4 Hamming-Codes

Ableitung der Konstruktionsvorschrift für Hamming-Codes:Ziel: Konstruktion eines Codes, der genau einen Fehler korrigieren kann.Das Syndrom s der Länge m hängt nur vom Fehlervektor f der Länge n ab (Gl. (3.12)). Ein Einzelfehler an der Stelle i (fi = 1; 0 ≤ i ≤ n − 1) führt zu einem Syndrom, das der entsprechenden Zeile von HT entspricht. Um alle Einzelfehlerpositionen i eindeutig zu unterscheiden, müssen sich alle Zeilen von HT unterscheiden, wobei keine Zeile der Nullvektor sein darf.Insgesamt gibt es 2m − 1 verschiedene Zeilen ohne den Nullvektor, somit ist n = 2m − 1. Mit n = k + m ist k = 2m − m − 1.Praktisch werden die Zeilen von HT bzw. die Spalten von H durch alle möglichen Sequenzen bis auf den Nullvektor gebildet.Auf diese Weise können die m = n − k Kontrollstellen die 2m − 1 Positionen adressieren.

Page 141: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.141

3.4 Hamming-Codes

Da es unerheblich ist, welches Syndrom eine Fehlerposition beschreibt, können die Bitsequenzen willkürlich angeordnet werden. Auf diese Weise kann die Prüfmatrix so angeordnet werden, dass der resultierende Hamming-Code systematisch ist:

⎥⎥⎥⎥

⎢⎢⎢⎢

== −

10000

010001

||||

11

1101

)I( T

L

OM

M

L

LL

LLMM

LL

LL

knPH

alle möglichen Spaltenvektoren mit mehr als einer 1Die Generatormatrix ist dann mit Gl. (3.4) leicht abzuleiten.

(3.30)

Page 142: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.142

3.4 Hamming-Codes

Beispiel: Für den (7,4)-Hamming-Code ergibt sich die folgende systematische Darstellung:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

110|101|011|111|

1000010000100001

G

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1101

1011

0111

P⎥⎥⎥

⎢⎢⎢

⎡== −

100

010

001

|||

110

101

011

111

)I( TknPH

u0 u1 u2 u3

↓ ↓ ↓ ↓

c0 c1 c2 c3 c4 c5 c6

Kontrollstellen:c4 = c0 + c1 + c2c5 = c0 + c1 + c3c6 = c0 + c2 + c3

⇒Damit ergibt sich die folgende Systematik mit den dazugehörigen Gleichungen für die Berechnung der Kontrollstellen:

Page 143: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.143

3.4 Hamming-Codes

Beispiel (Fortsetzung):Codewort-Tabelle des (7,4)-Hamming-Codes:

Codewort Information Prüfstellenc8 1000 111c9 1001 100c10 1010 010c11 1011 001c12 1100 001c13 1101 010c14 1110 100c15 1111 111

Codewort Information Prüfstellenc0 0000 000c1 0001 011c2 0010 101c3 0011 110c4 0100 110c5 0101 101c6 0110 011c7 0111 000

Page 144: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.144

3.4 Hamming-Codes

Fehlerkorrektur bei Hamming-Codes:Beispiel (Fortsetzung): Fehlerkorrektur mit dem (7,4)-Hamming-Code

s0 = y0 + y1 + y2 + y4s1 = y0 + y1 + y3 + y5s2 = y0 + y2 + y3 + y6

Diese werden gemäß derSyndrom-Tabelle ausgewertet.

SyndromFehlerposition s0 s1 s2

kein Fehler 0 0 0Fehler in 0. Stelle 1 1 1Fehler in 1. Stelle 1 1 0Fehler in 2. Stelle 1 0 1Fehler in 3. Stelle 0 1 1Fehler in 4. Stelle 1 0 0Fehler in 5. Stelle 0 1 0Fehler in 6. Stelle 0 0 1

Das zugehörige Syndrom ist allgemein: s = (s0 s1 s2).Aus der Prüfmatrix ergeben sichdie Prüfgleichungen:

Die Decodierschritte sind dann:1. Auswertung der Prüfgleichungen → Syndrom;2. Bestimmung der Fehlerposition aus der Syndromtabelle;3. Durchführung der Fehlerkorrektur: „1“ an der Fehlerposition addieren.

Page 145: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.145

3.4 Hamming-Codes

Minimaldistanz allgemeiner Hamming-Codes:Alle Spalten der Prüfmatrix unterscheiden sich. Damit sind immer zwei Spalten linear unabhängig. Da aber alle möglichen Bitkombinationen existieren, sind drei Spalten immer linear abhängig, z. B.:

100000...., 010000.... und 110000....Damit ist die Minimaldistanz immer

dmin = 3und die Anzahl korrigierbarer Fehler

t = 1.

⎥⎥

⎢⎢

⎡−⋅+⋅++

+=

+−2

12

1

)1()1()1(1

1)(nn

n zznzn

zA

Gewichtsfunktion allgemeiner Hamming-Codes:

(3.31a)

(3.31b)

(3.32)

Page 146: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.146

3.4 Hamming-Codes

Auf den Seiten 109 und 111 wurden bereits die beiden Wahrscheinlichkeiten für einen (7,4)-Hamming-Code berechnet. Für ngleich 3, 7, 15, 31, 63 und 127 sind sie in der nebenstehenden Grafik dargestellt.

-6 -5 -4 -3 -2 -1 0-12

-10

-8

-6

-4

-2

0

lg pW

lg perr

lg pue

pW = perr

pW = perr2

pW = perr3

n = 3n = 7

lg pW

lg pue

Wortfehlerwahrscheinlichkeit und Wahrscheinlichkeit unerkannter Fehler von Hamming-Codes:

Page 147: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.147

3.4 Hamming-Codes

Der erweiterte Hamming-Code unterscheidet zwischen der 1- und 2-Fehlersituation durch eine zusätzliche Prüfstelle. Damit handelt es sich um einen (2m,2m − 1 − m)-Blockcode. Die zugehörige Generatormatrix des erweiterten Hamming-Codes ist:

Erweiterter (expandierter) Hamming-Code:Durch Syndrom-Auswertung ist ein Fehler korrigierbar. Mit einer Minimaldistanz von 3 sind aber auch zwei Fehler erkennbar und führen somit ebenfalls auf ein s ≠ 0. Ob ein Fehler oder zwei aufgetreten sind, ist aber nicht zu unterscheiden.

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1

11

HextH,M

GG (3.33)

Page 148: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.148

3.4 Hamming-Codes

Mögliche Fehlerereignisse sind dann:– kein Fehler: s = 0;– ein Fehler: s ≠ 0, sm+1 = 1; – zwei Fehler: s ≠ 0, sm+1 = 0.

Die Decodierung erfolgt dann nach diesen Regeln:– s = 0:

Empfangsvektor = Codewort– s ≠ 0, sm+1 = 1:

ungerade Anzahl von Fehlern ⇒ ein Fehler angenommen und durch Syndrom-Auswertung korrigiert

– s ≠ 0, sm+1 = 0:gerade Anzahl von Fehlern ⇒ Fehler können nicht korrigiert werden.

Page 149: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.149

3.5 Realisierung von Codierung und Decodierung durch Schieberegisterschaltungen 3 Einzelfehlerkorrigierende Blockcodes

Grundschaltungen:

S0 . . . .S1 Sm−1

a(x) x ⋅ a(x)

a a + b

b

a a ⋅ b a a ⋅ bbAddierer Multiplizierer Skalierung

Schieberegister bestehen aus Speicherzellen, die jeweils um einen Takt verzögern. Mit Sj(i) wird der Inhalt der Speicherzelle j zum Zeitpunkt ibezeichnet. Dabei gilt:

Sj+1(i+1) = Sj(i) (3.34)

Page 150: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.150

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Zyklisches Verschieben eines Polynoms:Schieberegisterschaltungen sind speziell für zyklische Codierungen eine exzellente Realisierungsmöglichkeit. Die dafür notwendigen mathematischen Operationen sind allesamt mit dieser Technik zu bewerkstelligen. Eine davon ist die zyklische Verschiebung einesPolynoms:

x0

. . . .

x1 x2 xn−1xn−2xn−3

Die Schaltung berechnetxi ⋅ a(x) mod (xn + 1)

und bildet das einfachste Beispiel eines rückgekoppelten Schieberegisters.(3.35)

Page 151: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.151

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Multiplikation zweier Polynome:Zu berechnen ist eine Gleichung der Form

c(x) = a(x) ⋅ [b0 + b1 x + b2 x2 + ... + bn xn].

b0

. . . .a(x)

. . . .

b1bn−1bn

c(x)

b0

. . . .a(x)

. . . .

b1 b2 bn

c(x)

AlternativeStruktur:

(3.36)

Page 152: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.152

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Beispiel für eine Multiplikation:Berechnet werden soll

b0 = 1 b1 = 0 b2 = 1 b3 = 1

10111

11110011

s0 s1 s2 s3

i s0 s1 s2 s3 ci

−1 0 0 0 0 00 1 0 0 0 11 1 1 0 0 12 1 1 1 0 03 0 1 1 1 04 1 0 1 1 15 0 1 0 1 16 0 0 1 0 17 0 0 0 1 18 0 0 0 0 0

c(x) = a(x) ⋅ b(x) = (x4 + x2 + x +1 )⋅(x3 + x2 + 1) = x7 + x6 + x5 + x4 + 0 + 0 + x + 1

Page 153: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.153

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Division zweier Polynome:

Ausgehend von der Schaltung wird diese Gleichung berechnet:q(x−1) = a(x−1) xm + q(x−1) [b0 xm + b1 xm−1 + ... +bm−1 x]

⇒ a(x−1) = q(x−1) [b0 + b1 x−1 + ... + bm−1 x−(m−1) + x−m] = q(x−1) b(x−1)

wird abgebrochen, wenn die letzte Stelle von a(x−1) in das Schieberegister eingeschrieben wurde. Dann ist q(x−1) das Ausgangswort und s(x−1) der

Inhalt der Speicherzellen.

b0

. . . .

a(x−1) . . . . q(x−1)

b1 bm−1

)()()(

xbxaxq =Substitution x−1 → x ⇒ a(x) = q(x) b(x) ⇒

)()()(

)()(

xbxsxq

xbxa

+=Bei der Division zweier Polynome mit Rest

(3.37a)

(3.37b)

Page 154: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.154

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Beispiel für eine Division zweier Polynome mit Rest:

x0 x1 x2 x3 x4

000100001 001110000s0 s1 s2 s3

q(x−1)a(x−1)

i ai s0 s1 s2 s3 qi

9 0 0 0 0 0 08 1 1+0=1 0+0=0 0 0+0=0 07 0 0+0=0 1+0=1 0 0+0=0 06 0 0+0=0 0+0=0 1 0+0=0 05 0 0+0=0 0+0=0 0 1+0=1 04 0 0+1=1 0+1=1 0 0+1=1 13 1 1+1=0 1+1=0 1 0+1=1 12 0 0+1=1 0+1=1 0 1+1=0 11 0 0+0=0 1+0=1 1 0+0=0 00 0 0+0=0 0+0=0 1 1+0=1 0

Berechnet wird(x8 + x3) : (x4 + x3 + x + 1)

134

23

+++

+

xxxxx

= x4 + x3 + x2 +

Page 155: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.155

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Schaltung zur Codierung einessystematischen zyklischen Codes:

Page 156: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.156

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Funktionsweise:

1. Einlesen der Informationsbits u0, u1, u2, ... , uk−1, beginnend mit uk−1.Das Einlesen von „rechts“ entspricht der Multiplikation mit xn−k. Nachdem Einlesen der k Informationsbits enthält das Schieberegister denDivisionsrest r(x).

2. Umlegen der Schalter S1 und S2 (Unterbrechung der Rückkopplungs-schleife).

3. Ausgabe der Prüfbits.

Page 157: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.157

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Beispiel:Zu codieren ist u(x) = x3 + x2 + 1mit g(x) = x3 + x + 1. t s1 b0 b1 b2 s2 s3

0 0 0 0 0 0 01 1 1 1 0 1 12 1 1 0 1 1 13 0 1 0 0 1 04 1 1 0 0 1 15 0 1 0 0 06 0 0 1 0 07 0 0 0 0 1

Page 158: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.158

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Schaltung zur Decodierung:Mit dieser Schaltung wird das Empfangswort durch das Generatorpolynom dividiert und das Syndrom berechnet.

Page 159: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.159

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Diese Schaltung wird ebenfalls zur Decodierung eingesetzt. Das Empfangswort wird hierbei aber von rechts eingelesen.

Page 160: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.160

3.5 Realisierung von Codierung und Decodierung durch Schieberregisterschaltungen

Meggitt-Decoder: Decodierung mit gleichzeitiger Fehlerkorrektur

Page 161: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.161

4 Bündelfehlerkorrigierende BlockcodesCodierungstheorie

Dieses Kapitel stellt mit den Reed-Solomon-Codes (RS-Codes) Vertreter der bekanntesten und oft verwendeten Codes vor, die in der Lage sind, Bündelfehler zu korrigieren. Sie sind eng verwandt mit den Bose-Chaudhuri-Hocquenghem-Codes (BCH-Codes), die ihre Stärke eher in der Korrektur von statistisch verteilten Einzelfehlern haben und am Ende des Kapitels als Sonderfall der RS-Codes vorgestellt werden.

Zum Verständnis dieser beiden Codes ist die Kenntnis der Algebra von endlichen Zahlenkörpern (Galois-Felder) und ihrer Eigenschaften notwendig. Diese werden zuerst im folgenden Abschnitt entwickelt.

Unter einem Bündelfehler (engl.: burst error) der Länge l ≥ 1 versteht man laufeinander folgende Stellen eines Fehlervektors f, dessen erste und letzte Stelle ungleich Null sind. Die Werte der Stellen, die zwischen der ersten und letzten Stelle des Fehlerbündels liegen, sind beliebig.

Page 162: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.162

4.1 Algebraische Grundbegriffe für Codes4 Bündelfehlerkorrigierende Blockcodes

Dieser Abschnitt gibt eine kurze Einführung in die für die Codierungstheorie notwendige Algebra. Grundkenntnisse in der Mengenlehre werden dabei vorausgesetzt. Der Begriff der Verknüpfung wird kurz zusammengefasst.

Binäre Verknüpfung:In einer nichtleeren Menge MM wird unter einer binären Verknüpfung ° eine Zuordnung zweier Elemente a,b von MM (a,b ∈ MM) derart verstanden:

a ° b = c.Hierbei muss nicht unbedingt gelten: a ° b = b ° a.Ist die Bedingung (4.1b) aber erfüllt, ist die Menge kommutativ.Diese Menge heißt bezüglich der binären Verknüpfung abgeschlossen(abgeschlossene Menge), wenn gilt: a ° b ∈ MM für alle a,b ∈ MM.Eine binäre Verknüpfung heißt assoziativ, wenn gilt:

a ° (b ° c) = (a ° b) ° c, a,b,c ∈ MM.

(4.1a)(4.1b)

(4.1c)

(4.1d)

Page 163: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.163

4.1 Algebraische Grundbegriffe für Codes

Modulo-m-Addition:Für eine Menge ganzer Zahlen MM = {0, 1, 2, ... , m−1} mit m > 0 sei die Modulo-m-Addition „⊕“ derart definiert, dass für zwei Elementea,b ∈ MM gilt:

a ⊕ b = r,wobei r der Rest der Division von a + b durch m ist.

rmqba +⋅=+⇔mrq

mba +=

+

⊕ 0 1 2 3 4 5 60 0 1 2 3 4 5 61 1 2 3 4 5 6 02 2 3 4 5 6 0 13 3 4 5 6 0 1 24 4 5 6 0 1 2 35 5 6 0 1 2 3 46 6 0 1 2 3 4 5

Beispiel:MM = {0, 1, 2, 3, 4, 5, 6}und Modulo-7-Addition „⊕“.

Zur Veranschaulichung von Gl. (4.2a):

Gemäß Gl. (4.2b) liegt der Rest r wieder in MM. Die Menge MM ist bezüglich der Modulo-m-Addition abgeschlossen.

(4.2a)

(4.2b)

Page 164: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.164

4.1 Algebraische Grundbegriffe für Codes

Beispiel mit p = 7:MM = {1, 2, 3, 4, 5, 6}undModulo-7-Multiplikation „⊗“.

⊗ 1 2 3 4 5 61 1 2 3 4 5 62 2 4 6 1 3 53 3 6 2 5 1 44 4 1 5 2 6 35 5 3 1 6 4 26 6 5 4 3 2 1

rpqba +⋅=⋅⇔prq

pba +=⋅

a ⋅ b ist nicht ohne Rest durch p teilbar, weil peine Primzahl ist. Der Rest ist wieder aus der Menge MM. Somit ist MM abgeschlossen.

Modulo-p-Multiplikation:Für eine Menge ganzer positiver Zahlen MM = {1, 2, 3, ... , p−1}, wobei peine Primzahl ist, sei die Modulo-p-Multiplikation „ ⊗“ derart definiert, dass für zwei Elemente a,b ∈ MM gilt:

a ⊗ b = r,wobei r der Rest der Division von a ⋅ b durch p ist.

Zur Veranschaulichung von Gl. (4.3a):

(4.3a)

(4.3b)

Page 165: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.165

4.1.1 Gruppen4.1 Algebraische Grundbegriffe für Codes

Eine Menge GG und eine Verknüpfung ° werden als Gruppe (GG,°) bezeich-net, wenn für beliebige a,b,c ∈ GG die folgenden Bedingungen erfüllt sind:

– die Verknüpfung ° ist assoziativ,– die Menge GG ist abgeschlossen,– die Menge GG enthält ein neutrales Element e mit der Eigenschaft:

a ° e = e ° a = a mit e ∈ GG und– für jedes Element a existiert ein inverses Element a′ ∈ GG, so dass:

a ° a′ = a′ ° a = e.

Eine Gruppe wird als kommutative oder abelsche Gruppe bezeichnet, wenn für beliebige a,b ∈ GG die Gl. (4.1b) gilt.

Beispiel: Die Menge der ganzen Zahlen ZZ = {... −2, −1, 0, 1, 2, ...} bildet bezüglich der Addition eine kommutative Gruppe. Das neutrale Element ist 0. Zu einem Element a ist das inverse Element −a.Bezüglich der Multiplikation bildet ZZ keine Gruppe, da die inversen

Elemente nicht in ZZ enthalten sind.

(4.4a)

(4.4b)

Page 166: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.166

4.1.1 Gruppen

Endliche Gruppe:Besitzt eine Gruppe endlich viele Elemente, so wird sie als endliche oder finite Gruppe bezeichnet.

Das neutrale Element einer Gruppe ist eindeutig.Beweis: Angenommen, es gibt zwei neutrale Elemente e1 und e2 mit der Eigenschaft (4.4a), so folgt daraus: e1 = e1 ° e2 = e2 ° e1 = e2.

Beispiele:Die binäre Menge BB = {0, 1}mit der Modulo-2-Addition „⊕“. Das neutrale Element ist 0 und die jeweiligen inversen Elemente:

a = 0 ⇒ a′ = 0,a = 1 ⇒ a′ = 1.

Die zu Beginn von Abschnitt 4.1 betrachteten Mengen mit der Modulo-m-Addition und Modulo-p-Multiplikation sind ebenfalls endliche Gruppen.

⊕ 0 10 0 11 1 0

Page 167: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.167

4.1.1 Gruppen

Zyklische GruppenLassen sich bei einer multiplikativen Gruppe GG = {1, g1, g2, ... , gm−1} alle Elemente als Potenzen von mindestens einem Element gi darstellen, so heißt die Gruppe zyklisch. Dann heißt gi primitives Element der Gruppe von der Ordnung m. Für das Einselement gilt die Darstellung: 1 = gi

0. GG besteht dann aus m Elementen der Form gi

j, wobei 0 ≤ j ≤ m – 1:GG = {gi

0, gi1, gi

2, ... , gim−1}.

Für beliebige gk ∈ GG bezeichnet die Ordnung (gk) die Anzahl von Elementen, die durch gk

l gebildet werden können.

z z1 z2 z3 z4 Ordnung1 1 1 1 1 12 2 4 3 1 43 3 4 2 1 44 4 1 4 1 2

Beispiel:Multiplikative modulo-5-GruppeGG = {1, 2, 3, 4}.Die Elemente z1 = 2 und z2 = 3 sind

primitive Elemente.

(4.5)

Page 168: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.168

4.1.2 Ringe4.1 Algebraische Grundbegriffe für Codes

Eine Menge RR, auf der sowohl die Addition ⊕ als auch die Multiplikation ⊗definiert sind, ist ein Ring, wenn die folgenden Bedingungen erfüllt sind:

Beispiel eines kommutativen Rings mit neutralem Element:ganze Zahlen ZZ mit gewöhnlicher Addition und Multiplikation.

–– RR ist eine kommutative Gruppe bezüglich ⊕,–– RR ist bezüglich ⊗ abgeschlossen,–– RR ist bezüglich ⊗ assoziativ und – das Distributivgesetz gilt: a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c) mit a,b,c ∈ RR.Ein kommutativer Ring besteht, wenn auch ⊗ kommutativ ist.Ein Ring mit neutralem Element besteht, wenn gilt:

a ⊗ 1 = 1 ⊗ a = a mit a ∈ RR.

Beispiel eines kommutativen Rings mit neutralem Element:ganze Zahlen ZZm = {0,1, 2, ... , m−1} mit modulo-m-Addition und modulo-m-Multiplikation. Dabei existiert ein eindeutiges neutrales Element nur,

wenn m eine Primzahl ist.

(4.6a)

(4.6b)

Page 169: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.169

4.1.3 Körper4.1 Algebraische Grundbegriffe für Codes

Eine Menge KK, auf der die binären Verknüpfungen Addition ⊕ und Multiplikation ⊗ erklärt sind, ist ein Zahlenkörper bezüglich ⊕ und ⊗, wenn die folgenden Bedingungen erfüllt sind:–– KK ist eine kommutative Gruppe bezüglich ⊕ mit 0 als neutralem Element,–– KK ohne 0 ist eine kommutative Gruppe bezüglich ⊗ mit 1 als neutralem

Element und– das Distributivgesetz gilt: a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c) mit a,b,c ∈ KK.

Galois-Feld:Ein Körper mit endlich vielen Elementen bildet ein Galois-Feld GFGF.

Beispiel: GFGF(2) ⊕ 0 10 0 11 1 0

⊗ 0 10 0 01 0 1

(4.7)

Die endliche Menge ZZm = {0,1, 2, ... , m−1} ganzer Zahlen ist ein Galois-Feld GFGF(m) = ZZm, wenn m Primzahl ist, d. h. m = p.

Page 170: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.170

4.1.3 Körper

Ohne Beweis sind hier einige Eigenschaften von Galois-Feldern aufgelistet:

Jedes Galois-Feld besitzt zumindest ein primitives Element.

a ⊗ 0 = 0 ⊗ a = 0,

Aus der Abgeschlossenheit der Multiplikation folgt, dass es keine Nullteiler gibt: a ≠ 0 und b ≠ 0 → a ⊗ b ≠ 0

a ⊗ b = 0 und a ≠ 0 → b = 0,

− (a ⊗ b) = (−a) ⊗ b = a ⊗ (−b),

a ⊗ b = a ⊗ c und a ≠ 0 → b = c,

1 ⊕ 1 ⊕ 1 ⊕ ... ⊕ 1 = 0,

m Summanden

(4.8a)

(4.8b)

(4.8c)

(4.8d)

(4.8e)

(4.8f)

Page 171: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.171

4.1.3 Körper

Beispiel: GFGF(5) ⊕ 0 1 2 3 40 0 1 2 3 41 1 2 3 4 02 2 3 4 0 13 3 4 0 1 24 4 0 1 2 3

⊗ 0 1 2 3 40 0 0 0 0 01 0 1 2 3 42 0 2 4 1 33 0 3 1 4 24 0 4 3 2 1

a 0 1 2 3 4−a 0 4 3 2 1a−1 – 1 3 2 4

Addition direkt mit Tabelle:1 + 2 = 3, 2 + 4 = 1, 4 + 4 = 3.

Inverse Elemente der Addition: a + (−a) = 0.Subtraktion mit inversen Elementen der Addition:

3 − 2 = 3 + (−2) = 3 + 3 = 1 1 − 4 = 1 + (−4) = 1 + 1 = 2

Multiplikation direkt mit Tabelle:1 ⋅ 2 = 2, 2 ⋅ 4 = 3, 4 ⋅ 4 = 1.

Inverse Elemente der Multiplikation: a ⋅ (a−1) = 1Division mit inversen Elementen der Multiplikation:

3 ÷ 2 = 3 ⋅ (2−1) = 3 ⋅ 3 = 4 1 ÷ 3 = 1 ⋅ (3−1) = 1 ⋅ 2 = 2

Page 172: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.172

4.1.3 Körper

Beispiel:Lösen eines linearen Gleichungssystems in GFGF(5)

Gegeben ist das lineare GleichungssystemI: 2 x0 + x1 = 2II: 3 x1 + x2 = 3III: x0 + x1 + 2 x2 = 3

LösungsschritteI: 2 x0 = 2 − x1II: x2 = 3 − 3 x12 ⋅ III: (2 − x1) + 2 x1 + 4 (3 − 3 x1) = 2 ⋅ 3

⇒ 2 + 4 ⋅ 3 − 2 ⋅ 3 = x1(1 − 2 + 4 ⋅ 3) ⇒ 3 = x1⇒ x2 = 3 − 3 x1 = 4⇒ x0 = 2−1 (2 − x1) = 2

Page 173: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.173

4.1.4 Erweiterungskörper4.1 Algebraische Grundbegriffe für Codes

Problemstellung:In 4.1.3 werden endliche Zahlenkörper konstruiert, die jedoch in der Anzahl ihrer Elemente auf Primzahlen begrenzt sind. So bildet z. B. GG = {0, 1, 2, 3} aufgrund der benötigten Modulo-4-Multiplikation kein Galois-Feld!

Eine viel allgemeinere und zugleich flexiblere Konstruktion von Galois-Feldern wird mit der Erweiterung auf pm Elemente erreicht. Diese werden als Polynome vom Grad < m mit Koeffizienten pi ∈ GFGF (p) dargestellt:

⊗ 0 1 2 30 0 0 0 01 0 1 2 32 0 2 0 23 0 3 2 1

p(x) = p0 + p1x + p2x2 + ... + pm−1xm−1 = mit pm-1 ≠ 0.∑−

=

1

0

m

i

ii xp

Diese insgesamt pm möglichen Polynome können unterschieden werden in:– aufspaltbare oder reduzible Polynome und– nicht aufspaltbare oder irreduzible Polynome.In der digitalen Nachrichtentechnik haben vor allem die Erweiterungskörper

GFGF(2m) eine große Bedeutung.

(4.9)

Page 174: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.174

4.1.4 Erweiterungskörper

Irreduzible Polynome:Ein Polynom p(x) mit Koeffizienten aus GFGF (p) heißt irreduzibel bezüglich GFGF (p), wenn es nicht als Produkt zweier Polynome pa(x), pb(x) ≠ 0, 1 kleineren Grades mit Koeffizienten aus GFGF (p) dargestellt werden kann.Damit haben irreduzible Polynome auch keine Nullstelle in GFGF (p).Irreduzible Polynome haben vergleichbare Eigenschaften wie Primzahlen.

Reduzible Polynome:Ein Polynom p(x) mit Koeffizienten aus GFGF (p) heißt reduzibel bezüglichGFGF (p), wenn es als Produkt zweier Polynome pa(x), pb(x) ≠ 0, 1 kleineren Grades mit Koeffizienten aus GFGF (p) zerlegt werden kann.

Beispiel: p(x) = x2 + x + 1 Testpolynome mit Grad 1: pa(x) = x, pb(x) = x + 1.

x1

11+x

(x2 + x + 1) ÷ x = x + 1 + ; (x2 + x + 1) ÷ (x + 1) = x + .

Beispiel: p(x) = (x + 1) (x2 + x + 1) = (x3 + x2 + x) + (x2 + x + 1) = x3 + 1.

Page 175: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.175

4.1.4 Erweiterungskörper

Wurzeln und Nullstellen:Ein irreduzibles Polynom p(x) vom Grad größer eins mit Koeffizienten aus GFGF (p) besitzt in GFGF (p) keine Nullstellen. Ein Element α ∈ GFGF(pm) des Erweiterungskörpers heißt Wurzel oder Nullstelle von p(x), wenn es die Bedingung erfüllt: p(α) = 0Es besteht eine Analogie zwischen der Erweiterung von Galois-Feldern und der Erweiterung von reellen Zahlen zu komplexen Zahlen.

1 ⇔⇔ 1;−=α2 −=α0!

12 =+α ⇔ 2mod12 += αα0!

12 =++αα

Definition komplexer Zahlen; eines erweiterten Galois-Feldes:RR → CC GFGF (2) → GFGF(22)

Keine Lösung von x2 + 1 = 0; x2 + x + 1 = 0für x ∈ RR; x ∈ GFGF (2)Körpererweiterung:

Definition komplexer Zahlen; der Elemente von GFGF(22):c = c0 + c1α mit c0, c1 ∈ RR; c = c0 + c1α mit c0, c1 ∈ GFGF (2).

(4.10)

Page 176: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.176

4.1.4 Erweiterungskörper

Primitive Polynome:Ein irreduzibles Polynom p(x) vom Grad m und mit den Koeffizientenpi ∈ GFGF (p) heißt primitiv, wenn es eine Wurzel α (p(α) = 0) mit der folgenden Eigenschaft besitzt:

αi mod p(α), für i = 0, 1, ..., pm − 2ergibt alle möglichen pm − 1 von 0 verschiedenen Elemente des Galois-Felds GFGF(pm). Das Element α ∈ GFGF(pm) heißt primitives Element, für das gilt:

α0 = αn = 1 für n = pm − 1 und

Primitive Polynome sind irreduzibel, die Umkehrung gilt im Allgemeinen nicht.Für jeden Primkörper GFGF(pm) und jedes m existiert mindestens ein primitives Polynom p(x). Existiert mehr als eins, ergeben sich bei der Konstruktion äquivalente Erweiterungskörper.

)1(mod −=mpkk αα

(4.11)

(4.13)(4.12)

Page 177: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.177

4.1.4 Erweiterungskörper

Primitive Polynome zur Konstruktion von Erweiterungskörpern GFGF(2m):

m primitives Polynom m primitives Polynom1 x + 1 9 x9 + x4 + 12 x2 + x + 1 10 x10 + x3 + 13 x3 + x + 1 11 x11 + x2 + 14 x4 + x + 1 12 x12 + x7 + x4 + x3 + 15 x5 + x2 + 1 13 x13 + x4 + x3 + x + 16 x6 + x + 1 14 x14 + x8 + x6 + x + 17 x7 + x + 1 15 x15 + x + 18 x8 + x6 + x5 + x4 + 1 16 x16 + x12 + x3 + x + 1

Page 178: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.178

4.1.4 Erweiterungskörper

Es gibt drei Möglichkeiten, die Elemente eines Galois-Felds darzustellen:

Beispiel für GFGF(22):Die Elemente dieses Galois-Feldes in der Komponentendarstellung sind alle 22 = 4 Polynome vom Grad < 2, die sich mit den Koeffizienten aus GFGF(2) bilden lassen: GFGF(22) = {0, 1, α, 1+α}. 0 = α–∞

1 = α0

α = α1

1+α = α2

1 = α3 = α0

α = α4 = α1

1+α = α5 = α2

... ...

– Komponentendarstellung (Polynomschreibweise),– Exponentendarstellung (nach Gl. 4.11) und– Vektordarstellung (Darstellung der Koeffizienten).

Die alleinige Darstellung der Koeffizienten ergibt dieVektordarstellung: GFGF(22) = {00, 10, 01, 11}.Das Nullelement wird in der Exponentendarstellungsymbolisch als α–∞ dargestellt:GFGF(22) = {α–∞, α0, α1, α2}.Für die Exponentendarstellung gilt mit Gl. 4.13:

αk = αk mod 3.

Page 179: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.179

4.1.4 Erweiterungskörper

Additions- und Multiplikationstabellen für GFGF(22) in

⊕ 0 1 α 1+α0 0 1 α 1+α1 1 0 1+α αα α 1+α 0 1

1+α 1+α α 1 0

⊗ 0 1 α 1+α0 0 0 0 01 0 1 α 1+αα 0 α 1+α 1

1+α 0 1+α 1 α

⊕ 00 10 01 1100 00 10 01 1110 10 00 11 0101 01 11 00 1011 11 01 10 00

⊗ 00 10 01 1100 00 00 00 0010 00 10 01 1101 00 01 11 1011 00 11 10 01

⊕ 0 1 α α2

0 0 1 α α2

1 1 0 α2 αα α α2 0 1α2 α2 α 1 0

⊗ 0 1 α α2

0 0 0 0 01 0 1 α α2

α 0 α α2 1α2 0 α2 1 α

Komponenten-darstellung:

Vektor-darstellung:

Exponenten-darstellung:

Page 180: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.180

4.1.4 Erweiterungskörper

Polynomrestklasse:Die einzelnen Elemente der Galois-Felder lassen sich umgekehrt auch als Polynomreste einer Modulo-p(x)-Berechnung beschreiben, wobei p(x) ein primitives Polynom ist.

Beispiel in GFGF(22):Hierfür ist p(x) = x2 + x + 1 ein primitives Polynom. Die Bedingung

x2 + x + 1 = 0entspricht einer Berechnung modulo x2 + x + 1. Für ein beliebiges Produkt, z. B. (1 + α) ⋅ (1 + α) = 1 + α2 ergibt sich bei der Division durch p(x = α):

12 ++ααα

(α2 + 1) : (α2 +α + 1) = 1 ++ (α2 + α + 1)

α = r(α) (vgl. Komponentendarstellung von GFGF(22))GFGF(22) ist definiert durch alle möglichen Ergebnisse von beliebigenf(α) = p(α) modulo α2 + α + 1.

Page 181: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.181

4.1.4 Erweiterungskörper

Konjugiert komplexe Wurzeln:Sei p(x), mit grad p(x) = m und Koeffizienten pi ∈ GFGF(p), irreduzibel bezüglich GFGF(p), und sei α Wurzel von p(x), dann sind mit α auch

Wurzeln von p(x). Man nennt diese Wurzeln konjugiert komplex.

Eigenschaften sind:– für alle a ∈ GFGF(pm) gilt: a ∼ a,– für alle a, b ∈ GFGF(pm) gilt: a ∼ b ⇒ b ∼ a und– für alle a, b, c ∈ GFGF(pm) gilt: a ∼ b und b ∼ c ⇒ a ∼ c.

∏−

=−=

1

0)()(

m

i

pixxp α

pmα = αp2

α , ...,pα , pm–1α , wobei

Sind zwei Elemente a, b ∈ GFGF (pm) konjugiert komplex zueinander, so schreibt man auch: a ∼ b.

Durch die konjugierte Wurzel ist eine Linearfaktorzerlegung von p(x) gegeben:

(4.14)

(4.15)

(4.16a)(4.16b)(4.16c)

(4.17)

Page 182: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.182

4.1.4 Erweiterungskörper

Äquivalenzklassen:Die Zusammenfassung von zueinander konjugierten Elementen gemäß

[zi] = {zi, zj, zk, zl, ...} mit zi ∼ zj ∼ zk ∼ zl ...wird als Äquivalenzklassen bezeichnet und bildet disjunkte Zerlegungen von GFGF(pm).

1mit}1,,1,0|mod{ −=−=⋅= mij pnminpjK K

Kreisteilungsklassen:Kreisteilungsklassen Kj enthalten alle Exponenten der Elemente, die konjugiert zueinander sind:

Der Begriff Kreisteilung stammt aus den komplexen Zahlen, wo sich dien-te Einheitswurzel und das Einselement eines Galois-Felds ähnlich verhalten: ⇔ .Erweiterungskörper werden deshalb auch als Kreisteilungskörper

bezeichnet.

12j == πezn 101 ===− zzz npm

(4.18)

(4.19)

(4.20)

Page 183: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.183

4.1.4 Erweiterungskörper

Minimalpolynom:Zu jedem a ∈ GFGF(pm) gibt es ein eindeutig bestimmtes normiertes Polynom m[a](x) minimalen Grades mit Koeffizienten aus GFGF(p), das a als Nullstelle hat. Dieses Polynom heißt Minimalpolynom.m[a](x) ist irreduzibel.

Das Minimalpolynom berechnet sich mittels Gl. (4.17):

∏∏∈∈

−=−=][,][,

][ )()()(a

i

Kii

p

abba axbxxm

Zwei konjugierte Elemente haben das gleiche Minimalpolynom:a ∼ b ⇒ m[a](x) = m[b](x)

Der Grad des Minimalpolynoms zeigt die Mächtigkeit der Äquivalenzklasse.

(4.21)

(4.22)

Page 184: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.184

4.1.4 Erweiterungskörper

Das Produkt aller Minimalpolynome aus GFGF(pm) ergibt:

Kreisteilungsklasse MinimalpolynomK0 = {0} m0(x) = (x − z0) = x + 1K1 = {1,2,4,8} m1(x) = (x − z1) (x − z2) (x − z4) (x − z8) = x4 + x + 1K3 = {3,6,9,12} m3(x) = (x − z3) (x − z6) (x − z9) (x − z12) = x4 + x3 + x2 + x + 1K5 = {5,10} m5(x) = (x − z5) (x − z10) = x2 + x + 1K7 = {7,11,13,14} m7(x) = (x − z7) (x − z11) (x − z13) (x − z14) = x4 + x3 + 1

1)(][ −=∏ n

ia xxm

i

m0(x) ⋅ m1(x) ⋅ m3(x) ⋅ m5(x) ⋅ m7(x) = x15 − 1

Beispiel:GFGF(24) mit primitivem Polynom p(x) = x4 + x + 1 und primitivem Element z mit z4 + z + 1 = 0. Die Elemente in GFGF(24) sind:GFGF(24) = {0, z0, z1, z2, ... , zn−1} mit n = pm − 1 = 24 − 1 = 15.Im Exponenten erfolgt die Rechnung modulo n: zn = z0.

Dabei entspricht eines der Minimalpolynome demprimitiven Polynom. (4.23)

Page 185: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.185

4.1.5 Diskrete Fourier-Transformation4.1 Algebraische Grundbegriffe für Codes

Die diskrete Fourier-Transformation (DFT) bezeichnet allgemein eine Transformationsvorschrift. Für die Codierungstheorie bietet sie eine sehr übersichtliche Darstellungsform.Ausgehend von einem Galois-Feld GFGF(pm) mit dem primitiven Element zseien Polynome vom Grad ≤ n − 1 = pm − 2 mit Koeffizienten aus GFGF(pm) gegeben in der Form:

∑−

=− =⇔=

1

0110 )(),...,,(

n

i

iin xaxaaaaa

∑−

=− =⇔=

1

0110 )(),...,,(

n

j

jjn xAxAAAAA

∑−

=

⋅−− −=−=1

0)(

n

i

jii

jj zazaA ∑

=

⋅==1

0)(

n

j

jij

ii zAzAa

Dann lautet die Transformationsvorschrift:

(4.24a)

(4.24b)

(4.25a/b)

Page 186: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.186

4.1.5 Diskrete Fourier-Transformation

Für die DFT gibt es die folgenden Schreibweisen:a(x) A(x)

a AZeitbereich Frequenzbereich

Die DFT besitzt die folgenden Eigenschaften:– die Transformation ist eineindeutig,– IDFT(DFT(a(x))) = a(x),– DFT(DFT(a(x))) = −a(x),– DFT(DFT(DFT(DFT(a(x))))) = a(x),– z−j ist Nullstelle von a(x) ⇔ Aj = 0,

),...,,0,,...,,(0)( 11110 −+−− =⇔= njj

j AAAAAza A

),...,,0,,...,,(0)( 11110 −+−=⇔= niii aaaaazA a

– zi ist Nullstelle von A(x) ⇔ ai = 0.

(4.26a)(4.26b)(4.26c)

(4.26d)

(4.26e)

Page 187: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.187

4.1.5 Diskrete Fourier-Transformation

Die Polynomtransformation nach Gl. (4.25a/b) kann für die Koeffizientenvektoren auch mittels Matrizen beschrieben werden:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−

−−

− 1

210

)1()1(21

)1(242121

1

210

21

11

1111

nnnn

nn

n A

AAA

zzz

zzzzzz

a

aaa

ML

MOMMMLLL

M

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−−

−−−−−−−−

− 1

210

)1()1(2)1(

)1(242)1(21

1

210

21

11

1111

nnnn

nn

n a

aaa

zzz

zzzzzz

A

AAA

ML

MOMMMLLL

M

a A:

A a:

(4.27a)

(4.27b)

Page 188: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.188

4.1.5 Diskrete Fourier-Transformation

Beispiel:Das Polynom A(x) = 4 + 5x mit Koeffizienten aus GFGF(7) soll transformiert werden. Als primitives Element wird z = 5 gewählt. Mit Gl. (4.27b) folgt:

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

543210

1234524024303034204254321

543210

11111

111111

AAAAAA

zzzzzzzzzzzzzzzzzzzzzzzzz

aaaaaa

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⋅+

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⋅=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

506312

326451

5

111111

4

000054

546231421421616161241241326451111111

543210

aaaaaa

Page 189: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.189

4.1.5 Diskrete Fourier-Transformation

Die Rücktransformation des auf der vorigen Seite berechneten Polynoms a(x) = 2 + x + 3x2 + 6x3 + 5x5 mit den Koeffizienten aus GFGF(7) wird mit Gl. (4.27a) durchgeführt. Das primitive Element z = 5 wird beibehalten.

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−−−−−−−−−−−−−−−−−−−−−−−−−

543210

1234524024303034204254321

543210

11111

111111

aaaaaa

zzzzzzzzzzzzzzzzzzzzzzzzz

AAAAAA

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

543210

5432142042303032402412345

543210

11111

111111

aaaaaa

zzzzzzzzzzzzzzzzzzzzzzzzz

AAAAAA

Page 190: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.190

4.1.5 Diskrete Fourier-Transformation

Rücktransformation (Fortsetzung):

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

000054

000023

506312

326451241241616161421421546231111111

543210

AAAAAA

A = (4,5,0,0,0,0) a = (2,1,3,6,0,5)

Page 191: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.191

4.1.5 Diskrete Fourier-Transformation

Eine Schieberegisterschaltung der DFT nach Gleichung (4.25a) zeigt die folgende Abbildung:

a0z−j⋅0

z0

a0

Σ Aj

a1z−j⋅1

z−1

a1

an−1z−j⋅(n−1)

z−(n−1)

an−1

−1Initialisierung

Speicherinhalt nach j Schritten

Abgebildet ist der j-te Schritt der Transformation zur Berechnung von A(x). Zu Beginn (j = 0) ist das Register mit den Zeitkomponenten a0, a1, ... an−1initialisiert, so dass gilt:

A0 = −(a0 + a1 + ... + an−1) mod pm. (4.28a)

Page 192: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.192

4.1.5 Diskrete Fourier-Transformation

Eine Schieberegisterschaltung der IDFT nach Gleichung (4.25b) zeigt die folgende Abbildung:

A0zi⋅0

z0

A0

Σ ai

A1zi⋅1

z1

A1

An−1zi⋅(n−1)

zn−1

An−1

Initialisierung

Speicherinhalt nach i Schritten

Abgebildet ist der i-te Schritt der Transformation zur Berechnung von a(x). Zu Beginn (i = 0) ist das Register mit den FrequenzkomponentenA0, A1, ... An−1 initialisiert, so dass gilt:

a0 = A0 + A1 + ... + An−1 mod pm. (4.28b)

Page 193: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.193

4.1.5 Diskrete Fourier-Transformation

Abschließend sollen noch zwei Sätze der DFT betrachtet werden.

Das Produkt zweier Polynome entspricht der zyklischen Faltung der Koeffizienten:

)...()...()...( 1110

1110

1110

−−

−−

−− +++=+++⋅+++ n

nn

nn

n xcxccxbxbbxaxaa

∑−

=−

−−

−−−

⋅=

++++⋅=++++⋅=

1

0mod

211201101

112211000...

...

n

jnjiji

nn

nnn

abc

ababababcababababc

M

)1(mod)()( −⋅⇔∗ nxxbxaba

Es seien Polynome a(x), b(x), c(x) vom Grad ≤ n − 1 = pm − 2 mit Koeffizienten aus GFGF(pm), dessen primitives Element mit z bezeichnet sei, gegeben. Für beliebige x ∈ GFGF(pm) gilt xn = x0 = 1, d. h. Modulo-(xn − 1)-Rechnung. Für das Produkt zweier Polynome a(x) ⋅ b(x) = c(x) gilt dann:

(4.30)

(4.29)

Page 194: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.194

4.1.5 Diskrete Fourier-Transformation

Faltungssatz der DFT:

Verschiebungssatz der DFT:

Beweis von (4.31a): Mit Gl. (4.3b) ergibt sich für die Modulo-Rechnung die Darstellung c(x) = a(x) ⋅ b(x) − γ(x) ⋅ (xn−1)und somit Cj = − c(z−j) = − a(z−j) ⋅ b(z−j) + γ(z−j) ⋅ (z−jn−1).

−Aj =1−Bj

a(x) ⋅ b(x) mod (xn−1) − Aj ⋅ Bjai ⋅ bi A(x) ⋅ B(x) mod (xn−1)

mit a(x) A(x), b(x) B(x)

x ⋅ a(x) mod (xn−1) z−j ⋅ Ajzi ⋅ ai x ⋅ A(x) mod (xn−1)

mit a(x) A(x).Beweis: durch Einsetzen von b(x) = x bzw. B(x) = x in den Faltungssatz.

(4.31a/b)

(4.32a/b)

Page 195: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.195

4.2 Reed-Solomon-Codes4 Bündelfehlerkorrigierende Blockcodes

Die Reed-Solomon-Codes (RS-Codes) wurden ca. 1960 entwickelt. Ihre Konstruktion ist geschlossen analytisch durchführbar. Die Mindestdistanz kann dabei vorgegeben werden, so dass ihre Gewichtsverteilung bekannt ist.Die RS-Codes erfüllen die Singleton-Schranke mit Gleichheit.Sie sind sehr leistungsfähig und von großer praktischer Bedeutung. U. a. werden sie in der Raumfahrzeugkommunikation, bei der CD (CompactDisk) und im Mobilfunk eingesetzt.RS-Codes sind symbolorientierte Codes, d. h. sie sind besonders geeignet zur Korrektur von Bündelfehlern. Dagegen können sie für die Korrektur von Einzelfehlern ineffizient sein, da immer ganze Symbole korrigiert werden müssen, wobei eine entsprechende Redundanz notwendig ist.

Page 196: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.196

4.2.1 Konstruktion von Reed-Solomon-Codes4.2 Reed-Solomon-Codes

Fundamentalsatz der linearen Algebra:Ein Polynom A(x) = A0 + A1 x + A2 x2 + ... + Ak−1 xk−1 vom Grad k − 1 mit Koeffizienten Ai ∈ GFGF(pm) und Ak−1 ≠ 0 hat höchstens k − 1 verschiedene Nullstellen.Der Beweis dieses Satzes zielt darauf, dass ein Polynom durch eine Anzahl von Linearfaktoren darstellbar ist, die durch seinen Grad beschränkt ist:

∏−

=− −⋅=

1

11 )()(

k

iik xxAxA

Hamming-Gewicht allgemeiner Vektoren:Das Hamming-Gewicht wH(c) eines Vektors c ist definiert als die Anzahl der Elemente von c, die nicht Null sind.Gl. (2.11), die das Gewicht eines binären Vektors berechnet, kann hier als Spezialfall angesehen werden, wenn die Elemente des Vektors aus GF GF (2)

stammen.

(4.33)

Page 197: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.197

4.2.1 Konstruktion von Reed-Solomon-Codes

Beweis:Gl. (4.26e) sagt aus, dass Nullstellen von A(zi) zu Elementen ai = 0 korrespondieren. Das Polynom A(x) hat höchstens k − 1 verschiedene Nullstellen, so dass der Vektor a mindestens n − (k − 1) = n − k + 1 ≥ d von Null verschiedene Stellen besitzt.

Satz zum Mindestgewicht von Vektoren:

Nach diesem Satz können Vektoren konstruiert werden, deren Gewicht nur vom Polynomgrad des transformierten Vektors abhängt. Diese besitzen ein

bestimmtes Mindestgewicht und damit eine bestimmte Mindestdistanz.

Sei A(x) = A0 + A1 x + A2 x2 + ... + Ak−1 xk−1 ein Polynom mit Koeffizienten Ai ∈ GFGF(pm), wobei sein Grad beschränkt ist durch:

grad A(x) = k − 1 ≤ n − d,dann gilt für das Gewicht eines Vektors a = (a0, a1, a2, .... , an−1) mit der Beziehung a(x) A(x):

wH(a) ≥ d.(4.34)

Page 198: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.198

4.2.1 Konstruktion von Reed-Solomon-Codes

Definition der Reed-Solomon-Codes:

Die RS-Codes erfüllen die Singleton-Schranke mit Gleichheit, da gilt:n − k = dmin − 1

Der günstigste Fall ist ein ungerades dmin, so dass gilt: t = (dmin − 1)/2.Und somit: n − k = 2 t

D. h., die Anzahl erkennbarer und korrigierbarer Fehler ist einstellbar.

Sei z ein primitives Element aus GFGF(pm), so ist a = (a0, a1, a2, .... , an−1) ein Codewort des RS-Codes C der Länge n = pm − 1, Dimension k = pm − d und Mindestdistanz d = n − k + 1, wenn gilt:

C = {a | ai = A(zi), grad A(x) ≤ k − 1 = n − d}.

Der Codevektor (A0, A1, A2, .... , Ak−1) entspricht der zu codierenden Information. Durch Auffüllen mit n − k = d − 1 Nullen (auch Prüfsymbole oder Prüffrequenzen genannt) ergibt sich das Codewort im FrequenzbereichA und durch IDFT das Codewort im Zeitbereich a:

a = (a0, a1, a2, .... , an−1) A = (A0, A1, A2, .... , Ak−1,0,0, ... ,0)

(4.36)

(4.37)

(4.35)

Page 199: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.199

4.2.1 Konstruktion von Reed-Solomon-Codes

Beispiel:Auswahl des Galois-Feldes GFGF(pm) mit p = 2 und m = 4 ⇒ GFGF(24).Die Codewortlänge ist dann: n = pm − 1 = 16 − 1 = 15.Die Zahl korrigierbarer Symbole sei t = 3 ⇒ n − k = dmin − 1 = 2 t = 6.Dann lautet das Codewort im Frequenzbereich allgemein:

Dieser Code kann sowohl als hexadezimaler (15,9)-RS-Code als auch als binärer (60,36)-RS-Code bezeichnet werden.

Dabei ist Aj ∈ {0, 1, z, z+1, z2, z2+1, z2+z, z2+z+1,z3, z3+1, z3+z, z3+z+1, z3+z2, z3+z2+1, z3+z2+z, z3+z2+z+1}.

Die Anzahl von Informationsstellen / -bits ist: k = 9 / k ⋅ m = 9 ⋅ 4 = 36;die Anzahl von Codewortstellen / -bits ist: n = 15 / n ⋅ m = 15 ⋅ 4 = 60.

A0 A1 A2 A3 A4 A5 A6 A7 A8 0 0 0 0 0 0

k = n − (dmin − 1) = 9 dmin − 1

Page 200: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.200

4.2.1 Konstruktion von Reed-Solomon-Codes

Mögliche Fehlervektoren in (teil-)binärer Schreibweise mit 0 = (0000) sind:f = (0 0 0 1111 1111 1111 0 0 0 0 0 0 0 0 0) ist korrigierbar;f = (0 0 0001 1111 1111 1110 0 0 0 0 0 0 0 0 0) ist nicht korrigierbar;f = (0100 0 0 0 0001 0 0 0100 0 0 0 0 0 0010 0) ist nicht korrigierbar.

Beispiel (Fortsetzung):Mit der Korrekturfähigkeit von t = 3 Symbolen können maximaltb,max = 3 ⋅ 4 = 12 Bits und minimal tb,min = 3 ⋅ 1 = 3 Bits korrigiert werden.

Aus den Grenzfällen ist abzuleiten, dass mit Sicherheit 3 Einzelfehler oder 9 direkt aufeinander folgende Fehler korrigierbar sind.Damit sind Bündelfehler korrigierbar bis zu einer Länge von:

nd

ndn

nkR 11)1(

C−

−=−−

==Für die Coderate des RS-Codes gilt: .

tb,Bündel = m (t − 1) + 1 = m (d − 3) / 2 + 1

Beispiel: Für den (15,9)-RS-Code ist RC = k / n = 9 / 15 = 60 %.

(4.38)

Page 201: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.201

4.2.1 Konstruktion von Reed-Solomon-Codes

Generatorpolynom:Aufgrund der Gradbeschränkung des Codeworts A(x), für dass gilt:

Aj = 0 für j = k ... n − 1,und der DFT-Eigenschaft (4.26d) besitzt jedes Codewortpolynom a(x) die Nullstellen:

a(z−j) = 0 für j = k ... n − 1.Das Produkt aus allen Linearfaktoren, die sich aus den Nullstellen ergeben, bildet das Generatorpolynom des zugehörigen RS-Codes:

Jedes Codewortpolynom lässt sich dann darstellen als:a(x) = u(x) ⋅ g(x).

Da sich ein RS-Code durch ein Generatorpolynom darstellen lässt, handelt es sich um einen zyklischen Code.

∏∏−

=

=

− −=−=kn

j

jn

kj

j zxzxxg1

1)()()( (4.39)

Page 202: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.202

4.2.1 Konstruktion von Reed-Solomon-Codes

Prüfpolynom:Das Prüfpolynom h(x) ist das komplementäre Polynom zum Generatorpolynom und enthält als Nullstellen alle von Null verschiedenen Elemente, die nicht Nullstellen von g(x) sind:

Beweis:

∏∏+−=

=

− −=−=n

knj

jk

j

j zxzxxh1

1

0)()()(

)1(mod0)1()()()(

)()()()()(1

0−=−⋅=−⋅=

⋅⋅=⋅

∏−

=

nnn

i

i xxxuzxxu

xhxgxuxhxa

Für die Polynome g(x), u(x) und h(x) gelten die Beziehungen:grad(g(x)) = n − k; grad(u(x)) = k − 1; grad(g(x) ⋅ u(x)) = n − 1;grad(h(x)) = k.

(4.40)

Page 203: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.203

4.2.1 Konstruktion von Reed-Solomon-Codes

Beispiel:Für den (6,2)-RS-Code über GFGF(7) mit dem primitiven Element z = 5 ist das Generatorpolynom g(x):

Das Prüfpolynom h(x) berechnet sich dann zu:

43222

4

1

5

2

4652)65()56(

)2)(6()4)(5(

)5()5()(

xxxxxxxx

xxxx

xxxgi

i

i

i

++++=++⋅++=

−−⋅−−=

−=−= ∏∏==

)3)(1(334652

1)(

)(1)(

2432

6−−=++=

++++

−=

−=

xxxxxxxx

xxh

xgxxh

n

Page 204: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.204

4.2.1 Konstruktion von Reed-Solomon-Codes

Generatormatrix:Der RS-Code ist ein zyklischer Code, dessen Generatormatrix G gemäßGl. 3.18 aus den Koeffizienten des Generatorpolynoms g(x) entwickelt werden kann.Beispiel mit g(x) = 2 + 5x + 6x2 + 4x3 + x4 (vgl. S. 203):

⎟⎠⎞⎜

⎝⎛= 146520

014652G

Systematisierung:Durch Umformung kann jede Generatormatrix systematisiert werden.Beispiel für die obige Generatormatrix: Die Systematisierungsschritte sind hier 1) Ersetzung der ersten Zeile durch die Summe der Zeilen und 2) Multiplizieren aller Elemente mit 4.

⎟⎠⎞⎜

⎝⎛= 146520

1534021G ⎟

⎠⎞⎜

⎝⎛= 423610

465201systGG ⇒ ⇒

Page 205: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.205

4.2.1 Konstruktion von Reed-Solomon-Codes

Prüfmatrix:Die Prüfmatrix H lässt sich auf drei Arten bestimmen.1. Aufgrund der zyklischen Eigenschaft des RS-Codes mit Gl. 3.25bBeispiel mit h(x) = x2 + 3x + 3 (vgl. S. 203):

⎟⎟⎟

⎜⎜⎜

⎛=

331000033100003310000331

1H

2. Über die systematische Generatormatrix: G = [Ik P] ⇒ H2 = [−PT In-k]Beispiel mit systematischer Generatormatrix Gsyst (vgl. S. 204):

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

−−−−−−−−

=100033010051001042000115

100044010026001035000162

2H

Page 206: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.206

4.2.1 Konstruktion von Reed-Solomon-Codes

3. Direkte Auswertung der Prüfgleichungen:−

0)( =−= −zaA jj 1für

1

0−=⋅−= ∑

=

− nkjzan

i

iji K

Die ausgeschriebenen Summen für alle j ergeben in Matrixform:

⎟⎟⎟⎟

⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−−

+−−+−+−

+−−+−+−

−−−−

0

000

1

111

1

2

1

0

)1()1(2)1(

)2)(1()2(2)2(

)1)(1()1(2)1(

)1(2

2MM

K

MMMMKKK

nnnn

knkk

knkk

knkk

a

aaa

zzz

zzzzzz

zzz

H3

Beispielmit z = 5in GFGF(7): ⎟

⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟⎟

⎜⎜⎜⎜

=−

−−−−−−−−−−−−−−−−

326451241241616161421421

1111

12345240243030342042

3

zzzzzzzzzzzzzzzzzzzz

H

(4.41)

Page 207: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.207

4.2.1 Konstruktion von Reed-Solomon-Codes

Syndromberechnung:Das Empfangssignal r lässt sich darstellen als

r = a + f R = A + Fbzw. r(x) = a(x) + f(x) R(x) = A(x) + F(x).

Das Syndrom ist im Frequenzbereich der Teil des Empfangsvektors, der an den Prüffrequenzen liegt:

Im Frequenzbereich leitet sich daraus ab:A(x) = A0x0 + A1x1 + ... + Ak−1xk−1

F(x) = F0x0 + F1x1 + ... + Fk−1xk−1 + Fkxk + ... + Fn−1xn−1

R(x) = R0x0 + R1x1 + ... + Rk−1xk−1 + Fkxk + ... + Fn−1xn−1

mit Rj = Aj + Fj Syndromkoeffizienten

S(x) = S0x0 + ... + Sn−k−1xn−k−1 = Fkx0 + ... + Fn−1xn−k−1 (4.42)

Page 208: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.208

4.2.1 Konstruktion von Reed-Solomon-Codes

In der Vektorschreibweise ist das SyndromS = (S0, S1, ... , Sn−k−1).

Das Syndrom lässt sich ebenfalls durch Multiplikation mit der Prüfmatrix berechnen:

S = r ⋅ H3T ⇔ ST = H3 ⋅ rT

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−−

+−−+−+−+−−+−+−

−−−−

−− 1

210

)1()1(2)1(

)2)(1()2(2)2()1)(1()1(2)1(

)1(2

1

210

21

111

nnnn

knkkknkk

knkk

kn r

rrr

zzz

zzzzzz

zzz

S

SSS

M

K

MMMMKKK

M

Ausgeschrieben ergibt sich die Darstellung:

(4.43a)

(4.43b)

Page 209: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.209

4.2.1 Konstruktion von Reed-Solomon-Codes

Allgemeiner RS-Code:Der RS-Code ist ein zyklischer Code. Zyklische Verschiebungen im Zeitbereich haben nach Gl. 4.32a keine Auswirkung auf die Prüffrequenzen:

a(x) = xk ⋅ b(x) mod (xn−1) z−j⋅k ⋅ Bj = Aj → Bj = 0 ⇒ Aj = 0.

Mit Gl. 4.26e und 4.32b steht andererseits fest, dass die zyklische Verschiebung eines Polynoms im Frequenzbereich keine Auswirkung auf das Gewicht und damit die Minimaldistanz der zugehörigen Codewörter im Zeitbereich hat.

Definition: Ein allgemeiner RS-Code der Länge n, Dimension k und Mindestdistanz d ist definiert durch:C = {a | ai = A(zi), A(x) = xk ⋅ B(x) mod (xn−1), grad B(x) ≤ k − 1 = n − d },

wobei k eine beliebige Zahl ist.(4.44)

Page 210: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.210

4.2.1 Konstruktion von Reed-Solomon-Codes

∑=

=n

i

ii zAzA

0)(

diiAi <≤

== 1für 00für 1

diqjiqi

nAdi

j

jdiji ≥⎟

⎠⎞⎜

⎝⎛ −−−⎟

⎠⎞⎜

⎝⎛= ∑

=

−− für 1)1()1(0

Zu den MDS-Codes (vgl. S. 100) gehören die RS-Codes.Der Beweis beruht auf kombinatorischen Überlegungen über wesentliche MDS-Eigenschaften der RS-Codes.

Gewichtsfunktion von MDS-Codes:Die Gewichtsfunktion A(z) kann für einen (n,k)-MDS-Code mit der Mindestdistanz d = n – k + 1 über dem GFGF(q = pm) wie folgt berechnet werden:

mit

(4.45)und

Page 211: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.211

4.2.1 Konstruktion von Reed-Solomon-Codes

Beispiel: Gewichtsverteilung des (7,3)-RS-Codes über GFGF(q = 23) mit der Mindestdistanz d = (n − k) + 1 = 5.

1477217)!57(!5

!71757

5 =⋅=⋅−⋅

=⋅⋅⎟⎠⎞⎜

⎝⎛=A

147)58()!67(!6

!7)1158(76

76 =−⋅

−⋅=⋅⎟

⎠⎞⎜

⎝⎛−⋅⋅⎟

⎠⎞⎜

⎝⎛=A

217)154864(7)12681

68(777 2

7 =+−⋅=⋅⎟⎠⎞⎜

⎝⎛+⋅⎟

⎠⎞⎜

⎝⎛−⋅⋅⎟

⎠⎞⎜

⎝⎛=A

A0 = 1A1 = A2 = A3 = A4 = 0

Damit lautet die Gewichtsfunktion:

∑=

===+++=n

ii qA

0

33 85122171471471

765 2171471471)( zzzzA +++=

Kontrolle: .

Page 212: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.212

4.2.2 Codierung von Reed-Solomon-Codes4.2 Reed-Solomon-Codes

Es ist das Nachrichtenwort u = (u0, u1, u2, .... , uk−1) bzw. Nachrichten-polynom u(x) = u0x0 + u1x1 + ... + uk−1xk−1 zu codieren. Im Folgenden werden drei mögliche Codiermethoden aufgezeigt:1. Codierung im Frequenzbereich, d. h. Rücktransformation von u mittels

IDFT (Gl. 4.25b):

2. Unsystematische Codierung im Zeitbereich, d. h. Multiplikation von u(x) mit Generatorpolynom:

3. Systematische Codierung im Zeitbereich, d. h. Multiplikation von u(x) mit xn−k: u(x) ⋅ xn−k = u0xn−k + u1xn−k+1 + ... + uk−1xn−1,Division von u(x) ⋅ xn−k durch g(x):u(x) ⋅ xn−k = q(x) ⋅ g(x) + r(x) mit r(x) = r0 + r1x + ... + rn−k−1xn−k−1 undAuflösen nach dem Codewort: − r(x) + u(x) ⋅ xn−k = q(x) ⋅ g(x) = a(x).

a = (−r0, −r1, −r2, ... , −rn−k−1, u0, u1, u2, ... , uk−1)

A = (u0, u1, u2, .... , uk−1,0,0, ... ,0) a = (a0, a1, a2, .... , an−1)

a(x) = u(x) ⋅ g(x)

(4.46c)

(4.46b)

(4.46a)

Page 213: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.213

4.2.2 Codierung von Reed-Solomon-Codes

Blockdiagramm zur Codierung im Frequenzbereich (Methode 1):

u0 A0 a0 c0

u1 A1 a1 c1

u2 A2 a2 c2

uk−1 Ak−1

0 Ak

0 Ak+1

0 An−1 an−1 cn−1

....

................

................

∑−

=⋅=

1

0

n

j

ijji zAa

IDFT....

....

....

Nach-richten-wort

Code-wort

Page 214: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.214

4.2.2 Codierung von Reed-Solomon-Codes

Beispiel für die Codierung im Frequenzbereich (Methode 1):Betrachtet wird ein (6,2)-RS-Code über GFGF(7) mit dem primitiven Element z = 5. Es soll das Nachrichtenwort u = (3,3) codiert werden.

Mit B(x) = 1 + 1x ergibt sich das Codewort b zu B = (1,1,0,0,0,0) b = (2,6,5,0,3,4).

n = 6; k = 2 und A(x) = 3 + 3x. Mit ai = A(x = zi) (Gl. 4.25b) folgt:a0 = A(x = z0 = 50 = 1) = A0 + A1z0 = 3 + 3 ⋅ 1 = 6,a1 = A(x = z1 = 51 = 5) = A0 + A1z1 = 3 + 3 ⋅ 5 = 4,a2 = A(x = z2 = 52 = 4) = A0 + A1z2 = 3 + 3 ⋅ 4 = 1,a3 = A(x = z3 = 53 = 6) = A0 + A1z3 = 3 + 3 ⋅ 6 = 0,a4 = A(x = z4 = 54 = 2) = A0 + A1z4 = 3 + 3 ⋅ 2 = 2,a5 = A(x = z5 = 55 = 3) = A0 + A1z5 = 3 + 3 ⋅ 3 = 5.

Ergebnis: A = (3,3,0,0,0,0) a = (6,4,1,0,2,5).

Die Hamming-Distanz ist: dH(a,b) = dH((6,4,1,0,2,5),(2,6,5,0,3,4)) = 5.Zum Vergleich: dmin = n − k + 1 = 6 − 2 + 1 = 5.

Page 215: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.215

4.2.2 Codierung von Reed-Solomon-Codes

u = (3,4) ⇒ u(x) = 3 + 4x ⇒ u(x) ⋅ xn−k = 3x4 + 4x5.

Eine Alternative bietet die Codierung mit systematischer Generatormatrix:

)()(

xgxr

Beispiel für die systematische Codierung im Zeitbereich (Methode 3):Betrachtet wird ein (6,2)-RS-Code über GFGF(7) mit dem primitiven Element z = 5. Es soll das Nachrichtenwort u = (3,4) systematisch codiert werden.

( ) ( )0,5,6,2,4,34236104652014,3syst =⎟

⎠⎞⎜

⎝⎛⋅=⋅= Gub

Division von u(x) durch g(x) = 2 + 5x + 6x2 + 4x3 + x4 (vgl. S. 203):

(4x5 + 3x4) ÷ (1x4 + 4x3 + 6x2 + 5x + 2) = 4x + 1 +− (4x5 + 2x4 + 3x3 + 6x2 + 1x)

1x4 + 4x3 + 1x2 + 6x − (1x4 + 4x3 + 6x2 + 5x + 2)

2x2 + 1x + 5 = r(x)−r(x) + u(x) xn−k = 2 + 6x + 5x2 + 3x4 + 4x5 ⇒ a = (2, 6, 5, 0, 3, 4)

−r u

Page 216: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.216

4.2.2 Codierung von Reed-Solomon-Codes

Das Generatorpolynom berechnet sich nach Gl. (4.39):g(x) = (x − z) (x − z2) (x − z3) (x − z4)

= (x2 + xz4 + z3) (x2 + xz6 + 1)= x4 + x3z3 + x2 + xz + z3.

Das Prüfpolynom berechnet sich nach Gl. (4.40):h(x) = (x − z5) (x − z6) (x − z7)

= x3z3 + x2z3 + xz2 + z4.

Beispiel für die systematische Codierung im Zeitbereich (Methode 3):Betrachtet wird ein (7,3)-RS-Code über GFGF(23). Das primitive Polynom ist p(x) = 1 + x + x3.Die Codewortlänge berechnet sich über n = pm − 1 = 8 − 1 = 7. Die Zahl korrigierbarer Symbole ist t = 2, weil n − k = 4 mit k = 3. Mit p(x) gilt für das primitive Element die Beziehung: 1 + z + z3 = 0.Die einzelnen Elemente in Exponenten- und Komponentendarstellung dieses Erweiterungskörpers sind in der Tabelle gegeben.

0 = 0z0 = 1z1 = zz2 = z2

z3 = 1 + zz4 = z + z2

z5 = 1 + z + z2

z6 1 + z2

Page 217: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.217

4.2.2 Codierung von Reed-Solomon-Codes

Beispiel (Fortsetzung):Es soll das Nachrichtenwort u = (1, z, z2) systematisch codiert werden.u = (1, z, z2) ⇒ u(x) = 1 + xz + x2z2 ⇒ u(x) ⋅ xn−k = x4 + x5z + x6z2.Division von u(x) ⋅ xn−k durch g(x) = x4 + x3z3 + x2 + xz + z3:

)()(

xgxr

Die zugehörige Generatormatrix lautet: .⎟⎟⎟

⎜⎜⎜

⎛=

110001100011

3333

33

zzzzzz

zzzG

(x6z2 + x5z + x4) ÷ (x4 + x3z3 + x2 + xz + z3) = x2z2 + x + z3 + + (x6z2 + x5z5 +x4z2 + x3z3 + x2z5)

x5z6 + x4z6 + x3z3 + x2z5

+ (x5z6 + x4z2 + x3z6 + x2 + xz2)x4 + x3z4 + x2z4 + xz2

+ (x4 + x3z3 + x2 + xz + z3)x3z6 + x2z5 + xz4+ z3 = r(x)

−r(x) + u(x) xn−k = z3+xz4 +x2z5 +x3z6 +x4+x5z +x6z2 ⇒ a = (z3,z4,z5,z6,1,z,z2).

Page 218: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.218

4.2.3 Decodierung von Reed-Solomon-Codes4.2 Reed-Solomon-Codes

Die Decodierung von RS-Codes wird anhand spezieller Algorithmen algebraisch durchgeführt. Die Verwendung einer Syndromtabelle ist wegen des gewaltigen benötigten Speicherplatzes nicht möglich.Es wird von einem Empfangsvektor r ausgegangen, der aus der Überlagerung des ursprünglich gesendeten Codeworts a mit einem Fehlervektor f entstanden ist: r = a + f.Der RS-Code sei in der Lage, t Fehler zu korrigieren.Die Vorgehensweise bei der algebraischen Decodierung lässt sich dann aufteilen in die Schritte:1. Berechnung des Syndroms S(x) aus r2. Berechnung der Fehlerstellen aus S(x) mittels der sogenannten

Schlüsselgleichung3. Berechnung der Fehlerwerte von f, da RS-Codes keine binären Codes

sind4. Korrektur der Fehler mit der Beziehung a = r – f.

Page 219: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.219

4.2.3 Decodierung von Reed-Solomon-Codes

Berechnung des Syndroms:Laut Definition besitzt ein Codewort A im Frequenzbereich 2taufeinanderfolgende Koeffizienten, die Null sind. Diese Stellen des Vektors R werden als Syndromvektor oder kurz Syndrom bezeichnet. Es gilt:

Berechnung der Fehlerstellen:Hierzu wird die sogenannte Schlüsselgleichung hergeleitet, die einen Bezug zwischen dem Syndrom S(x) und dem Fehlerstellenpolynomc(x) C(x) herstellt, dessen Nullstellen die Fehlerorte markieren. c(x) wird so definiert, dass gilt: ci = 0 für fi ≠ 0, so dass dann gilt:

Syndrom S

r = a + f R = A + F = (A0+F0, A1+F1, ..., Ak–1+Fk–1, Fn–2t, ... , Fn–1).

ci ⋅ fi = 0 für i = 0, 1, ... , n − 1

∏≠

−=0,

)()(ifi

izxxCJede Fehlerstelle erzeugt somit eine Nullstelle / einen Linearfaktor in C(x):

(4.47)

(4.48)

(4.49)

Page 220: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.220

4.2.3 Decodierung von Reed-Solomon-Codes

Nach Gl. 4.31b und 4.26e gilt für die DFT des Produkts ci ⋅ fi :

2knte −

=≤

ee

fi

i xCxCxzxCi

+++=⋅−= ∏≠

− ...1)1()( 10,

ci ⋅ fi = 0 C(x) ⋅ F(x) = 0 mod (xn − 1)

Das Polynom C(x) ⋅ F(x) besitzt alle möglichen Nullstellen. Der Grad von C(x) ist gleich der Anzahl der Fehlerstellen e. Dies gilt unter der Annahme:

Mit Gl. (4.49) gilt für das Fehlerstellenpolynom C(x):C(x) = C0 + C1x + ... + Cexe

C(x) besitzt somit genau e + 1 Koeffizienten; von Interesse sind aber nur die e Nullstellen des Polynoms, somit ist ein Koeffizient Ci frei wählbar und kann auf 1 normiert werden. Nach Gl. (4.49) ist Ce = 1 gewählt. Wird C0 = 1 gewählt, so ist C(x) definiert durch:

(4.50)

(4.51)

(4.52)

Page 221: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.221

4.2.3 Decodierung von Reed-Solomon-Codes

Bevor die Schlüsselgleichung hergeleitet wird, sollen erst die Beziehungen zwischen den bisher betrachteten Polynomen zusammengefasst werden. Diese sind das gesendete Codewort a(x), das Fehlerpolynom f(x), das Empfangswort r(x) sowie das Fehlerstellenpolynom c(x) und die zugehörigen Darstellungen im Frequenzbereich:

a(x) xxxxxxxxxxxxxxxxxxxx A(x) xxxxxxxxxxxxxx000000

f(x) 00000x000x000000x000 F(x) xxxxxxxxxxxxxxxxxxxx

r(x) xxxxxxxxxxxxxxxxxxxx R(x) xxxxxxxxxxxxxxxxxxxx S(x)

c(x) xxxxx0xxx0xxxxxx0xxx C(x) xxxx0000000000000000

ci⋅fi = 0 C(x)⋅F(x) = 0 mod (xn−1)

Page 222: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.222

4.2.3 Decodierung von Reed-Solomon-Codes

Zur Bestimmung der Koeffizienten Ci durch Aufstellen und anschließendes Lösen der Schlüsselgleichung wird zunächst angenommen, dass gilt: e = t.Gl. (4.50) in der Form C(x) ⋅ F(x) = 0 mod (xn − 1) wird als Gleichungssystem geschrieben, wobei die Koeffizienten nach aufsteigenden Indexsummen modulo-n, d. h. nach Potenzen x0 bis xn–1 (xn = x0), geordnet werden:

00

000

00

13221102423120

1212110222110

12322110

1120110221100

=+++=++++

=++++=++++=++++

=++++=++++

−−−−−−−−−−

+−−−−+−−−−−−−

−−−−−−−−

+−−−−−

tntnnntntnnn

tnttntntntnttntntntnttntntn

tntntntnn

FCFCFCFCFCFCFCFC

FCFCFCFCFCFCFCFCFCFCFCFC

FCFCFCFCFCFCFCFC

KK

MMMMMKKK

MMMMMKK

(4.53)

Page 223: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.223

4.2.3 Decodierung von Reed-Solomon-Codes

Der eingerahmte Teil in Gl. (4.53) besitzt t Gleichungen mit t Unbekannten. Die Koeffizienten des Fehlerstellenpolynoms sind dort bekannt und entsprechen den Syndromkoeffizienten von S(x):

0

00

1322221120

112110022110

=++++

=++++=++++

−−−−

−+−−

ttttt

tttttttt

SCSCSCSC

SCSCSCSCSCSCSCSC

KMMMMM

KK

S0 = Fn−2t , S1 = Fn−2t+1 , .... , S2t−1 = Fn−1.Eingesetzt in den eingerahmten Teil von Gl. (4.53) ergibt sich:

Das lineare Gleichungssystem ist eindeutig lösbar. Der hierdurch erhaltene Zusammenhang zwischen den gesuchten Koeffizienten Ci und den bekannten Koeffizienten Si entspricht einer zyklischen Faltung und bildet mit der Normierung C0 = 1 die Schlüsselgleichung (auch Newton-Identität genannt):

∑=

− −==⋅+t

iijij ttjSCS

112,,für0 K

(4.54)

(4.55)

Page 224: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.224

4.2.3 Decodierung von Reed-Solomon-Codes

Im Allgemeinen ist die Anzahl der Fehler unbekannt. Dabei sind Fehler mit kleinem Gewicht wahrscheinlicher als Fehler mit großem Gewicht. Für e < tsind die gesuchten Koeffizienten C1, C2, ... , Ce. Die Zahl der Variablen ist e, die Zahl der Gleichungen dagegen t. Damit ist das Gleichungssystem überbestimmt und es werden unterschiedliche Ansätze für C(x) benötigt. Dazu wird die nicht normierte Schlüsselgleichung mit variabler Fehlerzahl betrachtet:

In der Matrixschreibweise ergibt sich die Darstellung:

tetejSCe

iiji ,,2,1für12,,für0

0KK =−==⋅∑

=−

te

CC

CC

SSSSSSSS

SSSSSSSS

ee

etetttetettt

eeee

,,2,1für1

10

122221222123222

121011

KM

KK

MMMMLL

==

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−−−−−−−

+−

0

(4.57)

(4.56)

Page 225: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.225

4.2.3 Decodierung von Reed-Solomon-Codes

Die Suche nach den Koeffizienten des Fehlerstellenpolynoms wird mit dem wahrscheinlichsten Fehlerereignis e = 1 begonnen. Ist für diese Fehlerzahl keine Lösung gefunden worden, wird e sukzessive erhöht, bis e die Grenze von t erreicht. Ein Decodierversagen liegt dann vor, wenn kein Fehlerstellenpolynom gefunden wird.Zwei bekannte Algorithmen berechnen die Lösung der Schlüsselgleichungmit geringem Rechenaufwand, nämlich:– der Berlekamp-Massey-Algorithmus und– der Euklid’sche Divisionsalgorithmus.Ist eine Lösung für das Fehlerstellenpolynom gefunden, werden durch einfaches Durchprobieren aller möglichen Nullstellen (Chien search) die Fehlerstellen gesucht: C(x = zi) für 0 ≤ i ≤ n–1.Gilt für ein beliebiges j aus diesem Bereich

C(x = zj) = 0,so ist j eine Fehlerstelle.

(4.58)

Page 226: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.226

4.2.3 Decodierung von Reed-Solomon-Codes

Berechnung der Fehlerwerte:Gl. (4.50) entspricht einer zyklischen Faltung der Koeffizienten, die dargestellt werden kann als

n) mod(Index 1,,1,0für00

−==⋅∑=

− njFCe

iiji K

n) mod(Index 1,,1,0für01

0 −==⋅+ ∑=

− njFCFCe

iijij Kbzw.

n) mod(Index 1,,1,0für1

10 −=⋅⋅−= ∑

=−

− njFCCFe

iijij K

Nach Fj aufgelöst können die Fehlerwerte rekursiv berechnet werden:

mit C(x) = C0 + C1x + ... + Cexe

und F(x) = F0 + F1x + ... + Fk−1xk−1 + Fkxk + Fk+1xk+1 + ... + Tn−1xn−1

unbekannter Teil bekannter Teil (S)

(4.59a)

(4.59b)

(4.60)

Page 227: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.227

4.2.3 Decodierung von Reed-Solomon-Codes

Beispiel:Betrachtet wird der (6,2)-RS-Code über GFGF(7) mit dem primitiven Element z = 5. Die Parameter sind dann: n = 6, k = 2, d = dH,min = 5 und t = 2.Zu decodieren ist der Empfangsvektor r = (1,2,3,1,1,1).1. Berechnung des Syndroms (Gl. 4.47):

S

r = (r0,r1,r2,r3,r4,r5) = (1,2,3,1,1,1)R = (R0,R1,R2,R3,R4,R5) = (R0,R1,F2,F3,F4,F5) = (5,0,4,6,6,1)

⇒ S = (F2,F3,F4,F5) =(S0,S1,S2,S3) = (4,6,6,1).

Annahme der wahrscheinlichsten Fehlerzahl: e = 1 ⇒ C(x) = C0 + C1x.2. Berechnung der Fehlerstellen über Gl. (4.57):

⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟

⎠⎞

⎜⎝⎛⋅⎟

⎟⎠

⎞⎜⎜⎝

⎛=⎟

⎠⎞

⎜⎝⎛⋅⎟

⎜⎜

000

1616646

010

231201 C

CC

SSSSSS

Normierung (beliebig): C1 = 1 ⇒

Page 228: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.228

4.2.3 Decodierung von Reed-Solomon-Codes

Die einzelnen Gleichungen haben die Lösungen:6 C0 + 4 = 0 ⇒ C0 = 4,6 C0 + 6 = 0 ⇒ C0 = 6 und1 C0 + 6 = 0 ⇒ C0 = 1.

Dies ist ein Widerspruch, somit muss e erhöht werden:e = 2 ⇒ C(x) = C0 + C1x + C2x2.

I: 6 C0 + 6 C1 + 4 = 0II: 1 C0 + 6 C1 + 6 = 0I−II: 5 C0 − 2 = 0 ⇒ C0 = 2⋅5−1 = 6 II: 6 C1 + 5 = 0 ⇒ C1 = −5⋅6−1 = 5

⎟⎠⎞⎜

⎝⎛=⎟

⎜⎜

⎛⋅⎟

⎠⎞⎜

⎝⎛=⎟

⎜⎜

⎛⋅⎟

⎠⎞

⎜⎝⎛

00

1661466

10

210

123012 C

C

CCC

SSSSSSNormierung: C2 = 1 ⇒

Die Lösung des Gleichungssystems ergibt:

Das Fehlerstellenpolynom lautet somit: C(x) = 6 + 5 x + x2.

Page 229: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.229

4.2.3 Decodierung von Reed-Solomon-Codes

Die Suche der Nullstellen (Chien search) ergibt:C(x = z0 = 1) = 6 + 5 + 1 = 5,C(x = z1 = 5) = 6 + 4 + 4 = 0 ⇒ Nullstelle bei z1,C(x = z2 = 4) = 6 + 6 + 2 = 0 ⇒ Nullstelle bei z2,C(x = z3 = 6) = 6 + 2 + 1 = 2,C(x = z4 = 2) = 6 + 3 + 4 = 6 undC(x = z5 = 3) = 6 + 1 + 2 = 2.

Fehler wurden an der 1. und 2. Stelle des Empfangsvektors entdeckt (Index beginnt bei 0!).Probe: C(x) = (x − z1)⋅(x − z2) = 6 + 5 x + x2

3. Berechnung der Fehlerwerte (Gl. 4.60):Mit R = (R0,R1,F2,F3,F4,F5) = (5,0,4,6,6,1) und C(x) = 6 + 5 x + x2 ergibt sich:

F0 = −C0−1 ⋅ (C1 ⋅ F−1 + C2 ⋅ F-2)

= −C0−1 ⋅ (C1 ⋅ F5 + C2 ⋅ F4)

= −6−1 ⋅ (5 ⋅ 1 + 1 ⋅ 6) = 1 ⋅ (5 + 6) = 4

Page 230: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.230

4.2.3 Decodierung von Reed-Solomon-Codes

undF1 = −C0

−1 ⋅ (C1 ⋅ F0 + C2 ⋅ F-1)= −C0

−1 ⋅ (C1 ⋅ F0 + C2 ⋅ F5)= −6−1 ⋅ (5 ⋅ 4 + 1 ⋅ 1) = 1 ⋅ (6 + 1) = 0.

Damit lautet der vollständige Fehlervektor im Frequenzbereich:F = (F0,F1,F2,F3,F4,F5) = (4,0,4,6,6,1).

Die Rücktransformation in den Zeitbereich ergibt:f = (f0,f1,f2,f3,f4,f5) = (0,1,2,0,0,0).

aDas Decodierergebnis lautet schließlich:

= r − f = (1,2,3,1,1,1) − (0,1,2,0,0,0) = (1,1,1,1,1,1).

Diese Stelle bietet eine gute Kontrollmöglichkeit, da in f nur die Stellen ungleich Null sein sollten, die bei der Fehlerstellensuche ermittelt wurden.

Page 231: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.231

4.3 Bose-Chaudhuri-Hocquenghem-Codes4 Bündelfehlerkorrigierende Blockcodes

Bose-Chaudhuri-Hocquenghem-Codes (BCH-Codes) gehören wie die RS-Codes zur Klasse der zyklischen Codes und stellen eine wichtige Erweiterung der Hamming-Codes dar. Sie sind besonders für die Korrektur mehrerer statistisch unabhängiger (Einzel-)Fehler geeignet. Dabei wird zwischen binären und nicht-binären BCH-Codes unterschieden, wobei die binären BCH-Codes als Spezialfall der RS-Codes betrachtet werden können, während die RS-Codes wieder als Spezialfall der nicht-binären BCH-Codes erklärt werden können. Hier sollen aber nur die binären BCH-Codes betrachtet werden.Ein binärer BCH-Code mit der Codewortlänge n = 2m–1 zeichnet sich dadurch aus, dass jedes Codewort a im Zeitbereich aus Komponentenai ∈ GFGF(2) besteht, während das Codewort im Frequenzbereich aus Komponenten Ai ∈ GFGF(2m) besteht.Die Definition eines binären BCH-Codes ist wie bei den RS-Codes im Frequenzbereich durch verschwindende benachbarte Prüfstellen oder im

Zeitbereich durch ein Generatorpolynom möglich.

Page 232: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.232

4.3 Bose-Chaudhuri-Hocquenghem-Codes

Für einen binären BCH-Code mit ai ∈ GFGF(2) vereinfachen sich die DFT-Transformationsgleichungen 4.25a/b zu

Ai = a(x = z−i) und aj = A(x = zj),obwohl Ai ∈ GFGF(2m) ist.Gilt Ai = 0, so besitzt das Polynom a(x) im Zeitbereich eine Wurzel z−i.D. h., a(x) enthält den Faktor (x − z−i):

Ai = 0 = a(x = z−i).

df

4.3.1 Ableitung der BCH-Codes im Frequenzbereich

Es gilt der Satz, dass ein Polynom f(x) in GFGF(2) die folgende wichtige Eigenschaft besitzt:

[f(x)]2 = f(x2)

Beweisidee über binomische Formel:(a + b)2 = a2 + 2ab + b2 = a2 + b2, da 2ab = 0 mod 2.

a und b können nun selber wieder Summenterme sein, deren einzelne Komponenten ebenfalls Summenterme sind usw. Ergebnis ist ein

unbegrenzt langer Summenterm mit der zu beweisenden Eigenschaft.

(4.61a/b)

(4.62)

(4.63)

Page 233: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.233

4.3.1 Ableitung der BCH-Codes im Frequenzbereich

Mit Gl. (4.63) gilt:A2i = a(x = z−2i) = a(x = (z−i)2) = [a(x = z−i)]2 = (Ai)2

A4i = a(x = z−4i) = a(x = (z−2i)2) = [a(x = z−2i)]2 = (A2i)2 = (Ai)4

A8i = a(x = z−8i) = a(x = (z−4i)2) = [a(x = z−4i)]2 = (A4i)2 = (Ai)8 usw.Der allgemeine Zusammenhang, dass die Bedingung ai ∈ GFGF(2) erfüllt ist, lautet somit:

Der binäre (primitive) BCH-Code C mit der Codewortlänge n = 2m − 1 und der konstruierten Mindestdistanz d ist bestimmt durch

C = {a | ai = A(zi), grad A(x) ≤ n − d, A(2 j⋅i) = (Ai)(2j), Ai ∈ GFGF(2m)}

mit dem primitiven Element z ∈ GFGF(2m).

( ) )2()2(

jj ii AA =⋅

Damit lautet die Definition:

(4.64)

(4.65)

Page 234: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.234

4.3.1 Ableitung der BCH-Codes im Frequenzbereich

Beispiel:Betrachtet wird ein BCH-Code über GFGF(23) mit n = 23 − 1 = 7 und t = 1, d.h. d = 3. Für die Komponenten des Codewortvektors

A = (A0,A1,A2,A3,A4,A5,A6) = (A0,A1,A2,A3,A4,0,0) gilt:für A0: A(2 j⋅ 0) = A0 = (A0)(2

j) ⇒ A0 ∈ GFGF(2)

für A1: A(2 j⋅ 1) = A(2 j) = (A1)(2j) ⇒ A2 = (A1)2 , A4 = (A1)4 ,

A8 mod 7 = A1 = (A1)8 ⇒ A1 ∈ GFGF(23)für A3: A(2 j⋅ 3) = (A3)(2

j) ⇒ A6 = (A3)2 , A12 = A5 = (A3)4, A24 = A3 = (A3)8

⇒ A3 ∈ GFGF(23)Mit A5 = A6 = 0 ist aber auch A3 = 0. D.h., obwohl 5 Stellen im FB zur Verfügung stehen, sind nur zwei Symbole bzw. 4 Bits (1 + 3) an Information pro Codewort übertragbar. Codierungsbeispiel:A0 = 1, A1 = z ⇒ A = (1,z,z2,0,z4,0,0), A(x) = 1 + z x + z2 x2 + z4 x4

a0 = A(z0) = 1+z1+z212+z414 = 1+z+z2+z4 = 1+z+z2+z+z2 = 1a1 = A(z1) = 1+zz+z2z2+z4z4 = 1+z2+z4+z8 = 1+z2+z+z2+z = 1 ...

⇒ a = (1,1,0,1,0,0,0) (vgl. zugehörige RS-Codierung auf S. 216f.)

Page 235: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.235

4.3.1 Ableitung der BCH-Codes im Frequenzbereich

Das vorangehendeBeispiel lässt sichmit der neben-stehenden Schaltungrealisieren.

Page 236: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.236

4.3.2 Ableitung der BCH-Codes im Zeitbereich4.3 Bose-Chaudhuri-Hocquenghem-Codes

Sind sowohl eine Komponente Ai eines Vektors A wie auch ihre konjugierten Komponenten Null, bildet das Produkt der zugehörigen Wurzeln (Nullstellen) im Zeitbereich ein Minimalpolynom mit Koeffizienten aus GFGF(2) gemäß Gl. (4.17) und (4.22). Besitzt A aufeinander folgende Komponenten Ai, Ai–1, ..., die identisch Null sind, so erzeugt das Produkt der Minimalpolynome das Generatorpolynom des binären BCH-Codes. Die Definition lautet dann:

Gibt es d − 1 aufeinander folgende Zahlen in M, so ist die konstruierte Mindestdistanz d. Die tatsächlich erreichte Mindestdistanz kann größer sein.

K⋅⋅=−= ∏∈

)()()()(21

xmxmzxxg jjMi

i

Kj sind die Kreisteilungsklassen bezüglich einer Zahl n = 2m − 1, z ein primitives Element in GFGF(2m) und M die Vereinigungsmenge der Kreisteilungsklassen: M = {Kj1

∪Kj2∪...}. Ein primitiver BCH-Code der

Länge n = 2m − 1 ist bestimmt durch das Generatorpolynom:

Der BCH-Code hat die Dimension k = n − grad (g(x)).

(4.66)

Page 237: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.237

4.3.2 Ableitung der BCH-Codes im Zeitbereich

Beispiel:Auf der Basis des GFGF(24), d.h. n = 24 − 1 = 15, werden Konstruktionen für verschiedene zu konstruierende Mindestdistanzen betrachtet (vgl. S. 184).

1)()()( 41

},{ 21

++==−= ∏∈

xxxmzxxgKKi

i

1)1()1(

)()()()(

46782344

31},,,{ 4321

++++=++++⋅++=

⋅=−= ∏∈

xxxxxxxxxx

xmxmzxxgKKKKi

i

I:

II:

Mit M = {K1,K2} = K1 = {1,2,4,8} ist die konstruierte Mindestdistanz d = 3, da d − 1 = 2 aufeinander folgende Zahlen in M enthalten sind.Die Dimension ist k = n − grad (g(x)) = 15 − 4 = 11.

Mit M = {K1∪K3} = {1,2,3,4,6,8,9,12} ist die konstruierte Mindestdistanzd = 5, da d − 1 = 4 aufeinander folgende Zahlen in M enthalten sind.Die Dimension ist k = n − grad (g(x)) = 15 − 8 = 7.

Page 238: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.238

4.3.2 Ableitung der BCH-Codes im Zeitbereich

III:

Bei der Zusammenfassung der Kreisteilungsklassen ist darauf zu achten, dass es sich um die Vereinigung von Mengen handelt, in der dasselbe Element nicht mehrfach vorkommt. Deswegen gilt z. B. für das erste Beispiel (I):

M = {K1∪K2} = K1, da K1 = K2.

1

)1()1()1(

)()()()()(

245810

22344

531},,,{ 621

++++++=

++⋅++++⋅++=

⋅⋅=−= ∏∈

xxxxxx

xxxxxxxx

xmxmxmzxxgKKKi

i

K

Mit M = {K1∪K3∪K5} = {1,2,3,4,5,6,8,9,10,12} ist die konstruierte Mindestdistanz d = 7, da d − 1 = 6 aufeinanderfolgende Zahlen in Menthalten sind.Die Dimension ist k = n − grad (g(x)) = 15 − 10 = 5.

Page 239: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.239

4.3.3 Aspekte der Codierung / Decodierung von BCH-Codes4.3 Bose-Chaudhuri-Hocquenghem-Codes

Der BCH-Code ist ein linearer zyklischer Code, der analog zu Abschnitt 3.3auf zwei Arten mit dem Generatorpolynom codiert werden kann:– unsystematisch durch Multiplikation mit dem Generatorpolynom und– systematisch durch Division durch das Generatorpolynom.Im Unterschied zu den RS-Codes hat die Verschiebung der Prüffrequenzen aufgrund der konjugiert komplexen Elemente Einfluss auf die Leistungsfähigkeit des BCH-Codes.Die Decodierung ist ähnlich wie bei den RS-Codes. Der Vorteil hier besteht darin, dass bei binären Codes keine Berechnung der Fehlerwerte notwendig ist.

Page 240: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.240

5 FaltungscodesCodierungstheorie

Die Faltungscodes bilden neben den Blockcodes die zweite wichtige Gruppe fehlerkorrigierender Codes. Anstelle einer blockweisen Erzeugung von Codewörtern werden die Codewörter durch Faltung einer Informationssequenz mit einem Satz von Generatorkoeffizienten erzeugt.Obwohl sie gegenüber den Blockcodes eine einfachere mathematische Struktur besitzen, existieren für sie keine analytischen Verfahren zur Konstruktion; sie werden durch Rechnersimulation gefunden.Allerdings können Faltungscodes Zuverlässigkeitsinformation von Codesymbolen einfacher verarbeiten als Blockcodes. Dafür sind sie stark empfindlich gegenüber Bündelfehlern. In der Regel sind die Codes binär.Erste Publikationen zu Faltungscodes erschienen 1955 von Elias. Praktisch konnten sie aber erst nach der Entwicklung von Decodierverfahren genutzt werden. Dazu zählt das Verfahren der sequentiellen Decodierung von Fano(1963) und der praktisch realisierbare Maximum-Likelihood-Decodieralgorithmus von Viterbi (1967).

Page 241: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.241

5 Faltungscodes

Soft- und Hard-Decision:Bei der Decodierung sind Faltungscodes in der Lage, sowohl Hard- als auch Soft-Decision-Symbole zu verwenden. Hard-Decision bedeutet, dass das kontinuierliche Empfangssignal nach der Demodulation durch einenSchwellenwert-Entscheider ineine Folge von möglichenSendesymbolen umgewandeltwird. Bei der Soft-Decisionwird entweder das analogeSignal weitergegeben oderQuantisierungswerte(Zwischenwerte) verwendet(s. Abbildung). Dadurch isteine zuverlässigereDecodierung möglich.

Zeit

Empf

angs

pege

l

HD-Entscheiderschwelle

Bitfehler!

Page 242: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.242

5.1 Definition von Faltungscodes5 Faltungscodes

Analog zu den Blockcodes werden die Informations- bzw. Codesequenzen in Blöcke der Länge k bzw. n unterteilt, hier aber mit der Blocknummer rindiziert: ur = (ur,1,ur,2, ... ,ur,k), ar = (ar,1,ar,2, ... ,ar,n).

∑ ∑= =

−⋅=m k

rr uga0 1

,,,,μ κ

κμνμκν

Üblicherweise sind die Symbole binär: ai,j , ui,j ∈ GFGF(2) = {0,1}.

ar = ar(ur, ur−1, ... , ur−m)Der Codierer ist linear (vgl. Abschnitt 5.4), d. h. die Codebits ergeben sich als Linearkombinationen der Informationsbits. Die formale Beschreibung erfolgt mit Generatorkoeffizienten gκ,μ,ν ∈ GFGF(2) mit 1 ≤ κ ≤ k, 0 ≤ μ ≤ mund 1 ≤ ν ≤ n, so dass sich die Codebit-Teilfolgen als Faltungen der Informationsbitfolgen mit den Generatorkoeffizienten ergeben:

Die Zuordnung von ar zu ur ist im Gegensatz zu den Blockcodes nicht gedächtnislos. Der aktuelle Codeblock wird durch den aktuellen Informationsblock und durch m vorangegangene bestimmt:

(5.1a/b)

(5.2)

(5.3)

Page 243: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.243

5.1 Definition von Faltungscodes

Die Coderate des Faltungscodes ist: .nkR =C

Die Größe m wird als Gedächtnislänge bezeichnet und L = m + 1 als Einflusslänge (constraint length). Sie prägt neben der Coderate sowohl die Leistungsfähigkeit wie auch den Aufwand bei der Decodierung. Rein formal sind Blockcodes ein Sonderfall der Faltungscodes mit m = 0.Während bei Blockcodes k und n üblicherweise groß sind, sind bei Faltungscodes typische Werte: k = 1, 2; n = 2, 3, 4; m ≤ 8.Für die Realisierung des Gedächtnisses sind k ⋅ (m + 1) Speicherstellen notwendig (vgl. Abbildung nächste Seite). In der Literatur existieren auch Darstellungen, die die Informationsfolge ur direkt auf die Additionsglieder ohne die Zwischenspeicherung legen. In dem Fall beträgt die Anzahl der Speicherstellen nur k ⋅ m.

(5.4)

Page 244: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.244

5.1 Definition von Faltungscodes

Blockschaltbild eines allgemeinen (n,k,m)-Faltungscodierers:

Eine Verbindungentspricht einem gκ,μ,ν.

Page 245: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.245

5.1 Definition von Faltungscodes

Beispiel: (2,1,2)-Faltungscodierer

Die Parameter sind:n = 2, k = 1, m = 2,RC = 1/2.

Die Codebits berechnen sich aus:ar,1 = ur + ur−1 + ur−2;ar,2 = ur + ur−2.

Ein Beispiel für eine Codiersequenz ist:u = (1,1,0,1,0,0,...);a = (11,01,01,00,10,11,...).

Auf dieses Beispiel wird in diesem Kapitel noch des Öfteren verwiesen.

Page 246: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.246

5.1 Definition von Faltungscodes

Beispiel: (3,2,2)-Faltungscodierer

Die Parameter lauten:n = 3, k = 2, m = 2,RC = 2/3.

Die Codebits berechnen sich aus:ar,1 = ur,2 + ur−1,1 + ur−2,2;ar,2 = ur,1 + ur−1,1 + ur−1,2;ar,3 = ur,2.

Ein Beispiel für eine Codesequenz ist:u = (11,10,00,11,01,...);a = (111,110,010,111,001,...).

Page 247: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.247

5.1 Definition von Faltungscodes

Polynombeschreibung:Hier soll die Einschränkung k = 1 gelten. Dadurch ergeben sich enorme Vereinfachungen in der Beschreibung.Den Generatorkoeffizienten gk,v werden die Generatorpolynome

∑=

⋅=m

xgxg0

,)(μ

μνμν

zugeordnet. Die Informationsbitfolge wird durch eine Potenzreihe und die Codeblockfolge durch einen Potenzreihenvektor charakterisiert:

∑∞

==

0)(

r

rr xuxu

( ) ∑∞

===

0,21 )(mit)(,),(),()(

r

rrn xaxaxaxaxax ννKa

und

(5.5)

(5.6)

(5.7a/b)

Page 248: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.248

5.1 Definition von Faltungscodes

Die Faltungscodierung entspricht einer Polynom-Multiplikation gemäß:

⇔ a(x) = u(x) ⋅ G(x)

Für die Gedächtnislänge gilt:

nxgxuxa ,,1für)()()( K=⋅= ννν

( ) ( ))(,),(),()()(,),(),( 2121 xgxgxgxuxaxaxa nn KK ⋅=

( ))(,),(),()( 21 xgxgxgx nK=G

))((gradmax1

xgmn

νν ≤≤

=

mit der Generatormatrix:

Dann lautet die Definition der Faltungscodes mit der Polynom-Multiplikation:

⎭⎬⎫

⎩⎨⎧

∈=⋅= ∑∞

=0

}1,0{,)(|)()(r

rr

r uxuxuxGxuC

(5.8a)

(5.8b)

(5.8c)(5.9)

(5.10)

(5.11)

Page 249: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.249

5.1 Definition von Faltungscodes

Beispiel:

Dann ergibt sich die Codesequenz im Vektorformat durch Sortieren der Koeffizienten:

Für den (2,1,2)-Faltungscodierer auf Seite 245 gilt:G(x) = (g1(x),g2(x)) = (1 + x + x2, 1 + x2).

Das Codierbeispiel lässt sich darstellen als:u = (1,1,0,1,0,0,...) ⇔ u(x) = 1 + x + x3 + ...

und a(x) = (a1(x),a2(x)) = u(x) G(x)= ((1 + x + x3)(1 + x + x2),(1 + x + x3)(1 + x2))= (1 + x4 + x5,1 + x + x2 + x5)= (a0,1x0 + a1,1x1 + a2,1x2 + a3,1x3 + a4,1x4 + a5,1x5,

a0,2x0 + a1,2x1 + a2,2x2 + a3,2x3 + a4,2x4 + a5,2x5).

Ergebnis: a = (11,01,01,00,10,11).a = (a0,1a0,2, a1,1a1,2, a2,1a2,2, a3,1a3,2, a4,1a4,2, a5,1a5,2).

Page 250: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.250

5.2 Spezielle Codeklassen5 Faltungscodes

Systematische Faltungscodes:Die Informationsbits werden direkt in die Codebits übernommen.Blockschaltbild eines allgemeinen systematischen Faltungscodierers:

Nichtsystematische Faltungscodes haben in der Regel günstigere Eigenschaften.

Page 251: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.251

5.2 Spezielle Codeklassen

Terminierte Faltungscodes:Nach L Informationsblöcken werden m bekannte Blöcke (tail bits -üblicherweise Nullen) eingefügt. Dadurch wird das Codewort abgeschlossen (Terminierung) und das Gedächtnis auf den Nullzustand gesetzt. Dies entspricht einer Blockstruktur (Blockcode). Die Coderate ist dann:

Achtung: nicht die L zusammengefassten Blöcke für die Terminierung mit der Einflusslänge (s. S. 243) verwechseln!

nmLkLR

⋅+⋅

=)(terminiertC, (5.12)

Page 252: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.252

5.2 Spezielle Codeklassen

Punktierte Faltungscodes:Es werden P Codeblöcke (P heißt Punktierungslänge) zusammengefasst, wovon l Codebits gemäß einem Punktierungsschema (Punktierungsmatrix P) gestrichen werden. Dann ist die Coderate gegeben durch:

Es muss gelten: RC,punktiert < 1 ⇒ l < P ⋅ (n − k). lnP

kPR−⋅

⋅=punktiertC,

In der Regel werden sie bei Informationsblöcken der Länge k = 1 eingesetzt.Sie sind nur geringfügig weniger leistungsfähig als nicht punktierte Faltungscodes bei gleicher Coderate und k > 1. Der Decodierungsaufwand ändert sich gegenüber den nicht punktierten Faltungscodes kaum. Das Umschalten ist ohne großen Mehraufwand möglich.Von großer praktischer Bedeutung sind insbesondere die RCPC-Codes (rate compatible punctured convolutional codes). Deren Codefamilien sind derart aus einem Muttercode (unpunktierter Faltungscode) abgeleitet, dass die

höherratigen Codes in den niederratigen enthalten sind.

(5.13)

(5.14)

Page 253: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.253

5.2 Spezielle Codeklassen

Beispiel:Es ist l = 1.

⎟⎠⎞⎜

⎝⎛= 11

01P

Das Codebeispiel lautet:u = (1,1,0,1,0,0,...)a = (11,01,01,00,10,11,...) apunkt = (11,0x,01,0x,10,1x,...).

‚x‘ markiert die Stellen, die gelöscht wurden:apunkt = (11,0,01,0,10,1,...).

32

12212

punktiertC, =−⋅

⋅=RCoderate:

Es handelt sich hier NICHT um eineMatrizenmultiplikation!

Page 254: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.254

5.3 Darstellung von Faltungscodes5 Faltungscodes

Neben der Darstellung über die Schieberegisterschaltung oder über die Generatorpolynome und die Polynom-Multiplikation als Faltung sind die folgenden drei Darstellungsweisen geläufig:– Codebaum– Zustandsdiagramm– Netzdiagramm (Trellisdiagramm)

Codebaum:Der Code wird als Baum aufgespannt, wobei die Knoten den möglichen Gedächtniszuständen entsprechen. Von jedem Knoten gehen 2k Zweige ab, an denen die Informations- und entsprechenden Codebits angetragen sind.Der Nachteil dieser Darstellungsweise ist, dass mit jedem Codierschritt die Anzahl der Knoten exponentiell wächst.Die Anzahl möglicher Pfade ist nämlich: ( ) BlockBlock 22Pfade

NkNkN ⋅==mit NBlock gleich der Anzahl der verarbeiteten Blöcke und somit Tiefe des

Baumes.

(5.15)

Page 255: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.255

5.3 Darstellung von Faltungscodes

Beispiel: Codebaum für den (2,1,2)-Faltungscodierer (s. S. 245).Ein Pfad entspricht einer Informations- bzw. Codesequenz. Hier ist markiert: u = (1 1 0 1 ...), a = (11 01 01 00 ...).

Page 256: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.256

5.3 Darstellung von Faltungscodes

Zustandsdiagramm:Hierbei handelt es sich (im Gegensatz zu dem Codebaum) um eine wiederholungsfreie Beschreibung des Faltungscodes. Die zeitlicheInformation fehlt beim Zustandsdiagramm.Der Ausgangsblock ist dabei abhängig von dem Eingangsblock und dem Gedächtnisinhalt, während der neue Gedächtnisinhalt vom Eingangsblock und dem altem Gedächtnisinhalt abhängt.Hierbei ist die minimale Anzahl von Codierschritten ablesbar, um vom Zustand A zum Zustand B zu gelangen. Die Anzahl von Zuständen ist dabei:

( ) mkmkN ⋅== 22ZustandAn jedem Zustand existieren 2k Übergänge, so dass es insgesamt

NZustand · 2k = 2k·m · 2k = 2k·(m+1)

Übergänge gibt. Bei großen Parameterwerten kann diese Darstellung auchwieder unübersichtlich werden.

(5.17)

(5.16)

Page 257: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.257

5.3 Darstellung von Faltungscodes

Beispiel: (2,1,2)-Faltungscodierer(s. S. 245).

Die Parameter sind:n = 2, k = 1, m = 2,RC = 1/2.

Die verwendeten Notationen sind:

Gedächtnis-inhalt =Zustand

= ur−1 ur−2

Eingangsbits (Ausgangsbits)= ur (ar,1 ar,2)

Page 258: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.258

5.3 Darstellung von Faltungscodes

Beispiel: (3,2,2)-Faltungscodierer(s. S. 246).

Die Parameter sind:n = 3, k = 2, m = 2,RC = 2/3.

Dieses Beispiel zeigt dieProblematik bei ungünstigenParameterwerten. Zwar sind allePfeile angetragen, aber auf die Information über die Eingangs- undAusgangsbits wurde verzichtet.

Page 259: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.259

5.3 Darstellung von Faltungscodes

Netzdiagramm − Trellisdiagramm:Es entspricht einem Zustandsdiagrammmit zeitlicher Komponente und stelltdie Grundlage für die Decodierung dar.Eine Empfangssequenz kann nämlichblockweise mit allen möglichenPfaden verglichen werden und sodie wahrscheinlichste Codesequenzzu einem Empfangswort bestimmtwerden.

Beispiel:Trellis-Segment mit allen möglichenÜbergängen für den(2,1,2)-Faltungscodierer (s. S. 245).

Page 260: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.260

5.3 Darstellung von Faltungscodes

Beispiel:Trellis-Diagramm für den (2,1,2)-Faltungscodierer (s. S. 245) mit einem Codierungsbeispiel für die Terminierung.Das terminierte Codewort lautet: a = (11,01,01,00,10,11,00,00).

Terminierung

Page 261: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.261

5.4 Eigenschaften von Faltungscodes5 Faltungscodes

Linearität:Die Faltung ist eine lineare Operation. Somit ist der Faltungscode linear.

⎭⎬⎫

⎩⎨⎧

≠=⋅= ∑∞

=0Hf 0)(,)(|))()((min

i

ii xuxuxuxxuwd G

Minimale und freie Distanz:Entsprechend der Beurteilung von Blockcodes ist die minimale Distanz für Faltungscodes ungeeignet, weil Codewörter von Faltungscodes keine definierte Länge besitzen. Stattdessen wird eine sogenannte freie Distanz dfdefiniert. Sie soll die minimale Hamming-Distanz zwischen beliebigen Codefolgen bei unterschiedlichen Informationsfolgen darstellen:

df = min {dH(a1,a2)| u1 ≠ u2}Weil der Faltungscode ein linearer Code ist, reicht die Distanz zur Nullfolge für die Berechnung aus. Damit entspricht df dem minimalen Gewicht aller möglichen Codefolgen:

(5.18a)

(5.18b)

Page 262: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.262

5.4 Eigenschaften von Faltungscodes

Fundamentalweg, Distanzfunktion und Distanzprofil:Ein Pfad, der den Nullzustand verlässt und wieder auf den Nullzustand zurückkehrt, ohne diesen zwischenzeitlich zu berühren, heißt Fundamentalweg. Dabei existiert mindestens ein Pfad, der eine Codesequenz mit minimalem Gewicht bildet.Die Pfade können über das Trellis- oder das Zustandsdiagramm ermittelt werden. Für letzteres bietet sich das Auftrennen am Nullzustand an.Beispiel (s. nächste Seite): der kürzeste Pfad von 00 nach 00 ist:

00 → 10 → 01 → 00 ⇒ wH = 5.(11) (10) (11)

Zwei Pfade können für wH = 6 gefunden werden:

00 → 10 → 11 → 01 → 00 ⇒ wH = 6;

00 → 10 → 01 → 10 → 01 → 00 ⇒ wH = 6.

(11) (01) (01) (11)

(11) (10) (00) (10) (11)

Page 263: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.263

5.4 Eigenschaften von Faltungscodes

Am Nullzustand aufgetrenntes Zustandsdiagrammfür den (2,1,2)-Faltungscodierer (s. S. 245):Für das weitere Vorgehen werden zwei Parameter eingeführt.

Die Zustände werden durch den formalen Parameter Zibeschrieben.

Für die Beschreibung der Distanz wird der formale Parameter D eingeführt, dessen Potenz die Anzahl der von Null verschiedenen Stellen angibt.

Page 264: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.264

5.4 Eigenschaften von Faltungscodes

Mittels der eingeführten Parameter lässt sich folgendes Gleichungssystem aufstellen: Zb = D2Za + D0Zc; Zc = D1Zb + D1Zd;

Zd = D1Zb + D1Zd; Ze = D2Zc.Die Auflösung des Gleichungssystems liefert die Distanzfunktion:

Mit der Potenzreihenentwicklung

ist das Ergebnis:

DD

ZZDT

a

e21

)(5

−==

1für11

1 432 <+++++=−

xxxxxx

K

K+++++=−

⋅= 987655 16842211)( DDDDD

DDDT

Das Ergebnis zeigt den Pfad mit dem minimalen Gewicht 5, so dass die freie Distanz df = 5 ist. Weiterhin sind die beiden Pfade mit dem Gewicht 6 ablesbar (s. S. 262). Es gibt weitere 4 Pfade mit dem Gewicht 7, 8 Pfade mit

dem Gewicht 8, 16 Pfade mit dem Gewicht 9 usw.

(5.19)

Page 265: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.265

5.4 Eigenschaften von Faltungscodes

Die Mindestdistanz dmin ist von der Anzahl der Codierschritte i abhängig. Betrachtet man dmin als Funktion von i, erhält man das Distanzprofil eines Faltungscodes. Interessant ist dabei die Aussage, wie viele Codierschritte notwendig sind, damit ein Codewort die freie Distanz auf alle Fälle erreicht.

Beispiel: (2,1,2)-Faltungscode (s. S. 245)Nach höchstens i = 6 Schritten ist die freie Distanz erreicht (vgl. Fundamental-weg mit dem geringsten Gewicht, wo nur drei Schritte die freie Distanz bilden; S. 262).

Page 266: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.266

5.4 Eigenschaften von Faltungscodes

Optimaler Faltungscode:Ein Code mit maximaler freier Distanz bei vorgegebener Coderate und Gedächtnislänge ist ein optimaler Code.

m df g1(x) g2(x) g3(x)2 5 1 + x + x2 1 + x2

3 6 1 + x + x3 1 + x + x2 + x3

4 7 1 + x3 + x4 1 + x + x2 + x4

5 8 1 + x2 + x4 + x5 1 + x + x2 + x3 + x5

6 10 1 + x2 + x3 + x5 + x6 1 + x + x2 + x3 + x6

2 8 1 + x + x2 1 + x2 1 + x + x2

3 10 1 + x + x3 1 + x + x2 + x3 1 + x2 + x3

4 12 1 + x2 + x4 1 + x + x3 + x4 1 + x + x2 + x3 + x4

5 13 1 + x2 + x4 + x5 1 + x + x2 + x3 + x5 1 + x3 + x4 + x5

6 15 1 + x2 + x3 + x5 + x6 1 + x + x4 + x6 1 + x + x2 + x3 + x4 + x6

Tabelle optimaler Faltungscodes:

Page 267: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.267

5.4 Eigenschaften von Faltungscodes

Katastrophaler Codierer:Wenn eine endliche Anzahl an Übertragungsfehlern eine unendliche Anzahl an Decodierfehlern zur Folge hat, spricht man von katastrophalerFehlerfortpflanzung. Dies passiert, wenn sich zwei Ausgangsfolgen eines Coders nur in wenigen Bits unterscheiden, obwohl die Eingangsfolgen ganz unterschiedlich sind. So können wenige Übertragungsfehler in diesen Stellen zu einer Verfälschung des einen Codeworts in das andere führen.

Für den Fall k = 1 lässt sich ein katastrophaler Codierer vermeiden, wenn die Generatorpolynome keinen gemeinsamen Teiler besitzen (vgl. Beispiel):

ggT(g1(x), g2(x), ... , gn(x)) = 1.

Dies ist immer dann möglich, wenn mindestens zwei Gedächtniszustände existieren, die bei jeweils gleichbleibender Information nicht verlassen werden und dabei identische Codefolgen erzeugen. Dies ist gleichzeitig ein Kriterium zum Erkennen eines katastrophalen Codierers und leicht aus einem Zustandsdiagramm ablesbar (s. Beispiel nächste Seite).

(5.20)

Page 268: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.268

5.4 Eigenschaften von Faltungscodes

Beispiel:

Aus den Generatorpolynomen lässt sich dieselbeAussage ableiten, da g1(x) ein Teiler von g2(x) ist:

Die beiden Zustände (00)und (11) werden bei gleich-bleibender Information nicht verlassen und erzeugen die gleichen Codesequenzen. Damit handelt es sich um einen katastrophalen Codierer.

g1(x) = 1 + x;g2(x) = 1 + x2 = (1 + x) ⋅ (1 + x).

Page 269: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.269

5.5 Decodierung mit dem Viterbi-Algorithmus5 Faltungscodes

Die Viterbi-Decodierung ist ein aufwandsgünstiges Verfahren, mit dem technisch Gedächtnistiefen bis m ≈ 10 realisierbar sind. Sie bietet eine Maximum-Likelihood-Decodierung und ist somit optimal.Für die Herleitung des Verfahrens soll eine terminierte Codefolge a der Länge N und eine Empfangsfolge r bekannt sein. Das Ziel des Decodierers besteht dann darin, eine Codefolge zu schätzen, die mit der Sendefolge amöglichst übereinstimmt, d. h. die Likelihood-Funktion p(r|a) maximiert:

a

Alternativ wird nach dem Maximum der Log-Likelihood-Funktion log p(r|a) gesucht, so dass für den gedächtnislosen Kanal die Übergangswahr-scheinlichkeit p(r|a) durch eine Summe der Übergangswahrscheinlichkeiten der einzelnen Symbole p(ri|ai) ersetzt werden kann:

∑−

==

1

0)|(log)|(log

N

iii arpp ar

∏−

==

1

0)|()|(

N

iii arpp ar (5.21)

(5.22)

Page 270: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.270

5.5 Decodierung mit dem Viterbi-Algorithmus

Damit entspricht die Maximum-Likelihood-Detektion der Maximierung einer Metrik mit der allgemeinen Form:

( ) ∑∑

=

=

=

=+⋅=

+⋅=

1

0

1

0

1

0

)|()|(log

)|(log)|(

N

iii

N

iiii

N

iii

ararp

arpM

μβα

βαar

mit dem Metrik-Inkrement .)|( ii arμ

⎩⎨⎧

−=+=−=

⎩⎨⎧

≠=−=

1für1für1

fürfür1)|(

errerr

errerr

iiii

iiii

ii

raprap

rapraparp

{ } { }1,1, 21 +−=∈ xxai { } { }1,1, 21 +−=∈ yyriBeispiel: Mit undgilt für den symmetrischen Binärkanal:

(5.23)

(5.24)

Page 271: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.271

5.5 Decodierung mit dem Viterbi-Algorithmus

Wählt man für die freien Parameter α und βi die Werte

so lautet das Metrik-Inkrement einfach:

errerr

err log1und1log/2 pp

pi αβα −−=

−=

iiiiii

ii rararaar =

⎭⎬⎫

⎩⎨⎧

−=−+=+= 1für1

1für1)|(μ

ist äquivalent zu einer Minimierung der Hamming-Distanz oder einer Maximierung der Anzahl der Übereinstimmungen.Dies ist aber nur eine mögliche Vorgehensweise. Andere Definitionen von Metren sind möglich.

iiii raar =)|(μ

Die Maximierung der Viterbi-Metrik

(5.25a/b)

(5.26b)

(5.26a)

Page 272: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.272

5.5 Decodierung mit dem Viterbi-Algorithmus

Viterbi-Algorithmus:Die Decodierung geschieht mit Hilfe des Trellis-Diagramms. Ziel ist es, alle möglichen Codefolgen mit der Empfangsfolge zu vergleichen. Bei diesem Algorithmus geschieht dies über die Berechnung der Viterbi-Metrik.

Vorgehen: Am Anfangszustand wird die Metrik auf 0 gesetzt. Dann wird in jedem Schritt jedem der über die Pfadstücke erreichten Zustände eine Metrik z zugeordnet, die sich aus der Addition der Metrik des vorhergehenden Zustands und einem Metrik-Inkrement berechnet.Von allen 2k ankommenden Pfaden an einem Zustand wird nur der Pfad beibehalten, der die größte Metrik aufweist. Alle anderen 2k − 1 Pfade werden verworfen, da sie nie eine größere Metrik erzielen können. Sind mehrere Pfade mit gleicher Metrik vorhanden, muss eine Zufallsauswahl erfolgen. Das Decodierergebnis am Ende ist der Pfad mit der größten Metrik.

Page 273: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.273

5.5 Decodierung mit dem Viterbi-Algorithmus

Während der Decodierung muss eine bestimmte Anzahl an Pfaden gespeichert werden. Da die Anzahl der zu speichernden Pfade sehr großwerden kann (bevor nur einer übrig bleibt; siehe folgendes Beispiel), beschränkt man die Länge der zu speichernden Pfade auf 5 ⋅ k ⋅ m. Diese Beschränkung stellt einen Erfahrungswert dar. Der Speicherplatzbedarf ist dabei ungefähr das Produkt aus der Anzahl der Zustände und der Pfadlänge (2k ⋅ m ⋅ 5 ⋅ k ⋅ m bit).

Die Regel für das Metrik-Inkrement ist im Grunde frei wählbar. Bei der Hard-Decision-Decodierung wird normalerweise Gl. (5.26b) verwendet oder einfach die Anzahl der Übereinstimmungen zwischen der Codesequenz eines Pfadstücks und dem zugehörigen Empfangsblock gewählt. Bei der Soft-Decision-Decodierung kann z. B. der Abstand eines Empfangswerts zu den Codesymbolen gewählt werden, wobei diese Methode zuverlässiger ist als die Hard-Decision-Decodierung (vgl. S. 241). Dabei ist vorteilhaft, dass die Wahrscheinlichkeit für gleiche Metren an einem Zustand geringer ist.

Page 274: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.274

5.5 Decodierung mit dem Viterbi-Algorithmus

Beispiel: (2,1,2)-Faltungscode (s. S. 245)

Die einzelnen Decodierschritte der insgesamt 9 bekannten Sequenzen werden im Folgenden ausführlich dargestellt. In Lila werden die Pfade mit der größten Metrik hervorgehoben.

Der Informationsvektor seiu = (1,1,0,1,0,0,0,1,0,...).

Daraus ergibt sich ein Codefolgevektora = (11,01,01,00,10,11,00,11,10,...).

Bei der Übertragung tritt der Fehlervektorf = (00,10,00,00,01,00,00,00,00,...)

auf, so dass der Empfangsvektor lautet:r = (11,11,01,00,11,11,00,11,10,...).

Der Empfangsvektor soll mit dem Viterbi-Algorithmus decodiert werden. Dabei soll eine Hard-Decision-Decodierung vorgenommen und als Metrik die Summe der Übereinstimmungen verwendet werden.

Page 275: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.275

5.5 Decodierung mit dem Viterbi-Algorithmus

1. Schritt:

Am Anfang ist die Metrik 0 und erhöht sich pro Schritt mit der Anzahl der Übereinstimmungen der Empfangsfolge mit den möglichen Codesequenzen.

Page 276: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.276

5.5 Decodierung mit dem Viterbi-Algorithmus

2. Schritt:

Nach m = 2 Schritten sind alle Zustände erreicht. Mit dem nächsten Schritt wird jeder Zustand über mehr als einen Pfad erreicht (s. nächste Seite).

Page 277: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.277

5.5 Decodierung mit dem Viterbi-Algorithmus

3. Schritt:

Pro ankommendem Pfad gibt es eine Metrik, wobei die obere Metrik zum oberen Pfad und die untere Metrik zum unteren Pfad gehört. Jeweils der

Pfad mit der geringeren Metrik kann gelöscht werden.

Page 278: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.278

5.5 Decodierung mit dem Viterbi-Algorithmus

4. Schritt:

Durch das Löschen der Pfade wird die Darstellung übersichtlicher. In diesem Schritt haben die unteren beiden Zustände jeweils dieselben Metren,

so dass per Zufall jeweils ein Pfad gelöscht wird (vgl. nächste Seite).

Page 279: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.279

5.5 Decodierung mit dem Viterbi-Algorithmus

5. Schritt:

Die bisherigen Pfadauslöschungen führen dazu, dass nur ein einziger Übergang vom 0. Zustand in den 1. Zustand übrig bleibt, d. h. am

wahrscheinlichsten ist. Diese eine Sequenz ist somit schon decodiert. →

Page 280: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.280

5.5 Decodierung mit dem Viterbi-Algorithmus

6. Schritt:

Praktisch kann die Codefolge (11) bzw. die zugehörige Informationsfolge (1) vom Decodierer ausgegeben werden und die Darstellung um einen

Zustand weiterrücken. In diesem Beispiel wird sie noch beibehalten.

Page 281: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.281

5.5 Decodierung mit dem Viterbi-Algorithmus

7. Schritt:

Aus der maximalen Metrik ist ersichtlich, wie viele Fehler bisher minimal aufgetreten sein müssen (hier jetzt maximal 14 Übereinstimmungen möglich,

12 maximal vorhanden, somit minimal 2 Fehler; vgl. Fehlervektor).

Page 282: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.282

5.5 Decodierung mit dem Viterbi-Algorithmus

8. Schritt:

Im Falle eines terminierten Codes würde die Anzahl der Zustände zum Ende hin wieder geringer werden (Endbereich), bis nach dem letzten Schritt nur

noch der Anfangszustand übrig bleibt (vgl. S. 260).

Page 283: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.283

5.5 Decodierung mit dem Viterbi-Algorithmus

9. Schritt:

Das Ende der bekannten Sequenz ist erreicht. Bis zum 4. Zustand kann das Ergebnis ausgegeben werden, bis zum letzten nur, wenn die Empfangsfolge

zu Ende wäre. Praktisch geht sie aber weiter!

Page 284: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.284

6 Spezielle CodierungstechnikenCodierungstheorie

Im Laufe der Vorlesung wurden im Bereich der Kanalcodierung Grundlagen und grundlegende Codes vertieft behandelt. In der Praxis sind diese auch weit verbreitet, allerdings oft in Form komplizierter Konstrukte. Dazu zählen vor allem verkettete Codes mit Interleavern, dessen Prinzipien hier kurz vorgestellt werden sollen.

Diese „Grundlagencodes“ sind natürlich nicht die einzigen Codes, die in den letzten 40 Jahren entwickelt wurden. Seit Beginn der 1990er Jahre werden in erster Linie zwei Codes erforscht, die in der Lage sind, mit ihrer Korrekturfähigkeit sehr nahe an die Shannon-Grenze zu kommen (weniger als 1 dB). Das sind zum einen die Turbo-Codes, die praktisch aus Experimenten hergeleitet wurden, und zum anderen die Low-Density-Parity-Check-Codes (LDPC-Codes), die bereits in den 1960ern aufgetaucht sind, wegen ihrer Komplexität für den damaligen technischen Stand aber bis zu Beginn der 1990er nicht weiter beachtet wurden. Das Prinzip dieser beiden Codes soll kurz angerissen werden.

Page 285: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.285

6 Spezielle Codierungstechniken

Verkettung von Codes:Bei der Codeverkettung werden 2 oder mehrere Codes in Reihe geschaltet (s. Abbildung nächste Seite). Die Motivation für diese Konstruktion besteht in der Ausnutzung unterschiedlicher komplementärer Codeeigenschaften,z. B. zur Fehlerkorrektur und Fehlererkennung oder zur Einzel- und Bündelfehlerkorrektur.

Ein klassisches Beispiel besteht darin, dass der innere Code Einzelfehler korrigiert, während der äußere Code Bündelfehler korrigiert. Ein Verfahren dieser Art wird z. B. in europäischen Mobilfunksystemen wie GSM eingesetzt. Durch Verkettung lassen sich sehr leistungsfähige Codes konstruieren. In vielen Anwendungsbeispielen ist der innere Code durch einen Faltungscode für die Einzelfehlerkorrektur und der äußere Code durch einen Reed-Solomon-Code für die Bündelfehlerkorrektur realisiert.

Page 286: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.286

6 Spezielle Codierungstechniken

Prinzip verketteter Codes:

Das Prinzip des Interleavers wird auf den folgenden Seiten beschrieben.

Page 287: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.287

6 Spezielle Codierungstechniken

Interleaving: Auf einem Übertragungskanal können Bündelfehler auftreten, die die Korrekturfähigkeit des verwendeten Kanalcodes übersteigen. Der Interleaver hat die Aufgabe, die zu sendende Codewortreihenfolge umzusortieren, so dass am Empfänger nach dem Deinterleaver aus einem Bündelfehler mehrere Quasi-Einzelfehler werden, die dann auf mehrere Codewörter verteilt sind und korrigiert werden können.Das Beispiel (s. nächste Seite) veranschaulicht das Verfahren als Matrix, in der die Codewörter zeilenweise angeordnet, jedoch spaltenweise übertragen werden. Der in der 4. Spalte aufgetretene Bündelfehler verteilt sich somit als Einzelfehler auf mehrere Codewörter.Der Nachteil des Interleavers besteht darin, dass durch die Zwischenspeicherung der Codewörter eine weitere Zeitverzögerung entsteht, die mit der Größe des Interleavers wächst. Am problematischsten ist das bei zeitkritischen Systemen wie der Sprachübertragung.

Page 288: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.288

6 Spezielle Codierungstechniken

Block-Interleaver:

Page 289: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.289

6 Spezielle Codierungstechniken

Codierung der Signalisierungsinformation bei GSM (BCCH-Kanal):Der äußere Codierer besteht aus einem (224,184)-Blockcode, an den 4 Tailbits für die terminierte (2,1,4)-Faltungscodierung (innerer Codierer) angehängt werden. Die Tailbits werden vom Faltungscode als Information

interpretiert; deshalb eine Coderate von 1/2. Die 456 Bits werden nach Interleaving in Bursts

zerschnitten und übertragen.

Signalisierungsinformation 184 Bits

Signalisierungsinformation184 Bits

184 Bits 40 Bits 4

• • • 456 Bits • • •

TDMA-Rahmen: 4,6 ms

normale Bursts

• Interleaving• Burst-Bildung

Faltungscode zur Fehlerkorrektur: Rate 1/2

insgesamt: 228 Bits

Blockcode + 4 Tailbits

Page 290: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.290

6 Spezielle Codierungstechniken

Turbo-Codes:Die erste Veröffentlichung erschien 1993 von den beiden französischen Elektrotechnik-Ingenieuren Claude Berrou und Alain Glavieux. Die ursprüngliche Idee, die zu den Turbo-Codes führte, war die Einsetzung der in der Elektrotechnik geläufigen Rückkopplung von Signalen (z. B. bei Verstärkern). Turbo-Codes zeichnen sich durch ihre Fehlerkorrektureigenschaft aus, die nahe der Shannon-Grenze liegt (ungefähr 0,5 – 0,7 dB).Die Turbo-Codes wurden experimentell und nicht über mathematisch-theoretische Ansätze entwickelt, so dass ihre Leistungsfähigkeit jahrelang kritisch überprüft wurde, bevor sie für den Einsatz in neueren Systemen Berücksichtigung fanden. Heute sind sie z. B. Bestandteil von UMTS bei der Datenübertragung. Für die Sprachübertragung sind Turbo-Codes aber aufgrund der Verzögerungszeit nicht anwendbar. Dort wird auf Faltungscodes zurückgegriffen. In der Raumfahrtkommunikation dagegen

werden sie neuerdings eingesetzt.

Page 291: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.291

6 Spezielle Codierungstechniken

Prinzip der Codierung bei Turbo-Codes:

Die Informationsbits werden dreifach über den Kanal übertragen: einmal ohne Fehlerschutz (i) und zweimal mit dem Fehlerschutz eines Faltungscodes (c1 und c2), wobei einer der Codierblöcke eine durch einen Interleaver zerwürfelte Informationssequenz als Eingang erhält. Der Multiplexer fügt dann die drei Signale zu einem zusammen.

Faltungscode 1

Faltungscode 2Interleaver

Multiplexer

Informationssymbole

Ausgangssignali

c1

c2

Page 292: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.292

6 Spezielle Codierungstechniken

Prinzip der Decodierung bei Turbo-Codes:

Das Empfangssignal, bestehend aus den drei gesendeten Anteilen, wird aufgespalten und an die Decodierblöcke weitergeleitet, wobei sie ihre zu decodierenden Signale als Soft-Decision-Information sowie eine Kopie des uncodierten Signals erhalten. Daraus werden Vorschläge für die richtig decodierten Bits abgeleitet, die über die Signale e1 und e2 an den jeweils anderen Block weitergegeben werden. Erst wenn beide Blöcke mit ihren Vorschlägen übereinstimmen (iteratives Verfahren), ist die Decodierung am Ende angelangt. Die Anzahl der Iterationsschritte liegt erfahrungsgemäß

zwischen 4 und 10.

Decoder 1 Decoder 2Deinterleaver

EmpfangssignalDeinterleaver

Interleaver

s, c1, c2

s, c2

s, c1

e2

e1

Page 293: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.293

6 Spezielle Codierungstechniken

Low-Densitiy-Parity-Check-Codes (LDPC-Codes):1960 veröffentlichte Robert G. Gallager im Rahmen seiner Doktorarbeit die Idee der LDPC-Codes. Aufgrund ihrer Komplexität (u. a. war die iterative Decodierung damals nur mit Großrechnern möglich) wurden sie für praktische Anwendungen lange Zeit nicht beachtet. Die kommerzielle Implementierung von entsprechend hoch integrierten Coderschaltungen für leistungsfähige Codes ist erst seit wenigen Jahren technologisch möglich.1995 wurden die LDPC-Codes von MacKay und Neal wiederentdeckt. Bei einer Coderate von 0,5 und einer Blocklänge von 10.000.000 nähert sich der Code bis auf 0,04 dB an die Shannon-Grenze an. Dieses eher akademisch zu sehende Beispiel zeigt zumindest das Potential der LDPC-Codes. Das Auffinden von geeigneten Konstruktionsmethoden für leistungsfähige Codes (speziell kurzer Blocklängen) ist daher zurzeit ein großes Forschungsthema. Dennoch werden diese Codes bereits praktisch eingebunden. Im ETSI-Standard für DVB-S2 wird zum Beispiel eine Verkettung der LDPC-Codes

mit einem BCH-Code zur Kanalcodierung verwendet.

Page 294: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.294

6 Spezielle Codierungstechniken

Datenrate und Shannon-Grenze beim digitalen Satellitenfernsehen: Varianten von DVB-S2

0,00

0,50

1,00

1,50

2,00

2,50

3,00

3,50

4,00

4,50

-3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

R u[bi

t/s] p

er u

nit R

s

QPSK

8PSK

16APSK

32APSK

DVB-S

modulation constrained Shannon limit

18 dB

4.5

0.5

Page 295: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.295

6 Spezielle Codierungstechniken

Definition der LDPC-Codes über einem beliebigen Alphabet A:Ein LDPC-Code ist ein linearer Blockcode der Blocklänge n, dessen Prüfmatrix H die folgenden Eigenschaften besitzt:1. Die Prüfmatrix H ist dünnbesetzt, d. h. ein großer Teil der Elemente hml

hat den Wert 0.2. Jede Spalte l der Matrix H besitzt eine kleine Anzahl von Nl Symbolen

aus A mit Nl > 1.3. Jede Zeile m der Matrix H besitzt eine kleine Anzahl von Nm Symbolen

aus A mit Nm > 1.Von besonderem praktischen Interesse sind LDPC-Codes über A = GFGF(2b).Da LDPC-Codes zu der Klasse linearer Blockcodes gehören, besitzen sie auch alle ihre Eigenschaften. Dazu zählt die Darstellung über eine Generatormatrix, die Codierung über eine Matrix-Vektor-Multiplikation, die Umwandlungsmöglichkeit von nicht-systematischen in systematische LDPC-Codes, die Bestimmung der Minimaldistanz über das minimale

Hamming-Gewicht usw. (s. Kapitel 3).

Page 296: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.296

6 Spezielle Codierungstechniken

Die Abbildung zeigt die dünnbesetzte (900×1200)-Prüfmatrix eines binären LDPC-Codes mit 3600 Einsen. Die (300×1200)-Generatormatrix des äquivalenten systematischen LDPC-Codes besitzt dagegen 135.000 Einsen!

Prüfmatrix;3600 Einsen

Generatormatrix;135.000 Einsen

Page 297: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.297

6 Spezielle Codierungstechniken

Obwohl ein Codewort über die Beziehung c = u⋅G berechnet werden kann, wird dies praktisch nicht gern eingesetzt. Im Gegensatz zur Prüfmatrix ist die Generatormatrix bei LDPC-Codes im Allgemeinen nicht dünnbesetzt, was die Codierung nach diesem Verfahren aufwendig macht, da LDPC-Codes zurzeit erst für große Blocklängen ihre Stärken zeigen. Für die Implementierung werden daher meist spezielle LDPC-Codes (z. B. zyklische Codes mit linearem Codierungsaufwand) verwendet.Was für die Codierung schon nicht einfach ist, ist es erst recht nicht für die Decodierung. Eine Maximum-Likelihood-Decodierung ist aufgrund ihrer exponentiellen Aufwandsabhängigkeit von der Blocklänge n nicht umsetzbar. Eine Reihe von suboptimalen Verfahren existiert bereits, wobei die iterativen Verfahren die beste Performance bieten. Ihrer Implementierung sind aufgrund der Komplexität aber Grenzen gesetzt.Zusammenfassend stellen die LDPC-Codes die größte Konkurrenz zu den Turbo-Codes dar. Allerdings zeigen sie ebenfalls die Probleme bezüglich

der Zeitverzögerung aufgrund ihrer Komplexität.

Page 298: Codierungstheorie WS0809 v1 - uni.paniladen.deuni.paniladen.de/Mobilefunksysteme/david/Codierungstheorie/script/script_de.pdf · Hamming Abrahamson Die grau unterlegten Codes werden

Prof. Dr.-Ing. Thomas Kürner · Institut für Nachrichtentechnik · Technische Universität Braunschweig Codierungstheorie WS 2008/2009

S.298

... also bleibt nur noch zu sagen:Ende der Vorlesung...

Viel Erfolg bei der Klausur!