Grundlagen der Nachrichtentechnik 4

Ähnliche Dokumente
Nachrichtentechnik 4 3 Kanalcodierung in der Nachrichtenübertragung

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

Klausur Informationstheorie und Codierung

Einführung in die Codierungstheorie

Einführung in die Codierungstheorie

Technische Informatik - Eine Einführung

Kapitel 13: Syndromcodierung / Hamming Codes

Beispiel: Zeigen Sie, dass H(x) = H 0 = I gilt, wenn alle Zeichen gleichwahrscheinlich sind.

i Der Informatinonsgehalt ist also intuitiv umgekehrt proportional der Auftritswahrscheimlichkeit.

Übungsaufgaben zur Vorlesung Quellencodierung

Kapitel 7: Optimalcodierung und Huffman Coding

Einführung in die Kodierungstheorie

Informationstheorie und Codierung

Grundlagen der Informationstheorie. Hanna Rademaker und Fynn Feldpausch

Rechnernetze Übung 5. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai Wo sind wir?

Vorlesung Theoretische Grundlagen

Aufgabe 7.1 Bei einer digitalen Übertragung liege folgendes Modell vor:

Vorlesung Theoretische Grundlagen Fehlerkorrigierende Codes Jörn Müller-Quade 29. Januar 2013

Gegeben ist ein systematischer (7,3)-Cod. Die drei seiner Codewörter lauten:

P (x i ) log 2 = P (x. i ) i=1. I(x i ) 2 = log 1. bit H max (X) = log 2 MX = log 2 2 = 1. Symbol folgt für die Redundanz. 0.9 = 0.

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

7. Woche Extra-Material: - Beispiele von Codes. 7. Woche: Beispiele von Codes 144/ 238

Fehlerschutz durch Hamming-Codierung

(Prüfungs-)Aufgaben zur Codierungstheorie

1 Grundlagen. 1.1 Erste Grundbegriffe 1.2 Kryptographische Systeme 1.3 Informationstheoretische Grundlagen

6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke. 6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238

ChaosSeminar - Informationstheorie

Übung zur Vorlesung. Informationstheorie und Codierung

TGI-Übung Dirk Achenbach

Formelsammlung Kanalcodierung

Dirk W. Hoffmann. Einführung. in die Informations. und Codierungstheorie. ^ Springer Vieweg

Kapitel 9: Informationstheorie. 2. Entropie

Fachprüfung. Nachrichtencodierung

Codierungstheorie Teil 1: Fehlererkennung und -behebung

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Gruppe. Kanalcodierung

3. Woche Information, Entropie. 3. Woche: Information, Entropie 45/ 238

Die Mathematik in der CD

Information und Codierung

Kapitel 11: Binäre Kanäle

Grundlagen der Technischen Informatik. 3. Übung

Klausur zur Vorlesung Informationstheorie

Algebraische Codierungstheorie

Redundanz. Technische Informationsquelle Entropie und Redundanz Huffman Codierung. Martin Werner WS 09/10. Martin Werner, Dezember 09 1

Modul Diskrete Mathematik WiSe 2011/12

Klausur zur Vorlesung Informationstheorie

Die Größe A(n, d) und optimale Codes

A1.1: Zur Kennzeichnung aller Bücher

Musterlösung zur Aufgabe A1.1

Entropie. Um der Begriff der Entropie zu erläutern brauchen wir erst mal einige Definitionen, z.b.

zu Aufgabe 26: a) A 3 A 2 A 4 A 1 A 5 A 0 A 6

Grundbegrie der Codierungstheorie

Codes on Graphs: Normal Realizations

Theoretische Grundlagen der Informatik

Modul 1: Einführung und Wahrscheinlichkeitsrechnung

Optimalcodierung. Thema: Optimalcodierung. Ziele

4.0.2 Beispiel (Einfacher Wiederholungscode). Im einfachsten Fall wird die Nachricht einfach wiederholt. D.h. man verwendet die Generatorabbildung

Fehlerdetektion. Cyclic Redanduncy Check. Grundlagen der Rechnernetze Übertragungssicherung 7

Erinnerung: Der Vektorraum F n 2

Diskrete Mathematik II

Fachprüfung. Nachrichtencodierung

Erzeugendensystem und Basis

Wir erinnern uns: Um eine Zufallsvariable mit N verschiedenen, gleichwahrscheinlichen Zuständen binär zu codieren, benötigen wir

Kanalkodierung. 6 Kanalkodierung Zielstellung. Störungen der übertragenen Daten. 6 Kanalkodierung Zielstellung WS 2018/2019

Grundlagen der Technischen Informatik. 2. Übung

16 - Kompressionsverfahren für Texte

Fehlerkorrektur. Gliederung Kanalstörungen Einfache Verfahren Hamming-Abstand Technische Schaltungen Binäre Arithmetik Matrizenrechnung Typische Codes

Index. Chien-Suche, 220 CIRC, 234 Code, 2, 9 äquidistanter, 81

Ι. Einführung in die Codierungstheorie

Labor für Kommunikationssysteme

Theoretische Grundlagen der Informatik. Vorlesung am 31. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Fachprüfung. Nachrichtencodierung

Kolmogoroffkomplexität Teil 3 Informationstheorie und Kodierung. Torsten Steinbrecher

Proseminar Datenkompression Suchstrategien und Präfixcodes

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Einleitung. Kapitel 1

Übungsblatt 5 - Musterlösung

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Endliche Körper und Codierung SS Übungsblatt. 9. Bestimmen Sie alle primitiven Elemente (Erzeuger der multiplikativen Gruppe) von

Error detection and correction

Informationstheorie und Codierung Schriftliche Prüfung am 8. Mai 2006

Informations- und Kodierungstheorie

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

Begriffe aus der Informatik Nachrichten

Übungsblatt Nr. 7. Lösungsvorschlag

Signale und Codes Vorlesung 6

Informationsgehalt einer Nachricht

Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid, Hanna Schneider

Informationstheorie und Codierung

Codes on Graphs: Normal Realizations

Informations- und Codierungstheorie (Informationstheorie) Vorlesungsunterlagen

Hamming-Geometrie der Bitvektoren

Definition Information I(p)

Transkript:

Grundlagen der Prof. Dr.-Ing. Andreas Czylwik S. Organisatorisches Vorlesung 2 SWS Übung SWS, Betreuer: Dipl.-Ing. Lars Häring Folienkopien sind verfügbar Prüfung: schriftlich Neue Forschungsthemen im Nachrichtentechnische Systeme Studien- und Diplomarbeiten S. 2

Literatur Literatur zur Vorlesung: B. Friedrichs: Kanalcodierung, Springer-Verlag H. Schneider-Obermann: Kanalcodierung, Vieweg-Verlag H. Rohling: Einführung in die Informations- und Codierungstheorie, Teubner-Verlag Blahut: Theory and practice of error control codes, Addison- Wesley M. Bossert: Channel coding for telecommunications, John Wiley M. Bossert: Kanalcodierung, Teubner-Verlag J. H. van Lint: Introduction to coding theory S. 3 Literatur Literatur zur digitalen Übertragung: S. Benedetto, E. Biglieri, V. Castellani: Digital transmission theory, Prentice-Hall J.G. Proakis: Digital communications, McGraw-Hill S. Haykin: Communication systems, John Wiley S. 4 2

Inhalt. Einführung 2. Grundlagen der Informationstheorie 3. Kanalcodierung in der Nachrichtenübertragung 4. Algebraische Grundbegriffe für Codes 5. Blockcodes 6. Faltungscodes 7. Codierungstechniken 8. Ausblick S. 5 Einführung Blockschaltbild eines Systems zur digitalen Nachrichtenübertragung Signalquelle Quellencodierer Kanalcodierer Modulator Digitale Quelle Digitale Senke Signalsenke Kanaldecodierer Quellendecodierer Übertragungskanal Demodulator Störung Diskreter Kanal S. 6 3

Einführung Quellencodierung (source coding): Kompression der Nachricht auf eine minimale Anzahl von Symbolen ohne Informationsverlust (Reduktion von Redundanz) weitergehende Kompression, wobei toleriert wird, dass Information verloren geht (z. B. bei Bild- und Tonübertragung) Codierung zur Verschlüsselung (Kryptologie) Schutz vor unberechtigtem Abhören Entschlüsselung nur mit Kenntnis eines Code-Schlüssels S. 7 Einführung Kanalcodierung (error control coding): kontrolliertes Hinzufügen von Redundanz zum Schutz gegen Übertragungsfehler Kanalcodierung zur Fehlerkorrektur (FEC forward error correction) vereinfachtes Modell: Kanal Datenquelle Kanalcodierer Kanaldecodierer Datensenke Kanalqualität bestimmt Restfehlerwahrscheinlichkeit nach Decodierung Datenrate unabhängig von Kanalqualität S. 8 4

Einführung Kanalcodierung zur Fehlerdetektion (CRC cyclic redundancy check, Einsatz für ARQ-Verfahren (automatic repeat request)) ARQ- Steuerung Kanal codierer Kanal Kanaldecodierer (Fehlererkennung) ARQ- Steuerung Rückkanal Fehlerinformation Rückkanal notwendig adaptives Einfügen von Redundanz (zusätzliche Redundanz nur im Fehlerfall Restfehlerwahrscheinlichkeit unabhängig von der Kanalqualität Datenrate abhängig von Kanalqualität S. 9 Einführung Anwendungen: sichere Datenübertragung über Wellenleiter und Funkkanäle (insbesondere Mobilfunkkanäle), sichere Datenspeicherung Begründer der Informationstheorie Claude E. Shannon: Durch Kanalcodierung kann die Fehlerwahrscheinlichkeit beliebig reduziert werden, wenn die Datenrate kleiner als die Kanalkapazität ist. (Shannon gibt keine Konstruktionsvorschrift an.) S. 5

Einführung Grundgedanke der Kanalcodierung: Einfügen von Redundanz Ziel: Fehlererkennung oder Fehlerkorrektur Zuordnung im Codierer am Beispiel einer Block-Codierung: Länge k Länge n Informationsvektor u Eingangsvektor: u = (u,..., u k ) Ausgangsvektor: x = (x,..., x n ) k Coderate: R C = n Codewort-Vektor x S. (.) Einführung Codewürfel mit n = 3, k = 3 uncodierte Übertragung: R C = kleinstmögliche Distanz zu anderem Codewort: d min = keine Fehlererkennung und keine Fehlerkorrektur möglich S. 2 6

Einführung Codewürfel mit n = 3, k = 2 codierte Übertragung: R C = 2/3 kleinstmögliche Distanz zu anderem Codewort: d min = 2 Erkennung eines Fehlers möglich, keine Fehlerkorrektur möglich S. 3 Einführung Codewürfel mit n = 3, k = codierte Übertragung: R C = /3 kleinstmögliche Distanz zu anderem Codewort: d min = 3 Erkennung von zwei Fehlern und Korrektur eines Fehlers möglich S. 4 7

Informationtheorie: mathematische Beschreibung der Übertragung von Nachrichten zentrale Fragestellungen: quantitative Berechnung des Informationsgehalts von Nachrichten Bestimmung der Übertragungskapazität von Übertragungskanälen Analyse und Optimierung von Quellen- und Kanalcodierung S. 5 Nachricht aus der Sicht der Informationstheorie irrelevant relevant Fehlinformation redundant nicht redundant S. 6 8

Informationsgehalt einer Nachricht, Entropie qualitative Einordung von Nachrichten: Bedeutung umso größer, je weniger die Nachricht vorhersagbar ist Beispiel: Bedeutung Morgen geht die Sonne auf. Morgen gibt es schlechtes Wetter. Morgen gibt es ein starkes Unwetter, bei dem der Strom ausfallen wird. Nachrichten einer digitalen Quelle: Folge von Zeichen Wahrscheinlichkeit S. 7 Entscheidungsgehalt H einer Quelle: Anzahl der für die Auswahl der Nachricht benötigten Binärentscheidungen Zeichenvorrat: N Zeichen H = ld(n) bit/zeichen (2.) mit ld(x) = logarithmus dualis Einheit: bit = binary digit Entscheidungsgehalt H berücksichtigt nicht die Auftrittswahrscheinlichkeit S. 8 9

Beispiel: deutschsprachiger Text als Quelle 26 2 Buchstaben, 3 2 Umlaute, ß, 2 Sonderzeichen einschließlich Leerzeichen ()-.,;:!? insgesamt 7 alphanumerischen Zeichen H = ld(7) = ln(7) / ln(2) = 6,5 bit/zeichen Beispiel: eine Seite deutschsprachiger Text mit 4 Zeilen und 7 Zeichen pro Zeile Anzahl unterschiedlicher Seiten: N = 7 4 7 Entscheidungsgehalt: H = ld(7 4 7 ) = 4 7 ld (7) = 7,22 kbit/seite S. 9 Zeichenvorrat (Alphabet): X = {x,..., x N } Auftrittswahrscheinlichkeiten der Zeichen: p(x ),..., p(x N ) gewünschte Eigenschaften des Informationsgehalts I = f(p): I(x i ) für p(x i ) I(x i ) für p(x i ) I(x i ) > I(x j ) für p(x i ) < p(x j ) zwei aufeinanderfolgende statistisch unabhängige Zeichen x i und x j mit p(x i,x j ) = p(x i ) p(x j ): I(x i,x j ) = I(x i ) + I(x j ) allgemeine Lösung: I(x i ) = k log b (p(x i )) (2.2) S. 2

Definition des Informationsgehalts: I( ) = ld bit/zeichen p( ) (2.3) Entropie H(X) = mittlerer Informationsgehalt einer Quelle: H ( X ) = N I( ) = p( ) I( ) i= N = p( ) ld bit/zeichen i= p( ) (2.4) S. 2 Beispiel: binäre Quelle mit X = {x, x 2 } Auftrittswahrscheinlichkeiten: p(x ) = p, p(x 2 ) = p Entropie: H(X) = p ld(p) ( p)ld( p) Shannon-Funktion: H(X) = S(p) (2.5) S(p) / bit..8.6.4.2....2.3.4.5.6.7.8.9. S. 22 p

Die Entropie wird mamal für gleichwahrscheinliche Zeichen H(X) H = ld N. (2.6) Beweis: N N H ( X ) ld N = p( ) ld p( ) ld N i= p( ) i= N = p( ) ld i= p( ) N.. Ausnutzen der Ungleichung: ln x x (2.7) -. x ln(x). 2. x S. 23 mit ln x x ld x ( x ) ln 2 N H ( X ) ld N p( ) i= ln 2 p( ) N ln 2 N p( ) = i= N N = ln 2 N Redundanz einer Quelle: R Q = H H(X) (2.8) S. 24 2

Übertragung über Binärkanal: Entwurf von Binärcodierungen für eine diskrete Quelle Aufgaben der Quellencodierung: Zuweisung eines Binärcodes mit der Codewortlänge L(x i ) zu einem Zeichen x i Minimierung L x der mittleren x Codewortlänge 2 L L = L( ) N = p( ) L( ) i= (2.9)...... x N L(x N ) S. 25 Beispiele für binäre Codierungen von Zeichen: ASCII-Code: feste Codewortlänge L(x i ) = 8 (Blockcode) Morse-Code (Punkt-Strich-Alphabet mit Pause zur Trennung der Codewörter): häufig auftretende Buchstaben werden kurzen Codeworten zugeordnet Präfix-Eigenschaft eines Codes: kein Codewort bildet gleichzeitig den Beginn eines anderen Codewortes kommafreier Code S. 26 3

Beispiel für einen Code ohne Präfix-Eigenschaft: x x 2 x 3 x 4 eindeutige Decodierung einer Bitfolge nicht möglich mögliche Decodier-Ergebnisse für die Sequenz : x x 3 x 2 x, x 2 x x x 3, x x 3 x x 3, x 2 x x 2 x, x x 4 x 3 S. 27 Beispiel für einen Code mit Präfix-Eigenschaft: x x 2 x 3 x 4 eindeutige Decodierung einer Bitfolge Decodierung der Sequenz : x x 2 x x 2 x 3 x 4 x 2 x Synchronisation: Anfang der Sequenz S. 28 4

Decodierung mit Hilfe eines Entscheidungsbaums x x 2 x 3 x 4 Ebene : L(x ) = Ebene 2: L(x 2 ) = 2 Ebene 3: L(x 3 ) = L(x 4 ) = 3 S. 29 Kraftsche Ungleichung: Ein Binärcode mit der Präfix-Eigenschaft und den Codewortlängen L(x ), L(x 2 ),..., L(x N ) estiert nur dann, wenn N L( x ) 2 i (2.) i= Das Gleichheitszeichen gilt, wenn alle Endpunkte des Codebaums mit Codewörten besetzt sind. S. 3 5

Beweis: Länge der Baumstruktur = mamale Codewortlänge L max = max(l(x ), L(x 2 ),..., L(x N )) Codewort in Ebene L(x i ) eliminiert Lmax L( x ) 2 i der möglichen Codeworte in der Ebene L max Summe aller eliminierten Codeworte mamale Anzahl in der Ebene L max N 2 i= Lmax L( ) L 2 max S. 3 Grenze für die mittlere Codewortlänge: L H (X ) Beispiel für den Sonderfall, dass die Auftrittswahrscheinlichkeiten Zweierpotenzen sind: K p( x () i i ) = 2 Zuordnung der Codeworte entsprechend der Vorschrift (2.) (2.2) L(x i ) = K i Sonderfall: 5 L = H ( X ) = 8 x i p(x i ) Codeworte x /2 x 2 /4 x 3 /8 x 4 /6 x 5 /6 S. 32 6

Shannon sches Codierungstheorem: Für jede Quelle lässt sich eine Binärcodierung finden mit: H ( X ) L H ( X ) + (2.3) Beweis: linke Seite: mittlere Codewortlänge mittlerer Informationsgehalt rechte Seite: Auswahl eines Codewortes mit I(x i ) L(x i ) I(x i ) + (2.4) Multiplikation mit p(x i ) und Summation über alle i s.o. S. 33 Nachweis, dass es einen Code mit Präfix-Eigenschaft () gibt: linke Seite von (2.4): ( ) ( ) ld ( ) ( ) ( ) 2 L x I x i i = L x p x i p i Summe über alle Symbole entspricht (2.): N N L( x ) 2 i p( ) = i= i= S. 34 7

Shannon sche Codierung Codewortlänge entsprechend (2.4): I(x i ) L(x i ) I(x i ) + akkumulierte Auftrittswahrscheinlichkeiten i Pi = p( x j ) j= Sortieren der Symbole nach Auftrittswahrscheinlichkeit Codeworte sind Nachkommastellen eine Binärdarstellung von P i S. 35 Beispiel H = 3,7 bit H(X) = 2,97 bit Mittlere Codewortlänge: L = 3.54 bit Berechnung eines Codewortes: i p(x i ) I(x i ) L(x i ) P i Code,22 2,8 3, 2,9 2,4 3,22 3,5 2,74 3,4 4,2 3,6 4,56 5,8 3,64 4,68 6,7 3,84 4,76 7,7 3,84 4,83 8,6 4,6 5,9 9,4 4,64 5.96,9 = 2 + 2 2 + 2 3 + 2 4 + 2 5 + 2 6 + 2 7 + 2 8 + 2 9 + 2 +... S. 36 8

Baumdarstellung eines Shannon-Codes: Nachteil: nicht alle Endpunkte des Baums sind besetzt S. 37 Codewortlänge kann reduziert werden Code ist nicht optimal Redundanz eines Codes: Redundanz einer Quelle: RC = L H ( X ) RQ = H H ( X ) (2.5) (2.6) Huffman-Codierung rekursives Vorgehen Startpunkt: Symbole mit den kleinsten Wahrscheinlichkeiten gleiche Codewortlänge für die beiden Symbole mit der kleinsten Wahrscheinlichkeit andernfalls: Reduzierung der Codewortlänge möglich S. 38 9

Algorithmus: Schritt : Ordnen der Symbole entsprechend ihrer Wahrscheinlichkeit Schritt 2: Zuordnung von und zu den beiden Symbolen mit der kleinsten Wahrscheinlichkeit Schritt 3: Zusammenfassen der beiden Symbole mit der kleinsten Wahrscheinlichkeit x N und x N zu einem neuen Symbol mit der Wahrscheinlichkeit p(x N ) + p( x N ) Schritt 4: Wiederholung der Schritte - 3, bis nur noch ein Symbol übrig bleibt Beispiel S. 39 x x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9,22,9,5,2,8,7,7,6,4 x x 2 x 3 x 4 x 8 x 9 x 5 x 6 x 7,22,9,5,2,,8,7,7 x x 2 x 3 x 6 x 7 x 4 x 8 x 9 x 5,22,9,5,4,2,,8 x x 2 x 8 x 9 x 5 x 3 x 6 x 7 x 4,22,9,8,5,4,2 S. 4 2

x 6 x 7 x 4 x x 2 x 8 x 9 x 5 x 3,26,22,9,8,5 x 8 x 9 x 5 x 3 x 6 x 7 x 4 x x 2,33,26,22,9 x x 2 x 8 x 9 x 5 x 3 x 6 x 7 x 4,4,33,26 x 8 x 9 x 5 x 3 x 6 x 7 x 4 x x 2,59,4 S. 4 Baumstruktur des Huffman-Code-Beispiels L = 3. bit S. 42 2

Diskrete Quelle ohne Gedächtnis Verbundentropie von Zeichenketten zwei unabhängige Zeichen: p(x i,y k ) = p(x i ) p(y k ) N N H ( X, Y ) = p(, yk ) ld( p(, yk )) i= k= N N = p( ) p( yk ) i= k= H ( X, Y ) = H ( X ) + H ( Y ) [ ld( p( x )) + ld( p( y ))] i N N N N = p( yk ) p( ) ld( p( )) p( ) p( yk ) ld( p( yk )) k= i= i= k= k (2.7) (2.8) S. 43 M unabhängige Zeichen der gleichen Quelle: H(X, X 2,..., X M ) = M H(X) Effizienteres Codieren durch Codieren von Zeichenketten Shannon sches Codierungstheorem: H(X,...,X M ) LM ( X, K, X M ) H(X,...,X M ) + M H(X) M L M H(X) + H(X) L H(X) + /M Nachteil beim Codieren von Zeichenketten: stark ansteigender Codierungsaufwand (exponentielle Zunahme der Zahl der möglichen Zeichen) (2.9) (2.2) S. 44 22

Beispiel: Codierung von Zeichenfolgen binäre Quelle mit X = {x, x 2 } Auftrittswahrscheinlichkeiten: p(x ) =,2, p(x 2 ) =,8 Entropie: H(X) =,729 bit/zeichen Codierung von Einzelzeichen: Zeichen p(x i ) Code L(x i ) p(x i ) L(x i ) x,2,2 x 2,8,8 Σ = mittlere Codewortlänge: L =bit/zeichen S. 45 Codierung von Zeichenpaaren: Zeichenpaar p(x i ) Code L(x i ) p(x i ) L(x i ) x x,4 3,2 x x 2,6 2,32 x 2 x,6 3,48 x 2 x 2,64,64 Σ =,56 mittlere Codewortlänge: L =,78 bit/zeichen S. 46 23

Codierung von Zeichentripeln: Zeichentripel p(x i ) Code L(x i ) p(x i ) L(x i ) x x x,8 5,4 x x x 2,32 5,6 x x 2 x,32 5,6 x x 2 x 2,28 3,384 x 2 x x,32 5,6 x 2 x x 2,28 3,384 x 2 x 2 x,28 3,384 x 2 x 2 x 2,52,52 Σ = 2,84 mittlere Codewortlänge: L =,728 bit/zeichen S. 47 Diskrete Quelle mit Gedächtnis reale Quellen: Korrelation zwischen den Einzelzeichen zwei abhängige Zeichen: p(x i,y k ) = p(x i ) p(y k x i ) = p(y k ) p(x i y k ) N N H ( X, Y ) = p(, yk ) ld( p(, yk )) i= k= N N = p( ) p( yk ) i= k= H ( X, Y ) = H ( X ) + H ( Y X ) [ ld( p( x )) + ld( p( y x ))] i N N N N = p( yk ) p( ) ld( p( )) p(, yk ) ld( p( yk )) i= k= i= k= k i (2.2) S. 48 24

H(Y X) = bedingte Entropie N N H ( Y X ) = p(, yk ) ld( p( yk )) i= k= Entropie einer Quelle bedingte Entropie (2.22) H(Y) H(Y X ) Beweis: N N N H ( Y ) = p( yk ) ld( p( yk )) = p(, yk ) ld( p( yk )) k= i= k= N N p( y = k ) H ( Y X ) H ( Y ) p(, yk ) ld i= k= p( yk ) S. 49 (2.23) Abschätzung mit: ln x x N N H ( Y X ) H ( Y ) p(, yk ) i= k= ld x ( x ) ln 2 ln 2 p( y k ) p( yk ) mit p(x i,y k ) = p(x i ) p(y k x i ) H ( Y X ) H ( Y ) ln 2 N N p( ) p( yk ) i= k= N N p(, yk ) = i= k= = = S. 5 25

gleichwahrscheinliche Einzelzeichen: Entropie einer Quelle mit Gedächtnis < Entropie einer Quelle ohne Gedächtnis besonders effiziente Quellencodierung durch Codierung von Zeichenfolgen bei Quellen mit Gedächtnis allgemeine Beschreibung einer diskreten Quelle mit Gedächtnis als Markoff-Quelle Markoff-Prozesse: Folge von Zufallsvariablen z, z, z 2,...,z n, (n = Zeitachse) z i und z j sind statistisch unabhängig: f z,,..., (, 2,..., ) ( ) z 2 z zn zn zn z = fz z n n n n (2.24) zn S. 5 z i und z j sind stat. abhängig (Markoff-Prozess m-ter Ordnung): fz z (,,..., ) (,..., ), z 2,..., z z n zn zn 2 z fz z,..., z zn zn z n n n = n n n m n m Häufig: Markoff-Prozess erster Ordnung (m = ): (2.25) fz z,,..., (, 2,..., ) ( ) z 2 z z n zn zn z = fz z z n z n n n n n n z i nehmen endlich viele diskrete Werte an: z i {x,..., x N } Markoff-Kette vollständige Beschreibung einer Markoff-Kette durch Übergangswahrscheinlichkeiten p( zn = x j zn =,..., z ) (,..., n = = p z n = x j zn = z n n m = x in (2.27) m S. 52 (2.26) ) 26

homogene Markoff-Kette: Übergangswahrscheinlichkeiten hängen nicht von der absoluten Zeit ab: p ( zn = x j zn =,..., z ) (,..., n m = = p z m k = x j zk = z k m = (2.28) stationäre Markoff-Kette: eingeschwungener Zustand hängt m nicht von den Anfangswahrscheinlichkeiten ab lim p ( zk+ n = x j zk = ) = lim p( zk+ n = x j ) = p( x j ) = w j n n (2.29) homogene und stationäre Markoff-Kette erster Ordnung: m = p ( zn = x j zn = ) = pij (2.3) ) S. 53 Übergangsmatrix: Eigenschaften der Übergangsmatrix: N p ij = j= Wahrscheinlichkeitsvektor: w = ( w w2 L wn ) = ( p( x ) p( x2) L p( xn )) (2.33) Bestimmung von w mit Hilfe des eingeschwungenen Zustands: w = w P p p2 L pn p2 p22 L p2n P = (2.3) L L O L pn pn 2 L pnn (2.32) (2.34) S. 54 27

stationäre Markoff-Quelle: Markoff-Kette erster Ordnung Entropie einer stationären Markoff-Quelle = Entropie im eingeschwungenen Zustand: H ( Z) = lim H ( zn zn, zn 2, K, z) = H ( zn zn ) (2.35) n N N = p( zn = x j, zn = ) ld( p( zn = x j zn = )) i= j= (2.36) N N = wi p( zn = x j zn = ) ld( p( zn = x j zn = )) i= j= (2.37) N H ( Z) = wi H ( zn zn = ) = H ( zn zn = ) (2.38) i i= S. 55 Entropie H (Z) = bedingte Entropie, da Zeichen aus der Vergangenheit bereits bekannt sind H ( Z) = H ( zn zn ) H ( zn) H( zn) (2.39) Codierung einer Markoff-Quelle: Berücksichtigung des Gedächtnisses z. B. Huffman-Codierung unter Berücksichtigung des momentanen Zustands der Quelle grundsätzliches Problem bei Quellencodes mit variabler Länge: katastrophale Fehlerfortpflanzung S. 56 28

Beispiel einer Markoff-Quelle: Zustände = gesendete Zeichen z n {x, x 2, x 3 } Übergangswahrscheinlichkeiten: z n z n x x 2 x 3 x,2,4,4 x 2,3,5,2 x 3,6,,3,2,4.4,4 ( p( zn = x j zn = )) = ( pij ) = P =,3,5,2,6,,3.2.5.3 x.4 x 2.6 S. 57 x 3.3.2. Berechnung der stationären Wahrscheinlichkeiten mit: w = w P und N w i = i= w =,2w +,3 w 2 +,6w 3 (2.4) w 2 =,4 w +,5 w 2 +,w 3 w 3 =,4w +,2 w 2 +,3w 3 = w + w 2 + w 3 lineare Abhängigkeit! Lösung: w 33,3548 32,344 28 = w2 = w3 =,3 93 93 93 S. 58 29

Berechnung der Entropie mit (35): N H ( Z) = wi H ( zn zn = ) i= N N = wi pij ld( pij ) i= j= (2.4) Zahlenwerte einsetzen: H ( z ),2 ld,4 ld,4 ld n zn = x = + +,529 bit / Zeichen,2,4,4 H ( z ),3 ld,5 ld,2 ld n zn = x2 = + +,4855 bit / Zeichen,3,5,2 H ( z ),6 ld, ld,3 ld n zn = x3 = + +,2955 bit / Zeichen,6,,3 S. 59 Entropie: H ( Z) = w H ( zn zn = x ) + w2h ( zn zn = x2) + w3h ( zn zn = x3),44 bit / Zeichen (2.42) zum Vergleich: statistisch unabhängige Zeichen N H ( Z) = lim H ( zn) = wi ld,584 bit / Zeichen n i= wi H = ld3,585 bit / Zeichen S. 6 3

zustandsabhängige Huffman-Codierung für das Beispiel: unterschiedliche Codierungen für jeden Zustand z n p ij Codewörter z n z n x x 2 x 3 x,2,4,4 x 2,3,5,2 x 3,6,,3 z n z n x x 2 x 3 L z n x,6 x 2,5 x 3,4 mittlere Codewortlänge: N N L = L( zn = x j zn = ) = wi pij L( zn = x j zn = ) i= j=,554 bit / Zeichen (2.43) S. 6 Quellencodierung ohne Kenntnis der statistischen Parameter der Quelle Lauflängencodierung (run-length coding) Substitution eines wiederholten Symbols durch ein einzelnes Symbole und die Anzahl der Wiederholungen Beispiel: Ausgangssequenz der Quelle: aaaabbbccccccccdddddeeeeeaaaaaaabddddd... codierte Sequenz: 4a3b8c5d5e7ab5d... S. 62 3

Codierung mit Wörterbüchern Idee: Wiederholungen in der Datensequenz werden durch (kürzere) Referezierungen in das Wörterbuch ersetzt Statisches Wörterbuch: schlechte Anpassung des Wörterbuchs an bestimmte zu codierende Daten geringe Kompression für die meisten Datenquellen S. 63 halbadaptives Wörterbuch Das Wörterbuch ist für die zu codierenden Daten zugeschnitten. Das Wörterbuch muss über den Kanal übertragen werden. Zwei Durchläufe über die Daten notwendig:» für den Aufbau des Wörterbuchs» für die Codierung der Daten Adaptives Wörterbuch Einfacher Durchlauf für den gleichzeitigen Aufbau des Wörterbuchs und der Codierung Lempel-Ziv-Algorithmus: *.zip *.gzip Dateien S. 64 32

Lempel-Ziv-Algorithmus (LZ77) Suchfenster Analysefenster... a b c b a a b c b d f e e a a b a a c c d d d c d... Bearbeitungsfenster Suche nach der längsten Übereinstimmung zwischen den ersten Symbolen des Analysefensters und dem Suchfenster Ausgabe: Codewörter mit fester Länge Position der Übereinstimmung (Zählanfang = ) Länge der Übereinstimmung nächstes Symbol im Analysefenster S. 65 Parameter: Symbolalphabet: {x,x,x 2,..., x α } Eingangssequenz: S = {S,S 2,S 3,S 4,...} Länge des Analysefensters: L S Länge des Bearbeitungsfensters: n Codewörter: C i = {p i,l i,s i } Position der Übereinstimmung: p i Länge der Übereinstimmung: l i nächstes Symbol: S i Länge der Codewörter: LC = logα ( n LS ) + logα ( LS ) + S. 66 33

Beispiel: Symbolalphabet: {,,2} Eingangssequenz: S = {22222222...} Länge des Analysefensters: L S = 9 Länge des Bearbeitungsfensters: n = 8 Schritt : 2 2 2.... Schritt 2: C = {22 2 } 2 2 2 2.... C 2 = {2 2} S. 67 Schritt 3: 2 2 2 2 2 2.... Schritt 4: C 3 = {2 2 2} 2 2 2 2 2 2 2 2.... C 4 = {2 22 } Anzahl codierter Quellensymbole nach 4 Schritten: 3 + 4 + 8 + 9 = 24 Anzahl von Codewortsymbolen nach 4 Schritten: 4 5 = 2 S. 68 34

Decodierung: Schritt : C = {22 2 } Schritt 2: C 2 = {2 2} 2 Schritt 3: C 3 = {2 2 2} 2 2 2 2 Schritt 4: C 4 = {2 22 } 2 2 2 2 2 2 2 S. 69 Nachrichtenübertragung über einen diskreten gedächtnislosen Kanal störungsfreier Kanal: Information am Ausgang = Information am Eingang übertragene Information = Entropie der Quelle gestörter Kanal: Information am Ausgang < Information am Eingang übertragene Information < Entropie der Quelle Definition: Transinformation = tatsächlich übertragene Information S. 7 35

Diskreter gedächtnisloser Kanal (discrete memoryless channel DMC) x p p 2 y p 2 X Diskreter gedächtnisloser Kanal Y x 2 p 22 y 2 x NX p NX N Y y NY Eingangssignal: Ausgangssignal: X { x, x2,..., x N X Y { y, y2,..., y N Y } } S. 7 Übergangsmatrix: P = mit p p2 Binärkanal: P = p2 p22 Fehlerwahrscheinlichkeit eines Binärkanals: p(fehler) = p( x ) p( y2 x ) + p( x2) p( y x2) = p( x ) p2 + p( x2) p2 ( p( Y = y X = x )) = ( p ) j N p ij = j= i p p2 ij = L pn X N X 2 NY 2NY N X NY S. 72 p p2 p22 L L L O L p p p L (2.44) (2.45) (2.46) (2.47) 36

Symmetrischer Binärkanal (binary symmetric channel - BSC) perr perr P = (2.48) perr perr x p err p err Fehlerwahrscheinlichkeit: x 2 p(fehler) = p( x ) p2 + p( x2) p2 = [ p( x ) + p( x2)] perr = perr (2.49) p err p err S. 73 Beispiel zur Transinformation qualitative Betrachtung: Übertragung von binären, statistisch unabhängigen und gleichwahrscheinlichen Symbolen (p() = p() =,5) symmetrischer Binärkanal mit p err =, mittlere Anzahl der richtig übertragenen Symbole: 99 aber: T(X,Y) <,99 bit/zeichen Ursache: genaue Lage der Fehler ist nicht bekannt S. 74 37

Definitionen der Entropien an einem diskreten gedächtnislosen Kanal: Eingangsentropie = mittlerer Informationsgehalt der Eingangssymbole: N X H ( X ) = p( ) ld (2.5) i= p( ) Ausgangsentropie = mittlerer Informationsgehalt der Ausgangssymbole: NY H ( Y ) = p( y j ) ld (2.5) j= p( y j ) Verbundentropie = mittlere Unsicherheit des gesamten Übertragungssystems: N = X N Y H ( X, Y ) p(, y j ) ld (2.52) i= j= p(, y j ) S. 75 bedingte Entropie H(Y X) = mittlerer Informationsgehalt am Ausgang bei bekanntem Eingangssymbol = Entropie der Irrelevanz N = X N Y H ( Y X ) p(, y j ) ld (2.53) i= j= p( y j ) bedingte Entropie H(X Y) = mittlerer Informationsgehalt am Eingang bei bekanntem Ausgangssymbol = Entropie der Information, die auf dem Kanal verloren geht = Entropie der Äquivokation N = X N Y H ( X Y) p(, y j ) ld (2.54) i= j= p( y j ) S. 76 38

Beziehungen zwischen den Entropien: H ( X, Y ) = H ( Y, X ) = H ( X ) + H ( Y X ) = H ( Y ) + H ( X Y ) H ( X Y ) H ( X ) H ( Y X ) H ( Y ) (2.55) (2.56) (2.57) mittlere Transinformation: T ( X, Y ) = H ( X ) H ( X Y) = H ( Y) H ( Y X ) = H ( X ) + H ( Y ) H ( X, Y) (2.58) (2.59) (2.6) S. 77 Informationsströme H(X Y) Äquivokation Quelle H(U) H(X) Transinformation T(X,Y) H(Y) Quellencodierer Quellendecoder H (Uˆ ) Senke H(Y X) Irrelevanz Übertragungskanal S. 78 39

spezielle Beispiele zur Transinformation: idealer ungestörter Kanal: für i = j p ij = für i j Entropien: H(X Y) =, H(Y X) =, H(X,Y) = H(X) = H(Y) T(X,Y) = H(X) = H(Y) (2.6) (2.62) (2.63) (2.64) S. 79 (6) nutzloser, vollständig gestörter Kanal: p(x i,y j ) = p(x i ) p(y j ) = p(y j x i ) p(x i ) p(y j x i ) = p(y j ) p ij = p kj Entropien: H(X Y) = H(X), H(Y X) = H(Y), H(X,Y) = H(X) + H(Y) T(X,Y) = (2.65) (2.66) (2.67) (2.68) (2.69) S. 8 (6) 4

Beispiel zur Transinformation quantitative Betrachtung: Übertragung von binären, statistisch unabhängigen und gleichwahrscheinlichen Symbolen (p() = p() =,5) symmetrischer Binärkanal mit p err =, T ( X, Y ) = H ( Y ) H ( Y X ) NY N X N Y = p( y j ) ld p( ) p( y j ) ld j= p( y j ) i= j= p( y j ) = ( p() + p()) ( perr)ld + perrld = ( err) S p perr perr,992 bit/zeichen S. 8 Kanalkapazität Transinformation hängt von der Wahrscheinlichkeitsdichte der Quellensymbole ab Definition der Kanalkapazität: C = max T ( X, Y ) (2.7) T p( ) Kanalkapazität = Mamum des Transinformationsflusses T = Periode der Zeichen x i Dimension der Kanalkapazität: bit/s C hängt von den Kanaleigenschaften ab, nicht von der Quelle! S. 82 4

Definition von Informationsfluss... Informationsfluss = Entropie / Zeit: H (X) = H(X) / T Transinformationsfluss = Transinformation / Zeit: T (X,Y) = T(X,Y) / T Entscheidungsfluss = Entscheidungsgehalt / Zeit: H (X) = H (X) / T (2.7) (2.72) (2.73) S. 83 Beispiel: symmetrischer Binärkanal (binary symmetric channel BSC): T ( X, Y ) = H ( Y) H ( Y X ) = ( p + perr 2 p perr) ld p + perr 2 p perr + ( p perr + 2 p perr) ld p perr + 2 p perr perr ld + ( perr) ld perr perr (2.74) S. 84 42

Transinformation bit/zeichen..8.6.4.2 T(X,Y) p err = p err =, p err =,2 p err =,3 p err =,5....2.3.4.5.6.7.8.9. p(x ) Mamum für p = p(x ) =,5 S. 85 Kanalkapazität..8 C T / bit.6.4.2....2.3.4.5.6.7.8.9. p err C T = max T( X, Y ) = perr ld + ( perr) ld = S( perr) p( x i ) perr p err (2.75) S. 86 43

Beispiel: binärer Auslöschungskanal (binary erasure channel BEC) perr P = perr perr perr (2.76) C T = perr (2.77)..8 C T / bit.6.4.2....2.3.4.5.6.7.8.9. p err S. 87 Satz von der Kanalkapazität (Shannon 948): Für jedes ε > und jeden Informationsfluss einer Quelle R kleiner als die Kanalkapazität C ( R < C ) estiert 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 R > C kann die Restfehlerwahrscheinlichkeit eine gewisse Grenze auch bei größtem Aufwand nicht unterschreiten. S. 88 44

Beweisführung mit zufälligen Blockcodes (random coding argument): Beweis für das Mittel über alle Codes Alle bekannten Codes sind schlechte Codes keine Konstruktionsvorschrift für Codes Kanalkapazität: Optimum für unendliche Codewortlänge unendliche Verzögerungszeit, unendliche Kompletät S. 89 Verfeinerung des Satzes von der Kanalkapazität mit dem Fehlerexponent nach Gallager für einen DMC mit N X Eingangssymbolen: + s N Y N X E R = s R p x + s i p y j x G ( C) max max C ld ( ) ( i) s p( ) j= i= (2.78) Es estiert immer ein (n,k)-blockcode mit R C = k / n ld N X < C T, so dass für die Wort-Fehlerwahrscheinlichkeit gilt: n EG ( RC ) Pw < 2 (2.79) S. 9 45

Fehlerexponent nach Gallager Eigenschaften: E G (R C ) > für R C < C E G (R C ) = für R C C Definition R -Wert:.8 R.6.4 E G (R C ) R = E G (R C = ) (2.8).2...2.4.6.8. R C R C S. 9 R -Wert (auch: computational cut-off rate) Mamum von E G (R C = ) liegt bei s = N Y N 2 X R = EG ( RC = ) = max ld p( ) p( y j ) p( x i ) j= i= (2.8) Vergleich für s = : N 2 Y N X EG ( RC ) max RC ld p( x ) p( y x ) i j i = R RC p( ) j= i = (2.82) S. 92 46

R -Theorem: Es estiert immer ein (n,k)-blockcode mit R C = k / n ld N X < C T, so dass für die Wort-Fehlerwahrscheinlichkeit (bei Mamum- Likelihood-Decodierung) gilt: keine Konstruktionsvorschrift für gute Codes Wertebereiche für die Coderate R C R Abschätzung von P W mit (2.83) R R C C T Abschätzung von P W schwierig zu berechnen R C > C T P W kann nicht beliebig klein werden n ( R RC ) Pw < 2 (2.83) S. 93 Vergleich von Kanalkapazität und R -Wert für einen BSC:. bit/zeichen.8 C T.6.4.2 R....2.3.4.5 p err S. 94 47

Ziele: Grundbegriffe und Codebeispiele für Blockcodes Konstruktion von Codewörtern binäre Codewörter redundante Codes Code C = Menge aller Codewörter Codewort c = (c, c,..., c n- ) mit c C Codierung ist gedächtnislose Zuweisung: Informationswort Codewort u = (u, u,..., u k- ) c = (c, c,..., c n- ) k Informationsstellen n Codewortstellen n k S. 95 identische Codes: Codes mit den gleichen Codewörtern äquivalente Codes: Codes, die nach Vertauschung von Stellen identisch werden allgemeine Bezeichnung: (n,k,d min ) q -Blockcode q = Anzahl bzw. Stufenzahl der Symbole Coderate: k R C = (3.) n Anzahl von Codewörtern: N = 2 k (3.2) S. 96 48

systematische Codes: Codewort c = (u, p) (3.3) u u u 2 u 3...... u k- c c c 2 c 3...... c k- c k c k+...... c n- m = n-k Prüf- / Kontrollstellen nicht-systematische Codes: Informations- und Prüfstellen nicht trennbar Blockcodes sind immer in äquivalente systematische Codes umformbar S. 97 Addition und Multiplikation im binären Zahlensystem (modulo 2): zwei Binärvektoren gleicher Länge x und y Hamming-Distanz: d H (x,y) = Anzahl der Abweichungen zwischen den Stellen von x und y Beispiel: d H (, ) = 3 S. 98 49

(Hamming-)Gewicht eines Vektors x: n H ( ) = w x x i = Anzahl der von verschiedenen Stellen (3.4) i= Beispiel: w H ( ) = 5 Hamming-Distanz: d H (x,y) = w H (x + y) (3.5) Beispiel: x = ( ) y = ( ) x + y = ( ) w H (x + y) = 3 S. 99 Übertragung über Binärkanal: f y = x + f x y (3.6) f = Fehlervektor Der Wiederholungscode (repetition code) k = Informationsbit n Wiederholungen 2 k = 2 Codewörter: c = (... ) und c 2 = (... ) Wiederholungscode ist systematisch einfache Decodierung durch Mehrheitsentscheid, wenn n ungerade ist (n )/2 Fehler sind korrigierbar, n Fehler sind erkennbar S. 5

Beispiel für einen Wiederholungscode: n = 5 R C = /5 u = () c = ( ) und u 2 = () c 2 = ( ) gestörte Empfangsfolgen: f = ( ) und x = ( ) y = x + f = ( ) f 2 = ( ) und x 2 = ( ) y 2 = x 2 + f 2 = ( ) zwei Fehler korrigierbar, vier Fehler erkennbar S. Paritätskontrolle (parity check code) k Informationsbits, eine Prüfstelle (m = ) n = k + 2 k Codewörter c = (u p) mit p = u + u + u 2 +... + u k (gerade Anzahl von Einsen in den Codewörten c) Paritätskontrolle ist systematisch kein Fehler korrigierbar, ungerade Anzahl von Fehlern erkennbar Paritätskontrolle: s = y + y + y 2 +... + y n = kein Fehler s = y + y + y 2 +... + y n = Fehler (3.7) S. 2 5

Beispiel: k = 3 Codewort Information Prüfstelle c c c 2 c 3 c 4 c 5 c 6 c 7 y = ( ) kein Fehler y 2 = ( ) Fehler S. 3 Hamming-Code Korrektur eines einzelnen Fehlers in einem Codewort Beispiel: (7,4)-Hamming-Code u u u 2 u 3 c c c 2 c 3 c 4 c 5 c 6 Kontrollstellen: c 4 = c + c + c 2 c 5 = c + c + c 3 c 6 = c + c 2 + c 3 (3.8) (3.9) (3.) S. 4 52

Matrix-Darstellung von Blockcodes x = ug G = Generator-Matrix (k n -Matrix) Systematische Blockcodes: G = [I k P] I k = Einheitsmatrix k k, P = Prüfstellenmatrix k (n k) (3.) (3.2) Beispiel: (7,4)-Hamming-Code G = (3.3) S. 5 Fortsetzung: (7,4)-Hamming-Code Berechnung von Codewörtern durch Matrixmultiplikation ( )( ) u x G Anzahl von Codewörtern: 2 k = 6 Anzahl möglicher Empfangswörter: 2 n = 28 S. 6 53

Codewort-Tabelle Codewort Information Prüfstellen c c c 2 c 3 c 4 c 5 c 6 c 7 Codewort Information Prüfstellen c 8 c 9 c c c 2 c 3 c 4 c 5 S. 7 Eigenschaften von linearen Blockcodes: Jedes Codewort ist eine Linearkombination von Zeilen von G. Der Code setzt sich aus allen Linearkombinationen von G zusammen. Die Summe von Codewörtern ist wieder ein Codewort. Im Code ist der Nullvektor (... ) enthalten. Ein Code ist linear, wenn er als Matrixmultiplikation x = ug beschrieben werden kann (u beliebig). Generatormatrix: Zeilen müssen linear unabhängig sein S. 8 54

elementare Zeilenoperationen ändern einen Code nicht Vertauschung zweier Zeilen Multiplikation einer Zeile mit einem Skalar ungleich Addition einer Zeile zu einer anderen Die minimale Distanz zweier Codewörter entspricht dem minimalen Gewicht: dmin = min( dh( c, c2) c, c2 C; c c2 ) = min( wh ( c) c C; c ) = wmin (3.4) Beweis: dmin = min( dh( c, c2) c, c2 C; c c2 ) = min( dh(, c + c2) c, c2 C; c c2 ) = min( dh(, c) c C; c ) = min( wh ( c) c C; c ) S. 9 Fehlerkorrektur mit dem (7,4)-Hamming-Code: Auswertung der Prüfgleichungen: Syndrom s = y + y + y 2 + y 4 (3.5) Fehlerposition s s = y + y + y 3 + y s s 2 5 (3.6) kein Fehler s 2 = y + y 2 + y 3 + y 6 (3.7) Fehler in. Stelle Syndrom : s = (s s s 2 ) Fehler in. Stelle Fehler in 2. Stelle Symdrom hängt nicht vom Fehler in 3. Stelle Fehler in 4. Stelle Codewort ab, nur vom Fehler Fehler in 5. Stelle Zuordnung der Fehlerposition Fehler in 6. Stelle S. 55

Decodierung von Hamming-Codes: Auswertung der Prüfgleichungen Syndrom Fehlerposition aus Syndromtabelle Fehlerkorrektur: an der Fehlerposition addieren m = n k Kontrollstellen adressieren 2 m Positionen (Nullvektor) Blocklänge: n = 2 m mögliche Parameter für Hamming-Codes: m 2 3 4 5 6 7 8 n 3 7 5 3 63 27 255 k 4 26 57 2 247 (2 m,2 m m)-blockcode S. (3.8) Prüfmatrix Definition: und ch T = für alle c C xh T für alle x C (3.9) Eigenschaften der Prüfmatrix: = ch T = (ug) H T = u (GH T ) GH T = Generatormatrix und Prüfmatrix sind orthogonal elementare Zeilenoperationen für H sind erlaubt Prüfmatrix: H = (P T I n k ) mit G = [I k P] H ist (n k) n -Matrix (3.2) (3.2) S. 2 56

Nachweis der Orthogonalität: T P G H = k k n k = In k ( I P) = I P + P I = P + P Dualer Code Code C : Generatormatrix G, Prüfmatrix H (3.22) dualer Code C d : Generatormatrix G d = H, Prüfmatrix H d = G Codewörter der beiden Codes sind orthogonal: mit c = ug C und c d = vh C d gilt: T T T T ( u G)( v H) = u G H v = u T c cd = v = (3.23) S. 3 Beispiel für duale Codes: Wiederholungscode G = ( L ) Paritätskontrolle: G = M L M O L M H = M H = L M O L M ( L ) (3.24) (3.25) S. 4 57

Syndromberechnung in Matrix-Schreibweise: s = yh T Eigenschaften des Syndroms: Syndrom ist Nullvektor nur dann, wenn y ein Codewort ist Syndrom ist unabhängig vom Codewort: s = yh T = (x + f) H T = fh T alle Fehlervektoren f werden erkannt, die nicht Codewörter sind (3.26) (3.27) S. 5 Beispiel: (7,4)-Hamming-Code G = P = T H = ( P I = n k ) S. 6 58

Beispiel: (7,4)-Hamming-Code s = yh T s = ( y y K ) y6 s = y + y + y 2 + y 4 s = y + y + y 3 + y 5 s 2 = y + y 2 + y 3 + y 6 S. 7 Konstruktionsvorschrift für Hamming-Codes Syndrom hängt nur von Fehlervektor ab: s = fh T ein Einzelfehler an der Stelle i (f i = ) führt zu einem Syndrom, das der entsprechenden Zeile von H T entspricht alle Zeilen von H T müssen sich unterscheiden, damit die Fehlerposition eindeutig bestimmt werden kann keine Zeile von H T darf ein Nullvektor sein Die Zeilen von H T / Spalten von H werden durch alle möglichen Sequenzen bis auf den Nullvektor gebildet (3.28) S. 8 59

Prüfmatrix eines systematischen Hamming-Codes: L L L T L L M H = ( P I = n k ) M M L L M O L L L (3.29) alle möglichen Spaltenvektoren mit mehr als einer Beispiel: (5,)-Hamming-Code H = (3.3) S. 9 Modifikationen linearer Codes Expandieren (extending): Anhängen zusätzlicher Prüfstellen n' > n, k' = k, m' > m, R C ' < R C, d min ' d min Punktieren (puncturing): Reduktion von Prüfstellen n' < n, k' = k, m' < m, R C ' > R C, d min ' d min Verlängern (lengthening): Anhängen zusätzlicher Informationsstellen n' > n, k' > k, m' = m, R C ' > R C, d min ' d min Verkürzen (shortening): Reduktion von Informationsstellen n' < n, k' < k, m' = m, R C ' < R C, d min ' d min S. 2 6

Beispiel: Hamming-Code: ein Fehler korrigierbar durch Syndrom-Auswertung zwei Fehler führen ebenfalls auf s erweiterter (expandierter) Hamming-Code: Unterscheidung zwischen - und 2-Fehlersituation durch zusätzliche Prüfstelle (2 m,2 m m)-blockcode Generatormatrix des erweiterten Hamming-Codes: G H,ext = GH (3.3) M S. 2 Fehlerereignisse: kein Fehler: s = ein Fehler: s, s m+ = zwei Fehler: s, s m+ = Decodierung: s = : Empfangsvektor = Codewort s, s m+ = : ungerade Anzahl von Fehlern ein Fehler angenommen und durch Syndrom-Auswertung korrigiert s, s m+ = : gerade Anzahl von Fehlern Fehler können nicht korrigiert werden S. 22 6

Fehlerkorrektur und Fehlererkennung minimale Distanz zwischen Codewörtern: ( d ( c, c ) c c ) d min = min H 2, 2 C (3.32) d min = : einzelner Fehler kann dazu führen, dass Fehler weder erkennbar noch korrigierbar ist d min = 2 : mindestens ein einzelner Fehler kann erkannt werden d min = 3 : mindestens ein einzelner Fehler kann korrigiert werden mindestens zwei Fehler können erkannt werden S. 23 Fehlerkorrektur und Fehlererkennung d min = 3 d min = 4 Anzahl erkennbarer Fehler: t e = d min Anzahl korrigierbarer Fehler d min ist gerade: t = (d min 2) / 2 d min ist ungerade: t = (d min ) / 2 S. 24 (3.33) (3.34) (3.35) 62

Singleton-Schranke: Mindestdistanz und Mindestgewicht eines linearen Codes sind beschränkt durch: d min = wmin + n k = + m (3.36) Beweis: systematisches Codewort mit einer Informationsstelle ungleich Gewicht / Distanz in Informationsstellen: d H,Information = Gewicht / Distanz in Prüfstellen: d H,Prüf m = n k Ein Code, für den das Gleichheitszeichen in (3.36) gilt, heißt mamum distance separable (MDS) S. 25 Fehlererkennung: (3.33): t e + = d min + m m t e mindestens Prüfstelle pro erkennbarem Fehler notwendig Fehlerkorrektur: (3.34, 3.35): (d min ) / 2 t (d min 2) / 2 2 t + d min + m m 2 t mindestens 2 Prüfstellen pro korrigierbarem Fehler notwendig (3.37) (3.38) S. 26 63

Decodierkugel: n-dimensionale Kugel um Codewort mit Radius t alle Vektoren im Innern der Decodierkugeln werden als zugehöriges Codewort decodiert Gesamtzahl aller Vektoren innerhalb von Decodierkugeln Gesamtzahl aller möglichen Vektoren Hamming-Schranke: Für einen binären (n,k)-blockcode mit der Korrekturfähigkeit t gilt: t k n n 2 2 i i= (3.39) S. 27 Beweis: Anzahl von Vektoren um ein Codewort mit d H = : Anzahl von Vektoren um ein Codewort mit d H = 2: Anzahl von Vektoren um ein Codewort mit d H = t: n n ( n ) K ( n ( t )) mit = t t ( t ) K n n 2 n t (3.4) Gesamtzahl aller Vektoren innerhalb von Decodierkugeln: 2 k n n n n n + + + K + 2 2 t S. 28 64

Perfekte Codes (dichtgepackte Codes) in (3.39) gilt Gleichheitszeichen keine Codewörter liegen zwischen den Codierkugeln nur sehr wenige bekannte Codes sind perfekt Beispiel: (7,4)-Hamming-Code d min = w min = 3 t = 4 7 7 2 + 6 ( + 7) = 28 = 7 2 7 2 Hamming-Codes sind perfekt S. 29 Plotkin-Schranke: Für einen binären (n,k)-blockcode mit der minimalen Distanz d min gilt: k 2 dmin n k (3.4) 2 Näherung: n k dmin für 2 >> 2 Beweis: minimales Gewicht mittlerem Gewicht mittleres Gewicht einer Stelle eines Codeworts: /2 mittleres Gewicht eines Codeworts der Länge n: n/2 mittleres Gewicht ohne Nullvektor: k n 2 2 k 2 S. 3 65