DE2000565A1 - Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler - Google Patents

Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler

Info

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
Application number
DE19702000565
Other languages
English (en)
Inventor
Bossen Douglas Craig
Sellers Jun Frederic Fairbanks
Mu-Yue Hsiao
Chien Robert Tienwen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2000565A1 publication Critical patent/DE2000565A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements 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

PATB NTAWWAI.Τ1
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
Kodes ist im allgemeinen eine neue Anlage erforderlich.
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
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.
Schließlich beinhaltet die Erfindung ein Fehlerkorrektur-
<_ ρ 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,
- 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:
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-
- 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
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)

  1. 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. 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. 3. System nach Anspruch 2, dadurch gekennzeichnet, daß jeweils zwei beliebige dieser EXCLUSIV ODER-Schalt-
    - 31 009830/1635
    kreise (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. 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. 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. 6. System nach einem der Ansprüche 1 bis 5» dadurch gekennzeichnet, daß die Kodierschaltung (12) für
    - 32 -
    009830/1635
    jede 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 Kombinationen
    dieser 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. 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. 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/1635
    anordnung an die Eingänge jeweils entsprechender EXCLUSIV ODER-Schaltkreise angelegt werden.
  9. 9. System nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß die verschiedenen Kombinationen der
    m2 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. 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/1635
    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.
  11. 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 quadratanordi
    gefügt wird.
    quadratanordnung den m Nutzbits jeweils ein Prüfbit hlnzu-
  12. 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/ 1635
    3fr
    Jewells 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
DE19702000565 1969-01-08 1970-01-07 Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler Pending DE2000565A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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