Il controllo degli errori O controlo de erros Le contrôle des erreurs Verificación de errores Error checking

Die Fehlerkontrolle

Der binäre Code ist sehr praktisch bei der Verwendung von elektronischen Geräten wie dem Computer, bei denen Informationen durch die An- oder Abwesenheit eines elektronischen Signals codiert werden können.

Das elektrische Signal kann allerdings gestört werden (Verzerrung, Lärm), vor allem bei der Übertragung von Daten über eine weite Strecke. Daher ist bei manchen Anwendungen nötig, die Daten auf ihre Gültigkeit zu überprüfen (im professionellen, Bank-, und Industriebereichen, wenn Vertrauen oder Sicherheit wichtig sind,...).

Deswegen gibt es Mechanismen, die dafür sorgen, dass die Daten ein bestimmtes Niveau anIntegrität haben, also dem Empfänger versichern, dass die empfangenen Daten den gesendeten Daten auch entsprechen. Es gibt zwei Arten, sich vor Fehlern zu schützen :

  • entweder, indem man das Übertragungsmedium schützt, also durch physischen Schutz. Eine gewöhnliche Verbindung hat in der Regel eine Fehlerquote zwischen 10-5 und 10-7.
  • oder durch den Einsatz von logischen Mechanismen zum Suchen und zur Korrektur von Fehlern.

Die meisten logischen Fehlerkontrollsysteme basieren auf zusätzlicher Information (man spricht von « Redundanz »), durch die die Gültigkeit der Daten überprüft werden kann. Diese zusätzliche Information nennt man Prüfsumme (auf Englisch checksum).

Fehlerkorrektur

Inzwischen wurden weiter verbesserte Fehlersuchsysteme entwickelt, diese Codes heißen :

  • selbstkorrigierende Codes
  • selbstüberprüfende Codes

Die Paritätskontrolle

Die Paritätskontrolle (manchmal VRC, genannt, für Vertical Redundancy Check oder Vertical Redundancy Checking) ist eines der einfachsten Kontrollsystemen. Es wird ein zusätzliches Bit (genannt Paritätsbit) zu einer bestimmten Bitanzahl hinzugefügt, die Codewort genannt wird (meist 7 Bits, die mit dem Paritätsbit ein Byte bilden). Dessen Wert (0 oder 1) wird so gewählt, dass die Gesamtanzahl der Einser-Bits gerade ist. Genauer - es wird 1 hinzugefügt, wenn die Bitanzahl des Codeworts ungerade ist, und 0 im gegenteiligen Fall.

Betrachten wir das folgende Beispiel :

In diesem Beispiel ist die Anzahl der Datenbits mit 1 gerade, daher wird das Paritätsbit auf 0 gestellt. Im nächsten Beispiel hingegen ist die Anzahl der Datenbits ungerade, daher wird das Paritätsbit auf 1 gestellt :

Stellen wir uns nun vor, dass das Bit mit schwächstem Zustand (das ganz rechte) des vorherigen Bytes beeinträchtigt wird :

Das Paritätsbit entspricht dann nicht mehr der Parität des Bytes : ein Fehler wird gefunden.

Wenn allerdings zwei Bits (oder eine gerade Anzahl an Bits) bei der Übertragung zugleich verändert werden, wird kein Fehler entdeckt...

Da das Paritäts-Kontrollsystem nur die Fehler findet, die in ungerader Zahl auftreten, werden dadurch nur 50% der Fehler entdeckt. Dazu hat dieses Fehlersuchsystem den großen Nachteil, dass die gefundenen Fehler nicht korrigiert werden können (die einzige Möglichkeit besteht darin, die erneute Übermittlung des fehlerhaften Bytes zu fordern...).

Kreuzparitätskontrolle

Die Kreuzparitätskontrolle (auch genannt mehrdimensionale Paritätskontrolle oder Longitudinal Redundancy Check, geschrieben LRC) kontrolliert nicht die Integrität der Daten eines Zeichens, sondern die Integrität der Paritäsblits eines Zeichenblocks.

Nehmen wir an, « HELLO » ist die zu übertragende Botschaft im Standard ASCII-Code. So werden die Daten mit den Kreuzparitäts-Kontrollcodes übertragen  :

BuchstabeASCII-Code
(auf 7 Bits)
Paritätsbit
(LRC)
H10010000
E10001011
L10011001
L10011001
010011111
VRC10000100

Die zyklische Redundanzkontrolle

Die zyklische Redundanzkontrolle (geschrieben CRC, oder auf Englisch Cyclic Redundancy Check) ist ein Verfahren zur Integritätskontrolle der Daten, das wirksam und leicht durchzuführen ist. Es ist die am häufigsten eingesetzte Methode zur Fehlersuche in der Telekommunikation.

