1 / 25

Fehlererkennende Codes

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)

lyris
Download Presentation

Fehlererkennende Codes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Codesgelten: h ≤ 2r + 1 Beispielh = 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

  6. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  7. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  8. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  9. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  10. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  11. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1 usw.

  12. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  13. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1  gerade Anzahl

  14. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  15. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1

  16. Fehlererkennende Codes Hamming-Code – Beispiel • (15,11)-Code: 00 01 01 11 00 1 • P0 = 1, P1 = 1, P2 = 0, P3 = 1

  17. Fehlererkennende Codes Hamming-Code – Beispiel (Erkennung) • (15,11)-Code: 000 101 110 000 111 Fehler bei P0, P1 und P2 Fehler an Stelle 20 + 21 + 22 = 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 • 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: 1101011011 Generator: G(x) = x4 + x + 1 (10011) 1101011011

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

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

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

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

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

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

More Related