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 BitsInfo
- 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
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)
- 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,
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.
. = 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 2h— 1 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~J ■ S2 © 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
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' ©(/,
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.
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.
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:
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
= 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:
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
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-
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 , ,
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 N1n ■ S1, = 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.
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.
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.
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:
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
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.
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)
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
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.
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)
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)
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
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 |