DE1959231B2 - Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes - Google Patents

Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes

Info

Publication number
DE1959231B2
DE1959231B2 DE1959231A DE1959231A DE1959231B2 DE 1959231 B2 DE1959231 B2 DE 1959231B2 DE 1959231 A DE1959231 A DE 1959231A DE 1959231 A DE1959231 A DE 1959231A DE 1959231 B2 DE1959231 B2 DE 1959231B2
Authority
DE
Germany
Prior art keywords
bits
errors
bit
word
error
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE1959231A
Other languages
English (en)
Other versions
DE1959231C3 (de
DE1959231A1 (de
Inventor
Bradford S. Derwood Clark Jun.
Alexander Hamilton Gaithersburg Frey Jun.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1959231A1 publication Critical patent/DE1959231A1/de
Publication of DE1959231B2 publication Critical patent/DE1959231B2/de
Application granted granted Critical
Publication of DE1959231C3 publication Critical patent/DE1959231C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Description

4. Vorrichtung zur Durchführung des Verfahrens nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die Ausgangsstufe (T-I; F i g. 2) eines elfstuFigen Schieberegister-Prüfwortgenerators (2; Fig. 1) zum empfangsseitigen Ableiten der Prüfbits einen zusätzlichen Eingang aufweist, dem das Signal zum Komplementieren des Inhaltes dieser Stufe über ein ODER-Glied (10; Fig. 2) zugeführt wird, dessen einer Eingang mit einer Steuerschaltung (6; Fig. I) und dessen anderer Eingang mit einer Fehlereinwirkungsschaltung (5; Fig. I j verbunden ist, deren zweiter Ausgang (83; F ig. 4) an den Komplementeingang der Ausgangsstufe eines 2 istufigen Speicherscheiberegisters (1; Fig. 1) angeschlossen ist, weiter dadurch gekennzeichnet, daß die Ausgänge der elf Stufen des Schieberegister-Priifwortgenerators(ll) mit einem Enlsehlüsseler (3, F i g. 1; F i g. 3) verbunden sind, dessen Ausgänge an eine Fehleranzeige-Sperrschaltung(4; Fig. 1) angeschlossen sind, mit der auch die Ausgänge der Stufen 2 bis 11 des Priifworlgenerators verbunden sind und deren Ausgang an die Fehlercinwirkungssehallimg angeschlossen ist.
Die Erfindung bezieht sich auf ein Verfahren zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes, das nach einen, zyklischen Golay-Code verschlüsselt ist und aus zwölf Daten- und ϊ elf .Prüfbits besteht. Der Golay-Code ist ein perfekter Code, der bis zu drei Fehler in einem Wort aus 23 Bits zu korrigieren gestattet. Bei einem aus 23 Bits bestehenden Wort sind genau 2" eindeutige Kombinationen von drei oder weniger Fehlern möglich. Der Golay-Code gibt in alle möglichen Fehlermuster eines aus 23 Bits bestehenden Wortes durch 2" eindeutige Fehlermuster wieder.
Es wurde gefunden, daß der (23, 12) Golay-Code als zyklischer Code, wie z. B. der Bode-Chaudhuri-Code, realisiert werden kann. In diesem Fall sind zwölf der 23 Bits eines Wortes Datenbits und elf Prüfbits. Ein Datenwort aus zwölf Bits wird so verschlüsselt, daß zusätzlich elf Prüfbits erzeugt werden, so daß die gesamte Wortlänge 23 Bits beträgt. Das Datenwort .'η wird empfangsseitig mittels eines Prüfwortgenerators entschlüsselt. Der Prüfwortgenerator erzeugt ein aus elf Bits bestehendes Prüfwort, das ein Fehlermuster innerhalb des aus 23 Bits bestehenden Codewortes anzeigt. Das Prüfwort kann daher durch Vergleich mit .'■■ den 2" eindeutigen Fehlermustern entschlüsselt werden, die den 2" verschiedenen Fehlerkombinationen von drei oder weniger Fehlern innerhalb eines aus 23 Bits bestehenden Codewortes entsprechen. Wenn das 23 Bits enthaltende Codewort mehr als drei Fehler in aufweist, dann entspricht keines der 211 eindeutigen Fehiermuster den durch den Prüfwortgenerator erzeugten Fehlermustern. Daher kann keine Korrektur erfolgen. Wenn jedoch drei oder weniger Fehler in dem 23 Bits enthaltenden Wort vorliegen, dann ist der Inhalt i) des Prüfwortgenerators der gleiche wie eines der 2" eindeutigen Fehlermuster des Golay-Codes. Durch Identifizieren des Inhaltes des Prüfwortgenerators kann man daher bestimmen, welche der 23 Bits eines Wortes fehlerhaft sind und diese dann korrigieren.
κι Das Hauptproblem bestand bisher darin eine einfache Vorrichtung zu finden, um aus einem 23 Bits enthaltenden, nach dem Golay Code verschlüsselten Wort die Information zu gewinnen, welche der 23 Bits fehlerhaft sind, wenn bis zu drei Fehler vorlagen. Eine r. Möglichkeit besteht darin, einen Entschlüsseier aus 2" UND-Gliedern aufzubauen, bei dem jedes UND-Glied elf Eingänge besitzt. Es ist klar, daß diese Lösung einen ungeheuren Aufwand an Bauelementen erfordert.
Mit der Kenntnis, daß der Golay-Code als zyklischen
in Code realisiert werden kann, können die Eigenschaften zyklischer Codes mit großem Vorteil ausgenutzt
werden. Ein zyklischer Code ermöglicht es, den
Entschlüsseler anstatt mit 1024 UND-Gliedern nur mit 276 UND-Gliedern aufzubauen, deren jedes elf
■ > Eingänge aufweist. Dies ist deshalb möglich, weil der
Piiifwortgenerator seinen Zyklus 23mal durchläuft, was
es ermöglicht, jedes der 23 Bits einzeln darauf
abzufragen, ob es allein oder in Verbindung mit bis zu
zwei anderen Bits des 23 Bits enthaltenden Wortes
.,π fehlerhaft ist. Nach der Erzeugung des Prüfwortes ist der Inhalt der Ausgangsstufe des Priifworlgenerators ein Äquivalent für alle die Fehlermuster, die das erste
Bit des 23 Bits enthaltenden Wortes betreffen. Wenn das erste Bit des 23 Bits enthaltenden Wortes fehlerhaft ist,
ni dann erscheint ein eindeutiges i-'ehlernuister ills Inhalt des Prüfwortgeneralors. Wenn das erste Bit in
Verbindung mit irgendeinem zweiten llil des 2i liits enthaltenden Wortes fehlerhaft ist, dann könnten
eindeutige Fehlerniuster den Inhalt des Prüfworigenerators bilden. Wenn schließlich das erste Bit in Verbindung mit zwei anderen Bits innerhalb des 23 Bits enthaltenden Wortes fehlerhaft ist, dann gibt es 253 andere eindeutige Fehlermuster, die een Inhalt des Prüfwortgenerators bilden könne'!. Es gibt somit insgesamt 276 unterschiedliche Fehlermuster, die dem Vorliegen von drei oder weniger Fehlern innerhalb eines 23 Bits enthaltenden Wortes zugeordnet sind. Wenn irgendeines der eindeutigen Fehlermuster von dem Prüf vortgenerator festgestellt wird, sind dadurch, daß bekannt ist, welches Bit zu einem gegebenen Zeitpunkt abgefragt wird, auch die Stellen der Fehler bekannt. Es sei bemerkt, daß nach dem Stand der Technik 276 UND-Glieder mit je elf Eingängen sowie die notwendige Steuerschaltung erforderlich sind. Dieser hohe Aufwand an Bauelementen macht die Verwendung des Golay-Codes für die Korrektur von dreifachen Fehlern unzweckmäßig.
Dieser Nachteil wird durch das Verfahren gemäß der Erfindung vermieden. Dieses Verfahren zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes, das nach einem zyklischen Golay-Code verschlüsselt ist und aus zwölf Daten- und elf Prüfbits besteht, und bei dem das empfangene Codewort gespeichert und von ihm die Prüfbits erneut abgeleitet werden und bestimmt wird, ob jedes einzelne Bit des Wortes allein oder in Verbindung mit bis zu zwei anderen Bits fehlerhaft ist, ist dadurch gekennzeichnet, daß die einzelnen Bits nacheinander mittels je eines Abfragezyklus darauf abgefragt werden, ob sie allein oder in Verbindung mit bis zu zwei weiteren Bits fehlerhaft sind und dadurch, daß ein Abfragezyklus folgende Schritte enthält: das Komplementieren des ersten oder empfangsseitig abgeleiteten Prüfbits unter der Annahme, daß das abzufragende Bit fehlerhaft ist, das Feststellen, ob weniger als drei gültige Fehler durch die empfangsseitig abgeleiteten und modifizierten Prüfbits angezeigt werden, die Konektur des abgefragten Bits des gespeicherten Codewortes, wenn weniger als drei gültige Fehler durch ■ die empfangsseitig abgeleiteten und modifizierten Prüfbits angezeigt werden und das erneute Komplementieren des ersten empfangsseitig abgeleiteten Prüfbits, wenn nach seinem ersten Komplementieren das Vorliegen von weniger als drei gültigen Fehlern nicht angezeigt wurde.
Gemäß einer Weiterbildung der Erfindung ist das Verfahren dadurch gekennzeichnet, daß nach dem Abfragen des letzten Bits des gespeicherten Codewortes festgestellt wird, ob die Prüfbits aus lauter Nullen bestehen und daß, wenn das der Fall ist, ein Signal erzeugt wird, das eine erfolgreiche Fehlerkorrektur des Codewortes anzeigt.
Nach einer weiteren Ausbildung der Erfindung ist das Verfahren dadurch gekennzeichnet, daß das nacheinander erfolgende Abfragen der einzelnen Bits auf das Vorliegen von Fehlern nur für die zwölf Datenbits vorgenommen wird, und daß nur festgestellt wird, ob die empfangsseitig abgeleiteten elf Prüfbits weniger als vier Fehler enthalten und daß ein Signal für eine erfolgreiche Fehlerkorrektur der zwölf Datenbus erzeugt wird, wenndasder Fall ist.
Das Verfahren der Erfindung beruht auf dem Konzept, daß, wenn das erste Bit fehlerhaft ist und wenn drei oder weniger Fehler innerhalb des 2! Bits enthaltenden Wortes vorliegen, durch Korrigieren des ersten Bits die Anzahl der Fehler auf zwei oder weniger verrinnen wird. d. h., wenn drei Fehler vorhanden waren, werden die Fehler daaurch jetzt auf zwei verringert, wenn zwei Fehler vorhanden waren, werden die Fehler auf einen verringert. Wenn nur ein Fehler vorlag, liegt nach der Korrektur keiner mehr vor. Wenn
ri jedoch die Annahme falsch wvsr, dann wurde, wenn keine Fehler vorhanden waren, die Anzahl der Fehler auf I erhöht. Wenn ein Fehler vorhanden war, dann wurde die Anzahl der Fehler auf zwei erhöht, und wenn zwei Fehler vorhanden waren, dann wurde die Anzahl
ίο auf drei erhöht. Wenn drei Fehler bereits vorlagen, dann wird die Anzahl der Fehler auf vier erhöhl. Das Verfahren sucht nach Anzeigen für das Vorliegen von zwei, einem oder keinem Fehler. In den Fällen, in den ursprünglich zwei oder mehr Fehler vorhanden waren,
i) liefert eine falsche Annahme Ergebnisse, die nicht zu identifizieren sind. Es ist somit ersichtlich, daß eine gewisse Zweideutigkeit vorliegt, ob die Annahme falsch war und ursprünglich ein oder zwei Fehler in dem 23 Bits enthaltenden Wort vorlagen. Es wurde jedoch
in gefunden, daß die Fehleranzeigen, die sich aufgrund einer falschen Annahme ergeben, zu eindeutigen Zeitpunkten während der Abfrage erscheinen und daher festgestellt und unbeachtet gelassen werden.
Das Verfahren beruht kurz gesagt darauf, anzuneh-
2Ί men, daß das abzufragende Bit fehlerhaft ist und dieses Bit zu korrigieren. Anschließend werden die restlichen 22 Bits auf das Vorliegen von zwei oder weniger Fehlern untersucht. Wenn zwei oder weniger Fehler gefunden werden, dann wird das Fehlermuster nicht als ein
in fälschliches identifiziert, das aufgrund einer falschen Annahme bezüglich des abgefragten Bits entstand.
Das abgefragte Bit war dann in der Tat fehlerhaft und muß im Speicher korrigiert werden. Das Verfahren verlangt das Abfragen jedes der 23 Bits, um festzustellen
Γι ob dieses Bit in der Tat fehlerhaft ist. Eine Entscheidung wird nur getroffen, ob das abgefragte Bit fehlerhaft ist, nicht jedoch darüber, wo weitere Fehler in dem 23 Bits enthaltenden Wort vorliegen. Durch die Annahme, daß das abgefragte Bit fehlerhaft ist, und dadurch, daß es nicht interessiert, wo die anderen Fehler vorliegen, sondern nur, ob sie vorliegen, wird die Verringerung der Bauteile bei einer Vorrichtung zur Durchführung des Verfahrens gemäß der Erfinung ermöglicht.
Im folgenden wird die Erfindung durch die genauere
4"> Beschreibung eines bevorzugten Ausführungsbeispieles in Verbindung mit den Zeichnungen näher erläutert. Von den Zeichnungen zeigt
Fig. 1 ein Blockdiagramm einer Vorrichtung /ur Erkennung und Korrektur von drei oder weniger
ίο Fehlern innerhalb eines 23 Bits umfassenden Wortes, das nach dem Golay-Code verschlüsselt ist,
Fig.2 ein Schaltbild des in F i g. I dargestellten Prüfwortgenerators,
F i g. 3 das Schaltbild des Entschlüsselet nach Fig. 1,
ΊΊ Fig.4 das Schaltbild der .Sperrschaltung und der Fehlereinwirkungsschaltung der Vorrichtung Mach Fig. 1.
Das Verfahren gemäß der Erfindung dient der Gewinnung der für die Fehlerkorrektur erforderlichen
ho Information aus einem (2 5, 12) Goluy-Code. IXis Verfahren verwendet für den Golay-Code den bekannten Bose-Chaudhuri-Code. Der GoUiy-Code ergibt 2048 (2n) verschiedene Fehlerniuster zur Anzeige von drei ocier weniger Fehlern innerhalb eines Wortes von Ii
·'· Bits, /.wolf tier 2i liits sind D.itcnbils. uiul clic iL-slln.ln.ti elf Hits sind Kcduiidan/bits. Hei der Verwendung von zyklischen Codes besteht d.is Verfahren (Linn, d.is eintreffende 2i Bits enthaltende Wort durch d.is
Verschlüsselungspolynom zu dividieren, um ein Prüfwort zu erhalten. Durch das Prüfwort läßt jedes der verschiedenen Fehlermuster darstellen, die beim Vorliegen von drei oder weniger Fehlern in dem ursprünglichen, 23 Bits enthaltenden Wort erhalten werden. Das Verfahren gemäß der Erfindung beruht auf dem grundlegenden Konzept, daß man, wenn man nur eine Information darüber gewinnen will, ob ein vorgegebenes Bit fehlerhaft ist anstatt zu versuchen, alle möglichen erkennbaren Fehler gleichzeitig zu bestimmen, eine gewaltige Verringerung der Bauelemente und der Kosten erzielen kann. Das Verfahren erfordert das Prüfen jedes Bits des 23 Bits enthaltenden Wortes, um festzustellen, ob es allein oder in Verbindung mit zwei oder v/eniger anderen Bits fehlerhaft ist. Wenn diese Kriterieren vorliegen, wird das Fehlerbit im Speicher korrigiert.
Das Verfahren macht von den Eigenschaften des Golay-Codes Gebrauch, wenn dieser mit zyklischen Codes zusammengefaßt wird. Eine erwünschte Eigenschaft ist die, daß der Prüfworlgenerator ein Schieberegister ist und gleichzeitig elf Bits des 23 Bits enthaltenden Wortes überprüft. Wenn bei einem nach dem Golay-Code verschlüsselten Codewort zwei oder weniger Fehler innerhalb der elf Bits vorliegen, die zu einem vorgegebenen Zeitpunkt sich in dem Prüfwortgenerator befinden, dann enthält der Prüftwortgenerator zwei oder weniger Einsen, alle übrigen Stellen des Prüfwortgenerators enthalten Nullen. Wenn daher der Inhalt des Prüfwortgenerators 23mal verschoben wird, werden damit 23 sich überlappende Gruppen von elf Bits überprüft, und es wird das Vorliegen von zwei oder weniger Fehlern in den elf Bits nach jeder Verschiebung erkannt, indem festgestellt wird, ob zwei oder weniger Einsen nach jeder Verschiebung in dem Prüfwortgenerator vorhanden sind.
Es gibt jedoch einen Fall, der gesondert behandelt werden muß. Zunächst ist zu beachten, daß zwei Fehler nicht weiter als elf Bits voneinander entfernt sein dürfen. Wenn ein Fehler in der Stelle 1 und ein Fehler in der Stelle 12 des 23 Bits enthaltenden Wortes vorhanden ist, sind die beiden Fehler elf Bits voneinander entfernt, und die beiden Fehler befinden sich zu keinem Zeitpunkt gleichzeitig in dem Prüfwortgenerator. Da der Code ein zyklischer ist, ist dann, wenn das Bit 12 sich in der ersten Stufe des Prüfwortgeneralors befindet, das fehlerhafte Bit, das anfangs sich in der Bitstelle 1 befand, zwölf Bits von dieser Bitstelle entfernt. Wenn jedoch das Bit 1 des 23 Bits enthaltenden Wortes und das Bit 13 dieses Wortes fehlerhaft sind, dann beträgt der Abstand zwischen den beiden fehlerhaften Bits ursprünglich zwölf Bits. Es folgt daraus, daß, wenn das Bit 13 in die erste Stufe des Prüfwortgenerators hineingeschoben wird, dcis Bit 1 elf Bits davon entfernt ist. Daher befinden sich diese beiden fehlerhaften Bits zu keinem Zeitpunkt gleichzeitig in dem Prüfwortgcncrator. Da der Code zyklisch ist, könnten die speziellen Fälle, in denen zwei Fehler innerhalb des 23 Bits enthaltenden Wortes auftreten, erkannt werden, wenn es möglich ist, einen Abstand von elf Bits zwischen zwei Fehlern zu erkennen.
F.s exisiticrt im Golay-Code ein eindeutiges Fchlermuster für zwei Fehler, das zwei Fehlern, die einen Abstund von elf Bits aufweisen, zugeordnet ist. Wenn daher dieses eindeutige Fchlermiistcr für zwei Fehler und die Bedingung von zwei oder weniger Einsen im Inhalt des Prüfwortgenenitors abgefragt werden, können alle möglichen Felilerkombinntioncn von zwei
oder weniger Fehlern, die sich im Prüfworlgenerator befinden, erkannt werden.
Das Verfahren erfordert daher das systematische Abfragen jedes der 23 Bits des Wortes in der folgenden Weise:
1. Erzeugen des Prüfwortes in dem Prüfwortgcneralor.
2. Der Inhalt des Prüfwortgcncrators stellt jetzt die Bitstellen 1 bis 11 des 23 Bits enthaltenden Wortes dar. Es wird angenommen, daß ein Fehler das erste Bit des 23 Bits enthaltenden Wortes betrifft, und dieser Fehler wir durch Komplementieren des Inhaltes der ersten Stufe des Prüfwortgencrators korrigiert.
3. Der Inhalt des Prüfwortgenerators wird um eine Stelle verschoben. Der Prüfwortgencrator zeigt nun Fehlermuster an, die mit den Bits 2 bis 12 des ursprünglichen 23 Bits enthaltenden Wortes verbunden sind.
4. Der Inhalt des Prüfwortgenerators wird bezüglich des eindeutigen Fehlermusters, das zwei Fehler in den Bits 2 und 13 des 23 Bits enthaltenden Wortes anzeigt, und bezüglich des Vorhandenseins von zwei oder weniger Einsen abgefragt. Das Vorliegen von zwei oder weniger Einsen zeigt an, daß zwei oder weniger Fehler innerhalb der Bits 2 bis 12 des ursprünglichen 23 Bits enthaltenden Wortes vorliegen.
5. Wenn das eindeutige, zwei Fehler anzeigende Fchlermustcr vorliegt oder der Inhalt des Prüfwortgenerators zwei oder weniger Einsen enthält, wird das Vorliegen dieser Bedingungen gespeichert.
6. Die Schritte 3, 4 und 5 werden noch 22mal ausgeführt.
7. Es wird geprüft, ob der Prüfwortgenerator nach irgendeiner Verschiebung das Vorliegen des eindeutigen, zwei Fehler anzeigenden Fehlermusters oder das Vorhandensein von zwei oder weniger Einsen im Inhalt des Prüfwortgenerators gespeichert hat.
8. Wenn das Vorliegen dieser Bedingung gespeichert wurde, dann war das Bit 1 des 23 Bits enthaltender Wortes in der Tat fehlerhaft und sollte korrigier! werden. Wenn die vorher erwähnten Bedingunger nicht vorlagen, dann war Bit 1 des 23 Bit; enthaltenden Wortes richtig und sollte in der erster Stufe des Prüfwortgenerators erneut komplcmen tiert werden. Es sei bemerkt, daß nach 2'. Verschiebungen der Prüfwortgenerator wieder da: ursprüngliche Fchlermuster enthält, das er nacr dem Schritt 2 enthielt. Die Schritte 2 bis 8 sine Abfragezyklen.
9. Der Inhalt des Prüfwortgencrators wird um eini Stelle verschoben. Dadurch bilden die Bits 2 bis V. jetzt den Inhalt des Prüfwortgenerators.
10. Der Abfragezyklus wird wiederholt.
11. Die Schritte 9 und 10 werden wiederholt, bis das Bi 1 wieder in der Stufe 1 des Prüfwortgenerator enthalten ist.
12. Der Inhalt des Prüfwortgenerators wird auf da Vorliegen von lauter Nullen geprüft. Wenn de Prüfwortgcncrator Einsen enthält, dann liege mehr als drei Fehler in dem 23 Bits enthaltende Wort vor.
F.s muß jedoch bemerkt werden, daß die Annahmi ein vorgegebenes Bit sei fehlerhaft, nicht zu/.iitiefie
braucht. Wenn diese Annahme nicht zutrifft, dann wurde die Anzahl der Fehler in dem 23 Bits enthaltenden Wort vergrößert. Wenn also ursprünglich keine Fehler vorlagen, dann liegt jetzt ein Fehler vor. Wenn ursprünglich ein Fehler vorhanden war, dann sind es jetzt zwei. Wenn ursprünglich zwei Fehler vorlagen, dann liegen nun drei Fehler vor. Wenn drei Fehler vorhanden waren, dann sind es jetzt vier. Da jedoch der Decoder nur auf das Vorliegen von zwei oder weniger Fehlern abfragt, wird in den Fällen kein Muster entschlüsselt, in denen ursprünglich zwei oder mehr Fehler vorhanden waren. In dem Fall jedoch, in dem ursprünglich kein oder ein Fehler vorlag, verursacht die Erhöhung auf einen oder zwei Fehler ein richtiges Ansprechen der Fehlererkennungsschaltung. Es läßt sich jedoch zeigen, daß das Auftreten eines einzelnen oder eines doppelten Fehlers, das durch eine unrichtige Annahme bedingt war, zu eindeutigen Zeitpunkten innerhalb des Abfragezyklus auftritt. Diese Zeitpunkte sind so eindeutig, daß keine richtige Fehleranzeige für einen einzelnen oder einen doppelten Fehler zu den Zeitpunkten in dem Prüfwortgenerator erscheint, an denen Fehler angezeigt werden, die aufgrund einer falschen Annahme hervorgerufen wurden. Es ist daher ersichtlich, daß die einzelnen Zeitpunkte des Abfragezyklus dazu verwendet werden können, den Ausgang der Fehlererkennungsschaltung für die Anzeige bestimmter Fehler, die in Wahrheit falsche Anzeigen der abgefragten Bedingungen sind, zu sperren. Eine vollständigere Erkärung des Verfahrens erhält man anhand der jo Beschreibung der Schaltung zur Durchführung des Verfahrens, die folgt.
Die Schaltung zum Erkennen und Korrigieren von drei oder weniger Fehlern in einem 23 Bits enthaltenden und nach dem Golay-Code verschlüsselten Wortes ist in F i g. 1 dargestellt. Zur Vereinfachung der Erklärung ist ein 23stufiges Speicherschieberegister zur Speicherung des ursprünglichen 23 Bits enthaltenden Wortes verwendet worden. Die Erfindung ist jedoch nicht auf die Verwendung dieses speziellen Speicherelementes beschränkt, vielmehr kann sie in Verbindung mit jeder beliebigen Speichervorrichtung zusammen mit zusätzlichen Schaltungen angewandt werden, um die gegebene Information zu benutzen. Die Schaltung gemäß der Erfindung hat den Zweck, eine Information darüber zu erhalten, wo der Fehler sich befindet, nicht jedoch darüber, wie der Fehler tatsächlich innerhalb des Speichers korrigiert wird.
F i g. 1 zeigt das Blockschaltbild der Schaltung gemäß der Erfindung. Das eintreffende Wort wird dem 23stufigen Speicherschieberegister 1 zur Speicherung zugeführt. Außerdem wird das 23 Bits enthaltende Wort auch einem 11 stufigen Prüfwortgenerator 2 zugeführt, der ein aus elf Bits bestehendes Prüfwort erzeugt. Der Entschlüssler 3, der notwendig ist, um zu bestimmen, ob das eindeutige Muster für einen doppelten Fehler oder ob zwei oder weniger Einsen sich in dem Prüfwortgenerator befinden, ist mit dem Prüfwortgenerator 2 verbunden. Eine Sperrschaltung 4 ist ebenfalls an den Prüfwortgenerator 2 angeschlossen, ferner an den t>o Entschlüsseier 3 und die Steuerschaltung 6 zur Bestimmung, ob die Anzeige des Entschlüsselet 3 eine Anzeige wirklicher Fehlerbedingungen oder eine Anzeige trügerischer Fehler ist, die aufgrund einer falschen Annahme entstanden. Die Fehler-Einwirkungs- b5 schaltung 5 liefert ein Ausgangssignal, das anzeigt, ob das abgefragte Bit fehlerhaft ist oder nicht, an das Speicherschieberegister 1 und den Prüfwortgenerator 2.
Die Steuerschaltung 6 liefert alle erforderlichen Schiebesignale, Komplementiersignale und Abtastimpulse. Die Steuerschaltung 6 enthält ebenso die notwendigen Taktgeber und Zähler, um die Anzahl der Verschiebungen in einem Abfragzyklus und die Anzahl der Abfragezyklen bei der Prüfung eines 23 Bits enthaltenden Wortes zu steuern.
Die in der Steuerschaltung 6 verwendeten Schaltungen gehören zum Stand der Technik, und es liegt im Rahmen des Könnens eines Durchschnittsfachmanns, die erforderlichen Taktgeber und Zähler aufzubauen und für die Verteilung der Taktsignale an die übrige Schaltung zu sorgen, so daß eine speziellere Beschreibung des Aufbaus der Steuerschaltung nicht erforderlich ist.
In F i g. 2 ist der elfstufige Prüfwortgenerator 2 dargestellt. Dieser Generator ist von einer zum Stand der Technik gehörenden Art Der einzige Unterschied zwischen Prüfwortgeneratoren nach dem Stand der Technik und den in F i g. 2 dargestellten besteht darin, daß der Inhalt der ersten Stufe Ti des Prüfwortgenerators 2 komplementiert werden kann. Wenn der Prüfwortgenerator das Prüfwort aus dem eintreffenden, 23 Bits enthaltenden Wort erzeugt, wird das 23 Bits enthaltende Wort dem Eingang des exklusiven ODER-Gliedes zugeführt. Das Erzeugen des Prüfwortes durch das aufeinanderfolgende Eingeben der 23 Bits ist bekannt. Eine genauere Beschreibung der Arbeitsweise des Prüfwortgenerators ist daher entbehrlich.
Nach dem Erzeugen des Prüfwortes aus dem eingegebenen, 23 Bits enthaltenden Wortes wird dem Eingang des exklusiven ODER-Gliedes 11 während aller Abfragezyklen der Wert 0 zugeführt Die Ausgänge der elf Stufen Tl bis Π1 des Prüfwortgenerators 2 bilden die elf Ausgangsleitungen fi bis ?i 1.
F i g. 3 zeigt den Entschlüsseier 3 der in F i g. 1 dargestellten Schaltung. Die Ausgangsleitungen t\ bis t\ \ des Prüfwortgenerators 2 führen an die Eingänge des Entschlüssele« 3.
Das eindeutige Fehlermuster des Golay-Codes, das zwei Fehlern zugeordnet ist, die elf Bits voneinander entfernt sind, wobei das erste Bit sich in der ersten Stelle des Prüfwortgenerators 2 befindet, ist 00101110001. Die Inverter 51,52, 53,54, 55 und 56 sowie das UND-Glied 57 dienen dazu, den Inhalt des Prüfwortgenerators auf dieses eindeutige Fehlermuster für das Vorliegen zweier Fehler zu überprüfen. Wenn ein Ausgangsimpuls auf der Ausgangsleitung Xi des UND-Gliedes 57 erscheint, dann ist das eindeutige Fehlermuster für das Vorliegen zweier Fehler in dem Inhalt des Prüfwortgenerators 2 durch den Entschlüsseier 3 festgestellt worden.
Die exklusiven ODER-Glieder 31, 32, 33, 34, 35, 36, 37,38 und 39 bilden eine Erkennungsschaltung, die einen von dem ODER-Glied 35 erzeugten Ausgangsimpuls liefert, wenn auf den Leitungen fe bis t\ 1 eine ungerade Anzahl von Einsen vorhanden ist Der Ausgangsimpuls des exklusiven ODER-Gliedes 35 wird dem Inverter 49 zugeführt. Dieser liefert einen positiven Ausgangsimpuls, wenn die Anzahl der auf den Leitungen h bis t\ 1 vorhandenen Einsen geradzahlig oder Null ist. Der Entschlüsseier 3 enthält außerdem eine Schaltung zur Feststellung, ob weniger als zwei Einsen auf den Eingangsleitungen t2 bis tu vorhanden sind. Die für das Feststellen dieser Bedingung erforderliche Schaltung besteht aus dem ODER-Glied 30 in Verbindung mit den UND-Gliedern 41 bis 48 und den exklusiven ODER-Gliedern 31 bis 33 und 34 bis 39. Die logischen Verknüpfungen, die an den Ausgängen der UND-GHe-
der 40 bis 48 vorliegen, können der Tabelle 1 entnommen werden.
Tabelle I
UND-Glied
Logische Verknüpfung
40 (Al · fio)
41 f/ii + iio) · (te+ te)
42 ffe· te)
43 (ill + ilO+fe+ie) · (t2+t
44 (ti - f6)
45 (i7+fc) ■ (ti+to)
46 (t5 ■ to)
47 (ti+te+h +to) ■ (n+t2)
48 (ti-n)
Das Ausgangssignal des ODER-Gliedes 30 stellt die ODER-Verknüpfung der Ausgangssignale der UND-Glieder 40 bis 48 dar. Durch Entwicklung der logischen Ausdrücke der Tabelle I läßt sich zeigen, daß jede mögliche Kombination von zwei Einsen, die auf den Leitungen t2 bis /n vorliegen, ein Ausgangssignal des ODER-Gliedes 30 erzeugt. Das ODER-Glied 35 liefert immer dann ein positives Ausgangssignal, wenn mehr als zwei Einsen auf den Leitungen h bis tu vorhanden sind. Das Ausgangssignal des ODER-Gliedes 30 wird dem Inverter 50 zugeführt. Der Inverter 50 liefert dann ein positives Ausgangssignal, wenn weniger als zwei Einsen auf den Eingangsleitungen ti bis fii vorhanden sind. Das UND-Glied 58 liefert ein Ausgangssignal, wenn auf der Eingangsleitung fj eine Eins vorhanden ist und der Inverter ein positives Ausgangssignal liefert. Genauer gesagt erzeugt das UND-Glied 58 ein positives Ausgangssignal auf der Leitung X 2, wenn die erste Stufe des Prüfwortgenerators eine Eins enthält und die restlichen zehn Stufen Tl bis T11 des Prüfwortgenerators lauter Nullen enthalten oder irgendeine dieser Stufen eine weitere Eins enthält.
Ein Eingang des UND-Gliedes 59 ist mit dem Ausgang des Inverters 51 verbunden, dessen Eingang seinerseits an die Leitung t\ angeschlossen ist. Der zweite Eingang des UND-Gliedes 59 ist mit dem Ausgang des Inverters 49 verbunden, während der dritte Eingang des UND-Gliedes 59 an den Ausgang des Inverters 50 angeschlossen ist. Auf der Ausgangsleitung X3 des UND-Gliedes 58 erscheint ein Ausgangssignal, wenn auf der Leitung ii eine Null vorhanden ist, wenn die Zahl der Einsen auf den Eingangsleitungen f2 bis tu nicht ungerade ist und wenn die Zahl der Einsen auf den Eingangsleitungen ti bis fn kleiner als zwei ist. Daher kann ein Ausgangssignal auf der Ausgangsleitung ΛΓ3 des UND-Gliedes 59 nur erscheinen, wenn auf allen Eingangsleitungen ii bis tu Nullen vorhanden sind.
Der Entschlüsseier prüft auf die Bedingungen, die bei der Beschreibung des Verfahrens nach der Erfindung angegeben wurden; d. h. er prüft auf das Vorhandensein des eindeutigen Fehlermusters, das zwei Fehler anzeigt. Diese Anzeige liefert das Ausgangssignal auf der Leitung XX. Weiter prüft der Entschlüsseier auf das Vorhandensein von zwei Einsen oder einer Eins im Prüfwortgenerator, was ein Signal auf der Leitung X 2 anzeigt. Schließlich prüft er darauf, daß keine Einsen in dem Prüfwortgenerator vorhanden, was ein Signal auf der Leitung A-3 anzeigt. Es sei bemerkt, daß, da das Verfahren verlangt, daß zwei oder weniger Einsen in dem Prüfwortgenerator vorhanden sind, beträchtliche Einsparungen an Bauelementen bei dem Aufbau der gezeigten Schaltung ermöglicht werden. Dabei wird von der Tatsache Gebrauch gemacht, daß, wenn zwei Fehler r> in den elf Bits vorliegen, die während eines bestimmten Zyklus in dem Prüfwortgenerator abgetastet werden, dieser eine oder zwei Einsen enthält, während alle seine übrigen Stufen Nullen enthalten. Dieses Muster bleibt bestehen und wird durch den Prüfwortgenerator
in geschoben, bis ein Fehler durch eine Eins in der ersten Stufe Tl des Prüfwortgenerators angezeigt wird. Wenn zwei Fehler vorhanden waren, dann bildet der eine den Inhalt der Stufe Tl, während der andere Fehler den Inhalt einer der restlichen zehn Stufen des Prüfwortgenerators bildet. Es ist nur erforderlich, zu bestimmen, ob eine Eins auf den Leitungen f2 bis in des Prüfwortgenerators vorhanden ist und ob eine Eins auf der Leitung f| vorlag. Alle Fehlermuster, die bei einem nach dem Golay-Code verschlüsselten Wort beim
2i) Vorliegen von 0, 1 oder 2 Fehlern auftreten, können durch den Entschlüsseier 3 erkannt werden.
F i g. 4 zeigt die Sperrschaltung 4 und die Fehler-Einwirkungsschaltungen der Schaltung nach Fig. 1. Wenn die zugrunde liegende Annahme, daß das überprüfte Bit
2ri fehlerhaft ist, falsch ist, wird ein fehlerfreies Bit in ein fehlerhaftes Bit umgewandelt, was sich in dem Fehlermuster eines im Golay-Code verschlüsselten Wortes wiederspiegelt. Dies ist besonders problematisch, wenn ursprünglich kein Fehler oder ein Fehler in dem 23 Bits enthaltenden Wort vorlag. Es wurde gefunden, daß diese falschen Anzeigen zu eindeutig bestimmten Zeitpunkten auftreten, so daß sie nicht mit echten Fehleranzeigen verwechselt werden können. Daher ist es jetzt erforderlich, die möglichen Fälle, echte
r> und falsche Fehleranzeigen von dem Entschlüsseier zu erhalten, zu diskutieren.
Der erste zu untersuchende Fall ist der, bei dem keine Fehler in dem 23 Bits enthaltenden Wort vorliegen. Daher besteht das Prüfwort in dem Prüfwortgenerator
•»ο aus lauter Nullen. Durch das Komplementieren des ersten Bits in dem Prüfwortgenerator bei dem Versuch, einen angenommenen Fehler zu korrigieren, wurde in der Tat ein Fehler erzeugt. Das Fehlermuster in dem Prüfwortgenerator lautet 10000000000, das von dem
4r> Entschlüsseier 3 als ein gültiges Fehlermuster erkannt wird. Nach 23 Verschiebungen des Inhalts des Prüfwortgenerators 2 während des Abfragezyklus erscheint das gleiche Muster erneut und wird erneut durch den Entschlüsseier 3 interpretiert. Daher werden
■>o unechte Fehler zu den Zeitpunkten Sb und S23 festgestellt.
Der zweite zu untersuchende Fall ist der, bei dem ein Fehler in dem 23 Bits enthaltenden Wort vorliegt und dieser Fehler das erste Bit des Wortes betrifft. Der
ίί Inhalt des Prüfwortgenerators ist dann lOOOOOOOOOO. Nach dem Komplementieren des Inhalts der Stufe 1 aufgrund der Annahme, daß das Bit in der Tat fehlerhaft war, besteht der Inhalt des Schieberegisters aus lauter Nullen. Dieser Zustand des Prüfwortgenerators 2 wird
bi) durch den Entschlüsseier 3 erkannt, und es erscheint ein Ausgangssignal auf der Ausgangsleitung X 3 des Entschlüsselet 3. Dieses Ausgangssignal ist eine echte Anzeige. Es sei bemerkt, daß keine Möglichkeit besteht, eine falsche Anzeige auf der Ausgangsleitung X3 des
μ Entschlüsselet3 zu erhalten.
Der dritte zu untersuchende Fall ist der, bei dem ein Fehler vorhanden ist und der Fehler sich unter den Bits 2 bis 11 des 23 Bits enthaltenden Wortes befindet. Das
Fehlermuster in dem Prüfwortgenerator besteht aus lauter Nullen mit Ausnahme einer Eins, die in der Stufe des Priifwortgenerators 2 vorhanden ist, die der Bitstelle des 23 Bits enthaltenden Wortes entspricht, die fehlerhaft war. Durch das Komplementieren des Inhaltes der ersten Stufe des Prüfwortgenerators 2 wird ein zweiter Fehler erzeugt, der unmittelbar von dem Entschlüsseier 3 zum Zeitpunkt So erkannt wird. Nach 23 Verschiebungen wird das gleiche Fehlermuster erneut von dem Entschlüsseier zum Zeitpunkt £2.3 entschlüsselt, und ein Ausgangssignal erscheint auf der Ausgangsleitung X 2. Somit können unrichtige Anzeigen von doppelten Fehlern vor dem Verschieben, d. h. zum Zeitpunkt So und nach der 23. Verschiebung zum Zeitpunkt Sa erhalten werden.
Der vierte zu untersuchende Fall ist der, bei dem das Bit 12 des 23 Bits enthaltenden Wortes fehlerhaft ist. Wenn der Inhalt der ersten Stufe des Priifwortgenerators 2 komplementiert wird, ist das Fehlermuster in dem Prüfwortgenerator 2 das eindeutige Fehlermuster für zwei Fehler, die elf Bits voneinander entfernt sind. Auch in diesem Fall erkennt der Entschlüsseier 3 unmittelbar das Fehlermuster in dem Prüfwortgenerator Z Und wieder erscheint nach der 23. Verschiebung das gleiche Fehlermuster in dem Prüfwortgenerator 2 und wird durch den Entschlüsseier 3 erneut entschlüsselt, und ein Ausgangssignal erscheint auf der Ausgangsleitung X1. Es sei bemerkt, daß das Vorliegen von Fehlern anzeigende Ausgangssignal, das beim Vorliegen des eindeutigen, zwei Fehler anzeigenden Fehlermusters erzeugt wird, zu den Zeitpunkten S0 und S23 erscheint.
Der fünfte zu untersuchende Fall ist derjenige, bei dem das Bit 13 des 23 Bits enthaltenden Wortes fehlerhaft ist. Nach dem Komplementieren des Inhalts des Prüfwortgenerators 2 wird das Fehlermuster, das in dem Prüfwortgenerator vorhanden ist, durch den Entschlüsseier 3 nicht erkannt. Nach zwölf Verschiebungen jedoch befindet sich zum Zeitpunkt Sn das 13. Bit des 23 Bits enthaltenden Wortes in der ersten Stufe des Prüfwortgenerators 2, und das fehlerhaft gewordene erste Bit des 23 Bits enthaltenden Wortes wird als nächstes Bit dem Prüfwortgenerator 2 zugeführt. Es ist daher ersichtlich, daß die beiden Fehler 11 Bits voneinander entfernt sind. Das Fehlermuster in dem Prüfwortgenerator 2 zeigt dies an und das eindeutige Fehlermuster für zwei Fehler ist vorhanden. Es sei bemerkt, daß das eindeutige Fehlermuster für zwei Fehler, das zum Zeitpunkt Su festgestellt wird, trügerisch ist.
Der sechste zu untersuchende Fall ist derjenige, bei 5η dem ein Fehler unter den Bits 14 bis 23 des 23 Bits enthaltenden Wortes vorliegt. Es erscheint ein Ausgangssignal auf der Leitung X 2 des Entschlüsselet 3. Die speziellen Zeitpunkte für die besonderen Fehlermuster in dem Prüfwortgenerator, die einem Fehler in den Stellen 14 bis 23 des 23 Bits enthaltenden Wortes zugeordnet sind, sind in der Tabelle II angegeben. Bei den Fehlermustern handelt es sich um unechte Fehlermuster.
tiO
Tabelle II Zeitpunkt Prüfwortgenerator
Bit in Stelle Sn
SlA
Si 5
10000000001
10000000010
10000000100
14
15 '
Ifi
Bit in Stelle
Zeitpunkt
Prüfwortgenerator
17 Sl 6 10000001000
la Sl 7 lOOOOGlOOOO
19 Sl 8 10000100000
20 Sl9 10001000000
21 S20 10010000000
22 Sal 10100000000
23 S22 11000000000
Der siebte zu untersuchende Fall ist derjenige, bei dem das 23 Bits enthaltende Wort zwei Fehler aufweist, deren einer das erste Bit und deren anderer eines der restlichen 22 Bits betrifft.
Wenn daher der Inhalt der ersten Stufe des Prüfwortgenerators komplementiert wird, wird ein Fehler korrigiert, und die Anzahl der Fehler in dem Prüfwortgenerator wird von zwei auf eines vermindert Das Fehlermuster 10000000000 erscheint während der Zeitpunkte Si bis S22, um anzuzeigen, daß ein Fehler vorliegt. Dabei handelt es sich um echte Fehleranzeigen. Es sei bemerkt, daß zu den Zeitpunkten So oder S23 das vorher genannte Fehlermuster, das das Vorhandensein eines echten Fehlers anzeigt, nicht erscheint.
Der achte zu untersuchende Fall ist derjenige, bei dem zwei Fehler in den Bitstellen 2 bis 23 des 23 Bits enthaltenden Wortes vorliegen und bei dem durch Komplementieren des Inhaltes des Prüfwortgenerators
2 ein zusätzlicher Fehler erzeugt wird. In diesem Fall wird von dem Entschlüssler 3 kein Fehlermuster erkannt, und daher können keine irrtümlichen Fehleranzeigen abgegeben werden.
Der neunte zu untersuchende Fall isl derjenige, bei dem drei Fehler innerhalb der Schieberegisterstellen 2 bis 23 vorliegen und ein vierter Fehler durch Komplementieren des Inhaltes der ersten Stufe des Prüfwortgenerators 2 erzeugt wird. Auch in diesem Fall wird das Fehlermuster, das erhalten wird, von dem Entschlüssler 3 nicht entschlüsselt. Daher wird auch in diesem Fall keine trügerische Fehleranzeige von dem Entschlüsseier 3 abgegeben.
Der zehnte und letzte zu untersuchende Fall ist derjenige, bei dem das 23 Bits enthaltende Wort drei Fehler aufweist, von denen einer das erste Bit betrifft. Durch Komplementieren des Inhaltes der ersten Stufe des Prüfwortgenerators wird der Fehler beseitigt, und die Anzahl der Fehler, die durch das Prüfwort wiedergegeben wird, wird von drei auf zwei verringert. Es läßt sich zeigen, daß alle Kombinationen von zwei Einsen aus den restlichen 22 Bits von dem Entschlüssler
3 während der 23 Verschiebungen erkannt werden. Es sei jedoch bemerkt, daß die Fehlermuster, die in den Fällen 3, 4, 5 und 6 für das Vorliegen von doppelten Fehlern existieren, nicht auch durch echte Fehler hervorgerufen werden können. Die Fehlermuster zur Korrektur echter doppelter Fehler und die zur Korrektur trügerischer doppelter Fehler sind einander ausschließende Teilmengen der Gesamtmenge der Fehlermuster zur Korrektur doppelter Fehler und können daher getrennt werden.
In Fig. 4 ist die erforderliche Sperrschaltung dargestellt. Die drei Ausgangsleitungen des Entschlüssclers 3 führen zu drei UND-Selbsthalteschaltungcn der Sperrschaltung 4. Eine UND-Selbsthalteschaltung isl eine Schaltung, die beim Eintreten zweier Ereignisse ausgelöst wird und diesen Zustand auch nach dem Verschwinden der Einffanessismale beibehält. Solche
UND-Selbsthalteschaltungen sind bekannt und werden daher hier nicht näher beschrieber
Das Ausgangssigna! auf der Leitung X3 des Entschlüsslers 3 wird der Selbsthalteschaltung 62 zugeführt. Es sei bemerkt, daß gemäß der vorausgehenden Erörterung der zehn möglichen Fälle diese Ausgangsleitung nie gesperrt werden muß.
Die Ausgangsleitung X2 des Entschlüsslers 3 liefert eine Fehleranzeige nur, wenn der Fehler in der ersten Stelle des Prüfwortgenerators vorlag oder wenn außerdem ein weiterer Fehler im Inhalt der restlichen zehn Stufen des Prüfwortgenerators 2 vorhanden ist. Wie im Zusammenhang mit dem ersten und dritten Fall gezeigt wurde, sind diejenigen Ausgangssignale, die auf der Leitung X 2 während der Zeitpunkte 5b bis 523 erscheinen, trügerisch. Daher sollte ihre Weiterleitung unterbunden werden. Somit wird das Auslösen der UN D-Selbsthalteschaltung 61 verhindert, wenn eine Anzeige von dem Entschlüsseier 3 zu den Zeitpunkten S0 bis S2J eintrifft.
Wie in Verbindung mit dem Fall 6 gezeigt wurde, können die zwei Fehlermuster, die zu bestimmten Zeitpunkten vorhanden sind, falsche Ergebnisse liefern. Die UND-Selbsthalteschaltungen 63—72 fragen das Vorhandensein dieser Bedingungen ab. Da nur eine dieser Bedingungen während eines Abfragezyklus vorliegt, sind die Ausgangsleitungen der UND-Selbsthalteschaltungen 63 bis 72 alle mit dem ODER-Glied 73 verbunden. Die Wirkung des Auslösens der LJND-Selbsthalteschaltung 61 durch ein Signal auf der Leitung X 2, das nicht zu den Zeitpunkten 5b und S23 auftritt, wird aufgehoben, wenn irgendeine der Selbsthalteschaltungen 63 bis 72 ausgelöst wurde. Daher kann das UND-Glied 75 nur ein positives Ausgangssignal liefern, wenn ein Ausgangssignal auf der Leitung X2 des Entschlüssele« 3 vorhanden ist und die vorher beschriebenen Fälle 1, 2 und 7 nicht gegeben sind. Die Ausgangsleitung A-I des Entschlüssele« 3 ist mit der UND-Selbsthalteschaltung 60 verbunden. Die UND-SelbsthaHeschaltung 60 wird ausgelöst, wenn auf der Ausgangsleitung Xi ein Ausgangssignal zu anderen Zeitpunkten als 5b, Su und 523 vorhanden ist. Die Zeitpunkte 5b, Sn und S23 sind mit Rücksicht auf die vorher erörterten Fälle 4 und 5 ausgenommen.
Die Ausgänge der UND-Selbsthaiteschaltungen 60 und 61 sowie der Selbsthalteschaltung 62 sind mit dem ODER-Glied 80 verbunden. Der Ausgang des ODER-Gliedes 80 ist der Ausgang der Sperrschaltung. Der einzige Zeitpunkt, an dem das ODER-Glied 80 ein Ausgangssignal liefert, ist der, zu dem eine gültige Bedingung vorliegt, d. h. wenn das eindeutige,, das Vorliegen zweier Fehler anzeigende Fehlermuster festgestellt wurde oder zwei oder weniger Einsen in dem Inhalt des Prüfwortgenerators vorhanden waren.
Die Fehler-Einwirkungsschaltung besteht aus dem Inverter 81 und den Torschaltungen 82 und 83. Nach der 23. Verschiebung, nach der der Prüfwortgenerator wieder seinen ursprünglichen Zustand annimmt, wird ein Abtastimpuls £1 —£Ί2 erzeugt. EX dient der Abtastung des ersten Bits, E 2 der des zweiten Bits usw. t>o Der Abtastimpuls wird durch die Steuerschaltung 6 erzeugt und tastet die Torschaltungen 82 und 83 ab. Wenn kein Fehler in der überprüften Bitstelle vorlag, schaltet die Torschaltung 82 den Abtastimpuls durch, und dieser komplementiert erneut den Inhalt der ersten b5 Stufe des Prüfwortgenerators 2. Wenn ein Fehler vorlag, durchläuft der Abtastimpuls die Torschaltung 83 und komplementiert das fehlerhafte Bit. In dem gegebenen Beispiel komplementiert das Ausgangssignal der Torschaltung 83 den Inhalt der ersten Stufe des Speicherschieberegisters 1. Der Inhalt des Speicherschieberegisters wird dann verschoben, wobei das nächste abzufragende Bit in die erste Stufe gelangt, und das Abfragen des nächsten Bits erfolgt in der gleichen Weise, in der das erste Bit geprüft wurde.
Die vorausgehende Erörterung beschrieb zehn mögliche Kombinationen der ersten elf Bits eines 23 Bits enthaltenden Wortes, das dem Prüfwortgenerator zugeführt wurde. Da der verwendete Code ein zyklischer Code ist, ist die Frage, welches das erste Bit des 23 Bits enthaltenden Wortes ist, eine Frage willkürlicher Bezugnahme. Durch einmaliges Verschieben des Inhalts des Schieberegisters wird das Bit 2 des 23 Bits enthaltenden Wortes nun das Bit 1, und alle die gleichen Regeln und Erörterungen, die für das ursprüngliche Bit 1 des 23 Bits enthaltenden Wortes galten, gelten auch jetzt
Es sei bemerkt, daß es, da zwölf der Bits des 23 Bits enthaltenden Wortes Datenbits sind, in den meisten Fällen nur erwünscht ist, die Datenbits zu korrigieren. Daher kann die Korrektur nach dem Abfragen des zwölften Bits beerdet werden. Wenn in dem 23 Bits enthaltenden Wort drei oder weniger Fehler vorlagen, dann ist zu diesem Zeitpunkt jeder Fehler, der in den ersten zwölf Bits vorhanden war, korrigiert. Um festzustellen, ob erfolgreich korrigiert wurde, braucht man nur den Inhalt des Prüfwortgenerators noch einmal zu verschieben, so daß die elf Bits, die den Inhalt des Prüfwortgenerators bilden, die elf Prüfbits sind (Bits 12—23). Unter diesen Bedingungen wird eine Anzahl von Einsen, die in dem Prüfwortgenerator 2 vorhanden ist, gezählt. Wenn jedoch die Anzahl der Einsen in dem Prüfwortgenerator größer als drei ist, dann muß angenommen werden, daß die zwölf Datenbits noch fehlerhaft sind.
Zusammenfassend ist festzuhalten, daß ein allgemeiner Überblick über eine vollständige Operation der Schaltung hier gegeben wird. Nach dem Speichern des 23 Bits enthaltenden Wortes in dem Speicherschieberegister 1 und dem Erzeugen des Prüfwortes in dem Prüfwortgenerator 2 beginnt das Gewinnen der erforderlichen Korrekturinformation durch das Prüfwort. Der Inhalt des Prüfwortgenerators 2 entspricht den Bits 1 — 11 des 23 Bits enthaltenden Wortes. Der Inhalt der dem Bit 1 zugeordneten Stufe des Prüfwortgenerators wird aufgrund der Annahme, daß der Inhalt fehlerhaft ist, komplementiert Das erzeugte Prüfwort wird dann 23mal verschoben, worauf der Inhalt des Prüfwortgenerators 2 wieder seinen ursprünglichen Wert annimmt. Der Entschlüsseier 3 überwacht den Inhalt des Prüfwortgenerators und liefert ein Ausgangssignal, wenn das eindeutige Fehlermuster für zwei Fehler, die genau elf Bits voneinander entfernt sind, auftritt oder wenn der Inhalt des Prüfwortgenerators 2 zwei oder weniger Einser enthält. Das Ausgangssignal der Entschlüsselungsschal tung wird der Sperrschaltung zugeführt, in der es mittels Selbsthalteschaltungen gespeichert wird. Nach der 23 Verschiebung erscheint am Ausgang der Sperrschaltung 4 ein Ausgangssignal, wenn der Entschlüssler 3 eine dei vorher genannten Bedingungen feststellt und wenr diese Bedingungen keine trügerischen waren. Die Steuerschaltung erzeugt dann einen ersten Abtastim puls, der die Fehlereinwirkungsschaltung 5 abtastet, die wenn kein Fehler festgestellt wurde, den Inhalt dei ersten Stufe des Prüfwortgenerators 2 erneut komple
mentieri. Wenn ein Fehler festgestellt wurde, wird das erste Bit des 23 Bits enthaltenden Wortes durch die Fehler-Einwirkungsschaltung komplementiert. Der Inhalt des Prüfwortgenerators wird dann um eine Stelle verschoben, und das Prüiwort besteht aus den Bits 2— 11. Der Inhalt der ersten Stufe des Prüfwortgenerators wird dann komplementiert. Der Inhalt des Prüfwortgenerators wird erneut 23mal verschoben, wobei der Entschlüsseier den Inhalt überwacht, um festzustellen, ob eine der Bedingungen vorliegt. Die Sperrschaltung verhindert wieder falsche Anzeigen. Die Fehler-Einwirkungsschaltung liefert einen Impuls, der entweder den Fehler in der zweiten Stelle des Datenwortes korrigiert oder den Inhalt der ersten Stelle
des Prüfwortgenerators 2 erneut komplementiert.
Der Inhalt des Prüfwortgeneralors wird dann um eine Stelle verschoben, so daß die Bits 3-14 den Inhalt des Prüfwortgenerators bilden, und es wird tier Inhalt der ersten komplementiert. Der Zyklus wird für das dritte Bit und für alle die restlichen Bits fortgesetzt, bis das 25. Bit in gleicher Weise abgefragt wurde.
Zu diesem Zeitpunkt sollte der Inhalt des Prüfwortgenerators aus lauter Nullen bestehen. Das würde anzeigen, daß, falls drei oder weniger Fehler vorlagen, diese drei oder weniger Fehler korrigiert wurden. Wenn jedoch der Inhalt des Prüfwortgenerators noch Einsen enthält, dann befinden sich unter den 2 J Bits noch Fehler.
llicr/u 2 Watt /xi

Claims (3)

Patentansprüche:
1. Verfahren zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes, das nach einem zyklischen Golay-Code verschlüsselt ist und aus 12 Daten und 11 Prüfbits besteht, bei welchem Verfahren das empfangene Codewort gespeichert und von ihm die Prüfbits erneut abgeleitet werden und bestimmt wird, ob jedes einzelne Bit des Wortes allein oder in Verbindung mit bis zu zwei anderen Bits fehlerhaft ist, dadurch gekennzeichnet, daß die einzelnen Bits nacheinander mittels je eines Abfragezyklus darauf abgefragt werden, ob sie alleine oder in Verbindung mit bis zu zwei weiteren Bits fehlerhaft sind und daß ein Abfragezyklus folgende Schritte enthält: Das Komplementieren des ersten der empfangsseitig abgeleiteten Prüfbits unter der Annahme, daß das abzufragende Bit fehlerhaft ist, das Feststellen, ob weniger als drei gültige Fehler durch die empfangsseitig abgeleiteten und modifizierten Prüfbits angezeigt werden, die Korrektur des abgefragten Bits des gespeicherten Codewortes, wenn weniger als drei gültige Fehler durch die empfangsseitig abgeleiteten und modifizierten Prüfbits angezeigt werden, und das erneute Komplementieren des ersten empfangsseitig abgeleiteten Prüfbits, wenn nach seinem ersten Komplementieren das Vorliegen von weniger als drei gültigen Fehlern nicht angezeigt wurde.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß nach dem Abfragen des letzten Bits des gespeicherten Codewortes festgestellt wird, ob die Prüfbits aus lauter Nullen bestehen und daß, wenn das der Fall ist, ein Signal erzeugt wird, das eine erfolgreiche Fehlerkorrektur des Codewortes anzeigt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das nacheinander erfolgende Abfragen der einzelnen Bits auf das Vorliegen von Fehlern nur für die 12 Datenbits vorgenommen wird und daß nur festgestellt wird, ob die empfangsseitig abgeleiteten
11 Prüfbits weniger als 4 Fehler enthalten und daß ein Signal für eine erfolgreiche Fehlerkorrektur der
12 Datenbits erzeugt wird, wenn das der Fall ist.
DE1959231A 1969-02-28 1969-11-26 Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes Expired DE1959231C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US80322669A 1969-02-28 1969-02-28

Publications (3)

Publication Number Publication Date
DE1959231A1 DE1959231A1 (de) 1970-09-10
DE1959231B2 true DE1959231B2 (de) 1978-05-18
DE1959231C3 DE1959231C3 (de) 1979-01-04

Family

ID=25185949

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1959231A Expired DE1959231C3 (de) 1969-02-28 1969-11-26 Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes

Country Status (4)

Country Link
US (1) US3622982A (de)
CH (1) CH532815A (de)
DE (1) DE1959231C3 (de)
GB (1) GB1280550A (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3818442A (en) * 1972-11-08 1974-06-18 Trw Inc Error-correcting decoder for group codes
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
IT1168840B (it) * 1983-09-15 1987-05-20 Cselt Centro Studi Lab Telecom Decodificatore di codice binario ciclico perfetto
US4589112A (en) * 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
FR2616993B1 (fr) * 1987-06-16 1989-11-24 Radiotechnique Ind & Comm Procede et dispositif de correction d'erreurs dans les donnees numeriques d'un signal de television
US6189125B1 (en) * 1998-06-30 2001-02-13 Motorola, Inc. Method communication system and phone for systematic encoding and computationally efficient decoding for minimizing error propagation
DE102004033266A1 (de) * 2004-07-09 2006-02-02 Dr. Johannes Heidenhain Gmbh Positionsmesseinrichtung und Verfahren zur Positionsmessung
US7340666B1 (en) * 2004-09-16 2008-03-04 Sun Microsystems, Inc. Method and apparatus for using memory compression to enhance error correction
US8583995B2 (en) * 2005-11-16 2013-11-12 Qualcomm Incorporated Multi-mode processor
US8910027B2 (en) * 2005-11-16 2014-12-09 Qualcomm Incorporated Golay-code generation
US8429502B2 (en) * 2005-11-16 2013-04-23 Qualcomm Incorporated Frame format for millimeter-wave systems
US8418040B2 (en) * 2005-11-16 2013-04-09 Qualcomm Incorporated Method and apparatus for single carrier and OFDM sub-block transmission
US8332732B2 (en) * 2006-11-30 2012-12-11 Qualcomm Incorporated Common air interface supporting single carrier and OFDM
US8472497B2 (en) * 2007-10-10 2013-06-25 Qualcomm Incorporated Millimeter wave beaconing with directional antennas

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3209327A (en) * 1960-02-23 1965-09-28 Ibm Error detecting and correcting circuit
US3437995A (en) * 1965-03-15 1969-04-08 Bell Telephone Labor Inc Error control decoding system

Also Published As

Publication number Publication date
GB1280550A (en) 1972-07-05
US3622982A (en) 1971-11-23
CH532815A (de) 1973-01-15
DE1959231C3 (de) 1979-01-04
DE1959231A1 (de) 1970-09-10

Similar Documents

Publication Publication Date Title
DE1959231B2 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE2132565C3 (de) Umsetzer
DE2260850A1 (de) Fehlerkorrektursystem
DE2328125A1 (de) Tastenfeldeingangsanlage mit ueberspringschutz
DE2622184A1 (de) Fehlerkorrekturverfahren
DE2659031A1 (de) Fehlerkorrektur- und -steuersystem
DE2337670A1 (de) Tastengesteuerte dateneingabevorrichtung
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2536625C2 (de) Paritätsprüfschaltung für ein binär zählendes Register
DE2158013B2 (de) Tastatur-eingabewerk
DE2047868A1 (de) Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes
DE1103982B (de) Schaltungsanordnung zur elektrischen Steuerung von in Wechselwirkung zueinander stehenden elektrischen Schaltvorgaengen vermittels gespeicherter Informationen fuer Vermittlungseinrichtungen in Fernmeldeanlagen
DE3329023C2 (de)
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE1562051B2 (de) Schaltungsanordnung zur erzeugung einer eindeutigen gruppe von m x n bits
DE2908373C2 (de)
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
DE2822573B2 (de)
DE1937259B2 (de) Selbstpruefende fehlererkennungsschaltung
DE2657408A1 (de) Fehlerkorrekturschaltung
DE2524129C3 (de) Zeitsteuereinheit für die Steuerung logischer Schaltungen
DE1287190B (de) Verfahren zur Sicherung von Codetelegrammen gegen Startschrittverfaelschungen in Fernwirksystemen
DE1286554B (de) Mehrere UND- und ODER-Torschaltungen enthaltende logische Schaltung mit Fehleranzeige
DE2131848C3 (de) Verfahren und Vorrichtung zur Fehlererkennung und -korrektur
DE2532915C2 (de) Schaltungsanordnung zur Fehlersicherung von zwischen einem Datensender und einem Datenempfänger zu übertragenden byte-strukturierten Datenzeichen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee