Kapitel 13: Syndromcodierung / Hamming Codes

Ähnliche Dokumente
Vorlesung Theoretische Grundlagen

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

Einführung in die Kodierungstheorie

Erzeugendensystem und Basis

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

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

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

Erinnerung: Der Vektorraum F n 2

Formelsammlung Kanalcodierung

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

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

Grundlagen der Technischen Informatik. 2. Übung

Grundlagen der Rechnernetze

Übung 14: Block-Codierung

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

Einführung in die Kodierungstheorie

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

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

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017

Dekohärenz und Grundprinzip der Quantenfehlerkorrektur

Modul Diskrete Mathematik WiSe 2011/12

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

Fehlerschutz durch Hamming-Codierung

Die Hamming-Distanz definiert eine Metrik.

Ein (7,4)-Code-Beispiel

Gruppe. Kanalcodierung

Grundlagen der Rechnernetze. Übertragungssicherung

, 2015W Übungstermin: Do.,

Musterlösung zur Aufgabe A1.1

Codes on Graphs: Normal Realizations

Klausur Informationstheorie und Codierung

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

KANALCODIERUNG AUFGABEN. Aufgabe 1. Aufgabe 2

Fachprüfung. Nachrichtencodierung

A1.1: Zur Kennzeichnung aller Bücher

Kodierungstheorie: Lineare Kodes

Technische Informatik - Eine Einführung

Codierung Fehlerdetektion

Perfekte Codes. Definition Perfekter Code. Sei C {0, 1} n ein (n, M, d)-code. C heißt perfekt, falls

Kapitel 7: Optimalcodierung und Huffman Coding

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

6 Fehlerkorrigierende Codes

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142

Definition Information I(p)

2. Tutorium Digitaltechnik und Entwurfsverfahren

Single Parity check Codes (1)

, 2016W Übungstermin: Fr.,

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

Grundlagen der Technischen Informatik. 2. Übung

Die Mathematik in der CD

Fachprüfung. Nachrichtencodierung

3 Der Hamming-Code. Hamming-Codes

Codes on Graphs: Normal Realizations

Informations- und Kodierungstheorie

A1.1: Zur Kennzeichnung aller Bücher

Theoretische Grundlagen der Informatik WS 09/10

Facetten der Codierungstheorie

Satz. Wie wirkt sich ein Basiswechsel auf die Darstellungsmatrix einer linearen Abbildung F : V n V n aus?

Informationstheorie und Codierung

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

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Lösungshinweise zur Klausur. Mathematik für Informatiker III. (Dr. Frank Hoffmann) 18. Februar 2008

Blatt 10 Lösungshinweise

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2012

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

21. Dynamic Programming III

Übung zu Drahtlose Kommunikation. 1. Übung

Praktikum Fehlerreduktionssysteme / Codierungstheorie

Angewandte Informationstechnik

Signale und Codes Vorlesung 6

Übungsblatt 5 - Musterlösung

Fehlerkorrektur. Einzelfehler besitze die Wahrscheinlichkeit p. Es gelte Unabhängigkeit der Fehlereinflüsse Für ein Wort der Länge n gelte noch:

in der Mathematik-Ausbildung

Theoretische Grundlagen der Informatik. Vorlesung am 7. Februar INSTITUT FÜR THEORETISCHE INFORMATIK

Fehlererkennung. Fehlererkennung

Algebraische Codierungstheorie

Algorithmen für die Speicherhierarchie

Codierung zur Fehlerkorrektur und Fehlererkennung

Übungsblatt Nr. 7. Lösungsvorschlag

(Prüfungs-)Aufgaben zur Codierungstheorie

Hamming-Geometrie der Bitvektoren

Fehlererkennung und Fehlerkorrektur in Codes

Konstruktion von guten linearen Blockcodes

Lineare Algebra und Numerische Mathematik für D-BAUG

(Network) Coding und Verbindungen zur Systemtheorie

Algebraisches Internet

Fehlerkorrigierende Codes

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

Leitfaden 20. t = dim V dimu.

Fehlerkorrigierende Codes

A1.14: Bhattacharyya Schranke für BEC

Serie 8: Fakultativer Online-Test

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

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

Fehlerkorrigierende Codes

Error detection and correction

Transkript:

Kapitel 3: Syndromcodierung / Hamming Codes

Ziele des Kapitels Lineare Codes Zyklische Codes Copyright M. Gross, ETH Zürich 26, 27 2

Parity-Check-Matrix Theorem: Die Minimaldistanz eines linearen Codes mit Parity-Check-Matrix H ist gleich der minimalen Anzahl von Spalten in H, die linear abhängig sind Copyright M. Gross, ETH Zürich 26, 27 3

Parity-Check-Matrix Beweis: Wenn H insgesamt t linear abhängige Spalten h i enthält, wobei N i c i h i Mit höchstens t verschiedenen c i, dann ist [c,,c N ] ein Codewort mit minimalem Gewicht wd min Copyright M. Gross, ETH Zürich 26, 27 4

Parity-Check-Matrix Umgekehrt, wenn [c,,c N ] ein Codewort mit minimalem Gewicht wd min Dann sind die den Symbolen c i! entsprechenden w Spalten von H linear abhängig Copyright M. Gross, ETH Zürich 26, 27 5

Syndromcodierung Wir betrachten das Problem der Fehlerkorrektur für lineare Codes Fehlerkorrektur ist immer komplexer als Fehlerdetektion Der allgemeine Aufwand zum Vergleich eines empfangenen Codewortes mit allen möglichen Einträgen ist O(q K ) Für lineare Codes gibt es ein effizienteres Verfahren in O(q N-K ) Dazu verwenden wir folgende Annahme Copyright M. Gross, ETH Zürich 26, 27 6

Syndromcodierung Das Codewort c werde im Kanal durch einen Fehlervektor e in ein Wort (c+e) verfälscht Durch Multiplikation mit H erhalten wir das sogenannte Syndrom s, so dass s T T T T T ( c + e) H c H + e H + e H e H Bei Annahme von Gleichverteilung der Codewörter kann Fehlerkorrektur wie folgt erreicht werden: Wir schätzen e aufgrund von s Wir korrigieren das empfangene Codewort durch Subtraktion Implementierung mittels einer Tabelle, die jedem der O(q N-K ) Syndrome ein Fehlermuster minimalen Gewichts zuweist Copyright M. Gross, ETH Zürich 26, 27 7

Syndromcodierung Gegeben: Binärer [5,2] Code mit G Auflisten aller möglichen 2 N-K 8 Syndrome I K Syndrom A Muster ( e) H w w w w 2 n-k Jeder Spalte der Matrix H wird ein Fehlervektor zugeordnet bei dem Bit gesetzt ist Copyright M. Gross, ETH Zürich 26, 27 8

Syndromcodierung Syndrom Muster ( e) w w w 2 w Prinzip: Minimales Gewicht w min bezüglich aller mit Syndrom konsistenter Fehlermuster r c + e empfangen T s r H e r e c a Parity-Check Prüfbits (aus der Syndromtabelle) Copyright M. Gross, ETH Zürich 26, 27 9

Anmerkungen Bei einem Linearcode entsteht dann und nur dann eine nichterkennbare Verfälschung, wenn w(e) d min ist Dann könnte e ein Kanalcodewort sein Gilt die Bedingungen zur Mindestdistanz, so ist r ein Kanalcodewort, wenn r H T Sollen alle Fehlermuster korrigierbar sein, deren Distanz w(e) s ist, so kann man die Anzahl der (N-K) erforderlichen Kontrollbits berechnen Copyright M. Gross, ETH Zürich 26, 27

Anzahl von Kontrollbits Wir berechnen die Mindestanzahl der erforderlichen Kontrollbits Gegeben sei ein Kanalcode mit Codewörtern [c,,c N ] der Länge N, sowie d min Aufgrund von Verfälschungen gibt es N i N! i!( N i)! Binärfolgen der Distanz i Davon sind nur 2 K Folgen Kanalwörter mit Distanz d min Copyright M. Gross, ETH Zürich 26, 27

Copyright M. Gross, ETH Zürich 26, 27 2 Anzahl von Kontrollbits Damit alle Fehler s korrigierbar sind, muss gelten Damit ist K berechenbar Es gilt: + + + r N N N K N 2 2 2 2 min 2 d i K i N

Anzahl von Kontrollbits Kanalcode mit N7 und d min 3. Berechnen K Ein Fehler korrigierbar, zwei erkennbar 2 2 7 7 K 2 2 4 K 3 + 2 4 7 Das heisst bei 4 Nutzbits erhält man 6 Quellcodewörter sowie 3 Kontrollbits pro Wort Copyright M. Gross, ETH Zürich 26, 27 3

Hamming Codes Eine bedeutende Klasse linearer Codes sind die Hamming Codes Für jedes r > gibt es einen Code der Länge N2 r - mit KN-r Informationsbits und d min 3 Je grösser K, desto näher an ist die Rate Jeder Hamming-Code kann einen Fehler pro Block korrigieren Je länger der Block, desto kleiner die tolerierbare Fehlerwahrscheinlichkeit des Kanals Beliebt bei kleinen Fehlerraten Copyright M. Gross, ETH Zürich 26, 27 4

Hamming Codes Die (r x (2 r -)) Parity-Check-Matrix kann einfach konstruiert werden Sie besteht aus allen 2 r - vom Nullvektor verschiedenen Spalten Die Reihenfolge der Spalten ist damit noch nicht festgelegt Die Minimaldistanz folgt aus der Tatsache, dass sich keine zwei Spalten von H zu Null addieren, da sie verschieden sind Es gibt jedoch viele Spaltentripel, die linear abhängig sind Copyright M. Gross, ETH Zürich 26, 27 5

Praktische Konstruktion Damit kann man einen Hamming-Code wie folgt konstruieren:. Lege r und damit N fest, z. B. r3, N7 2. Schreibe alle 2 r - vom -Vektor verschiedenen Spalten in H 3. Ordne sie strukturell gemäss H[-A T I N-K ] 4. Extrahiere A T aus H[-A T I N-K ] 5. Konstruiere die Generatormatrix G[I K A] Dies ist offensichtlich eine sehr einfache Methode, einen fehlerkorrigierenden Code zu konstruieren Copyright M. Gross, ETH Zürich 26, 27 6

Copyright M. Gross, ETH Zürich 26, 27 7 Hamming - Code [7,4] das heisst r3 und N7 Dim(H)rx(2 r -)3x7 Matrix [ ] K N T I A H A -A T

Copyright M. Gross, ETH Zürich 26, 27 8 Hamming - Code [ ] A I G K

Duale Hamming Codes Interessante Codes erhält man, wenn man die Parity-Check-Matrix eines Codes zur Generatormatrix eines weiteren Codes macht Definition: Ein Code C' ist dual zu einem Code C, wenn die Generatormatrix von C' eine Parity- Check-Matrix von C ist Im dualen Hamming-Code ist die Anzahl der Informationsbits kleiner und die Minimaldistanz sehr gross Es gilt für den dualen Hamming-Code dmin 2 r Copyright M. Gross, ETH Zürich 26, 27 9