Paritätsbit
| Inhaltsverzeichnis |
|
1 Erzeugung N Paritätsbits |
Paritätskontrolle (parity check)
Die Paritätskontrolle dient der Erkennung fehlerhaft übertragener Informationsworte. Als Informationswort wird hier eine Folge von Bits bezeichnet. Die Paritätskontrollcodierung hängt dem Informationswort ein (N=1) Paritätskontrollbit auch Paritybit genannt an. Das Ergebnis, welches um N=1 Stelle länger ist als das Informationswort, wird hier Codewort genannt. Die Methode der Fehlererkennung mittels Paritätsbits heißt Paritätsprüfung. Da nicht bekannt ist wo innerhalb des Codewortes der Fehler aufgetreten ist, ist keine Fehlerkorrektur möglich. Ausserdem ist bei einem Paritätsbit N=1 nur eine ungerade Anzahl von Bitfehlern in einem Codewort feststellbar. Eine gerade Anzahl von Bitfehlern wird nicht festgestellt.
Hierfür gibt es Weiterentwicklungen wie den Hamming-Code oder das ECC-Verfahren. Mit diesen Verfahren ist auch eine Fehlerkorrektur möglich.
Erzeugung N Paritätsbits
Beim Sender werden alle Bits eines Datenblocks (hier Informationswort) modulo N addiert. Entsprechend lassen sich bis zu N Bitfehler erkennen. Für N=1 wird die Summe der Einsen (Paritätssumme) im Informationswort berechnet. Ist diese Summe gerade wird bei Even-Parity das Paritätsbit zu Null. Entsprechend ergibt eine ungerade Summe des Informationswortes das Paritätsbit Eins (Even-Parity).
Beispiel:
- Das Informationswort 0011.1010 hat vier Einsen. Vier ist eine gerade Zahl, das Paritätskontrollbit ist also die Null, und das resultierende Codewort ist 0011.1010 0.
- Das Informationswort 1010.0100 hat hingegen eine ungerade Paritätssumme und wird in das Codewort 1010.0100 1 codiert.
- Beide Codewörter weisen eine gerade Paritätssumme auf (Even-Parity).
Empfang des Codewortes mit N Paritätsbits
Der Empfänger addiert die Bits des empfangenen Codewortes ebenfalls und überprüft, ob er denselben Code berechnet hat. N ist spezifisch für das jeweilige Datenübertragungsverfahren. Wenn N = 1, dann besteht der Parity-Check-Code aus genau einem Paritätsbit, bei N = 2 aus 2 Paritätsbit, etc.
Bei der asynchronen Datenübertragung über eine serielle RS232-Schnittstelle ist die Blockgröße gewöhnlich 8 Bit und N = 1. Sollte ein Bit verfälscht werden (eine Null in eine Eins oder eine Eins in eine Null), so ist die Paritätssumme des resultierenden Codewortes ungerade, und der Dekodierer erkennt, dass es zu einem Fehler gekommen ist. Es ist aber für den Dekodierer nicht möglich, den Fehler zu korrigieren, da nicht bekannt ist, welches Bit verfälscht wurde. Wurde jedoch mehr als ein Bit verfälscht, so ist es eventuell gar nicht möglich, den Fehler zu erkennen, da die Paritätssumme dann auch gerade sein kann. Man sagt: Der Paritätskontrollcode ist 1-fehlererkennend und 0-fehlerkorrigierend.
Anwendungsbereich
Paritätsbits finden u.a. in der DFÜ, Netzwerktechnik und bei Speichermodulen Verwendung.
Die ursprüngliche Form der ASCII-Zeichentabelle besteht aus 128 Zeichen, jedes Zeichen ist durch eine Folge von sieben Bits eindeutig festgelegt. Da ein Rechner acht Bits zu einem Byte zusammenfasst, wird dieses achte Bit gerne verwendet, um ein Paritätskontrollbit anzuhängen.
Gerade und ungerade Parität
Unterschieden wird zwischen zwei Paritätsprotokollen: even (gerade) und odd (ungerade). In beiden Fällen wird die Anzahl der Einsen innerhalb des zugeordneten Worts ermittlelt. Ist die Parität "even" (gerade) eingestellt, so wird das Paritätsbit gesetzt, falls eine ungerade Anzahl Datenbits im Zeichen gesetzt ist. Im Falle "odd" (ungerade) wird das Bit gesetzt, falls eine gerade Anzahl Datenbits innerhalb des Zeichens gesetzt ist. Mit "gerade" oder "ungerade" ist also die Anzahl gesetzter Datenbits inklusive des Paritätsbits gemeint.
Beispiel:
Im Beispiel soll eine ungerade ("Odd")Parität hergestellt werden:
| "Wort" | Paritätsbit | |
| 0100.1110 | 1 | Da das "Wort" bereits 4 Einsen enthält + Parity und somit das Codewort ungerade ist |
| 1011.0110 | 0 | Da das "Wort" 5 Einsen enthält und durch das Paritätsbit ungerade bleibt |
| 0100.0000 | 1 | Das Codewort hat hier 2 Einsen obwohl die Anzahl ungerade sein sollte. Fehler |
Ist das Paritätsbit immer 1, dann spricht man von einer Mark-Parität (enth. keine Information).
