DE2162833C3 - Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits - Google Patents

Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits

Info

Publication number
DE2162833C3
DE2162833C3 DE2162833A DE2162833A DE2162833C3 DE 2162833 C3 DE2162833 C3 DE 2162833C3 DE 2162833 A DE2162833 A DE 2162833A DE 2162833 A DE2162833 A DE 2162833A DE 2162833 C3 DE2162833 C3 DE 2162833C3
Authority
DE
Germany
Prior art keywords
signals
error
signal
byte
bytes
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.)
Expired
Application number
DE2162833A
Other languages
English (en)
Other versions
DE2162833A1 (de
DE2162833B2 (de
Inventor
Douglas C. Wappingers Falls N.Y. Bossen (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2162833A1 publication Critical patent/DE2162833A1/de
Publication of DE2162833B2 publication Critical patent/DE2162833B2/de
Application granted granted Critical
Publication of DE2162833C3 publication Critical patent/DE2162833C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1575Direct 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder 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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

Die Erfindung bezieht sich auf eint» Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblockes zur Fehlerkorrektur gemäß Oberbegriff des Anspruchs 1.
Aus dem Aufsatz »The Examination of Error Distributions for the Evaluation of Error-Detection and Error-Correction Procedures« von T. A. \A a g u i r e und E.P.G. Wright, der im Juni-Heft 1961 der Zeitschrift »IRE Transactions on Communications Systems« auf den S. 101 bis 106 veröffentlicht ist. ist es bekannt, bei blockweiser Datenübertragung durch Hinzufügen von Redundanzbits zu einem Datenblock eine zweidimensional Fehlererkennung zu ermöglichen und bei einem fehlerhaft empfangenen Block eine erneute Hbertragung des Blockes anzufordern, um so den fehlerfreien Block /u erhalten.
In Nachrichtenübertragungs-Systemen und elektronischen Rechenanlagen kann man die Information durch Hinzufügen von Redundanzbits zu den Datenbus so codieren, daB man im Fehlerfall die ursprüngliche Information ohne sie erneut übertragen zu müssen mit einem angemessenen Schaltungsaufwand widergewinnen kann. Die Anzahl der erforderlichen Redundanzbits bangt dabei davon ab. wieviele K-hler korrigerbar sein sollen.
So ist es aus der Dl-OS 1 449 905 bereits bekannt, eine automalische Korrektur eines fehlerhaften, aus mehreren Bits bestehenden Informationszeichens, das zu einem Block von lnformalionszeichen gehört, durch Hinzufügen von zwei Prüfzeichen zu dem Block Si herzustellen.
Bei paralleler Datenanordnung ist die Information in parallel angeordneten Bytes innerhalb eines Dalenblocks enthalten. Eine solche üatenanordnung rindet man in elektronischen Rechenanlagen und besonders bei Vidkanal-Aufzeichnungsgerälen.
Is ist bereits eine Hinrichtung zum Codieren und Decodieren eines aus k Bytes mit je h Bits bestehenden Datenblocks vorgeschlagen worden; v^l. DT-OS 2 106 314. Diese Einrichtung ermöglicht durcfi Hinzufügen von zwei Redundanz- oder Prüfb>tes zu den Datenbylcs eines Blocks die Korrektur eines fehlerhaften Bytes, unabhängig davon, wie v<ele Bits innerhalb dieses Bytes fehlerhaft sind.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung zum Codieren und Decodieren eines aus /< Bytes mit je h Bits bestehenden Dalenblocks 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.
Diese Aufgabe wird bei einer Einrichtung der eingangs genannten Art durch die im Anspruch 1 angegebenen Merkmale gelöst.
Weiterbildungen der Erfindung sind in den Unieransnrüchen gekennzeichnet.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigt
F i g. 1 ein Blockschaltbild eines die vorliegende Erfindung benutzenden Datenverarbeitungssystem:,.
F i g. 2 ein abgekürztes Datenverarbeitungs-Ablaufdiagramm eines bevorzugten Ausführungsbeispieles der Erfindung.
F i g. 3 schematisch die Organisation der Prüfbitrechner C1 und C2.
F i g. 4 schematisch die Organisation der Syndromrechner S1 und S2.
F i g. 5 die geometrischen Beziehungen von Daten- und Pi üfbits einer Fehlerkorrekturcodes,
F i g. 6 ein Schaltbild mit Einzelheiten der Hinweis-Selbsthaltcschaltung der F i g. 2,
Fig. 7a bis 7e Schaltbilder mit weiteren Einzelheiten des Steuersignalgenerators der F i g. 2.
F i g. 8 die Codiermatrix für den Code, der dem Prüfbitrechner der Fig. 3 zugrunde liegt.
F i g. 9 die Decodicimairix für den Code, der dem Syndromrechner der E i g. 4 zugrunde liegt.
Fig. 10 einen Lageplan der F i g. lOu und 10b.
Fig. 10 b. 1 Ob-1 weitere Einzelheiten des Fehleirechners dor l· i ». 2 und
Fig. 11 und 11 a Schaltbilder mit weiteren Einzelheiten der 1 ehlerkorrekturschaluingen der Eig. 2.
In F i g. 2 ist gezeigt, wie Daten durch einen Kanal 2 in einen Codierer 1 einlaufen. Der Codierer 1 erzeugt eine Sendenachncht. die über einen Kanal 3 in eine Verarbeitungscinheit 4 läuft, die mit der Nachricht irgendeine Operation \ornimmt. sie z. B. speichert und hinterlvi 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 widergewonivncn Daten ausgibt, die dann über den Kanal 7 zu einer weiteren Verwendungseinheit gelangen. Die Betriebsweise der Verarbeitungseinheil 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 arbeilen zusammen, um die wiedergewonnenen Daten auf den Kanal 7 mit weniger 1 ehlern zu geben als sie durch die Verarbeitungseinheit gemacht wurden.
Die \orliegende Erfindung läßt sich für Informationsverarbeitungssysteme verschiedener Kapazität verwenden. Die Erfindung wird daher zuerst in algcbraischcr Form beschrieben, die sich auf ein System jeder Größe anwenden Hißt, und hinterher für ein spezielles System. In der Beschreibung werden die Standardsymbole der Booleschen Schreibweise benutzt, die folgende sind:
4 = ODlR.
© = ANlIVALl Nl.
. = IND.
1 rfindungsgemäß werden Daten durch das S>stern in Blocks verarbeitet, die aus A Bytes bestehen. \on denen jedes h Datenbits umfaßt. Hier und während der übrigen Beschreibung bezeichnet h eine ganze Zahl
die größer als 1 ist und k eine ganze Zahl 2 ·- k < 2h.
Die Wer'iC von /' und k sind als für das jeweilige Ausführungsbeispicl unveränderlich anzusehen, werden jedoch für Ausführungsbeispiele verschiedener Kapazität unterschiedlich gewählt. Ein Datenblock wird dementsprechend bezeichnet mit /)„. f), ... Dk .,.
wobei D„ das crslc Bylc im Block. D1 das /weite ByIe usw. bis Dfc_| das fc-tc und letzte Byte darstellt. Die Darstellung eines Dalenbytes wird bezeichnet mit D1. wobei der Index/ jeden ganz/ahligcn 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 C2 bezeichnet werden und jeweils b Bits umfassen, und hängt die Prüfbytes an die k Datenbytes an zur Erzeugung der gesendeten Nachricht aus ί f 2 Bytes.
Um die Berechnung der Prüfbytes zu beschreiben empfiehlt es sich, zu beachten, daß für aus h binaren Bits zusammengesetzten Bytes 2h verschiedene Bytes möglich sind und daß jedes mögliches Byte ein Element eines Galois-Feldes von 2h Hlementen [oder GF(2")] ist. Die Existenz des GF(2'1) isl gesichert für jeden Wert von b durch allgemeine Theoreme der Algebra (siehe z.B. W. Wesley Peterson »I rror Correclin Codes«, M. I. T. Press. 1961). Das Galois-FeId impliziert zwei Operationen, die üblicherweise mit Addition mit dem entsprechenden Nullelement und die Multiplikation mit dem entsprechenden Einselement / 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ß ΟΡ(26) der möglichen Bytes isomorph ist mit GF(2") von Polynomen mit Koeffizienten in GF(2) modulo einem irreduziblem Polynom des Grades ft. 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(2h) erfolgt daher durch Addition der entsprechenden Bits. Die Addition liegt natürlich in GF(2) und ist daher äquivalent einer Addition modulo 2. Die Multiplikation in GF^*) kann man sich vorstellen als Definition eines Satzes linearer Transformationen im entsprechenden Vektorraum der Dimension b.
Der Vektorraum umfaßt die folgenden Spaltenvektoren :
U) Die Multiplikation des Elementes Λ mit dem Eic ment Q im GFP*) ist somit äquivalent der Multipli kation des Vektors R mit der Matrix TQ. wobei de Vektor .und die Matrix Komponenten im GF(2 sind (d. h. binäre Bits). Diese Operationen werden an schließend in Verbindung mit einem Ausl'ührungs beispiel dargestellt.
Bei einem ertindungsgemäüen Datcnverarbeitungs sylcm berechnet das Codiergeräl die Prüfbytes nacl
ίο den folgenden beiden Beziehungen:
C1 = /D0 © IDx ... ®IDkl. (4)
C2 = /D„ © TD1 © T2D3 ... ®Tk lDki. (5)
worin T. T2 ... T*"1 unterschiedliche von Null verschiedene Elemente des GF(2I>) sind. Da 2h1 derartige Elemente vorhanden sind, ist die Anzahl von Bytes in einem Block begrenzt auf A- < 2h. Am einfachsten lassen sich die Beziehungen, nach denen C] und C2 berechnet werden, ausdrücken durch eine Codiermatrix, die die folgenden Koeffizienten ergibt:
/1 (0) O] 0\
O 1 0 0
O 0 1 0
O 0 0 0
.0, 0, 0, Ij
I T T,
Tk
und die Berechnung beim Codieren kann symbolisch wie folgt geschrieben werden:
C = H1D.
Unter Verwendung der oben entwickelten Beziehungen laßt sich die Codiermatrix in binärer Form ausdrücken, indem man jedes in der Codiermatrix erscheinende Element von GF(2/l) durch die entsprechende binäre Mulliplikationsmatrix 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
45 do. Dj. d; ... d; ,. c;. c;
aus k + 2 Bytes (das Symbol bezieht sich auf die
empfangene Nachricht) und berechnet ein aus zwei Bytes (S1. S2) bestehendes Syndrom nach den folgenden Beziehuncen:
(worin 0 und 1 binäre Symbole sind) oder kompakter ausgedrückt:
S, = Dn® D1 ©D2®Dkl@ C; . S2 = I Do® TDl ® T1D2 ...®Tk'
55
wo α ein primitives Element vom GF(2*) ist (d. h., jedes von Null verschiedene Element des Feldes kann man durch Erhebung von α in eine Potenz erhalten). Die der Multiplikation mit dem Element Q entspre- chende Transfonnationsmatrix ist gegeben durch Verkettung der Spaltenvektoren:
die durch eine Decodiermatrix mit A + 2 zwei Zeilen folgendermaßen beschrieben
H0 =
I T T1
IH
Tk , Hl
Di , θ C2 . (9)
Spalten und sind:
und ergibt
Qa. QI (2) worin β das Nullclement im GF(2h| ist. Die Berech-
nung der Syndrome kann symbolisch so dargestellt werden:
■-· QaQl]. S - //,,lö'.Cl. mi.
Die Decodicrmalrix Hn kann natürlich explizit in binärer Form ausgedrückt werden, indem man die binären Multiplikalions-Malrizes einsetzt.
Wenn /, 7". 7: ... Tk] die von Null verschiedenen Elemente von Gl-'(2f') sind, dann gibt es für ein jedes derartiges Element 7'' ein diverses Element T"'. so daß T' ■ T~' = I, also das Einselement ist.
Die Hinwcissignale werden vom System abgeleitet. in welchem die Fehlerkorrektur vorgenommen wird. Jede Dalengruppe kann z. B. zu einem Paritätsprüfsignal führen, welches einen Fehler in der zugehörigen Datengruppe anzeigt. Ein Paritätsprüfbilsignal wird natürlich für jedes Datenbyte oder für jede Dalengruppe erzeugt und dadurch das oder die fehlerhaften Datenbytes einzeln angezeigt. Eine andere Möglichkeit zur Erzeugung von Hinweissignalcn besteht darin, die Qualität der Aufzcichnungs-Rückleseoperationcn auf Echtzeitbasis als Hinweis auf mögliche Fehlcrbedingungen zu benutzen. Die Bedeutung der Syndrome S1. S2 zusammen mit den Fehlerhin weisen Pn. P1 ... P4 + 1 wird aus einer Betrachtung der folgenden Operationen verständlich, die leicht aus den C'odicr- und Decodierbcziehungen 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 S1 = 0 und S, = 0 sind, liegen in der empfangenen Nachricht keine Fehler \or. ungeachtet dessen, ob zwei Hinweissignalc vorhanden sind oder nicht. Wenn kein oder nur ein Hinweissignal vorhanden ist und das Syndrom S1 = 0 und S2 = 0 verschieden ist. dann liegt ein Fehler C2 vor. Wenn ein Hinweissignal oder keines vorliegt, und das Syndrom S1 ist von Null verschieden und S2 = 0. dann liegt ein Fehler in C1' vor. Wenn kein Hinwcissignal oder nur eines vorhanden ist und S1 ist ebenso von Null \ erschieden wie S2. dann liegt im Datenbyte Dj ein Fehler von der Größe S1 nur dann vor. wenn S1 = T~J ■ S2 ist. Unter diesen Bedingungen errechnet der Decodierer für jedes Datenbyte ein Kriterium aus der Gleichung S3 = T~JS2 © S1 und erzeugt die wiedergewonnenen Daten:
D1 = υ) (wenn S3 * 0).
D1 = D]@ S1 (wenn S3 = 0).
Wenn die beiden Fehlerhinweissignale P1 und Py entsprechend den Datenbytes D\ und D', vorhanden rind, dann Hegt im Datenbyte D) ein Fehler von der Größe
S, = S1 ®(\© V T1^-1S2 QS1)^e,
und im Datenbyte D) ein Fehler von der Größe
S4 = (1 © V YHT-1S2 © S1) = et
vor. Der Decodierer erzeugt demgemäß als wiedergewonnene Daten:
D, = D]Qe1(P, = \)
(P1, = O) Wenn zwei Hinweissignalc eines P1. im Datenteil entsprechend den Daten D1, das andere, Pk, entsprechend CJ vorhanden sind, dann liegt ein Fehler der Größe
S5 = S1 ®T-'S1®Si = C1
im Datenbyte D'f vor, so daß D1 = D\ © e, das korrigierte Byte darstellt. Das Prüfbyte C1' braucht nicht zu korrigiert werden. Wenn zwei Hinweissignalc vorhanden sind, eines gleich P1 entsprechend dem Datenbyte D, und das andere gleich P1 + 1 entsprechend C2, dann liegt im Byte D\ ein Fehler von der Größe S5 = S1 = e, vor. so daß D1 = D', © e, das korrigierte Datenbyte darstellt.
Das Gerät zur Durchführung der Fehlerkorrektur in der oben beschriebenen Form ist in Blockform in F i g. 2 dargestellt. Die codierten Daten setzen sich zusammen aus Datenbytes und Prüfbytes Do- DJ ... D'k_j. C1, C2 zusammen mit Fehlerhinweissignalen P0, Pi ■ ■ · Pk + i und dienen als Eingangssignale für den Systemdecodierer 6. Sowohl die Datenbytes als auch das Prüfbyle C1 werden in den S^Syndromrechner 10 eingegeben, wo das Syndrombyte S1 nach der Beziehung
S1 = C^D0QDl ® ...© D1^1
errechnet wird. Die Datenbytes und das zweite Prüfbyte C2 werden dem S2-Syndromrechner 12 zugeführt, wo das zweite Syndrombyte S2 nach der Beziehung
S2 = C2 © ID0 φ Γ1 D1' © ... © Γ*"1 D'k^
errechnet wird. Die Syndromsignale S1 und S2 bestehen aus b Signalen, da ein Syndromsignal für jedes Prüfbit in den Bytes C1 und C2 erzeugt wird. Die Syndromsignale S1 und S2 durchlaufen parallele Kanäle 14. 16 und gelangen zum Fehlerrechner 18 sowie zum Steuersignalgenerator 20. Der Fehlerrechner 18 empfängt außerdem Steuersignale/0, /j ... h -1 und S,. und errechnet aus den Syndrombytes S1 und S2 ein Byte S3 nach der Beziehung
S_ C /T\ T - I' C Λ — "1 \C ' ^2
nur wenn /, = 1 ist. Sonst ist S3 = S,. Wenn S,. = 1 ist und damit die erforderliche Korrektur eines einzelnen Bytes bezeichnet, errechnet der Fehlcrrechncr 18 auch einen Satz von Steuersignalen /,. wobei 0 < / < fc - 1 ist, so daß nur dann /, = 1 ist. wenn S1 © T~ 'S2 = 0 ist. Diese /-Signale gelangen nach ODER-Verknüpfung mit den durch den Steuersignalgenerator 20 erzeugten /-Signalen in den ODER-Gliedern 24 zur Fehlerkorrekturschaltung 22. Der Fehlerrechner 18 empfängt außerdem Steuersignale dv d2 ■. ■ dk-t und ein Steuersignal Jk. Dct Fehlerrechnei errechnet das Fehlerbyte et nach der Beziehung
S4 = (I ©
Insbesondere ist zu beachten, daß die Datenbytes D] und D) richtig wiedergewonnen werden, wenn mehrere Bits innerhalb eines jeden Bytes fehlerhaft sind. nur dann, wenn dj~, = 1 ist. sonst ist S4 = S3. unc nur. wenn Jk = 1 ist. Andernfalls ist S4 = 0 wenr J = K + 1 ist (das ist der Fall, wenn kein Wert vor J1. J2 ... J4 = 1 ist). Der S4-Ausgang des Fehler rcchners 18 ist außerdem mit einem Modulo-2-Addie rer 26 verbunden, der als weiteres Eingangssignal da Syndrombyte S1 empfängt. Das Ausgangssignal de Modulo-2-Addierers ist Ss = «·, entsprechend de Beziehung S* — S1 ® S4 = <·,. das zur Fehlcrkorrck turschahung 22 geleitet wird. Die Fehlerkorrektur schaltung 22 empfangt außerdem die Datenbytes D,' D. D1 , sowie die obenerwähnten Steuersignale /,
/, ... \k .., und J,.J2 ... Ji-,. Diese Eingangssignale und die Bytes c, und Cj werden zur Erzeugung der korrigierten Daten D0. D1 ... D1 _, entsprechend der folgenden Beziehungen verwendet:
D0 = D,', θ /(l ·
D1 = D1' ©(/,
D2 = iy2 ® (I1
θ Ut-! © ·ί',)©(Λ
10
15
bytes von Null verschieden ist;
S1, + S1.,
S22 -t S2., -
Der Sleuersignalgernerator 20 empfangt die SyndrombytesS, und S2 aus den entsprechenden Rechnern 10 bzw. 12. Außerdem werden die Hinweissignale P0. P1 ... Pk -ι von den Hinwcis-Selbsthaltcschaltungen 28 empfangen. Aus diesen Eingangssignalen erzeugt der Sleucrsignalgenerator 20 die folgenden Ausgangssignale:
1. ,VP1 = 1 nur dann, wenn genau ein Hinweissignal vorhanden ist;
2. NP2 = 1 nur dann, wenn genau zwei Hinweissignalc vorhanden sind;
3. Nn, = 1 nur dann, wenn ein oder kein Hinweissignal vorhanden ist;
4. N, = I nur dann, wenn drei oder mehr Hinweissignale vorhanden sind;
5. S0 = 1 nur dann, wenn beide Syndrombytes S1 und S2 Null sind;
6. S1. = \ nur dann, wenn N01 = 1 und S0 = ü sind:
7. /-Signale, die die Lage des ersten Hinweissignals angeben, nur dann, wenn S1. = 0 ist;
8. J-Signale. die die Lage des zweiten Hinweissignals angeben, nur dann, wenn S1. = 0 ist. und
9. (/-Signale, die den Wert von J-/ angeben;
S,, = 1 nur dann, wenn genau eines der Syndrom/-Eingangssignale für die Fehlerkorrekturschaltung 22
benutzt werden. Der Steuersignalgenerator 20 erzeugt außerdem die J-Signale J1. J2 ... Jt. die als
Eingangssignale der Fchlerkorrekturschaltung 22 zugeführt werden und die Lage des zweiten fehlerhaften
Bytes angeben.
Die Hinweis-Selbsthalteschaltungen 28 empfangen
als Eingangssignale die Hinweissignale P0. P1 ... Pt + 1.
die im wesentlichen Fchlererkennungvr.ignale wie
Paritütssignale sind, und zwar eines von jeder Spur
oder jedem Byte im Dalenblock. Diese Hinweissignale
setzen ihre entsprechende Selbsthalteschaltung in
den /-Zustand für jedes fehlerhafte Byte. Der Zustand
einer jeden Hinweis-Selbslhalteschallung wird als
Signal (Hinwcissignal genannt) P0. P1 ... Pkj{
ausgegeben und dem Steuersignalgenerator 20 zugeleitet.
Die Hinweissignalc P0. P1 ... P1^1 sind ein Satz
von Einzelbilsignnlen. von denen jedes entweder auf
0 oder 1 ist. Wenn P, = 1 ist bedeutet das. daß in
Spur / Fehler erkannt wurden, und P1 = Q zeigt an,
daß in Spur / keine Fehler erkannt wurden. Die
Signale / und J werden von den Hinweissginalen
abgeleitet. Diese Signale dienen als Eingangssignale
für die Fchlerkorrekturschaltung und werden wie
folgt abgeleitet:
30
35 Αι — Po
= P2-P1- P0
; _ ρ . ρ . ϊ
= P1 · Z1
= Pi- /2
11. S, = S11ODlRS, S,,:
S11 - 1 nur dann, wenn die Daten gut sind;
12. N„ = ! nur dann, wenn N, = 1 oder wenn S1. = 1 und Sj = t) ist und keines der /-Signale vorhanden ist.
Die Distanzsignale J1. i/; . . . iik , und die /-Signale oder »ersten« Hinweissignale /,.. Z1 ... Ik , sowie das Signal S, werden als Eingangssignale für den Fehlerrechner 18 zur Berechnung von S4 benutzt. Der Fehlerrechner errechnet außerdem einen Satz von Steuersignalen, wenn S,. = 1 ist. Diese Steuersignale /, werden für 0 < i < k - 1 so erzeugt, daß /, nur dann gleich 1 ist. wenn S1 © T 'S1 = 0 ist. Diese /-Signale /„ ... /t , werden vom Fehlerrechner 18 den ODER-Gliedern 24 zugeführt, wo sie mit den /-Signalen /,,. /, . . . /λ , vom Steuersignalgenerator 20 einer ODI-.R-Verknüpfung unterworfen werden. Diese /-Signale werden außerdem dem Steuersignalgenerator 20 zugeführt und zeigen durch die Anwesenheit \on nur einem /-Signal an. daß eine korrektur eines einzelnen Bytes erfolgen kann Die resultierenden Ausgangssignale der ODI R-Glieder 24 sollten /,,. /, h , sein, die ,ils worin /, = 1 anzeigt, daß die erste fehlerhafte Spur die
Spur / ist und J, = 1 anzeigt, daß die zweite fehlerhafte
Spur die Spur/ ist. In den obigen Gleichungen bedeutet P, das Komplement der FiMiktion.und der angezeigte mathematische Schritt ist die UND-Funklion.
Die obenerwähnten Distanzsignalei/, die den Abstand zwischen fehlerhaften J- und /-Bytes angeben,
werden folgendermaßen von den /- und J-Signalen
abgeleitet:
r/, = /,, -J1 +■ /, · J, +
U2 = 1,,-J2 ' /ι "J., -f
h Wi
worm J1 = I anzeigt, daß der gesamte Abstand /wischen dem /-Signal und dem J-Signal ι ist. Is sei
bemerkt, daß bei der Bestimmung von itk , das Signal /, Ji nicht benutzt wird. Jk = 1 wird als Sonder-
fall behandeln Außerdem ist zu beachten. dal< keines
der /-Signale. /-Signale oder J-Signale ein Signal Jk.,
enthalt. Auch dieser Fall wird als Sonderfall behandeil
Wenn zwei Hinweissignale separate fehlerhafte
Bytes bezeichnen, weisen ein Hinwoissignal /,. ein
Hinweissignal J, und ein Hinweissignali/ den Biniirweri I auf Die Situation, in welcher nur ein Signal P1
den Wert 1 auf Grund eines fehlerhaften Byt>'s anzeigt, wird als Sonde-fall behandelt Der Wert J1 , ,
au; siti By teil
wii HIi 0 < ze u
/en hai
net nie Da
mu ist
aiii nai Da
am wä sin:
c ; die sch kn ab·, rek 1
als feh ha!
D1 Pr by da du
S1-wc
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 Fehler-Situationen erkennen. Im ersten Beispiel sind zwei Bytes im Datenblock fehlerhaft, und zwar im Datenteil D'„. /)', ... D'k^, der Nachricht, und man erhält zwei Hinwcissignalc für die fehlerhaften Bytes. Es wird angenommen, daß die Bytes / und j durch die Hinwcissignale als fehlerhaft bezeichnet werden, wobei 0 < ( < j < k — 1 ist. Unter diesen Umständen erzeugt der Steuersignalgenerator 20 Signale /, = 1 und J1 = 1, und dementsprechend wird auch Jy _, = 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 S1 und S2 nicht beide = 0, da die beiden Bytes fehlerhaft sind. Das Syndrombyle Si ist algebraisch gleich
S1 = c,1
(12)
wobei e, das Fehlermuster im Byte i und i'j das Fchlcrmuster im Byte/darstellt. Das zweite Syndrombyte S2 ist algebraisch gleich
Te1 ©
= S2.
(13)
Die oben angegebenen Gleichungen (12) und (13) können nach c, bzw. Cj aufgelöst werden. Durch Multiplikation der Gleichung(13) mit T'' erhält man
T 1S2= e,®
(14)
Addiert man die Gleichung (12) zur Gleichung (14) so erhält man
S, = T-1S1QS1 = [T' ' © Dc1. (15)
Die Multiplikation der Gleichung (15) mit (T'' ' © 1)-' cmibt
S4 = (T '© 1) 1S3 =
(16)
Das Byte S4 ist algebraisch äquivalent Cj. Die oben aufgezeichneten Gleichungen oder Schritte werden natürlich durch den Fchlcrrcchner 18 vorgenommen. Das Ausgangssignal S4 = ι·, wird als ein Eingangssignal für den Modulo-2-Addiercr 26 benutzt. Sein anderes Eingangssignal ist S1. für das. wie vorher erwähnt, gilt: S, = c, © cr Somit ist das Ausgangssignal S5 des Modulo-2-Addierers 26 die Funktion S5 = S1 © S4 = C1. die algebraisch äquivalent ist <■', θ C1 © C1. was äquivalent ist c,. Die Bytes Ss und S4 dienen als Eingungssignalc für die Fehlerkorrekturschaltung 22. Die Fehlerkorrekturschaltung 22 verknüpft antivaleni die empfangenen Daten mit den abgeleiteten Fehlermusterbytes <·, und ch um die korrekten Daten D, und Dy /u erzeugen.
Das zweite Beispiel ist dem ersten insofern ähnlich. als die Hinweissignalc P,,. P1 ... P1 ., die beiden fehlerhaften Bytes bezeichnen. Eines dieser fehlerhaften Bytes gehört jedoch zum Datenteil D'„ . . D'k |. und das andere fehlerhafte Byte ist das erste Prüfbyte C1. Wenn angenommen wird, daß das Datenbyte D] das FehlcrmusKr r, hat und das Prüfbyte ("j das Fehlermuster C1 enthalt, dann sind in diesem lall die Steuersignale/, =-- I und J1 - I.
Jk - 1 ist bekanntlich ein obenerwähnter Sonderfall, und dann ist keines der Distan/signalc </ = l.Dcr Si-Syndromrcchner 10 erzeugt das Syndrombyle S1. welches den algebraischen Wert <·,©<■ hat Der .S\-S\ndromrechncr 12 er/cum das /weite Svndrom-
byteS2, welches den algebraischen Wert Te-, hai. Der Fehlerrechner 18 erzeugt das Syndrombyte S, = 7" - 1S2 © S1. welches den algebraischen Wert C7-hat. Nach dieser Definition für den Fall Jk = I ist das Ausgangssignal des Fehlerrechners 18 das Signal S4 = S1. welches = C1 ist. Wie im vorher gegebenen Beispiel empfängt der Modulo-2-Addierer die Eineangssignale
51 und S4 und erzeugt als Ausgangssignal das Byte S5 = S1 © S4. wobei S1 = c, © C1 und S4 = C1 ist. Somit
ίο ist S5 = e, © Cj © Cj also gleich e,. Die Fehlerkorrekturschaltung 22 empfangt das Signal Ss = e, und das Steuersignal /, und erzeugt das korrekle Datenbyte D, = D1 © C1.
Im dritten Beispiel werden die fehlerhaften Bytes durch die Hinweissignale P0. P1 ... . Pk >, bezeichnet. Das eine Byte liegt im Datenteil Dn .. . Dk , der Nachricht, und das zweite ist das zweite Prüfbyte C2. Somit kann für die Nachricht das Fchlermusier c, und für C2 das Fehlermuster i'j angenommen werden. In diesem
ίο Fall ist nur das Steuersignal /, = 1 und keines der j-Signalc J1. J2 .. . Jk. Dementsprechend ist keines der Distanzsignale (I1. iU . . Jk ] = 1 Das durch den SpSyndromrechncr 10 erzeugte Syndrombyte S1 hat den algebraischen Wert C1. Das durch den S2-Syndromrechner 12 erzeugte zweite Syndrombyte S2 hat den algebraischen Wert Tc1Qe1. Wie bereits erwähnt, handelt es sich bei J = k + 1 auch um einen Sonderfall, und der Fehlerrochner 18 erzeugt als Ausy.inyssignal S4 = 0. Dementsprechend empfängt der Modulo-2-Addiercr 26 als Eingangssignale die Signale S1 = c, und S4 = 0. Er erzeugt daraufhin das Ausgangssignal Ss = i',. und dieses Signal wird durch die Fehlerkorrckturschaltung zur Erzeugung von D1 = c, © D dem korrigierten Datenbyte. benut/t.
Im vierten Beispiel ist eines der Syndrome S1 oder
52 von 0 verschieden, und entweder ein oder kein Hinweissignal bezeichnet ein oder kein fehlerhaftes B>te. Das Signal Sd = 1 besagt, daß eines der Prüfbyles einen Fehler enthalt und somit die Daten m Ordnung sind. Die Kombination der Signale N1nS1, = 1. welches gleich ist S1.. steuert die Korrektur eines ein/einen Bytes. In diesem Beispiel enthält eines der Datenbylcs Dtl . . . Dk : den Fehler. W enn angenommen wird, daß D1 das Fehlermustcr <·, hat. dann errechnet der S,-Syndromrechner 10 das Syndrombyle S1 mit dem algebraischen Wert c,. Der SySyndromrechner 12 errechnet das Syndrom S2 mit dem algebraischen Wert Tc, =- S2. Unter Steuerung des Signals S, = 1 werden jetzt die Signale T"' S2 © S1 geprüft auf die Bedingung T ' S^ @ S^1 - 0. Diese Gleichung ist für nur einen Wert von ; gleich Null. Wenn sie niehl 0 vwrd. liegt ein unkorrigierbarer Mehrfachfehler vor Der spezielle Wert für /. für den das gilt, ist /,. da
7""'S: ©S, = T
was gleich ist c, © c,. also gleich 0. Das Ausgangssignal S4 ist als 0 definiert. / wird dann als Korrekturhinweissignal in der Fehlerkorrekturschaltung 22 dazu benutzt, anzugeben, welches Datenbyte D antivalent verknüpft werden soll mit Ss = S, © S4 = e:. um die korrigierten Daten D, - D,® c, /u erhalten. Das heißt mit anderen Worten, wenn das Fehlermuster oder Fchle-byte antivalent verknüpft wird mit dem fehlerhaften Datenbyte. erhält man die ursprünglichen richtigen Daten. Diese /-Signale werden auch zum Steuersignalgenerator 20 gesendet, um zu entscheiden, ob nichtkorrieierbare Fehler vorliegen oder nicht.
14
Die obigen Beispiele berücksichtigen alle möglicherweise auftretenden Situationen, in denen Daten korrigiert werden können. Wenn mehr als zwei Hinweissignale Fehler anzeigen oder wenn T~'S2®St bei einer Einzelbytekorrektur nie 0 wurden, dann gibt der Steuersignalgenerator 20 ein Signal N9 ab. welches anzeigt, daß die Daten fehlerhaft sind und nicht korrigiert werden können.
In F i g. 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 4 Bits dargestellt ist Daher bezeichnet XOl die Zellenposition 1 in der SpurO. Auf ähnliche Weise sind die Prüfbits C geometrisch bezeichnet. Die Syndrome S1 und S2 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 F i g. 5 wiedergegeben als XO1 bis X 54. Die Prüfziffern C11 bis C 24 sind der Rest der Antivalenzfunktion aller binären Einsen im Datenteil der Tabelle, die eine entsprechende 1 in der Codiermatrix der F i g. 3 aufweisen. Die Prüfzahl CIl ist z. B. das Ergebnis der Antivalenzverknüpfung oder Modulo-2-Addition Datenbits X0\, XU,X2\,X3\,X4\ und X51. In ähnlicher Weise werden die anderen sieben Primzahlen errechnet. Es ergeben sich acht errechnete Syndrombits:
SIl, S12, S13, S14. Syndrombyte 1,
S21, S22, S23, S24. Syndrombyte 2.
liefern die ODER-Glieder /-Signale, die zur Fehlerkorrekturschaltung 22 gelangen. Der Fehlerrechner 18
berechnet die Fehlersignale, die einem Modulo-2-Addierer26 zugeführt werden. Bei der Einzelbytekorrektur gibt der Fehlerrechner 18 einen Satz von /-Signalen
an den Steuersignalgenerator 20 und die ODER-Glieder 24 ab. Der Modulo-2-Addierer 26 errechnet S5 aus
den Eingangssignalen S1 und S4 · S5 wird der Fehlerkorrekturschaltung zugeleitet Die Fehlerkorrekturschaltung errechnet die Korrekturdaten D0, D1 ...
Dk _, aus S5, S4, den Daten D\ und den Steuersignalen / 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 C1 und
vier Addierern 34-1 bis 34-4 zur Errechnung von C2
weitergeleitei. 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 werden,
wobei Xj das p-te Bit des j-ten Bytes bezeichnet.
Das Aufteilungsschema richtet sich nach den oben
beschriebenen Grundprinzipien. Für das Ausrührungsbeispiel werden die vier Spallenvektoren von GF(2)
folgendermaßen gewählt:
35
0 nx O1 -, _ (0) , α3 = A
0 0 1 0
0 1 0 0
1 Io J [O) o/
(17)
Die Prüfziffern CIl bis C14 sind die Antivalenzsumme der vertikalen Spalten der F i g. 5. Die Prüfziffern C21 bis C24 sind die Antivalenzsumme von drei Diagonalen, die durch die gestrichelten Linien 30 dargestellt sind.
Das in F i g. 2 in Form eines Blockschaltbildes gezeigte Ausführungsbeispiel verarbeitet einen Datenblock von 24 Bits in 6 Bytes zu je 4 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-Addierer26. Der S2-Syndromrechner 12 berechnet das Syndrom S2 und gibt es bei 16 aus, von wo es zum Steuersignalgenerator 20 und zum Fehlerrechner 18 läuft. Die Hinweis-Selbsthalteschaltungen 28 empfangen Hinweiseingangssignale P0, Pi ... Pk + l und geben ähnliche Signale ab, die zum Steuersignalgenerator 20 gelangen. Der Steuersignalgenerator 20 erzeugt Steuersignale d, I, Jk, S1, und Sc, die zum Fehlerrechner 18 gelangen, und er erzeugt Steuersignale J1, die zur Fehlerkorrekturschaltung 22 gesandt werden. Der Steuersignalgenerator 20 sendet auch die Signale /, 6s an die ODER-Glieder 24, wo sie mit ähnlichen /-Signalen verknüpft werden, die vom Fehlerrechner 18 erzeugt und ausgegeben werden. Als Ausgangssignale und die Multiplikationsmatrizen basieren auf dem
nicht reduzierbaren Polynom ΧΛ + X + 1 und ergeben
0 0
0100
0 10
0 0 1
0 1 0 0
0 0 1 0
1 0 0 1
1 0 0 0
0 0 1 0
1 0 0 1
1 1 0 0
0 1 0 0
1 0 0 1
1 1 0 0
0 1 1 0
0 0 1 0
1 1 0 0
0 I 1 0
1 0 1 1
1 0 0 1
0 1 1 0
1 0 1 1
0 1 0 1
1 1 0 0
T2 =
T3 =
T* =
T5 =
Die resultierende Codicrmatrix ist in binärer Form
in F i g. 8 gezeigt.
rs I v.
d si Ια h si 4( C si gi P K S
g< ih si H Ik w g«
S1 Λ ir
IS
r- 1 Die Biteingänge 36 zum Addierer 32-1, der das erste : Bit des Prüfbyte C1 errechnet, sind vollständig in i- F i g. 3 gezeigt. Diese Eingänge entsprechen der ersten
■c- Zeile der in F i g. 8 dargestellten Codiermatrix Hc. In
•n i ähnlicher Weise sind die Eingänge 38 zum Addierer ;- 34-2 gezeigt, der das zweite Bit des zweiten Prüfbytes
is \ errechnet. Diese entsprechen der sechsten Zeile der r- I Codiermatrix Hc. Die anderen nicht im einzelnen ger- I zeigten Eingänge erhält man aus derselben C'odier-
matrix.
ι- I Fi g. 4 zeigt die Organisation des S,-Syndromrech-
nerslO und des Si-Syndromrechners 12 der Fig.2. e I Die empfangene Nachricht kommt bei 40 herein und r I wird auf die Addierer 42-1 bis 42-4 weitergeleitet, die d 1 die Bits des ersten SyndromsS, errechnen, und auf
I die Addierer 44-1 bis 44-4, die die Bits des zweiten Syndroms S2 entsprechend der in binärer Form aus-
e i gedrückten und in F ic. 9 gezeigten Decodiermairix \ errechnen. Die einzelnen dargestellten Eingänge für
\ die Addierer erhält man aus der Tabelle HD in Y1 g. <J. ! Die oberen vier Zeilen von H1, werden zur Berech- : nung des Syndroms S, und die unteren vier zur Be- : rechnung des Syndroms S2 benutzt.
Die Hinweis-Selbsthalteschaltungen 28 bestehen aus
) i der in Y i g. 6 gezeigten Anordnung. Jedes Hinweissignal P1 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 wc>st einen Rückstelleingang 48 auf. tin NK HT-Glied 50 ist mit dem Ausgang einer jeden Selbsthalteschaltung so verbunden, daß man nicht nur die Signale P0. P1, Pj1+j. erhält, sondern auch deren Komplemente Pn. P1, Pn + 1. Diese Hinweissignale und ihre Komplemente werden als Eingangssignale für den Steuersignalgenerator 20 benutzt.
Der in F i g. 7a bis 7e gezeigte Steuersignalgenerator 20 empfang! die Syndromsignale S1 und S7 von den entsprechenden Rechnern 10 b?w. 12. Diese Signale bestehen aus einem Syndromsignal Tür jedes Bit im Byte, nämlich S11. S12. S11. S14 und dem SyndromS2 = S21, S2,. S2-,, S24. Aus Fig. 7a ist zu ersehen, daß jedes dieser Syndromsignale einem NOR-Glied52 zugeführt wird, welches ein Ausgangssignal S0 erzeugt, wenn beide Syndrombytes 0 sind. Dadurch wird angezeigt, wie die Hinweissignale P0, P1 ... Pn1 und ihre Komplemente den UND-Gliedern 54 im Steuersignalgenerator 20 so zugerührt werden, daß jedes der Hinweissignale und die den Komplementen der restliehen Hinweissignalc einer UND-Verknüpfung unterworfen und die Ergebnisse dem ODER-Glied 56 zugeleitet werden und so ein Ausgangssignal NPx erzeugt wird, wenn ein Byte durch ein Hinweissignal als fehlerhaft angezeigt wird. In ähnlicher Weise werden die Hinweissignale jeweils einer Schaltung T2 zugeführt, die nur ein Ausgangssignal liefert, wenn genau zwei ihrer Eingangsleitungen ein 1-Signal führen. Somit ist der Ausgang der Schaltung T2 das Signal /VP2, welches anzeigt, daß zwei H in weissignalc Fehler in separaten Bytes bezeichnen. Die Komplemente der Hinwcissignalc, nämlich P0, P1 ... Pk +, werden einer UND-Schaltung 58 in F i g. 7a zugeführt, die ein Ausgangssignal erzeugt, wenn alle Eingangssignal gleich oder richtig sind, welches dann im ODER-Glied 60 mit dem Signal NP1 verknüpft wird, das in der oben in Zusammenhang mit F i g. 7b beschriebenen Anordnung erzeugt wurde. Dieses ODER-Glied 60 erzeugt ein Ausgangssignal N01, 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-Gliedes62 dient als Eingangssignal für das UND-Glied 64. dessen andere Eingangssignale NP, und NP2 sind. Das Signal NP1 zeigt an. daß eines der Hinweissignale einen Fehler anzeigt und das Signal NP2. daß zwei Hinweissignale auf Fehler vorliegen. Somit zeigt das Ausgangssignal N3 des UND-Gliedes 64 an, daß mehr als zwei Bytes fehlerhaft sind und somit eine nichtkorrigierbare Situation vorliegt. Das Ausgangssignal N01 vom ODER-Glied 60 wird als Eingangssignal für das UND-Glied66 benutzt, dessen anderes Eingangssignali S„ ist. Das Signal N01 zeigt 0 oder 1 Fehler an, wogegen das Signal S0 keinen Fehler anzeigt. Da dem Eingang des UNL -Gliedes 66 das Komplement des Signals S0 und das Signal Nm zugeführt werden, zeigt das Ausgangssignal S1. an. daß eine Bytekorrektur erfolgen sollte. Ein Steuersignal Sj wird ebenfalls im Signalgeneralor 20 erzeugt und zeigt an. daß die Daten mit der einen durchgeführten Bytekorrektur in ()rdnung sind. Dieses Signal wird erzeugt, indem man dem NOR-Glied 61 die Syndromsignale S11. S1I. S13 und S14 und einem zweiten NOR-Glied 63 die Syndromsignale S21. S22. S2, und S24 zuführt. Die Ausgangssignale dieser beiden ODER-Glieder 61 und 63 werden dem Eingang der Anti\alenzschaltung65 zugeführt, deren Ausgangssignal das Signals,, ist.
Die Signale Sd und S1, werden einem UND-Glied 67 zugeführt, dessen Ausgangssignal einem ODER-Glied
69 zugeleitet wird, welches als zweites Eingangssignal das Signal S0 empfängt. Das ODER-Glied 69 erzeugt ein Ausgangssignal S0. welches anzeigt, daß die Daten gut sind.
Die vom Fehlcrrechner 18 empfangenen /-Signale werden in ein NOR-Glied 71 eingegeben, dessen Ausgangssignal zusammen mit der. Signalen S1. und Sd dem UND-Glied 73 zugeführt wird. Das Ausgangssignal des UND-Gliedes 73 wird einem ODER-Glied 75 zugeleitet, dessen anderes Eingangssignal des Signal ,\r, ist. Das Ausgangssignal des ODER-Gliedes 75 ist mit Nf; bezeichnet und zeigt an. daß nichtkorrigierbare Fehler vorliegen.
In Fig. 7c ist eir" .inordming von UND-Gliedern
70 und NICHT-Glicdern 72 gezeigt, die die /,-Signale /0. Z1 ... Ik und deren Komplemente /, erzeugen können, indem das Signal Sr an jedes der UND-Glieder 70 angelegt und dadurch das Erzeugen von /-Signalen unterdrückt wird, wenn das System einen Einzelfehler korrigiert. Die UND-Verknüpfung jedes Hinweissignals mit den Komplementen der vorhergehenden Hinweissignale erzeugt das entsprechende /-Signal, wenn das angegebene Hinweissignal den Binärwert 1 besitzt. Wenn z. B. P2 ebenso wie die vorhergehenden Hinweissignale Pj und P0 den Binärwert 0 aufweist, erzeugt die Negation der Signale P1 und P0 Eins-Signale, und somit liefert die UND-Schaltung ein O-Ausgangssignal für /2. Wenn jedoch angenommen wird, daß das Hinweissignal P2 den Wert 1 besitzt und dadurch ein fehlerhaftes Byte bezeichnet, dann weisen sämtliche Eingangssignale der /weiten UND-Schaltung den Binärwert 1 auf und damit auch das Ausgangssignal /,. Demzufolge erzeugen die nachfolgenden Hinwcis-Eingungs.signalc für die weiteren UND-Glieder kein Ausgangssignal. da ihre Eingangssignale niemals alle gleich sein können, da sie alle die Negation des Signals P2 oder anderer vorhergehender
Signale πιϊΐ dem Binärwert 1 enthalten. Somit geben die /-Signale immer das erste fehlerhafte Byte an. Mit Ausnahme des Signals /0 werden alle Ausgangssignaie der UND-Schaltungen 70 über eine Negationsschaltung 72 geleitet zurErzeugung der Komplemente der /-Signale, nämlich Z1,I2 ... lk.
In F i g. 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 /-Signals zusammen mit dem Signal S1, eingegeben wird. Wieder wird als Beispiel für das zweite UND-Glied74 das Signal/3, mit dem Wert I und das Signal I2 ebenfalls r.jil 1 angenommen. da P2 bei der Urzeugung der /-Signale ein I-Ausgangssignal Tür das Signal I2 liefert. Daher ist /, ein O-Signal. Somit hat J, ein O-Ausganassignal. Das ist sinnvoll, da die /-Signale das erste fehlerhafte Byte und die J-Signale das /weite fehlerhafte Byte an/eigen. Das Signal J: gilt für dasselbe Byte wie das Signal /.. Wenn jedoch das Signal P2 den Wert 0 hatte, d. h.. dieses Hinwcissignal zeigte keinen Kehler an. dann hat das Signal I2 den Wert 1. Somit liefert das /weite Γ ND-Glied kein Ausgangssignal und zeigt dadurch an. daß J2 den zweiten Fehler nicht enthielt.
Wie bereits erklärt wurde, werden die Distan/-signalet/,. d2 ... dk , durch die L'ND-Glieder67 und die ODI R-Gliede4 78 erzeugt, die als Hingangssignale die Signale / unti J empfangen und aufeinanderfolgende Distanzsignale d gemäß Darstellung in F i g. 7e erzeugen. Die erste Gruppe von UND-Gliedern vergleicht benachbarte /- und J-Signale. Im ersten UND-Glied werden die Signale/0 und J, miteinander verknüpft, dann die Signale/, und J2 usw.. bis alle benachbarten /- und J-Signale UND-verknüpft wurden. Die Ausgänge dieser UND-Glieder 76 sind an ein ODER-Glied 78 angeschlossen, das ein Ausgangssignal d, erzeugt, wobei 1 die ganzen Zahlen 1 bis k-\ darstellt. Das Ausgangssignal d2 besagt z. B.. daß der Abstand zwischen dem /-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 /- und J-Signale, während die /weite Gruppe /- und J-Signale mit dem doppelten Absland vergleicht, die nächste solche mit dem dreifachen Abstand usw. bis nach /0. Jt-,. wo ein Vergleich des ersten /-Signals mit dem letzten J-Signal vorgenommen und dadurch das Distanzsignal dk , erzeugt wird.
Die Organisation des Fehlerrechners ist in Fig. IO und sein Aufbau in den F i g. 10a, lOa-1 und lOa-2 gezeigt, wobei für das Beispiel ein Datenblock mit sechs DatepHv·, ι und zwei Prüfbytes mit je vier Bits gewählt wird. Der Rechner ist aufgebaut nach der oben abgeVileten Formel
S4 = St®(Tj ' φ 1) '(T ''S2SS1).
Die Modulo-2-Addierer78 in Fig. 10a errechnen folgenden Ausdruck:
S., - T-1S2QS1 .
Das Ausgangssignal jeder dieser Antivalenzschaltungen oder Modulo-2-Addierer wird entsprechenden UND-Gliedern 80 zusammen mit einem der /-Signale /0 bis /s zugeleitet. Wie bereits erklärt wurde, weist der 4-Bit-C odc oder der Code mit vier Bus pro Byte Syndromsignale S1 = Sn, S12, S;3, S14 und <j, = S,j, S22, S24 auf. Somit wird jedes der /-Signale mit einem Byte von Syndromdaten verknüpft. Die S,-S>gnale, die mit den S^yndrombits antivalent verknüpft werden, werden bestimmt gemäß der Ί heorie für das Galois-Feld, dargestellt durch T ' 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, Si1^Si2, S33, S34. Diese ODER-Verknüpfung der Ausgänge der UND-Glieder 80 wird durch einen Punkten Fig. 10 bezeichnet und auch manchmal DOT-ODER-Funktion genannt. Die Eingangssignal der UND-Glieder 80 werden auch entsprechenden NOR-Gliedern 81 zusammen mit dem Signal S1, zur Erzeugung der Ausgangssignale / für die Einzelbytekorrektur zugeleitet. Diese Syndrombit-Ausgangssignale werden Modulo-2-kombiniert. um den Ausdruck
S4 = (T' ' θ D 'S.,
in den Schaltungen nach den Fig. 10b und lOb-1 /u errechnen. Die Eingangssignal für die ModuIo-2-Addierer82 werden nach der Theorie des Galois-Feldes GF(2b) gemäß obiger Beschreibung bestimmt. Die Ausgangssignale eines jeden Modulo-2-Addierers82 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 Distanzsignal i/, ... dh verknüpft wird. Somit hat die erste Gruppe oder das Byte von vier UND-Gliedern84 als Eingangssignal das Dislanzsignali/,. wogegen die zweite Gruppe von vier UND-Gliedern als Eingangssignal das Distanzsignal d2 hat usw. bis dh. Die Ausgangssignale der UND-Glieder84 der entsprechenden Bitpositionen einer jeden Gruppe werden miteinander ODF.R-verknüpft zur Erzeugung der gewünschten Fehlcrsignale '',ι- ''j2· ej\ und ί'μ· die das Fehlermuster S4 = c, im 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 /-Signal und höchstens ein rf-Signal oder das Signal Jk aktiv sind. Diese e,-Signale werden als Hingangssignale entsprechenden Antivalenzschaltunjvn 26 zugeleitet, deren anderes Eingangssignal gemäß Darstellung in F 1 g. lOb gebildet wird durch die S,-Syndrombits Sn, S12. S1, und S14. Die Ausgangssignale der Anlivalenzglieder 26 sind S, = i', = 1',,,C12-C',, und c,4 und stellen das Fehlermuster für das erste fehlerhafte Byte dar.
In den F i g. 11 und lla ist die Fehlerkorrekluischaltung 22 gezeigt, wo die empfangenen fehlerhaften Daten durch Addition des entsprechenden Fehlermusters korrigiert und so die korrigierten Daten D„. D1 ... Dk , erhalten werden. Wie bereits gezeigt wurde, sind die Eingangssignalc für die Fchlerkorrekturschallung22 die FehlcrmusterS5 = e, und S4 - e;. die empfangenen Daten Do, D{ ... D4 , und die Eingangssignalc / und J. Das Fchlermuster e, und das Fehlcrmustcr Cy werden als Eingangssignaleden UND-Gliedern 86 mit den entsprechenden Signalen / und J zugeführt. Nimmt man z. B. das zweite Datenbyle D11. D,2. D1, und D14. so wird jedes der Feh.'erbitsc,-,. c,,. c(i und cf4 mit dem entsprechenden /-Signal /, UND-verknüpft. In ähnlicher Weise wird jedes der BiI-signale efl, ej2. ej3 und cj4 in einem separaten UND-Glied 86 mit dem Eingangssignal J verknüpft. Die
Sc ; de
Moke dc ζ.
und nale Die ilent heoder Bitver- \us-Vervird uch Einent- iem die bitum
19
Ausgangssignale dieser beiden UND-Glieder werden als Fingangssignale für einen Modulo-2-Addierer88 benutzt, dem als drittes Eingangssignal ein Datenbit zugeführt wird. Die Ausgangssignak des Modulo-2-Addierers 88 stellen die korrigierten Datenbits dar. So werden z. B. D11, D12, D13 und D14 zusammen mit den Ausgangssignalen der UND-Glieder 86 im Modulo-2-Addierer verknüpft und erzeugen als Ausgang die korrigiertem Daten D11, Dn, D13 und Di4. Eine Analyse der Schaltung zeigt, daß bei Vorliegen eines Fehlers z. B. im Datenbit Dn dann ea = ? und /, = 1 sind und anzeigen, daß Bit 1 des Byte D1 fehlerhaft ist. Das UND-Glied 86 empfängt die Signale en und I1 und erzeugt ein /-Ausgangssignal, welches im Modulo-2-Addierer 88 mit dem empfangenen Datenbit D11 antivalent verknüpft wird und das korrigierte Bit Dn = Dn © ea erzeugt. Da die Signale i und j für dasselbe Byte nicht existieren können, empfängt das UND-Glied 86 dann en und J1 mit dem Wert 0 und hat daher keinen Einfluß auf die Antivalenzschaltung 88. Der Wert D ist gleich dem korrigierten Wert der Empfangsdaten D.
Hierzu 14 Blatt Zeichnungen
zu \ddes Die ^82 itet. vier ■nal .'criyte das /on n?- der ien crale im R-Jer iiur las als innal ird
en er-

Claims (9)

Patentansprüche:
1. Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks zur Fehlerkorrektur, mit einem Codierer, der für jeden Datenblock zwei Prüfbytes C1 und C2 liefert, die aus den Datenbytes D0, D1. D2 ... Dt_j nach folgenden Gleichungen
IO
C1 = /D0 © /D1 © ID2 © ... /iVi
und
C2 = /D0 © TD1 © T2D2 © ... T^1D11-,
errechnet werden, in denen / das Einselement und T, T2, T* ... Tk~l unterschiedliche, von Null · verschiedene Elemente des Galois-Feldes (2b) 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 < 2b ist und mit einem Decodierer, der eine Fehlerkorrekturschaltung enthält, in der die fehlerhaften Bytes durch aus den empfangenen Bytes abgeleitete Korrektursignale korrigiert werden, dadurch gekennzeichnet, daß zur Korrigierbarkeit zweier fehlerhafter Bytes der Decodierer für jedes Byte eines empfangenen Informationsblocks eine Selbsthalteschaltung (46; F i g. 6) mit nachfolgendem Inverter (50) enthält zur Speicherung eines sogenannten Hinweissignals P und zur Bildung von dessen Komplement P1 mit 0 < i < k + I. welches Hinwcissignal bei Annehmen des einen der beiden Binärwerte ein Byte als fehlerhaft kennzeichnet, daß der Decodierer einen Steuersignalgenerator (20; F i g. 2) enthält, mit dessen Eingängen die Hinweis-Selbsihalteschaltungen. zwei Schaltungen (10. 12) zur Neuberechnung der Prüfbytes aus den empfangenen Datenbyt.s und zum Vergleich der empfangenen mit den neuberechneten Prüfbytes (Syndrom-Rechner) und ein Fehler-Rechner (18) verbunden sind, daß erste Ausgänge des Steuersignalgenerators, an denen das erste fehlerhafte Byte identifizierende Signale/0, /, ... /4-, erscheinen, über ODER-Glieder (24) und zweite Ausgänge des Steuersignalgenerators, an denen das zweite fehlerhafte Byte identifizierende Signale J0. J, ... J4 _, erscheinen, an die Fehlerkorrekturschaltung (22) angeschlossen sind, der auch die empfangenen Datenbits zugeführt werden, daß die ersten Ausgänge des Steuersignalgenerators auch mit dem Fehler-Rechner verbunden sind, an den auch dritte Ausgänge des Steuersignalgenerators angeschlossen sind, an denen Signale dx , d2. ■ dk _ j erscheinen, die den Abstand der beiden fehlerhaften Bytes angeben, daß die weiteren Eingänge des Fehler-Rechners mit den Syndrom-Rechnern verbunden sind, daß die ersten Ausgänge des Fehler-Rechners an die Fehlerkorrekturschaltung und an einen Modulo-2-Addierer (26) angeschlossen sind, dessen zweite Eingänge mit dem ersten Syndrom-Rcchner (10) und dessen Ausgänge mit der Fehlerkoneklurschaltung verbunden sind, und daß die zweiten Ausgänge des Fehler-Rechners, an denen bei nur einem fehlerhaften Byte die Signale /0, /, ... lk _, erscheinen, mit dem Steuersignalgcnerator und über die ODER-Glieder (24) mit der Fehlerkorrckturschaltung verbunden sind.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die das erste fehlerhafte Byte kennzeichnenden /-Signale des Steuersignalgenerators von einer Gruppe von UND-Gliedern (70; Fig. 7c) geliefert werden, deren jedem ein Hinweissignal P1 und die Komplemente der Hinweissignale mit kleineren Indexwerten zugeführt werden.
3. Einrichtung nach Anspruch 1, 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 Komplement I1 des /-Signals mit gleichem Indexwert zugeführt werden.
4. Einrichtung nach Anspruch 1, 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
" /-Signal mit jedem der J-Signalc verknüpft wird, und daß die Ausgänge derjenigen UND-Glieder, die Abstandssignale k liefern, die dem gleichen Abstand zweier fehleihafter Bytes entsprechen, mit einem ODER-Glied (78) verbunden sind.
5. Einrichtung nach den Ansprüchen I bis 4. dadurch gekennzeichnet, daß der Steuersignalgenerator weitere, an den Fehler-Rechner angeschlossene Ausgänge aufweist, an denen die folgenden Signale erscheinen: ein Signal X1 bei keinem oder einem Fehler, ein Signal ,V? bei unkorrigierbaren Fehlern, ein Signal Sn bei Fehlerfrciheit. ein Signal S1.. wenn ein einzelnes Byte korrigiert werden muß. und bei Vorliegen des SignalsS,, ein SignalSd. das anzeigt, daß ein Prüfbyte und nicht ein Datenbyte fehlerhaft ist.
6. Einrichtung nach den Ansprüchen 1 bis 5. dadurch gekennzeichnet, daß sie ein Modulo-2-Addierwerk (78; Fig. 10a. lOa-1. l()a-2) /ur Lösung der SyndromgleichungS, = 7"'S2 + S1 enthält sowie UND-Glieder (80) zum Durchschalten der Ausgangssignale des Modulo-2-Addierwerks mittels der das erste fehlerhafte Byte identifizierenden /-Signale des Steuersignalgenerators.
7. Einrichtung nach den Ansprüchen 1 bis 6. dadurch gekennzeichnet, daß der Fehlerrechner ein weiteres Modulo-2-Addierwerk (82; Fig. IUb, 10b-l)enthält,umdasSyndrom S,mit(7"' ' + /) ' zu multiplizieren (modulo2). und weitere UND-Glieder (84) zum Durchschalten der Ausgangssignale des Modulo-2-Addierwerks mittels der d-Si- »nale des Steucrsignalgencrators /ur Bildung des FchlersignalsS4 = (T' ' + I) 'S, = t·,. wobei Cj das Fehlermuster des /weilen Bytes darstellt.
8. Einrichtung nach den Ansprüchen I bis 7. dadurch gekennzeichnet, daß die das Fehlersignal S4 liefernden Ausgänge des Fehler-Rechners an ein ModuIo-2-Addierwerk (26; Fig. 2) angeschlossen sind, dessen zweite Eingänge mit dem ersten Syndromrechncr (10) verbunden sind zur Bildungeines Ausgangssignals S5 = S1S^ = c,. wobei Cj das Fchlermusler des ersten Bytes darstellt.
9. Einrichtung nach den Ansprüchen I bis X. dadurch gekennzeichnet, daß die Fchlerkorrcklurschaltung (22; F i g. 2) eine Gruppe von UND-Gliedern (86; F ig. Ua. lib) enthält zum Durchschalten der FchlersignaleSi = e} mittels diT das zweite fehlerhafte Byte angebenden J-Signale des
Steuergenerators und der vom Modulo-2-Addierwerk (26; F i g. 2) gelieferten Signale S5 = et mittels der /-Signale des Steuergenerators zu einem Modulo-2-Addierwerk (88), dessen Eingängen die Ausgangssignale der UND-Glieder und die Bitsingale der Datenbytes zum Erzeugen des korrigierten Datenblocks zugeleitet werden.
DE2162833A 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 Expired DE2162833C3 (de)

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 DE2162833A1 (de) 1972-07-13
DE2162833B2 DE2162833B2 (de) 1975-02-13
DE2162833C3 true 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)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
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
USRE30187E (en) * 1972-11-15 1980-01-08 International Business Machines Corporation Plural channel error correcting apparatus and methods
US3868632A (en) * 1972-11-15 1975-02-25 Ibm 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
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
GB1326976A (en) 1973-08-15
DE2162833A1 (de) 1972-07-13
FR2118450A5 (de) 1972-07-28
CA951434A (en) 1974-07-16
DE2162833B2 (de) 1975-02-13
IT943922B (it) 1973-04-10
US3697948A (en) 1972-10-10
NL7117085A (de) 1972-06-20
BE774916A (fr) 1972-03-01
JPS5215190B1 (de) 1977-04-27

Similar Documents

Publication Publication Date Title
DE2162833C3 (de) Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits
DE2106314B2 (de) Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE60117066T2 (de) Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes
DE60015753T2 (de) System und verfahren zum schutz von daten und zur korrektur von bitfehlern folgend aus komponentenfehlern
DE3231956A1 (de) Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE112016003638T5 (de) Auf eine Decodierung folgende Fehlerprüfung mit Diagnose für Produktcodes
DE102014215252B9 (de) Wirksame fehlerkorrektur von mehrbitfehlern
DE102016102590B4 (de) Datenverarbeitungseinrichtungen und verfahren zum rekonstruieren eines puf-werts
DE2263488A1 (de) System zur korrektur der fehler in zwei fehlerbehafteten spuren eines vielspurigen aufzeichnungsgeraets
DE2217935B2 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht
DE3727586A1 (de) Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten moduln
DE102005022107A1 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
DE102004006528A1 (de) Fehlerfassung und Korrektur in einer geschichteten dreidimensionalen Speicherarchitektur
DE102018131613A1 (de) Fehlererkennung mittels Gruppenfehler
DE602004008150T2 (de) Datenfehlerkorrektur mittels Redundanzblöcke
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
DE102013219088B9 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
DE2908373C2 (de)
DE102019113970B4 (de) Erkennung von adressfehlern
DE102015111729B4 (de) Verfahren und decoder zum bestimmen eines fehlervektors für ein datenwort gemäss einem reed-muller-code
DE102015118668B4 (de) Fehlerkorrektur
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