-
Die Erfindung betrifft Verfahren und Vorrichtungen zum Übertragen eines Datenpakets.
-
Bei einer Übertragung von Datenpaketen mit Informationssymbolen können Übertragungsfehler in den Datenpaketen auftreten. Um diese Übertragungsfehler zu erkennen und ggfs. auch zu korrigieren werden den Datenpaketen Redundanzsymbole hinzugefügt. Dies wird mit allgemein bekannten Codes wie BCH-(BCH-Bose-Chaudhuri-Hocquenghem-Codes) oder CRC-Codes (CRC-cyclic redundancy check Code) erzielt.
-
In einer Automatisierungsanlage werden zwischen den Automatisierungseinheiten Nachrichten mit Status- und Steuerinformationen ausgetauscht. Derartige Nachrichten können zum Schutz vor Manipulation und/oder zur Gewährleistung einer korrekten Übertragung mit fehlerkennenden und/oder fehlerkorrigierenden Codes geschützt sein. Oftmals haben diese Informationen eine Gültigkeit für einen bestimmten Zustand einer der Automatisierungseinheiten oder sind nur zu einem bestimmten Zeitpunkt gültig.
-
Daher besteht eine Aufgabe der vorliegenden Erfindung darin Verfahren und Vorrichtungen anzugeben, mit denen eine Gültigkeit für Datenpakete in einfacher Weise und ohne zusätzliche Bandbreite signalisiert werden können.
-
Diese Aufgabe wird durch die kennzeichnenden Merkmale der unabhängigen Ansprüche gelöst. Weiterbildungen der Erfindung sind den abhängigen Ansprüchen zu entnehmen.
-
Die Erfindung betrifft ein Verfahren zum Übertragen eines Datenpakets mit n-Symbolen mit folgenden Schritten:
- a) Bereitstellen eines Informationswortes mit k-Symbolen;
- b) Erzeugen eines Codeworts mit n-Symbolen mit Hilfe eines Generatorpolynoms basierend auf den k Symbolen des Informationsworts, wobei das Codewort ein Redundanzwort mit n – k Symbolen aufweist;
- c) Bereitstellen eines Zustandswortes zum Anzeigen eines Zustands des Datenpakets aus maximal n-Symbolen derart, dass
- c1) durch eine Verknüpfung des Codeworts mit dem Zustandswort ein abgeleitetes Codewort erzeugt wird,
- c2) bei einer Division des abgeleiteten Codeworts durch das Generatorpolynom als Rest das Zustandswort generiert wird;
- d) Erzeugen des Datenpakets durch Verknüpfung des Codeworts mit dem Zustandswort.
-
Diese Vorgehensweise zeigt den Vorteil, dass ohne Hinzunahme eines zusätzlichen Symbols zum Informationswort ein Zustand des mittels des Datenpakets übermittelten Informationswortes in kodierter Form ermöglicht wird. Zudem können mit Hilfe der Erfindung neben einem Zustand auch zwei oder mehrere Zustände mit dem Datenpaket signalisiert werden. In einer vorteilhaften Ausgestaltung bietet sich an, dass ein erstes Zustandswort einem Wort entspricht, das nach einer Verknüpfung mit dem Codewort wieder das Codewort ergibt. Weitere Zustandswörter sollten derart gewählt werden, dass alle Zustandswörter verschieden sind. Vorzugsweise wird eine Länge des jeweiligen Zustandswortes kleiner oder gleich n – k Symbole gewählt. So kann das Zustandswort in einer Variante mit dem Redundanzwort des Codewortes verknüpft werden, beispielsweise werden die Symbole des Zustandswortes lediglich mit den Symbolen des Redundanzwortes verknüpft. In einer vorteilhaften Ausgestaltung werden als Symbol binäre Zeichen verwendet. Die Erfindung kann aber auch durch anders gestaltete Symbole ausgeführt werden, wie bspw. Symbole mit einem Alphabet aus 3, 4 oder 5 Zeichen. Als vorteilhaft – aber nicht beschränkend auf die Erfindung – hat sich gezeigt, ein Generatorpolynom einzusetzen, das zu linearen Codewörtern führt. Die Verknüpfung kann beispielsweise mit einer XOR-Arithmetik (XOR – exklusiv oder) ausgestaltet werden, jedoch ist dies nicht zwingend. Auch andere Metriken sind im Rahmen der Erfindung zulässig. Die XOR Verknüpfung hat sich unter Anderem als sehr einfach anzuwenden herausgestellt.
-
In einer vorzugsweisen Ausgestaltung der Erfindung werden das Generatorpolynom und das Zustandswort derart ausgewählt, dass eine Restfehlerwahrscheinlichkeit, die ein fehlerhaftes Rekonstruieren eines Informationswortes aus einem mit zumindest einem Fehler behafteten Datenpaket anzeigt, minimiert wird.
-
Ferner kann die Auswahl des Generatorpolynoms und des Zustandswortes auch derart ausgeführt werden, dass eine Summe von einer Restfehlerwahrscheinlichkeit der jeweiligen Zustände, die jeweils ein fehlerhaftes Rekonstruieren eines Informationswortes für den jeweiligen Zustand aus einem mit zumindest einem Fehler behafteten Datenpaket anzeigt, minimiert wird.
-
Hierbei können unter Anderem als Restfehlerwahrscheinlichkeit eine oder mehrere der folgenden Wahrscheinlichkeiten verwendet werden:
- – Es wird ein zweiter Zustand aus dem Datenpaket bei einem Empfänger erkannt, obwohl ein erster Zustand mit einem ersten Zustandswort kodiert wurde;
- – Es wird ein erster Zustand aus dem Datenpaket bei einem Empfänger erkannt, obwohl ein zweiter Zustand mit einem zweiten Zustandswort kodiert wurde;
- – Es wird ein rekonstruiertes Informationswort nach Dekodierung des Datenpaktes mittels inverser Verknüpfung und Anwendung des Generatorpolynoms generiert, welches nicht dem ursprünglich im Datenpaket kodierten Informationswort entspricht.
-
Diese vorteilhafte Ausgestaltung ermöglicht, dass trotz des Anwendens der Verknüpfung auch bei fehlerhafter Übertragung des Datenpakets über einen störanfälligen Übertragungskanal eine fehlerfreie Rekonstruktion des ursprünglichen Informationswortes und des ursprünglichen Zustandswortes in einfacher und zuverlässiger Weise ermöglicht wird.
-
Die Erfindung betrifft auch ein Verfahren zum Detektieren eines Zustands aus einem Datenpaket, wobei das Datenpaket gemäß einer der vorangehenden Ausführungen erzeugt wird, mit folgenden Schritten:
- a) Erzeugen eines rekonstruierten Zustandswortes durch Division des Datenpakets (DP) durch das Generatorpolynom;
- b) Zuweisen des Zustands (Z2) zu dem Datenpaket, falls das rekonstruierte Zustandswort einem der Zustandswörter gleicht.
-
Durch diese Vorgehensweise kann ein Empfänger den Zustand des im Datenpaket kodierten Informationswortes zuverlässig und mit geringer Komplexität erkennen. Zur Ermittlung des Informationswortes kann das Datenpaket zunächst mit dem Zustandswort, welches im Schritt b) erkannt wird, verknüpft werden, und aus dem Ergebnis der Verknüpfung das Informationswort detektiert werden.
-
Ferner betrifft die Erfindung auch ein Verfahren zum Detektieren eines Zustands aus einem Datenpaket, wobei das Datenpaket (DP) gemäß einer der vorangehenden Ausführungen erzeugt wird, mit folgenden Schritten:
- a) Erzeugen eines rekonstruierten Zustandswortes durch Division des Datenpakets durch das Generatorpolynom;
- b) falls das rekonstruierte Zustandswort keinem der Zustandswörter gleicht,
- b1) Ermitteln eines jeweiligen rekonstruierten Codeworts durch Verknüpfung des Datenpakets und des jeweiligen Zustandswerts für den jeweiligen Zustand,
- b2) Zuweisen des Datenpakets zu demjenigen Zustand, dessen rekonstruiertes Codewort sich mit einem der gültigen Codeworte in einer geringsten Anzahl an Symbolen unterscheidet.
-
Durch diese Weiterbildung der Erfindung kann ein Empfänger den Zustand des im Datenpaket kodierten Informationswortes auch bei Übertragungsfehlern zuverlässig erkennen.
-
Ferner ist ein Teil der Erfindung auch eine erste Vorrichtung zum Übertragen eines Datenpakets mit n-Symbolen mit folgenden Modulen:
- a) Erstes Modul zum Bereitstellen eines Informationswortes mit k Symbolen;
- b) Zweites Modul zum Erzeugen eines Codeworts mit n-Symbolen mit Hilfe eines Generatorpolynoms basierend auf den k Symbolen des Informationsworts, wobei das Codewort ein Redundanzwort mit n – k Symbolen aufweist;
- c) Drittes Modul zum Bereitstellen eines Zustandswortes zum Anzeigen eines Zustands des Datenpakets aus maximal n-Symbolen derart, dass
- c1) durch eine Verknüpfung des Codeworts mit dem Zustandswort ein abgeleitetes Codewort erzeugbar ist,
- c2) bei einer Division des abgeleiteten Codeworts durch das Generatorpolynom als Rest das Zustandswort generierbar ist;
- d) Viertes Modul zum Erzeugen des Datenpakets durch Verknüpfung des Codeworts mit dem Zustandswort.
-
Diese erste Vorrichtung ist derart ausgestaltet, dass damit die Erfindung gemäß der Vorteile der korrespondierenden Verfahrensschritte implementierbar und ausführbar ist.
-
In einer vorteilhaften Weiterbildung der ersten Vorrichtung sind das zweite und dritte Modul ferner derart ausgestaltet, das Generatorpolynom und das Zustandswort derart auswählbar ist, dass eine Restfehlerwahrscheinlichkeit, die ein fehlerhaftes Rekonstruieren eines Informationswortes aus einem mit zumindest einem Fehler behafteten Datenpaket anzeigt, zum Detektieren eines falschen Informationswortes minimierbar ist. Diese Weiterbildung der ersten Vorrichtung ist vorteilhaft, da damit die Erfindung gemäß der Vorteile der korrespondierenden Verfahrensschritte implementierbar und ausführbar ist. In einer vorteilhaften Weiterbildung der ersten Vorrichtung sind das zweite und dritte Modul ferner derart ausgestaltet, dass das Generatorpolynom und das Zustandswort derart auswählbar ist, dass eine Summe von einer Restfehlerwahrscheinlichkeit der jeweiligen Zustände, die jeweils ein fehlerhaftes Rekonstruieren eines Informationswortes für den jeweiligen Zustand aus einem mit zumindest einem Fehler behafteten Datenpaket anzeigt, zum Detektieren eines falschen Informationswortes minimierbar ist. Diese Weiterbildung der Vorrichtung ist vorteilhaft, da damit die Erfindung gemäß der Vorteile der korrespondierenden Verfahrensschritte implementierbar und ausführbar ist.
-
Die Erfindung umfasst auch eine zweite Vorrichtung zum Detektieren eines Zustands aus einem Datenpaket, wobei das Datenpaket gemäß einem der vorangegangenen Ausführungen erzeugbar ist, mit folgenden Modulen:
- a) ein fünftes Modul zum Erzeugen eines rekonstruierten Zustandswortes durch Division des Datenpakets durch das Generatorpolynom;
- b) ein sechstes Modul zum Zuweisen des Zustands zu dem Datenpaket, falls das rekonstruierte Zustandswort einem der Zustandswörter gleicht.
Diese Weiterbildung der Vorrichtung ist vorteilhaft, da damit die Erfindung gemäß der Vorteile der korrespondierenden Verfahrensschritte implementierbar und ausführbar ist.
-
Schließlich umfasst die Erfindung auch eine zweite Vorrichtung zum Detektieren eines Zustands aus einem Datenpaket, wobei das Datenpaket gemäß einem der vorangegangenen Ausführungen erzeugbar ist, mit folgenden Modulen:
- a) ein fünftes Modul zum Erzeugen eines rekonstruierten Zustandswortes durch Division des Datenpakets durch das Generatorpolynom;
- b) ein sechstes Modul, falls das rekonstruierte Zustandswort keinem der Zustandswörter gleicht,
- b1) zum Ermitteln eines jeweiligen rekonstruierten Codeworts durch Verknüpfung des Datenpakets und des jeweiligen Zustandswerts für den jeweiligen Zustand,
- b2) zum Zuweisen des Datenpakets zu demjenigen Zustand, dessen rekonstruiertes Codewort sich mit einem der gültigen Codeworte in einer geringsten Anzahl an Symbolen unterscheidet.
Diese zweite Vorrichtung zeigt die Vorteile analog zu den Vorteilen der korrespondierenden Verfahrensschritte, wobei diese Verfahrensschritte mit dieser Vorrichtung implementierbar und ausführbar sind.
-
Die Erfindung und ihre Weiterbildungen werden anhand von Figuren näher erläutert. Im Einzelnen zeigen:
-
1 Ablaufdiagramm zum Erstellen eines Generatorpolynoms, eines Zustandswortes und zum Erzeugen eines Datenpakets;
-
2 Vorrichtungen zum Erzeugen eines Datenpakets und zum Erkennen eines Zustands eines empfangenen Datenpakets.
-
Elemente mit gleicher Funktion und Wirkungsweise sind mit denselben Bezugszeichen versehen.
-
Gemäß einem Ausführungsbeispiel der Erfindung werden in einer Automatisierungsanlage Messwerte von einem Sensor erzeugt, die als Datenpakete DP von einer ersten Automatisierungseinheit als Sender SEN zu einer weiteren Automatisierungseinheit als Empfänger EMP verschickt werden. Die Datenpakete DP sollen zum einen gegen Übertragungsfehler geschützt werden und zum anderen jeweils nur zu einer geraden oder ungeraden Minute gültig sein sollen. Ein erster Zustand Z1 ist bei einer geradzahligen Minute der Uhrzeit gültig, wie z.B. bei Minute 0, 10 oder 58, und ein zweiter Zustand Z2 bei ungeradzahligen Minuten der Uhrzeit, wie z.B. bei 1, 29 und 59.
-
Das Datenpaket DP umfasst n = 8 Symbole, mit k = 3 Informationssymbole I als Informationswort und n – k = 5 Redundanzsymbolen R als Redundanzwort. Die Symbole sind beispielhaft binäre Symbole aus einem Alphabet 0 bzw. 1.
-
Zur Signalisierung des ersten bzw. zweiten Zustands Z1, Z2 wird ein erstes bzw. zweites Zustandswort WZ1, WZ2 von einer Länge n – k – 1 = 4, d.h. mit vier Symbolen gesucht. Das Zustandswort WZ1 des ersten Zustands Z1 wird zu WZ1 = [0, 0, 0, 0, 0] festgelegt. Das Zustandswort WZ2 des zweiten Zustands Z2 wird nachfolgend ermittelt.
-
Die Ermittlung eines Generatorpolynoms g und des zweiten Zustandswortes WZ2 des zweiten Zustands Z2 wird derart durchgeführt, dass eine Gesamtrestfehlerwahrscheinlichkeit RFges = RF11 + RF12 aus einer Addition einer ersten Restfehlerwahrscheinlichkeit RF11 und einer zweiten Restfehlerwahrscheinlichkeit RF12 minimiert wird. Die erste Restfehlerwahrscheinlichkeit RF11 zeigt an, dass das im Datenpaket mit einem ersten Zustand kodierte Informationswort nach einer Dekodierung durch einen Empfänger als ein vom Informationswort unterschiedliches Informationswort im ersten Zustand erkannt wird. Die zweite Restfehlerwahrscheinlichkeit RF21 zeigt an, dass das im Datenpaket mit einem zweiten Zustand kodierte Informationswort nach einer Dekodierung durch einen Empfänger als ein vom Informationswort unterschiedliches Informationswort im zweiten Zustand erkannt wird.
-
Nachfolgend wird anhand eines Rechenbeispiels die Ermittlung der Gesamtrestfehlerwahrscheinlichkeit RFges exemplarisch erläutert.
-
Wird das Generatorpolynom g(x) = x^5 + x^3 + x^2 + x + 1 (das Symbol „^“ repräsentiert eine Potenz) gewählt, so haben Codewörter C, wie C0, ... C7, eines Codes folgende Gestalt, wobei die ersten drei Symbole das jeweilige Informationswort und die letzten fünf Symbole das zum jeweiligen Informationswort dazugehörige Redundanzwort zeigen:
C0 = [0, 0, 0], [0, 0, 0, 0, 0]
C1 = [0, 0, 1], [0, 1, 1, 1, 1]
C2 = [0, 1, 0], [1, 1, 1, 1, 0]
C3 = [0, 1, 1], [1, 0, 0, 0, 1]
C4 = [1, 0, 0], [1, 0, 0, 1, 1]
C5 = [1, 0, 1], [1, 1, 1, 0, 0]
C6 = [1, 1, 0], [0, 1, 1, 0, 1]
C7 = [1, 1, 1], [0, 0, 0, 1, 0]
-
Anmerkung: die eckigen Klammern in den Darstellungen der Codewörter sind lediglich zur Visualisierung von Informationssymbolen und Redundanzsymbole eingeführt worden und haben keine beschränkende Wirkung auf die Erfindung.
-
Ein Verteilungsvektor VV, der eine Verteilung einer Anzahl von spezifischen Symbolen der Codewörter anzeigt, ergibt sich hierbei zu VV = [1, 0, 0, 0, 3, 4, 0, 0, 0]. Das bedeutet, dass es ein Codewort mit nur 0-Symbolen, drei Codewörter mit vier 1-Symbolen und vier Codewörter mit fünf 1-Symbolen im obigen Code gibt. Hieraus kann die erste Restfehlerwahrscheinlichkeit RF11 für eine Fehlerrate FR ermittelt werden zu: RF11 = VV(4)·(1 – FR)^(8 – 4)·FR^4 + VV(5)·(1 – FR)^(8 – 5)·FR^5 = 3·(1 – FR)^(8 – 4)·FR^4 + 4·(1 – FR)^(8 – 5)·FR^5
-
Bei FR = 1·10^(–4) = 1/10^4 ergibt sich die erste Restfehlerwahrscheinlichkeit RF11 = 0,3/10^15.
-
Wird das zweite Zustandswort WZ2(x) = x^4 + x^3 + x^2 + x^1 + 1 gewählt und mit dem jeweiligen Redundanzwort des jeweils zuvor ermittelten Codeworts C, C0, ..., C7 mittels einer Verknüpfung in Form einer XOR-Operation (XOR – Exclusiv Oder) verknüpft so ergeben sich geänderte Codewörter C‘, wie C‘0, ..., C‘7, zu:
C‘0 = [0, 0, 0], [1, 1, 1, 1, 1]
C‘1 = [0, 0, 1], [1, 0, 0, 0, 0]
C‘2 = [0, 1, 0], [0, 0, 0, 0, 1]
C‘3 = [0, 1, 1], [0, 1, 1, 1, 0]
C‘4 = [1, 0, 0], [0, 1, 1, 0, 0]
C‘5 = [1, 0, 1], [0, 0, 0, 1, 1]
C‘6 = [1, 1, 0], [1, 0, 0, 1, 0]
C‘7 = [1, 1, 1], [1, 1, 1, 0, 1]
-
Ein geänderter Verteilungsvektor VV‘ ergibt sich hierbei zu VV‘ = [0, 0, 2, 1, 2, 2, 0, 1, 0]. Hierbei ist eine Hammingdistanz = 2. RF12 = 2·(1 – FR)^(6)·FR^2 +
1·(1 – FR)^(5)·FR^3 +
2·(1 – FR)^(4)·FR^4 +
2·(1 – FR)^(3)·FR^5 +
1·(1 – FR)^(1)·FR^7.
-
Bei FR = 1·10^(–4) = 1/10^4 ergibt sich die zweite Restfehlerwahrscheinlichkeit RF12 = 0,2/10^7.
-
Die Gesamtrestfehlerwahrscheinlichkeit beträgt RFges = RF11 + RF12 = 0,3/10^15 + 0,2/10^7 = 0,2/10^7.
-
Zur Ermittlung der minimalen Gesamtrestfehlerwahrscheinlichkeit wird wie folgt gemäß 1 vorgegangen:
-
Schritt ST1: Festlegen einer jeweiligen Länge des Informationswortes und des Redundanzwortes durch eine erste Einheit ET1;
-
Schritt ST2: Auswählen eines Generatorpolynoms aus einer Anzahl an möglichen Generatorpolynomen durch eine zweite Einheit ET2, wobei das Generatorpolynom die jeweiligen Längen des Informationswortes und des Redundanzwortes verarbeiten bzw. erzeugen kann;
-
Schritt ST3: Ermitteln der ersten Restfehlerwahrscheinlichkeit RF11 basierend auf den durch das Generatorpolynom erzeugten Codewörtern durch eine dritte Einheit ET3;
-
Schritt ST4: Auswählen des zweiten Zustandswortes ZW2 aus einer Anzahl an möglichen zweiten Zustandswörtern durch eine vierte Einheit ET4, wobei das zweite Zustandswort ZE2 kein Vielfaches des Generatorpolynoms ist;
-
Schritt ST5: Ermitteln von geänderten Codewörtern durch jeweiliges Verknüpfen der Codewörter mit dem zweiten Zustandswort ZW2 durch eine fünfte Einheit ET5.
-
Schritt ST6: Ermitteln der zweiten Restfehlerwahrscheinlichkeit RF12 auf Basis der geänderten Codewörter durch eine sechste Einheit ET6;
-
Schritt ST7: Wiederholen der Schritte ST4 bis ST6 solange, bis die zweite Restfehlerwahrscheinlichkeit RF12 mit minimalem Wert gefunden ist, wobei in jedem der Wiederholungen (= Iterationen) als zweites Zustandswort ein im Rahmen der Wiederholungen noch nicht verwendetes zweites Zustandswort verwendet wird.
-
Schritt ST8: Wiederholen der Schritte ST2 bis ST7 solange, bis dasjenige Generatorpolynom und das dazugehörige zweite Zustandswort gefunden sind, die die Gesamtfehlerwahrscheinlichkeit RFges = RF11 + RF12 minimieren, wobei in jedem dieser Wiederholungen als Generatorpolynom eines im Rahmen der Wiederholungen unbenutzte Generatorpolynom eingesetzt wird.
-
Durch Anwenden der Schritte ST1–ST8 kann das Generatorpolynom und das zweite Zustandswort ZW2 für das Datenpaket DP mit n = 8 Symbole, davon mit k = 3 Informationssymbolen und n – k = 5 Redundanzsymbolen R, gewählt werden zu:
g(x) = x^5 + x^4 + x + 1
ZW2 = x^3 + x^2 + x + 1
RFges = 0,8·10^(–15) bei einer Bitfehlerwahrscheinlichkeit
FA = 1/10^4.
-
Hierdurch wird eine Kombination aus Generatorpolynom und zweiten Zustandswort gefunden, bei der der zweite Zustand bei der Division des Datenpakets mittels des Generatorpolynoms derart erkennbar ist, dass ein Rest der Division gleich dem zweiten Zustandsworts ist.
-
Somit erzeugt der Sensor zum Zeitpunkt geradzahlige Minute das Datenpaket aus einer Kodierung des Messwerts, der dem Informationswort entspricht, mit dem Generatorpolynom und schickt dieses zum Empfänger. Die XOR Verknüpfung kann hierbei entfallen, da die Verknüpfung des Datenpakets mit dem ersten Zustandsworts gleich dem Datenpaket ist. Der Empfänger dekodiert das Datenpaket durch Division mit dem Generatorpolynom. Ist der Rest gleich dem ersten Zustandswort, so erkennt der Empfänger, dass es sich um einen Messwert für den ersten Zustands, also einer geradzahligen Minute handelt.
-
Im folgenden erzeugt der Sensor zum Zeitpunkt nichtgeradzahlige Minute erst das Codewort aus einer Kodierung des Messwerts, der dem Informationswort entspricht, mit dem Generatorpolynom und dann das Datenpaket als einer XOR-Verknüpfung des Codewortes mit dem zweiten Zustandswort. Danach sendet er das Datenpaket zum Empfänger. Der Empfänger dekodiert das Datenpaket durch Division mit dem Generatorpolynom. Ist der Rest gleich dem zweiten Zustandswort, so erkennt der Empfänger, dass es sich um einen Messwert für den zweiten Zustand, also einer nicht-geradzahligen Minute handelt. Nachfolgend decodiert der Empfänger das Datenpaket zunächst mit dem zweiten Zustandswort, im vorliegenden Fall durch XOR-Verknüpfung mit dem zweiten Zustandswort, und kann dann den Messwert ermitteln.
-
Im vorliegenden Beispiel wurde zur Signalisierung des Messwerts für den ersten Zustands auf den Schritt der Verknüpfung mit dem ersten Zustandswert verzichtet, da dieses im Ausführungsbeispiel zu [0, 0, 0, 0, 0] gewählt wurde, sodass die XOR-Verknüpfung das Datenwort nicht ändert.
-
In einer Variante des Beispiels kann der Zustand auch dann durch den Empfänger richtig erkannt werden, falls das Divisionsergebnis des Datenpakets mit dem Generatorpolynom sich von den betrachteten Zustandswörtern, wie dem ersten bzw. zweiten Zustandswort, unterscheidet. Hierzu kann nach das empfangene Datenpaket jeweils mit den Zustandswörtern verknüpft werden, um rekonstruierte Codewörter für den jeweiligen Zustand zu ermitteln. Dasjenige rekonstruierte Codewort, das sich in einer geringsten Anzahl von Stellen von einem der Codewörter unterscheidet wird ausgewählt, wodurch der zu dem ausgewählten und rekonstruierten Codewort dazugehöriger Zustand ermittelt ist.
-
2 zeigt eine Verwendung des Generatorpolynoms g(x) = x^5 + x^4 + x + 1, des ersten Zustandswerts ZW1 = [0, 0, 0, 0, 0] und des zweiten Zustandswertes ZW2 = x^3 + x^2 + x + 1, das auch als ZW2 = [0, 1, 1, 1, 1] geschrieben werden kann.
-
Einem Sender SEN wird ein Informationswort I = [0, 1, 1] durch ein erstes Modul MM1 zu einem Zustand Z = 1 zugeordnet. Die Zustandswerte sind dem Zustand wie folgt zugeordnet:
Zustand Z | Zustandswert |
0 | ZW1 |
1 | ZW2 |
-
Hierbei wird durch ein zweites Modul MM2 zunächst das Codewort C = [0, 1, 1, 0, 0, 1, 1, 0] mittels des Generatorpolynoms g auf Basis des Informationswortes erzeugt. Ein drittes Modul MM3 stellt das bzw. die Zustandswörter zum Anzeigen eines Zustands des zu erzeugenden Datenpakets DP derart bereit, dass c1) durch eine Verknüpfung des Codeworts mit dem Zustandswort ein abgeleitetes Codewort C‘ ergibt und c2) bei einer Division des abgeleiteten Codeworts C‘ durch das Generatorpolynom als Rest das Zustandswort ZW2 generiert wird. Ferner wird durch ein viertes Modul MM4 das Datenpaket durch Verknüpfung des Codewortes mit dem Zustandswort erzeugt.
-
Das Datenpaket DP ergibt sich zu DP = [0, 1, 1, 0, 1, 0, 0, 1]. Das Datenpaket wird von dem Sender, d.h. der ersten Vorrichtung VOR1, über einen Übertragungskanal TC an einen Empfänger EMP, auch als zweite Vorrichtung VOR2 bezeichnet, übertragen.
-
Dieser dividiert mittels eines fünften Moduls MM5 die Symbole des Datenpakets DP mit dem Generatorpolynom g(x) zum Erzeugen eines rekonstruierten Zustandswortes. Der Rest der Division ist REST = [0, 1, 1, 1, 1]. Da REST == ZW2 ist, erkennt der Empfänger, dass es sich hierbei nicht um ein mit Fehler behaftetes Datenpaket handelt, obwohl die Polynomdivision einen Rest ergibt, sondern um die Signalisierung des Zustands Z = 1. Wäre die Polynomdivision REST = [0, 0, 0, 0] so erkennt der Empfänger den Zustand Z = 0. Ein sechstes Modul MM6 weist dem Datenpaket in diesem Beispiel den Zustand Z = 1 bzw. Z = 0 zu. Zur Decodierung des Informationswortes aus dem Datenpaket wird zunächst das Datenpaket mit dem zweiten Zustandswort ZW2 verknüpft und aus dem Ergebnis das Informationswort I = [0, 1, 1] gewonnen.
-
Da Übertragungsfehler auf dem Übertragungskanal auftreten können muss zum Erkennen einer der beiden Zustände das Divisionsergebnis REST nicht exakt einem der beiden Zustandswörter entsprechen. Um in diesem Fall den richtigen Zustand des übertragenen Datenpakets erkennen zu können kann bspw. für jeden Zustand ein rekonstruiertes Codewort erzeugt werden. Dasjenige Codewort, das sich in den wenigsten Stellen von einem der fehlerfreien Codewörter unterscheidet, wird ausgewählt und zeigt damit den Zustand des Datenpakets an.
-
So wird das Datenpaket DP = [0, 1, 1, 0, 1, 0, 0, 1] in der Form eines empfangenen Datenpakets DP‘ = [1, 1, 1, 0, 1, 0, 0, 1] durch den Empfänger empfangen. Bei der Polynomdivision zeigt sich als Rest = [1, 0, 1, 1, 0]. Dieser Rest ist keinem der Zustandsworte direkt zuordnenbar, sodass zunächst ein jeweiliges rekonstruiertes Codewort für den Zustand Z = 0 rC_Z0 = [1, 1, 1, 0, 1, 0, 0, 1] und für den Zustand Z = 1 rC_Z1 = [1, 1, 1, 0, 0, 1, 1, 0] gewonnen wird. Ein Vergleich mit den 8 gültigen Codewörtern zeigt, hier im Beispiel nicht näher dargestellt, dass lediglich das Codewort [0, 1, 1, 0, 0, 1, 1, 0] sich in einem einzigen Symbol von dem rekonstruierten Codewort rC_Z1 des Zustands Z = 1 unterscheidet. Das rekonstruierte Codewort rC_Z2 unterscheidet sich in mehr als einem Symbol von den jeweils gültigen Codewörtern. Somit wird der zweite Zustand Z = 1 erkannt. Ferner kann nachfolgend auch aus dem rekonstruierten Codewort rC_Z1 das fehlerfreie Informationswort I rekonstruiert werden.
-
Die Erfindung wurde bisher anhand von zwei Zuständen erläutert. Selbstverständlich ist diese nicht auf zwei Zustände beschränkt. Bei drei oder mehreren Zuständen werden iterativ jeweilige Restfehlerwahrscheinlichkeiten für mehrere verschiedene Zustandswörter ermittelt und diejenige Kombination an Zustandswörtern ausgewählt deren Gesamtrestfehlerkombination am kleinsten ist. In einer alternativen Ausführungsform kann anstelle einer Auswahl der Zustandswörter anhand einer minimalen Gesamtrestfehlerwahrscheinlichkeit vorgegeben werden, dass diejenige Gesamtrestfehlerwahrscheinlichkeit ausgewählt wird, bei der die jeweiligen Restfehlerwahrscheinlichkeit eine individuelle maximale Restfehlerwahrscheinlichkeit, z.B. 0,5·10^–7, nicht überschreitet.
-
Zudem wurde die Auswahl des Generatorpolynoms und des zweiten Zustandsworts anhand einer Bitfehlerwahrscheinlichkeit erläutert. Die Erfindung kann neben einer Bitfehlerwahrscheinlich auch für andere „beliebige“ Fehlermuster eingesetzt werden.
-
Die Module und Einheiten können in Software, Hardware oder in einer Kombination aus Software und Hardware realisiert und ausgeführt werden. Die Module und Einheiten können über ein oder mehrere Busse zum Austausch von Symbolen oder Wörtern miteinander verbunden sein. Ferner können an dem einen oder mehreren Bussen ein oder mehrere Prozessoren zum Ausführen einiger Schritte der Erfindung angekoppelt sein, wobei mittels an den oder die Busse angeschlossenen Speicher Symbole und Worte strukturiert abgelegt und gelesen werden können.
-
Die Erfindung und ihre Weiterbildungen können in einer Fertigungsanlage zum Austausch von Daten zwischen Aktoren und/oder Sensoren eingesetzt werden.