DE2162833A1 - Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks - Google Patents
Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden DatenblocksInfo
- Publication number
- DE2162833A1 DE2162833A1 DE19712162833 DE2162833A DE2162833A1 DE 2162833 A1 DE2162833 A1 DE 2162833A1 DE 19712162833 DE19712162833 DE 19712162833 DE 2162833 A DE2162833 A DE 2162833A DE 2162833 A1 DE2162833 A1 DE 2162833A1
- Authority
- DE
- Germany
- Prior art keywords
- signals
- signal
- error
- bytes
- byte
- 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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- 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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
Böblingen, den 15. Dezember 1971 ne-bue
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: Docket PO 969 055
Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks
Die Erfindung bezieht sich auf eine Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblokkes
zwecks Korrigierbarkeit zweier Bytes, deren sämtliche Bits fehlerhaft sein können.
In Nachrichtenübertragungs-Systemen und elektronischen Rechenanlagen
kann man die Information durch Hinzufügen von Redundanzbits zu den Datenbits so codieren, daß man im Fehlerfall die ursprüngliche
Information mit einem angemessenen Schaltungsaufwand wiedergewinnen
kann. Die Anzahl der erforderlichen Redundanzbits hängt dabei davon ab, wieviele Fehler korrigierbar sein sollen.
Bei paralleler Datenanordnung ist die Information in parallel angeordneten
Bytes Innerhalb eines Datenblocks enthalten. Eine solche Datenanordnung findet man in elektronischen Rechenanlagen und
besonders bei Vielkanal-Aufzeichnungsgeräten.
Es ist bereits eine Einrichtung zum Codieren und Decodieren eines
aus k Bytes mit je b Bits bestehenden Datenblocks vorgeschlagen
worden. Diese Einrichtung ermöglicht durch Hinzufügen von zwei Redundanz- oder Prüfbytes zu den Datenbytes eines Blocks die
Korrektur eines fehlerhaften Bytes, unabhängig davon, wieviele Bits innerhalb dieses Bytes fehlerhaft sind.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden
Datenblocks anzugeben, die in der Lage ist, ohne die Anzahl der Redundanzbytes gegenüber der vorgeschlagenen Einrichtung
zu erhöhen, zwei fehlerhafte Bytes zu korrigieren, deren sämtliche Bits fehlerhaft sein können.
Die Einrichtung gemäß der Erfindung ist dadurch gekennzeichnet, daß ein Codierer vorgesehen ist, der für jeden Datenblock zwei
Prüfbytes C und C» liefert, die aus den Datenbytes DQ, D , D_,
... D, , nach folgenden Gleichungen:
C1 - I Dn + I D, + I D, + ... I D.. und
»—, _ Tp T-^ t m τ\ ■ »π*1 τ1* ■ . m"* ·
I D0 + T D1 + T" D2 + ... T
2 3 errechnet werden, in denen I das Einselement und T, T , T , ...
k—1
T unterschiedliche, von Null verschiedene Elemente des Galois-Feldes (2 ) und die angegebenen Multiplikationen und Additionen die für Galois-Felder definierten Operationen sind, wobei b ganzzahlig und < 1 und k ganzzahlig und 2 < k < 2 ist, daß ein Decodierer vorgesehen ist, der eine Schaltung zum Erzeugen von sog. Hinweissignalen, die auf die fehlerhaften Bytes hinweisen, eine Schaltungsanordnung zum Erzeugen von sog. Fehlersignaien, die die fehlerhaften Bits innerhalb der beiden Bytes angeben und eine Fehlerkorrekturschaltung enthält, die die fehlerhaften Bytes unter Verwendung der Fehlereignale korrigiert.
T unterschiedliche, von Null verschiedene Elemente des Galois-Feldes (2 ) und die angegebenen Multiplikationen und Additionen die für Galois-Felder definierten Operationen sind, wobei b ganzzahlig und < 1 und k ganzzahlig und 2 < k < 2 ist, daß ein Decodierer vorgesehen ist, der eine Schaltung zum Erzeugen von sog. Hinweissignalen, die auf die fehlerhaften Bytes hinweisen, eine Schaltungsanordnung zum Erzeugen von sog. Fehlersignaien, die die fehlerhaften Bits innerhalb der beiden Bytes angeben und eine Fehlerkorrekturschaltung enthält, die die fehlerhaften Bytes unter Verwendung der Fehlereignale korrigiert.
2 Γ) Π ο 7 π
Ein Äusführungsbeispiei der Erfindung ist in den Zeichnungen dargestellt
und wird anschließend näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines die vorliegende Erfindung benutzenden Datenverarbeitungssystems;
Fig. 2 ein abgekürztes Datenverarbeitungs-Äblaufdia
gramm eines bevorzugten Ausführungsbeispxeles der Erfindung;
Fig. 3 schematisch die Organisation der Prüfbitrechner
C1 und C-;
Fig. 4 schematisch die Organisation der Syndromrechner
S1 und S2;
Fig. 5 die geometrischen Beziehungen von Daten- und
Prüfbits eines Fehlerkorrekturcodes;
Fig. 6 ein Schaltbild mit Einzelheiten der Hinweis-
Selbsthalteschaltung der Fig. 2;
Fig. 7a - 7e Schaltbilder mit weiteren Einzelheiten des Steuersignalgenerators
der Fig. 2;
Fig. 8 die Codiermatrix für den Code, der dem Prüfbit-
rechner der Fig . 3 zugrunde liegt;
Fig. 9 die Decodiermatrix für den Code, der dem Syndrom
rechner der Fig. 4 zugrunde liegt;
Fig. 10 einen Lageplan der Fign. 10a und 10b;
Fig. 10b, lOb-1 weitere Einzelheiten des Fehlerrechners der Fig.
2 und
203029/0911
-A-
Fig. 11 u. 11a Schaltbilder mit weiteren Einzelheiten der Fehlerkorrekturschaltungen
der Fig. 2.
In Fig. 1 ist gezeigt, wie Daten durch einen Kanal 2 in einen Codierer
1 einlaufen. Der Codierer 1 erzeugt eine Sendenachricht, die über einen Kanal 3 in eine Verarbeitungseinheit 4 läuft, die
mit der Nachricht irgendeine Operation vornimmt, sie z. B. speichert und hinterher wieder abruft und dann eine empfangene Nachricht
umschreibt, die über einen Kanal 5 zu einem Decodierer 6 läuft, welcher die empfangene Nachricht decodiert und die wiedergewonnenen
Daten ausgibt, die dann über den Kanal 7 zu einer weiteren Verwendungseinheit gelangen. Die Betriebsweise der Verarbeitungseinheit
4 kann unvollkommen sein und gelegentlich Fehler erzeugen, so daß die empfangene Nachricht im Kanal 5 nicht unbedingt
mit der über den Kanal 3 gesendeten Nachricht identisch ist. Der Codierer 1 und der Decodierer 6 arbeiten zusammen, um
die wiedergewonnenen Daten auf den Kanal 7 mit weniger Fehlern zu geben als sie durch die Verarbeitungseinheit gemacht wurden.
Die vorliegende Erfindung läßt sich für Informationsverarbeitungssysterae
verschiedener Kapazität verwenden. Die Erfindung wird daher zuerst in algebraischer Form beschrieben, die sich auf ein System
jeder Größe anwenden läßt, und hinterher für ein spezielles System. In der Beschreibung werden die Standardsymbolen der Boole1
sehen Schreibweise benutzt, die folgende sind:
+ = ODER
« = ANTIVALENT
. = UND
Erfindungsgemäß werden Daten durch das System in Blocks verarbeitet,
die aus k Bytes bestehen, von denen jedes b Datenbits umfaßt. Hier und während der übrigen Beschreibung bezeichnet b eine
ganze Zahl, die größer als 1 ist und k eine ganze Zahl 2 < k < 2 ,
Docket PO 969 055
Die Werte von b und k sind als für das jeweilige Ausführungsbeispiel
unveränderlich anzusehen, werden jedoch für Ausführungsbeispiele verschiedener Kapazität unterschiedlich gewählt. Ein Datenblock
wird dementsprechend bezeichnet mit Dn, D , ... D1 ,
wobei D das erste Byte im Block, D das zweite Byte usw. bis
D, , das k-te und letzte Byte darstellt. Die Darstellung eines
üatenbyte wird bezeichnet mit D., wobei der Index j jeden ganzzahligen
Wert von 0 £ j <_ k-1 annehmen kann. Nach der Erfindung
errechnet das Codiergerät aus dem Datenblock zwei Prüfbytes, die mit C, und C bezeichnet werden und jeweils b Bits umfassen, und
hängt die Prüfbytes an die k Datenbytes an zur Erzeugung der gesendeten Nachricht aus k + 2 Bytes.
Um die Berechung der Prüfbytes zu beschreiben, empfiehlt es sich,
zu beachten, daß für aus b binären Bits zusammengesetzten Bytes 2 verschiedene Bytes möglich sind und daß jedes mögliches Byte
ein Element eines Galois-Feldes von 2 Elementen (oder GF(2 ) ist. Die Existenz des GF(2 ) ist gesichert für jeden Wert von b
durch allgemeine Theoreme der Algebra (Siehe z. B. W. Wesley Peterson "Error Correcting Codes", M. I. T. Press, 1961). Das Galois-Feld
impliziert zwei Operationen, die üblicherweise mit Addition mit dem entsprechenden Nullelement θ und Multiplikation
mit dem entsprechenden Einselement I bezeichnet werden. Die Ausdrücke Addition und Multiplikation und die zugehörigen Ausdrücke
wie Addierer werden in diesem Sinne benutzt.
Die Regeln der Addition und Multiplikation von Bytes sind dadurch festgelegt, daß GF(2 ) der möglichen Bytes isomorph ist mit GF(2 )
von Polynomen mit Koeffizienten in GF(2) modulo einem irreduziblem
Polynom des Grades b. Für jeden Wert von b existiert mindestens ein nichtreduzibles Polynom. Das Feld solcher Polynome ist ein
Vektorraum der Dimension b über GF(2). Die Addition der Elemente
in GF(2 ) erfolgt daher durch Addition der entsprechenden Bits. Die Addition liegt natürlich in GF(2) und ist daher äquivalent
einer Addition modulo 2. Die Mulitplikation in GF(2 ) kann man
sich vorstellen als Definition eines Satzes linearer Transforma-
2 Cj ί 0 / Ί I 0 0 1 1
PO QfiQ
tionen im entsprechenden Vektorraum der Dimension b.
Der Vektorraum umfaßt die folgenden Spaltenvektoren;
(worin 0 und 1 binäre Symbole sind) oder kompakter.ausgedrückt:
b-1 b-2 T
el f SL f · · · el / X
wo a ein primitives Element vom GF(2 ) ist. (d. h. jedes von Null
verschiedene Element des Feldes kann man durch Erhebung von a in eine Potenz erhalten). Die der Multiplikation mit dem Element Q
entsprechende Transformationsmatrix ist gegeben durch Verkettung der Spaltenvektoren;
ι 1 V-\ O
Qa, Qa ,...Qa,QI
und ergibt;
Tn = Qah~l Qab~2, ... Qa, QI
Die Multiplikation des Elmentes R mit dem Element Q im GF(2 )
20Ü8 2 9/0911
ist somit äquivalent der Multiplikation des Vektors R mit der Matrix TQf wobei der Vektor und die Matrix Komponenten im GF(2)
sind (d. h. binäre Bits). Diese Operationen werden anschließend in Verbindung mit einem Ausführungsbeispiel dargestellt.
Bei einem erfindungsgemäßen Datenverarbeitungssystem berechnet
das Codiergerät die Prüfbytes nach den folgenden beiden Beziehungen :
(4) | ci | = IDo |
(5) | C2 | = IDo |
worin T, |
τ2
J- r · |
θ ID
Θ T
Φ Τ
'k-1
unterschiedliche von Null verschiedene EIe-
n b
mente des GF(2 ) sind. Da 2 -1 derartige Elemente vorhanden sind,
ist die Anzahl von Bytes in.einem Block begrenzt auf k < 2 . Am
einfachsten lassen sich die Beziehungen, nach denen C, und C2 berechnet
werden, ausdrücken durch eine Codiermatrix, die die folgenden Koeffizienten ergibt:
(6)
HE ■
k-1
und die Berechnung beim Codieren kann symbolisch wie folgt geschrieben
werden:
(7)
C = HE D
Unter Verwendung der oben entwickelten Beziehungen läßt sich die
2 0 0 ^ 2 0 / r. <vi 1
Docket PO 969 055
Codiermatrix in binärer Form ausdrücken, indem man jedes in der
Codiermatrix erscheinende Element von GF(2 ) durch die entsprechende
binäre Multiplikationsmatrix ersetzt. Die resultierende Form der Codiermatrix gibt die durch einen auf binärer Basis arbeitenden
Rechner zur Berechnung der Prüfbytes auszuführenden
Operationen explizit an.
Bei der Decodierung empfängt der Decodierer eine Nachricht
DV DV DV ···' D'k-i' CV c\
aus k + 2 Bytes (das Symbol "'" bezieht sich auf die empfangene
Nachricht) und berechnet ein aus zwei B^ Syndrom nach den folgenden Beziehungen:
Nachricht) und berechnet ein aus zwei Bytes (S1, S) bestehendes
Φ T D^ Φ T2 D'2 .., Φ T
die durch eine Decodiermatrxx mit k + 2 Spalten und zwei Zeilen folgendermaßen beschrieben sind:
"· Tk-i θ
worin θ das Nullelement im GF(2 ) ist. Die Berechnung der Syndrome
kann symbolisch so dargestellt werden;
•~> ri
Docket PO 969 055
(11) S = HD (D1, C)
Die Decodiermatrix H kann natürlich explizit in binärer Form
ausgedrückt werden, indem man die binären Mulitplikations-Matrizes
einsetzt.
2 k-1
Wenn I, T, T , ..., T die von Null verschiedenen Elemente von GF(2 ) sind, dann gibt es für ein jedes derartiges Element T
Wenn I, T, T , ..., T die von Null verschiedenen Elemente von GF(2 ) sind, dann gibt es für ein jedes derartiges Element T
""T T —τ
ein inverses Element T ,so daß T · T = I, also das Einselement
ist.
Die Hinweissignale werden vom System abgeleitet, in welchem die Fehlerkorrektur vorgenommen wird. Jede Datengruppe kann z. B. zu
einem Paritätsprüfsignal führen, welches einen Fehler in der zugehörigen
Datengruppe anzeigt. Ein Paritätsprüfbitsignal wird natürlich für jedes Datenbyte oder für jede Datengruppe erzeugt
und dadurch das oder die fehlerhaften Datenbytes einzeln angezeigt. Selbstverständlich gibt es auch andere Einrichtungen zur
Erzeugung von Hinweissignalen, wie sie in der US-Patentanmeldung mit der Seriennummer 40 836 vom 26. Mai 1970 beschrieben sind. In
dieser Anwendung wird die Qualität der Aufzeichnungs-Rückleseoperationen auf iSchtzeitbasis als Hinweis auf mögliche Fehlerbedingungen
benutzt. Die Bedeutung der Syndrome S., S zusammen mit den Fehlerhinweisen PQ, P,, ..., Pk+1 wird aus einer Betrachtung
der folgenden Operationen verständlich, die leicht aus den Codier-- und Decodierbeziehungen auf der Annahme zu verstehen sind,
daß wenigstens alle Bytes mit Ausnahme der beiden, deren Hinweissignale
vorhanden sind, richtig übertragen wurden oder daß mindestens alle Bytes mit Ausnahme eines einzigen richtig übertragen
wurden, wenn kein oder nur ein Hinweissignal vorhanden ist. Wenn die Syndrome S. = 0 und S2 = 0 sind, liegen in der empfangenen
Nachricht keine Fehler vor, ungeachtet dessen, ob zwei Hinwissignale
vorhanden sind oder nicht. Wenn kein oder nur ein Hinwelssignal vorhanden ist und das Syndrom S. * 0 und S- von
2 0 Ci C 2 Π / 0 9 1 1
verschieden ist, dann liegt ein Fehler C' vor. Wenn ein Hinweissignal
oder keines vorliegt, und das Syndrom S ist von Null verschieden
und S„ = 0, dann liegt ein Fehler in C' vor. Wenn kein
Hinweissignal oder nur eines vorhanden ist und S ist ebenso von
Null verschieden wie S2, dann liegt im Datenbyte D. ein Fehler
von der Größe S nur dann vor, wenn S=T^ · S2 ist. Unter diesen
Bedingungen errechnet der Decodierer für jedes Datenbyte ein Kriterium aus der Gleichung S_ = T -1 · S2 Φ S und erzeugt die
wiedergewonnenen Daten:
D. = D1 . (wenn S3 ^ 0)
D = D' Θ S (wenn S. = 0)
j J X ο
Wenn die beiden Fehlerhinweissignale P. und P. entsprechend den
Datenbytes D' und D1. vorhanden sind, dann liegt im Datenbyte
D'. ein Fehler von der Größe
P S5 = S1 Φ (1 Φ T^"1) 1(T"i S2 Φ S1) = e±
und im Datenbyte D1. ein Fehler von der Größe
S = (1 © T^"1)-1(t"1 S0 Φ S1) = e.
vor. Der Decodierer erzeugt demgemäß als wiedergewonnene Daten;
209829/091 1
ClCQ /-VCC
D± - Όι ± Φ ex
(P± =
Dj = D'j « ej (Pj-
Insbesondere ist zu beachten, daß die Datenbytes D1 und D1. richtig
wiedergewonnen werden, wenn mehrere Bits innerhalb eines jeden Bytes fehlerhaft sind.
Wenn zwei Hinweissignale, eines, P1, im Datenteil entsprechend
den Daten D1, das andere, P^, entsprechend C vorhanden sind,
dann liegt ein Fehler der Größe:
S5 « S1 Φ τ"1 S2 © S1 = e±
im Datenbyte D^ vor, so daß D1 = D' Φ e.^ das korrigierte Byte
darstellt. Das Prüfbyte C' braucht nicht zu korrigiert werden. Wenn zwei Hinweissignale vorhanden sind, eines gleich P1 entsprechend
dem Datenbyte D1 und das andere gleich Pk+1 entsprechend C'f
dann liegt im Byte D1,, ein Fehler von der Größe S5 = S1 = e. vor,
so daß D. ■ D' $ ej das korrigierte Datenbyte darstellt.
Das Gerät zur Durchführung der Fehlerkorrektur in der oben beschriebenen
Form ist in Blockform in Fig, 2 dargestellt, Die codierten Daten setzen sich zusammen aus Datenbytes und Prüfbytes
d'q, D1 ... D1U-1* C', C' zusammen mit Fehlerhinweissignalen
P0, P.,...P. . und dienen als Eingangssignale für den Systemdecodierer
6. Sowohl die Datenbytes als auch das Prüfbyte C' werden
in den S^-Syndromrechner 10 eingegeben, wo das Syndrombyte S nach·
der Beziehung:
7 η n fj
Docket PO 969 055 ~ w
S = C Φ D'o Φ D^ Φ ... Φ D1
errechnet wird. Die Datenbytes und das zweite Prüfbyte C werden
dem S~-Syndromrechner 12 zugeführt, wo das zweite Syndrombyte S
nach der Beziehung
1 ' I«·— I
errechnet wird. Die Syndromsignale S. und S bestehen aus b Signalen,
da ein Syndromsignal für jedes Prüfbit in den Bytes C1 und
C„ erzeugt wird. Die Syndromsignale S und S durchlaufen parallele
Kanäle 14, 16 und gelangen zum Fehlerrechner 18 sowie zum Steuersignalgenerator 20. Der Fehlerrechner 18 empfängt außerdem
Steuersignale IQ, I , ... Ik_-, und S und errechnet aus den Syndrombytes
S und S ein Byte S- nach der Beeziehung:
Φ τ"1
nur wenn I. = 1 ist. Sonst ist S_ = S.. Wenn S=I ist und damit
χ 3 1 e
die erforderliche Korrektur eines einzelnen Bytes bezeichnet, errechnet
der Fehlerrechner 18 auch einen Satz von Steuersignalen I. , wobei 0 < i <
k-1 ist, so daß nur dann I. = 1 ist, wenn S1 Φ
T S2 = 0 ist. Diese I-Signale gelangen nach ODER-Verknüpfung
mit den durch den Steuersignalgenerator 20 erzeugten I-Signalen
in den ODER-Gliedern 24 zur Fehlerkorrekturschaltung 22. Der Fehlerrechner 18 empfängt außerdem Steuersignale d , d , ..., dk
und ein Steuersignal J.. Der Fehlerrechner errechnet das Fehlerbyte e. nach der Beziehung:
S4 - (1 Φ T^"1)"1 S3 = e.
Docket PO 969 055 * " * " '
nur dann, wenn ü._. = 1 ist, sonst ist S. = S-, und nur, wenn J, =
1 ist. Andernfalls ist S. = 0 wenn J = K + 1 ist (das ist der Fall, wenn kein Wert von J1, J„, ..., J, = 1 ist). Der S,-Ausgang des
Fehlerrechners 18 ist außerdem mit einem Modulo-2-Addierer 26 verbunden,
der als weiteres Eingangssignal das Syndrombyte S1 empfängt.
Das Ausgangssignal des Modulo-2-Addierers ist S = e. entsprechend
der Beziehung S5 = S Θ S4 = e., das zur Fehlerkorrekturschaltung
22 geleitet wird. Die Fehlerkorrekturschaltung 22 empfängt außerdem die Datenbytes D1 , D' , ... D' sowie die
w X K 1
oben erwähnten Steuersignale In, I1, ..., I, und J , J , ...
LI X JC X L· 2,
J, . Diese Eingangssignale und die Bytes e. und e. werden zur
JC ™~ X a ^ 1 a j
Erzeugung der korrigierten Daten D , D , ..., D, entsprechend
\J X JC X
der folgenden Beziehungen verwendet:
· ei
(I1 . e±) Φ (J1 . e.)
D2 = D'2 Φ (I2 . ei) Φ (J2 . e.)
Dk-i = D'k-i φ (Ik-i Θ * ei>
φ (Jk-i ·
Der Steuersignalgenerator 20 empfängt die Syndrombytes S und S
aus den entsprechenden Rechnern 10 bzw. 12. Außerdem werden die Hinweissignale PQ, P , ..., Pfc+1 von den Hinweis-Selbsthalteschaltungen 28 empfangen. Aus diesen Eingangssignalen erzeugt der
Steuersignalgenerator 20 die folgenden Ausgangssignale:
1. NP1 β 1 nur dann, wenn genau ein Hinweissignal vorhanden ist;
20 i) 32 0/0911
2. NP„ = 1 nur dann, wenn genau zwei Hinweissignale vorhanden
sind;
3. N01 = 1 nur dann, wenn ein oder kein Hinweissignal
vorhanden ist;
4. N3 =1 nur dann, wenn drei oder mehr Hinweissignale
vorhanden sind;
5. SQ =1 nur dann, wenn beide Syndrombytes S. und S2
Null sind;
6. S =1 nur dann, wenn N = 1 und SQ = 0 sind;
7. !-Signale, die die Lage des ersten Hinweissignales angeben,
nur dann, wenn S=O ist;
8. J-Signale, die die Lage des zweiten Hinweissignals angeben,,
nur dann, wenn S =0 ist und
fc 9. d-Signale, die den Wert von J-I angeben
10. S, » 1 nur dann, wenn genau eines der Syndrombytes von
Null verschieden ist;
Sd - ^l 1 + S12 + S13 + Sl4>
» (S21 + S22 + S23 + S24>
11. Sg - S0 ODER Se . Sd;
S = 1 nur dann, wenn die Daten gut sind;
12. N » 1 nur dann, wenn N- « 1 oder wenn S » 1 und S,
g _ 3 e d
0 ist und keines der !-Signale vorhanden ist.
209829/091 1
Die Distanzsignale d , d , ..., α, , und die I-Signale oder "ersten"
Hinweissignale In, I1, . ·., I, , sowie das Signal So wer-
\J J. JC"" X 6
den als Eingangssignale für den Fehlerrechner 18 zur Berechnung von S4 benutzt. Der Fehlerrechner errechnet außerdem einen Satz
von Steuersignalen, wenn S=I ist. Diese Steuersignale I. werden für 0 i k-1 so erzeugt, daß I. nur dann gleich 1 ist,
-i x
wenn S1 θ T S„ = 0 ist. Diese I-Signale I0 ... 1I,-! werden vom
Fehlerrechner 18 den ODER-Gliedern 24 zugeführt, wo sie mit den I-Signalen I_, I , ..., 1I...ι vom Steuersignalgenerator 20 einer
ODER-Verknüpfung unterworfen werden. Diese I-Signale werden außerdem dem Steuersignalgenerator 20 zugeführt und zeigen durch
die Anwesenheit von nur einem I-Signal an, daß eine Korrektur eines
einzelnen Bytes erfolgen kann. Die resultierenden Ausgangssignale der ODER-Glieder 24 sollten In, I1, ..., I, , sein, die
\J X JK X
als I-Eingangssignale für die Fehlerkorrekturschaltung 22 benutzt
werden. Der Steuersignalgenerator 20 erzeugt außerdem die J-Signale
J,, J~, ··., Jk, die als Eingangssignale der Fehlerkorrekturschaltung
22 zugeführt werden und die Lage des zweiten fehlerhaften Bytes angeben.
Die Hinweis-Selbsthalteschaltungen 28 empfangen als Eingangssignale
die Hinweissignale Pn, P1, ..., p k+1/ die im wesentlichen Fehlererkennungssignale
wie Paritätssignale sind, und zwar eines von jeder Spur oder jedem Byte im Datenblock. Diese Hinweissignale
setzen ihre entsprechende Selbstlialteschaltung in den 1-Zustand
für jedes fehlerhafte Byte. Der Zustand einer jeden Hinweis-Selbsthalteschaltung
wird als Signal (Hinweissignal genannt) P , P , ...,
Pk+1 ausgegeben und dem Steuersignalgenerator 20 zugeleitet.
Die Hinweissignale P , P , ..., Pk+1 sind ein Satz von Einzelbitsignalen,
von denen jedes entweder auf O oder 1 ist. Wenn P. ist bedeutet das, daß in Spur I E'ehler erkannt wurden und P. zeigt
an, daß in Spur I keine Fehler erkannt wurden. Die Signale , I und J werden von den Hinweissignalen abgeleitet. Diese Signale
dienen als Eingangssignale für die Fehlerkorrekturschaltung und werden wie folgt abgeleitet;
2 O fJ 8 2 D / O O 1 I ORiGiNAL INSPECTED
Docket PO 969 055 ■ —'
10 * P0 Jl =
11 " Pl · ¥Q J2 *
τ = P W
I? *
X2 - 2 * ■ 1 rQ
1H ~ pk * pk-i * Fk-2 " * po
worin I. *» 1 anzeigt, daß die erste fehlerhafte Spur die Spur i
ist und J. = 1 anzeigtr daß die zweite fehlerhafte Spur die Spur
j ist. In den obigen Gleichungen bedeutet P. das Komplement der Funktion und der angezeigte mathematische Schritt ist die UND-Funktion,
Die oben erwähnten Distanzsignale d, die den Abstand zwischen fehlerhaften
J- und I-Bytes angeben, werden folgendermaßen von den I·
J-gJ.gnaJ.en abgeleitet;
1Q · ai + 1I * J2 +··'+ V2 ' Jk-1
worin d^ « 1 anzeigt, daß der gesamte Abstand zwischen dem I-Signal
und clian J~Signal i ist. Es. sei bemerkt, daß bei der Bestimrounf
VQn Oj1-1 $λ* Signal X^ . J^ nicht benutzt wird, J. * 1 wird
»la» Mft4«rf*ii'behandelt. Außerdem ist zu beachtenr daß keines
der i-gignale, ^Signale oder d~Signale ein Signal Jk+1 enthält,
^UCh dieser Pali wird als Sonderfall behandelt.
ο ή > - - - -τι ι ORIGINAL !NSPECTED
Docket PO 969 055 "
Wenn zwei Hinweissignale separate fehlerhafte Bytes bezeichnen, weisen ein Hinweissignal I., ein Hinweissignal J und ein Hinweissignal
d. den Binärwert auf. Die Situation, in welcher nur ein Signal P. den Wert 1 aufgrund eines fehlerhaftes Byte anzeigt,
wird als Sonderfall behandelt. Der Wert Jk+1 wird für den Fall
von zwei Hinweissignalen angenommen, wenn keines der übrigen Signale
J. = 1 ist.
Die Arbeitsweise der Erfindung läßt sich am besten aus einer Anzahl
verschiedener Beispiele von Fehlersituationen erkennen. Im ersten Beispiel sind zwei Bytes im Datenblock fehlerhaft und zwar
im Datenteil D' , D' , ..., D' . der Nachricht und man erhält
zwei Hinweissignale für die fehlerhaften Bytes. Es wird angenommen,
daß die Bytes i und j durch die Hinweissignale als fehlerhaft bezeichnet werden, wobei O
< i < j < k~l ist. unter diesen Umständen erzeugt der Steuersignalgenerator 20 Signale I. = 1 und
J. =1 und dementsprechend wird auch d._. = 1 erzeugt. Wenn angenommen
wird, daß die beiden fehlerhaften Bytes und die anderen Bytes richtig übertragen werden, dann sind die beiden von den Syndromrechnern
10 und 12 erzeugten Syndrombytes S und S„ nicht beide
= 0, da die beiden Bytes fehlerhaft sind* Das Syndrorabyte S
ist algebraisch gleich:
(12) S1 » e± © e.
wobei e. aas Fehlermuster im Byte i und e. das Fehlermuster im Byte
j darstellen. Das zweite Syndrombyte S_ ist algebraisch gleich;
(13) T1 Q1 © Tj e.
Die oben angegebenen Gleichungen (12) und (13) können nach e. bzw.
e. aufgelöst werden. Durch Multiplikation der Gleichung (13) mit
T erhält man:
(14) τ"1 S = e Φ TD ■*· e.
Addiert man die Gleichung (12) zur Gleichung (14) so erhält man: (15) S3 = T"1 S2 Φ S1 = (T^"1 φ l) e.
Die Multiplikation der Gleichung (15) mit (T-3"1 φ ι)"1 ergibt:
(16) S4 = (Tj i Φ l)"1 S3 = e.
Das Byte S. ist algebraisch äquivalent e.. Die oben aufgezeichneten
Gleichungen oder Schritte werden natürlich durch den Fehlerrechner
18 vorgenommen. Das Ausgangssignal S. = e'. wird als ein
Eingangssignal für den Modulo-2-Addierer 26 benutzt. Sein anderes Eingangssignal ist S1, für das, wie vorher erwähnt, gilt: S =
e. Φ e . Somit ist das Ausgangssignal S5 des Modulo-2-Addierers
26 die Funktion S- = S Φ S. = e., die algebraisch äquivalent ist
e. Φ e. Φ e,, was äquivalent ist e.. Die Bytes S5 und S. dienen
als Eingangssignale für die Fehlerkorrekturschaltung 22. Die Fehlerkorrekturschaltung 22 verknüpft antivalent die empfangenen Daten mit den abgeleiteten Fehlermusterbytes e. und e., um die korrekten
Daten D. und D. zu erzeugen.
Das zweite Beispiel ist dem ersten insofern ähnlich als die Hinweiseignale ^Qf Pj» ...ι £v+i d*e beiden fehlerhaften Bytes bezeichnen. Eines dieser fehlerhaften Bytes gehört jedoch zum Datenteil
D' , ,.., DV-1 und das andere fehlerhafte Byte ist das
erste Prüfbyte C'. Wenn angenommen wird, daß das Datenbyte D1
209829/0911
2T62833
das Fehiermuster e. hat und dap Prüfbyte C! das Fehlermuster e.
enthält, dann sind in diesem Fall die Steuersignale I. = 1 und
Jk- ι.
J, * 1 ist bekanntlich ein oben erwähnter Sonderfall und dann ist
keines der Distanzsignale d. - 1. Der S -Syndromrechner 10 erzeugt
das Syndrombyte S., welches den algebraischen Wert β* Φ e. hat.
Der S~-Syndromrechner 12 erzeugt das zweite Syndrombyte s„, wel-
d. ^ ■■■-■- . 4
ches den algebraischen Wert ? e. hat. Der Fehlerrechner 18 er-
zeugt das Syndronibyte S3 = T S2 ® S1, welches den algebraischen f
Wert e. hat. Nach dieser Definition für den Fall J, = 1 ist das Ausgangssignal des Fehlerrechners 18 das Signal S4 ~ S3, welches
= e. ist. Wie im vorher gegebenen Beispiel empfängt der Modulo-2-Addierer
die Eingangssignale S. und S4 und erzeugt als Ausgangssignal
das Byte S5 = S Φ S., wobei S. = e. θ β. und S. = e. ist.
Somit ist S5 = e. β e, Φ e. also gleich e., Die Fehlerkorrekturgchaltung
22 empfängt das Signal S^. = e, und das Steuersignal I,
und erzeugt das korrekte Datenbyte; D. = D. θ e. ,
Im dritten Beispiel werden die fehlerhaften Bytes durqh die HinpQ,
^1, .,,, ^+1 bezeißhnet. Pas eine Byte liegt im
Dat#nteil DQ, ... Dk„, de^ Nachricht und das zweite isst das zwei"
te Friifbyte C_, Somit kann für die Nachricht das Fehlermuster e.
und für C2 das Fehlermuster e. angeomroen werden. In diesem Fall
ist nur das Steuersignal J^=1 *»*£ keines der j-Signale J , J2,
,,» J,. Dementsprechend ist keines der Distanzsignale d^, d2, ...,
* 1* Gas durch den S -Syndromreöhner 10 erzeugte Syndrainbyte
, h*t den algebraischen Werte e. . Das durch den S-'-Syndramreeh*·
12 erzeugte zweite Syndrombyte S_ hat den algebraischen Wert
i
T #j β e.. Wie bereits erwähnt, handelt es sich bei Cf == k + 1 aucU um einen Sonderfall und der Fehlerrechner 18 erzeugt als Aus-' ganf»signal S^ - 0. Deinentsprecshend empfingt der Modulo-2-Addierer 2€ Als Eincfangesignale die Signale S1 ^ ei und S4 * 0« Er erzeugt , daraufhin das Ausgangssignal S5 = e und dieses Signal wird durch die Fehlerkorrekturschaltung zur Erzeugung von B. = e. 8 D. f dem korrigierten Datenbyte, benutzt.
T #j β e.. Wie bereits erwähnt, handelt es sich bei Cf == k + 1 aucU um einen Sonderfall und der Fehlerrechner 18 erzeugt als Aus-' ganf»signal S^ - 0. Deinentsprecshend empfingt der Modulo-2-Addierer 2€ Als Eincfangesignale die Signale S1 ^ ei und S4 * 0« Er erzeugt , daraufhin das Ausgangssignal S5 = e und dieses Signal wird durch die Fehlerkorrekturschaltung zur Erzeugung von B. = e. 8 D. f dem korrigierten Datenbyte, benutzt.
Docket PO 969 055 2 ° Ö ° 2 D ! ° K- 1 Λ- ORIGINAL INSPECTED
- 2O -
Im vierten Beispiel ist eines der Syndrome S oder S2 von 0 verschieden
und entweder ein oder kein Hinweissignal bezeichnet ein oder kein fehlerhaftes Byte. Das Signal S=I besagt, daß eines
der Prüfbytes einen Fehler enthält und somit die Daten in Ordnung sind. Die Kombination der Signale N · BQ = 1, welches gleich ist
S steuert die Korrektur eines einzelnen Bytes. In diesem Beie
spiel enthält eines der Datenbytes D , ..., D den Fehler. Wenn
angeomnanen wird, daß D. das Fehlermuster e. hat, dann errechnet
der S. -Syndromrechner 10 das Syndrombyte S, mit dem algebraischen
Wert e.. Der S -Syndromrechner 12 errechnet das Symdrom S0 mit
1^i *
dem algebraischen Wert T e. = S . unter Steuerung des Signales
— i
S=I werden jetzt die Signale T S_ Φ S geprüft auf die Bedingung T S„ Φ S = 0. Diese Gleichung ist für nur einen Wert von i gleich Null. Wenn sie nicht 0 wird, liegt ein unkorrigierbarer Mehrfachfehler vor. Der spezielle Wert für I, für den das gilt, ist I±, da
S=I werden jetzt die Signale T S_ Φ S geprüft auf die Bedingung T S„ Φ S = 0. Diese Gleichung ist für nur einen Wert von i gleich Null. Wenn sie nicht 0 wird, liegt ein unkorrigierbarer Mehrfachfehler vor. Der spezielle Wert für I, für den das gilt, ist I±, da
τ"1 S2 Φ S1 = τ"1 (T1 e±) Φ e±
was gleich ist e. © e., also gleich 0. Das Ausgangssignal S ist
als 0 definiert. I. wird dann als Korrekturhinweissignal in der Fehlerkorrekturschaltung 22 dazu benutzt, anzugeben, welches Datenbyte
D. antivalent verknüpft werden soll mit S=S Φ S. = e.,
*· A O X 4 X
um die korrigierten Daten D. = D. Φ e. zu erhalten. D. h. mit anderen
Worten, wenn das Fehlermuster oder Fehlerbyte antivalent verknüpft wird mit dem fehlerhaften Datenbyte, erhält man die ursprünglichen
richtigen Daten. Diese I-Signale werden auch zum Steuersignalgenerator 20 gesendet, um zu entscheiden, ob nichtkorrigierbare
Fehler vorliegen oder nicht.
Die obigen Beispiele berücksichtigen alle mögicherweise auftretenden
Situation, in denen Daten korrigiert werden können. Wenn mehr als zwei Hinweissignale Fehler anzeigen oder wenn T-S.. Φ S
bei einer Einzelbytekorrcktur nie 0 wurdon, dann qibt do χ- Steuer-
, BAD ORIGINAL
Docket PO 9§9 055
Signalgenerator 20 ein Signal N ab, welches anzeigt, daß die Daten
fehlerhaft sind und nicht korrigiert werden können.
In Fig. 5 sind die geometrischen Beziehungen zwischen den Datenspuren
und den Prüfbitspuren gezeigt. Die mit X bezeichneten Kästen sind die Datenspurzellen oder Bitpositionen, deren Indizes
die geometrische Lage angeben. Die erste Indexziffer bezeichnet die Spur, während die zweite die Lage des Bits in der Spur angibt.
Es ist zu beachten, daß das Byte mit einer Länge von vier Bits dargestellt ist. Daher bezeichnet XOl die Zellenposition 1 in der
Spur 0. Auf ähnliche Weise sind die Prüfbits C geometrisch bezeichnet. Die Syndrome S und S des Fehlerkorrekturcodes umfassen
eine Anordnung von Zellen, die zwei Fehler enthalten kann.
Die Prüfbits werden in zwei Spuren gebildet, welche den parallelen
Spuren oder Datenbytes angefügt werden. Die zu prüfenden Daten sind in der Tabelle wiedergegeben als XOl bis X54. Die Prüfziffern
CIl bis C24 sind der Rest der Antivalenzfunktion aller
binären Einsen im Datenteil der Tabelle, die eine entsprechende 1 in der Codiermatrix der Fig. 8 aufweisen. Die Prüfzahl CIl ist
z. B. das Ergebnis der Antivalenzverknüpfung oder Modulo-2-Addition
Datenbits XOl, XIl, X21, X31 r- X41 und X51. In ähnlicher Weise
werden die anderen sieben Prüfzahlen errechnet. Es ergeben sich
acht errechnete Syndroinbits:
SIl, S12, S13y S14, Syndrombyte 1
S21, S22, S23, Ξ24, Syndrombyte 2
Die Prüfziffern CIl bis C14 sind die Antivalenzsumme der vertikalen
Spalten der Fig. 5. Die Prüfziffern C21 bis C24 sind die antivalenzsuimne
von drei Diagonalen, die durch die gestrichelten Linien 30 üargestellt sind.
in Fig. 2 in Form eines Blockschaltbildes gezeigte Ausführungs-. „.. nrn ^r 2 ü -J ' ' /' " ί 1 BAD ORIGINAL
beispiel verarbeitet einen Datenblock von 24 Bits in 6 Bytes zu je vier Bits und die empfangene Nachricht gelangt bei 40 in den
Decodierer 6 und läuft in parallelen Kanälen zum ersten Syndromkomponentenrechner
10, zum zweiten Syndromkomponentenrechner 12
und zu einer Fehlerkorrekturschaltung 22. Der S.-Syndromrechner 10 errechnet das Syndrom und gibt es bei 14 aus. Dieses Syndrom
läuft durch parallele Kanäle zum Steuersignalgenerator 20, zum Fehlerrechner 18 und zum Modulo-2-Addierer 26. Der S2-Syndromrechner
12 berechnet das Syndrom S_ und gibt es bei 16 aus, von ™ wo es zum Steuersignalgenerator 20 und zum Fehlerrechner 18 läuft.
Die Hinweis-Selbsthalteschaltungen 28 empfangen Hinweiseingangssignale Pq, P., ..., Pj_+1 und geben ähnliche Signale ab, die zum
Steuersignalgenerator 20 gelangen. Der Steuersignalgenerator 20 erzeugt Steuersignale d, I, J, , S. und S , die zum Fehlerrechner
JC u 6
18 gelangen und er erzeugt Steuersignale J., die zur Fehlerkorrekturschaltung
22 gesandt werden. Der Steuersignalgenerator 20 sendet auch die Signale I, an die ODER-Glieder 24, wo sie mit
ähnlichen I-Signalen verknüpft werden, die vom Fehlerrechner 18
erzeugt und ausgegeben werden. Als Ausgangssignale liefern die ODER-Glieder !-Signale, die zur Fehlerkorrekturschaltung 22 gelangen.
Die Fehlerkorrekturschaltung 22 berechnet die Fehlersignale, die einem Modulo-2-Addierer 26 zugeführt werden. Bei der
Einzelbytekorrektur gibt der Fehlerrechner 18 einen Satz von I-Signalen an den Steuersignalgenerator 20 und die ODER-Glieder 24
ab. Der Modulo-2-Addierer 26 errechnet S_ aus den Eingangssignalen
S. und S.. S- wird der Fehlerkorrekturschaltung zugeleitet. Die
Fehlerkorrekturschaltung errechnet die Korrekturdaten D_, D,, ...,
Λ Ul
D, , aus S5, S., den Daten D* und den Steuersignalen I und J.
Fig. 3 zeigt die Organisation des Codierers. Die Daten kommen bei 30 herein und werden zu vier Addierern 32-1 bis 32-4 zur Errechnung
von C. und vier Addierern 34-1 bis 34-4 zur Errechnung von C2 weitergeleitet. Das Ausgangssignal eines jeden Addierers ist
die Summe seiner Eingangssignale und die Addition ist die für das GF(2) definierte. In Fig. 3 sind die Daten in binärer Form gezeigt,
wie sie durch eine Maschine auf binärer Basis verarbeitet
. . - 20 98 29/09 11
werden, wobei X-* das p-te Bit des j-ten Bytes bezeichnet.
Das Aufteilungsschema richtet sich nach den oben beschriebenen
Grundprinzipien. Für das Ausführungsbeispiel werden die vier Spaltenvektoren
von GF<2) folgendermaßen gewählt:
Docket PO 969 055 ORIGINAL INSPECTED
(17)
- 24 -
O | ι a ~ | O |
2
, a = |
O |
3
, a |
1 |
O
O |
O
1 |
1
O |
O
O |
|||
1 | O | O | O | |||
und die Multiplikationsmatrizen basieren auf dem nicht reduzier-
4
baren Polynom X + X + 1 und ergeben:
baren Polynom X + X + 1 und ergeben:
1 | O | O | O |
O | 1 | O | O |
O | O | 1 | O |
O | O | O | 1 |
O | 1 | O | O |
O | O | 1 | O |
1 | O | O | 1 |
1 | O | O | O |
O | O | 1 | O |
1 | O | O | 1 |
1 | 1 | O | O |
O | 1 | O | O |
1 | O | O | 1 |
1 | 1 | O | O |
O | 1 | 1 | O |
O | O | i-l | O |
1 | 1 | O | O |
O | l-t | 1 | O |
1 | O | 1 | i-l |
1 | O | O | 1 |
O | 1 | 1 | O |
1 | O | 1 | 1 |
O | 1 | O | 1 |
1 | 1 | O | O |
Die resultierende Codiermatrix ist in binärer Form in Fig. 8 gezeigt.
2 0 9 0 2 0/0911
Die Biteingänge 36 zum Addierer 32-1, der das erste Bit des Prüfbyte
C errechnet, sind vollständig in Fig. 3 gezeigt. Diese Eingänge entsprechen der ersten Zeile der in Fig. 8 dargestellten
Codiermatrix H . In ähnlicher Weise sind die Eingänge 38 zum Addierer 34-2 gezeigt, der das zweite Bit des zweiten Prüfbytes errechnet.
Diese entsprechen der sechsten Zeile der Codiermatrix H , Die anderen nicht im einzelnen gezeigten Eingänge erhält man
aus derselben Codiermatrix,
Fig. 4 zeigt die Organisation des S _Syndromrechners 10 und des S2-Syndromrechners 12 der Fig. 2. Die empfangene Nachricht kommt
bei 40 herein und wird auf die Addierer 42-1 bis 42-4 weitergeleitet, die die Bits des ersten Syndroms S1 errechnen, und auf
die Addierer 44-1 bis 44-4, die die Bits des zweiten Syndroms S
entsprechend der in binärer Form ausgedrückten und in Fig. 9 gezeigten Decodiermatrix errechnen. Die einzelnen dargestellten
Eingänge für die Addierer erhält man aus der Tabelle H in Fig.9.
Die oberen vier Zeilen von Hn werden zur Berechnung des Syndroms
S, und die unteren vier zur Berechnung des Syndroms S_ benutzt.
Die Hinweis-Selbsthalteschaltungen 28 bestehen aus der in Fig. 6 gezeigten Anordnung. Jedes Hinweissignal P. setzt eine Selbsthalteschaltung
46, wenn das Hinweissignal eine 1 ist und einen Fehler im Byte bzw. der dargestellten Spur anzeigt. Die Anzahl der
Selbsthalteschaltungen 46 entspricht der Spurenanzahl einschließlich der Prüfspuren. Jede Selbsthalteschaltung 46 weist einen
Rückstelleingang 48 auf. Ein NICHT-Glied 50 ist mit dem Ausgang
einer jeden Selbsthalteschaltung so verbunden, daß man nicht nur die Signale PQ, P,, ?k+1 erhält, sondern auch deren Komplemente
^O' ^l' ^k+1* D*ese Hinweissignale und ihre Komplemente werden
als Eingangssignale für den Steuersignalgenerator 20 benutzt.
Der in Fig. 7a bis 7e gezeigte Steuersignalgenerator 20 empfängt die Syndromsignale S und S von den entsprechenden Rechnern 10
bzw. 12, Diese Signale bestehen aus einem Syndromsignal für jedes
Bit im Byte, nämlich S-, S ~, S-, S . und dem Syndrom S2 = s 2i'
S„2, S-, ^24* Aus F^5· ^a *s*- zu ersehen, daß jedes dieser Syn-.dromsignale
einen NOR-Glied 52 zugeführt wird, welches ein Ausgangssignal S0 erzeugt, wenn beide Syndrombytes G sind. Dadurch
wird angezeigt, daß die Daten richtig sind. In Fig. 7b ist zu sehen, wie die Hinweissignäle PQ, P-, ..., Pk+1 und ihre Komplemente
den UND-Gliedern 54 im Steuersignalgenerator 20 so zugeführt werden, daß jedes der Hinweissignale und die den Komplementen
der restlichen Hinweissignale einer UND-Verknüpfung unterwor- ^ fen und die Ergebnisse dem ODER-Glied 56 zugeleitet werden und so
™ ein Aus gangs signal NP erzeugt wird, wenn ein Byte durch ein Hinweissignal
als fehlerhaft angezeigt wird. In ähnlicher Weise werden die Hinweissignale jeweils einer Schaltung T zugeführt, die
nur ein Ausgangssignal liefert, wenn genau zv/ei ihrer Eingangsleitungen ein 1-Signal führen. Somit ist der Ausgang der Schaltung
T2 das Signal NP2, welches anzeigt, daß zwei Hinweissignäle Fehler
in separaten Bytes bezeichnen. Die Komplemente der Hinweissignale, nämlich PQ, P1, ... P^+1 werden einer UND-Schaltung 5 8 in
Fig. 7a zugeführt, die ein Ausgangssignal erzeugt, wenn alle Eingangssignale gleich oder richtig sind, welches dann im ODER-Glied
60 mit dem Signal NP verknüpft wird, das in der oben in Zusammenhang
mit Fig. 7b beschriebenen Anordnung erzeugt wurde. Dieses W ODER-Glied 60 erzeugt ein Ausgangssignal NQ , wenn ein oder kein
Fehler vorliegt. Das Ausgangssignal des UND-Gliedes 58 läuft durch ein NICHT-Glied 62, welches im wesentlichen das Komplement
erzeugt. Das Ausgangssignal des NICHT-Gliedes 62 dient als Eingangssignal
für das UND-Glied 64, dessen andere Eingangssignale
NP1 und NP„ sind. Das Signal NP zeigt an, daß eines der Hinweiseignale einen Fehler anzeigt und das Signal NP2, daß zwei Hinweissignale auf Fehler vorliegen. Somit zeigt das Ausgangssignal N_
des UND-Gliedes 64 an, daß mehr als zwei Bytes fehlerhaft sind und
somit eine nichtkorrigierbar Situation vorliegt. Das Ausgangssignal
NQ1 vom ODER-Glied 60 wird als ein Eingangssignal für das UND-Glied
66 benutzt, dessen anderes Eingangssignal SQ ist. Das Signal UQ.
zeigt 0 oder 1 Fehler an, wogegen das Signal SQ keinen Fehler anzeigt. Da dem Eingang des UND-Gliedes 66 das Komplement des Signalee S0 und das Signal NQ1 zugeführt werden, zeigt das Ausgangssi-
Λ Λ Λ Λ Λ J λ λ j;
gnal S an, daß eine Bytekorrektur erfolgen sollte. Ein Steuersignal
S, wird ebenfalls im Signalgenerator 20 erzeugt und zeigt
an, daß die Daten mit der einen durchgeführten Bytekorrektur in Ordnung sind. Dieses Signal wird erzeugt, indem man dem NOR-Glied
61 die Syndromsignale S , S , S und S und einem zweiten NOR-Glied
63 die Syndromsignale S , S , S und S . zuführt. Die
Ausgangssignale dieser beiden ODER-Glieder 61 und 6 3 werden dem Eingang der Antivalenzschaltung 65 zugeführt, deren Ausgangssignal
das Signal S^ ist.
Die Signale S-, und S werden einem UND-Glied 67 zugeführt, dessen
ei e
Ausgangssignal einem ODER-Glied 69 zugeleitet wird, welches als zweites Eingangssignal das Signal SQ empfängt. Das ODER-Glied 69
erzeugt ein Ausgangssignal S , welches anzeigt, daß die Daten gut
sind.
Die vom Fehlerrechner 18 empfangenen I-Signale werden in ein NOR-Glied
71 eingegeben, dessen Ausgangssignal zusammen mit den Signalen
S und S, dem UND-Glied 73 zugeführt wird. Das Ausgangssignal des UND-Gliedes 73 wird einem ODER-Glied 75 zugeleitet, dessen
anderes Eingangssignal das Signal N ist. Das Ausgangssignal des ODER-Gliedes 75 ist mit N_ bezeichnet und zeigt an, daß nichtkorrigierbare
Fehler vorlegen.
In Fig. 7c ist eine Anordnung von UND-Gliedern 70 und NICHT-Gliedern
72 gezeigt, die die I.-Signale IQ, I , ..., I, und deren
Komplemente I, erzeugen können, indem das Signal S an jedes der UND-Glieder 70 angelegt und dadurch das Erzeugen von I-Signalen
unterdrückt wird, wenn das System einen Einzelfehler korrigiert. Die UND-Verknüpfung jedes Hinweissignales mit den Komplementen
der vorhergehenden Hinweissignale erzeugt das entsprechende I-Signal,
wenn das angegebene Hinweissignal den Binärwert 1 besitzt. Wenn z. B. P„ ebenso wie die vorhergehenden Hinweissignale P und
PQ den Binärwert O aufweist, erzeugt die Negation der Signale P.
und PQ Eins-Signale und somit liefert die UND-Schaltung ein O-Ausgangssignal
für I3. Wenn jedoch angenommen wird, daß das Hinweis-
Docket PO 969 055 209829/0911
signal P5 den Wert 1 besitzt und dadurch ein fehlerhaftes Byte bezeichnet,
dann weisen sämtliche Eingangssignale der zweiten UND-Schaltung den Binärwert 1 auf und damit auch das Ausgangssignal
I_. Demzufolge erzeugen die nachfolgenden Hinweis-Eingangssignale für die weiteren UND-Glieder kein Ausgangssignal, da ihre Eingangssignale niemals alle gleich sein können, da sie alle die Negation
des Signales P_ oder anderer vorhergehender Signale mit dem Binärwert 1 enthalten. Somit geben die I-Signale immer das erste fehlerhafte
Byte an. Mit Ausnahme des Signales IQ werden alle Ausgangssignale
der UND-Schaltungen 70 über eine Negationsschaltung 72 geleitet zur Erzeugung der Komplemente der I-Signale, nämlich
In Fig. 7d sind die UND-Glieder 74 zur Erzeugung der Signale J1, J2, ... Jk gezeigt. Wie bereits gesagt, bezeichnen die J-Signale
das zweite fehlerhafte Byte, indem wieder in jedes der separaten UND-Glieder 74 das entsprechende Hinweissignal und das
Komplement des entsprechenden I-Signales zusammen mit dem Signal
S eingegeben wird. Wieder wird als Beispiel für das zweite UND-Glied
74 das Signal P3 mit dem Wert 1 und das Signal I2 ebenfalls
mit 1 angenommen, da P2 bei der Erzeugung der I-Signale ein 1-Ausgangssignal
für das Signal I liefert. Daher ist ΐ_ ein 0-Signal.
Somit hat J2 ein O-Ausgangssignal. Das ist sinnvoll, da die
I-Signale das erste fehlerhafte Byte und die J-Signale das zweite fehlerhafte Byte anzeigen. Das Signal J_ gilt für dasselbe Byte
wie das Signal I„. Wenn jedoch das Signal P den Wert 0 hatte, d.
** 4L
h., dieses Hinweissignal zeigte keinen Fehler an, dann hat das Signal I3 den Wert 1. Somit liefert das zweite UND-Glied kein
Ausgangssignal und zeigt dadurch an, daß J2 den zweiten Fehler
nicht enthielt.
Wie bereits erklärt wurde, werden die Distanzsignale d., d2, ...,
dk-1 durch die UND-Glieder 67 und die ODER-Glieder 78 erzeugt,
die als Eingangssignale die Signale I und J empfangen und aufeinanderfolgende Distanzsignale d gemäß Darstellung in Fig. 7e erzeugen.
Die erste Gruppe von UND-Gliedern vergleicht benachbarte
Docket PO 969 055
2 0 9 G !Ml / 0 9 1 1
I- und J-Signale. Im ersten UND-Glied werden die Signale I und
j miteinanderverknüpft, dann die Signale I und J, usw., bis alle
benachbarten I- und J-Signale üND-verknüpft wurden. Die Ausgänge dieser UND-Glieder 76 sind an ein ODER-Glied 78 angeschlossen,
das ein Ausgangssignal d. erzeugt, wobei i die ganzen Zahlen 1 bis k-1 darstellt. Das Ausgangssignal d„ besagt z. B. daß der
Abstand zwischen dem I-ten und J-ten fehlerhaften Byte 2 beträgt. Wie bereits gesagt, wird dieses Abstandssignal für die Berechnungen
im Fehlerrechner 18 benötigt, die noch zu besprechen sind. So vergleicht die erste Gruppe von UND-Gliedern 76 benachbarte I-
und J-Signale, während die zweite Gruppe I- und J-Signale mit dem doppelten Abstand vergleicht, die nächste solche mit dem dreifachen
Abstand usw. bis nach I_, J1 ., wo ein Vergleich des ersten
υ κ—ι
I-Signales mit dem letzten J-Signal vorgenommen und dadurch das
Distanzsignal d, erzeugt wird.
Die Organisation des Fehlerrechners ist in Fig. 10 und sein Aufbau
in den Fign. 10a, 1Oa--1 und 10a-2 gezeigt, wobei für das Beispiel
ein Datenblock mit sechs Datenbytes und zwei Prüfbytes mit
je vier Bits gewählt wird. Der Rechner ist aufgebaut nach der oben abgeleiteten Formel:
S4 = S1 θ (Tj X Φ I)"1 (t"1 S2 Φ S1)
Die Modulo-2-Addierer 78 in Fig. 10a errechnen folgenden Ausdruck:
-i
S3 * T S2 Φ
S3 * T S2 Φ
Das Ausgangssignal jeder dieser Antivalenzschaltungen oder Modulo-2-Addierer
wird entsprechenden UND-Gliedern 80 zusammen mit einem der I-Signale IQ bis I5 zugeleitet. Wie bereits erklärt wurde,
weist der 4-Bit-Code oder der Code mit vier Bits pro Byte Syndrom-
Signale S1 = S11, S12, S13, S14 und S3 = S21, S33, S33, S34 auf.
Somit wird jedes der I-Signale mit einem Byte von Syndromdaten
verknüpft. Die S„-Signale, die mit den S -Syndrombits antivalent
verknüpft werden, werden bestimmt gemäß der Theorie für das Galois-Feld,
dargestellt durch T~x in der Gleichung. Der Ausgang des entsprechenden Bit-UND-Gliedes eines jeden Bytes wird ODER-verknüpft
zur Bildung von S3 oder der Syndrom-Ausgangssignale,
S31' S32' S33' S34* Diese ODER-Verknüpfung der Ausgänge der UND-Glieder
80 wird durch einen Punkt in Fig. 10 bezeichnet und auch manchmal DOT-ODER-Funktion genannt. Die Eingangssignale der UND-Glieder
80 werden auch entsprechenden NOR-Gliedern 81 zusammen mit dem Signal S~ zur Erzeugung der Ausgangssignale I für die
Einzelbytekorrektur zugeleitet. Diese Syndrombit-Ausgangssignale werden Modulo-2-kombiniert, um den Ausdruck
S4 = (T^"1 G I)"1 S3
in den Schaltungen nach den Fign. 10b und lOb-1 zu errechnen. Die
Eingangssignale für die Modulo-2-Addierer 82 werden nach der Theorie
des Galois-Feldes GF(2 ) gemäß obiger Beschreibung bestimmt. Die Ausgangssignale eines jeden Modulo-2-Addierers 82 werden entsprechenden
UND-Gliedern 84 zugeleitet. Jede Gruppe von vier UND-Gliedern stellt die vier Bits des Bytes S4 dar, wobei jedes Eingangssignal
mit einem entsprechenden Distanzsignale d.... df ver-
X ο
knüpft wird. Somit hat die erste Gruppe oder das Byte von vier UND-Gliedern 84 als Eingangssignal das Distanzsignal d,, wogegen
die zweite Gruppe von vier UND-Gliedern als Eingangssignal das Distanzsignal d3 hat usw. bis d-. Die AusgangssignaIe der UND-Glieder
84 der entsprechenden Bitpositionen einer jeden Gruppe werden miteinander ODER-verknüpft zur Erzeugung der gewünschten Fehlersignale
e.» w ei2' ei3 un<^ 614' dxe ^as Fehiermuster S4 " ei *m zweiten
fehlerhaften Byte darstellen. Diese ODER-Verknüpfung der Ausgangssignale der UND-Glieder 80 und 84 ist möglich, weil höchstens 1
und nur ein I-Signal und höchstens ein d-Signal oder das Signal J^
aktiv sind. Diese e.-Signale werden als Eingangssignale entsprechenden
Antivalenzschaltungen 26 zugeleitet, deren anderes Eingangssignal gemäß Darstellung in Fig. 10b gebildet wird durch
die S-Syndrombits S , Si2f Si3 1^ S14* Die Aus^311^8^115116
der Antivalenzglieder 26 sind S5 « e. = e.., e i2 f ei3 und ei4
und stellen das Fehlermuster für das erste fehlerhafte Byte dar.
In den Fign. 11 und 11a ist die Fehlerkorrekturschaltung 22 gezeigt,
wo die empfangenen fehlerhaften Daten durch Addition des entsprechenden Fehlermusters korrigiert und so die korrigierten
AA A
Daten DQ, D , ... D. , erhalten werden. Wie bereits gezeigt wurde,
sind die Eingangssignale für die Fehlerkorrekturschaltung 22 die Fehlermuster S5 = e. und S4 = e., die empfangenen Daten D' ,
D', '·', °'ν_ι un^ äie Eingangssignale I und J. Das Fehlermuster
e. und das Fehlermuster e. werden als EingangsSignaIe den UND-Gliedern
86 mit den entsprechenden Signalen I und J zugeführt. Nimmt man z. B. das zweite Datenbyte D ., D3, D _ und D4, so
wird jedes der Fehlerbits e,,, &*ο' ei3 ^331^ ei4 mit dem entsPre"
chenden I-Signal I UND-verknüpft. In ähnlicher Weise wird jedes
der Bitsignale β-π/ e-ior e13 1^10 ei4 in einein separaten UND-Glied
86 mit dem Eingangssignal J verknüpft. Die Ausgangssignale dieser
beiden UND-Glieder werden als Eingangssignale für einen Modulo-2-Addierer
88 benutzt, dem als drittes Eingangssignal ein Datenbit zugeführt wird. Die Ausgangssignale des Modulo-2-Addierers
stellen die korrrigierten Datenbits dar. So werden z. B. D.., D f
D.- und D . zusammen mit den AusgangsSignalen der UND-Glieder 86
im Modulo-2-Addierer verknüpft und erzeugen als Ausgang die korrigierte
Daten D.., ^12' D-, und D... Eine Analyse der Schaltung
zeigt, daß bei Vorliegen eines Fehlers z. B. im Datenbit D . dann eix = 1 und I. » 1 sind und anzeigen, daß Bit 1 des Byte D. fehlerhaft
ist. Das UND-Glied 86 empfängt die Signale e±1 und I und erzeugt
ein I-Ausgangssignal, welches im Modulo-2-Addierer 88 mit
dem empfangenen Datenbit D antivalent verknüpft wird und das korrigierte Bit D11 - D11 9 eix erzeugt. Da die Signale i und j
für dasselbe Byte nicht existieren können, empfängt das UND-Glied 86 dann e,. und J mit dem Wert 0 und hat daher keinen Einfluß auf
Docket PO 969 Ό55 2 0 9 8 2 9/0911
die Antivalenzschaltung 88. Der Wert D ist gleich dem korrigierten
Wert der Empfangsdaten D.
Docket PO 969 055
2 0 9 0 :. il /0 9 1 1
Claims (11)
- PATENTANSPRÜCHEEinrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks zwecks Korrigierbarkeit zweier Bytes, deren sämtliche Bits fehlerhaft sein können, dadurch gekennzeichnet, daß ein Codierer (l;Fig.l) vorgesehen ist, der für jeden Datenblock zwei Prüfbytes C. und C„ liefert, die aus den Datenbytes D_, D , D3, ... D,_. nach folgenden Gleichungen:« I D0 + I D1 + I D2 + ... I Dk-1 und » I D0 + T D1 + T2 D2 + ... T1*""1 D^12 errechnet werden, in denen I das Einselement und T, T ,3 k-1T ... T unterschiedliche, von Null verschiedene Elemente des Galois-Feldes (2 ) und die angegebenen Multiplikationen und Additionen die für Galois-Felder definierten Operationen sind, wobei b ganzzahlig und < 1 und k ganzzahlig und 2 < k < 2 ist, daß ein Decodierer (6; Fig. 1) vorgesehen ist, der eine Schaltung (28; Fig. 2) zum Erzeugen von sog. Hinweissignalen, die auf die fehlerhaften Bytes hinweisen, eine Schaltungsanordnung (10, 12, 18, 20, 26) zum Erzeugen von sog. Fehlersignalen, die die fehlerhaften Bits innerhalb der beiden Bytes angeben und eine Fehlerkorrekturschaltung (22) enthält, die die fehlerhaften Bytes unter Verwendung der Fehlersignale korrigiert.
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen ersten (10; Fig. 2) und zweiten (12) Syndrom-Rechner enthält zur Berechnung der Syndrome S1 und S2 aus demDatenblock und den Prüf bytes nach den Gleichungen:S1-I D'o + I D^ + I D'2 + ... I D1^1 + I C1 S2 - I DQ + T D1 + T2 D2 + T3 D3 + ... Tk-1 Dk + C3
- 3. Einrichtung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen Steuersignalgenerator (20) enthält,W der an die Ausgänge der Syndromrechner und der Schaltung zum Erzeugen der Hinweissignale angeschlossen ist und I-Signale und J-Signale, die das erste und zweite fehlerhafte Byte identifizieren sowie d-Signale erzeugt, die den Abstand zwischen den beiden fehlerhaften Bytes angeben.
- 4. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die das erste fehlerhafte Byte kennzeichnenden I-Signale von einer Gruppe von UND-Gliedern (70; Fig. 7c) geliefert werden, deren jedem ein Hinweissignal P. und die Komplemente der Hinweissignale mit kleineren Indexwerten zugeführt werden.
- 5. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die das zweite fehlerhafte Byte kennzeichnenden J-Signale des Steuergenerators von einer Gruppe von UND-Gliedern (74; Fig. 7d) geliefert werden, deren jedem ein Hinweissignal P. und das Pomplement I^ des I-Signals mit gleichem Indexwert zugeführt werden.
- 6. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß zur Erzeugung der d-Signale, die den Abstand der fehlerhaften Bytes angeben, eine Gruppe von UND-Gliedern (76; Fig. 7e) mit zwei Eingängen vorgesehen ist, in der jedes I-Signal mit jedem der J-Signale verknüpft wird, und daß die Ausgänge derjenigen UND-Glieder,die Abstandssignale d liefern, die dem gleichen Abstand zweier fehlerhafter Bytes entsprechen, mit einem ODER-Glied (78) verbunden sind.
- 7. Einrichtung nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß der Steuersignalgenerator außerdem noch folgende Signale liefert: ein Signal NQ1 bei keinem oder einem Fehler, ein Signal N bei unkorrigierbaren Fehlern, ein Signal S bei Fehlerfreiheit, ein Signal S , wenn ein einzelnes Byte korrigert werden muß, und bei Vorliegen des Signales S ein Signal S,, das anzeigt, daß ein Prüfbyte und nicht ein Datenbyte fehlerhaft ist.
- 8. Einrichtung nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen Fehlerrechner (18; Fig. 2) aufweist, der an die Ausgänge der beiden Syndromrechner und des Steuersignalgenerators angeschlossen ist und ein Modulo-2-Addierwerk (78; Fig. 10a, 10a-1, 10a-2) zur Lösung der Syndromgleichung S_ = T~ S, + S. enthält sowie UND-Glieder (80) zum Durchschalten der Ausgangssignale des Modulo- 2-Addierwerks mittels der das erste fehlerhafte Byte identifizierenden I-Signale des Steuersignalgenerators.
- 9. Einrichtung nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß der Fehlerrechner ein weiteres Modulo-2-Addierwerk (82; Fig. 10b, 10b-1) enthält, um das Syndrom53 mit (T-* + I)'1 zu multiplizieren (modulo 2), und weitere UND-Glieder (84) zum Durchschalten der Ausgangssignale des Modulo-2-Addierwerks mittels der d-Signale des Steuersignalgenerators zur Bildung des Fehlersignals54 - (T3" + I)"1 S3 ■ e., wobei e. das Fehlermuster des zweiten Bytes darstellt.
- 10. Einrichtung nach den Ansprüchen 1 bis 9, dadurch gekenn-Docket PO 969 055 20982 3/09zeichnet, daß die das Fehlersignal S liefernden Ausgänge des Fehlerrechners (18; Fig. 2) an ein Modulo-2-Addierwerk (26; Fig. 2) angeschlossen sind, dessen zweite Eingänge mit dem ersten Syndromrechner (10) verbunden sind zur Bildung eines Ausgangssignals S5 «= S © S4 - e. , wobei e. das Fehlermuster des ersten Bytes darstellt.
- 11. Einrichtung nach den Ansprüchen 1 bis 10, dadurch gekennzeichnet, daß die Fehlerkorrekturschaltung (22; Fig. 2) eine Gruppe von UND-Gliedern (86; Flg. 11a, b) enthält zum Durchschalten der Fehlersignale S4 = e, mittels der das zweite fehlerhafte Byte angebenden J-Signale des Steuergenerators und der vom Modulo-2-Addierwerk (26; Fig. 2) geliferten Signale S5 = e. mittels der I-Signale des Steuergenerators zu einem Modulo-2-Addierwerk (88), dessen Eingängen die Ausgangssignale der UND-Glieder und die Bitsignale der Datenbytes zum Erzeugen des korrigierten Datenblocks zugeleitet werden.Docket PO 969 055 J-^Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9949070A | 1970-12-18 | 1970-12-18 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2162833A1 true DE2162833A1 (de) | 1972-07-13 |
DE2162833B2 DE2162833B2 (de) | 1975-02-13 |
DE2162833C3 DE2162833C3 (de) | 1975-09-25 |
Family
ID=22275261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2162833A Expired DE2162833C3 (de) | 1970-12-18 | 1971-12-17 | Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits |
Country Status (9)
Country | Link |
---|---|
US (1) | US3697948A (de) |
JP (1) | JPS5215190B1 (de) |
BE (1) | BE774916A (de) |
CA (1) | CA951434A (de) |
DE (1) | DE2162833C3 (de) |
FR (1) | FR2118450A5 (de) |
GB (1) | GB1326976A (de) |
IT (1) | IT943922B (de) |
NL (1) | NL7117085A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2532149A1 (de) * | 1974-08-19 | 1976-03-04 | Ibm | Fehlerkorrekturanordnung |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3745528A (en) * | 1971-12-27 | 1973-07-10 | Ibm | Error correction for two tracks in a multitrack system |
US3868632A (en) * | 1972-11-15 | 1975-02-25 | Ibm | Plural channel error correcting apparatus and methods |
USRE30187E (en) * | 1972-11-15 | 1980-01-08 | International Business Machines Corporation | Plural channel error correcting apparatus and methods |
US3851306A (en) * | 1972-11-24 | 1974-11-26 | Ibm | Triple track error correction |
US3859630A (en) * | 1973-01-29 | 1975-01-07 | Burroughs Corp | Apparatus for detecting and correcting errors in digital information organized into a parallel format by use of cyclic polynomial error detecting and correcting codes |
US3913068A (en) * | 1974-07-30 | 1975-10-14 | Ibm | Error correction of serial data using a subfield code |
US3982226A (en) * | 1975-04-03 | 1976-09-21 | Storage Technology Corporation | Means and method for error detection and correction of digital data |
US3958220A (en) * | 1975-05-30 | 1976-05-18 | International Business Machines Corporation | Enhanced error correction |
US4030067A (en) * | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
US4077028A (en) * | 1976-06-14 | 1978-02-28 | Ncr Corporation | Error checking and correcting device |
JPS5555412A (en) * | 1978-10-17 | 1980-04-23 | Victor Co Of Japan Ltd | Signal recording and reproducing device |
JPS5556744A (en) * | 1978-10-23 | 1980-04-25 | Sony Corp | Pcm signal transmission device |
JPS5573909A (en) * | 1978-11-28 | 1980-06-04 | Matsushita Electric Ind Co Ltd | Signal processor |
GB2042228B (en) * | 1979-01-31 | 1983-09-14 | Tokyo Shibaura Electric Co | Data correcting system |
JPS55149551A (en) * | 1979-05-10 | 1980-11-20 | Toshiba Corp | Data correcting circuit |
JPS56119550A (en) * | 1980-02-25 | 1981-09-19 | Sony Corp | Transmission method of pcm signal |
JPS56127908A (en) * | 1980-03-10 | 1981-10-07 | Victor Co Of Japan Ltd | Wrong-correction preventing system for digital signal reproducer |
GB2073534B (en) * | 1980-04-02 | 1984-04-04 | Sony Corp | Error concealment in digital television signals |
GB2121642B (en) * | 1982-05-26 | 1985-11-27 | Sony Corp | Error concealment in digital television signals |
JPS601673A (ja) * | 1983-06-17 | 1985-01-07 | Sony Corp | 誤り検出方法 |
US4908826A (en) * | 1988-01-05 | 1990-03-13 | Digital Equipment Corporation | Stored data error correction system |
US5343481A (en) * | 1991-01-07 | 1994-08-30 | Kraft Clifford H | BCH error-location polynomial decoder |
US5751740A (en) * | 1995-12-14 | 1998-05-12 | Gorca Memory Systems | Error detection and correction system for use with address translation memory controller |
US6532566B1 (en) | 1999-05-24 | 2003-03-11 | Oak Technology, Inc. | Modified Reed-Solomon multiplication |
US6378105B1 (en) * | 1999-05-24 | 2002-04-23 | Oak Technology, Inc. | Reed-Solomon multiplication method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3478313A (en) * | 1966-01-20 | 1969-11-11 | Rca Corp | System for automatic correction of burst-errors |
US3562709A (en) * | 1968-09-12 | 1971-02-09 | Rca Corp | Correction of block errors in transmission of data |
US3582878A (en) * | 1969-01-08 | 1971-06-01 | Ibm | Multiple random error correcting system |
US3601798A (en) * | 1970-02-03 | 1971-08-24 | Ibm | Error correcting and detecting systems |
-
1970
- 1970-12-18 US US99490A patent/US3697948A/en not_active Expired - Lifetime
-
1971
- 1971-09-20 GB GB4366071A patent/GB1326976A/en not_active Expired
- 1971-10-26 FR FR7139297A patent/FR2118450A5/fr not_active Expired
- 1971-11-04 BE BE774916A patent/BE774916A/xx not_active IP Right Cessation
- 1971-12-03 JP JP7197304A patent/JPS5215190B1/ja active Pending
- 1971-12-09 CA CA129,691,A patent/CA951434A/en not_active Expired
- 1971-12-13 NL NL7117085A patent/NL7117085A/xx not_active Application Discontinuation
- 1971-12-14 IT IT32348/71A patent/IT943922B/it active
- 1971-12-17 DE DE2162833A patent/DE2162833C3/de not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2532149A1 (de) * | 1974-08-19 | 1976-03-04 | Ibm | Fehlerkorrekturanordnung |
Also Published As
Publication number | Publication date |
---|---|
BE774916A (fr) | 1972-03-01 |
DE2162833C3 (de) | 1975-09-25 |
FR2118450A5 (de) | 1972-07-28 |
US3697948A (en) | 1972-10-10 |
NL7117085A (de) | 1972-06-20 |
DE2162833B2 (de) | 1975-02-13 |
GB1326976A (en) | 1973-08-15 |
IT943922B (it) | 1973-04-10 |
CA951434A (en) | 1974-07-16 |
JPS5215190B1 (de) | 1977-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2162833A1 (de) | Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2106314C3 (de) | Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks | |
DE2724409C2 (de) | Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern | |
DE112016003638B4 (de) | Auf eine Decodierung folgende Fehlerprüfung mit Diagnose für Produktcodes | |
DE102011085602B4 (de) | Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz | |
DE2260850A1 (de) | Fehlerkorrektursystem | |
DE2914515A1 (de) | Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem | |
DE2657826A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage | |
DE2263488C2 (de) | Einrichtung zur Erkennung und Korrektur von Fehlern in zwei fehlerbehafteten Spuren eines Vielspur-Datensystems | |
DE102014215252B9 (de) | Wirksame fehlerkorrektur von mehrbitfehlern | |
EP0400179A1 (de) | Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern | |
DE4220196A1 (de) | Halbleiterspeichervorrichtung mit fehlerkorrekturschaltung und fehlerkorrekturverfahren fuer daten in einer halbleiterspeichervorrichtung | |
DE102005022107B9 (de) | Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge | |
DE3702574A1 (de) | Speicheranordnung mit drei moduln, mit symbolbreiten speicherchips und mit einem fehlerschutz, wobei jedes symbol aus 2(pfeil hoch)i(pfeil hoch)+1 bits besteht | |
DE4117726C2 (de) | Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung | |
DE2908373C2 (de) | ||
DE102013219088B9 (de) | Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes | |
DE1259124B (de) | Anordnung zur Fehlerkorrektur und -anzeige | |
DE3211053A1 (de) | Fehlerkorrektur- und kontrollsystem fuer pcm-dekodiergeraete | |
DE102022111624B4 (de) | Fehlerkorrektur mit schneller Syndromberechnung | |
DE102015118668B4 (de) | Fehlerkorrektur | |
EP0046963B1 (de) | Schaltungsanordnung zur Erkennung und Korrektur von Fehlerbündeln | |
DE102015121646B4 (de) | Fehlerkorrektur | |
DE102021123727B4 (de) | Bytefehlerkorrektur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |