Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fehlererkennende Codes Paritätsprüfung Paritätsbit / Prüfbits Ergänzt Bitsumme zu gerader (even) oder ungerader (odd) Anzahl unterschiedliche Paritätsprotokolle.

Ähnliche Präsentationen


Präsentation zum Thema: "Fehlererkennende Codes Paritätsprüfung Paritätsbit / Prüfbits Ergänzt Bitsumme zu gerader (even) oder ungerader (odd) Anzahl unterschiedliche Paritätsprotokolle."—  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) 10011101| P = 1 (5 Einsen) 10100110| P = 0 (4 Einsen) 1 0

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: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1) P 1 (2 1 = 2) P 2 (2 2 = 4) P 3 (2 3 = 8)

6 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)x P 1 (2 1 = 2)x P 2 (2 2 = 4)x P 3 (2 3 = 8)x

7 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)x P 1 (2 1 = 2)xx P 2 (2 2 = 4)xx P 3 (2 3 = 8)xx

8 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xx P 1 (2 1 = 2)xx P 2 (2 2 = 4)xxx P 3 (2 3 = 8)xxx

9 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xx P 1 (2 1 = 2)xx P 2 (2 2 = 4)xxxx P 3 (2 3 = 8)xxxx

10 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xxx P 1 (2 1 = 2)xxx P 2 (2 2 = 4)xxxx P 3 (2 3 = 8)xxxxx

11 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xxx P 1 (2 1 = 2)xxxx P 2 (2 2 = 4)xxxx P 3 (2 3 = 8)xxxxxx usw.

12 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011P3P3 100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx

13 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 00010111100P2P2 1P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx gerade Anzahl

14 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 0001011110001P1P1 P0P0 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx

15 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 00010111100011P0P0 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx

16 Fehlererkennende Codes Hamming-Code – Beispiel (15,11)-Code: 00 01 01 11 00 1 P 0 = 1, P 1 = 1, P 2 = 0, P 3 = 1 000101111000111 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx

17 Fehlererkennende Codes Hamming-Code – Beispiel (Erkennung) (15,11)-Code: 000 101 110 000 111 000101110000111 151413121110987654321 P 0 (2 0 = 1)xxxxxxxx P 1 (2 1 = 2)xxxxxxxx P 2 (2 2 = 4)xxxxxxxx P 3 (2 3 = 8)xxxxxxxx Fehler bei P 0, P 1 und P 2 Fehler an Stelle 2 0 + 2 1 + 2 2 = 1 + 2 + 4 = 7

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

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

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

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

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

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

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

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


Herunterladen ppt "Fehlererkennende Codes Paritätsprüfung Paritätsbit / Prüfbits Ergänzt Bitsumme zu gerader (even) oder ungerader (odd) Anzahl unterschiedliche Paritätsprotokolle."

Ähnliche Präsentationen


Google-Anzeigen