DE2106314C3 - Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks - Google Patents
Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden DatenblocksInfo
- Publication number
- DE2106314C3 DE2106314C3 DE2106314A DE2106314A DE2106314C3 DE 2106314 C3 DE2106314 C3 DE 2106314C3 DE 2106314 A DE2106314 A DE 2106314A DE 2106314 A DE2106314 A DE 2106314A DE 2106314 C3 DE2106314 C3 DE 2106314C3
- Authority
- DE
- Germany
- Prior art keywords
- data
- bits
- bytes
- byte
- syndrome
- 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
-
- 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
-
- 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/134—Non-binary linear block codes not provided for otherwise
-
- 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/17—Burst error correction, e.g. error trapping, Fire codes
-
- 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/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
C1 = /D1 + ID3 + ...+ IDK
C2 = A1D, + A2D2 + ... + AKDK
ableitet, in denen /das Einselement und A\, A2 ... Ak
unterschiedliche und von Null verschiedene Elemente des Galois-Feldes (26) sind und die Additionen und
Multiplikationen die für die Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl
> 1 und K eine aanze Zahl 2<K<2b ist, und daß eine
Dccodicrschaltung (6, F i g. 2} vorgesehen ist, die aus
einem empfangenen fehlerhaften Block den fehlerfreien liefert, wenn nur ein Byte des Blocks
fehlerhaft war, unabhängig davon, wieviel Bits dieses Bytes fehlerhaft waren.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Decodierer zwei aus je b
modulo-2-Addierwerken aufgebaute Syndromreehner (14, 16; Fig. 2) enthält zur gleichzeitigen
Errechnung zweier Syndrombytes 51 und 52 mit je b Bits gemäß Hen Beziehungen
51 = ID1- + ID2' + ... + IDk' + IC.
52 = AD1' + A2D2 + ... . AkDk + IC2.
52 = AD1' + A2D2 + ... . AkDk + IC2.
in denen die gestrichenen Symbole die empfangenen Bytes kennzeichnen.
3. Anordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß mit den Ausgängen
der beiden Syndromrechner ein aus jeweils mehreren modulo-2-Addierwerken (52; Fig. 5a), deren
Ausgänge an ein ODER-Glied (54) angeschlossen sind, aufgebauter Kriterienrechner (22; Fig.2)
verbunden ist, der Korrektur-Kriterien gemäß der Beziehung B1 = A,S\ + IS2 errechnet, wobei ein
Ausgangssignal B1 = 0 eine notwendige Korrektur des/ Bytes des empfangenen Blocks anzeigt.
4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß eine Fehlerkorrekturschaltung
(18; Fig. 2) an die Ausgänge des ersten Syndromrechners (14) und des Kriterienrechners
(22) angeschlossen ist, der auch der empfangene Block zugeführt wird und die, wenn der Kriterienrechner
eine notwendige Korrektur des j. Bytes anzeigt, dieses durch Addition des ersten errechneten
Syndroms Si zum/ Byte korrigiert.
5. Anordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die Fehlerkorrekturschaltung
(18: Fig. 2) für jedes empfangene Bit d,.,, (wobei mit djp das p. Bit des / Bytes bezeichnet ist),
drei UND-Gliedei'(61 f 62* 63; F i g. 6) enthält, deren
erstem die Eingajigssignale dj.p und Si.,, zugeführt
Werden (wobei S\.P das invertierte p. Bit des I.
Syndroms bezeichnet), deren zweiten_die Eingangssignale d,.p zugeleitet werden (wobei ß/das invertier
te Korrektur-Kriterium bezeichnet), und deren
drittem die Eingangssignale B1, d1P und S,,,
zugeführt werden, und daß die Ausgange der UND-Glieder an ein ODER-Glied (64) angeschlossen
sind, an dessem Ausgang das korrigierte Bit d,.P"
erscheint.
Die Erfindung bezieht sich auf eine Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits
bestehenden Byte eines K Datenbytes enthaltenden, parallel zu übertragenden Datenblocks.
Ihr liegt die Aufgabe zugrunde, eine Anordnung zur Korrektur mehrfacher Fehler in einem aus mehreren
P)its bestehenden Byte anzugeben, die einen mininalen apparativen Aufwand und nur einen Code geringerer
Redundanz erfordert. In einem System, in dem beispielsweise Daten durch Stanzen von jeweils acht
Bits in Lochkarten gespeichert werden, deren jede als
ein Byte betrachtet wird, ermöglicht die Erfindung ein fehlerfreies Wiedergewinnen der Daten des Karten
blocks, wenn verschiedene Datenbits einer einzigen Lochkarte falsch gestanzt werden.
Die erfindungsgemäße Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden
Byte eines K Datenbyles enthaltenden, parallel zu übertragenden Datenblocks ist dadurch gekcnnzeichnet,
daß eine Codierschaltung vorgesehen ist, die aus den K Datenbytes D1. D2... Dk zwei je b Bits
enthaltende Prüfbytes C1 und C>
gemäß den Beziehungen
und
Ci = ID1 + ID2 + ... + IDk
C2 = .4,D, + A1D2 + ... + AkDk
ableitet, in denen /das Einselement und A\, A2. .Ak
unterschiedliche und von Null verschiedene Elemente des Galois-Feldes (2*) sind und d'c Additionen und
Multiplikationen die für Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl
> I und K eine ganze Zahl 2<K<2h ist. und daß eine Decodierschaltung
vorgesehen ist. die aus einem empfangenen fehlerhaften Block den fehlerfreien liefert, wenn nur ein
Byte des Blocks fehlerhaft war, unabhängig davon, wieviel Bits dieses Bytes fehlerhaft waren.
Nachfolgend wird ein bevorzugtes Ausführungsbeispiel der Erfindung in Verbindung mit den Zeichnungen
beschrieben, von denen zeigt
Fig. 1 ein Blockschaltbild eines Datenverarbeitungssystems, das die Erfindung benutzt.
F" i g. 2 ein Blockschaltbild des Decodierers gemäß der
Erfindung,
Fig. 3 die Organisation des erfindungsgcmäßen
Codierers,
F i g. 4 die Organisation des Syndromrechners.
f i g. 5a und 1Jb die Organisation des Kritcricniechners,
F i g. 6 die Organisation des Korrekturrechners,
F i g. 7 die Codiermatrix und
P i g. 8 die Decodiermatrix.
Gemäß Fig. 1 werden Daten über einen Kanal 2 einem Codierer 1 zugeführt. Der Codierer 1 liefert eine
auszusendende Nachricht, die über den Kanal 3 zu einer Verarbeitungseinheit gelangt, die irgendeine Operation
mit der Nachricht durchführt, z. B. sie speichert Und
spater als empfangene Nachricht wiedqr abgibt, die über
den Kanal 5 dem Decodierer 6 zugeführt wird, der die empfangene Nachricht decadiert und die wiedergewonnenen
Daten abgibt, die über den Kanal 7 einer weiteren Verwendung zugeführt werden. Die Arbeitsweise der
Verarbeitungseinheil 4 kann unvollkommen sein und gelegentlich Fehler verursachen, so daß die empfangene
Nachricht in dem Kanal 5 nicht notwendigerweise identisch ist mit der über den Kanal 3 ausgesendeten
Nachricht. Der Codierer 1 und der Decodierer 6 arbeiten zusammen, um die wiedergewonnenen Daten
dem Kanal 7 mit weniger Fehlern zuzuführen, als durch die Verarbeitungseinheil verursacht wurden.
Die Erfindung kann bei informationsverarbeitenden
Systemen mit unterschiedlichen Kapaziiäten Anwendung finden. Daher wird sie zuerst unter Verwendung
algebraischer Ausdrücke beschrieben, die auf jedes System beliebiger Größe anwendbar sind. Anschließend
wird dann ein spezielles System beschrieben.
Gemäß der Erfindung werden Daten durch das System blockweise verarbeitet. Ein Datenbluck besteht
aus K Bytes, wobei jedes Byte aus b Datenbits besteht. (Hier und im folgenden bezeichnet b eine ganze Zahl
> 1 und K eine ganze Zahl 2< K<2h. Die We;.e von b
und K sind für ein bestimmtes Ausführungsbeisoiel als Invariant zu betrachten, werden jedoch für Ausführungsformen
verschiedener Kapazitäten verschieden gewählt). Ein Datenblock wird demgemäß bezeichnet
mit Di. Dj... £\. wobei Di das erste Byte des
Datenblocks darstellt. D; das zweite Byte usw. bis Df..
das das K-le und letzte Byte darstellt. Ein Datenbyte
wird mit Dj bezeichnet, wobei der Index j jeden
ganzzahligen Wert zwischen 1 und K annehmen kann. Gemäß der Erfindung errechnet der Codierer für den
Datenblock zwei Prüfbytes, (mil G und G> bezeichnet),
deren jedes aus b Bits besteht und die an die K Datenbytes angehängt werden, um eine auszusendende
Nachricht von K + 2 Bytes zu erhalten.
Um die Berechnung der Prüfbytes zu beschreiben, ist es zweckmäßig, sich zu merken, daß als Byte, die aus b
binären Bits zusammengesetzt sind. 2h verschiedene
Bytes möglich sind und jedes mögliche Byte als ein Element eines Galois-Feldes von 2h Elementen zu
betrachten (das kurz als GF[2h) bezeichnet ist). Die
Existenz eines CF[2h) für jeden Wert von b ist durch
allgemeine Lehrsätze der Algebra sichergestellt. (Vergleiche z.B. W. Wesley Peterson: Prüfbare und
korngierbate Codes. R. Oldenbourg \ erlag [1967]). Das
Cialois-Feld setzt zwei Operationen voraus, die gewöhnlich als »Addition« mit dem entsprechenden
Nullelement 8 und als »Multiplikation« mit dem entsprechenden Einsclemint I bezeichnet werden. Die
Ausdrücke »Addition« und »Multiplikation« und die damit zusarinienhängender. Ausdrücke wie z. B. »Addierer«
werden in diesem Sinne im folgenden gebraucht.
Die Regeln der Addition und Multiplikation von Bytes werden dadurch aufgestellt, daß man sich die
Erkenntnis zunutze macht, daß das GF\2h) von
möglichen Bytes isomorph ist mit dem Gf{2h) von Polynomen mit Koeffizienten im OH.2) modulo einem
irrcduziblen Polynom des Grades b. (Zumindest ein irreduzibles Polynom existiert für jedes b). Das Feld
solcher Polynome ist ein Vektorraum der Dimension b
über dem GF[2). Addition der Elemente in dem GF\2b)
wird daher ausgeführt durch Addition der entsprechenden Bits. (Die Addition ist die für das CF[2) und ist daher
äquivalent der Addition niodulö 2.) Multiplikation im
GF(2b) kann man sich vorstellen als das Definieren einer
Menge linearer Transformationen in dem entsprechenden Vektorraum der Dimension b.
Der Vektorraum wird aufgespannt durch die Spaltenvektoren
/ I ) | !0\ | - | 'Q) | Ό * |
O | 1 | 0 | 0 | |
O | O | 1 | 0 | |
O | O | 0 | 0 | |
ο | ,0, | \ J | ||
(worin 0 und 1 binäre Symbole sind) oder kurzer ausgedrückt :
ei" \ab ' ... cij
worin <i ein primitives Element des GF[2")isl(Das heißt,
jedes von 0 verschiedene Element des Feldes kann dadurch erhalten werden, daß α zu in'-ndeiner Potenz
erhoben wird) Die Tran>.fnrma!ionsTa!rix. die der
Multiplikation mit dem Element Q entspricht, wird
2't erhalten durch Aneinanderreihen der Spaltenvektoren
Qahi.Qbb 2 ... Qa. Ql.
wodurch man erhält
,TQ = Qa"
,TQ = Qa"
2 ...QaQf.
Multiplikation des Elementes R mit dem Element Q
im GF[2b) ist daher äquivalent der Multiplikation des
Vektors R mit der Matrix 7y, wobei der Vektor und die
Matrixbestandteile dem GF[2) angehören (d. h. Binärziffern sind). Diese Operationen werden unten in
Verbindung mit einem bevorzugten Ausführungsbeispiel erläutert.
Bei dem Datenverarbeitungssystem gemäß der Erfindung errechnet der Codierer die Prüfbytes gemäß
der Beziehungen
C1 = ID1 + ID2 ... + WK . (4)
C2 = AxDx + A2D2 ... + AKDK, (5)
worin Au Ai... Ak von 0 verschiedene Elemente des
GF[2h) sind. Da es 2fl-1 solcher Elemente gibt, ist die
Anzahl der Bytes in einem Block begrenzt auf K<2b. Es
ist zweckmäßig, die Beziehungen, durch die die Prüfbytes G und Ci errechnet werden, durch eine
Codiermatrix der Koeffizienten auszudrücken
H1 »
A1 A2 ■■ ■ AK
und die beim Codipren durchgeführte Berechnung der
Prüfbytes kann symbolisch geschrieben werden als
C =
Unter Benutzung der oben entwickelten Beziehungen kann die Cödiermal":*. in binärer Form ausgedrückt
werden, indem jedes Element des GH2h). das in der
Codiermatrix erseheint, durch die entsprechende binäre
Mulliplikationsmalrix ersetzt wird. Die resultierende
Form der Codiermalrix gibt explizit die Operationen an.
die ein binär arbeitender Computer durchführen muß. um die Prüfbyles 7\\ berechnen.
Dem Decodierer 6 wird die empfangene Nachricht Di'. Di'... DK\ Cx. C2', die aus K + 2 Bytes besieht,
zugeführt und der Decodierer errechnet ein aus zwei Bytes bestehendes Syndrom (S\, S2) gemäß den
Beziehungen.
51 = IDi + /D2' . ·. + ID'k + ICi, (8)
52 = AxDi + /I2D2' ... + AKD'K + ICi · (9)
Diese Beziehungen können durch eine Dccodiermatrix mit K + 2 Spalten und zwei Zeilen beschrieben
werden:
ti ο =
ι ι ... ι 1 π
AxA1... ΑΚΘ 1
(10)
In ihr ist Θ das Nullelement im GF[2b). Die
Berechnung des Syndroms kann symbolisch angegeben werden durch
S =
(ID
B1 = AiSx + /S2
(12) 16 errechnet und gibt bei 21 dicSyndromkorhporiehlc S2
ab, die dem Krilerienrcchner 22 zugeführt wird. Der Kriiericnrcchncr 22 errechnet Kriterien U1 für jedes
Dalenbit D1' und gibt die Kriterien bei 24 ab. von wo sie
ί der FchlcfkoffekUifsehaltung 18 zugeleitet werden. Die
Fehlerkorrekturschaluing 18 errechnet die wiedergewonnenen
Daten D," und gibt sie bei 26 ab.
Fig. 3 z.cigi die Organisation des Codicrcrs. Die
Daten werden bei 30 angeliefert und acht Addierwerken 31-I bis 32-8 zugeführt, die das Prüfbyie Ci errechnen.
Ferner werden sie acht Addierwerken 34-1 bis 34-8 zugeleitet, die das Prilfbytc C2 errechnen. Das Ausgangssignal
jedes Addierwerkes ist die Summe seiner Eingangssignale, wobei die Addition die für das CF[2)
Vi definierte ist. In Fig.3 sind die Daten in binärer Form
dargestellt, wie sie von einer auf der Basis des Binärsystems arbeitenden Maschine verarbeitet werden,
wobei f/,.,)dasp. Bit des/ Bytes bezeichnet.
Das Zuordnungsschema entspricht den allgemeinen Prinzipien, die oben beschrieben wurden. Fur das
bevorzugte Ausführiingsbeispicl werden die acht Spaltenvcktorcn des Gf\2) gewählt als
25
Die Decodicrmairix Hn kann natürlich explizit in
binärer Form ausgedrückt werden, indem die binären Multiplikati0nsmalri7.cn eingesetzt werden.
Die Bedeutung der Syndrome (Sx, S2) kann aus einer
Betrachtung der folgenden Operationen verstanden werden, die leicht von den Codier- und Decodierbeziehungen
unter der Annahme abgeleitet werden können, daß zumindest alle Bytes bis auf eines richtig übertragen
wurden. Wenn Si = Θ, S2 = Θ, dann liegt kein Fehler in
der empfangenen Nachricht vor. Wenn Si = Θ. S2 ^ Θ.
dann liegt ein Fehler in C2' vor. Wenn S2 = AjSi ^ Θ. -to
dann liegt ein Fehler von Si in D2' vor.
Der Decodierer erzeugt für jedes Byte ein Kriterium nach der Gleichung
,«' = | (0) | . «2 = | (0\ | , o3 = | (0\ | |
0 | 0 | 0 | 0 | |||
0 | 0 | 0 | 0 | |||
0 | 0 | 0 | 0 | |||
0 | 0 | 0 | 1 | |||
0 | 0 | 1 | 0 | |||
0 | 1 | 0 | 0 | |||
Vi I | oj | |||||
(15)
, κ5 = | 0 | Μ | . a1 = | 0 | |
0 | 1 | 1 | 0 | ||
0 | 0 | 0 | 0 | ||
1 | 0 | 0 | 0 | ||
0 | 0 | 0 | 0 | ||
0 | 0 | 0 | 0 | ||
0 | l°] | 0 | |||
W | |||||
43
und erzeugt die wiedergewonnenen Daten D]' entsprechend
und die Multiplikationsmatrizen basieren auf dem irrcduziblen Polynom Xs + X4 + Λ"3 + X2 + l,was
crcibt
D]' = D] (Bj /fl), (13)
D'{ = D] + Sx(Bj = 0). (14)
Es sei besonders erwähnt, daß das fehlerhafte Byte korrigiert wird, selbst wenn mehrere Bits innerhalb des
Byte fehlerhaft sind.
Fig. 2 zeigt ein Blockschaltbild eines bevorzugten Ausführungsbeispiels zur Verarbeitung eines Datenblocks
aus 64 Bits, die zu Bytes zusammengefaßt sind. Die empfangene Nachricht wird dem Decodierer 6 bei
12 zugeführt und gelangt in parallelen Kanälen zu dem Rechner 14. der die erste Komponente des Syndroms
errechnet, zu dem Rechner 16, der die zweite Komponente des Syndroms errechnet und zu der
Fehlerkorrekturschaltung 18. Der Rechner 14 errechnet und gibt bei 20 die Syndromkomponente Si ab. die über
parallele Kanäle der Fehlerkorrekturschaltung 18 und dem Kriterienrechner 22 zugeführt wird. Der Rechner
T, =
60
Tj =
1 0 0 0 0 0 0 0
0 10 0 0 0 0 0
0 0 10 0 0 0 0
0 0 0 10 0 0 0
0 0 0 0 10 0 0
0 0 0 0 0 10 0
0 0 0 0 0 0 10
0 0 0 0 0 0 0 1
0 10 0 0 0 0 0
0 0 10 0 0 0 0
0 0 0 10 0 0 0 10 0 0 10 0 0
10 0 0 0 10 0
1 0 0 0 0 0 I 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0
(16)
Τ,,ι =
τ, =
t.,4 =
0 0 10 0 0 0 0
0 0 0 10 0 0 0
1 0 0 0 ! 0 0 0
ι i ο ο ο ι ο ο
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | I | 0 | 0 | ö | 0 | 0 | i |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
O | O | 0 | I | O | 0 | O | ü |
1 | 0 | 0 | 0 | I | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | I | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | I | 0 |
0 | 1 | I | 0 | 0 | 0 | 0 | 1 |
1 | 0 | i | ö | 0 | ö | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 0 10 0 0 0 0
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | ö | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1110 0 0 10 OiIlOOOl
0 0 1 1 10 0 0 0 0 0 1110 0 0 110 110 0
ι ι ο i ο ι ο ο
10 0 0 10 0 0 110 0 0 10 0
0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 | 1 | 0 | O |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 0 | I | 0 |
1 | 1 | 0 | 0 | O | I | 0 | 0 |
1 | 1 | 1 | 0 | 0 | O | 1 | O |
10
15
30
35
45
50
65
OOÖÖÖOOO
00000000
00000000
00000000
0000 0 000
00000000
00000000
00000000
00000000
00000000
00000000
0000 0 000
00000000
00000000
00000000
Die erhaltene Codiermalrix ist in binarer Form in Fig. 7 dargestellt.
Die Biteingangsleitungcn 36 des Addierwerks 32-1,
eins das erste Bit des Prüfbytes G errechnet, sind
vollständig in der Fig. 3 dargestellt. Diese Eingangslciluiigen
entsprechen der ersten Zeile der Codiermatrix Ht. In gleicher Weise sind die F.ingangsleilungen 38 des
Addierwerkes 34-2. das das /weite Bit des zweiten FMifbytes errechnet, gezeigt. Diese F.ingangslciuingen
entsprechen der zehnten /.eile der Codiermatrix Hi. Die
anderen nicht im einzelnen dargestellten F.ingangslei-Hingen können durch Bezugnahme aiii die Codiermalrix
Hi erhalten werden.
F i g. 4 zeigt die Organisation der Syndromrechner 14 und 16 des Decodieren 6. Die empfangene Nachricht
wird bei 12 zugeführt und den Addierwerken 42-1 bis 42-8 zugeleitet, die die Bits der ersten Syndromkomponente
Si errechnen, und den Addierwerken 44-1 bis 44-8,
die die Bits der zweiten Syndromkoniponcnte S_> entsprechend der in binärer Form ausgedrückten
Decodiermatrix errechnen, wie sie in Fig. 8 dargestellt ist. Die einzelnen Eingangslcilungcn sind für das
Addierwerk 42-1 dargestellt und die Eingangsleitungeii
für die anderen (nicht im einzelnen in der Fig. 3 dargestellten) Addierwerke können aus der Decodiermatrix
Ho erhalten werden. Die oberen acht Zeilen der Matrix Hn werden zur Berechnung von Si benutzt und
die unteren acht Zeilen zur Berechnung von S2.
Die Organisation des Kriterienrechners ist in den F i g. 5a und 5b dargestellt. Die Syndrombits (das dritte
Bit der zweiten Syndromkomponente ist beispielsweise mit S2.1 bezeichnet) werden nach Gleichung (12) acht
Addierwerken 52 zugeführt. Die Ausgänge der acht Addierwerke führen an ein ODER-Glied 54, das das
Ausgangssignal B\ erzeugt. Die Ausgangssignale B2,
Bi... Bs werden von anderen Schaltungen erzeugt. Die
Syndrombits, die jedem Addierwerk zugefügt werden, sind in den F i g. 5a und 5b angegeben.
Ein typischer Teil der Fehlerkorrekturschaltung 18 ist in der F i g. 6 dargestellt, nämlich Schaltungen, die das p.
Bit des j. Bytes verarbeiten. Die Ausgänge dreier UND-Glieder 61.62,63 sind mit einem ODER-Glied 64
verbunden. Drei Inverter 65, 66 und 67 sind ebenfalls vorgesehen. Dem UND-Glied 61 werden als Eingangssignale das_empfangene Datenbit dj.p' und das
Syndrombit Si.p zugeführt (wobei der Querstrich das
invertierte Signal kennzeichnet). Dem UND-Glied 62 werden als Eingangssignale das empfangene Datenbit
dj.p und eines der Korrekturkriterien Bj zugeführt. Dem
UND-Glied 63 werden als Eingangssignale das Korrekturkriterium Bj, das empfangene invertierte Datenbit
dj.p und das Syndrombit Si.p zugeführt. Das ODER-Glied
64 liefert das wiedergewonnene Datenbit d,_p". Eine gleiche Gruppe von Schaltungen ist für jedes
Datenbit vorgesehen, so daß insgesamt im allgemeinen b ■ K Gruppen (insgesamt 64 in dem bevorzugten
Ausführungsbeispiel) von Schaltungen, wie sie hier beschrieben wurden, in der Fehlerkorrekturschaltung 18
vorhanden sind.
Hierzu 7 Blatt Zeichnungen 809 643/130
Claims (1)
1. Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K
Datenbytes enthaltenden, parallel zu übertragenden Datenblocks, dadurch gekennzeichnet,
daß eine Codierschaltung (1, Fi g. 1) vorgesehen ist,
die aus den K Datenbytes Du D2 ■ ■ ■ Dk zwei je b Bits
enthaltende Prüfbytes Ci und Ca gemäß den
Beziehungen
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1084770A | 1970-02-12 | 1970-02-12 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2106314A1 DE2106314A1 (de) | 1971-08-19 |
DE2106314B2 DE2106314B2 (de) | 1978-03-16 |
DE2106314C3 true DE2106314C3 (de) | 1978-10-26 |
Family
ID=21747711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2106314A Expired DE2106314C3 (de) | 1970-02-12 | 1971-02-10 | Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks |
Country Status (7)
Country | Link |
---|---|
US (1) | US3629824A (de) |
JP (1) | JPS5240545B1 (de) |
CA (1) | CA932466A (de) |
DE (1) | DE2106314C3 (de) |
FR (1) | FR2080403A5 (de) |
GB (1) | GB1279793A (de) |
NL (1) | NL174418C (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE28923E (en) * | 1971-12-27 | 1976-08-03 | International Business Machines Corporation | Error correction for two bytes in each code word in a multi-code word system |
US3774154A (en) * | 1972-08-21 | 1973-11-20 | Ibm | Error control circuits and methods |
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 |
US3786439A (en) * | 1972-12-26 | 1974-01-15 | Ibm | Error detection systems |
US3800281A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Error detection and correction systems |
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 |
GB1597218A (en) * | 1976-12-11 | 1981-09-03 | Nat Res Dev | Apparatus for electronic encypherment of digital data |
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 |
DE3028066A1 (de) | 1980-07-24 | 1982-02-18 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Schaltungsanordnung zur korrektur gestoerter abtastwerte bei einer pcm-uebertragungseinrichtung, insbesondere einer digital-tonplatte |
US4862463A (en) * | 1987-07-20 | 1989-08-29 | International Business Machines Corp. | Error correcting code for 8-bit-per-chip memory with reduced redundancy |
US4979173A (en) * | 1987-09-21 | 1990-12-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US5140595A (en) * | 1987-09-21 | 1992-08-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US5224106A (en) * | 1990-05-09 | 1993-06-29 | Digital Equipment Corporation | Multi-level 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 |
US7743311B2 (en) * | 2006-01-26 | 2010-06-22 | Hitachi Global Storage Technologies Netherlands, B.V. | Combined encoder/syndrome generator with reduced delay |
JP2013523043A (ja) | 2010-03-22 | 2013-06-13 | エルアールディシー システムズ、エルエルシー | ソースデータセットの完全性を識別及び保護する方法 |
WO2016014423A1 (en) | 2014-07-21 | 2016-01-28 | Kandou Labs S.A. | Multidrop data transfer |
WO2018191749A1 (en) | 2017-04-14 | 2018-10-18 | Kandou Labs, S.A. | Pipelined forward error correction for vector signaling code channel |
US10693587B2 (en) | 2017-07-10 | 2020-06-23 | Kandou Labs, S.A. | Multi-wire permuted forward error correction |
US11356197B1 (en) | 2021-03-19 | 2022-06-07 | Kandou Labs SA | Error-tolerant forward error correction ordered set message decoder |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL130511C (de) * | 1963-10-15 | |||
US3458860A (en) * | 1965-03-08 | 1969-07-29 | Burroughs Corp | Error detection by redundancy checks |
US3474413A (en) * | 1965-11-22 | 1969-10-21 | Dryden Hugh L | Parallel generation of the check bits of a pn sequence |
-
1970
- 1970-02-12 US US10847A patent/US3629824A/en not_active Expired - Lifetime
- 1970-12-23 FR FR7047667A patent/FR2080403A5/fr not_active Expired
-
1971
- 1971-01-11 GB GB0255/71A patent/GB1279793A/en not_active Expired
- 1971-01-25 CA CA103622A patent/CA932466A/en not_active Expired
- 1971-02-03 JP JP46003815A patent/JPS5240545B1/ja active Pending
- 1971-02-10 DE DE2106314A patent/DE2106314C3/de not_active Expired
- 1971-02-11 NL NLAANVRAGE7101866,A patent/NL174418C/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE2106314A1 (de) | 1971-08-19 |
CA932466A (en) | 1973-08-21 |
NL174418C (nl) | 1984-06-01 |
JPS5240545B1 (de) | 1977-10-13 |
FR2080403A5 (de) | 1971-11-12 |
DE2106314B2 (de) | 1978-03-16 |
GB1279793A (en) | 1972-06-28 |
NL174418B (nl) | 1984-01-02 |
US3629824A (en) | 1971-12-21 |
NL7101866A (de) | 1971-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2106314C3 (de) | Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks | |
DE60001370T2 (de) | Verfahren und vorrichtung zur erkennung von doppelbitfehlern und korrektur von fehlern durch bauelementfehler verursacht | |
DE2162833C3 (de) | Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits | |
DE2357004C3 (de) | Verfahren und Einrichtung zur Fehlerkorrektur für Daten | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2916710C2 (de) | ||
DE69121307T2 (de) | Mehrfachpegel-Fehlerkorrektursystem | |
DE3854393T2 (de) | Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode. | |
DE3789929T2 (de) | Verfahren und Gerät zur Fehlerkorrektur in einem aus parallelem Prozessor bestehenden Datenverarbeitungssystem. | |
DE60220341T2 (de) | Verfahren zum Erzeugen eines Burstfehlermusters sowie Burst- und Bytefehlerermittlungs- und-korrekturvorrichtung | |
DE2260850A1 (de) | Fehlerkorrektursystem | |
DE2159108A1 (de) | Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen | |
DE3882223T2 (de) | Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden. | |
DE2914515A1 (de) | Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE3750526T2 (de) | Dekodierer. | |
DE2659031B2 (de) | Fehlerkorrektur- und -Steuersystem | |
DE2941868A1 (de) | Anordnung zur vornahme einer fehlerkorrektur und fehlerermittelung bei binaerwoertern | |
DE69904618T2 (de) | Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern | |
DE2704627B2 (de) | Anordnung zur Fehlerkorrektur von binärer Information | |
DE69317766T2 (de) | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) | |
DE3882175T2 (de) | Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz. | |
DE2217935A1 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern | |
DE2053836C3 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |