Rechnernetze
Home Nach oben

Fehlerkorrektur

Bluetooth verwendet drei Fehlerkorrekturverfahren:

1/3 rate FEC
Jedes Bit wird dreimal direkt hintereinander gesendet. Dieses Verfahren wird bei allen Headern und bei einem Sprachdienst verwendet. Tritt nur ein Bitfehler auf, so kann durch einen Entscheider (arbiter) der korrekte Wert errechnet werden.

2/3 rate FEC
Es wird ein 15 Bit-Hammingverfahren verwendet, welches zu 10 Bits ein 5 Bit-Rest (Generator = 110101) berechnet. Der Empfänger kann Fehler, die nur ein Bit enthalten, korrigieren und alle 2 Bit-Fehler erkennen.

ARQ-Verfahren für Daten.

Die ARQ-Verfahren werden nur bei gesicherten Datenpakten angewendet. Das Schema entspricht dem Sende- und Warte-ARQ, wobei Bluetooth festlegt, dass die Quittung direkt im nächsten Slot nach einem Datenpaket gesendet werden muss; dieses ist möglich, da Master und Slave in alternierenden Slots senden, so dass die Wartezeit in der Regel gering bleibt. Da Datenpakete alternierend nummeriert werden, können mehrfach gesendete gleiche Pakete vom Empfänger unterschieden werden.

Eine besondere Betriebsart, die Flushing genannt wird, erlaubt es auch im Fehlerfall den folgenden Datensatz zu senden. Dieses kann bei zeitkritischen Daten - zum Beispiel Befehle zum Steuern eines mechanischen Geräts - notwendig sein. Bluetooth spricht hier von isochronen Daten

Da Broadcast-Nachrichten nicht quittiert werden können, werden sämtliche Broadcast-Nachrichten mehrfach gesendet. 

Die Fehlererkennung geschieht mit einem CRC-Verfahren mit dem CCITT-CRC-Generatorpolynom G(D)=D16+D12+D5+D0. Es wird allerdings (auch beim HEC-Verfahren) das Register mit einem speziellen Anfangswert (UAP: upper address part) initialisiert.