Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fehlererkennende Codes

Ähnliche Präsentationen


Präsentation zum Thema: "Fehlererkennende Codes"—  Präsentation transkript:

1 Fehlererkennende Codes
Paritätsprüfung Paritätsbit / Prüfbits Ergänzt Bitsumme zu gerader (even) oder ungerader (odd) Anzahl  unterschiedliche Paritätsprotokolle Ungerade Anzahl von Bitfehlern kann erkannt, aber nicht behoben werden Weiterentwicklungen: Hamming-Code, ECC Beispiel (even) | P = 1 (5 Einsen) | P = 0 (4 Einsen) 1

2 Fehlererkennende Codes
Hamming-Distanz Richard W. Hamming (1915 – 1998) Hamming-Distanz zweier binärer Blöcke gleicher Länge ergibt sich aus Anzahl der Nicht-Übereinstimmungen im bitweisen Vergleich ( Einsen bei XOR-Operation) Hamming-Distanz eines Codes aus Wörtern gleicher Länge: Minimum der paarweisen Hamming-Distanzen

3 Fehlererkennende Codes
Hamming-Distanz kleine Hamming-Distanz  Fehlerkorrektur schwieriger Allgemein: um r Bitfehler korrigieren zu können, muss für die Hamming-Distanz h eines Codes gelten: h ≤ 2r + 1 Beispiel h = 3, c = {010, 101}  alle ungültigen Code- wörter können erkannt und korrigiert werden  {000, 110, 011} für 010

4 Fehlererkennende Codes
Hamming-Code Fehlerkorrigierender Code mit Mindest-Hammingabstand von 3 (7,4) ist einfachster Hamming-Code: 4 Bit Nutzdaten, 3 Prüfbits Hamming-Codes sind perfekt, d.h. jedes Wort ist entweder Codewort oder hat Hamming-Abstand von 1 zu gültigen Codewort Bits werden durchnummeriert, Positionen mit Zweierpotenz werden Prüfbits Paritäten für Reihen von Einzelbits bestimmen ( jedes Bit kann in mehrere Prüfbits eingehen) Erstellung der Kontrollmatrix, Bestimmung der Prüfbits

5 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

6 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

7 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

8 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

9 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

10 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

11 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8) usw.

12 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P3 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

13 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P2 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)  gerade Anzahl

14 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

15 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: 1 P0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

16 Fehlererkennende Codes
Hamming-Code – Beispiel (15,11)-Code: P0 = 1, P1 = 1, P2 = 0, P3 = 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8)

17 Fehlererkennende Codes
Hamming-Code – Beispiel (Erkennung) (15,11)-Code: 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P0 (20 = 1) x P1 (21 = 2) P2 (22 = 4) P3 (23 = 8) Fehler bei P0, P1 und P2  Fehler an Stelle = = 7

18 Fehlererkennende Codes
CRC – zyklische Redundanzprüfung CRC beruht auf Polynomdivision, d.h. Folge von zu übertragenden Bits wird als Polynom betrachtet Ablauf Bitfolge wird um Grad(G(x)) Nullen ergänzt und durch festgelegtes Polynom G(x) (Generatorpolynom) geteilt (mit Rest!) Rest wird bei Übertragung an Datenblock angehängt Empfangener Datenblock wird wieder durch Generatorpolynom geteilt, bei fehlerfreier Übertragung bleibt Rest 0

19 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011)

20 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011)

21 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011) 10011

22 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011) 10011 10110

23 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011) 10011 10110 10100

24 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011) 10011 10110 10100 1110

25 Fehlererkennende Codes
CRC – Beispiel Datenframe: Generator: G(x) = x4 + x + 1 (10011) 10011 10110 10100 1110 Anmerkung Bestimmte Generatorpolynome empirisch besser geeignet  CRC CRC-16


Herunterladen ppt "Fehlererkennende Codes"

Ähnliche Präsentationen


Google-Anzeigen