Warum ist der Code der zweidimensionalen Parity-Prüfung 1-fehlerkorrigierend und 3-fehlererkennend?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Wenn ein Fehler auftritt so kann die Stelle dieses Fehlers eindeutig über die Paritätbits bestimmt werden.

Wenn du zB ein 8Bit Datenwort hast und du ein Paritätsbit anhängst hast du 9Bit Codewörter.

Zusätzlich hängst du an 8 übetragene solcher Codewörter eine 9 Bit lange Prüfsumme an, der einzelne Stellen die Paritätsbits der vorhergehenden Bits an den entsprechenden Positionen sind. Also das erste Bit dieses Blocks entspricht der Parität des ersten Bits der letzten 8 Nachrichten.

Wenn jetzt ein Bitfehler in diesem Block auftritt so ist die Parität der jeweiligen Zeile falsch und das entsprechende Paritätsbit in der neuten Nachricht ist ebenfalls falsch, damit hat man quasi auf diese Art genau die Koordinaten des Fehlerhaften Bits.

Mit ähnlichen Überlegungen kommt man auch dazu, dass du 3 falsche Bit erkennen kannst.

Hier hast du eine Erklärung wie es mit dem Hammingabstand zusammenhängt:

https://cs.stackexchange.com/questions/48706/two-dimensional-parity-check