DE2217935C3 - Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht - Google Patents
Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer NachrichtInfo
- Publication number
- DE2217935C3 DE2217935C3 DE2217935A DE2217935A DE2217935C3 DE 2217935 C3 DE2217935 C3 DE 2217935C3 DE 2217935 A DE2217935 A DE 2217935A DE 2217935 A DE2217935 A DE 2217935A DE 2217935 C3 DE2217935 C3 DE 2217935C3
- Authority
- DE
- Germany
- Prior art keywords
- syndrome
- error
- binary
- 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.)
- Expired
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
H =
Λ Λ Λ Λ
(α3)1 (λ3)2.... (a3)1.... (λ3»"
Bei eineu Zeichen der Länge π gibt es
ver-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:
IO
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ätsnrüfmatrix
besitzt die genannten zyklischen Eigenschaften in zwei Anteilen in folgender Weise:
15
20
25
30
Dabei ist die Länge = π eines Codezeichens gegeben
durch 2m-', und λ ist ein primitives Element von GF(2m)
und wird durch einen binären Spaltenvektor dargestellt. Die Matrix wird in zwei Submatrizen unierteilt, 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 Informationsbitvektor.
40
H =
(Λ3)' (Λ3)'
Dabei ist die Länge η des Codezeichens gegeben durch 2m—1 und α 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 —i-5. verschiedenen Fehlerverteilungen
und den entsprechender Syndromen. Dies erfolgt mit Hilfe einer Technik de; sogenannten
Syndromeinfangens (Syndrome trapping), bei dem die —i-^- verschiedenen Syndrome in ^-=— bestimmte
Syndrcvne durch eine arithmetische Operation folgendermaßen
umgesetzt werden.
Das Syndrom für Fehler in den Binärstellen / und y ist
gegeben durch:
C _
v © ν
Dieses Syndrom wird umgesetzt in
O'
schiedene mögliche Verteilungen eines oder zweier Fehler. Für jeden brauchbaren Wert von π ist daher ein
gewaltiger Schaltungsaufwand erforderlich, um die Fehlersyndrome festzustellen und sie 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 t>o
Anwendung, die mehrere algebraische Manipulationen im Galois-Feld erfordert. Die schaltungsmäßige Ausführung
dieser algebraischen Manipulationen erfordert entweder viele Schieberegisteroperationen oder viele
Tabellensuchoperationen. hi
Die Aufgabe eier Erfindung ist es daher, eine schnelle
Korrektur eines in einem Binärwur! vorhandenen Doppelfehlers zu ermöglichen, ohne daß hierzu
Es gibt nur
η + l
verschiedene Werte von S', um alle
Möglichkeiten eines einzelnen oder doppelten Fehlers zu erfassen. Die in dem resultierenden 5' enthaltene
Information über die Fehlerpositionen wird dann in Fehlerorte / und j umgesetzt. Die tatsächlichen
Dekodierschritte können folgendermaßen beschrieben werden:
Schritt 1
Ermittle aus der empfangenen Information das Syni'i ooi Sin der Form
Schritt 2
Ermittle ρ und q.
Ermittle ρ und q.
Schritt 3
Kodiere p,( — 3p)und qals m-stellige Binärzahlen.
Kodiere p,( — 3p)und qals m-stellige Binärzahlen.
Schritt 4
Ermittle/c = q + (-3p).
Ermittle/c = q + (-3p).
Schritt 5
Ermittle ausderTabelle /'und j'nach Maßgabe von k.
Ermittle ausderTabelle /'und j'nach Maßgabe von k.
Schritt 6
Ermittle / = ρ + /'und / — /> + _/'.
Ermittle / = ρ + /'und / — /> + _/'.
Schritt 7
Dekodiere /undyin Hinweise auf die Fehlerorte.
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 zeigi
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,
Fig.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,
Fig.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,
F i g. 5 ein schematisches logisches Diagramm eines Addierers mit Übertrag zur letzten Stelle zur Erzeucninrr Hac Wprtp« L·
F i g. 6 ein schematisches logisches Diagramm des Tabellengenerators von Fig. 1.
Fig.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 =
Dabei ist χ ein primitives Element des Galois-Feldes CF[2m) und das Feldelement α' wird durch einen
binären Spaltenvektor der Länge m dargestellt, und es gilt π = 2m-l.
Die ersten r = 2m-Stellen des Codewortes werden
für die Prüfbits reserviert, und die Matrix wird dementsprechend in Untermatrizen /'und A unterteilt
wobei Pdie ersten 2m Spalten und Λ die übi igen η - 2n,
Spalten enthält. Wenn / den Spaltenvektor, bestehend
aus n-2m Informationsbitstellen und C den Spaltenvektor, bestehend aus den entsprechenden 2m Prüfbi1
stellen darstellen, so erhält man die folgende Paritätsprüfgleichung:
/' C (I -ι AJ - 0 .
Das Symbol Ci) bezeichnet die Modulo-2-Summe der
Binärvektoren. Es kann gezeigt werden, daß die Matrix Pinvertierbar ist. Nimmt man P ' aus Gleichung (2). se
erhält man die folgende Gleichung für die Prüfbiterzeu
r> gung:
C = BJ (31
wobei
B - P ' A .
Das zu übermittelnde Codewort W kann einfach durch Verknüpfung der Vektoren C und / in folgender
Weise gebildet werden:
W =
Beim Empfänger kann die empfangene Nachricht, die durch VVbezeichnei wird, Fehler enthalten. Um den Ort
der Fehler zu bestimmen, wird dus Syndrom bestimmt. Um dieses Syndrom zu erzeugen, bezeichnet C die
empfangene Prüfbitfolge und 2 die empfangene
Informationsbitfolge. Das Syndrom S ist dann gegeben durch:
S = PCQAJ = P(CQ)P* AJ^) = P(CQBJ)= PS'
S' = C © BI.
Die Konstruktion der verwendeten Paritätsprüfschaltung wird von der Paritätsprüfmatrix H' = [I, B
abgeleitet, wobei / eine (2m χ 2/n^-Identitätsmatrix ist
wobei noch eine Schaltung hinzukommt, entsprechend den Ergebnissen der Multiplizierung mit der Min, ix /
zwecks Transfonnierung des Syndroms S'in S.
Wenn der Syndromvektor S und damit auch S' NuI
ist, ist die empfangene Nachricht ein den Regelr gehorchendes. Codewort, und es wird daher angenommen,
daß es fehlerfrei ist. Ein nicht verschwindende; Syndrom wird zwecks Fehlerkorrektur weiterverarbeitet.
Das Syndrom 5, welches einer empfangener Nachrichtenfolge zugeordnet ist, ist ein binärer Vektoi
der Länge 2m. Daher kann jedes Syndrom 5 unter dei Verwendung der Elemente des GF(2m) in der folgender
Weise identifiziert werden:
S =
Dabei sind β und γ Elemente des GF(2m). Wenr
= γ = φ gilt, wobei φ das Null-Element des Feldes
bezeichnet, ist die empfangene Nachricht ein Codewort, und es wird angenommen, daß es fehlerfrei ist. Man
kann sehen, daß β = ψ 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= 1, 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.:
( λ1* WLMin 3ί ^ 3; (mod η)
I1 wenn 3ί = 3/ (mod η)
I1 wenn 3ί = 3/ (mod η)
Das Syndrom .S' ist gegeben durch:
(10)
wobei
\' J|' wenn 3/ ^ 3/ (mod n)
Φ wenn 3/ = 3/ (mod n)
(11!
Unter der Annahme von zwei Fehlern entspricht das Syndrom 5= [;"'] den Fehlern in den Bitpositionen i
und j, wenn und nur wenn das Syndrom S' =['"], 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 (" ~ '* . Dies erscheint
plausibel, wenn man bedenkt, daß ein zweifacher Fehler in Positionen / und j das Syndrom S = UJ erzeugt,
wobei β und γ durch die Gleichungen (8) und (9) gegeben
sind. Jedoch sind Gleichungen (8) und (9) dann und nur Λίπη crTllticr iv»nti
,Si-Ip -
(12)
(13)
dabei ist /' = (i—p) mod η und j' — (j—p) mod n. Die
Gleichungen (12) und (13) charakterisieren das Syndrom
für einen Fehler in jeder der Positionen /' und _/'.
Umgekehrt charakterisiert jedes Doppelfehlersyndrom, in dem β = a° ist, π verschiedene Doppelfehlersyndrome
mit β = xp, wobei ρ ε Jl, 2,... n[. Somit gibt es trotz
der Eindeutigkeit des Doppelfehiersyndroms
verschiedene Doppelfehlersyndrome und
(—2—!verschiedene Werte von Θ. Der eigentliche
Trick besteht also darin, die Doppelfehlsrsyndrome 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 <xe 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 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 tatsächlichen Fehlerpositionen /und j werden durch die
Orvo
dtirtn / = ti'
n) mrwH η ιιηΗ ι = /»' -L η)
erhalten.
Es dürfte deutlich werden, daß S' = 0 dann und nur
dann gilt, wenn S=O 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 Fehlers weiterverarbeitet. Es sei darauf hingewiesen, daß einzelne Fehler
-,ο als Spezialfall eines doppelten Fehlers betrachtet
werden können, wobei / = j mit einem zusätzlichen Wert von θ = <x° 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 auf Grund der Erkenntnis erfolgen, daß für einzelne Fehler
γ = β3 gilt Der Fehler befindet sich dann in der Position
p, wobei β = /xp'ist
Für die Doppelfehlerkorrektur werden β und γ durch
bo /n-stellige Binärzahlen ρ und q (mod n) dargestellt,
wobei β = «Ρ und γ = /χι 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 — G). Die Transformation θ
ak wird
dadurch erhalten, daß man m Binäraddierer mit
Übertrag 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 k-Tabelle,
formt k i ·. die den entsprechenden Doppelfehler darstellenden m-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äßige Durchführung der Restwertbildung modulo η in dem Addieren mit
Rückübertrag.
Die Dekodierschritte bei der erfindungsgemäßen Anordnung können folgenderweise zusammenfassend
beschrieben werden.
Schritt 1
Ermittle das Syndrom Sin der vorher beschriebenen
Weise.
Schritt 2
Verteile S in S = \l\~\ und dekodiere Si und S3 in
Feldelemente β bzw. γ. Wenn β = φ ist, handelt es sich
um einen unkorrigierbaren Fehler. Wenn γ = β1 ist, liegt
ein einzelner Fehler vor.
Schritt 3
Setze ß, ß1 und γ in ro-stellige Binärzahlen um, welche
( — 3p)mod η und qdarstellen, wobei
Schritt 7
Dekodiere die Binärzahlen /und /in Hinweise auf die Fehlerpositioncn.
Gemäß F i g. 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
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 j ü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
.'ο W. Hamming) bilden jedes Prüfbit und ausgewählte
Informationsbits eine Code-Gruppe, wobei der Wert jedes Prüfbits durch den Wert der liiformationsbits 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 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—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
j-, 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:
= \p und ·/ =
H =
(λ3)1 (ν1)2 . . . (ν1)' .... (ν1)'
Schritt 4
Ermittle k - q + {-3p) mod η. Setze k = 0, wenn
γ = φ.
Schritt 5
Ermittle aus der Jt-Tabelle die dem Wert k
entsprechenden Werte /' und /'.;"' und j' sind m-stellige
Binärzahlen, k = η entspricht einem einzelnen Fehler mit /' = j' = n. k = 0 entspricht dem doppelten Fehler
mit ψ=Ψ-
Schritt 6
Ermittle 1 = /' + ρ mod η; j = j' + ρ mod π.
Ermittle 1 = /' + ρ mod η; j = j' + ρ mod π.
Der sich unter Verwendung einer Matrix dieser Art
:o ergebende Code ist ein zwei Fehler korrigierender
BCH-Code, wobei die Länge η eines Code-Zeichens durch 2m— 1 gegeben ist und a. 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
CF(24) erhalten werden, welche durch das primitive Polynom \+X+X* für das Beispiel eines
(15,7)-Codes erzeugt werden. Die ersten vier Bits der Spalte i (i = 1, 2, .., n) wird dadurch erhalten, daß X'
bo dividiert wird durch das primitive Polynom \+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
ti 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
H =
in | ihrer | O | 22 1 | 7 | 1 | I | 0 | 1 | 0 | I | I | I | 1 | |
sich | O | O | O | binären | 1 | 0 | 1 | 1 | I | 1 | 0 | 0 | ||
I | I | O | I O | 0 | ! | 0 | 1 | I | I | I | 0 | |||
O | O | I | 1 | I I | 1 | 0 | 1 | 0 | 1 | I | I | I | ||
O | O | O | O | O 1 | 0 | 0 | I | 1 | 0 | 0 | 0 | I | ||
O | O | O | I | O O | 0 | I | I | 0 | 0 | 0 | I | I | ||
I | O | O | O | I I ' | Form folgendermaßen: | I | 0 | I | 0 | 0 | I | 0 | 1 | |
O | O | I | I | I O | 0 | 1 | 1 | I | 0 | 1 | I | 1 | I | |
O | I | I | 4 | 1 O | 0 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
O | 2 | 3 | I O | I | ||||||||||
I | 5 6 | I | ||||||||||||
0 | ||||||||||||||
0 | ||||||||||||||
0 | ||||||||||||||
1 | ||||||||||||||
7 |
Prüfbiterzeugungsschaltungen werden in der Weise gebildet, daß jedes Informationsbit »1« in der
Informationsbi.tmatrix einen Eingang in eine hxklusiv-Oder-Schal'ung
darstellt und jedes Prüfbit »1« einen Ausgang darstellt. In dem hier geschilderten Beispiel
wird der Prüfbitgenerator des Kodierers nicht direkt von der //-Matrix 15 abgeleitet, sondern von einer
Matrix S, die folgendermaßen aussieht:
B =
1 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | I | I | 0 | 1 | 0 | 0 |
0 | 0 | 1 | ! | 0 | I | 0 |
0 | 0 | 0 | I | ! | 0 | 1 |
I | 1 | 0 | I | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 1 | I |
1 | 0 | I | 0 | 0 | 0 | 1 |
9 10 11 12 13 14 15
Die Matrix B wird dadurch erzeugt, daß die Matrix H in einen P- und einen /t-Teil geteilt wird, wie in
Gleichung (15) gezeigt wird. Der P-Teil hat eine Länge
— al 1
restliche Teil, nämlich Teil A, eine Länge von 7 Bits aufweist und die Informationsmatrix darstellt. Aus
diesen Submatrizen Pund A wird die Matrix B gebildet,
und zwar gemäß der Gleichung B = P-'A 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 ModuIo-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 /(1), /(2) und /(4)
durch die Spalten 9,10 und 12 in der Matrix 5 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 Ausgangssiguale 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
2n verwendet werden. Wie man in Fig. 2 sieht, werden
dieselben Informationsbits /(1) bis /(7) verwendet, diesmal in unterstrichener Form, was bedeutet, daß sie
empfangene Information darstellen. In ähnlicher Weise werden Exklusiv-Oder-Schaltungen 28 bis 35 hinzufe-
2") fü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(S)- Die
Ausgangssignale sind bei Verwendung der Schaltung als
ίο Syndromgenerator 5'(I) bis 5'(8). Dieses Syndrom ist
nicht in der gewünschten Form, so daß es notwendig ist, die Syndromtransformationsschaltung von Fig.3 zu
verwenden, um das Syndrom in die gewünschte Form zu bringen. Die kodierte Nachricht, d. h. die Nachricht,
υ deren Informationsbits Priifbits 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
Speicherung oder Übertragung sehr wob. Fehler enthalten kann, die lokalisiert und korrigiert werden
müssen. In dem Syndromgenerator 37 wird das Syndrom 5'(I) — 5'(8) erzeugt und das tatsächliche
Syndrom 5(1) — 5(8) wird erzeugt unter Verwendung der Syndromtransformationsschaltung von F i g. 3, die
entsprechend der Matrix P konstruiert ist Die Eingangssignale zu der Syndromtransformationsschaltung
von F i g. 3 bestehen aus den Ausgangssignalen 5'(I) — 5'(8) des vorher beschriebenen Syndromgenerators.
Der Vektor 5'(I) — 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 P gebildet.
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 Information richiig ist, d. h.,
wenn keine Fehler eingeführt worden sind, enthält der Syndromvektor lauter Nullen und eine weitere Fehlerkorrektur
ist daher nicht erforderlich. Am Ausgang des Syndromgenerators 37 wird der Syndromvektor 5 in
zwei kleinere Syndroir.vektoren S-, und S3 verteilt, von
denen jeder vier Syndrombits enthält Die Syndromvektoren S\ und 5ϊ werden im Syndromdekodierer 38
gemäß S\ = β S3 = y dekodiert Der Syndromdekodierer
38 enthält die in den Fig.4A und 4B gezeigten
Und-Schaltungen. Der aus vier Bits bestehende
Syndromvektor Si 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 S1 und die
entsprechenden Werte von etf werden in der folgenden
Tabelle I gezeigt:
Binärfolge | oder S3 | 0 | 0 | Feldelement | Binärzahl | 0 | 0 | 0 | Binärzahl | 0 | 0 | 0 |
«ι | 0 | β oder γ | ρ oderq | |||||||||
0 | 0 | 0 | 0 | 1 | 1 | 1 | {—3p (mod n) | ] | I | I | ||
0 | 0 | 0 | 15 | 0 | 0 | I | 0 | I | 0 | 0 | ||
1 | 1 | 1 | 1 | |||||||||
0 | 1 | 0 | I | 0 | 0 | I | 0 | 1 | 0 | 0 | 1 | |
0 | 2 | I | ||||||||||
0 | 0 | 1 | 0 | 0 | 1 | I | 1 | 1 | 0 | |||
0 | 3 | I | ||||||||||
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | |||
1 | 4 | 0 | ||||||||||
1 | I | 0 | 0 | 1 | 0 | I | I | 1 | I | |||
1 | 5 | 0 | ||||||||||
0 | 1 | 1 | 0 | I | 1 | 0 | 1 | 0 | 0 | |||
0 | 6 | I | ||||||||||
0 | 0 | 1 | 0 | I | 1 | 1 | 0 | 0 | I | |||
1 | 7 | I | ||||||||||
1 | I | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | |||
0 | 8 | 1 | ||||||||||
1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | |||
I | 9 | 0 | ||||||||||
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | I | |||
I | IO | 0 | ||||||||||
1 | 1 | I | 1 | 0 | 1 | 1 | 1 | 0 | 0 | |||
I | Il | I | ||||||||||
0 | 1 | 1 | I | 1 | 0 | 0 | 0 | 0 | 1 | |||
I | 12 | I | ||||||||||
I | 1 | I | I | I | 0 | I | 1 | 1 | 0 | |||
0 | 13 | I | ||||||||||
1 | 0 | I | 1 | 1 | 1 | 0 | 0 | 1 | I | |||
0 | 14 | 0 | ||||||||||
1 | 1 | |||||||||||
0 |
In gleicher Weise wird der Syndromvektor Sj unter
Verwendung von 16 UND-Schaltungen 52a— 52p gemäß F i g. 4B nach Gleichung Sj = γ dekodiert. Die
verschiedenen Eingangssignale S3 und die entsprechenden α?·Werte werden in Tabelle 1 gezeigt. Dabei sind
die UND-Schaltungen so angeordnet, daß sie auf dje in Tabelle 1 aufeinanderfolgenden SrWerte in gleicher
Folge ansprechen. Die entsprechenden Ausgangssignale der UND-Schaltungen werden in der Tabelle durch
die Werte «' 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 « entspricht. Zum Beispiel ist der
Ausgang der UND-Schaltung 52e. der mit A3 bezeichnet
ist, mit den ODER-Schaltungen 56 und 57 verbunden, wodurch als Ausgangssignal die binäre Zahl 001 !,also 3.
erzeugt wird. Man sieht dabei, daß die Binärzahl dem zugehörigen Exponenten von cn 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äß Fig.4A wird der Parameter ρ in gleicher
Weise erzeugt wobei vier Exklusiv-Oder-Tore 58-61
4; 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
- 3p gezeigt, welche in dem Binärdekodierer 62 erzeugt
werden. Diese Ausgangssignale -3p werden durch vier Exklusiv-Ode'-Schaltungen 64-67 in Fig.4A erzeugt.
Die UND-Schaltungen 51a-51p sind mit den vier
- 3p entsprechend den in der Tabelle I aufgeführten Binärdarstellungen von -3p erzeugt werden. Zum
Beispiel entspricht das Ausgangssignal «s, welches von der UND-Schaltung 5%ausgeht, in der die Werte
-Zp
wi zeigenden Spille 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 Uuter Einsen enthaltenden Binärwert 1111
h-, für -3pergibt. Man sieht aus Fig. 4A,daß, wenn β =·- q>
ist, ein unkorrigierbarer Fehler vorliegt, wie am Ausgang der UND-Schaltung 51 a angezeigt wird.
Der binäre Dekodierer 62, der aus den ODF.RSchal-
Der binäre Dekodierer 62, der aus den ODF.RSchal-
tungen der Fig.4A und 4B besteht und dazu dient, p,
—3p und <7zu erzeugen, enthält ferner eine Einrichtung
zum Korrigieren eines einzelnen Fehlers. Hinweise'zur
Korrektur eines einzelnen Fehlers werden erhalten, wenn γ = ß3 gilt. Für diesen Fall sind UND-Tore
70—70/7 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 \b des
UND-Tores 51c verbunden, welches dem Wert α' 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 γ = β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 Obertrag 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:
k | 0 | 1 | 0 | 10 | Γ | 0 | 0 | 1 | ;' | 1 | 0 | 0 |
I | 1 | 0 | 1 | 5 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 8 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | I | 0 |
0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 4 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 3 | 0 | 0 | 1 | I | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 15 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | jeder | andere | ungültig | 1 | 1 | |||||||
Wert | ||||||||||||
Der entsprechende Dezimalwert der Binärzahl wird
aus Gründen der Übersichtlichkeit in der Tabelle II neben dem binären k- Wert angegeben. 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 Ar dargestellt werden. In
anderen Worten weist die 15-stellige Nachricht ^-^—^- Kombinationsmöglichkeiten eines zweifachen
Fehlers auf, und dementsprechend ist eine gleiche Anzahl von Syndromwerten erforderlich. Die Tabelle II
reduziert die Anzahl der Syndromwerte auf
Syndromwerte durch die beschriebene einfache 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 /'und j'erzeugt. Diese Werte /'und /werden ebenfalls in der Tabelle II angegeben.
Der der Tabelle Il entsprechende Schaltungsaufbau wird in dem Tabellengenerator 82 der F i g. 6 gezeigt,
wo die aus vier Bits bestehenden Werte k jedem von acht UND-Schaltungen 83a-83/j zugeführt werden,
deren Eingänge so angeordnet sind, daß eine und nur eine UND-Schaltung auf eines der Eingangssignale k
anspricht. Der Dezimalwert von k ist am Ausgang der jeweiligen UND-Schaltung angedeutet. Die Ausgänge
der verschiedenen UND-Schaltungen 83a -Md verbunden, die so geschaltet sind, daß ihre vier Ausgangsbits
dem Wert /' entsprechen. Ferner sind mit den UND-Schaltungen 83a-83Λ 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 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 k = 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 SSa-85d,
deren Ausgänge den Wert j' repräsentieren. Als Ausgangssignal für j' wird sich in <ihsem 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 Ausgangssignal 1 auftritt, wenn eines der
vier ODER-Tore eine Eins am Ausgang führt. Wenn jedoch keines der ODER-Tore 85a-85c/ein Ausgangssignal
erzeugt, wird das ODER-Tor 86 kein Ausgangssignal abgeben, was anzeigt, daß ein ungültiger λ-Wert
angetroffen wurde, d. h. /' = j' = 0. Die von dem Tabellengenerator 82 erzeugten Werte /'und /werden
getrennten Binäraddierern 87 bzw. 88 zugeführt. Der
wi 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
ρ + i' und ρ + / durch, wodurch sich / bzw. j ergibt. ;'
und j sind binäre Zahlen, deren Werte den Ort der
h-"> 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 Fig.8 gezeigt Das
aus vier Bits bestehende binäre Eingangssignal / wird jedem der 15 UND-Tore 90-90/7 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/1 zugeführt Die Eingänge zu diesen UND-Schaltungen sind ebenfalß durch geeignete Verwendung von
NICHT-Schaitungen so verschlüsselt daß ein Ausgangssignal an einer dieser UND-Schaltungen auftritt
wenn der Wert von / der Verschlüsselung der betreffenden UND-Schaltung entspricht Die Ausgangssignale 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-92/3 bilden dahu: Hinweise 93 - 93/j auf den Ort der
/- und /-Fehler in dem empfangenen Wort Diese Hinweise 93 -93n werden zu einem Register 94 geführt
welches das empfangene Wert enthält, um zu
veranlassen, daß die entsprechende Kegisterposition 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 5 aus der empfangenen Nachricht
W.
Schritt 2
Teile das Syndrom in zwei getrennte Syndrome S1
und 53 und setzte sie β und γ folgenderweise gleich:
C __
Schritt 3
Kodiere p, (-3p) und q als aus m-Bits bestehende
Binärzahlen, wobei in dem gegebenen Beispiel η - 4 gilt.
Schritt 4
Ermittle Jt = q + (—3pJL
Schritt 5
Schritt 6
Ermittle / = ρ + /'und/ = ρ + j'.
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 nacheinan
der von den Signalen durchlaufen werden, durchgeführt
wobei sich, eine beträchtliche Ersparnis an Schaiiungsaufwand 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
Einträge enthält welche dem Syndrom entsprechen, anstelle der sonst üblicherweise zur Identifizie-
+ 1O
rung des Syndroms 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 zu nume» leren, da der
von seiner algebraischen Bedeutung angibt Diese
zusätzlich«: Flexibilität gestattet die Verwendung einer
verschiedenen Paritätsprüfmatrix zum Kodieren.
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 bestimmte 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 wer
den.
Claims (13)
1. Anordnung zum Korrigieren von Doppelfehlern in einer Nachricht, die zur Übertragung
entsprechend der folgenden Matrix kodiert wurde;
Λ' Λ" Λ -X"
(λ1)3 (λ2)3 (Sf ... (λ1
wobei die Zeichenlänge η gegeben ist durch 2m—1
und α 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 erzeigt:
O
S1
Umsetzermittel zum Umsetzen des Syndroms 5 in ein Basissyndrom S'der folgenden Form:
C'
χ'"3"
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. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Syndromgenerator einen Syndromdekodierer
aufweist, welcher das Syndrom in zwei Teilen S1 und S1 in Feldelcmente β bzw. γ
umsetzt.
3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die Umsetzermittel zum Umsetzen des
Syndroms 5 in das Basissyndrom 5' binäre Kodiereinrichtungen enthalten, welche die Feldelemente
βψυηά γ in m-stellige Binärzahlen umsetzen,
welche ρ bzw. (— 3p) mod π bzw. q darstellen, wobei
β = «/"undy = ««gilt.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Umsetzmittel zum Umsetzen des
Syndroms 5 in ein Basissyndrom 5' ferner einen ersten Binäraddierer zur Erzeugung eines Wertes k
nach der Gleichung
k =■ q + (— 3p) mod η
aufweisen.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Umsetzmittel zum Umsetzen des
Syndroms S in ein Basissyndrom 5' ferner einen Tabellengenerator enthalten, welcher für die verschiedenen
von dem ersten Binäraddierer erzeugten A--Werte jeweils vorbcstimmte Werte >' und /'
cr/cugt.
IO
15
25
JO
J5
45
6, Anordnung nach Anspruch 5, dadurch gekennzeichnet,
daß 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 n
durchzuführen.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet,
daß die weiteren Umsetzmittel zum Umsetzen der in dem Basissyndrom S' 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. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der genannte Syndromdekodierer eine
Erkennungsschaltung zur Erkennung eines unkorrigierbaren Fehlers gemäß β = φ aufweist.
9. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der Syndromdekodierer eine Erkennungsschaltung
zur Erkennung eines einzelnen Fehlers aufweist, die bei γ = β3 in Tätigkeit tritt
10. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß am Ausgang des ersten
Binäraddierers der Wert Null auftritt, wenn γ = ψ gilt.
11. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Tabellengenerator weitere
Einrichtungen zur Erkennung eines unkorrigierbaren Fehlers aufweist, die bei /' = /' = 0 ansprechen
und damit einen ungültigen Ar-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 /oder/aufweist, welche daraufhin eine Anzeige
für einen unkorrigierbaren Fehler liefert.
13. Verfahren zur Korrektur eines Doppelfehlers in einer Nachricht, die für die Zwecke der
Übertragung eine Kodierung entsprechend der folgenden Matrix aufweist:
(x1)3 (x2)J... [S
wobei die Zeichenlänge π gegeben ist durch 2m-1
und λ ein primitives Element von GF(2m) ist und
durch einen binären Spaltenvektor 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 ff und γ erzeugt werden,
daß p, (-Ip) und q als m-stellige
erzeugt werden,
daß p, (-Ip) und q als m-stellige
erzeugt werden,
Binärzahlen
daß der Addierschritt q + (-Jp^durchgeführt wird,
um A zu erhalten,
daß aus k /'und /'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ß die Bits in den durch die Fehlerhinweise lokalisierten Fehlerpositionen korrigiert werden.
daß / und j in Fehlerhinweise, welche die Fehler lokalisieren, umgesetzt werden, und daß die Bits in den durch die Fehlerhinweise lokalisierten Fehlerpositionen korrigiert werden.
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 DE2217935B2 (de) | 1980-02-07 |
DE2217935C3 true 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 |
EP0426657B1 (de) * | 1983-12-20 | 1999-03-10 | Sony Corporation | 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 |
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 |
-
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 |
---|---|
US3714629A (en) | 1973-01-30 |
JPS5223708B1 (de) | 1977-06-25 |
FR2187160A5 (de) | 1974-01-11 |
GB1346267A (en) | 1974-02-06 |
CA954222A (en) | 1974-09-03 |
DE2217935A1 (de) | 1972-12-14 |
DE2217935B2 (de) | 1980-02-07 |
IT953790B (it) | 1973-08-10 |
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 | |
DE102011085602B4 (de) | Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
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 | |
DE102014215252B9 (de) | Wirksame fehlerkorrektur von mehrbitfehlern | |
DE102005022107B9 (de) | Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge | |
DE3006958A1 (de) | Digitalsignal-uebertragungssystem | |
DE2704627B2 (de) | Anordnung zur Fehlerkorrektur von binärer Information | |
DE2260846A1 (de) | Fehlerkorrektursystem | |
DE3404417A1 (de) | Codierer-pruefschaltungsanordnung | |
DE2324538A1 (de) | Digitale nachrichtenuebertragungsanordnung | |
DE102020110787B3 (de) | Schaltung und verfahren zum kodieren oder dekodieren eines datenworts | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
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 | |
DE102021109391B3 (de) | Multibytefehler-Erkennung | |
DE3104762C2 (de) | ||
DE1774225A1 (de) | Fehlerkorrekturschaltung | |
DE102022111624B4 (de) | Fehlerkorrektur mit schneller Syndromberechnung | |
DE102015121646B4 (de) | Fehlerkorrektur | |
DE1524891C3 (de) | Schaltungsanordnung zur Korrektur von Fehlerbündeln | |
DE102015118668B4 (de) | Fehlerkorrektur |
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 |