DE2000565A1 - Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler - Google Patents
Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger FehlerInfo
- Publication number
- DE2000565A1 DE2000565A1 DE19702000565 DE2000565A DE2000565A1 DE 2000565 A1 DE2000565 A1 DE 2000565A1 DE 19702000565 DE19702000565 DE 19702000565 DE 2000565 A DE2000565 A DE 2000565A DE 2000565 A1 DE2000565 A1 DE 2000565A1
- Authority
- DE
- Germany
- Prior art keywords
- useful
- bits
- bit
- circuit
- error correction
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
mn,, ing. B. HOLZEB
ft» AUO8BTTTIG
-WELKBR-ΗΤΒΑββ« ΙΑ
i Ml*
ι. 62
Augsburg, den 5· Januar 1970
International Business Machines Corporation, Armonk, N.Y. 10504, Vereinigte Staaten von Amerika
Pehlerkorrigierendes System zur Korrektur mehrfacher,
zufälliger Fehler
Die Erfindung betrifft allgemein fehlerkorrigierende Systeme und insbesondere fehlerkorrigierende Systeme zur
Korrektur mehrfacher, zufälliger Pehler in jeweils
009830/1635
k = m Nutzbits enthaltenden Paralleldaten bzw. Nachrichten,
wobei m eine ganze Zahl ist.
Die Korrektur von Fehlern in Nachrichten mittels Kodierung wurde zuerst in RE 2}601 (US-PS 2 552 629)
"Fehlerfeststellende und -korrigierende Systeme" von R.W. Hamming u.a. beschrieben. Diese Kodieranordnungen
sind allgemein als Hamming-Codes bekanntgeworden. Diese Kodes verlangen, daß eine minimale Anzahl von Prüfbits
bzw. Gleichheitsbits zu den Nachrichten- bzw. Nutzbits so hinzugefügt wird, daß eine kodierte Nachricht erzeugt wird,
welche derart dekodiert wird, daß während der Speicherung bzw. während der übertragung zustandegekommene Fehler korrigiert
werden. Aufgrund der Jüngsten technischen Entwicklung ist es möglich, auch mehrfache Fehler in zyklischen Kodes zu
korrigieren, bei welchen ein Schaltungsaufwand vernünftiger Komplexität getrieben wird. Derartige Anordnungen verlangen
Jedoch normalerweise beträchtliche Zeitverzögerungen bein
Dekodieren, vgl. Berlekamp, 1968, Mc Qraw Hill.
Gewöhnlich weisen fehlerkorrigierende Kodes Gleichheits- '
prüfanordnungen auf, welche streng eine Funktion der Anzahl
zu korrigierender Fehler und der Anzahl von Nutzbits sind. Zur Steig©·ung der Fehlerkorrekturfähigkeit eines bestimmten
009830/1635
Eine einfache Art der Fehlerfeststellung in einem Speicher bzw. einem anderen Teil einer Datenverarbeitungsanlage besteht darin, daß fUr jedes Bit jeweils zwei
Speicherplätze vorhanden sind. Ein an nur einem der beiden Speicherplätze auftretender Fehler wird als Nichtübereinstimmung
zwischen entsprechenden Bits eines Wortes festgestellt.
Wenn drei Speicherstellen bzw. mehr als drei Speicherstellen fUr jedes Bit vorgesehen sind, ist es möglich.
Fehler auch zu korrigieren. Wenn ein Fehler an nur einer Stelle auftaucht, kann der richtige Wert aus den beiden
gUltigen bzw. richtigen Bits für die gleiche Stelle erkannt werden. Wenn allgemein ein Bit ungeradzahlig oft
erzeugt wird, so können Fehler, welche in einer geringeren Anzahl als der Hälfte der Anzahl von Bits auftreten, dadurch
festgestellt werden, daß der Wert der Mehrheit als richtig
angenommen wird. Wenn natürlich mehr als die Hälfte der Bits fehlerhaft ist, kann der Fehler nicht korrigiert werden.
Bei sämtlichen fehlerkorrigierenden Systemen wird das Konzept der Erzeugung redundanter Nutzbits verwendet.
Die Anordnung jedoch, bei welcher einfach das gleiche Bit
009830/1635
wieder und wieder übertragen wird, wird selten verwendet,
da wirkungsvollere Systeme erdacht worden sind. Diese Systeme werden Kodes genannt, weil die Originalnutzbits
derart verschlüsselt bzw. kodiert werden, daß ein längeres,
im folgenden als Nachricht bezeichnetes Wort erzeugt wird, in welchem einige der Bits Punktionen von mehreren Nutzbits
sind. Die Information eines Jeden Nutzbite erscheint als Punktion mehrerer Nachrichtenbits sind. Die Information
eines Jeden Nutzbits erscheint als Punktion mehrerer Nachrichtenbits. Die Nachricht wird derart dekodiert bzw.
derart wieder in Nutzbite umgewandelt, daß ein Fehler ' in einem Bit der Nachricht anhand der Information in anderen
Nachrichtenbits festgestellt bzw. korrigiert wird.
Fehlerkorrigierende Kodes werden Üblicherweise durch
drei Zahlen gekennzeichnet, welche allgemein mit (n, k, t) bezeichnet werden. Diese allgemeinen Zahlen stellen Jeweils
die Anzahl der Nachrichtenbits, die Anzahl der Nutzbits und die Anzahl der Fehler dar, welche in Jedem Nachrichtenblock
korrigiert werden können. Beispielsweise stellt der (45* 25, 2)-Kode, welcher im folgenden beschrieben wird, eine
Nachricht von 45 Bitstellen mit 25 Nutzbits dar, wobei in Jeweils zwei beliebigen Nachrichtenbits der 45 Nachrichtenbits
009830/1635
Fehler korrigiert werden können. Viele fehlerkorrigierende Kodes können in der Form des wohlbekannten Gleichheitsprüfschaltkreises
erklärt werden, welcher zwar Fehler feststellt, diese jedoch nicht korrigiert. Bei einem Glelchheitsprüfsystem
wird jeweils dem Datenwort ein Extrabit hinzugefügt und damit festgelegt, ob in dem Datenwort eine ungerade
Anzahl oder aber eine gerade Anzahl von "l"-en enthalten ist.
Durch die Erfindung soll die Aufgabe gelöst werden, ein
mehrfache, zufällige Fehler korrigierendes System derart zu verbessern, daß sich aufler geringeren Kosten und höherer
Arbeitsgeschwindigkeit eine gesteigerte Fehlerkorrekturfähigkeit ergibt.
Im Sinne der Lösung dieser Aufgabe beinhaltet die Erfindung ein fehlerkorrigierendes System zur Korrektur mehrfacher,
zufälliger Fehler in jeweils k « m Nutzbits enthaltenden
Nachrichten, wobei m eine ganze Zahl ist, welches durch eine Kodierschaltung, welche diesen Nutzbits für jede zusätzliche
einfache Fehlerkorrekturfähigkeit jeweils 2.m Prüfbits hinzufügt, und durch eine Dekodierschaltung gekennzeichnet ist,
welche jeweils für jedes der Nutzbits einen Fehlerkorrekturschaltkreis und für jede einfache Fehlerkorrekturfähigkeit
ein Linearlogik-Schaltkreismodul aufweist, derart, daß für Jedes Nutzbit eine Gleichheitsprüfung durchgeführt wird,
009830/1638
wobei Jeweils die Ausgangssignale der Linearlogik-Schaltkreismodule
jeweils die Eingangssignale für den betreffenden Fehlerkorrekturschaltkreis bilden.
Das erfindungsgemäße System weist eine Gleichheitsprüfschaltkreis-Anordnung
auf, welche in Modulbauweise derart ausgeführt ist, daß jedes hinzugefügte Modul in Verbindung
mit den zugeordneten Prüfbits eine zusätzliche einfache Fehlerkorrekturfähigkeit bedeutet.
Die Erfindung ist auf Datenübertragungs- bzw. Datenspeicheranlagen
und insbesondere auf Paralleldatenverarbeitungsanlagen anwendbar, wie beispielsweise auf Digitalcomputerspeicner,
Datenübertragungswege bzw. andere wichtige Wege, welche gegen das Auftreten von Fehlern gut geschützt sein müssen.
Mit der Entwicklung integrierter Schaltkreise und der dadurch möglichen Senkung der Kosten und Steigerung der Arbeitsgeschwindigkeit
war es möglich, daß beispielsweise Computer mit fehlerkorrigierenden Systemen ausgerichtet werden können.
Gemäß der Erfindung wird zur Erzeugung der Prtifbits
und zur Wiedererzeugung der Datenbits bzw. zur Dekodierung eine Gleichheitsprüfschaltung verwendet. Beim Kodieren kann
beispielsweise folgende Prüfbitgleichung erzeugt werden:
ck « di e dj. - 6 -
009830/1635
Beim Dekodiervorgang wird diese Gleichung folgendermaßen
umgewandelt
di - ck · dj
wobei Jeweils
wobei Jeweils
ck ■ k-tes Prüfbit
di « i-tes Nutzbit
dj m j-es Nutzbit
• « EXCLUSIV ODER-Funktion
bedeuten.
Das beim Dekodieren bzw. Fehlerkorrigieren angewendete Verfahren hat den Zweck, 2.t unabhängige Kopien von di
dadurch zu erzeugen, daß bestimmte Gleichungen der Prüfbitglelchungen
umgeformt werden, wobei das Wort "unabhängig" bedeutet, daß die 2.t Gleichungen, welche zur Erzeugung
der 2.t Kopien von di verwendet werden, keine weiteren gemeinsamen Nutz- bzw. Prüfbits enthalten. Diese 2.t Kopien
von di plus dem Original di selbst werden auf einen Mehrheitsschaltkreis gegeben, so daß O bis t Fehler korrigiert
werden.
Das fehlerkorrigierende System nach der Erfindung weist eine Kodierschaltung für parallele Daten in einer Datenverarbeitungsanlage
und eine Dekodierschaltung für die kodierten
- 7 -009830/1635
Daten auf, wobei beide Schaltungen zusammen automatisch In den Daten auftretende Fehler korrigieren.
Kodier- bzw. Dekodiergeräte nach der Erfindung arbeiten mit ultrahohen Geschwindigkeiten und sind derart aufgebaut»
daß weitere einfache Pehlerkorrekturfählgkelten Jewells für
8Ich hinzugefügt werden können, was durch Modulbauwelse
gemäß der Erfindung möglich 1st.
Gemäß der Erfindung ergibt sich eine neue Klasse
fehlerkorrigierender Kodes, welche In der Lage 1st, t zufällige Fehler der Datenlänge k mit nicht mehr als 2-m-t
Prüfbits zu korrigieren, wobei m größer oder gleich k ist
und wobei m eine ganze Zahl ist.
Ein weiteres Merkmal der Erfindung ist, daß das Fehlerkorrektursystem in der Lage ist, Fehler zu korrigieren,
welche in der Dekodierschaltung auftreten.
<_ ρ verfahren für Nachrichten mit jeweils k » m Nutzbits, wobei m
eine ganze Zahl ist, welches gemäß der Erfindung durch folgende Schritte gekennzeichnet ist:
a) Hinzufügen von 2 m PrUfbits für jede Fehlerkorrekturfähigleit t zu der Nachricht, so daß 2-m-t Prüfbit-
009830/1635
gleichungen gebildet werden, von welchen jeweils genau 2· t Gleichungen ein gemeinsames Nutzbit
enthalten,
b) Umwandeln der Prüfbitgleichungen in Gleichungen zur
Bestimmung der gemeinsamen Nutzbits, und
c) Verwenden dieser gemeinsamen Nutzbits zur Erzeugung eines Ausgangssignales, welches ein richtiges Nutzbit ·
jeweils dann versinnbildlicht, wenn sich eine Mehrheit von solchen gemeinsamen Nutzbits ergibt.
Die Dekodierschaltung nach der Erfindung weist einen Schwellenwertlogik-Schaltkreis für jedes der Nutzbits sowie
einen Gleichheitsprüflogik-Schaltkreis auf. Der Gleichheitsprüfschaltkreis
ist erfindungsgemäß derart in Modulbauweise ausgeführt, daß jedes zusätzliche Modul zusammen mit den
zusätzlichen 2-m PrUfbits dem System eine zusätzliche einfache Pehlerkorrekturfähigkeit erbringt. Die Ausgangssignale
jedes der Module bilden jeweils Eingangssignale für den
Schwellenwertlogik-Schaltkreis, in welchem die Fehlerkorrektur vorgenommen wird.
Die vorhergehend beschriebenen sowie weitere Merkmale
009830/1635
und Vorteile der Erfindung ergeben sich aus der folgenden ausführlichen Beschreibung bevorzugter Ausführungsformen der
Erfindung, welche in den beigefügten Zeichnungen dargestellt sind, die im einzelnen zeigen:
Fig. 1 ein Blockdiagramm einer Datenverarbeitungsanlage,
welche ein fehlerlcorrigierendes System nach der Erfindung enthält,
Fig. 2 schematisch eine erfindungsgemäße
Kodierschaltung zur Erzeugung der erforderlichen
Prüfbits,
Fig. 3 schematisch eine erfindungsgemäße Dekodierschaltung für kodierte Nachrichten aus der
Schaltung gemäß der Darstellung in Fig. 2,
Fig. 4 eine Folge von vier rechtwinkeligen
Lateinischen Quadraten für fünf digitale Zahlen,
Fig. 5 schematisch die erfindungsgemäße Dekodierschaltung
für das dO-Nutzbit, welche in der Lage ist, drei Fehler zu korrigieren, '
wobei aus diesem Schaltschema die Modulbauweise zu entnehmen ist,
Fig. 6 schematisch ei^3 erfindungsgemäße Kodierschaltung
der Datenlänge 23» und
Fig. 7 scnematisch eine erfindungsgemäße Dekodierschaltung
der Datenlänge 23·
009830/1635
- ίο -
- ίο -
In Fig. 1 ist ein typisches Blockdiagramm einer
Kodierschaltung 12 und einer Dekodierschaltung I1I in
einer Datenverarbeitungsanlage dargestellt. Die Daten werden in dem Datenverarbeitungsschaltkreis 16 erzeugt
und an dessen Ausgang kodiert, bevor sie in einen Speicher eingegeben werden. Wenn die gespeicherte Information wieder
benötigt wird, wird sie derart dekodiert, daß beliebige Fehler, welche sich bei der übertragung zu dem Speicher bzw.
aus dem Speicher bzw. während der Speicherung ergeben haben, korrigiert werden.
Die bei dem fehlerkorrigierenden System nach der Erfindung verwendeten Kodes weisen jeweils eine Datenlänge
von k = m auf, wobei m eine ganze Zahl größer als 1 ist. Wenn eine aus Nutzbits bestehende Nachricht kodiert werden
soll, welche eine Datenlänge aufweist, die nicht gleich einem vollständigen Quadrat ist, so wird zur Erzeugung der
Prüfbit- bzw. Gleichheitsgleichungen ein Lateinischer Quadrat-Kode verwendet, dessen Länge gleich der Länge des nächstgrößeren
Quadrates ist. Anschließend kann der Kode auf die erforderliche Datenlänge gekürzt werden. In der folgenden
Beschreibung wird der Kodeaufbauvorgang zunächst am Beispiel Lateinischer Quadrat-Kodes der Länge m dargestellt. Ein
Lateinisches Quadrat der Seitenlänge ir, ist eine Anordnung
2
von m Ziffern in m Unterquadraten eines Quadrates, derart,
von m Ziffern in m Unterquadraten eines Quadrates, derart,
- 11 -
009830/1635 '
daß jede Zeile und jede Reihe jeweils jede Ziffer genau nur einmal aufweist.
Im folgenden wird zunächst der einfachste Fall, d.h. die Korrektur eines einzelnen Fehlers betrachtet. Die m Nutzbits,
welche durch die Symbole dO, dl, ... d(k-l) dargestellt sind, sind folgendermaßen in einer Quadratanordnung angeordnet:
c(m+l) | c(m+2) | c(m+3).... | c(2-m) | |
el | dO | dl | d2.... | d(m-l) |
c2 | dm | d(m+l) | d(m+2).... | d(2«m-l) |
d2«m | d(2-m+l) | d(2am+2).·.. | d(V-l) | |
• | • | • | * | • |
cm | d(m-l)m | I(-l).«.... | d(m2-l) |
Die Zeilen dieser Anordnung sind aufeinanderfolgend mit el,
c2, .... cm und die Spalten jeweils mit c(m+l), c(m+2), ....c2»m bezeichnet. Die Gleichung für das Prüfbit ei, mit i gleich 1, 2,
,... 2«m, ist demgemäß gleich dem EXCLUSIVEN ODER desjenigen Nutzbits, welches in seiner Zeile auftritt; das gleiche gilt
- 12 -
009830/1635
Al
mit Bezug auf die Spalten in der Anordnung. Demzufolge ergibt eich:
el = c2 =
dO dm
d(m-l)
dl d(m+l)
cm = d(m""l)m Φ d(m~
c(m+l)= dO φ dm c(m+2)= dl φ d(m+l)
*d(m+2)
d(2»m-l) Φα(3·ηι-1)
Φ,.oÄd(m-l)
Φ...Φά(2·πι-1)
Φα(ΐη-1)ΐη+2 Φ,
Φα2·ΐη Φ, Φd(2·m+l) φ,
Zeilengleichungen
Spalten-
dhungen
Es ist ersichtlich, daß jedes Nutzbit jeweils genau in zwei dieser 2»m Prüfbitgleichungen vorkommt.. Darüberhinaus
weisen die beiden Gleichungen, welche jeweils ein gemeinsames Nutzbit enthalten, kein weiteres gemeinsames Nutzbit auf. Diese
beiden Beobachtungen stellen den Schlüssel für den Aufbau des Kodes dar. Beispielsweise erscheint dO jeweils in den Gleichungen
für el und c(m+l). Es ist klar, daß jede einzelne dieser
Gleichungen cl....c2»m durch Ausführen der in den Gleichungen jeweils angegebenen Punktionen leicht erfüllt werden kann.
- 13 -
009830/1638
indem jedes in einer dieser Gleichungen enthaltene
Nutzbit auf einen EXCLUSIV ODER-Schaltkreis gegeben wird. Die Ausgangssignale der EXCLUSIV ODER-Schaltkreise stellen jeweils die entsprechenden Prüfbits cl....c2«m dar. Das stellt die Grundlage für den Kodiervorgang dar. Zum Verständnis des Dekodiervorganges sei festgestellt, daß beispielsweise die Gleichungen für el und c(m+l) in folgender Weise umgeschrieben werden können:
Nutzbit auf einen EXCLUSIV ODER-Schaltkreis gegeben wird. Die Ausgangssignale der EXCLUSIV ODER-Schaltkreise stellen jeweils die entsprechenden Prüfbits cl....c2«m dar. Das stellt die Grundlage für den Kodiervorgang dar. Zum Verständnis des Dekodiervorganges sei festgestellt, daß beispielsweise die Gleichungen für el und c(m+l) in folgender Weise umgeschrieben werden können:
dO = el · dl φ d2 •...•d(m-l)
dO = c(m+l) Φ dm Φ d2»m Φ ...Φα(ηι-1)ΐη
Es ist günstig, daß in diesen beiden Gleichungen für dO keine gemeinsame Variable übrigbleibt. Das Vorhandensein eines
einzelnen Fehlers in den Nutz- bzw. Prüfbits dO, dl...., d(k-l), el, c2, ...c2*m kann höchstens jeweils eine dieser
beiden Gleichungen beeinflussen. Demzufolge wird dO durch
folgende Funktion richtig wiedergegeben:
dO = Mehrheit J_dO,c^dl*d2©.. ^d(m-l) ,c (πι+1)ΦαΐηΦα2·]ηφ.. .Φα (m-1 )mj
Diese Gleichung stellt die Mehrheitsentscheidungsgleichung für
das Mehrheitsentscheidungs-Dekodieren der Nutzbits dO dar. In gleicher Weise wird die Bestimmung eines jeden kodierten
Nutzbits durchgeführt.
009830/1635
Die grundlegende Theorie für die Einzelfehlerkorrektur
wird auf die Mehrfachfehlerkorrektur derart ausgedehnt, daß auf der Folge von Prüfbitgleichungen für die Einzelfehlerkorrektur
"aufgebaut" wird. Dieses "Aufbauen" erstreckt sich auch auf die Ausführung der Dekodierschaltung. Die zusätzlichen
Prüfbitgleichungen werden entsprechend der Theorie der rechtwinkeligen Lateinischen Quadrate erzeugt.
Die sich ergebenden Gleichungen haben die Eigenschaft, daß jedes Nutzbit jeweils in genau 2«t Prüfbitgleichungen vorkommt,
wobei t diejenige Anzahl von Fehlern darstellt, welche zu korrigieren der Kode in der Lage ist. Diese 2»t Gleichungen,
welche jeweils ein gemeinsames Nutzbit enthalten, weisen jeweils kein anderes gemeinsames Nutzbit auf. Ein Lateinisches
Quadrat der Ordnung bzw. Größe m ist eine m»X»m-Quadratanordnung
der Ziffern O, 1, ·..., (m-1), wobei jede Zeile und jede Spalte jeweils eine Permutation der Ziffern 0,- 1, ....
..., (m-1) ist. Zur Erzeugung der Folge von m Prüfbitgleichungen wird ein Lateinisches Quadrat, verwendet. Dieses Lateinische Quadrat,
welches der in Gleichung (1) angegebenen m«X»m-Anordnung
von Informationsbits überlagert wird, kann als eine "Maske" auf den Nutzbits betrachtet werden. Diejenigen Hutzbits,
welche jeweils durch gleiche Ziffern in dem Lateinischen Quadrat überdeckt sind, sind jeweils durch EXCLUSIV ODER-Beziehungen
niteinander verknüpft und erzeugen jeweils die Prüfbitgleichunften. Daraus ergeben sich m Prüfbitgleichungen.
- 15 009830/163 5
Wenn Ll und L2 gemäß der.Darstellung in Fig. k jeweils
orthogonale Lateinische Quadrate sind, so hat die in der oben angegebenen Weise aus Ll und L2 hergeleitete Folge
von 2*m PrUfbitgleichungen die gleiche Eigenschaft wie
die Zeilen- und Spaltengleichungen für den Fall der Einseifehler korrektur. Diese Eigenschaft besagt, daß zwei beliebige
Gleichungen, welche jeweils ein gemeinsames Bit aufweisen, kein anderes gemeinsames Bit aufweisen und deshalb jeweils
zu den Zeilen- und Spaltengleichungen für den Fall der Einzelfehlerkorrektur addiert werden können· Demgemäß er«
scheint jedes Nutzbit jeweils in vier Prüfbitgleichungen, während kein anderes gemeinsames Prüfbit in diesen vier
Qleichungen vorkommt. Aus diesem Orund kann zur Korrektur
sämtlicher Doppelfehler eine "3 aus 5"-Mehrheitswahlan-Ordnung verwendet werden. Im allgemeinen wird eine Folge
von ρ orthogonalen Lateinischen Quadraten zur Erzeugung von m*p PrUfbitgleichungen verwendet, wobei ρ gleich (m-1) ist,
wenn m eine Potenz einer Primzahl ist. Durch Addition der Folge von ρ orthogonalen Lateinischen Quadraten zu den
2»m Zeilen- und Spaltengleichungen ergeben sich m»(p+2)
Gleichheitsprüfgleichungen. Der sich ergebende Kode ist in der Lage, (p/2)+l = t Fehler zu korrigieren, wobei "(t+1) aus
(2*t+l)"-Wahl- bzw. Mehrheitstorschaltkreise verwendet
werden. Die Modulbauweise der Dekodierschaltung ergibt sich aus dem nAufbau"-Konzept. Wenn man von der Korrektur von
- 16 -009830/1635
2000585
t Fehlern zur Korrektur von t+1 Fehlern übergeht, ist es
lediglich erforderlich, 2.m Prüfbitgleichungen zu der bereits bestehenden Folge für die t Fehlerkorrekturen zu addieren. Diese
zusätzlichen Gleichungen ergeben sich aus zwei zusätzlichen orthogonalen Lateinischen Quadraten, Die Theorie der orthogonalen
Lateinischen Quadrate ist bestens bekannt und wurde beispielsweise in "Analyse und Gestaltung von Experimenten"
von C.B. Mann, Dover Publications, Inc., New York, 1949
> beschrieben. Der maximalen Anzahl orthogonaler Lateinischer Quadrate einer bestimmten Ordnung bzw. Größe sind Grenzen
gesetzt. Die Größe des Lateinischen Quadrates ist jeweils eine Funktion von m.
Im folgenden ist ein besonderer Anwendungsfall der
im vorhergehenden beschriebenen Theorie auf einen Quadrat-
2
kode mit 5 = 25 Nutzbits beschrieben. Es ist demzufolge m=5 und es gibt gemäß der Darstellung in Fig. 4 vier orthogonale Lateinische Quadrate der Ordnung 5. Die Anzahl R der Prüfbits ist gleich 2»m»t, wobei t gleich der Anzahl der zu korrigierenden Fehler ist. Für den Fall eines einfachen Fehlerkorrekturkodes ist deshalb 2»m»t gleich 10, Die Nutzbits dO bis d24 sind, wie vorher bereits angegeben, in folgender Quadratanordnung ange-
kode mit 5 = 25 Nutzbits beschrieben. Es ist demzufolge m=5 und es gibt gemäß der Darstellung in Fig. 4 vier orthogonale Lateinische Quadrate der Ordnung 5. Die Anzahl R der Prüfbits ist gleich 2»m»t, wobei t gleich der Anzahl der zu korrigierenden Fehler ist. Für den Fall eines einfachen Fehlerkorrekturkodes ist deshalb 2»m»t gleich 10, Die Nutzbits dO bis d24 sind, wie vorher bereits angegeben, in folgender Quadratanordnung ange-
- 17 -
009830/1635
ordnet: | c6 | c7 | c8 | c9 |
dO | dl | d2 | d3 | |
el | d5 | d6 | d7 | d8 |
c2 | dlO | dll | dl2 | dl3 |
c3 | dl5 | dl6 | dl7 | dl8 |
el» | d2O | d21 | d22 | d23 |
c5 | ||||
clO
d9
dl9
Durch EXCLUSIV ODER-Verknüpfung jeweils der Daten in
den Zeilen el bis c5 und jeweils der Daten in den entsprechenden Spalten c6 bis clO ergeben sich für die Prüfbits el ...clO
folgende Gleichungen:
el = c2 = c3 = dlO#dll*dl2*dl3*dli|
c5 =
Zeilengleichungen
ClO
Spaltengleichungen
- 18 -
009830/1635
Die Kodierechaltung für die zehn Prüfbitgleichungen
wird mit Hilfe von fünf EXGLUSIV ODER-Eingangstorschaltkreisen
verwirklicht, welche in Fig. 2 mit den Bezugsziffern 15 bzw. 17 versehen sind. Diese fünf EXCLUSIV ODER-Eingangstorechaltkreiae können selbstverständlich in verschiedenster
Weise verwirklicht werden. Die einfachste Ausführungsform,
welche in der Literatur häufig dargestellt ist, weist UND- und ODER-Toreehaltkreise und Umsetzer auf, Mehrheitstorschaltkreise bzw. andere wohlbekannte Torschaltkreise können verwendet werden. Eine überprüfung der oben angegebenen PrUfbitgleichungen ergibt, daß dO jeweils nur in den Prüfbitgleiohungen el bzw. c6 vorkommt. In gleicher Weise erscheint
das Nut «bit d2*J jeweils nur in den Prüfbitgleichungen c5
bzw. clO. Jedes Nutzbit dO bis d24 erscheint jeweils nur in
zwei Prüfbitgleichungen. Die Dekodierschaltung ist entsprechend diesen Erkenntnissen aufgebaut. Mit anderen Worten,
die Gleichungen können jeweils in solche Gleichungen umgewandelt werden, in welchen jeweils die gemeinsame Ziffer gleich
den übrigen Ziffern und Prüfbitdaten in der Gleichung ist.
Ein Beispiel einer Ausführungsform einer Kodierschaltung für Zifferndaten dO und &2k ist in Fig. 3 dargestellt. Die vier
Ziffernnutzbits dl bis d1! und das Prüfbit el liegen jeweils
als Eingangssignale an einem mit fünf Eingängen versehenen EXCLUSIV ODER-Torschaltkreis 21I an. In gleicher Weise liegen
Eingangssignale d5, dlO, dl5, d2O und ein Prüfbit c6 an
.einem weiteren "XCLUSIV ODER-Torschaltkreis 26 an, welcher
- 19 009830/1635
ebenfalls fünf Eingänge aufweist. Es sei bemerkt, daß keines dieser Ziffernbits gleich ist, weder in deni besonderen
EXCLUSIV ODER-Torschaltkreis noch in dem diesem zugeordneten. EXCLUSIV ODER-Torschaltkreis. Demgemäß beinhalten die Ausgangssignale
jeweils der EXCLUSIV ODER-Torschaltkreiee 21J
bzw. 26 jeweils eine Bestimmung bzw. Kopie des Nutzbits dO, welche jeweils als gesonderte Eingangssignal auf einen
Schwellenwertlogik-Schaltkreis 28 gegeben werden. Das
ψ Originalnutzbit dO wird als drittes Eingangssignal direkt
ebenfalls auf dem Schwellenwertlogik-Schaltkreie 28 gegeben. Da an diesem Schaltkreis 28 drei Eingangssignale vorhanden sind,
welche jeweils das Hutzbit dO darstellen, wird jeder einzelne Fehler mit Bezug auf entweder dO oder auf eines der Eingangssignale des Schaltkreises 2Ί oder auf eines der Eingangs**
singale des Schaltkreises 26 durch die Wirkung des Schwellenwertlogik-Schaltkreises
28 korrigiert. Der Schwellenwert ' des Schwellenwertlogik-Schaltkreises 28 ist derart einge-
^ stellt, daß er jeweils den Wert angibt, welchen jeweils zwei
beliebige dieser Eingangssignale haben. Wenn demgemäß
eines dieser Eingangssignale fehlerbehaftet ist, wird der Fehler korrigiert. Das Ausgangssignal des
Schwellenwertlogik-Schaltkreises, welcher manchmal auch als Mehrheitswahl-Schaltkreis bezeichnet wird, ist das
Originalnutzbit dO, unter der Voraussetzung, daß sämtliche Eingangssignale an den Schaltkreis 28 jeweils richtig sind
- 20 -
009830/ 1635
bzw. daß mindestens zwei der Eingangssignale an den Schaltkreis
28 richtig sind. Für den Aufbau derartiger Schwellenwertlogik- bzw. Mehrheitstorschaltkreise sind verschiedene
Möglichkeiten bekannt, beispielsweise können derartige Schaltkreise Transistorschwellenwert-Schaltkreise, Widerstandsnetzwerke
usw. aufweisen. Sämtliche Originalnutzbits dO bis d24 werden in gleicher Weise und mit der gleichen
Schaltung gemäß der Darstellung in Fig. 3 erzeugt.
Zur Erweiterung dieses Kodes auf einen Kode, welcher Doppelfehler korrigiert, wird die Modulbauweise angewendet,
welche den Schaltungsaufbau vereinfacht. Für.die Erzeugung
der notwendigen zusätzlichen Kodierung für die Doppelfehlerkorrektur sind zehn weitere Prüfbits erforderlich. Das
folgt aus der 2«m»t-Charakteristik des Kodes, wobei m
gleich 5 und t, die Anzahl korrigierbarer Fehler, gleich 2 war, was auf 20 Prüfbits führt, von welchen zehn Prüfbits bereits
in Bezug auf die Einfachfehlerkorrektur hergeleitet worden sind, welch letztere oben beschrieben ist. Die zusätzlichen
zehn Gleichungen werden aus den in Fig. 4 dargestellten Lateinischen Quadraten Ll und L2 abgeleitet. Diese
Lateinischen Quadrate Ll und L2 werden theoretisch der ursprünglichen Quadratanordnung der 25 Nutzbits überlagert.
Diese Nutzbits, welche jeweils gleichen Ziffern in der Lateinischen Quadrat-Überlagerung entsprechen, sind jeweils
- 21 -
009830/1636
durch EXCLUSIV ODER-Beziehungen miteinander verknüpft und ergeben folgende Gleichungen:
eil = dO*d9*dl3*dl7«d21
C12 = dl«d5«dlUdl8*d22
cl3 = d2*d6*dlO«dl9*d23 Y hergeleitet aus Ll
C12 = dl«d5«dlUdl8*d22
cl3 = d2*d6*dlO«dl9*d23 Y hergeleitet aus Ll
cl5 -
cl6 = dÖ«d8«dll*dl9*d22
cl7 s cl8 = cl9 =
c2O =
hergeleitet aus L2
Diese zusätzlichen zehn Prüfbitgleichungen eil bis c2O
liefern jeweils zwei zusätzliche unabhängige Bestiinmungsgleichungen für die Bestimmung eines jeden Nutzbits. Beispielsweise
kann nun dO aus den beiden zusätzlichen Prüfbitgleichungen eil
und cl6 bestimmt werden. Demgemäß können jeweils zwei zusätzliche Kopien des Nutzbits dO hergeleitet und als
Eingangssignale auf den Schwellenwert-logik-Schaltkreis
gegeben werden. Die Mehrheitswahl erfolgt demgemäß mittels eines "3 aus 5"-Auswählschaltkreises, wobei jeweils zwei der
Eingangssignale dieses Schaltkreises diejenigen Signale sind, welche für den Fall des einfachen Fehlers bereits
- 22 -
009830/1635
hergeleitet wurden, und wobei zwei dieser Signale diejenigen sind, welche aus den zusätzlichen Prüfbitgleichungen für
den Fall des zweifachen Fehlers hergeleitet wer'en. Diese
vier Eingangssignale stellen zusammen mit dem Nutzbit selbst
die fünf Eingangssignale des Auswählschaltkreises dar. Die Ausführung einer Schaltung für ein Nutzbit dO ist
beispielsweise in Fig. 5 dargestellt. Zwei EXCLUSIV ODER-Torschaltkreise 30 bzw. 32 und deren Eingänge, welche in
Fig. 5 in einem Block I aus gestrichelten Linien dargestellt sind, entsprechen der in Fig. 2 für den Fall der Korrektur
eines einfachen Fehlers dargestellten Dekodierschaltung. EXCLUSIV ODER-Torschaltkreise 31I bzw. 36, welche als
Eingangssignale jeweils die Ausdrücke der Gleichungen, welche jeweils aus den Prüfbitgleichungen eil bzw. cl6 hergeleitet
sind, aufweisen, sind der für den Fall der Korrektur eines einfachen Fehlers geltenden Schaltung hinzugefügt worden,
so daß sich die zweifache Fehlerkorrekturfähigkeit für das Nutzbit dO ergibt. Demzufolge sind die Ausgangssignale der EXCLUSIV
ODER-Schaltkreise 31I und 36 jeweils gleich dO. Es sind
demzufolge fünf dO aufweisende Eingangssignale zusammen
mit vier zusätzlichen Bestimmungen für dO jeweils als Eingangssignale an einem Mehrheitswahlschaltkreis 38 vorhanden.
Dieser Mehrheitswahlschaltkreis 28, an welchem fünf Eingangs si finale vorhanden sind, ist damit in der
Lage, zwei beliebige Fehler zu korrigieren. Mit anderen
- 23 009830/1635
Worten, dieser Schaltkreis besitzt die Fähigkeit, mit dem richtigen Ausgangssignal dO dann zu antworten, wenn drei
beliebige seiner Eingangssignale richtig sind, waa solange der Fall ist, wie zwei bzw. weniger als zwei Fehler in den
Nutz- und Prüfbits enthalten sind. Es ist außerdem günstig, daß die Schaltung, welche zur Korrektur des zusätzlichen Fehlers,
d.h. des zweiten Fehlers, erforderlich ist, als Schaltungsmodul der Korrekturschaltung für den einfachen Fehler
hinzugefügt wird, vgl. Block II in Fig. 5. Das ist von besonderer Bedeutung, da dadurch der Schaltungsaufbau für
die Korrektur des einfachen Fehlers nicht gestört wird. Aus dieser Art des Schaltungsaufbaues ergibt sich eine beträchtliche
Flexibilität, da die einzelnen Schaltungeteile in Modulen aufgebaut werden können, welche einfach "zusammengepackt"
werden.
Für die Ausdehnung des angeführten Beispieles auf den Fall der dreifachen Fehlerkorrektur wird das Konzept
der Modulbauweise dadurch fortgesetzt, daß zusätzliche Prüfbitgleichungen c21, c22.... c3O aus in Fig. 1J dargestellten
Lateinischen Quadraten L3 und Lh abgeleitet werden.
Es ergeben sich damit folgende Prüfbitgleichungen:
009830/1635
c21 = dO*d7 »dl4*dl6«d23
c22 = dl*d8*dlO<*dl7*d24
c23' = d2«d9*dllodl8*d20
c24 = c25 =
aus L3
c26 = c27 = c28 = d2*d8*dl4<bdl5*d21
c29 = c3O =
aus Lk
Aus diesen Prüfbitgleichungen ist ersichtlich, daß nunmehr jeweils zwei weitere zusätzliche Bestimmungsgleichungen
für die Bestimmung eines jeden Nutzbits vorhanden sind.
Beispielsweise kann dO aus den Prüfbitgleichungen c21 und c26 abgeleitet werden. Eine Fehlerkorrektur wird demzufolge
durch ein "4 aus 7"-Auswählen bewirkt, was beispielsweise für dO in der Schaltung in Fig. 5 dargestellt ist.
Ein Vergleich des Blockes III in Fig. 5 mit den Blöcken I und Hergibt, daß EXCLUSIV ODER-Torschaltkreise 40 bzw.
zu der in Fig. 5 dargestellten Schaltung hinzugefügt worden sind, so daß sich zwei zusätzliche Bestimmungsmöglichkeiten
für das Nutzbit dO bzw. ein sechstes und ein siebentes dO-Eingangssignal an dem Auswählschaltkreis 38 ergeben. Drei
der Eingangssignale an dem Auswählschaltkreis 38 können
- 25 -
009830/1635
V ^
fehlerbehaftet sein, trotzdem erzeugt dieser Schaltkreis das ursprüngliche dO-Ausgangssignal, d.h. drei Fehler in
den Nutz- und Prüfbits können tatsächlich korrigiert werden. Die gleiche Theorie und die gleiche Schaltung wird für jedes
der anderen 21J Hutzbits benötigt.
Der Block I in Fig. 5 entspricht der Schaltung zur Erzeugung von dO in Fig. 3, während der Block II in Fig.
diejenigen EXCLUSIV ODER-Torschaltkreise aufweist, welche in Fig. 5 zur Erzielung der Doppelfehlerkorrektur hinzugefügt
worden sind. Die in dem aus gestrichelten Linien gebildeten Block III angeordneten EXCLUSIV ODER-Torschaltkreise
sind diejenigen, welche zur Erzielung der Dreifachfehlerkorrektur hinzugefügt worden sind. Aus dem oben
gesagten ergibt sich, daß jede Erhöhung der Anzahl von Fehlern t, welche korrigiert v/erden können, jeweils zwei
zusätzliche EXCLUSIV ODER-Schaltkreise erforderlich macht.
Ψ Die Anzahl von Fehlern, welche korrigiert werden können,
ist durch den Wert m gemäß folgender Gleichung begrenzt:
t i
Es muß außerdem in Betracht gezogen werden, daß iine praktische Grenze dort erreicht ist, wo der zusätzliche
Schaltungsaufwand hinsichtlich der Möglichkeit, daß viele
- 26 009830/ 1635
Fehler gleichzeitig auftreten, nicht gerechtfertigt ist.
In fig. 5 ist dargestellt, daß mittels des Modules I
eine einfache Fehlerkorrektur möglich ist, daß mittels der Module I und II eine zweifache Fehlerkorrektur möglich
ist und daß schließlich durch Hinzufügen des Moduls III eine dreifache Fehlerkorrektur möglich ist. Es ist dabei
von Vorteil, daß die einzelnen Module jeweils identisch sind. Demzufolge kann ein beliebiges Modul dieser drei
Module tatsächlich zur Korrektur eines einfachen Fehlers, zwei beliebige Module zur zweifachen Fehlerkorrektur usw.
verwendet werden. Tatsächlich bezieht sich die Modularität der Schaltung auf die EXCLUSIV ODER-Schaltkreise innerhalb
der Module. Beispielsweise wird eine einfache Fehlerkorrektur durch Verwendung zweier beliebiger SXCLUSIV ODER-Schaltkreise,
z.B. der Schaltkreise 30 und *J2 in Fi^. 5, erzielt. Gleichermaßen
ist eine Mehrfachfehlerkorrektur durch Verwendung jeweils zweier beliebiger EXCLUSIV ODER-ochaltkreise für
jede zusätzliche einfache Fehlerkorrekturfähigkeit erzielbar. Die Modulbauweise ist für die "Fackung" integrierter Schaltkreise
äußerst wichtig.
Eine Nachricht, welche k Nutzbits weniger als m Nutzbits enthält, wird in genau gleicher Weise kodiert bzw.
- 27 009830/1635
ir
2 dekodiert wie Nachrichten, welche m Nutzbits aufweisen.
Jeweils ein Beispiel einer Ausführungeform jeweils einer
Kodierschaltung bzw. einer Dekodierschaltung für 23 Nutzbits ist jeweils in den Fig. 6 bzw. 7 dargestellt. Die
Prüfbitgleichungen werden durch Erweiterung der Nutzbits des Kodes auf das nächstgrößere Quadrat abgeleitet. Im
Falle des 23 Nutzbit-Kodes ist das nächstgrößere Quadrat Der Kode bzw. die Schaltungsausführung werden aufeinanderfolgend
dadurch gekürzt, daß die Extranutzbits eliminiert werden. Beispielsweise sind bei dem 23 Nutzbit-Kodierer
gemäß der Darstellung in Fig. 6 die Eingänge für die Nutzbits 23 und 2k eliminiert. Tatsächlich können aber auch
zwei beliebige andere Nutzbits eliminiert sein. Mit Bezug auf die Zeilen- und Spaltengleichungen für die früfbits el
bis clO, welche in der Beschreibung für das 25 Nutzbit-Beispiel abgeleitet worden sind, ist ersichtlich, daß die
Nutzbits d23 und d2k in der Prüfbit-Gleichung c5 vorkommen,
daß weiter das Nutzbit d23 in der Prüfbitgleichung c9 und das Uutzbit d2*J in der Prüfbitgleichung clO vorkommt.
Demzufolge weist die Kodierschaltung gemäß der Darstellung in Fig. 6 zur Erzeugung der Prüfbits el bis clO jeweils
nur drei Eingänce an einem EXCLUSIV ODER-Schaltkreis 50
zur Erzeugung des Prüfbits c5 und jeweils vier Eingänge an EXCLUSIV ODER-Schaltkreisen 52 bzw. 54 zur Erzeugung
der Prüfbits c9 bzw. clO auf. Die Linearlogik- bzw. dleichheitsprüfschaltkreise,
welche im wesentlichen die Prüfbit-
- 28 009830/1635
gleichungen jeweils in das entsprechende gemeinsame Nutzbit
umwandeln, weisen demzufolge weniger Eingänge auf. Das Nutzbit d22 beispielsweise erscheint jeweils in beiden
Prüfbitgleichungen c5 und c8. Demgemäß weist ein EXCLUSIV
ODER-Schaltkreis 56 in Fig. 7 nur drei Eingänge auf. Tatsächlich
kann aber der reguläre, mit fünf Eingängen versehene Schaltkreis zusammen mit den unbenutzten Eingängen
verwendet werden, welch letztere in diesem Fall gezwungen werden, ein festes Signal, wie beispielsweise "0", zu erzeugen.
Es ist von Vorteil, daß die Dekodierschaltung außer
für den Auswählschaltkreis zur Feststellung -von Fehlern verwendet v/erden kann. Der Linearlogik-Schaltkreis erfüllt
eine Gleichheitsprüffunktion, mittels welcher die Fehlerfeststellung möglich ist. Eine zusätzliche Fehlerfeststellfähigkeit
wird durch Hinzufügen eines überlagerten Gleichheitsprüfschaltkreises
erzielt. Dieser letztgenannte Schaltkreis prüft die Crleichheit der gesamten Nachricht anstelle der
Gruppen von m Nutzbits, welch letztere durch die Linearlogik-Gleichheitsprüfschaltkreise
geprüft werden, welche im vorhergehenden beschrieben worden sind.
Im Rahmen der Erfindung bietet sich dem Fachmann über die beschriebenen Ausführungsbeispiele hinaus eelbst-
- 29 009830/1635
3o
verständlich eine Vielzahl von Vereinfachungs- und Verbesserungsmöglichkeiten sowohl hinsichtlich des Aufbaues
als auch der Betriebsweise des erfindungsgemäßen Systems.
- 30 009830/1635
Claims (12)
- Patentansprüche:( IJ Fehlerkorrigierendes System zur Korrektur mehrfacher, zufälliger Fehler in Jeweils k s m Nutzbits enthaltenden Nachrichten, wobei m eine ganze Zahl ist, gekennzeichnet durch eine Kodierschaltung (12), welche diesen Nutzbits für jede zusätzliche einfache Fehlerkorrekturfähigkeit jeweils 2«m PrUfbits hinzufügt, und durch eine Dekodierschaltung (14), welche Jeweils für jedes der Nutzbits einen Fehlerkorrekturschaltkreis und -für jede einfache Fehlerkorrekturfähigkeit ein Linearlogik-Schaltkreismodul aufweist, derart, daß für Jedes Nutzbit eine Gleichheitsprüfung durchgeführt wird, wobei jeweils die Ausgangssignale der Linearlogik-Schaltkreismodule jeweils die Eingangssignale für den betreffenden Fehlerkorrekturschaltkreis bilden.
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß jedes Linearlogik-Schaltkreismodul (I bzw. II bzw. III) zwei EXCLUSIV ODER-Schaltkreise (30, 32 bzw. 34, }6 bzw. 40, 42) aufweist, welche jeweils mit m Eingängen versehen sind, welch letztere aus (m - 1) Nutzbiteingängen und einem PrUfbiteingang bestehen.
- 3. System nach Anspruch 2, dadurch gekennzeichnet, daß jeweils zwei beliebige dieser EXCLUSIV ODER-Schalt-- 31 009830/1635kreise (30, 32 bzw. 34, 36 bzw. 40, 42) einee beliebigen Linearlogik-Schaltkreismodules (I bzw. II bzw. III) bzw. einer Kombination der Linearlogik-Schaltkreismodule zur Erzeugung eines Ausgangssignales verwendet werden, welches das gleiche Nutzbit darstellt.
- 4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Fehlerkorrekturschaltkreis für jedes der Nutzbits Jeweils einen Schwellenwertlogik-Schaltkreis (28) aufweist, wobei der betreffende Sohwellenwert derart festgelegt ist, daß dann ein, ein Nutzbit darstellendes Auegangssignal erzeugt wird, wenn die Nutzbits der Mehrheit der an den Nutzbiteingängen des Schaltkreises ankommenden Nutzbits unter sich gleich sind.
- 5· System nach Anspruch 4, dadurch gekennzeichnet, daß Jeder Schwellenwertlogik-Schaltkreis (28, 38) einen zusätzlichen Eingang für ein Signal aufweist, welches das Nutzbit selbst darstellt, das der entsprechende Schwellenwertlogik-Schaltkreis gerade korrigiert.
- 6. System nach einem der Ansprüche 1 bis 5» dadurch gekennzeichnet, daß die Kodierschaltung (12) für- 32 -009830/1635jede einfache Pehlerkorrekturfähigkeit jeweils 2«m EXCLUSIV ODER-Schaltkreise (24, 26 bzw. 30, 32 bzw. 34, 36 bzw. 40, 42) aufweist, wobei jeder EXCLUSIV ODER-Schaltkreis mit m Eingängen zum Empfang unterschiedlicher Kombinationendieser m Nutzbits versehen ist und wobei diese 2«m EXCLUSIV ODER-Schaltkreise jeweils paarweise einen gemeinsamen Nutzbiteingang aufweisen und kein weiteres Nutzbit gemeinsam haben, und wobei schließlich die Ausgangssignale der EXCLUSIV ODER-Schaltkreise jeweils verschiedene Prüfbits der 2 m Prüfbits darstellen.
- 7. System nach Anspruch 6, dadurch gekennzeichnet, daß die verschiedenen, jeweils an die Eingänge der EXCLUSIV ODER-Schaltkreise (24, 26 bzw. 30, 32 bzw. 34, 36ο bzw. 40, 42) angelegten Kombinationen der m" Nutzbits nach der "Lateinischen Quadrat"-Theorie bestimmt sind.
- 8. System nach Anspruch 6 oder 7» dadurch gekennzeichnet,ρ daß die verschiedenen Kombinationen der m Nutzbits jeweils der EXCLUSIV ODER-Schaltkreise (24, 26 bzw. 30, 32 bzw. 34, 36 bzw. 40, 42) jeweils für eine einfache Pehlerkorrekturfähigkeit dadurch erzeugt werden, daß die Nutzbits in jeder Zeile und in jeder Spalte einer Grunddatenquadrat-- 33 -009830/1635anordnung an die Eingänge jeweils entsprechender EXCLUSIV ODER-Schaltkreise angelegt werden.
- 9. System nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß die verschiedenen Kombinationen derm2 Nutzbits jeweils der EXCLUSIV ODER-Schaltkreise (24, bzw. 30, 32 bzw. 34, 36 bzw. 40, 42) jeweils für eine weitere einfache bzw. für die jeweils folgenden einfacheren Fehlerkorrekturfähigkeiten dadurch erzielt werden, daß diejenigen Nutzbits jeweils an die Eingänge entsprechender EXCLUSIV ODER-Schaltkreise angelegt werden, welche in ihrer Stellung in der Qrunddatenquadratanordnung jeweils der Stellung von Ziffern entsprechen, welche jeweils in zwei orthogonalen "Lateinischen Quadraten" je einfache Fehlerkorrekturfähigkeit gleich sind.
- 10. Fehlerkorrekturverfahren für Nachrichten mit jeweils k = m Nutzbits, wobei m eine ganze Zahl ist, gekennzeichnet durch folgende Schritte:a) Hinzufügen von 2-m Prüfbits je einfache Fehlerkorrekturfähigkeit t zu der Nachricht, so daß ' 2«m-t Prüfbitgleichungen gebildet werden, von welchen Jeweils genau 2«t Gleichungen- 34 -0098 30/1635ein gemeinsames Nutzbit enthalten,b) Umwandeln der Prüfbitgleichungen in Gleichungen zur Bestimmung der gemeinsamen Nutzbits, undc) Verwenden dieser gemeinsamen Nutzbits zur Erzeugung eines Ausgangssignales, welches ein richtiges Nutzbit jeweils dann versinnbildlicht, wenn sich eine Mehrheit von solchen gemeinsamen Nutzbits ergibt.
- 11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß für jeweils eine einfache Pehlerkorrekturfähigkeit zu der Nachricht in jeder Zeile und jeder Spalte einer Grund quadratanordigefügt wird.quadratanordnung den m Nutzbits jeweils ein Prüfbit hlnzu-
- 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die 2-m-t Prüfbltausgangsgleichungen für die Fähigkeit zwei bzw. mehr als zwei Fehler zu korrigieren dadurch gebildet werden, daß in der Grunddatenquadratanordnung jeweils zu jeder Gruppe von Nutzbits jeweils ein Prüfbit hinzugefügt wird, welche hinsichtlich ihrer Stellung- 35 -009830/ 16353frJewells gleichen Ziffern In Jeweils einem von zwei orthogonalen Lateinischen Quadraten für m Nutzbite entsprechen« wobei für Jede Fähigkeit, Jeweils einen weiteren Fehler zu korrigieren. Jeweils weitere zwei orthogonale Lateinische Quadrate verwendet werden.009830/1635
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78972469A | 1969-01-08 | 1969-01-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2000565A1 true DE2000565A1 (de) | 1970-07-23 |
Family
ID=25148498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702000565 Pending DE2000565A1 (de) | 1969-01-08 | 1970-01-07 | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler |
Country Status (5)
Country | Link |
---|---|
US (1) | US3582878A (de) |
CA (1) | CA935930A (de) |
DE (1) | DE2000565A1 (de) |
FR (1) | FR2030129A1 (de) |
GB (1) | GB1247823A (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697948A (en) * | 1970-12-18 | 1972-10-10 | Ibm | Apparatus for correcting two groups of multiple errors |
US3688265A (en) * | 1971-03-18 | 1972-08-29 | Ibm | Error-free decoding for failure-tolerant memories |
GB1389551A (en) * | 1972-05-15 | 1975-04-03 | Secr Defence | Multiplex digital telecommunications apparatus having error- correcting facilities |
US3831144A (en) * | 1973-06-11 | 1974-08-20 | Motorola Inc | Multi-level error detection code |
GB2149156B (en) * | 1983-11-04 | 1987-10-21 | Gen Electric Co Plc | A method of encoding and decoding |
US6367046B1 (en) * | 1992-09-23 | 2002-04-02 | International Business Machines Corporation | Multi-bit error correction system |
US5457702A (en) * | 1993-11-05 | 1995-10-10 | The United States Of America As Represented By The Secretary Of The Navy | Check bit code circuit for simultaneous single bit error correction and burst error detection |
US7069494B2 (en) * | 2003-04-17 | 2006-06-27 | International Business Machines Corporation | Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism |
DE102010006383B4 (de) * | 2010-01-29 | 2015-03-26 | Infineon Technologies Ag | Elektronische Schaltungsanordnung zum Verarbeiten von binären Eingabewerten |
GB2515798A (en) | 2013-07-04 | 2015-01-07 | Norwegian Univ Sci & Tech Ntnu | Network coding over GF(2) |
CN112000511A (zh) * | 2020-07-28 | 2020-11-27 | 京微齐力(北京)科技有限公司 | 一种基于汉明码的ecc电路优化方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2978678A (en) * | 1956-02-20 | 1961-04-04 | Ibm | Data transmission system |
US3037697A (en) * | 1959-06-17 | 1962-06-05 | Honeywell Regulator Co | Information handling apparatus |
US3183483A (en) * | 1961-01-16 | 1965-05-11 | Sperry Rand Corp | Error detection apparatus |
US3200374A (en) * | 1962-03-27 | 1965-08-10 | Melpar Inc | Multi-dimension parity check system |
US3234510A (en) * | 1962-04-25 | 1966-02-08 | Teletype Corp | Spiral error detection circuit for telegraph systems |
US3222644A (en) * | 1962-07-26 | 1965-12-07 | Gen Electric | Simplified error-control decoder |
US3164804A (en) * | 1962-07-31 | 1965-01-05 | Gen Electric | Simplified two-stage error-control decoder |
US3369184A (en) * | 1964-06-19 | 1968-02-13 | Navy Usa | Orthogonal sequence generator |
US3404373A (en) * | 1965-02-18 | 1968-10-01 | Rca Corp | System for automatic correction of burst errors |
US3439332A (en) * | 1965-07-06 | 1969-04-15 | Teletype Corp | Spiral-vertical parity generating system |
-
1969
- 1969-01-08 US US789724A patent/US3582878A/en not_active Expired - Lifetime
- 1969-12-11 FR FR6942814A patent/FR2030129A1/fr not_active Withdrawn
-
1970
- 1970-01-05 CA CA071348A patent/CA935930A/en not_active Expired
- 1970-01-07 DE DE19702000565 patent/DE2000565A1/de active Pending
- 1970-01-08 GB GB0041/70A patent/GB1247823A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
CA935930A (en) | 1973-10-23 |
FR2030129A1 (de) | 1970-10-30 |
GB1247823A (en) | 1971-09-29 |
US3582878A (en) | 1971-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE69022705T2 (de) | System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung. | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE2320422A1 (de) | Verfahren zur fehlererkennung | |
DE2659031B2 (de) | Fehlerkorrektur- und -Steuersystem | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
DE2946982A1 (de) | Kodierverfahren fuer ein faksimilesignal | |
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) | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE102005022107A1 (de) | Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge | |
DE2053836C3 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE3784684T2 (de) | Fehlerkorrekturdecoder fuer schnelle behandlung von pufferueberlaeufen. | |
DE2104132C3 (de) | Anordnung zur Mehrfachfehlererkennung und Einzelfehlerkorrektur | |
DE3303269A1 (de) | Verfahren und vorrichtung zur division von bcd-zahlen | |
DE2057256A1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten | |
DE2826454A1 (de) | Faksimilesignal-codiersystem | |
DE69008896T2 (de) | Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage. | |
DE1944963A1 (de) | Stoerungsgesichertes UEbertragungssystem | |
DE1449906B2 (de) | ||
DE1449906C (de) | Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko | |
EP1763168A1 (de) | Verfahren zum Erzeugen von Datentelegrammen, die CRC-Sicherungsanhänge aufweisen, welche eine verringerte Restfehlerwahrscheinlichkeit bieten | |
DE1524891B2 (de) | Schaltungsanordnung zur Korrektur von Fehlerbündeln | |
DE2906578C2 (de) | ||
EP0012828A1 (de) | Schaltungsanordnung zur Korrektur von bytestrukturierten Fehlern |