Prinzip

Die zyklische Redundanzkontrolle ,schützt Datenblocks, genannt Frames ( Jedem Frame ist ein Datenblock zugeordnet, der Kontrollcode heißt (manchmal fälschlicherweiseCRC genannt oderFCS fürFrame Check Sequence bei Codes mit 32 bits). DerCRC Code enthält redundante Elemente vis-à-vis des Frames, dadurch können Fehler entdeckt, aber auch repariert werden.

Contrôle de redondance cyclique (CRC)

Das Prinzip desCRC besteht darin, binäre Sequenzen wie binäre Polynome zu behandeln, also Polynome, deren Koeffizienten der binären Sequenz entsprechen. So kann die binäre Sequenz 110101001 in Polynom-Form folgendermaßen dargestellt werden  :

0*X9 + 1*X8 + 1*X7 + 0*X6 + 1*X5 + 0*X4 + 1*X3 + 0*X2 + 0*X1 + 1*X0
das ist
X8 + X7 + X5 + X3 + X0
oder auch
X8 + X7 + X5 + X31

Auf diese Weise stellt der schwächste Zustand der Sequenz (das Bit ganz rechts) den 0-ten Grad des Polynoms dar (X0 = 1), das 4te Bit von rechts stellt den Grad 3 des Polynoms dar (X3)... Eine Sequenz vonn Bits bildet also ein Polynom mit dem höchsten Grad n-1. Alle polynomen Ausdrücke werden dann mit modulo 2 verändert.

Bei diesem Fehlersuchmechanismus gibt es ein vorher festgelegtes Polynom (genanntGenerator-Polynom und abgekürzt als G(X)), das dem Sender und Empfänger bekannt ist. Die Fehlersuche besteht für den Sender darin, einen Algorithmus auf den Bits des Frames auszuführen, um ein CRC zu erzeugen und diese zwei Element dem Empfänger zu übermitteln. Der Empfänger muss dann nur den selben Rechenvorgang durchführen, um zu überprüfen, ob der CRC gültig ist.

Praktische Anwendung

Nehmen wir an, M sei die Nachricht, die den Bits des zu versendenden Frames entspricht, und M(X) das zugehörige Polynom. Nennen wir die übertragene Nachricht M', also die ursprüngliche Nachricht, die mit einem CRC von n bits verbunden wurde. Der CRC ist M'(X)/G(X)=0. Der CRD Code gleicht also dem Rest der Poynom-Division von M(X) (dem zuvor n Null-Bits angefügt wurden, entsprechend der Länge des CRC) von G(X).

Am einfachsten lässt es sich an einem Beispiel darstellen : nehmen wir die folgende NachrichtM von 16 Bits : 1011 0001 0010 1010 (geschriebenB1 im Hexadezimalcode). Nehmen wir G(X) = X3 + 1 (im Binärcode dargestellt von1001). Da G(X) von3 Grad ist, fügt man4 Null-Bits an M : 1,01100010010101E+19 an. Der CRC entspricht dem Rest der Division von M durch G :

10110001001010100000
1001...,..,.,.,.....
----...,..,.,.,.....
 0100..,..,.,.,.....
 0000..,..,.,.,.....
 ----..,..,.,.,.....
  1000.,..,.,.,.....
  0000.,..,.,.,.....
  ----.,..,.,.,.....
  1000.,..,.,.,.....
   1001,..,.,.,.....
   ----,..,.,.,.....
	1111..,.,.,.....
	1001..,.,.,.....
	----..,.,.,.....
	 1100.,.,.,.....
	 1001.,.,.,.....
	 ----.,.,.,.....
	  1101,.,.,.....
	  1001,.,.,.....
	  ----,.,.,.....
	   1000.,.,.....
	   0000.,.,.....
	   ----.,.,.....
	   10001,.....
		1001,.,.....
		----,.,.....
		10000.,.....
		 1001.,.....
		 ----
		  1111,.....
		  1001,.....
		  ----,.....
		   1100.....
		   1001.....
		   ----.....
			1100....
			1001....
			----....
			 1010...
			 1001...
			 ----...
			  0110..
			  0000..
			  ----..
			   1100.
			   1001.
			   ----.
				1010
				1001
				----
				0011

Um M' zu bilden, muss man lediglich den so erhaltenen CRC an die Bits des zu übertragenden Frames anhängen :

M' = 1011000100101010 + 0011
M' = 10110001001010100011

Wenn der Empfänger nun die Division von M' durch G durchführt, erhält er Null als Rest, wenn die Übertragung fehlerfrei abgelaufen ist :

10110001001010100011
1001...,..,.,.,...,,
----...,..,.,.,...,,
 0100..,..,.,.,...,,
 0000..,..,.,.,...,,
 ----..,..,.,.,...,,
  1000.,..,.,.,.....
  1001.,..,.,.,.....
  ----.,..,.,.,.....
   0010,..,.,.,.....
   0000,..,.,.,.....
   ----,..,.,.,.....
	0101..,.,.,.....
	0000..,.,.,.....
	----..,.,.,.....
	 1010.,.,.,.....
	 1001.,.,.,.....
	 ----.,.,.,.....
	  0110,.,.,.....
	  0000,.,.,.....
	  ----,.,.,.....
	   1101.,.,.....
	   1001.,.,.....
	   ----.,.,.....
		1010,.,.....
		1001,.,.....
		----,.,.....
		 0111.,.....
		 0000.,.....
		 ----
		  1110,.....
		  1001,.....
		  ----,.....
		   1111.....
		   1001.....
		   ----.....
			1100....
			1001....
			----....
			 1010...
			 1001...
			 ----...
			  0110..
			  0000..
			  ----,,
			   1101,
			   1001,
			   ----,
				1001
				1001
				----
				   0

Generator-Polynome

Die am häufigsten verwendeten Generator-Polynome sind :

  • CRC-12 : X12 + X11 + X3 + X2 + X + 1
  • CRC-16 : X16 + X15 + X21
  • CRC CCITT V41 : X16 + X12 + X5 + 1
    (Dieser Code wird vor allem in der ProzedurHDLC verwendet.)
  • CRC-32 (Ethernet) : = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
  • CRC ARPA : X24 + X23 + X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1


Letzte Änderung am Mittwoch 1 April 2009 à 14:16:20.Das Dokument mit dem titel « Die Fehlerkontrolle » aus Kioskea (de.kioskea.net) zur verfügung gestellt wird unter den bedingungen der Creative Commons lizenz. Können Sie ändern, Kopien dieser Seite, unter den Bedingungen der Lizenz, als diese Bewertung deutlich.
Beste Antworten für « Die Fehlerkontrolle » auf :
Bootdiskette Sehen Systemdiskette Eine Systemdiskette, manchmal auch Bootdiskettegenannt, ist eine Diskette, die es ermöglicht den Computer hoch zu fahren, wenn das Betriebssystem nicht mehr antwortet, im Falle einesVirus zum Beispiel. Diese Diskette enthält...
Optimierung des BIOS Sehen Was ist der BIOS? Der BIOS (Basic Input Output S ystem) ist ein kleiner Speicher der sich auf dem Motherboard befindet, dessen Daten die Systemparameter definieren. Gewisse Daten werden in einem Festspeicher (ROM ) hinterlegt, so dass es nicht...
[HowTo] iTunes Store Account ohne Kreditkarte erstellen SehenViele haben sich sicherlich schon gefragt, wie man einen iTunes Account ohne Angabe einer Kreditkarte erstellt. Dies ist ganz einfach: iTunes öffnen Ein kostenloses App auswählen Auf Laden klicken Beim erscheinenden Dialogfenster „Neuen...
ITunes funktioniert nicht mehr SehenNach der Installation der neuen Firmware-Version des iPhones in iTunes erscheint die folgende Fehlermeldung: iTunes funktioniert nicht mehr So ist es nicht möglich, das Update Ihrer Firmware zu installieren. Um hier Abhilfe zu schaffen,...
Download Media Monkey Sehen"* Sortiere deine Musik und bearbeite die Tags deiner Sammlung mit Leichtigkeit Suche und vervollständige automatisch fehlende Tags und Album-Cover Verwalte mehr als 50.000 Titel ohne Geschwindigkeitseinbußen Spiele mp3s und...
Einrichtung eines Netzwerks unter Windows Sehen'Netzwerkverbindung unter Windows 2000/XP Um einen Computer zu konfigurieren, muss man einfach in der Systemsteuerung, einen Doppelklick auf « Netzwerkverbindungen », machen, dann mit der rechten Maustaste auf « Verbindung zum lokalen...
CD, Audio CD und CD-ROM SehenDie Compact Disc ist von Sony und Philips 1981 erfunden worden, um einen hochwertigen kompakten Audio-Träger zu erhalten, der einen direkten Zugriff auf digitale Audiospuren ermöglicht. Er ist offiziell Oktober 1982 erschienen. 1984 sind die...
Computer - Geschichte SehenDie Geschichte desComputers verdanken wir der Tatsache, das Menschen - von Natur aus faul - immer nach Möglichkeiten gesucht haben, ihre Rechenweisen zu verbessern, um Fehler zu verringern und Zeit zu sparen. Der Ursprung : der Abakus Der...