DE2217935A1 - Anordnung und Verfahren zur Korrektur von Doppelfehlern - Google Patents
Anordnung und Verfahren zur Korrektur von DoppelfehlernInfo
- Publication number
- DE2217935A1 DE2217935A1 DE19722217935 DE2217935A DE2217935A1 DE 2217935 A1 DE2217935 A1 DE 2217935A1 DE 19722217935 DE19722217935 DE 19722217935 DE 2217935 A DE2217935 A DE 2217935A DE 2217935 A1 DE2217935 A1 DE 2217935A1
- Authority
- DE
- Germany
- Prior art keywords
- syndrome
- binary
- error
- arrangement according
- converting
- 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
- 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
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
Dr. phil. G. B. HAGEN
Patentanwalt
8000 MÜNCHEN 71 (SoIIn) 2217935
Franz-Hals-Straße 21
Telefon 796213 München, den 21. März 1972
Dr. Η./Κ./fr
ID 3024
International Business
Machines Corporation
Armonk, N.Y. 10504, V.St.A.
Machines Corporation
Armonk, N.Y. 10504, V.St.A.
Anordnung und Verfahren zur Korrektur von Doppelfehlern
Priorität; 1. Juni 1971; V.St.A.;
Nr. 148 773
Die Erfindung bezieht sich auf eine Anordnung und ein Verfahren
zum Korrigieren eines Doppelfehlers, welcher sich in einem
Wort einer übertragenen Nachricht befindet. Dabei werden mittels einer Dekodiereinrichtung Syndrome durch Binärzahlen dargestellt,
deren weitere Verarbeitung mittels binären arithmetischen Operationen durchgeführt wird.
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 Η-Matrix kodiert ist. Die H-Matrix oder
Paritätsprüfmatrix besitzt die genannten zyklischen Eigenschaften
in zwei Anteilen in folgender Weise:
2 0 9851/1012
Bayerische Vereinsbank München 820993 Postscheck 54782
ID 3024 - 2 -
H =
Dabei ist die Länge = η eines Codezeichens gegeben durch
2m~ , und C* ist ein primitives Element von GF(2m)
und wird 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üfbiterzeugungsschaltung konstruiert
wird, welche die Prüfbits erzeugt. Die tatsächlich übertragene Nachricht besteht aus dem Prüfbitvektor und dem
Inf ormati onsbi tvektor.
Bei einem Zeichen der Länge η gibt es(n +n) verechiedene
mögliche Verteilungen eines oder zweier Fehler. Für jeden brauchbaren Wert von η ist daher ein gewaltiger
Schaltung s a uf wand erforderlich, um die Fehler syndrome
festzustellen und oie den entsprechenden Fehlerverteilungen zuzuordnen. Die am 28. September 1970 eingereichte
U.S.-Anmeldung mit dem Aktenzeichen Nr. Ο75 823 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 n-Verschiebeschritten. In der Veröffentlichung von
R. B. Benerji "A Decoding Procedure for Double Error Correcting Bose-Ray-Chaudhuri Codes", IRE Proceedings,
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
209851/1012
ID 3ü24 - 3 -
Anwendung, die mehrere algebraische Manipulationen im Galois-Feld erfordern. Die schaltungsmäßige Ausführung
dieser algebraischen Manipulationen erfordert entweder viele Schieberegisteroperationen oder viele
Tabellejüsuchoperationen.
Die Aufgabe der Erfindung ist es daher, eine schnelle Korrektur des in dem binären Wort vorhandenen doppelten
Fehlers zu ermöglichen.
Gemäß einem weiteren Ziel der Erfindung sollen dabei Steuer schalt ungen oder Zähls cha It ungen nicht erforderlich
sein.
Bei der Erfindung wird eine zwei Fehler korrigierende
BCH-VerSchlüsselung mit der folgenden Paritätsprüfmatrix
gewählt:
1 2 i η
°t <X .... ex .... oC
κ3)1 {o?f (or5)1 (ac5)]
Dabei ist die Länge η des Codezeichens gegeben durch
2m-l und d ist ein primitives Element von GF (2m),
welches durch einen binären Spaltenvektor dargestellt
wird. Die Dekodierung dieses Codes erfordert die Herstellung einer ein-eindeutigen Beziehung zwischen den
η +η verschiedenen Fehlerverteilungen und den entsprechenden
Syndromen. Dies erfolgt mithilfe einer Technik: des sogenannten Syndromeinfangens (Syndrome trapping),
2
bei dem die η +η verschiedenen Syndrome in n+1 bestimmte Syndrome durch eine arithmetische Operation folgendermaßen umgesetzt werden.
bei dem die η +η verschiedenen Syndrome in n+1 bestimmte Syndrome durch eine arithmetische Operation folgendermaßen umgesetzt werden.
709851/1012
ID 3024
-A-
Das Syndrom für F;hler in den Binärstellen i und j
ist gegeben durch:
I S-
Dieses Syndrom wird umgesetzt in
S1 =
l-p
Es gibt nur n^— verschiedene Werte von S1, um alle
Möglichkeiten eines einzelnen oder doppelten Fehlers
zu erfassen. Die in dem resultierenden S1 enthaltene
Information über die Fehler Positionen wird dann in Fehlerorte
i und j umgesetzt. Die tatsächlichen Dekodierschritte
können folgendermaiSen beschrieben werden:
Schritt 1 Ermittle aus der em-pfangenen Information das Syndrom ü
in der Form
Schritt 2 Ermittle ρ und q.
Schritt 3 Kodiere p, (-3p) und q als m-stellige Binärzahlen.
Schritt 4 Ermittle k = q + (-3p)·
Schritt 5 Ermittle aus der Tabelle i· und j1 nach Maßgabe von k.
Schritt 6 Ermittle i = ρ + i? und j = ρ + j '.
209851/1012
ΙΌ 3024 - 5 -
Sohritt 7
Dekodiere i und j in Hinweise auf die Fehlerorte.
Ein Ausführungsbeispiel der Erfindung wird nachstehend im Zusammenhang mit den Zeichnungen näher beschrieben.
In den Zeichnunpn zeigen:
Figur 1 ein Blockdiagramm, welches die verschiedenen bei
der Erfindung zur Anwendung kommenden Schaltungsteile und die von diesen durchgeführten Funktionen
veranschaulicht;
Figur 2 ein logisches Diagramm des in Figur 1 gezeigten Kodierers bzw. eines Teils des Syndromgenerators;
Figur 3 ein schematisches Diagramm, welches den anderen
Teil des Syndromgenerators von Figur 1 zeigt;
Figur 4A ein schematisches logisches Diagramm, welches einen Teil des Syndromdekodierers und des Binärkodierers
zur Erzeugung der Werte ρ und -3p zeigt;
Figur 4B ein schematisches logisches Diagramm eines weiteren Teils des Syndromdekodierers und des Binärkodierers
zur Erzeugung des Wertes q;
Figur 4C ein schematisches logisches Diagramm einer Schaltung, mit der im Zusammenhang mit den Schaltungen von
Figur 4A und 4B die Korrektur eines einzelnen Fehlers erreicht wird;
Figur 5 ein schematisches logisches Diagramm eines Addierers
mit Übertrag zur letzten Stelle zur Erzeugung des Wertes k;
Figur 6 ein schematisches logisches Diagramm des Tabellengenerators
von Figur 1;
Figur 7 ein Blockdiagramm eines Paares von Addierern zur Erzeugung der Werte i und j; und
Figur 8 ein schematisches Blockdiagramm, welches die Dekodierung der Werte i 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 vorboBtimmte Anzahl von Prüf bits hinzugefügt .wird, wobei
diese Prüfbits nach Maßgabe der von der Paritätsprüfmatrix
20986 1/1012
ID 3024
beschriebenen Paritätsprüfregein berechnet worden. Die
Paritätsprüfmatrix weist zyklische Eigenschaften in
zwei Teilen folgendermaßen auf:
H =
CK
(<*3)n
(D
Dabei ist o< ein primitives Element des Gaiois-FeLdes
GF(2m) und das Feldelement o*1 wird durch einen binären
Spaltenvektor der Länge m dargestellt, und es gilb η
2m-l.
Die ersten r = 2m-Stellen des Godewortes werden für die
Irüfbits reserviert, und die Matrix wird cb ment sprechend
in UntermatriXzen P und A unterteilt, wobei P die ersten
zwei m-Spalten und A die übrigen n-2m-Spalten enthält,
v/enn J den Spaltenvektor ,beistehend aus n-2m Informationsbitstellen
und C den Spaltenvektor,bestehend aus den
entsprechenden 2m-Prüfbitstelleη darstellen, so erhält
man die folgende Paritätsprüfgleichung:
IC Φ AJ = O
(2)
Das Symbol Φ beaeichnet die Summe der Binärvektoren
nach Modul 2. Es kann gezeigt werden, daß die Matrix P invertierbar ist. Nimmt man P~ aus Gleichung (2),
so erhält man die folgende Gleichung für die Prüf biter ze ugung :
BJ
(3)
wobei
P-1A
(4)
209ÖS 1/1012
ID 3024 - 7 -
221793B
DyB zu überraittelnae Codewort W kann einfach durch
Verknüpfung der Vektoren G und J in folgender Weise .% e bildet warden:
.2.
j
^eim liiiipfanger kann die empfangene Nachricht, die durch
W bezeichnet wird, Fehler enthalten. Um den Ort der Fehler zu bestimmen, wird das Syndrom bestimmt. Um dieses Syndrom
zu erzeugen, bezeichnet G_ die empfangene Prüfbitfolge und
J_ diJ empfangene Infcrmationsbitfolge. Das Syncrom S ist
dann gegeben durch:
S = PC! Ψ AJ_ = P (0 Φ P-1AJ) = P (G Θ BJ) = PS' (5)
3' = C Ψ BJ (6)
Die Konstruktion der verwendeten Paritätsprüfschaltung
ρ .abgeleitet
..ird von der Par itätsprüf matrix IIf = LI» Bj/,wobei I eine
2m χ 2m Identitätsmatrix ist, wobei, noch eine Schaltung
hinzukommt, entsprechend den Ergebnissen der Multiplizierung
mit der Matrix P zwecks Transformierung des Syndroms S1
in B.
rfenn der Syndromvektor S und damit auch S1 Null ist,
int 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 Nachrichten!"olge zugeordnet ist, ist ein
binärer Vektor der Länge 2m. Daher kann jedes Syndrom S
209661/1013
ID 3024
unter der Verwendung der Elemente des GF(2m) in der
folgenden Weise identifiziert werden:
(7)
Dabei sind £ und ) Elemente des GF(2m). Wenn β = γ = ψ
gilt, wobei ψ das Null-Eiement des Feldes bezeichnet,
ist die empfangene Nachricht ein Codewort, und es wird angenommen, daß es fehlerfrei ist. Man kann sehen, daß
ρ - ψ und γ ^Y nur dann auftritt, wenn mehr als
zwei Fehler vorhanden sind. Nimmt man an, daß ein Fehler in jeder deyfeitpositionen i und j (i, j =» 1,2,3,··.η)
aufgetreten ist, so wird das Syndrom S durch Summe nach
Modul 2 der entsprechenden Spalten der Par itätsprüf matrix
erhalten, d. h.:
3i
-P-
λ^ wenn 3i Φ· 3j (mod η)
ψ wenn 3i = 3j (mod n)
Das Syndrom S' ist gegeben durch:
I _
,0
(ίο)
(mod n) (mod n)
(11)
?09851/1Q12
ID 3024 - 9 -
Unter der Annahme von zwei Fehlern entspricht das Syndrom
S =s \ y\ den Fehlern in den Bitpositionen i und j, wenn
und nur wenn das Syndrom S1 =pt L Was Fehlern in den
Positionen if und j ' entsprießt ,-^wobei i! = (i - p)
mod η und j * * (j - ρ) mod η gilt. Daher ist die Anzahl
bestimmter Werte von θ für alle Verteilungen von zwei ■κι Τ
Fehlern ( ). Dies erscheint plausible!, wenn man bedenkt,
ääi ein zweifacher Fehler in Positionen i und j das Syndrom
S= Iu 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
UXid 3i-3p 3J-3P 3if 3j?
9 =O\ φ (Λ a ζΧ φ crt ,
dabei ist i1 » (i - p) mod η und j1 =* (j - p) mod n.
Die Gleichungen (12) und (13)charakterisieren das Svndrom für einen Fehler in jeder der Positionen i1
und jf. Umgekehrt charakterisiert jedes Doppelfehlersyndrom,
in dem fo » ck ist, η verschiedene Doppelfehlersyndrome
mit β =s q(^ , wobei p£ fl,2,... nj.
Somit gibt es trotz der Eindeutigkeit des Doppelfehlersyndroms
n(n-l) verschiedene Doppelfehlersyndrome und (n-1) verschiedene Werte von 9. Der eigentliche ürick
besteht also darin, die Doppelfehlersyndrome S in eine Unterklasse von Doppelfehlersyndromen S1 zu übertragen,
bei denen β * cK ist. Es ist dabei nicht notwendig,
daß ρ m o( ist; vielmehr kann äs Wert für ρ in dem
"eingefangenen" Syndrom jedes crfe mit konstantem e
gewählt werden. Das wesentliche Merkmal des SyndromübertragungsVerfahrens
besteht darin, daß das Übertragen der Doppelfehlersyndrome und der entsprechenden Fehlerpositionen
durch Hinzufügung von ganzen Zahlen nach Msdul η
209851/1012
ID 3024 - 10 -
durchgeführt werden kann, welche die Binärfolgen als
Potenzen der primitiven Elemente charakterisieren.
Zum Beispiel wird der Umsetzungsfaktor θ = Y3 durch
die Operation k =» q. + (-3p) mod η realisierif; wobei
ß> = cXp , γ s ofi und θ = cxk ist. Der Parameter
k wird mit den Fehlerpositionen i1 und jf unter Ver- ■■.
wendung einer relativ kleinen Tebelle in Beziehung
gebracht. Die tatsächlichen FehlerPositionen i und j
werden durch die Operation i = (if + p) mod η und ■ «j = (j1 + p) mod η erhalten.
Es dürfte deutlich werden, daß S1 « 0 dann und nur dann
gilt, wenn S =» 0 ist, was eine Anzeige für das Nichtvorhandensein
eines Fehlers ist. Wenn ein Fehler existiert, wird das Syndrom S = £ zwecks Korrektur eines einzelnen
oder eines doppelten renlers weifcerverarbeitet. äs sei
darauf hingewiesen, daß einzelne Fehler als Spezialfall eines doppelten Fehlers betrachtet werden können, wobei
i * j mit einem zusätzlichen Wert von θ » o^ gilt. Da
jedoch die Wahrscheinlichkeit des 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 aufgrund der Erkenntnis erfolgen, daß
für einzelne Fehler Y » β gilt. Der Fehler befindet
sich dann in der Position p, wobei A » o<
p ist.
Für die Doppelfehlerkorrektur werden β und Y durch
m-stellige Binär zahlen ρ und q. nach Modul η dargestellt,
wobei β μ σ<ρ und γ =* c*q gilt. Wenn /3 * y
ist, dann sind drei oder mehr Bitpositionen fehlerhaft und daher unkorrigierbar. Wenn y a ^f ist, so wird dies
als Spezialfall behandelt mit einem Undefinierten Wert von q. (z. B. q =» 0). Die Transformation Q N =oC
wird dadurch erhalten, daß man m-Binäraddierer mit Übertrag
2098S1/1012
ID 3024 - 11 -
auf die letzte Stelle (Rüokübertrag) verwendet. Die
Addieroperation ist dabei k * q + (-3p) mod n. Der
Addiererausgang k wird auf Null gebracht, wenn X = ^f ist,
vvas dem Fall θ = ^f entspricht. Man beachte, daß der
Addiererausgang k in allen anderen Fällen nicht Hull
ist; insbesondere lot k = η im Falle eines einzelnen Fehlers, wenn q. = 3p ist. Eine fest verdrahtete Tabellenschaltung,
die sogenannte k-Tabelle, formt k in die den entsprechenden Doppelfehler/darstellenden m-stelligen
Binärzahlen i1 und j1 um. Die tatsächlichen Fehlerpositionen
i und j werdendann unter Verwendung von m-Binäraddierern
mit Übertrag in die letzte Stelle bestimmt. Alle verwendeten Zahlen sind Restwerte nach Modul n.
Die Vielfachen von η werden dabei jedoch bei Reduzierung nach Modul η nicht durch die Zahl 0, sondern durch die
Zphl η dargestellt. Dies erleichtert die schaltungsmäßige Durchführung der Restwertbildung nach Modul η
in dem Addierer mit Rückübertrag.
Dis Dekodierschritte bei der erfindungsgemäßen Anordnung
können folgenderweise zusammenfassend beschrieben werden.
Sohritt 1
Ermittle das Syndrom S in der vorher beschriebenen Weise.
Schritt 2 Verteile S in S =
und dekodiere S-, und S-, in
Wenn β = y ist, handelt
Feldelemente P bzw
as sich um einen unkorrigierbaren Fehl: r. Wenn f = A
ist, liegt ein einzelner Fehler vor.
Schritt 3
Sots ο /? , 1-, und Y in m-stellige Binärzahlen um,
welche ρ (-3p) mod η und q darstellen, wobei
Ik
P j V « Q
P =(X und ^ = oO
/?, ^ γ γ ji f
/?, ^ γ γ ji f
ist. 209851/1012
ID 3024 - 12 -
Schritt 4
Ermittle k = q + (-3p) mod n. Setze k = 0, wenn V =
Schritt 5
Ermittle aus der k-Tabelle die dem Wert k entsprechenden
Werte i» und j '. i' und j1 sind m-stellige Binärzahlen,
k =» η entspricht einem einzelnen Fehler mit i1 » j · = η.
k * 0 entspricht dem doppelten Fehler mit Y »
/5
Schritt 6
Ermittle i = i·+ ρ mod n; j » j· + ρ mod η.
Schritt 7
Dekodiere die Binär zahlen i und j in Hinweise auf die
Fehle rpositi onen.
Gemäß Figur 1 wird die zu verschlüsselnde Nachricht über das Kabel 11 von einer Übertragungseinrichtung oder einem
Auswertegerät empfangen wie etwa innerhalb einer Datenverarbeitungseinrichtung. Die aus Informations bits 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. z. B. das amerikanische
Reissue Patent Nr. 23 601 "Error-Detecting and Correcting System" von Richard 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
entweder eines Informationsbits oder eines Prüfbits am Empfangsort identifiziert werden. Zur Veranschaulichung
209851/1012
ID 3024 - 13 -
ist ein (15»7)-Code gewählt worden* Es sind dabei acht
Prüfbits einer aus sieben Informationsbits bestehenden
Nachricht hinzuzufügen, so daß eine Gesamtlänge η = 15
entsteht. Im allgemeinen sind 2m-Prüfbits erforderlich
für eine Gesamtlänge von 2m-l„ Man erkennt dabei,
daß man bei Zeichen größerer länge einen besseren Wirkungsgrad erreicht, wenn man die Anzahl der erforderlichen
Prüfbits im Verhältnis zu der Anzahl der Inf ormationsbitß
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 2 i η
31 32 3i 3 n.
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-l gegeben ist und
o( 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 Feldelanente Gl(2 ) erhalten werden, welche durch das
primitive Polynom 1 + X + X^ für das Beispiel eines (15,7)-Codes
erzeugt werden. Die ersten vier Bits der Spalte i {i * l,2,...,n) wird dadurch erhalten, daß X1 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 Übereinstimmung mit der untersten linie der
Matrix gebildet, welche die in die dritte Potenz erhobenen Elemente anzeigt. Das bedeutet, daß jeder Spaltenvektor in
209851/1012
ID 3024
2217335
der unteren Hälfte der Matrix dem dritten, sechsten, neunten usw. Spaltenvektor der oberen Hälfte entspricht.
Die Η-Matrix ergibt sich in ihrer binären Form folgendermaßen:
1 | O | O | O | 1 | O | O | 1 | 1 | O | 1 | O | 1 | 1 | 1 |
O | 1 | O | O | 1 | 1 | O | 1 | O | 1 | 1 | 1 | 1 | O | O |
O | O | 1 | O | O | 1 | 1 | O | 1 | O | 1 | 1 | 1 | 1 | O |
O | O | O | 1 | O | Ü | 1 | 1 | O | 1 | O | 1 | 1 | 1 | 1 |
1 | O | O | O | 1 | 1 | O | O | O | 1 | 1 | O | O | ü | 1 |
O | O | O | 1 | 1 | O | O | O | 1 | 1 | O | O | O | 1 | 1 |
O | O | 1 | O | 1 | O | O | 1 | O | 1 | O | O | 1 | O | 1 |
O | 1 | 1 | 1 | 1 | O | 1 | 1 | 1 | 1 | O | 1 | 1 | 1 | 1 |
(15)
3 4 5 6
8 a 9 10 U 12 13 14 15
U^:
Prüfbiterzeugungsschaltungen werden in der Weise gebildet,
daß jedes Informationsbit "1" in der Informationsbitmatrix
einen Eingang in eine Exklusiv-Oder-Schaltung darstellt
und jedes Prüfbit "1" einen Ausgang darstellt. In dem hier geschilderten Beispiel wird der Prüfbitgenerator
des Kodierers nicht direkt von der H-Matrix 15 abgeleitet, sondern von einer Matrix B, die folgendermaßen aussieht:
1 | 1 | 0 | 1 | 0 | 0 | 0 | 2 |
0 | 1 | 1 | 0 | 1 | 0 | 0 | |
0 | 0 | 1 | 1 | 0 | 1 | 0 | |
0 | 0 | 0 | 1 | 1 | 0 | 1 | |
1 | 1 | 0 | 1 | 1 | 1 | 0 | |
0 | 1 | 1 | 0 | 1 | 1 | 1 | |
1 | 1 | 1 | 0 | 0 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | 0 | r-l | |
9 | 10 | 11 | 12 | 13 | 14 | ||
2 | 0985 | 1/ | |||||
15 | |||||||
101 |
INSPECTED
Die Matrix B wird dadurch erzeugt, daß die Matrix H in einen P- und einen Α-Teil geteilt wird, wie in
Gleichung (I^ gezeigt wird. Der !--Teil hat eine Länge
von 8 Bits und stellt den Prüf bitteil, während der restliche Teil, nämlich Teil A, eine Länge von 7 Bits
aufweist und die Informationsmatrix darstellt. Aus
diesen Submatrizen P und A wird die Matrix B gebildet, und zwrar gemäß der Gleichung B = P~ A, was von den
Gleichungen (2) und (3) in dem vorangehenden theoretischen
Beschreibungsteil hergeleitet ist. Die Paritätsbit er ze ugung sschaltung wird in Figur (2 gezeigt und ist nach Maßgabe
der Matrix B konstruiert. Es sind dort acht Modul-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(I), J(2) und J(4) durch dis Spalten 9, 10 und
in der Matrix B dargestellt und werden als Eingangssignale
der Modul-2-Addierschaltung 20 zugeführt. In anderen Worten
wird die durch Einsen in den Zeilen der Matrix vertretene InfomEfcion durch eine Exklusiv-Oder-Bezjäiung 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
Aus gangssignale die Prüfbits C(l) bis C(8).
Die Paritätsprüfschaltung von Figur 2 wurde aus d,er
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. vtfie man in Figur 2 sieht, werden dieselben Inf or mat ionsbits
J_(l) bis J_(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
209851/1012
Exklusiv-Qder-Schaltung 28 bis 35 ist das empfangene
Prüfbit C-(I) bis £(8). Die Aus gangs signale sind bei
Verwendung der Schaltung als Syndromgenerator S'(l) bis Sf(8). Dieses Sjndrom ist nicht in der gewünschten
Form, so daß es notwendig ist, die ßyndromtransformationsschaltung
von Figur 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 Datenverarbeitungseinrichtungen, 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 nach ihrer Speicherung oder Übertragung
sehr wohl Fehler enthalten kann, die lokalisiert und korrigiert werden müssen. In dem Syndromgenerator 37
wird das Syndrom S*(l) - S'(8) erzeugt, und das tatsächliche
Syndrom S(I) - S(8) wird erzeugt untere rwendung der
Syndromtransformationsschaltung von Figur 3» die'entsprechend
der Matrix-P konstruiert ist. Die Eingangs signale
zu der Syndromtransformationsschaltung von Figur 3 bestehen aus den AusgangsSignalen S' (l) - S1(8)
des vorher beschriebenen Syndromgenerators. Der Vektor
S'(l) - Sf(8) wird mit den Modul-2-Addierern 41 bis 48
in der gezeigten Weise verbunden. Die Eingangsverbindungen
sind entsprechend den 1-Bits der Transformationsmatrix P
gebildet. Der am Ausgang sich ergebende Syndromvektor S(I)
- S(8) enthält eine Informatin über die Parität der empfangenen Information. Wenn zum Beispiel die Parität
der empfangenen Information richtig ist, d. h., wenn keine Fehler eingeführt worden sind, enthält der Syndro'm-
209851/1012
ID 3024
vektor lauter Nullen und eine wejfcere i1shlerkorrektur
ist daher nicht erforderlich. Im Ausgang des Syndromgenerators
37 wird der Syndromvektor S in zwei kleinere
Syndromvektoren S1 und S-, verteilt, von denen jeder
vier Syndrombits enthält. Die Syndromvektor en S1 und
S^ werden im Syndromdekod ie rer gemäß S-, = ß und
S, = Y dekodiert. Der Syndromdekodierer 38 enthält
die in den Figuren 4A und 4B gezeigten Ünd-Schaltungen.
Der aus vier Bits "bestehende Syndromvektor S-, wird gemäß
Figur 4A in 16 UND-Schaltungen 51a-51p eingeführt* Das
Ausgangssignal jeder UlG)-Schaltung ist mit CA , jeweils
erhoben in eine bestimmte Potenz, bezeichnet. Die Werte
von S1 und die entsprechenden V/erte von oc® werden in der
folgenden Tabelle I gezeigt:
Binärfolge S-, oder S™ . ι 3 |
0 | 0 | 0 | Feldelement β oder γ |
Binärzahl ρ oder q. |
0 | 1 | 0 | 1 | 0 | 1 | Binärzahl (-3p(mod n) |
0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | ο | 0 | 1 | 1 | 1 | ||
1 | 1 | 0 | 0 | 15 | 1 | 0 | 0 | 0 | 1 | ι | 1 | 1 | 0 | 0 | |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | |
0 | 0 | 0 | 1 | 2 | 0 | 1 | 1 | 1 | 1 ■ | 1 | 1 | 1 | 1 | 0 | |
0 | 1 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
1 | 1 | 1 | 0 | 4 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | |
0 | 0 | 1 | 1 | 5 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | |
0 | 1 | 0 | 1 | 6 | 0 | 0 | 1 | 0 | 0 | 1 | |||||
1 | 0 | 1 | 0 | 7 | 0 | 0 | 1 | 1 | 1 | 0 | |||||
1 | 1 | 0 | 1 | 8 | 1 | 0 | 0 | 0 | 1 | 1 | |||||
0 | 1 | 1 | 0 | 9 | 1 | 0 | 0 | 1 | 1 | 1 | |||||
1 | 1 | 1 | 1 | 10 | 1 | 1 | 1 | 1 | 0 | 0 | |||||
0 | 1 | 1 | 1 | 11 | 1 | 1 | 1 | 0 | 0 | 1 | |||||
1 | 0 | 1 | 1 | 12 | 1 | 1 | 1 | 1 | 1 | 0 | |||||
1 | 0 | 0 | 1 | 13 | 1 | 0 | 0 | 1 | 1 | ||||||
1 | 14 | 1 | 0 |
209851/1012
ID 3024 - 18 -
2217335
In gleicher Weise wird der Syndromvektor S-, unter Verwendung von 16 UND-Schaltungen 52a-52p
gemäiS Figur 4B nach Gleichung S^ =* Y dekodiert. Die
verschiedenen Eingangssignale S, und die entsprechendon
^ -v/erte werden in Tabelle 1 gezeigt. Dabei sind die
UND-Schaltungen so angeordnet, daß sie auf die in Tabelle 1 a ui" ei nand erfolgenden S.,-Werte in gleifher Folge ansprechen.
Die entsprechenden Ausgangssignale der UND-Schaltungen
werden in-der Tabelle durch die tferte oe
bezeichnet. Die Aus gangs Signa Ie der UND-Schaltungen
//erden dann in binäre Form gebracht, in-dem geeignete
Verbindungen zu den vier ODER-Schaltungen 54-57 hergestellt
werden. Das erhaltene Ausgangssignal q ist eine
binäre Zahl, welche dem Exponenten von oC entspricht.
Zum Beispiel ist der Ausgang der UND-Schaltung 52e, der mit ο<^ bezeichnet ist, mit den ODER-Schaltungen
und 57 verbunden, wodurch als Aus gang ssignal die binäre Zahl 0011, also 3» "erzeugt wird. Man sieht dabei, däß
die Binärzahl dem zugehörigen Exponenten von o( entspricht.
Diese Transformation ist im Rahmen der Erfindung sehr
wesentlich, da das Syndrom nun in Form einer binären 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äß Figur 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 B inär dar Stellungen von ρ und q werden in
Tabelle I gezeigt. In dieser Tabelle werden ferner die
209851/1012
Binärdarstelxungen der Werte. -3p gezeigt, welche in dem
Binärdekodierer 62 erzeugt werden. Diese Ausgangssignale
-3p werden durch vier Exklusiv-Oder-Schaltungen 64-67
in Figur 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-3 ρ erzeugt werden. Zum Beispiel
entspricht das Ausgangs signal <*», welches von der UND-Schaltung
51g ausgeht, in der die Werte -3p zeigenden Spalte der Tabelle dem Binärwert 1111. Der Ausgang der
UND-Schaltung 51g 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ärwert 1111 für -3p ergibt. Man sieht aus Figur 4A, daß, wenn yü2 =r γ>
ist, ein unkorrigierbarer Fehler vorliegt, wie am Ausgang der UND_Schaltung 51a angezeigt
wird.
Der binäre Dekodierer 62, der aus den ODER-Schaltungen
der Figuren 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, wennn γ * β·*
gilt. Für diesen Fall sind UND-Tore 70 - 7On mit den je- ■
weiligen Ausgängen der UND-Tore der Figuren 4A und 4B
verbunden. Zum Beispiel ist das UND-Tor der Figur 4C mit dem Ausgang Ib des UND-Tores 51c verbunden, welches dem
Wert ot zugeordnet ist, wie in Figur 4A gezeigt wird,
und der andere Eingang des UND-Tores 70 ist mit dem Ausgang 3a verbunden, der in Figur 4B am Ausgang des UND-Tcres
52e gezeigt wird. In der Tat stellen A und V- S
denselben Spaltenvektor in der Matrix H dar und stellen
daher einen Fehler lediglich in dieser Binärsteile dar.
209851/1012
ID 3024
Die vier Bits der Binärvektoren q. und 3p, die durch den
Binärdekodierer 62 erzeugt wurden, werden dem Binäraddierer 72 als Eingangs signale zugeführt, welcha1 in
Figur 5 gezeigt wird und einen Übertrag 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 Y » 7 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 NEIN-SchaItung 76, welche das Signal in eine
Null invertiert, die ein Null-Ausgangs signal 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ärzaMen von
jeweils vier Stellen dargeebellt wird. Die Werte von k
werden in der folgenden Tabelle II gezeigt:
O | k | 1 | O | 10 | Q | i1 | 0 | 1 | 0 | χ | y | 0 | |
1 | 1 | O | 1 | 5 | ü | 0 | 1 | 0 | 1 | 0 | 0 | 0 | |
O | O | O | O | 8 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | |
1 | Ü | O | O | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | |
O | O | O | 1 | r-i | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
O | 1 | O | O | 4 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | |
O | O | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | |
O | 1 | 1 | 1 | 15 | 1 | 0 | 1 | 1 | 1 | r-i | 0 | 1 | |
1 | jeder andere Wert |
un gültig |
1 | 1 | |||||||||
209851/1012
ID 3024 - 21 -
Der entsprechende Dezimalwert der Binärzahl wird aus
Gründen der Übersichtlichkeit in der Tabelle II neben dem binären k-Wert gegeben. Es wird deutlich, daß diese
binäre Addition zu einer Darstellung des tatsächlichen
Syndroms durch eine kleinere Anzahl von Syndromwerten
führt, die durch k dargestellt werden. In anderen Worten weist die 15-stellige Nachricht n(n-l) Kombinationsmöglichkeiten
eines zweifachen Fehlers auf, und dementsprechend
ist eine gleiche Anzahl von Syndromwerten erforderlich.
Die Tabelle II reduziert die Anzahl der Syndromwerte auf
(n+1) feste Syndromwerte durch die beschriebene einfache
2
arithmetische Addition. Die Ausgangswerte k von dem
Binäraddierer 72 werden einem Tabellengenerator 82 zugeführt, der den verschiedenen Werten von k entsprechende
Werte von i1 und j' erzeugt. Diese Werte if und j1 werden
ebenfalls in der Tabelle II angegeben.
Der der Tabelle II entsprechende Schaltungsaufbau wird
in dem Tabellengenerator 82 der Figur 6 gezeigt, wo die aus vier Bits bestehenden Werte k jedem von acht UND-Schaltungen
83a - 83h zugeführt werden, deren Eingänge
so angeordnet sind, daß eine und nur eine UND-Schaltung auf eines der Eingangs signale k anspricht. Der Dezimalwert
von k ist am Ausgang der jeweiligen UND-Schaltung angedeutet. Die Ausgänge der verschiedenen UND-Schaltungen
83a - 83h sind mit vier ODER-Toren 84a - 84d verbunden, die so geschaltet sind, daß ihre vier Ausgangsbits dem
tfert i1 entsprechen. Ferner sind mit den UND-Schaltungen
83a - 83h ODER-Schaltungen 85a - 85d verbunden, um ein
aus vier Bits bestehendes Ausgangssignal j' entsprechend
den empfangenen Eingangssignalen zu erzeugen. Zum Beispiel ist die UND-Schaltung 83b, die an ihrem Ausgang mit der
Dezimalzahl 5 bezeichnet ist, mit der ODER-Schaltung 84c
verbunden, so daß sich für if ein Ausgangs signal 0010 ergibt, wie das in der Tabelle für k = 5 gezeigt wird.
209851/101?
In ähnlicher Weise führt eine Verbindung von der UND-Schaltung 83b zu der ODER-Schaltung 85a in der zweiten '
Gruppe von ODER-Schaltungen 85a - 85d, deren Ausgänge
den Wert j1 repräsentieren. Als Ausgangssignal für j1
wird sich in diesem 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 Figur 6 verbunden, so daß
an diesem ODER-Tor ein Ausgangs signal 1 auftritt, wenn
eines der vier ODER-Tore eine Eins am Ausgang führt. Wenn jedoch keines der ODER-Tore 85a - 85d ein Ausgangs signal
erzeugt, wird das ODER-Tor 86 kein Ausgangs signal abgeben, was anzeigt, daß ein ungültiger k-Wert angetroffen wurde,
d. h. i' » j1 a 0. Die von dem Tabellengenerator 82 erzeugen
Werte i' und j1 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 Figur 1 zeigt. Die jeweiligen Addierer 87, 88 führen die Addition ρ + i1 und ρ + j1 durch, wodurch
sich i bzw. j ergibt, i und j sind binäre Zahlen, deren Werte den Ort der fehlerhaften Bit Positionen i und j in
der empfangenen Nachricht bestimm/en. Die Addierer 87,
werden in Figur 7 schematisch gezeigt und sind wieder Addierer mit Übertrag in die letzte Stelle, deren Einzelheiten
in der oben angegebenen Lite ratursteile gefunden
werden können. Die Werte i und j werden einem Binärzahldekodierer 89 zugeführt, wo sie in Hinweise auf die Fehlerposition
dekodiert werden.
Der Binärzahldekodierer wird in Figur 8 gezeigt. Das aus
vier Bits bestehende binäre Eingangssignal i 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 i der Verschlüsselung der betreffenden
209851/101?
ID 3024
UND-Schaltung entspricht. Zum Beispiel erfordert der Binärwert i = 0001 NICHT-Schaltungen auf dem ersten,
zweiten und dritten Eingang gemäß der UND-Schaltung 90a, so daß beim Auftreten dieses binären Eingangs signales
nur die UND-Schaltung 90a ein Ausgangs signal abgibt. In ähnlicher Weise wird das aus vier Bits bestehende
Signal j jedem einer Vielzahl von UND-Schaltungen 91 - 91n
zugeführt. Die Eingänge zu diesen UND-Schaltungen sind ebenfalls durch geeignete Verwendung von NICHT-Schaltungen
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 AusgangsSignaIe der UND-Schaltungen, z. B. 90a und
91a, in den i 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 - 92n bilden daher Hinweise
93 - 93n auf den Ort der i- und j-Fehler in dem empfangenen
Wort. Diese Hinweise 93 - 93n 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 1
Bilde das Syndrom S aus der empfangenen Nachricht W.
Schritt 2
Teile das Syndrom in zwei getrennte Syndrome S1 und S
und setze sie / und j folgenderweise gleich:
CA
0 9 8 51/101?
ID 3024 - 24 -
Shritt 3
Kodiere ρ, (-3p) und q als aus m-Bits bestehende
Binärzahlen, wobei in dem gegebenen Beispiel m * 4 gilt.
Schritt 4
Ermittle k « q, + (-3p).
Schritt 5
Ermittle aus Tabelle II i1 und J1 nach Maßgabe von k.
Schritt 6
Ermittle i » ρ + i' und j = ρ + j'.
Schritt 7
Setze i und j in Fehlerhinweise um.
Es dürfte deutlich geworden sein, daß die oben beschriebenen
Vorgänge keine S teuer schaltungen 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 Schalt ung sauf wand eigtbt. Aus den Schritten 2
und 3 wird deutlich, daß das Syndrom mithilfe von zwei
Binärzahlen ρ und q. identifiziert wird. Schritt 4 beinhaltet
das Eintragen von k in die Tabelle von Schritt 5 mithilfe
eines Binäraddierers. Dabei wird deutlich, daß die Tabelle (n+l) Einträge enthält ,· welche dem Syndrom entsprechen,
anstelle der sonst üblicherweise zur Identifizierung des
Syndroms benötigten (n tn) Einträge. Das tatsächlich vorliegende
Fehlermuster wird in Schritt 6 bestimmt, wozu eine Addierqperation 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
DatenbitPositionen zweoks geometrischer Lokalisierung und algebraischer Verarbeitung unabhängig zu
numerieren, da der Fehlerhinweis die geometrische Position
209851 /1012
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 dasselbe 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 besUmmte 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 verwe-ndet
werden.
209851/1012
Claims (12)
- (ij Anordnung zum Korrigieren von Doppelfehlern in einer Nachricht, die zur Übertragung entsprechend der folgenden Matrix kodiert wurde:^l -.2 3 .nwobei die Zeichenlänge η gegeben ist durch 2 -1 und o< 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 i und j der empfangenen Nachricht bezeichnet, in folgender Weise erzeugt j_O =3iUmsetzermittel zum Umsetzen des Syndrom S in ein Baässyndrom S1 der folgenden Form:
— ZX 0 SC S1 j-p3(J-P)und weitere Umsetzermittel zum Umsetzen der in dem Basissyndrom S1 enthaltenen Fehlerinformation in Fehlerorte i und j, an denen die Fehler korrigiert werden, enthält.209851/1012ID 3024 - «*- - 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Syndromgenerator einen Syndromdekodierer aufweist, welcher das Syndrom in zwei Teilen S1 und S, in Feldelemente 3 bzw. Y ' umsetzt.
- 3· Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Umsetzer mittel zum Umsetzen des Syndroms S in das Basissyndrom S1 binäre Kodiereinrich-L 1tungen enthalten, welche die Feldelemente ρ , ^3 und in m-stellige Binärzahlen umsetzen, welche ρ bzw. (-3p) mod η bzw. q darstellen, wobei β » ο(Ρ und γ = ex*1 gilt.
- 4. Anordnung nach Anspruch 31 dadurch gekennzeichnet, daß die Umsetzmittel zum Umsetzen des Syndroms S in ein Basissyndrom S' ferner einen ersten Binäraddierer zur Erzeugung eins s Wertes k nach der Gleichung k a« .q + (-3p) mod η aufweisen.
- 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Umsetzmittel zum Umsetzen des Syndroms S in ein Basissyndrom S1 ferner einen Tabellengenerator enthalten, welcher für die verschiedenen von dem ersten Binäraddierer erzeugten k-Werte jeweils vorbe stimmte Werte i' und j1 erzeugt.
- 6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß die weiteren Umsetzmittel zum Umsetzen der in dem Basissyndrom S1 enthaltenen Fehlsrinformation in Fehlerorte i und j einen zweiten und dritten Binäraddierer enthalten, um die Additionen i * i1 + ρ mod η bzw. j se j · +ρ mod η durchzuführen.209851/101?ID 3024 -IT-
- 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die weiteren Umsetzmittel zum Umsetzen der in dem Basissyndrom S1 enthaltenen Fehlerinformation in Fehlerorte und i und j einen Binärzahldekodierer enthalten, welcher die Binärzahlen i und j inHinweise auf die Orte der Fehler in der Nachricht umdekodiert.
- 8. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der genannte Syndromdekodierer eine Erke nnung s schalt ung zur Erkennung eines unkorrigierbaren Fehlers gemäß A ■ γ aufweist.
- 9· Anordnung nach Anspruch 2, dadurch gekennzeichnet , daß der Syndromdekodierer eine Erkennung sschaltung zur Erkennung eines einzelnen Fehlers aufweist, die bei f « /3 5 in Tätigkeit tritt.
- 10. Anordnung nach Anspruch 4» dadurch gekenn zeichnet, daß am Ausgang des ersten Binäraddierers der Wert Null auftritt, wenn γ « y> gilt.
- 11. Anordnung nach Anspruch 5»dadurch gekennzeichnet, daß der Tabellengenerator weitere Einrichtungen zur Erkennung eines unkorrigierbaren Fehlers aufweist, die bei i1 «'j1 «0 ansprechen und damit einen ungültigen k-Wert, d. h. einen unkorrigierbaren Fehler anzeigen.
- 12. Anordnung nach Anspruch 7» dadurch gekennzeichnet, daß der Binärzahldekodierer eine Erkennungsschaltung zur Erkennung eines ungültigen i oder j aufweist, welche daraufhin eine Anzeige für einen unkorrigierbaren Fehler liefert.209851/101?ID 3024·-Jr-13· Verfahren zur Korrektur eines Doppelfehlers in einer Nachricht, die für die Zwecke der Übertragung eine Kodierung entsprechend der folgenden Matrix aufweist: Γ*-.mwobei die Zeichenlänge η gegeben ist durch 2 -1 und c*. ein primitives Element von GF(2m) ist und durch einen binären Spaltenvektor dargestellt ist, dadurch gekennzeichnet, daß ein Syndrom S aus der kodierten Nachricht erzeugt wird, daß das Syndrom in zwei Teile S1 und Sp aufgespalten wird gemäßA4wodurch ft> und Y erzeugt werden,daß ρ, (-3p) und q als m-stellige Binärzahlen erzeugt werden,daß der Addierschritt q. + (-3p) durchgeführt wird, um k zu erhalten,daß aus k i1 und j' erzeugt werden, daß die Addier sehr it te ρ + i1 und ρ + j1 durchgeführt werden, um i bzw. ρ zu erhalten,daß i und j in Fehlerhinweise, welche die Fehler lokalisieren, umgesetzt werden, und daß die Bits in den durch die Fehleriiinweise lokalisierten Fehle rposi ti onen korrigiert werden.209851/1012
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 true DE2217935A1 (de) | 1972-12-14 |
DE2217935B2 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)
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 |
ATE177570T1 (de) * | 1983-12-20 | 1999-03-15 | Sony Corp | Verfahren und vorrichtung zur dekodierung eines fehler-korrektur-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 |
US9450613B2 (en) | 2010-11-10 | 2016-09-20 | Infineon Technologies Ag | Apparatus and method for error correction and error detection |
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 |
-
1971
- 1971-06-01 US US00148773A patent/US3714629A/en not_active Expired - Lifetime
-
1972
- 1972-04-10 GB GB1635972A patent/GB1346267A/en not_active Expired
- 1972-04-13 DE DE2217935A patent/DE2217935C3/de not_active Expired
- 1972-04-26 JP JP47041383A patent/JPS5223708B1/ja active Pending
- 1972-04-27 IT IT23578/72A patent/IT953790B/it active
- 1972-05-04 FR FR7217156A patent/FR2187160A5/fr not_active Expired
- 1972-05-30 CA CA143,387A patent/CA954222A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
IT953790B (it) | 1973-08-10 |
CA954222A (en) | 1974-09-03 |
US3714629A (en) | 1973-01-30 |
DE2217935C3 (de) | 1980-09-25 |
JPS5223708B1 (de) | 1977-06-25 |
DE2217935B2 (de) | 1980-02-07 |
FR2187160A5 (de) | 1974-01-11 |
GB1346267A (en) | 1974-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2217935A1 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern | |
DE60001370T2 (de) | Verfahren und vorrichtung zur erkennung von doppelbitfehlern und korrektur von fehlern durch bauelementfehler verursacht | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE60015753T2 (de) | System und verfahren zum schutz von daten und zur korrektur von bitfehlern folgend aus komponentenfehlern | |
DE69905987T2 (de) | Verfahren und Gerät zur Kodierung und Signalübertragung unter Verwendung eines Sub-Codes von einem Produktcodes | |
DE102005028221B4 (de) | Vorrichtung und Verfahren zum Schutz der Integrität von Daten | |
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 | |
DE2657826A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
DE2106314B2 (de) | Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks | |
DE3006958A1 (de) | Digitalsignal-uebertragungssystem | |
DE102014215252A1 (de) | Wirksame fehlerkorrektur von mehrbitfehlern | |
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) | |
DE102005022107B9 (de) | Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge | |
DE2704627B2 (de) | Anordnung zur Fehlerkorrektur von binärer Information | |
DE2260846A1 (de) | Fehlerkorrektursystem | |
DE3882175T2 (de) | Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz. | |
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 | |
DE2057256A1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten | |
DE1774225A1 (de) | Fehlerkorrekturschaltung | |
DE102013201422B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten |
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 |