DE2106314A1 - Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden Datenblocks - Google Patents
Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden DatenblocksInfo
- Publication number
- DE2106314A1 DE2106314A1 DE19712106314 DE2106314A DE2106314A1 DE 2106314 A1 DE2106314 A1 DE 2106314A1 DE 19712106314 DE19712106314 DE 19712106314 DE 2106314 A DE2106314 A DE 2106314A DE 2106314 A1 DE2106314 A1 DE 2106314A1
- Authority
- DE
- Germany
- Prior art keywords
- bytes
- byte
- data
- correction
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- 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
Aktenzeichen der Anmelderin: Docket PO 969 038
Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits
bestehenden Byte eines K Datenbytes enthaltenden Datenblocks
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 Bits bestehenden Byte
anzugeben, die einen minimalen apparativen Aufwand und nur einen Code geringer 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 Kartenblocks, 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 Datenbytes enthaltenden, parallel zu übertragenden Datenblocks ist dadurch gekennzeichnet,
daß eine Codierschaltung vorgesehen ist, die aus den K Datenbytes D1, D0, .
bytes C, und C2 gemäß den Beziehungen
bytes C, und C2 gemäß den Beziehungen
D_ zwei je b Bits enthaltende Prüf-
10983 W1540
21063U
ID1 + ID2 + ... + XDK und
C2 ■ AiDi + A2D2 + · · · + ^0K ab16*·*^' *n denen I das
Einselement und A., A., ... A-. unterschiedliche und von Null
verschiedene Elemente des Galois-Feldes (2 ) sind und die Additionen
und Multiplikationen die für Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl
>1 und K eine ganze Zahl 2 < K < 2 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 zeigen:
Fig. 1 ein Blockschaltbild eines Datenverarbeitungssystems, das die Erfindung benutzt;
Fig. 2 ein Blockschaltbild des Decodierers gemäß der Erfindung
;
Fig. 3 die Organisation des erfindungsgemäßen Codierers;
Fig. 4 die Organisation des Syndromrechners;
Fig. 5a u.5b die Organisation des Kriterienrechners;
Fig. 6 die Organisation des Korrekturrechners;
Fig. 7 die Codiermatrix und
Fig. 8 die Decodiermatrix.
Gemäß Fig. 1 werden Daten über einen Kanal 2 einem Codierer 1
Docket PO 969 038 10 9 8 3 4/1540
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 später als empfangene Nachricht wieder abgibt,
die über den Kanal 5 dem Decodierer 6 zugeführt wird, der die empfangene Nachricht decodiert und die wiedergewonnen Daten abgibt
, die über den Kanal 7 einer weiteren Verwendung zugeführt
werden. Die Arbeitsweise der Verarbeitungseinheit 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 M
Codierer 1 und der Decodierer 6 arbeiten zusammen, um die wiedergewonnenen Daten dem Kanal 7 mit weniger Fehlern zuzuführen,
als durch die Verarbeitungseinheit verursacht wurden.
Die Erfindung kann bei informationsverarbeitenden Systemen mit unterschiedlichen Kapazitä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 Datenblock 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 < 2 . Die Werte von b und K sind für ein bestimmtes Ausführungsbeispiel
als Invariant zu betrachten, werden jedoch für Ausführungsformen verschiedener Kapazitäten verschieden gewählt). Ein
Datenblock wird demgemäß bezeichnet mit D1, D3,...DR, wobei
D, das erste Byte des Datenblockes darstellt, D0 das zweite
1 ^
Byte, usw. bis D_, das das K-te und letzte Byte darstellt.
Ein Datenbyte wird mit D. 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, (mit C1 und C_ bezeichnet) deren jedes aus b Bits besteht
und die an die K Datenbytes angehängt werden, um eine
Docket PO 969 038 1 0 9 8 3 A / 1 5 A 0
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 Bytes, die aus b binären Bits zusammengesetzt sind, 2 verschiedene Bytes möglich sind und
jedes mögliche Byte als ein Element eines Galois-Feldes von 2 Elementen zu betrachten (,das kurz als GF(2 ) bezeichnet
ist). Die Existenz eines GF(2 ) für jeden Wert von b ist durch allgemeine Lehrsätze der Algebra sichergestellt. (Vergleiche
z.B. W. Wesley Peterson: Prüfbare und korrigierbare Codes;
R. Oldenbourg Verlag (1967)). Das Galois-Feld setzt zwei Operationen
voraus, die gewöhnlich als "Addition" mit dem entsprechenden Nullelement θ und als "Multiplikation" mit dem entsprechenden
Einselement I bezeichnet werden. Die Ausdrücke "Addition" und Multiplikation" und die damit zusammenhängenden Ausdrücke
wie z.B. 3IAddierer" werden in diesem Sinne im folgenden gebraucht,
Die Regeln der Addition und Multiplikation von Bytes werden dadurch aufgestellt, daß man sich die Erkenntnis zu Nutze macht,
daS das GF(2 ) von möglichen Bytes isomorph ist mit dem GF(2 )
von Polynomen mit Koeffizienten im GF(2) modulo einem irreduziblen
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(2 ) wird daher ausgeführt durch Addition der entsprechenden Bits. (Die Addition ist die für das GF(2) und ist
daher äquivalent der Addition modulo 2.) Multiplikation im GF(2b)
kann man sich vorstellen als das Definieren einer Menge linearer Transformationen in dem entsprechenden Vektorraum der Dimension b.
Docket PO 969 Ο38 1 09834/ 1540
Der Vektorraum wird aufgespannt durch die Spaltenvektoren!
O
O
O
Λ7 . VV
O 1 O
VJ V.
(D
(worin O und 1 binäre Symbole sind) oder kürzer ausgedrückt;
Ö ξ el f * * m Si f ·*-
worin a ein primitives Element des GF(2 ) ist. (D.h., jedes
von O verschiedene Element des Feldes kann dadurch erhalten werden, daß a zu irgendeiner Potenz erhoben wird.) Die Transformationsmatrix,
die der Multiplikation mit dem Element Q entspricht, wird erhalten durch Aneinanderreihen der Spaltenvektoren
Qab"X, Qbb~2,...Qa, QI,
(2)
wodurch man erhält
Qa ...Qa QI
(3)
Multiplikation des Elementes R mit dem Element Q im GF(2 ) ist
daher äquivalent der Multiplikation des Vektors R mit der Matrix T0, 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
Docket PO 969 038
109834/1540
+ ID
(4)
(5)
worin Α
χ,
sind. Da es 2-1 solcher Element gibt, ist die Anzahl der Bytes
in einem Block begrenzt auf K < 2 . Es ist zweckmäßig, die
und C- errechnet werden,
durch eine Codiermatrix der Koeffizienten auszudrücken
I I ...I
A2...
und die beim Codieren durchgeführte Berechnung der Prüfbytes kann symbolisch geschrieben werden als
C - Hc D
(6)
(7)
Unter Benutzung der oben entwickelten Beziehungen kann die Codiermatrix in binärer Form ausgedrückt werden, indem jedes
Element des GF(2 ), das in der Codiermatrix erscheint, durch die entsprechende binäre Multiplikationsmatrix ersetzt wird.
Die resultierende Form der Codiermatrix gibt explizit die Operationen an, die ein binär arbeitender Computer durchführen
muß, um die Prüfbytes zu berechnen.
Dem Decodierer 6 wird die empfangene Nachricht D1', D2',...Dx 1I
C1 1, C2 1, die aus K + 2 Bytes besteht, zugeführt und der Decodierer errechnet ein aus zwei Bytes bestehendes Syndrom (S1,
S4) gemäß den Beziehungen
« ID1 1 + ID2 1... + IDR· + IC1 1
+A2D2 1...
Docket PO 969 038
109834/1540
Diese Beziehungen können durch eine Decodiermatrix mit K + 2
Spalten und zwei Zeilen beschrieben werden:
HD
I I ...I I θ 1
A, A_...A_ θ I
(10)
In ihr ist θ das Nullelement im GF(2 ). Die Berechnung des Syndroms
kann symbolisch angegeben werden durch
S - H0 (Df, C) (11)
Die Decodiermatrix H kann natürlich explizit in binärer Form ausgedrückt werdet
eingesetzt werden.
eingesetzt werden.
ausgedrückt werden, indem die binären Multiplikationsmatrizen ^
Die Bedeutung der Syndrome (S , S.) 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 S. = Θ, S_ » Θ, dann liegt kein Fehler
in der empfangenen Nachricht vor. Wenn S «= Θ, S2 ι* Θ, dann
liegt ein Fehler in C* vor. Wenn S. » A.S. φ θ, dann liegt ein
Fehler von S in D' vor.
Der Decodierer erzeugt für jedes Byte ein Kriterium nach der Gleichung
B. = A.S1 + IS2 (12)
und erzeugt die wiedergewonnen Daten D.'' entsprechend
D.' ' » D* (B, φ θ) (13)
D." = D.1 + S1 (B. - O) (14)
Es sei besonders erwähnt, daß das fehlerhafte Byte korrigiert
wird, selbst wenn mehrere Bits innerhalb des Byte fehlerhaft sind.
Docket PO 969 Ο38 '
109834/1540
Fig. 2 zeigt ein Blockschaltbild eines bevorzugten Ausführungsbeispieles 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 S. ab, die
über parallele Kanäle der Fehlerkorrekturschaltung 18 und dem Kriterienrechner 22 zugeführt wird. Der Rechner 16 errechnet und
gibt bei 21 die Syndromkomponente S2 ab, die dem Kriterienrechner 22 zugeführt wird. Der Kriterienrechner 22 errechnet Kriterien B. für jedes Datenbit D ' und gibt die Kriterien bei 24
ab, von wo sie der Fehlerkorrekturschaltung 18 zugeleitet werden. Die Fehlerkorrekturschaltung 18 errechnet die wiedergewonnen
Daten D." und gibt sie bei 26 ab.
Fig. 3 zeigt die Organisation des Codierers. Die Daten werden bei 30 angeliefert und acht Addierwerken 32-1 bis 32-8 zugeführt,
die das Prüfbyte C. errechnen. Ferner werden sie acht Addierwerken 34-1 bis 34-8 zugeleitet, die das Prüfbyte C. errechnen.
Das Ausgangssignal jedes Addierwerkes ist die Summe seiner Eingangssignale, wobei die Addition die für das GF(2) definierte
ist. In Fig. 3 sind die Daten in binärer Form dargestellt, wie sie von einer auf der Basis des Binärsystems arbeitenden Haschine verarbeitet werden, wobei d. das p. Bit des j. Bytes beil »Ρ
zeichnet.
Das Zuordnungsschema entspricht den allgemeinen Prinzipien, die
oben beschrieben wurden. Für das bevorzugte Ausführungsbeispiel werden die acht Spaltenvektoren des GF(2) gewählt als
Docket PO 969 038
109834/1540
O O O O O
O
1 a1=
a —
\7
(15)
a =
O O 1 O O O1
v°/
0 1 0 0 0 0
und die Multiplikationsmatrizen basieren auf dem irreduziblen
Polynom X8 + X4 + X3 + X2 + 1, was ergibt
1 | 0 | P | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0-* | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | .0 | 0 | Ö | 1 |
0· | 1 | 0 | 0 | 0 | 0 | 0 | "ö |
0 | 0 | Ί | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | •ο | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | .0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
(16)
Docket PO 969 038
109834/1540
.V B
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
1
O
O
O
O
O
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
1
O
O
O
O
O
O O O 1 O O
O O
O O O O O
1 O O
r3 =
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
O
1
1
O
1
O
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
1
1
1
O
1
O
O
1
1
O
1
O
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
1
O
1
1
1
O
1
O
1
O
1
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
1
O
O
O
O
O
O
1
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O O 1 O O O
O O
O ΙΟ O O
O O O
O O O O 1 O
O O
O O O 1 O O
O O
1
1
O
O
1
1
O
1
1
O
O
1
1
O
1
1
1
1
O
1
O
O
O
1
1
O
1
O
O
O
O
1
1
1
1
O
1
O
O
1
O
1
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
O
O
1
O
O
1
1
1
O
1
O
1 O O O O O
O O
O O 1 O O O
O O
1
O
O
O
O
1
1
1
O
O
O
O
1
1
1
1
O
O
1
1
O
1
O
O
1
1
O
1
1
1
1
O
1
O
O
O
1
1
O
1
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
O
O
1
O
1
l·
1
O
1
O
O
1
O
O O O 1 1 1
O 1
O 1 O O O O
O O
Docket PO 969 038
109834/ 1540
φ S=
O | 1 | 1 | 1 | O | O | O | 1 |
O | O | 1 | 1 | 1 | O | O | .0 |
O | O | O | 1 | 1. | 1 | O | 0 |
1 | O | O | O | 1 | 1 | 1 | 0 |
O | O | 1 | 1 | O | 1 | 1 | 0 |
O | 1 | 1 | O | 1 | O | 1 | 0 |
1 | 1 | O | O | O | 1 | O | 0 |
1 | 1 | 1 | O | O | O | 1 | 0 •Η |
O | O | O | O | O | O | O | 0 |
O | O | O | O | O | O | O | 0 |
O | ο· | O | * O | O | O | O | 0 |
O | O | O | O | O | O | O | 0 |
O | O | O | O | O | O | O | 0 |
O | O | O | O | O | O | O | 0 |
O | O | O | O | O · | O | O | 0 |
O | O | O | O | O | O | O | 0 |
Die erhaltene Codiermatrix ist in binärer Form in Fig. 7 dargestellt.
Die Biteingangsleitungen 36 des Addierwerks 32-1, das das erste
Bit des Prüf bytes C. errechnet, sind vollständig in der Fig. 3 dargestellt. Diese Eingangsleitungen entsprechen der ersten Zeile
der Codiermatrix H . In gleicher Weise sind die Eingangsleitungen 38 des Addierwerkes 34-2, das das zweite Bit des zweiten
Prüfbytes errechnet, gezeigt. Diese EingangsIeItungen entsprechen
der zehnten Zeile der Codiermatrix Hc· Die anderen nicht im
einzelnen dargestellten Eingangsleitungen können durch Bezugnahme auf die Codiermatrix H erhalten werden.
Fig. 4 zeigt die Organisation der Syndroiarechner 14 und 16 des
' Decodierers 6. Die empfangene Nachricht wird bei 12 zugeführt und den Addierwerken 42-1 bis 42-8 zugeleitet, die die Bits der
ersten Syndromkomponente S1 errechnen, und den Addierwerken
44-1 bis 44-8, die die Bits der zweiten Syndromkomponente S-entsprechend
der in binärer Form ausgedrückten Decodiennatrifc
Docket PO 969 038
109834/1540
errechnen, wie sie in Fig. 8 dargestellt ist. Die einzelnen Eingangsleitungen
sind für das Addierwerk 42-1 dargestellt und die Eingangsleitungen für die anderen (nicht im einzelnen in der
Fig. 4 dargestellten) Addierwerke können aus der Decodiermatrix H erhalten werden. Die oberen acht Zeilen der Matrix HD werden zur
Berechnung von S benutzt und die unteren acht Zeilen zur Berechnung
von S2.
Die Organisation des Kriterienrechners ist in den Fig. 5a und 5b dargestellt. Die Syndrombits (das dritte Bit der zweiten
Syndromkomponente ist beispielsweise mit S. - 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
B1 erzeugt. Die Ausgangssignale B , B ...B werden von
X Zoo
anderen Schaltungen erzeugt. Die Syndrombits, die jedem Addierwerk
zugeführt werden, sind in den Fign. 5a und 5b angegeben.
Ein typischer Teil der Fehlerkorrekturschaltung 18 ist in der Fig. 6 dargestellt, nämlich die 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 d. ' und das
Syndrombit S1 zugeführt, (wobei der Querstrich das invertierte
Signal kennzeichnet). Dem UND-Glied 62 werden als Eingangssignale das empfangene Datenbit d. ' und eines der Korrektur-
_ 3 'P
kriteren B. zugeführt. Dem UND-Glied 63 werden als Eingangssignale das Korrekturkriterium B., das empfangene invertierte
Datenbit dL ' und das Syndrombit S. zugeführt. Das ODER-
J»P IfP
Glied 64 liefert das wiedergewonnene Datenbit d, ''. Eine
JfP
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
vorhanden sind.
Docket FO 969 038
1 0 9 8 3 Λ/1
Claims (1)
- PATENTANSPRÜCHE(Ty 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, Fig. 1) vorgesehen ist, die aus den K Datenbytes D1, D0, ... Όν zwei je b Bits enthaltende Prüfbytes C. und C2 gemäß den BeziehungenC1 * ID1 + ID0 + ... + IDx. undC2 = AiD, + A2D2 + "· + ^Si0K a*>le*-tet» in denen I dasEinselement und A , A2, ... Ax unterschiedliche und von Null verschiedene Elemente des Galois-Feldes (2 ) sind und die Additionen und Multiplikationen die für Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl >1 und K eine ganze Zahl 2 < K < 2 ist, und daß eine Decodierschaltung (6, Fig. 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.Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Decodierer zwei aus je b modulo 2-Addierwerken aufgebaute Syndromrechner (14, 16; Fig. 2) enthält zur gleichzeitigen Errechnung zweier Syndrombytes Sl und S2 mit je b Bits gemäß den BeziehungenSl-ID1 1 +ID2 1 + ... + IDK' + IC1 1, und S2 -AD1^+A2D2' + ... + AKDK+ IC3,in denen die gestrichenen Symbole die empfangenen Bytes kennzeichnen.Docket PO 969 038 „ ArtÄ109834/15403. 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 B. « A-jsi + IS 2 errechnet, wobei ein Ausgangssignal B. = O eine notwendige Korrektur des j. 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 Syndronts S zum j. 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 d. das ρ. Bit des j . Bytes bezeichnet ist,) drei UND-Glieder (61, 62, 63; Fig. 6) enthält, deren erstem die Eingangssignale d. _ und S1_ j#P 1^Pzugeführt werden, (wobei S1 „ das invertierte p. Bit des1 rP
1. Syndroms bezeichnet,) deren zweitem die Eingangssignaled. und B. zugeleitet werden, (wobei B. das invertierteD /P j JKorrektur-Kriterium bezeichnet,) und deren drittem die Eingangssignale B., d. · und S. zugeführt werden, undj JfP -wP
daß die Ausgänge der UND-Glieder an ein ODER-Glied (64) angeschlossen sind, an dessem Ausgang das korrigierte Bitd. '' erscheint.
JPDocket PO 969 038
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 true DE2106314A1 (de) | 1971-08-19 |
DE2106314B2 DE2106314B2 (de) | 1978-03-16 |
DE2106314C3 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2532149A1 (de) * | 1974-08-19 | 1976-03-04 | Ibm | Fehlerkorrekturanordnung |
EP0458468A1 (de) * | 1990-05-09 | 1991-11-27 | Quantum Corporation | Mehrfachpegel-Fehlerkorrektursystem |
Families Citing this family (25)
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 |
US3868632A (en) * | 1972-11-15 | 1975-02-25 | Ibm | Plural channel error correcting apparatus and methods |
USRE30187E (en) * | 1972-11-15 | 1980-01-08 | International Business Machines Corporation | Plural channel error correcting apparatus and methods |
US3851306A (en) * | 1972-11-24 | 1974-11-26 | Ibm | Triple track error correction |
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 |
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 |
US5140595A (en) * | 1987-09-21 | 1992-08-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US4979173A (en) * | 1987-09-21 | 1990-12-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
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 | エルアールディシー システムズ、エルエルシー | ソースデータセットの完全性を識別及び保護する方法 |
KR101943048B1 (ko) | 2014-07-21 | 2019-01-28 | 칸도우 랩스 에스에이 | 다분기 데이터 전송 |
EP4216444A1 (de) * | 2017-04-14 | 2023-07-26 | Kandou Labs, S.A. | Pipeline-vorwärtsfehlerkorrektur für vektorsignalisierungscodekanal |
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
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2532149A1 (de) * | 1974-08-19 | 1976-03-04 | Ibm | Fehlerkorrekturanordnung |
EP0458468A1 (de) * | 1990-05-09 | 1991-11-27 | Quantum Corporation | Mehrfachpegel-Fehlerkorrektursystem |
Also Published As
Publication number | Publication date |
---|---|
GB1279793A (en) | 1972-06-28 |
NL7101866A (de) | 1971-08-16 |
JPS5240545B1 (de) | 1977-10-13 |
DE2106314C3 (de) | 1978-10-26 |
DE2106314B2 (de) | 1978-03-16 |
CA932466A (en) | 1973-08-21 |
US3629824A (en) | 1971-12-21 |
NL174418C (nl) | 1984-06-01 |
NL174418B (nl) | 1984-01-02 |
FR2080403A5 (de) | 1971-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2106314A1 (de) | Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden Datenblocks | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
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 | |
DE2132565C3 (de) | Umsetzer | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE2260850A1 (de) | Fehlerkorrektursystem | |
DE2159108A1 (de) | Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen | |
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 | |
DE2217935C3 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht | |
DE2659031A1 (de) | Fehlerkorrektur- und -steuersystem | |
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) | |
DE2260846A1 (de) | Fehlerkorrektursystem | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
DE4117726C2 (de) | Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung | |
DE1774225A1 (de) | Fehlerkorrekturschaltung | |
DE1259124B (de) | Anordnung zur Fehlerkorrektur und -anzeige | |
DE102019113970B4 (de) | Erkennung von adressfehlern | |
DE1524891C3 (de) | Schaltungsanordnung zur Korrektur von Fehlerbündeln | |
DE102022111624B4 (de) | Fehlerkorrektur mit schneller Syndromberechnung | |
EP0003232A1 (de) | Schaltungsanordung zum Umwandeln von Binärinformationen mittels Kontrollbits | |
DE1937259A1 (de) | Selbstpruefende Fehlererkennungsschaltung | |
DE1944963A1 (de) | Stoerungsgesichertes UEbertragungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |