DE2217935B2 - Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht - Google Patents

Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht

Info

Publication number
DE2217935B2
DE2217935B2 DE2217935A DE2217935A DE2217935B2 DE 2217935 B2 DE2217935 B2 DE 2217935B2 DE 2217935 A DE2217935 A DE 2217935A DE 2217935 A DE2217935 A DE 2217935A DE 2217935 B2 DE2217935 B2 DE 2217935B2
Authority
DE
Germany
Prior art keywords
syndrome
error
binary
arrangement according
errors
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
Application number
DE2217935A
Other languages
English (en)
Other versions
DE2217935C3 (de
DE2217935A1 (de
Inventor
Se J. Poughkeepsie Hong
Arvind M. Wappinger Falls Patel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2217935A1 publication Critical patent/DE2217935A1/de
Publication of DE2217935B2 publication Critical patent/DE2217935B2/de
Application granted granted Critical
Publication of DE2217935C3 publication Critical patent/DE2217935C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die Erfindung bezieht sich auf eine Anordnung und ein Verfahren gemäß Oberbegriff des Patentanspruchs 1 bzw. 13.
Die Erfindung befaßt sich mit der Korrektur eines Fehlerpaares, welches in Zeichen eines zyklischen Codes auftritt, der zu den BCH-Codes (Bose-Chaudhuri) gehört. Diese Binärcodes sind bekannt für ihr Minimum an Redundanz und für ihre zyklische Struktur. Die Erfindung soll insbesondere in Systemen Anwendung finden, wo die zu übertragende Information unter Verwendung einer bestimmten Form der H-Matrix kodiert ist Die Η-Matrix oder Paritätsprüfmatrix besitzt die genannten zyklischen Eigenschaften in zwei Anteilen in folgender Weise:
H =
1)11)2....
Steuerschaltungen oder Zählschaltungen erforderlich wären.
Eine Vorrichtung und ein Verfahren zur Lösung dieser Aufgabe ist im Patentanspruch 1 bzw. 13 angegeben.
Bei der Erfindung wird eine zwei Fehler korrigierende BCH-Verschlüsselung mit der folgenden Paritätsprüfmatrix gewählt:
Dabei ist die Länge = π eines Codezeichens gegeben durch 2m-', und χ ist ein primitives Element von GF(2m) und v/ird durch einen binären Spaltenvektor dargestellt. Die Matrix wird in zwei Submatrizen unterteilt, von denen eine weitere besondere Matrix abgeleitet wird, mit deren Hilfe die Prüfbiterzeugungsschahung konstruiert wird, welche die Prüfbits erzeugt. Die tatsächlich übertragene Nachricht besteht aus dem Prüfbitvektor und dem Informationsbitvektor.
Bei einem Zeichen der Länge π gibt es i—±— verschiedene mögliche Verteilungen eines oder zweier Fehler. Für jeden brauchbaren Wert von η ist daher ein gewaltiger Schaltungsaufwand erforderlich, um die Fchlersyndrome festzustellen und sin den entsprechenden Fehlerverteilungen zuzuordnen.
Die US-PS 36 71 947 offenbart eine Einrichtung zur Durchführung dieses Verfahrens unter Verwendung eines Schieberegisters und unter Verwendung der zyklischen Eigenschaften des Codes, wodurch eine Ersparnis an Schaltungsaufwand erreicht wird. Erforderlich ist dabei jedoch zur Erkennung eines der Fehler eine Folge von π Verschiebeschritten. In der Veröffentlichung von R. B. Banerji »A Decoding Procedure for Double Error Correcting Bose-Ray-Chaudhuri Codes«, Proceedings of the IRE, Seite 1585, Band 49, Nr. 10, 1961, wird eine Kodier- und Dekodiereinrichtung offenbart, bei welcher ein Verschieberegister und die oben erwähnte Form der Η-Matrix benutzt werden. Dabei kommt eine algebraische Umformung zur Anwendung, die mehrere algebraische Manipulationen im Galois-Feld erfordert. Die schaltungsmäßige Ausführung dieser algebraischen Manipulationen erfordert entweder viele Schieberegisteroperationen oder viele Tabellensuchoper a !ionen.
Die Aufgabe der Erfindung ist es daher, eine schnelle Korrektur eines in eiivem Binärwort vorhandenen Doppelfehlers zu ermöglichen, ohne daß hierzu H =
1)'
3)'
Dabei ist die Länge π des Codezeichens gegeben durch 2m— 1 und α ist ein primitives Element von GF(2n), welches durch einen binären Spaltenvektor dargestellt wird. Die Dekodierung dieses Codes erfordert die Herstellung einer ein-eindeutigen Bezie-
hung zwischen den —~~- verschied ,ien Fehlervertei-
iungen und den entsprechenden Syi.Jromen. Dies erfolgt mit Hilfe einer Technik des sogenannten Syndromeinfangens (Syndrome trapping), bei dem die —Y^- verschiedenen Syndrome in ^— bestimmte Syndrome durch eine arithmetische Operation folgendermaßen umgesetzt werden.
Das Syndrom für Fehler in den Binärstellen /und y ist gegeben durch:
S =
Dieses Syndrom wird umgesetzt in
C-' i <·
s;
s, = χ' CF) χ'
χ1' (+) χ1'
= X1"
χ"
,■'!·■ Γ
, +Χ
η + 1
Es gibt nur — j—verschiedene Werte von j", um alle
■f. Möglichkeiten eines einzelnen oder doppelten Feillers zu erfassen. Die in dem resultierenden S' enthaltene Information über die Fehlerpositionen wird dann in Fehlerorte ; und j umgesetzt. Die tatsächlichen Dekodierschritte können folgendermaßen beschrieben
mi werden:
Schritt 1
Eriv ittle aus der empfangenen Information das Syndrom Sin der Form
Si
Schritt 2
Ermittle ρ und q.
Schritt 3
Kodierep,(-3p)und qals /n-stellige Binärzahlen.
Schritt 4
Ermittle* = q + (-3/>Jl
Schritt 5
Ermittle aus der Tabelle /'und j'nach Maßgabe von k.
Schritt 6
Ermittle / = ρ + i'undj = ρ + j'.
Schritt 7
Dekodiere /undyin Hinweise auf die Fehlerorte.
Bei Anwendung der vorliegenden Erfindung lassen sich ohne besonderen Schaltungsaufwand in Binärwörtern Doppelfehler nicht nur erkennen, sondern auch korrigieren. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Ein Ausführungsbeispiel der Erfindung wird nachstehend im Zusammenhang mit den Zeichnungen näher beschrieben. In den Zeichnungen zeigt
Fig. 1 ein Blockdiagramm, welches die verschiedenen bei der Erfindung zur Anwendung kommenden Schaltungsteile und die von diesen durchgeführten Funktionen veranschaulicht,
Fig. 2 ein logisches Diagramm des in Fig. I gezeigten Kodierers bzw. eines Teils des Syndromgenerators,
F i g. 3 ein schematisches Diagramm, welches den anderen Teil des Syndromgenerators von F i g. I zeigt,
Fig. 4A ein schematisches logisches Diagramm, welches einen Teil des Syndromdekodierers und des Binärkodierers zur Erzeugung der Werte ρ und -3p zeigt,
F i g. 4B ein schematisches logisches Diagramm eines weiteren Teils des Syndromdekodierers und des Binärkodierers zur Erzeugung des Wertes q,
F i g. 4C ein schematisches logisches Diagramm einer Schaltung, mit der im Zusammenhang mit den Schaltungen von Fig. 4A und 4B die Korrektur eines einzelnen Fehlers erreicht wird,
Fig. 5 ein schematisches logisches Diagramm eines Addierers mit Übertrag zur letzten Stelle zur Erzeugung des Wertes k.
Fig. 6 ein schematisches logisches Diagramm des Tabellengenerators von Fig. 1,
F i g. 7 ein Blockdiagramm eines Paares von Addierern zur Erzeugung der Werte /und/ und
F i g. 8 ein schematisches Blockdiagramm, welches die Dekodierung der Werte / und j in Hinweise auf Fehlerorte zeigt.
Im folgenden wird zunächst die der Erfindung zugrundeliegende Theorie erläutert. Die binäre Information wird vor der Übertragung zunächst in ein Codewort verschlüsselt, in dem eine vorbestimmte Anzahl von Prüfbits hinzugefügt wird, wobei diese Prüfbits nach Maßgabe der von der Paritätsprüfmatrix beschriebenen Paritätsprüfregeln berechnet werden. Die Paritätsprüfmatrix weist zyklische Eigenschaften in zwei Teilen folgendermaßen auf:
H =
χ3 λ6 (ν*)13)
Dabei ist α ein primitives Element des Galois-Feldes GF(2m) und das Feldelement α' wird durch einen binären Spaltenvektor der Länge m dargestellt, und es gilt/? = 2m-\.
Die ersten r = 2/n-Stellen des Codewortes werden für die Prüfbits reserviert, und die Matrix wird dementsprechend in Untermatrizen P und A unterteilt, wobei Pdie ersten 2mSpalten und A die übrigen η-2m Spalten enthält. Wenn / den Spaltenvektor, bestehend aus η-2m Informationsbitstellen und C den Spaltenvektor, bestehend aus den entsprechenden 2m Prüfbit stellen darstellen, so erhält man die folgende Paritätsprüfgleichung:
P C (+) AJ = 0 .
Das SymboKt) bezeichnet die Modulo-2-Summe der Binärvektoren. Es kann gezeigt werden, daß die Matrix Pinvertierbar ist. Nimmt man P ' aus Gleichung (2), so erhält man die folgende Gleichung für die Prüfbiterzeugung:
C = I)J Ol
Das zu übermittelnde Codewort W kann einfach durch Verknüpfung der Vektoren Cund /in folgender Weise gebildet werden-
Beim Empfänger kann die empfangene Nachricht, die durch IVbezeichnet wird. Fehler enthalten. Um den Ort der Fehler zu bestimmen, wird das Syndrom bestimmt. Um dieses Syndrom zu erzeugen, bezeichnet C die empfangene Prüfbitfolge und / die empfangene Informationsbitfolge. Das Syndrom 5 ist dann gegeben durch:
S = PC© AJ = I}{C +j P-1AJ)= P(C\t>B./)= PS
wobei
S' = Ci1+, BJ .
Die Konstruktion der verwendeten Paritätsprüfschaltung wird von der Paritätsprüfmatrix H'= [I.B] abgeleitet, wobei / eine (2m χ 2/n^ldentitätsmatrix ist, wobei noch eine Schaltung hinzukommt, entsprechend den Ergebnissen der Multiplizierung mit der Matrix P zwecks Transformierung des Syndroms S'in S.
Wenn der Syndromvektor S und damit auch 5' Null ist ist die empfangene Nachricht ein den Regeln gehorchendes. Codewort, und es wird daher angenommen, daß es fehlerfrei ist Ein nicht verschwindendes Syndrom wird zwecks Fehlerkorrektur weiterverarbeitet. Das Syndrom S, welches einer empfangenen Nachrichtenfolge zugeordnet ist, ist ein binärer Vektor der Länge 2m. Daher kann jedes Syndrom S unter der Verwendung der Elemente des GF(2m) in der folgenden Weise identifiziert werden:
S =
Dabei sind β und γ Elemente des GF{2m). Wenn ß — 1 — Ψ gfi1· wobei φ das Null-Element des Feldes
bezeichnet, ist die empfangene Nachricht ein Codewort, und es wird angenommen, daß es fehlerfrei ist. Man kann sehen, drß β = φ und γ Φ φ nur dann auftritt, wenn mehr als zwei Fehler vorhanden sind. Nimmt man
an, daß ein Fehler in jeder der Bitpositionen /und j(i, j = \,2,3,...n)aufgetreten ist, so wird das Syndrom 5 durch die Modulo-2-Summe der entsprechenden Spalten der Paritätsprüfmatrix erhalten, d. h.:
■V, =
(8)
Χ, ■ ν" .t> χ1 - :■
>' wenn 3/ =>t 3/ (mod n) ί wenn M - 3/ (mod μI
(9)
Diis Syndrom .S" ist gegeben durch:
H=
>* lfl wenn 3/ * 3/ (mod n) 'Λ wenn 3/ = 3/ (mod ;i)
Uli
Unter der Annahme von zwei Fehlern entspricht das Syndrom S = [ | den Fehlern in den Bitpositionen /
und j. wenn und nur wenn das Syndrom 5' =| '"|, was Fehlern in den Positionen /' und j' entspricht, wobei /' = (i-p) mod π und j' = (j-p) mod η gilt. Daher ist die Anzahl bestimmter Werte von θ für alle
Verteilungen von zwei Fehlern 1" ~ '> . Dies erscheint plausibel, wenn man bedenkt, daß ein zweifacher Fehler in Positionen / und j das Syndrom 5 = f ' I erzeugt,
wobei β und γ durch die Gleichungen (8) und (9) gegeben sind. Jedoch sind Gleichungen (8) und (9) dann und nur dann gültig, wenn
H =
Qd
(12)
(13)
dabei ist /' = (i-p) mod π und / = (j-p) mod η. Die Gleichungen (12) und (13) charakterisieren das Syndrom für einen Fehler in jeder der Positionen /' und j'. Umgekehrt charakterisiert jedes Doppelfehlersyndrom, in dem β = α° ist, η verschiedene Doppelfehlersyndrome mit β = ocp, wobei ρ ε Jl, 2,... π}. Somit gibt es trotz der Eindeutigkeit des Doppelfehlersyndroms
verschiedene Doppelfehlersyndrome und
r^-j—Verschiedene Werte von Θ. Der eigentliche Trick besteht also darin, die Doppelfehlersyndrome Sin eine Unterklasse von Doppelfehlersyndromen S' zu übertragen, bei denen β = α° ist Es ist dabei nicht notwendig, daß β = «° ist; vielmehr kann als Wert für β in dem »eingefangenen« Syndrom jedes »e mit konstantem e gewählt werden. Das wesentliche Merkmal des Syndromübertragungsverfahrens besteht darin, daß das Übertragen der Doppelfehlersyndrome in und der entsprechenden Fehlerpositionen durch Hinzufügung von ganzen Zahlen modulo n durchgeführt werden kann, welche die Binärfolgen als Potenzen der primitiven Elemente charakterisieren. Zum Beispiel
wird der Umsetzungsfaktor θ durch die Operation
k = q + ( — 3p) mod π realisiert, wobei β = <xr, γ = λ1' und θ = α* ist. Der Parameter k wird mit den Fehlerpositionen /' und j' unter Verwendung einer relativ kleinen Tabelle in Beziehung gebracht. Die
in tatsächlichen Fehlerpositionen /undy werden durch die Operation i = (/' + p) mod η und j = (j' + ρ) mod η erhalten.
Es'dürfte deutlich werden, daß 5' = 0 dann und nur dann gilt, wenn S=O ist, was eine Anzeige für das
4-, NichtVorhandensein eines Fehlers ist. Wenn ein Fehler
existiert, wird das Syndrom S=[^] zwecks Korrektur
eines einzelnen oder eines doppelten Fehlers weiterverarbeitet. Es sei darauf hingewiesen, daß einzelne Fehler
->n als Spezialfall eines doppelten Fehlers betrachtet wurden können, wobei / = j mit einem zusätzlichen Wert von θ = <x° gilt. Da jedoch die Wahrscheinlichkeit das Auftretens eines einzelnen Fehlers viel höher ist als die eines doppelten Fehlers, kann es erwünscht sein, einzelne Fehler direkt zu korrigieren. Dies kann auf Grund der Erkenntnis erfolgen, daß für einzelne Fehler γ = β1 gilt Der Fehler befindet sich dann in der Position p, wobei β — «^ist
Für die Doppelfehlerkorrektur werden β und γ durch
bo m-stellige Binärzahlen ρ und q (mod n) dargestellt, wobei β = ccPund γ = «'gilt Wenn β = φ ist, dann sind drei oder mehr Bitpositionen fehlerhaft und daher unkorrigierbar. Wenn γ = φ ist, so wird dies als Spezialfall behandelt mit einem Undefinierten Wert von q (z. B. q = 0). Die Transformation θ ^- = λ* wird dadurch erhalten, daß man m Binäraddierer mit Obertrag auf die letzte Stelle (Rückübertrag) verwen-
det. Die Addieroperation ist dabei k - q + (— 3p) mod η. Der Addiererausgang k wird auf Null gebracht, wenn γ = φ ist, was dem Fall θ = φ entspricht. Man beachte, daß der Addiererausgang k in allen anderen Fällen nicht Null ist; insbesondere ist k = η im Falle eines einzelnen Fehlers, wenn q ■= 3p ist. Eine fest verdrahtete Tabellenschaltung, die sogenannte Jt-Tabel-Ie, formt k in die den entsprechenden Doppelfehler darstellenden /n-stelligen Binärzahlen /'und/um. Die tatsächlichen Fehlerpositionen / und j werden dann unter Verwendung von m Binäraddierern mit Übertrag in die letzte Stelle bestimmt. Alle verwendeten Zahlen sind Restwerte modulo η. Die Vielfachen von η werden dabei jedoch bei Reduzierung modulo η nicht durch die Zahl 0, sondern durch die Zahl η dargestellt. Dies erleichtert die schaltungsmäßigc Durchführung der Restwertbildung modulo π in dem Addieren mit RUckübertrag.
Die Dekodierschritie bei der erfindungsgemaßen Anordnung können folgenderweise zusammenfassend beschrieben werden.
Schritt I
Ermittle das Syndrom S in der vorher beschriebenen Weise.
Schritt 2
Verteile S in S = | £ | und dekodiere S, und S1 in
Feldelemente β bzw. γ. Wenn β = φ ist, handelt es sich um einen unkorrigierbaren Fehler. Wenn γ = ß' ist, liegt ein einzelner Fehler vor.
Schritt 3
Setze ß, ß1 und γ in m-stellige Binärzahlen um, welche p(-3p)mod π und q darstellen, wobei
i'> = \p und ;■ = >'
Schritt 7
Dekodiere die Binärzahlen /und j in Hinweise auf die Fehlerpositionen.
*>
Gemäß F i g. 1 wird die zu versel· -,elnde Nachricht über das Kabel Il von einer Übei.. _:ungseinrichtung oder einem Auswertegerät empfangen wie etwa innerhalb einer Datenverarbeitungseinrichtung. Die aus
in Informationsbits bestehende Nachricht wird mittels des Kabels 15 um den Kodierer 13 herumgeführt. Die Prüfbits werden an der Verbindungsstelle des Kabels 15 mit der Übertragungsleitung 17 hinzugefügt. Dabei werden die Prüfbits zusammen mit den Informationsbits
ι ι übertragen, um das Auftreten und die Stelle von Fehlern sowohl in den Informationsbits als auch in den Prüfbits anzuzeigen. In dem wohlbekannten Hamming-Code (vgl. ζ. B. das amerikanische Reissus Patent Nr. 23 601 »Error-Detecting and Correcting System« von Richard
.Mi W. Hamming) bilden jedes Prüfbit und ausgewählte Informationsbits eine Code-Gruppe, wobei der Wert jedes Prüfbits durch den Wert der Informationsbits in seiner Code-Gruppe bestimmt wird. Daher kann jede während der Übertragung eintretende Änderung
2. entweder eines Informationsbits oder eines Prüfbits am Empfangsort identifiziert werden. Zur Veranschaulichung ist ein (I5,7)-Code gewählt worden. Es sind dabei acht Prüfbits einer aus sieben Informationsbits bestehenden Nachricht hinzuzufügen, so daß eine Gesamtlän-
ID ge η = 15 entsteht. Im allgemeinen sind 2m Prüfbits erforderlich für eine Gesamtlänge von 2"'—1. Man erkennt dabei, daß man bei Zeichen größerer Länge einen besseren Wirkungsgrad erreicht, wenn man die Anzahl der erforlichen Prüfbits im Verhältnis zu der
ii Anzahl der Informationsbits betrachtet. Auch die Ersparnis an Schaltungsaufwand wird mit zunehmender Zeichenlänge verbessert.
Der Kodierer 13 ist nach Maßgabe der folgenden vorgegebenen Matrix ausgebildet:
1)1
Schritt 4
Ermittle k = q + (—3p) mod η. Setze k = 0, wenn γ = φ.
Schritt 5
Ermittle aus der Ar-Tabelle die dem Wert k entsprechenden Werte /'und _/'. /'und /sind /n-stel!ige Binärcahlen. k = η entspricht einem einzelnen Fehler mit /' = j' = n. k — 0 entspricht dem doppelten Fehler
ψ.
Ermittle / =
Schritt 6
/' + ρ mod π; j — j' + ρ mod η.
Der sich unter Verwendung einer Matrix dieser Art ergebende Code ist ein zwei Fehler korrigierender BCH-Code, wobei die Länge π eines Code-Zeichens durch 2m—1 gegeben ist und ex. ein primitives Element von GF(2m) ist, welches durch einen binären Spaltenvektor dargestellt wird. Die tatsächliche binäre Form der Prüfbitmatrix kann unter Verwendung der Feldelemente GF(V) erhalten werden, weiche durch das primitive Polynom \+X+X* für das Beispiel eines (15,7)-Codes erzeugt werden. Die ersten vier Bits der Spalte / (i — 1,2,.., n>J wird dadurch erhalten, daß X' dividiert wird durch das primitive Polynom 1 +X+ X*, um den Restwert zu erhalten. Dabei sind die Koeffizienten des Restes die Einsen und Nullen der Matrix. Die untere Hälfte der Matrix wird in Obereinstimmung mit der untersten Linie der Matrix gebildet, welche die in die dritte Potenz erhobenen Elemente anzeigt Das bedeutet, daß jeder Spaltenvektor in der unteren Hälfte der Matrix dem dritten, sechsten, neunten usw. Spaltenvektor der oberen Hälfte
Il
entspricht. Die Η-Matrix ergibt sich in ihrer binären Form folgendermaßen:
I O O O 1 O O I I O I 0 I 1 1
O I O <) I I O I O 1 I 1 I 0 0
O O I O O 1 I O 1 O I I I I 0
O O O I O O I 1 O 0 I 1 I I
I O O O I I O O O 1 0 0 0 I
O O O I I O O O I 0 0 0 I I
O O I O I O O I O (1 0 1 0 I
O I I I I O 1 1 I 0 I 1 I I
I ■) 4 S f> 7 S 9 IO Il 12 1.1 14 15
(15)
Prüfbiterzeugungsschaltungen werden in der Weise gebildet, dali jedes Informationsbit »I« in der Informationsbitmatrix einen Eingang in e;ne Exklusiv-Oder-Schaltung darstellt und jedes Prüfbit »I« einen Ausgang darstellt. In dem hier geschilderten Beispiel wird der Prüfbitgenerator des Kodierers nicht direkt von der W-Matrix 15 abgeleitet, sondern von einer Matrix B,die folgendermaßen aussieht:
Ii =
I I 0 I 0 0 0
0 I I 0 I 0 0
0 0 I I 0 I 0
0 0 0 I I 0 I
I I 0 I I I 0
0 I I 0 I I I
I I I 0 0 I I
I 0 I 0 0 0 I
9 10 Il 12 1.1 14 15
Die Matrix B wird dadurch erzeugt, daß die Matrix H in einen P- und einen A-Teil geteilt wird, wie in Gleichung (15) gezeigt wird. Der P-Teil hat eine Länge von 8 Bits und stellt den Prüfbitteil, während der restliche Teil, nämlich Teil A. eine Länge von 7 Bits aufweist und die Informationsmatrix darstellt. Aus diesen Submatrizen fund A wird die Matrix B gebildet, und zwar gemäß der Gleichung S= P 1A was von den Gleichungen (2) und (3) in dem vorangehenden theoretischen Beschreibungsteil hergeleitet ist. Die Paritätsbiterzeugungsschaltung wird in F i g. 2 gezeigt und ist nach Maßgabe der Matrix B konstruiert. Es sind dort acht Modulo-2-Addierkreise 20 bis 27 vorgesehen, von denen jeder einer Code-Gruppe (Zeile) in der Matrix B entspricht Die Eingänge in diese Schaltungen werden durch die 1-Bits in der Matrix bestimmt Zum Beispiel werden die Informationsbits J{\\ /(2) und /(4) durch die Spalten 9,10 und 12 in der Matrix B dargestellt und werden als Eingangssignale der Modulo-2-Addierschaltung 20 zugeführt In anderen Worten wird die durch Einsen in den Zeilen der Matrix vertretene Information durch eine Exklusiv-Oder-Beziehung logisch verknüpft, um ein Ausgangssignal zu erzeugen, welches das Prüfbit für diese Code-Gruppe (Zeile) darstellt
Somit sind die für die verschiedenen Code-Gruppen erhaltenen Ausgangssignale die Prüfbits C(I) bis C(S). Die Paritätsprüfschaltung von Fig.2 wurde aus der Matrix B anstatt aus der Matrix H erzeugt, um die
Prüfbits zu erzeugen. Dieselbe Prüfbiterzeugungsschaltung könnte auch zur Erzeugung des Syndroms verwendet werden. Wie man in F i g. 2 sieht, werden dieselben Informationsbits /(I) bis /(7) verwendet, diesmal in unterstrichener Form, was bedeutet, daß sie empfangene Information darstellen. In ähnlicher Weise werden Exklusiv-Oder-Schaltungen 28 bis 35 hinzugefügt, und zwar eine derartige Schaltung an jeden der Ausgänge der Exklusiv-Oder-Schaltungen 20 bis 27. Der andere Eingang zu jeder Exklusiv-Oder-Schaltung 28 bis 35 ist das empfangene Prüfbit C(I) bis C(8). Die Ausgangssignale sind bei Verwendung der Schaltung als Syndromgenerator S'(1) bis S'(8). Dieses Syndrom ist nicht in der gewünschten Form, so daß es notwendig ist, die Syndromtransformationsschaltung von F i g. 3 zu verwenden, um das Syndrom in die gewünschte Form zu bringen. Die kodierte Nachricht, d. h. die Nachricht, deren Informationsbits Prüfbits hinzugefügt wurden, entsprechend der Prüfbitmatrix des Kodierers 13, wird über die Übertragungsleitung 17 übertragen. Die übertragene Nachricht kann Fehler enthalten. In Datenverarbeitungseinricl.iungen. wie etwa in einem Rechner, könnte die Information im Speicher gespeichert werden, so daß die Fehler dorthin überführt würden. Dies macht deutlich, daß die an dem Syndromgenerator 37 empfangene Nachricht η ..τη ihrer Speicherung oder Übertragung sehr wohl Fehler enthalten kann, die lokalisiert und korrigiert werden müssen. In dem Syndromgenerator 37 wird das Syndrom 5'(I) — S'(S) erzeugt, und das tatsächliche Syndrom 5(1) — 5(8) uird erzeugt unter Verwendung der Syndromtransformationsschaltung von Fig. 3, die entsprechend der Matrix P konstruiert ist. Die Eingangssignale zu der Syndromtransformationsschaltung von Fig.3 bestehen aus den Ausgangssignalen S'(\) — S'(8) des vorher beschriebenen Syndromgenerators. Der Vektor S'(l) - 5'(8) wird mit den Modulo-2-Addierern 41 bis 48 in der gezeigten Weise verbunden. Die Eingangsverbindungen sind entsprechend den 1-Bits der Transformationsmatrix Pgebildet. Der am Ausgang sich ergebende Syndromvektor 5(1) — 5(8) enthält eine Information über die Parität der empfangenen Information. Wenn zum Beispiel die Parität der empfangenen Infomation richtig ist, d. h., wenn keine Fehler eingeführt worden sind, enthält der Syndromvektor lauter Nullen und eine weitere Fehler korrektur ist daher nicht erforderlich. Am Ausgang des Syndromgenerators 37 wird der Syndromvektor 5 in zwei kleinere Syndromvektoren Si und Sj verteilt von denen jeder vier Syndrombits enthält Die Syndromvektoren 5i und S3 werden im Svndromdekodierer 38
gemäß Si = β S1 = γ dekodiert Der Syndromdekodierer 38 enthält die in den Fig.4A und 4B gezeigten Und-Schaltungen. Der aus vier Bits bestehende Syndromvektor S1 wird gemäß Fig.4A in 16 UND-Schaltungen 51a—51p eingeführt Das Ausgangssignal jeder UND-Schaltung ist mit et, jeweils erhoben in eine bestimmte Potenz, bezeichnet Die Werte von Si und die entsprechenden Werte von aP werden in der folgenden Tabelle I gezeigt:
Binärfolge oder S, 0 0 Feldelement Binärzahl 0 0 0 Böurzahl 0 0 0
S1 0 /»oder γ ρ oderq
0 0 0 0 ! I 1 {—3 p (mod n) I 1 1
0 0 0 15 0 0 1 η 1 0 0
1 I I I
0 1 0 I 0 0 1 0 I 0 0 I
0 2 1
0 0 I 0 0 I I I 1 0
0 3 I
0 0 0 0 i 0 0 0 i i
I 4 0
! 1 0 0 I 0 1 I 1 I
I 5 0
0 1 I 0 I I 0 I 0 0
0 6 I
0 0 I 0 I I 1 0 0 I
1 7 I
I 1 0 0 0 0 0 1 I 0
0 8 I
I 0 I I 0 0 I 0 I 1
I 9 0
0 I 0 I 0 I 0 1 I I
I IO 0
I I I I 0 I I I 0 0
I Il I
0 ! I I I 0 0 0 0 I
1 12 I
I I I I I 0 I I I 0
0 13 I
1 0 I I I I 0 0 I I
0 14 0
I I
0
In gleicher Weise wird der Syndromveklor Sj unter Verwendung von 16 UND-Schaltungen 52a—52p gemäß Fig.4B nach Gleichung Sj = γ dekodiert Die verschiedenen Eingangssignale S1 und die entsprechenden (χι-Werte werden in Tabelle 1 gezeigt Dabei sind die UND-Schaltungen so angeordnet, daß sie auf die in Tabelle 1 aufeinanderfolgenden Sj-Werte in gleicher Folge ansprechen. Die entsprechenden Ausgangssignale der UND-Schaltungen werden in der Tabelle durch die Werte txi bezeichnet. Die Ausgangssignale der UND-Schaltungen werden dann in binäre Form gebracht, indem geeignete Verbindungen zu den vier ODER-Schaltungen 54—57 hergestellt werden. Das erhaltene Ausgangssignal q ist eine binäre Zahl, welche dem Exponenten von <x entspricht. Zum Beispiel ist der Ausgang der UND-Schaltung 52e, der mit λ1 bezeichnet ist, mit den ODER-Schaltungen 56 und 57 verbunden, wodurch als Ausgangssignal die binäre Zahl 00II, also 3, erzeugt wird. Man sieht dabei, daß die Binärzahl dem zugehörigen Exponenten von <x entspricht. Diese Transformation ist im Rahmen der Erfindung sehr wesentlich, da das Syndrom nun in Form einer binaren Zahl vorliegt, so daß bei den folgenden Operationen in binärer Arithmetik gearbeitet werden kann anstatt in dem Galois-Feld. Dadurch wird die Kompliziertheit der Schaltung beträchtlich herabgesetzt.
Gemäß Fig.4A wird der Parameter ρ in gleicher Weise erzeugt, wobei vier Exklusiv-Oder-Tore 58-61
α-, mit den jeweiligen Ausgängen der UND-Schaltungen verbunden sind, so daß das Ausgangssignal ρ eine Binärzahl ist, welche dem der UND-Schaltung zugeordneten Exponenten von α entspricht Die Binärdarstellungen von ρ und q werden in Tabelle I gezeigt. In dieser
V) Tabelle werden ferner die Binärdarstellungen der Werte
- 3p gezeigt welche in dem Binärdekodierer 62 erzeugt werden. Diese Ausgangssignale -3p werden durch vier Exklusiv-Oder-Schaltungen 64-67 in Fig.4A erzeugt. Die UND-Schaltungen 51a-51p sind mit den vier
π ODER-Schaltungen 64-67 so verbunden, daß der Wert
- 3p entsprechend den in der Tabelle I aufgeführten Binärdarstellungen von -3p erzeugt werden. Zum Beispiel entspricht das Ausgangssignal x\ welches von der UND-Schaltung 51^ ausgeht, in der die Werte -3p
w) zeigenden Spalte der Tabelle dem Binärwert 1111. Der Ausgang der UND-Schaltung 5tg ist mit jeder der vier ODER-Schaltungen 64-67 verbunden, so daß ein aus vier Bits bestehendes Ausgangssignal erzeugt wird, welches den lauter Einsen enthaltenden Binärwort im für - 3p ergibt Man sieht aus F i g. 4A, daß, wenn β ·. φ ist, ein unkorrigierbarer Fehler vorliegt, wie am Ausgang der UN D-Schaltung 51 a angezeigt wird.
Der binäre Dekodierer 62, der aus den ODER-Schal-
tungen der F i g. 4A und 4B besteht und dazu dient, p, —3p und q zu erzeugen, enthält ferner eine Einrichtung zum Korrigieren eines einzelnen Fehlers. Hinweise zur Korrektur eines einzelnen Fehlers werden erhalten, wenn γ = β1 gilt. Für diesen Fall sind UND-Tore 70 —7On mit den jeweiligen Ausgängen der UND-Tore der Fig.4A und 4B verbunden. Zum Beispiel ist das UND-Tor der Fig.4C mit dem Ausgang Xb des UND-Tores 51c verbunden, welches dem Wert α1 zugeordnet ist, wie in Fig.4A gezeigt wird, und der andere Eingang des UND-Tores 70 ist mit dem Ausgang 3a verbunden, der in Fig.4B am Ausgang des UND-Tores 52e gezeigt wird. In der Tat stellen β und Y = ß3 denselben Spaltenvektor in der Matrix //dar und stellen daher einen Fehler lediglich in dieser Binärstelle dar.
Die vier Bits der Binärvektoren q und 3p, die durch den Binärdekodierer 62 erzeugt wurden, werden dem Binäraddierer 72 als Eingangssignale zugeführt, welcher in F i g. 5 gezeigt wird und einen Obertrag auf die letzte Stelle aufweist. Derartige Binäraddierer mit einem Übertrag auf die letzte Stelle sind wohl bekannt; Einzelheiten können der Veröffentlichung Residue Arithmetic And Its Applications to Computer Technology, N. S. Szabo und R. I. Tanaka, McGraw-Hill Book Company, 1967, entnommen werden.
Wenn γ = φ gilt, welches das Null-Element der Feldelemente darstellt, wird in dem Syndromdekodierer
κι 38 ein Ausgangssignal auf der Leitung 74 erzeugt, welches dem Binäraddierer 72 zugeführt wird. Die Leitung 74 enthält eine NICHT-Schaltung 76, welche das Signal in eine Null invertiert, die ein Null-Ausgangssignal an sämtlichen UND-Schaltungen 78-81 zur Folge hat. Die Addition der aus vier Bits bestehenden binären Vektoren q und —3p ergibt einen Wert k, der durch acht Binärzahlen von jeweils vier Stellen dargestellt wird. Die Werte von k werden in der folgenden Tabelle II gezeigt:
Α 0 I 0 10 Γ 0 ( 1 ( ϊ I ΰ 0
Ι I 0 I 5 0 0 0 0 0 0
0 0 0 0 8 0 0 1 I I I 0
I 0 0 η 0 0 1 ( ( 1 0 1 0
0 0 0 I 1 0 1 1 1 0 I
0 I 0 0 4 0 1 1 I 0 0 I
0 0 I 1 3 0 0 I 1 0 0
0 I I 1 15 I I I I I 1
I jeder and ere ungültig I 1
Wen
Der entsprechende Dezimalwert der Binärzahl wird aus Gründen der Übersichtlichkeit in der Tabelle Il neben dem binären λ-Wert angegeben. Es wird deutlich, daß diese binäre Addition zu einer Darstellung des tatsächlichen Syndroms durch eint' kleinere Anzahl von Syndromwerten führt, die durch k dargestellt werden. In anderen Worten weist die 15-stcllige Nachricht
A Kombinationsmöglichkeilen eines zweifachen
Fehlers auf, und dementsprechend ist eine gleiche Anzahl von Svndromwerten erforderlich. Die Tabelle Il
(n-r I) 2
reduziert die Anzahl der Syndromwerte auf
Syndromwcrte durch die beschriebene einfache arithmetische Addition. Die Ausgnngswerte k von dem Binäraddiercr 72 werden einem Tabellengcnerator 82 zugeführt, der den verschiedenen Werten von k entsprechende Werte von /und/erzeugt. Diese Werte /'und/werden ebenfalls in der Tabelle Il angegeben.
Der der Tabelle Il entsprechende Schaltungsaufbau wird in dem Tabellengcnerator 82 der F i g. 6 gezeigt, wo die aus vier Bits bestehenden Werte k jedem von acht UND-Schaltungen 83Λ-83Λ zugeführt werden, deren Eingänge so angeordnet sind, daß eine und nur eine UND-Schaltung auf eines der Eingangssignaie k anspricht. Der Dezimalwert von k ist am Ausgang der jeweiligen UND-Schaltung angedeutet. Die Ausgänge der verschiedenen UND-Schaltungen 83a -Mt/verbunden, die so geschaltet sind, daß ihre vier Ausgangsbits dem Wert /' entsprechen. Ferner sind mit den UND-Schaltungen 83a-83A ODER-Schaltungen 85a -Kd verbunden, um ein aus vier Bits bestehendes Ausgangssignal / entsprechend den empfangenen Eingangssignalen zu erzeugen. Zum Beispiel ist die UND-Schaltung 836, die an ihrem Ausgang mit der Dezimalzahl 5 bezeichnet ist, mit der ODER-Schaltung 84c verbunden, so daß sich für /' ein Ausgangssignal 0010 ergibt, wie das in der Tabelle für * = 5 gezeigt wird.
In ähnlicher Weise führt eine Verbindung von der UND-Schaltung 836 zu der ODER-Schaltung 85a in der zweiten Gruppe von ODER-Schaltungen 85a-85d deren Ausgänge den Wert / repräsentieren. Als Ausgangssignal für / wird sich in Hiesem Fall 1000 ergeben, entsprechend k - 5. Ein ODER-Tor 86 mit vier Eingängen ist mit je einem Eingang mit jedem der vier ODER-Tore in F i g. 6 verbunden, so daß an diesem ODER-Tor ein Ausgangssignai 1 auftritt, wenn eines der vier ODER-Tore eine Eins am Ausgang führt. Wenn jedoch keines der ODER-Tore 85a -%5d ein Ausgangssignal erzeugt, wird das ODER-Tor 86 kein Ausgangssignal abgeben, was anzeigt, daß ein ungültiger λ-Wert angetroffen wurde, d. h. /' = / = 0. Die von dem Tabellengenerator 82 erzeugten Werte /'und /werden getrennten Binäraddierern 87 bzw. 88 zugeführt. Der andere Eingang zu den Binäraddierern 87 und 88 ist der von dem Binärkodierer 62 erzeugte Wert p, wie Fig. 1 zeigt. Die jeweiligen Addierer 87,88 führen die Addition ρ + /' und ρ + / durch, wodurch sich / bzw. j ergibt, i und j sind binäre Zahlen, deren Werte den Ort der fehlerhaften Bitpositionen / und j in der empfangenen Nachricht bestimmen. Die Addierer 87, 88 werden in Fig. 7 schematisch gezeigt und sind wieder Addierer mit Übertrag in die letzte Stelle, deren Einzelheiten in
der oben angegebenen Literaturstelle gefunden werden können. Die Werte /und./werden einem Binärzahldekodierer 89 zugeführt, wo sie in Hinweis auf die Fehlerposition dekodiert werden.
Der Binärzahldekodierer wird in F i g. 8 gezeigt Das aus vier Bits bestehende binäre Eingangssignal / wird jedem der 15 UND-Tore 90-9On zugeführt, deren Eingänge in solcher Weise mit NICHT-Schaltungen verschlüsselt sind, daß jede UND-Schaltung ein Ausgangssignal abgibt, wenn der Binärwert von / der Verschlüsselung der betreffenden UND-Schaltung entspricht Zum Beispiel erfordert der Binärwert / = 0001 NICHT-Schaltungen auf dem ersten, zweiten und dritten Eingang gemäß der UND-Schaltung 90a, so daß beim Auftreten dieses binären Eingangssignals nur die UND-Schaltung 90a ein Ausgangssignal abgibt In ähnlicher Weise wird das aus vier Bits bestehende Signal j jedem einer Vielzahl von UND-Schaltungen
91 -91 η zugeführt. Die Eingänge zu diesen UND-Schaltungen sind eb€afalls durch geeignete Verwendung von NICHT-Schaitungen so verschlüsselt daß ein Ausgangssignal an einer dieser UND-Schaltungen auftritt, wenn der Wert von j der Verschlüsselung der betreffenden UND-Schaltung entspricht Die Ausgangssignale der UND-Schaltungen, z. B. 90a und 91a, in den / und j zugeordneten Gruppen von UND-Schaltungen werden durch die ODER-Schaltungen 92-92n so miteinander verknüpft daß ein Ausgangssignal von der einen oder der anderen UND-Schaltung durchgelassen wird. Die Ausgangssignale der ODER-Schaltungen
92 -92/j bilden diher Hinweise 93 -93n auf den Ort der /- und ./-Fehler in dem empfangenen Wort. Diese Hinweise 93-93« werden zu einem Register 94 geführt, welches das empfangene Wort enthält, um zu veranlassen, daß die entsprechende Registerposition das Bit an der bezeichneten Stelle umkehrt.
Die verschiedenen durch die oben beschriebenen Schaltungen durchgeführten Schritte werden im folgenden wiederholt.
Schritt I
Bilde das Syndrom S aus der empfangenen Nachricht W.
Schritt 2
Teile das Syndrom in zwei getrennte Syndrome S\ und Si und setzte sie β und γ folgenderweise gleich:
.V =
i.V.,
Schritt 3
Kodiere p, (-Ip) und q als aus m-Bits bestehende Binärzahlcn, wobei in dem gegebenen Beispiel η = 4 gilt.
Schritt 4
Ermittle Ic= q + (-3p),
Schritt 5
Ermittle aus Tabelle II /'und/nach Maßgabe von k.
Schritt 6
Ermittle / = ρ + /'undj = ρ + /.
Schritt 7
Setze /und /in Fehlerhinweise um.
Es dürfte deutlich geworden sein, daß die oben beschriebenen Vorgänge keine Steuerschaltungen oder Zähler benötigen. Sämtliche Operationen werden durch logische Verknüpfungsschaltungen, welche nacheinander von den Signalen durchlaufen werden, durchgeführt wobei sich eine beträchtliche Ersparnis an Schaltungsaufwand ergibt Aus den Schritten 2 und 3 wird deutlich, daß das Syndrom mit Hilfe von zwei Binärzahlen ρ und q identifiziert wird. Schritt 4 beinhaltet das Eintragen von k in die Tabelle von Schritt 5 mit Hilfe eines Binäraddierers. Dabei wird deutlich, daß die Tabelle
—2—Einträge enthält, welche dem Syndrom entsprechen, anstelle der sonst üblicherweise zur Identifizie- «i j„ o. ι u._=.: (n2 + ")
rung des Syndrorws benötigten
Einträge. Das
tatsächlich vorliegende Fehlermuster wird in Schritt 6 bestimmt, wozu eine Addieroperation durchgeführt wird, als deren Eingangswerte die aus der Tabelle gewonnenen Zahlwerte und der Parameter ρ dienen. Im Schritt 7 wird die tatsächliche Fehlerposition dekodiert. Diese ermöglicht es, die tatsächliche Datenpositionen zwecks geometrischer Lokalisierung und algebraischer Verarbeitung unabhängig ;:ii nuviieneren, da der Fehlerhinweis die geometrische Position unabhängig von seiner algebraischen Bedeutung angibt. Diese zusätzliche Flexibilität gestattet die Verwendung einer verschiedenen Paritätsprüfmatrix zum Kodieren.
Es sei darauf hingewiesen, daß die beschriebene Zwei-Fehler-Korrektur bei längeren Worten verwendbar ist, wobei daselbe BCH-Kodierschema verwendet wird, wie es durch die Paritätsprüfmatrix (15) beschrieben wird. Es sei ferner darauf hingewiesen, daß ein Wort kürzerer Länge verwendet werden kann, indem man einfach eine bestimmie Anzahl von Stellen an irgendwelchen Positionen der Gesamtwortlänge entfernt. Im Falle solcher verkürzter Code-Worte kann ein in den entfernten Stellen entdeckter Fehler zur Entdeckung von mehrfachen Fehlern verwendet werden.

Claims (13)

  1. Patentansprüche:
    L Anordnung zum Korrigieren von Doppelfehlern in einer Nachricht, die zur Übertragung entsprechend der folgenden Matrix kodiert wurde:
    2
    wobei die Zeichenlänge η gegeben ist durch 2ra— 1 und öl ein primitives Element von GF(2m), welches durch einen binären Spaltenvektor dargestellt wird, dadurch gekennzeichnet, daß die Dekodiereinrichtung für die kodierte empfangene Nachricht einen Syndromgenerator, welcher ein Syndrom, welches Fehler in den Stellen / und j der empfangenen Nachricht bezeichnet, in folgender Weise erzeugt:
    S1 χ' Θ χ· = χρ S = Si xS θ χ"
    S =
    © ν"
    Umsetzcrmiliel zum Umseuen des Syndroms Sin ein Basissyndrom S'der folgenden Form:
    und weitere Umsetzermittel zum Umsetzen der in dem Basissyndrom 5'enthaltenen Fehlerinformation in Fehlerorte / und j, an denen die Fehler korrigiert werden, enthält.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Syndromgenerator einen Syndromdekodierer aufweist, welcher das Syndrom in zwei Teilen S\ und Si in Feldelemente β bzw. γ umsetzt
  3. 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Umsetzermittel zum Umsetzen des Syndroms 5 in das Basissyndrom 5' binäre Kodiereinrichlungen enthalten, welche die Feldelemente /found γ in m-slellige Binärzahlen umsetzen,
    welche ρ bzw. (- 3p) mod η bzw. q darstellen, wobei β = «'•undy = «■'gilt.
  4. 4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Umselzmittel zum Umsetzen des Syndroms S in ein Basissyndrom S' ferner einen ersten Binäraddierer zur Erzeugung eines Wertes k nach der Gleichung
    * = q + (- 3p) mod π
    aufweisen.
  5. 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Umsetzmittel zum Umsetzen des Syndroms 5 in ein Basissyndrom S' ferner einen Tabellengenerator enthalten, welcher für die verschiedenen von dem ersten Binaraddierer erzeugten /r-Werte jeweils vorbestimmte Werte /' und j' erzeugt
  6. 6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, da3 die weiteren Umsetzmittel zum Umsetzen der in dem Basissyndrom S' enthaltenen Fehlerinformation in Fehlerorte / und j einen zweiten und dritten Binäraddierer enthalten, um die Additionen
    / = /' + ρ mod η j = j' + ρ mod π
    durchzuführen.
  7. 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die weiteren Umsetzmittel zum Umsetzen der in dem Basissyndrom 5' enthaltenen Fehlerinformation in Fehlerorte und / und j einen Binärzahldekodierer enthalten, welcher die Binärzahlen /und./in Hinweise auf die Orte der Fehler in der Nachricht umdekodiert
  8. 8. Anordnung nach Anspruch 2, dadurch gekennzeichnet daß der genannte Syndromdekodierer eine Erkennungsschaitung zur Erkennung eines unkorrigierbaren Fehlers gemäß β = φ aufweist
  9. 9. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der Syndromdekodierer eine Erkennungsschaltung zur Erkennung eines einzelnen Fehlers aufweist die beiy = ß1 in Tätigkeit tritt
  10. 10. Anordnung nach Anspruch 4, dadurch gekennzeichnet daß am Ausgang des ersten Binäraddierers der Wert Null auftritt, wenn γ — φ gilt
  11. 11. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Tabellengenerator weitere Einrichtungen zur Erkennung eines unkorrigierbaren Fehlers aufweist, die bei /' = j' = 0 ansprechen und damit einen ungültigen Ar-Wert, d. h. einen unkorrigierbaren Fehler anzeigen.
  12. 12. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß der Binärzahldekodierer eine Erkennungsschaltung zur Erkei.,iung eines ungültigen /oder j aufweist, welche daraufhin eine Anzeige für einen unkorrigierbaren Fehler liefert.
  13. 13. Verfahren zur Korrektur eines Doppelfehlers in einer Nachricht, die für die Zwecke der Übertragung eine Kodierung entsprechend der folgenden Matrix aufweist:
    wobei die Zcichenlängc η gegeben ist durch 2"'- 1 und λ ein primitives Element von GF(2W) ist und durch einen binären Spaltcnvcktor dargestellt ist, dadurch gekennzeichnet, daß ein Syndrom 5aus der kodierten Nachricht erzeugt wird, daß das Syndrom in zwei Teile S\ und Si aufgespalten wird gemäß
    S =
    wodurch β und y erzeugt werden,
    daß p, (-3p) und q als m-stellige Binärzahlen erzeugt werden,
    daß der Addierschritt q + (-3p,/durchgeführt wird, um Ar zu erhalten,
    daß aus k /'und j'erzeugt werden,
    «ι λ"
    daß die Addierschritte ρ + /' und ρ + j' durchgeführt werden, um /bzw. ρ zu erhalten,
    daß / und j in Fehlerhinweise, welche die Fehler lokalisieren, umgesetzt werden, und daß dip Bits in den durch die Fehlerhinweise lokalisierten Fehlerpositionen korrigiert werden.
DE2217935A 1971-06-01 1972-04-13 Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht Expired DE2217935C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14877371A 1971-06-01 1971-06-01

Publications (3)

Publication Number Publication Date
DE2217935A1 DE2217935A1 (de) 1972-12-14
DE2217935B2 true DE2217935B2 (de) 1980-02-07
DE2217935C3 DE2217935C3 (de) 1980-09-25

Family

ID=22527311

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2217935A Expired DE2217935C3 (de) 1971-06-01 1972-04-13 Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht

Country Status (7)

Country Link
US (1) US3714629A (de)
JP (1) JPS5223708B1 (de)
CA (1) CA954222A (de)
DE (1) DE2217935C3 (de)
FR (1) FR2187160A5 (de)
GB (1) GB1346267A (de)
IT (1) IT953790B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
JPS5825294B2 (ja) * 1975-12-18 1983-05-26 富士通株式会社 3ジヨウカイロオシヨウシタエラ−テイセイカイロ
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
US4117458A (en) * 1977-03-04 1978-09-26 Grumman Aerospace Corporation High speed double error correction plus triple error detection system
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
US4413339A (en) * 1981-06-24 1983-11-01 Digital Equipment Corporation Multiple error detecting and correcting system employing Reed-Solomon codes
US4556977A (en) * 1983-09-15 1985-12-03 International Business Machines Corporation Decoding of BCH double error correction - triple error detection (DEC-TED) codes
US4719628A (en) * 1983-12-20 1988-01-12 Sony Corporation Method and apparatus for decoding error correction code
US4589112A (en) * 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
JPS62233932A (ja) * 1986-04-03 1987-10-14 Kenwood Corp Bch符号の復号回路
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
US4835513A (en) * 1988-04-22 1989-05-30 Trw Inc. Method and apparatus for testing an airbag restraint system
US5533035A (en) * 1993-06-16 1996-07-02 Hal Computer Systems, Inc. Error detection and correction method and apparatus
US8539321B2 (en) 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence
US9450613B2 (en) 2010-11-10 2016-09-20 Infineon Technologies Ag Apparatus and method for error correction and error detection

Also Published As

Publication number Publication date
CA954222A (en) 1974-09-03
US3714629A (en) 1973-01-30
IT953790B (it) 1973-08-10
DE2217935C3 (de) 1980-09-25
GB1346267A (en) 1974-02-06
JPS5223708B1 (de) 1977-06-25
FR2187160A5 (de) 1974-01-11
DE2217935A1 (de) 1972-12-14

Similar Documents

Publication Publication Date Title
DE2217935C3 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2657826A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage
DE2262070A1 (de) Mit schieberegistern arbeitendes fehlerkorrektursystem
DE102011085602B4 (de) Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz
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
DE102005028221B4 (de) Vorrichtung und Verfahren zum Schutz der Integrität von Daten
DE2357004B2 (de) Verfahren und Einrichtung zur Fehlerkorrektur für Daten
DE10133595A1 (de) Pufferschaltung, Speicherzugriffsverfahren, Speicherbauelement und Reed-Solomon-Decoder
DE2106314B2 (de) Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks
DE102012208711B4 (de) Vorrichtung zum Erzeugen einer Prüfsumme
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
DE102005022107B4 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
DE2704627B2 (de) Anordnung zur Fehlerkorrektur von binärer Information
DE102014215252B9 (de) Wirksame fehlerkorrektur von mehrbitfehlern
DE2260846A1 (de) Fehlerkorrektursystem
DE3404417A1 (de) Codierer-pruefschaltungsanordnung
DE2324538A1 (de) Digitale nachrichtenuebertragungsanordnung
DE2053836B2 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
EP0159403A2 (de) Anordnung zur Korrektur von Bündelfehlern in verkürzten zyklischen Blockcodes
DE102013219088B9 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
DE1290565B (de) Verfahren zur empfaengerseitigen Korrektur dualkodierter Nachrichten
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
DE3104762A1 (de) System zur binaeren datenuebertragung

Legal Events

Date Code Title Description
OD Request for examination
C3 Grant after two publication steps (3rd publication)
8328 Change in the person/name/address of the agent

Free format text: KADOR, U., DIPL.-CHEM. DR.RER.NAT. KLUNKER, H., DIPL.-ING. DR.RER.NAT. SCHMITT-NILSON, G., DIPL.-ING. DR.-ING. HIRSCH, P., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee