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 CodewortesInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic 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.
κι 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.
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)
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.
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)
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)
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 |
-
1969
- 1969-02-28 US US803226*A patent/US3622982A/en not_active Expired - Lifetime
- 1969-11-26 DE DE1959231A patent/DE1959231C3/de not_active Expired
- 1969-11-26 GB GB57759/69A patent/GB1280550A/en not_active Expired
- 1969-11-28 CH CH1776369A patent/CH532815A/de not_active IP Right Cessation
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 |