DD241800A1 - Verfahren und einrichtung zur korrektur mehrbitfehlern - Google Patents

Verfahren und einrichtung zur korrektur mehrbitfehlern Download PDF

Info

Publication number
DD241800A1
DD241800A1 DD28175985A DD28175985A DD241800A1 DD 241800 A1 DD241800 A1 DD 241800A1 DD 28175985 A DD28175985 A DD 28175985A DD 28175985 A DD28175985 A DD 28175985A DD 241800 A1 DD241800 A1 DD 241800A1
Authority
DD
German Democratic Republic
Prior art keywords
shift register
data
correction
digits
shift
Prior art date
Application number
DD28175985A
Other languages
English (en)
Inventor
Ernst Kutschbach
Original Assignee
Robotron Veb K
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robotron Veb K filed Critical Robotron Veb K
Priority to DD28175985A priority Critical patent/DD241800A1/de
Publication of DD241800A1 publication Critical patent/DD241800A1/de

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

Die Erfindung dient zur Korrektur von Buendelfehlern in bitseriellen Datenbloecken. Ihr Ziel ist es, Fehlerbuendel zu korrigieren, die sich aus falschen und/oder fehlenden bzw. zuviel erkannten Stellen zusammensetzen. Zwei Schieberegister, wovon das erste in Vorwaertsrichtung zur Erzeugung und Kontrolle des zyklischen Codes dient, werden zur Korrektur in Rueckwaertsrichtung betrieben und besitzen dafuer Rueckkopplungswege, die das inverse Generatorpolynom realisieren. Beide Schieberegister erhalten die Daten in Rueckwaertsfolge, wobei das erste vom entstandenen Restinhalt und das zweite vom Inhalt Null ausgeht. Die Datenzufuehrung und Taktung erfolgt um den Stellenzahlfehler versetzt. Zwei Vergleichseinrichtungen steuern bei Uebereinstimmung der Schieberegister Beginn und Ende der Korrektur. Die Korrekturdaten entstehen aus der Antivalenz der in das erste Schieberegister eingetragenen und der im Rueckkopplungsweg des zweiten Schieberegisters erzeugten Werte. Bis zum Entstehen der Korrekturdaten werden die Empfangsdaten in Rueckwaertsfolge um den Stellenzahlfehler versetzt. Anwendungsgebiete der Erfindung sind die Informationsspeicherung und die Informationsuebertragung. Fig. 1

Description

Anwendungsgebiet der Erfindung
Die Erfindung betrifft ein Verfahren und eine Einrichtung zur Korrektur von Mehrbitfehlern, die in Form eines Fehlerbündels in bitseriell dargestellten Datenblöcken auftreten.
Für die Korrektur werden zyklische Codes, vorzugsweise Fire-Codes angewendet. Die Erzeugung des Codes und die Kontrolle beim Empfang wird in bekannter Weise durch ein Schieberegister realisiert.
Bitseriell dargestellte Datenblöcke treten bei der Informationsübertragung und bei den meisten Verfahren der Informationsspeicherung auf. Zum Beispiel werden bei Magnetplattenspeichern, aber auch bei optischen Speichern die Daten in Form von bitseriell dargestellten Datenblöcken gespeichert. Auch bei Magnetbandspeichern kann die Informationsdarstellung in jeder Spur als Folge bitserieller Datenblöcke aufgefaßt werden.
Bei allen diesen Verfahren kann durch eine zeitlich begrenzte Störung die Information in einem Bereich verfälscht werden. Für die Korrektur derartiger Fehlerbündel kann das Verfahren und die Einrichtung vorteilhaft angewendet werden.
Charakteristik der bekannten technischen Lösungen
Bei allen Verfahren der Informationsübertragung oder Informationsspeicherung können Fehler auftreten. Da in vielen Fällen der Aufwand zur Erhöhung der Fehlersicherheit sehr hoch ist oder die Einhaltung anderer Parameter unmöglich macht, wurden Methoden zur Fehlerkorrektur entwickelt. Insbesondere haben solche Verfahren eine Bedeutung erlangt, durch die es möglich ist, Fehlerbündel zu korrigieren.
Aufbauend auf den bekannten mathematischen Grundlagen wurde eine Vielzahl von Lösungen vorgeschlagen, die Vorteile im Aufwand oder hinsichtlich bestimmter Parameter besitzen.
Eine Zusammenfassung der Grundlagen über zyklische Codes und Vorschläge zur Gestaltung von Korrektureinrichtungen wurden von W. PETERSON in dem Buch „Error correcting codes" bereits 1961 angegeben.
Weiterentwicklungen wurden zum einen mit dem Ziel durchgeführt, das Verhältnis zwischen-der Anzahl-redundanter Stellen und der Länge der korrigierbaren Fehlerbündel zu verbessern. Auf diese Zielstellung sind z.B. die DE-OS 1905138, die DE-AS 2014062, die DE-AS 1524891 und mit der Einschränkung auf zwei Bit die DE-AS 2162833 ausgelegt.
Ein anderes Ziel ist die Erhöhung der Geschwindigkeit bei der Korrektur der Informationen, wie es in der DE-AS 2160 595 oder der DE-OS 3032468 als Vorteil angegeben wird.
Mit der Einrichtung nach der DE-OS 2460263 können „Schlupffehler" korrigiert werden, d.h. Fehler, die durch eine Verschiebung um S Stellen aus dem sonst als richtig angenommenen Datenstrom entstehen, wobei der gleiche zyklische Code verwendet wird, wie er zur Korrektur von Fehlern zum Einsatz kommt.
Alle bisher bekannten Verfahren setzen aber voraus, daß die Stellenzahl der empfangenen Daten richtig ist und Fehler nur durch Veränderung des Inhaltes der Stellen in einem bestimmten Bereich auftreten oder durch eine Gesamtverschiebung entstehen.
Bekannte Lösungen gehen davon aus, daß beim fehlerfreien Empfang eines zyklischen Codes der Rest Null bei der Division entsteht und jeder Fehler als Überlagerung mit einem Fehlermuster betrachtet werden kann, das den gleichen Rest wie der Fehler erzeugt. Nach einer definierten Anzahl von Verschiebungen entsteht das Korrekturwort, das dann dem fehlerhaft empfangenen Bereich überlagert wird. Die Korrekturmöglichkeit wird daran erkannt, daß nur bestimmte Stellen einen von Null abweichenden Inhalt aufweisen. Weiterentwickelte Lösungen nutzen die Aufteilung des zur Division und Verschiebung genutzten Schieberegisters oder zusätzlich angeordnete Decodiereinrichtungen, die auf bestimmte Ergebnisse ansprechen bzw. Erkennungseinrichtungen, die den Bereich von Fehlerstellen mit einer angebbaren Wahrscheinlichkeit ermitteln. Andere Lösungen modifizieren das Verfahren durch die Anwendung von Multiplikationseinrichtungen oder von Tabellen zur Umcodierung. Da nur vom Rest ausgegangen wird, ist es nicht möglich, fehlende oder zu viel erkannte Stellen zu korrigieren.
Empfangseinheiten für bitserielle Datenblöcke besitzen eine Synchronisiereinrichtung, durch die die stellenrichtige Einordnung der Daten erfolgt. Beim Auftreten starker Störungen werden die empfangenen Daten so verfälscht, daß nur das Störbitmuster erkannt wird. Die Synchronisiereinrichtung spricht nach einer bestimmten Einschwingzeit auf das Störbitmuster an und verliert somit den Synchronismus zur Sendeeinheit. Nach dem Ende der Störungen wird der Synchronismus zu den Empfarigsdaten wieder hergestellt. Das hat zur Folge, daß im Bereich des entstandenen Fehlerbündels auch Stellen fehlen können oder zuviel Stellen erkannt werden können. Derartige Fehler lassen sich mit allen bisher bekannten Einrichtungen nicht korrigieren.
Ziel der Erfindung
Das Ziel der Erfindung besteht darin, die Möglichkeiten zur Erkennung und zur Korrektur von Fehlerbündeln zu erweitern und damit die Sicherheit bei der Übertragung und Speicherung von Informationen in bitserieller Darstellung zu erhöhen.
Darlegung des Wesens der Erfindung
Die Aufgabe der Erfindung besteht darin, ein Verfahren und eine Einrichtung anzugeben, mit der Fehlerbündel korrigiert werden können, die sich aus falschen Stellen, aus fehlenden Stellen, aus zuviel erkannten Stellen oder aus der Kombination von falschen und zuviel oder zuwenig erkannten Stellen zusammensetzen können.
Erfindungsgemäß wird die Aufgabe dadurch gelöst, daß ein erstes Schieberegister, das in Vorwärtsrichtung in bekannter Weise für die Erzeugung und Kontrolle des zyklischen Codes eingesetzt wird, beim Auftreten eines Fehlers in Rückwärtsrichtung betrieben wird und dafür einen Rückkopplungsweg besitzt, der das zum Generatorpolynom inverse Polynom realisiert und dem, ausgehend vom entstandenen Restinhalt, die Daten in Rückwärtsfolge zugeführt werden. Weiterhin enthält die Lösung ein zweites Schieberegister, das ebenfalls in Rückwärtsrichtung betrieben wird und einen Rückkopplungsweg besitzt, der das zum Generatorpolynom inverse Polynom realisiert und dem, ausgehend vom Inhalt Null, die Daten ebenfalls in Rückwärtsfolge zugeführt werden. Dadurch ergibt sich in dem ersten Schieberegister ein Inhalt, der mit dem Sollinhalt im Bereich vordem Fehlerbündel übereinstimmt und in dem zweiten Schieberegister ein Inhalt, der mit dem Sollinhalt im Bereich nach dem Fehlerbündel übereinstimmt. Die Taktung der Schieberegister und die Bereitstellung der Daten für die Schieberegister erfolgt dabei um so viel Stellen versetzt, wie sich aus der Differenz der empfangenen zur Sollstellenzahl ergibt, wodurch sich in beiden Schieberegistern ein Inhalt ergibt, der sich auf die gleiche Stelle bezieht. Zur Realisierung der Polynome werden Schieberegister benutzt, bei denen die Exklusiv-Oder-Stufen in den Rückkopplungswegen angeordnet sind, so daß sich in den Registern der Quotient des jeweiligen Restes bildet, dessen Teile sich schrittweise linear verschieben. Für ein Polynom der Form
G(x) = (XC+1)· P(x) zeigt bei einem Fehlerbündel der Länge
die Übereinstimmung der niederwertigsten c Stellen die Stelle an, an der die Korrektur beginnen muß. Über eine erste Vergleichseinrichtung wird nun der Korrekturvorgang eingeleitet, indem das erste Schieberegister unverändert weiterbetrieben wird und das zweite Schieberegister in die Stelle X0 der Rückwärtsrichtung die gleichen Daten eingeschrieben werden, wie sie sich für das erste Schieberegister ergeben. Die einzuschreibenden Korrekturdaten werden durch die Exklusiv-Oder-Verknüpfung der eingeschriebenen Daten der Stelle X0 und der im Rückkopplungsweg des zweiten Schieberegisters entstandenen Daten erzeugt. Gleichzeitig werden die empfangenen Daten mit dem Beginn des Rückwärtslesens der Daten bis zum Beginn der Generierung der Korrekturdaten um die Differenz zwischen empfangener und Sollstellenzahl verschoben. Weitere Merkmale der Erfindung beziehen sich auf Ausführungsvarianten. Das betrifft die Verwendung von Paritätsdetektorschaltungen anstelle der in den Rückkopplungswegen angeordneten Exklusiv-Oder-Stufen für alle drei Rückkopplungswege und daß die für die Durchführung der Korrektur in Rückwärtsfolge gelesenen Daten einem Schieberegister Zugeführt werden, das mit zwei Umschalteinrichtungen verbunden ist, von denen die erste die Daten für das erste Schieberegister bereitstellt und die zweite die Daten sowohl für das zweite Schieberegister als auch für das Wiedereinschreiben der verschobenen Daten bereitstellt, daß die beiden Umschalteinrichtungen entsprechend der Differenz zwischen der empfangenen und der Sollstellenzahl eingestellt werden und daß zwei Adreßzähler vorhanden sind, von denen der erste für das Lesen der Daten bei der empfangenen Stellenzahl beginnt und der zweite für das Schreiben der Daten bei der Sollstellenzahl beginnt und daß beide Zähler rückwärts betrieben werden.
Ausführungsbeispiel
Die erfindungsgemäße Lösung für das Verfahren und die Einrichtung zur Korrektur von Mehrbitfehlem, die in Form von Fehlerbündel in bitseriell dargestellten Datenblöcken auftreten, wobei sich die Fehlerbündel aus fehlerhaften und fehlenden Stellen oder aus fehlerhaften und zuviel erkannten Stellen zusammensetzen können, soll an nachfolgendem Beispiel niedriger Stellenzahl erläutert werden. Dabei zeigen
Fig. 1: ein Blockschaltbild der erfindungsgemäßen Lösung,
Fig.2: eine Tabelle für die von der Steuerung erzeugten Schaltzustände,
Fig.3: den Inhalt des Schieberegisters SR1, wie er sich beim Empfang des fehlerfreien Polynoms E(x) schrittweise ergibt, Fig. 4: den Inhalt der Schieberegister SR1 und SR 2, wie er sich bei der Korrektur des fehlerhaften Datensatzes E'(x) ergibt, wobei
der Datensatz drei fehlerhafte Stellen besitzt, Fig. 5: den Inhalt der Schieberegister SR1 und SR 2, wie er sich bei der Korrektur des fehlerhaften Datensatzes E" (x) ergibt, wobei
in dem Datensatz drei Stellen fehlen und Fig. 6: den Inhalt der Schieberegister SR1 und SR 2, wie er sich bei der Korrektur des fehlerhaften Datensatzes E"'(x) ergibt, wobei in dem Datensatz drei Stellen zuviel erkannt wurden und drei Stellen fehlerhaft sind.
Für das Ausführungsbeispiel wird folgendes Polynom zugrundegelegt, das die Korrektur von Bündeln der Länge b Si 3 in Datensätzen der Länge 1 S 35 zuläßt:
G(X) = (X5+1)(X3 + X+1)
= X8+X6+X5 + X3 + X+1
Das zugehörige inverse Polynom lautet dann:
G*(x) = X8 + X7 + X5 + X3 + X2 + 1 Der Ausgangsdatensatz sei:
D(x) = X10 + X7 + X5 + X2 + X + 1
Alle folgenden Funktionsbeschreibungen beziehen sich auf das Blockschaltbild nach Fig. 1 und die Tabelle der Schaltzustände nach Fig. 2.
Für die Erzeugung des zyklischen Codes sind während der Zuführung des Datensatzes D(x) die Gatter A1 und A2 über die Leitungen 1 und 2 geöffnet. Somit gelangt der Datensatz über A2 und das Oder-Glied 02 auf den Ausgang C(x). Gleichzeitig wird der Datansatz über Gatter A2, Oder-Glied 01 und Gatter A1 dem in Vorwärtsrichtung betriebenen Schieberegister SR1 zugeführt. Hierfür erhält das Schieberegister SR1 den VorwärtsschiebetaktTvi. Nachdem alle elf Stellen des Datensatzes eingegeben sind, ergibt sich im Schieberegister SR1 ein Inhalt
modX9 = X6 + X5 + X4 + 1
I1(X)
G(x)
Dieser Inhalt entspricht der Stelle a in Fig. 3. Nunmehr werden die Gatter A1 und A2 gesperrt und über die Leitung 3 wird das Gatter A3 geöffnet. Damit entsteht über A3 und O 2 der anzuhängende Rest
R'(x) = Kx) · G(x) mod X9 = X6 + X5 + X3 + X + 1 Am Ausgang C(x) wird also der zyklische Code C(x) = D(x) · X9 + R'(x)
Beim Empfangen des zyklischen Codes E(x) sind Gatter A1 und Gatter A4 geöffnet. Die Empfangsdaten werden über Gatter A4, das Oder-Glied 01 und Gatter A1 dem in Vorwärtsrichtung betriebenen Schieberegister SR1 zugeführt, wofür ebenfalls die Taktfolge Tvi angelegt wird. Damit ergibt sich im Schieberegister SR1 schrittweise ein Inhalt, wie er in Fig. 3 in der Reihenfolge von oben nach unten dargestellt ist. Als Ergebnis des fehlerhaften Datensatzes ergibt sich der Inhalt Null. Parallel dazu wird der Datensatz über Gatter A4 und Oder-Glied 05 in den Speicher SP eingegeben, in den er über einen ersten Adreßzähler AZ1 in Vorwärtsfolge eingeordnet wird. In dem Speicher SP steht der fehlerfreie Datensatz
E(x) = C(x) = D(x) · X9 + R'(x)
Da das Schieberegister SR2 auf Null steht, zeigen beide Vergleichseinrichtungen VE 1 und VE2 den Wert „Eins" an und signalisieren die Richtigkeit der Daten.
Als zweiter Fall wird angenommen, daß der empfangene Datensatz zwar die richtige Stellenzahl, aber drei fehlerhafte Stellen besitzt, wie in Fig.4 dargestellt. E'(x) besteht aus neun richtigen Stellen, gefolgt von drei fehlerhaften Stellen und anschließend wieder sieben richtigen Stellen. Die schrittweise Entwicklung des Inhaltes des Schieberegisters SR1 beim Empfang des Datensatzes E'(x) zeigt Fig.4 in der Reihenfolge von oben nach unten.
Das Ergebnis ist in der Reihenfolge der Darstellung
11101100 und entspricht l'(x) = X5 + X4 + X2 + X + 1
Da das Schieberegister SR 2 den Inhalt Null besitzt, zeigt die Vergleichseinrichtung VE 1 keine Übereinstimmung an, d.h. V1 = 0. Da die Stellenzahl richtig war, zeigt der erste Adreßzähler AZ1 k = η an. Das entspricht dem Ablauf nach 3b) in Fig.2. Die richtige Stellenzahl bewirkt, daß die beiden aus Multiplexoren gebildeten Umschalteinrichtungen MX1, MX2 über i = 0 bzw. j = 0 in die Grundstellung gebracht werden. Jetzt werden die Leitungen 5 und 6 auf „Eins" gelegt und beide Schieberegister SR1 und SR 2 in Rückwärtsrichtung betrieben. Hierfür werden ihnen die RückwärtsschiebetakteTR2i bzw. TR2 zugeführt. Im ersten Zyklus wird entsprechend dem ersten Adreßzähler AZ1 die Stelle k = η gelesen und in das Schieberegister SR3 eingeschrieben. Mit dem zweiten Takt des ersten Zyklus wird der Wert über MX1 und A5 dem Schieberegister SR1 sowie über MX2, A6.1, 03., A6.2 und
04 dem Schieberegister SR 2 zugeführt. Gleichzeitig gelangt der Wert über MX2, A6.1 und 05 auf den Einrgang des Speichers SP " und wird entsprechend dem Stand des zweiten Adreßzählers AZ2 in die Stelle η eingetragen. Danach wiederholt sich dieser Vorgang mit den um „Eins" reduzierten Zählerständen der beiden Adreßzähler AZ1 und AZ2. In den Schieberegistern SR1 und SR2 entsteht dabei ein Inhalt, wie er in Fig.4 in der Reihenfolge von unten nach oben erkennbar ist. Nachdem m = 7 Schritte ausgeführt sind, zeigt VE 1 die Übereinstimmung an. Es wird jetzt Leitung 6 zurückgeschaltet und Leitung 7 auf „Eins" gelegt. Damit werden die Daten nur noch über MX 1 und A5 dem Schieberegister SR1 zugeführt. Die gleichen Werte, wie sie in die Stelle X0 des Schieberegisters SR1 eingetragen werden, werden über A7.1 und 04 auch dem Schieberegister SR2 zugeführt. Das ist in Fig. 4 durch Punktein der Tabelle für SR 2 angegeben. Über A7.1,03 und A7.2 werden die Korrekturdaten gebildet, die über das Oder-Glied 05 in den Speicher SP geschrieben werden. Nach drei Korrekturschritten zeigen beide Vergleichseinrichtungen VE 1 und VE2 Übereinstimmung an, d.h. V1 · V2 = 1 und kennzeichnen damit, daß die Korrektur beendet ist.
Die restlichen Stellen können vom Eingabevorgang des Datensatzes E'(x) genutzt werden.
Ein dritter Fall liegt vor, wenn ein Datensatz empfangen wurde, in dem Stellen fehlen. Fig. 5 zeigt einen Fall, daß nach dem Empfang von acht richtigen Stellen drei Stellen fehlen. Die schrittweise Entwicklung des Inhaltes des Schieberegisters SR1 beim Empfang des Datensatzes E"(x) ist in Fig. 5 in der Reihenfolge von oben nach unten dargestellt. Der entstehende Inhalt ist am
01110001 und entspricht l"(x) = X7 + X3 + X2 + X
Die Vergleichseinrichtung VE 1 zeigt fehlende Übereinstimmung an, da das Schieberegister SR 2 zu diesem Zeitpunkt voraussetzungsgemäß den Inhalt Null besitzt. Weiterhin ergibt sich die empfangene Stellenzahl zu k = 16, während die Sollstellenzahl η = 19 ist. In Fig. 2 sind unter 3a) die hierfür erforderlichen Einstellungen mit i = 3 und j = 0 angegeben. Damit ergibt sich folgender Ablauf: Lesen der Stelle kund Einschreiben in das Schieberegister SR 3. Der Wert wird über MX 2, A6.1,03, A6.2 und 04 in das Schieberegister SR 2 eingetragen, das in Rückwärtsrichtung betrieben wird. Gleichzeitig wird der Wert über MX2, A6.1 und 05 im Speicher SP in die Stelle η eingetragen. Nach Dekrementierung von k und η wiederholt sich dieser Vorgang noch zweimal. Das entspricht dem Ablauf der untersten drei Sch ritte für SR 2 in Fig. 5. Ab der vierten Stelle wird auch die Leitung
5 auf „Eins" geschaltet und SR1 erhält den RückwärtsschiebetaktTRi. Über MX 1 und A5 wird der um i = 3 Stellen versetzte Wert aus dem Schieberegister SR 3 dem Schieberegister SR1 zugeführt. Nachdem fünf Schritte in dieser Form abgelaufen sind, zeigt V1 = 1 die Übereinstimmung in den in Rückwärtsrichtung niederwertigsten fünf Stellen an. Nun wird die Leitung 6 auf „Null" und die Leitung 7 auf „Eins" geschaltet. Damit erhält nur noch SR1 die um drei Stellen versetzten Daten. Die gleichen Werte, wie sie in die Stelle X0 des Schieberegisters SR1 eingetragen werden, gelangen überA7.1 und 04 auch auf den Eingang des Schieberegisters SR2. Das ist in Fig. 5 durch Punkte in der Tabelle für SR 2 gekennzeichnet. Über A7.1,03, A7.2 und 05 werden die Korrekturdaten in den Speicher SP eingeschrieben.
Nach drei Korrekturschritten ergibt sich eine volle Übereinstimmung zwischen den beiden Schieberegistern SR1, SR 2, was durch V1 · V2 = 1 angezeigt wird. Der Korrekturvorgang kann abgebrochen werden, da die restlichen Stellen, d.h. die ersten empfangenen Stellen des Datensatzes E" (x) richtig waren. .
Ein Beispiel, in dem zuviel Stellen erkannt wurden und zusätzlich falsche Stellen enthalten sind, zeigt Fig. 6. Der Datensatz E"' (x) enthält in der Reihenfolge des Empfanges: Zwölf richtige Stellen, das Fehlerbündel mit drei falschen Stellen und drei Stellen zuviel und am Ende vier richtige Stellen. Dabei kann die Reihenfolge der falschen und zuviel erkannten Stellen im Fehlerbündel beliebig interpretiert werden. Den sich schrittweise ergebenden Inhalt des Schieberegisters SR1 zeigt Fig. 6 in der Reihenfolge von oben nach unten entsprechend der Vorwärtsrichtung von SRLAm Ende des Datensatzes entsteht der Inhalt
10111110, der I"' (χ) = X6 + X5 + X4 + X3 + X2 + 1
entspricht. Die fehlende Übereinstimmung mit dem auf „Null" stehenden Schieberegister SR 2 wird durch V1 = 0 angezeigt. Die empfangene Stellenzahl beträgt k = 22, die Sollstellenzahl η = 19. In der Steuerung wird deshalb i = 0 und j = 3 gebildet. Die Reihenfolge der erzeugten Steuersignale ist in Fig. 2 unter 3c) angegeben. Zunächst wird nur die Leitung 5 auf „Eins" geschaltet. Die aus der Stelle k gelesenen Daten werden in das Schieberegister SR 3 eingetragen und anschließend sofort über MX 1 und A5 dem in Rückwärtsrichtung arbeitenden Schieberegister SR1 zugeführt. Dann wird k um „eins" dekrementiert. Die Einstellung η = 19 und SR 2 mit Inhalt „Null" bleibt bestehen. So werden die ersten drei Schritte ausgeführt, die den untersten drei Schritten des SR1 in Fig. 6 entsprechen. Nachdem die ersten j = 3 Schritte in der genannten Form verarbeitet wurden, wird die Leitung 6 auf „Eins" geschaltet und der Rückwärtsschiebetakt Tr2 dem Schieberegister SR2 zugeführt. Der erste Schritt in dieser Einstellung ist das Lesen der Stelle k - j = η = 19 und Einschreiben des Wertes in das Schieberegister SR 3. Die Daten gelangen weiterhin aus der ersten Stelle des SR3 über MX 1 und Ά5 zum Schieberegister SR1. Die um drei Stellen versetzten Daten werden aus der vierten Stufe des Schieberegisters SR3, d.h. Anschluß Nummer 3 über MX2,A6.1,0 3, A6.2 und 04 dem Schieberegister SR2 zugeführt. Gleichzeitig werden diese Daten über MX2.A6.1 und 05 in die Stelle η = 16 des Speichers SP eingetragen. Dieser Vorgang wiederholt sich mit zurückgezählten Adressen kund n, bis nach dem vierten Schritt der Ausgang V1 = 1 die Übereinstimmung der in Rückwärtsrichtung niederwertigsten fünf Stellen anzeigt. Das führt dazu, daß Leitung 6 zurückgeschaltet und Leitung 7 auf „Eins" gelegt wird. Das Schieberegister SR1 erhält weiterhin die Daten über MX 1 und A5. Die gleichen Werte, wie sie in die Stelle X0 des Schieberegisters SR1 eingetragen werden, gelangen auch über A7.1 und 04 zum Schieberegister SR 2. In Fig.6 sind diese Schritte für das Schieberegister SR 2 durch Punkte charakterisiert. Die Korrekturdaten entstehen über A7.1,0 3 und A7.2 und werden über das Oder-Glied O 5 dem Speicher SP zugeführt. Nach drei Korrekturschritten zeigt V1 · V2 = 1 die volle Übereinstimmung der beiden Schieberegister SR 1,SR2 und damit das Ende der Korrekturan. Die restlichen Stellen wurden aus E"' (x) bereits richtig in den Speicher SP eingeschrieben und können so übernommen werden. In der praktischen Ausführung können die Exklusiv-Oder-Stufen in den Rückkopplungswegen effektiv durch Paritätsdetektorschaltungen ersetzt werden.
Die Einrichtung kann für beliebige Werte der Stellenzahl, der korrigierbaren Fehlerbündellänge und Stellenzahldifferenzen ausgelegt werden. Für die Dimensionierung gilt: Ein Polynom der Form
G(x) = (Xc+1)-P(x)
hat den Grad
g=c+p (p = Grad von P[x])
und kann unter der Bedingung
- c>p +.1 Fehlerbündel der Länge
in Datensätzen der Länge
korrigieren.
Dazu ist einzusetzen:
SR 1,SR 2 mit einer Stellenzahl g
VE1 miteinerStellenzahlg -b
VE2 miteinerStellenzahlb
SR3 miteinerStellenzahl max(i + 1,j + 1)
MX1 mit einer Anzahl Eingängen i + 1
MX2 mit einer Anzahl Eingängen j + 1
Für die Nennstellenzahl η = d + g
des Datensatzes gilt
k=n + jSI
Dazu ist einzusetzen:
SP miteinerStellenzahlk= η + j
AZ1 miteinerStellenzahl k = n+j
AZ2 miteinerStellenzahl η

Claims (4)

  1. Patentansprüche:
    1. Verfahren zur Korrektur von Mehrbitfehlern, die in Form von Fehlerbündeln in bitseriell dargestellten Datenblöcken auftreten und sich aus falschen und fehlenden Stellen oder aus falschen und zusätzlich eingefügten Stellen zusammensetzen können, unter Verwendung von zyklischen Codes, vorzugsweise Fire-Codes, wobei mit Hilfe eines ersten Schieberegisters, das in Vorwärtsrichtung betrieben wird und einen Rückkopplungsweg für die Erzeugung des Generatorpolynoms G(x) besitzt, sowohl die Erzeugung des zyklischen Codes als auch die Kontrolle beim Empfang erfolgt, dadurch gekennzeichnet, daß für die Korrektur das erste Schieberegister (SR 1) rückwärts betrieben wird und mittels einer Rückkopplung das zum Generatorpolynom inverse Polynom G*(x) realisiert, wobei diesem Schieberegister (SR 1) ausgehend vom entstandenen Rest der Datenblock in Rückwärtsfolge zugeführt wird und daß ein zweites Schieberegister (SR2) ebenfalls rückwärts betrieben wird und mittels einer Rückkopplung ebenfalls das zum Generatorpolynom inverse Polynom G*(x) realisiert, wobei diesem Schieberegister (SR 2), ausgehend vom Inhalt Null, der Datenblo.ck in Rückwärtsfolge zugeführt wird und daß dabei die Rückwärtsschiebetakte (TR1, T^) für die Schieberegister (SR 1, SR 2) und die Bereitstellung der Daten um so viel Stellen versetzt erfolgen, wie sich aus der Differenz der empfangenen zur Sollstellenzahl ergibt, daß der Inhalt der Schieberegister (SR1,SR2) miteinander verglichen wird, wobei für ein Polynom der Form
    G(x) = (X0+1)· P(x)
    zunächst die in Rückwärtsrichtung niederwertigsten c Stellen miteinander verglichen und bei Übereinstimmung die Generierung der Korrekturstellen ausgelöst wird und weiter die restlichen ρ Stellen verglichen und bei Übereinstimmung das Ende der Korrektur angegeben wird und daß die Korrekturzeichengenerierung in der Form erfolgt, daß das erste Schieberegister (SR 1) unverändert weiterbetrieben wird und in das zweite Schieberegister (SR2) schrittweise in die Stufe X0 die gleichen Werte eingeschrieben werden, wie sie sich für das erste Schieberegister (SR 1) ergeben und daß dabei die in die Stelle X0 eingeschriebenen und über die Rückkopplung des zweiten Schieberegisters (SR 2) erzeugten Werte die einzusetzenden Korrekturstellen generiert werden und daß die von Beginn des Rückwärtslesens an bis zum Beginn der Generierung der Korrekturstellen empfangenen Daten um die Differenz zwischen empfangener und Sollstellenzahl verschoben werden.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die für die Durchführung der Korrektur in Rückwärtsfolge gelesenen Daten einem dritten Schieberegister (SR3) zugeführt werden, welches mit zwei Umschalteinrichtungen (MX1, MX2) verbunden ist, von denen die erste (MX 1) die Daten für das erste Schieberegister (SR 1) bereitstellt und die zweite (MX2) die Daten für das zweite Schieberegister (SR 2) bereitstellt, daß die beiden Umschalteinrichtungen (MX 1,MX2) entsprechend der Differenz zwischen der empfangenen und der Sollstellenzahl eingestellt werden und daß zwei Adreßzähler (AZ 1, AZ2) vorhanden sind, von denen der erste (AZ 1) für das Lesen der Daten bei der empfangenen Stellenzahl beginnt und der zweite (AZ2)für das Schreiben der Daten bei der Sollstellenzahl beginnt und daß beide Adreßzähler (AZ 1,AZ2) rückwärts betrieben werden.
  3. 3. Einrichtung zur Korrektur von Mehrbitfehlern, die in Form von Fehlerbündeln in bitseriell dargestellten Datenblöcken auftreten und sich aus falschen und fehlenden Stellen oder aus falschen und zusätzlich eingefügten Stellen zusammensetzen können, unter Verwendung von zyklischen Codes, vorzugsweise Fire-Codes, wobei mit Hilfe eines ersten Schieberegisters, das in Vorwärtsrichtung betrieben wird und einen Rückkopplungsweg für die Erzeugung des Generatorpolynoms G(x) besitzt, sowohl die Erzeugung des zyklischen Codes als auch die Kontrolle beim Empfang erfolgt, dadurch gekennzeichnet, daß das erste Schieberegister (SR 1) für den Rückwärtsbetrieb einen Rückkopplungsweg (RW 12) besitzt und ein zweites Schieberegister (SR2) vorhanden ist, das ebenfalls für den Rückwärtsbetrieb einen Rückkopplungsweg (RW22) besitzt, daß zur Realisierung der Polynome in allen Rückkopplungswegen (RW 11, RW12, RW22) Exklusiv-Oder-Stufen (EO) angeordnet sind, daß zwei Vergleichseinrichtungen (VE 1, VE 2) zwischen die Schieberegister (SR 1, SR 2) geschaltet sind zum Vergleich der niederwertigsten c Stellen (VE 1) bzw. der restlichen ρ Stellen (VE 2), daß ein drittes Schieberegister (SR 3) vorgesehen ist, zur Zuführung der Daten, die für die Durchführung der Korrektur in Rückwärtsfolge gelesen werden, welches mit zwei Umschalteinrichtungen (MX 1, MX2) verbunden ist, von denen die erste (MX 1) mit dem ersten Schieberegister (SR 1) und die zweite (MX2) mit dem zweiten Schieberegister (SR2) in Verbindung steht und daß schließlich für das Lesen der Daten ein erster Adreßzähler (AZ 1) und für das Schreiben der Daten ein zweiter Adreßzähler (AZ2) vorhanden sind.
  4. 4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die in den Rückkopplungswegen (RW11, RW12, RW22) angeordneten Exklusiv-Oder-Stufen (EO) in jedem Weg durch eine Paritätsdetektorschaltung ersetzt ist.
    Hierzu 4 Seiten Zeichnungen
DD28175985A 1985-10-16 1985-10-16 Verfahren und einrichtung zur korrektur mehrbitfehlern DD241800A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DD28175985A DD241800A1 (de) 1985-10-16 1985-10-16 Verfahren und einrichtung zur korrektur mehrbitfehlern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DD28175985A DD241800A1 (de) 1985-10-16 1985-10-16 Verfahren und einrichtung zur korrektur mehrbitfehlern

Publications (1)

Publication Number Publication Date
DD241800A1 true DD241800A1 (de) 1986-12-24

Family

ID=5572165

Family Applications (1)

Application Number Title Priority Date Filing Date
DD28175985A DD241800A1 (de) 1985-10-16 1985-10-16 Verfahren und einrichtung zur korrektur mehrbitfehlern

Country Status (1)

Country Link
DD (1) DD241800A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8273181B2 (en) 2007-08-30 2012-09-25 Iogen Energy Corporation Process of removing calcium and obtaining sulfate salts from an aqueous sugar solution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8273181B2 (en) 2007-08-30 2012-09-25 Iogen Energy Corporation Process of removing calcium and obtaining sulfate salts from an aqueous sugar solution

Similar Documents

Publication Publication Date Title
DE3124425C2 (de) Verfahren und Vorrichtung zu Fehlererkennung und Fehlerkorrektur
DE3128599C2 (de) Verfahren und Vorrichtung zur Fehlererfassung und Fehlerkorrektur
DE2421112A1 (de) Speicheranordnung
DE2357004A1 (de) Verfahren und einrichtung zur fehlerkorrektur fuer daten
DE2427463C3 (de)
DE2724409A1 (de) Datenverarbeitungssystem
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE2622184A1 (de) Fehlerkorrekturverfahren
DE2530404A1 (de) Fehlerkorrektur von seriell aufgezeichneten daten mit hilfe eines unterfeld-codes
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2659031A1 (de) Fehlerkorrektur- und -steuersystem
DE2460263A1 (de) Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes
DE3045609A1 (de) Verfahren und schaltungsanordnung zur abgabe einer korrigierten datengruppe an eine bestimmungsschaltung
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
EP0615211A1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
DE1287339B (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DD241800A1 (de) Verfahren und einrichtung zur korrektur mehrbitfehlern
DE2908373C2 (de)
DE2134529A1 (de) Verfahren zur fehlererkennung und -korrektur in aus dem speicher einer programmgesteuerten datenverarbeitungsanlage ausgelesenen informationswoertern
EP0029216A1 (de) Datenübertragungseinrichtung mit Pufferspeicher und Einrichtungen zur Sicherung der Daten
EP0491073B1 (de) Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten
DE3144263C2 (de)
DE4300025C1 (de) Verfahren und Einrichtung zur fehlercodierenden Datenübertragung
DE3032468C2 (de) Schaltungsanordnung zur Erkennung des Musters von Fehlerbündeln
DE2242256A1 (de) Verfahren zur anzeige von fehlern in einem schieberegister-taktgeber sowie anordnung zur durchfuehrung des verfahrens

Legal Events

Date Code Title Description
ENJ Ceased due to non-payment of renewal fee