[go: up one dir, main page]

DE1168677B - System zur Fehlerermittlung und Fehlerkorrektur - Google Patents

System zur Fehlerermittlung und Fehlerkorrektur

Info

Publication number
DE1168677B
DE1168677B DEJ21967A DEJ0021967A DE1168677B DE 1168677 B DE1168677 B DE 1168677B DE J21967 A DEJ21967 A DE J21967A DE J0021967 A DEJ0021967 A DE J0021967A DE 1168677 B DE1168677 B DE 1168677B
Authority
DE
Germany
Prior art keywords
error
bit
parity
bits
sequence
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
DEJ21967A
Other languages
English (en)
Inventor
Jacob Fredrick Klinkhamer
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 DE1168677B publication Critical patent/DE1168677B/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
    • 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/17Burst error correction, e.g. error trapping, Fire codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND DEUTSCHES 4WWWt PATENTAMT
Internat. Kl.: G06f
AUSLEGESCHRIFT
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Deutsche Kl.: 42 m-I
1 168 677
J 21967 IX c/42 m
20. Juni 1962
23. April 1964
Die Erfindung betrifft ein System zur Ermittlung und Korrektur von bei der Übertragung binärer Informationen aufgetretener Fehler.
Es ist bereits eine Anzahl von Anordnungen zur Prüfung codierter Informationen vorgeschlagen worden. Diese Anordnungen arbeiten gewöhnlich nach dem Prinzip der Paritätsprüfung, nach dem eine oder mehrere Paritäts- oder Prüfziffern einer Gruppe codierter Ziffern zugefügt werden, um eine ausgewählte Ziffernsumme zu ergeben, durch die Fehler identifiziert werden können. In einem binären System kann z. B. eine Paritätsziffer in Verbindung mit einer Gruppe von Informationsziffern verwendet werden und die Paritätsziffer so variiert werden, daß die Summe aller Ziffern, einschließlich der Paritätsziffer, entweder ungerade oder gerade ist. Bei Prüfung auf gerade Parität zeigt eine ungerade Summe der Informationsziffern und der Paritätsziffer an, daß ein Fehler aufgetreten ist.
Die Redundanz, die sich durch Einführen einer Paritätsziffer ergibt, reicht jedoch nicht aus, um eine Reihe verschiedener Fehlerarten festzustellen. Es sind daher eine Anzahl anderer Systeme zur Fehlerfeststellung und -korrektur entwickelt worden, die eine beträchtliche Anzahl von Paritätsziffern verwenden. Jede der Paritätsziffern in solchen Systemen ist einer bestimmten Kombination von Informationsziffern und anderen Paritätsziffern zugeordnet, so daß dadurch die Möglichkeit gegeben ist, den Fehlerort, d. h. die Stelle, in der der Fehler auftrat, zu ermitteln und die Informationsgruppe zu korrigieren.
Besonders schwierige Bedingungen ergeben sich für ein Fehlerermittlungs- und -korrektursystem, wenn durch die Fehlerursache mehrere aufeinanderfolgende Ziffern fehlerhaft werden. Solche Bedingungen treten häufig auf, wenn digitale Daten zwischen zwei entfernten Stellen übertragen werden. Die Wahrscheinlichkeit, daß bei Auftreten von Fehlern nicht nur eine Ziffernstelle, sondern auch die benachbarten fehlerhaft empfangen wurden, erhöht sich stark.
Es ist daher erwünscht, in solchen Systemen auftretende Fehler mit einem Minimum an redundanten Ziffern und an Schaltungsaufwand zu entdecken und zu korrigieren. Dies wird gemäß der Erfindung dadurch erreicht, daß zwei Sätze oder Untergruppen von Paritätsbits einer Informationsgruppe hinzugefügt werden. Die eine Untergruppe dient dazu, die Art des aufgetretetenen Fehlers festzustellen und wird als Fehlerart-Untergruppe bezeichnet, die andere Untergruppe von Paritätsbits, als Fehlerort-Untergruppe bezeichnet, dient zur Bestimmung des System zur Fehlerermittlung und Fehlerkorrektur
Anmelder:
International Business Machines Corporation,
New York, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ.), Sindelfinger Str. 49
Als Erfinder benannt:
Jacob Fredrick Klinkhamer, Eindhoven
(Niederlande)
Beanspruchte Priorität:
V. St. v. Amerika vom 22. Juni 1961 (118 927) - -
Fehlerortes. Die Bitstellen, die durch einzelne Bits der Fehlerort-Untergruppe geprüft werden, werden durch eine erste und die Bitstellen, die durch die Bits der Fehlerart-Untergruppe geprüft werden, durch eine zweite sogenannte m-Folge bestimmt. Eine m-Folge ist dabei definiert als eine Reihe binärer Einsen und Nullen von 2^—1 binären Ziffern, die in einer bestimmten Reihenfolge angeordnet sind und die sich nach 2^—1 Ziffern wiederholen.
Ein bekanntes Fehlerkorrektursystem für die Korrektur von Einzelfehlern arbeitet nach einer sogenannten Paritätsprüf tabelle. Eine solche Tabelle ist nachstehend angegeben. In dieser Tabelle 1 bezeichnet/? eine Paritätsziffer und k eine Prüf Summenziffer.
Tabelle 1 Pi Codegruppenstelle Ps D1 D2 Dz Di
Prüfsumme 1 3 4 5 6 7
Prüfsummen oder X X X X
bit Fehlerort- P2 X X X
Untergruppe- 2 X X X X
Bits
1 K X
2 K
3 K
In dem durch die vorstehende Tabelle dargestellten Beispiel wird eine Gruppe von sieben binären Ziffernstellen (im folgenden Bitstellen genannt) angenommen. Von den sieben Bitstellen sind D1 bis
409 560/193
D4 Datenbitstellen und P1 bis p3 Paritätsbitstellen. Die »X« in dieser Tabelle geben an, daß das Paritätsbit P1 die Bitstellen 1, 4, 5 und 7, das Paritätsbit p., die Bitstellen 2, 4, 6 und 7 und das Paritätsbit pl die Bittellen 3, 5, 6 und 7 prüft.
Wenn diese Codegruppe von sieben Bits von einer Stelle zur anderen übertragen und an der Empfangsstelle richtig umgesetzt wird, kann für jede der in Tabelle 1 gezeigten Paritätsbit-Codegruppen ein Prüfsummenbit gebildet werden. Bei Verwendung einer geradzahligen Paritätsprüfung hat jede dieser Prüfsummen, bei denen es sich um die einzelnen Bits Ar1 bis Ar3 einer sogenannten Untergruppe für die örtliche Lage des Fehlers, im folgenden kurz als Fehlerort-Untergruppe bezeichnet, handelt, den Wert 0. Wenn jedoch ein Bit der umgesetzten Codegruppe falsch empfangen wird, sind die Bits Ar1 bis k3 der Untergruppe nicht alle Null, und daher wird ein Einzelfehler festgestellt. Diejenige Bitstelle, in der sich der festgestellte Fehler in der Codegruppe befindet, wird angezeigt durch den Zustand oder eine binäre Zählung der Fehlerort-Untergruppe Ar1 bis Ar3. Die Kombinationen der Fehlerort-Untergruppe und die jeweiligen Bitstellen in der Codegruppe, die die Fehlerort-Untergruppen-Kombinationen als falsch anzeigen, sind in Tabelle 2 aufgeführt.
Tabelle 2 gezeigten Fehlerort-Untergruppen ergeben. Das Erhalten verschiedener Fehlerort-Untergruppen zur Kennzeichnung der Bitstelle, in der ein Einzelfehler auftritt, ist der Grundbegriff, auf dem das bekannte Fehlerkorrektursystem beruht.
Es sind außerdem Systeme zum Feststellen oder Korrigieren mehrerer Fehler bekannt. Für ein Sytem, das Einzelfehler korrigiert und Doppelfehler feststellt, ist die Paritätsprüftabelle in Tabelle 3 aufgeführt.
Tabelle 3
PäritätS" 15 1 Fehlerort- Pi Codegruppenstelle Ps D1 Di Ds Di Pt
bit 2 Untergruppe- 1 Vi 3 4 5 6 7 8
3 Bits X 2 X X X
20 4 *i X X X
k2 X X X X X
X X X X X X X
* X
Tabelle 2 Fehlerort-Untergruppe
Fehler in der Bitstelle 0 0 1
0 1 0
1 0 0
0 1 1
10 1
1 1 0
1 1 1
0 0 0
2. P2
4. D1
6. D,
Keine Fehler
Tabelle 3 gleicht der in Tabelle 1 gezeigten Paritätsprüftabelle mit der Ausnahme, daß der Codegruppe eine achte Bitstelle hinzugefügt wurde und außerdem ein Paritätsbit p4 verwendet wird. Die Paritätsbits P1, p2 und p3 prüfen dieselben Bitstellen wie in Tabelle 1. Das Paritätsbit p4 prüft jede der acht Bitstellen.
Die Fehlerort-Untergruppen für Fehler in bestimmten Bitstellen sind nachstehend in Tabelle 4 aufgeführt:
Die vorstehende Tabelle kann als Tabelle für die Fehlerort-Untergruppe 1 bezeichnet werden und beruht auf den nachstehenden Überlegungen, die an Hand der Paritätsprüftabelle 1 gemacht werden können: Um eine Bitstelle zu finden, deren Wert falsch empfangen worden ist, muß eine Empfangs-Paritätsprüfung in bezug auf die gleichen ausgewählten Bitstellen ausgeführt werden, die anfangs zur Bestimmung des Wertes jedes Paritätsbits P1 bis p3 benutzt worden sind. Dabei werden die drei (in diesem Beispiel) Prüfsummen oder Bitstellen der Fehlerort-Untergruppe aufgebaut. Wenn eine richtige Parität in den jedem der Paritätsbits zugeordneten ausgewählten Bitstellen empfangen wird, sind alle Bits Ar1 bis Ar3 der Fehlerort-Untergruppe Nullen. Wenn ein Fehler in Bitstelle 1 auftritt, wird P1 beeinflußt und wird eine 1, während p2 und p3 nicht beeinflußt werden, weil diese Paritätsbits die Bitstelle 1 der Anfangsdaten nicht prüfen. Daher ist die Fehlerort-Untergruppe für ein Fehlerbit in Bitstelle 1 gleich 100. Ebenso ist die Fehlerort-Untergruppe für einen Fehler in Bitstelle 2 gleich 010 und für einen Fehler in Bitstelle 3 gleich 001. Ein Fehler in Bitstelle 4 beeinflußt P1 und p2, und daher ist die Fehlerort-Untergruppe für einen Fehler in diesen Bitstellen gleich 110. Die gleichen Überlegungen können verwendet werden, um zu zeigen, daß Einzelfehler in den Bitstellen 5, 6 und 7 die in
1 Tabelle 4 Fehlerort-Untergruppe
A4 ^3 "2 1
η η ι
35 2. Fehler in Bitstelle 1 0
1
1
0
0
ο
40 4. 1
1
0
1
1
1
0
1
1
1
0
6 1
1
1
1 1 1
7 r2 1 0
0
0
0
0
0
8.
45
D, 1
0
D,
D,
P4 ...
Keine Fehler
Wenn die Codegruppe nach ihrer Umsetzung keine Fehler enthält, sind alle Paritätsbedingungen erfüllt, wenn die Prüfsummen tabelliert werden, und die Fehlerort-Untergruppe ist gleich 0000. Wenn in einer beliebigen Bitstelle der Codegruppe ein Einzelfehler auftritt, erhält man zwei getrennte Anzeigen. Erstens ist die Paritätsbedingung für alle Bits nicht erfüllt, und daher wird die Prüf summe Ar4 gleich 1, was einen Einzelfehler anzeigt. Zweitens zeigen die Bits Ar1 bis k3 der Prüfsumme der Fehlerort-Untergruppe den Ort des Einzelfehlers an, denn der Wert 000 von Ar1 bis ks zeigt jetzt einen Fehler in der achten Bitstelle der Codegruppe an. Wenn dagegen zwei Fehler aufgetreten sind, ist die Paritätsbedingung für alle Bits erfüllt, und das Prüfsummenbit fc4 ist 0, aber mindestens eins der Prüfsummenbits kv k.2 oder Ar3 ist nicht gleich 0. Anders ausgedrückt, kann man an Hand von Tabelle 4 feststellen, ob ein Einzelfehler gemacht worden ist, indem man die aus den Prüfsummenbits Ar1 bis Ar4 bestehende Fehlerort-Untergruppe betrachtet. Wenn die Bits dieser Untergruppe nicht alle gleich 0 sind, ist ein einzelner
oder ein doppelter Fehler gemacht worden. Wenn das Prüfsummenbit ki eine 1 ist, zeigt dies einen Einzelfehler an, und die Prüfsummenbits kt bis k3 stellen die Bitstelle in der Codegruppe dar, in der der Einzelfehler aufgetreten ist. Wenn dagegen das . Prüfsummenbit Zc4 eine 0 und eins oder mehrere der Prüfsummenbits kx bis k3 gleich 1 sind, zeigt das das Auftreten von zwei Fehlern an. Über den Ort der beiden Fehler stehen jedoch keine Angaben zur Verfügung. Dieses System wird daher als System zum to Korrigieren von Einzelfehlern und zum Feststellen von Doppelfehlern bezeichnet.
Es ist außerdem eine Anordnung zum Korrigieren einzelner und zweier benachbarter Fehler bekannt. Tabelle 5 gibt die zugehörige Paritätsprüftabelle wieder, die eine Codegruppe von sieben Bitstellen verwendet, die aus vier Paritätsbitstellen und drei Datenstellen besteht.
stehende Gleichung kann auch so ausgedrückt werden:
Tabelle Fehlerort- 1 ; 5 3 4 Pi
5
Pz
6
Po
7
Paritäts Untergruppe X X
bit X X
1 X X X
2 X X X X X X
3 kl Codegruppenstelle
4 D2
2
X
X
X
(1)
J=I
30
35
Diese Tabelle zeigt, daß
kx die Bitstellen 1, 2 und 4 (D1, D2 und P1) prüft, k2 die Bitstellen 2, 3 und 5 (D2, D3 und p2) prüft, k3 die Bitstellen 3, 4 und 6 (D3, P1 und p3) prüft und
&0 die Bitstellen 1 bis 7 (D1 bis p0) prüft.
Der Hauptunterschied zwischen der in Tabelle 5 gezeigten Paritätsprüftabelle und der in Tabelle 3 wiedergegebenen besteht darin, daß die von jedem Prüfsummenbit kt bis kt in der Tabelle 3 geprüften Bitstellen willkürlich angeordnet sind, nachdem zwei Bedingungen in der Paritätsprüftabelle für das Einzelfehler-Korrektursystem erfüllt sind. Die erste Bedingung ist die, daß jede Bitstelle der Codegruppe oder des »Wortes« in einer Prüfsummengruppe enthalten sein muß, die eins der Bits in der Fehlerort-Untergruppe bestimmt. Die zweite Bedingung ist die, daß jede Bitstelle der Codegruppe eine andere Kombination der Paritätsbits pt bis p4 haben muß.
In der Tabelle 5 sind die beiden Bedingungen der Tabelle 3 erfüllt, aber außerdem muß eine dritte Bedingung erfüllt sein, nämlich die, daß die Bitstellen, auf die sich ein Paritätsbit bezieht, gemäß einer m-Folge bestimmt werden. Der Ausdruck »m-Folge« ist in der Technik bekannt und kann definiert werden durch die Ausgangssignalfolge, die aus einer Stufe eines binären Schieberegisters mit R Stufen geliefert wird. Eine m-Folge ist lediglich eine Reihe von Nullen und Einsen von 2^—1 binären Ziffern, die in vorherbestimmter Reihenfolge angeordnet sind. Eine echte m-Folge erfüllt die Bedingung, daß
65 at+R = C1^+C2Of+1+C3Of+2.. .CnU1+J1^, (2)
worin C1 bis C^ jeweils einen binären Koeffizienten O oder 1 darstellen, die den Rückkopplungspfad des binären Schieberegisters bestimmen.
Die Anzahl verschiedener m-Folgen, die aus einem /?-stufigen binären Schieberegister erlangt werden, ist nachstehend aufgeführt.
Tabelle 6 6 6 18 16 9 10
48 60
Verschiedene
m-Folgen
Anzahl der Stufen
R=23 4 5 6 7 8
12 2
2^—1 ist die Zahl von binären Ziffern in einer Reihe, bevor diese sich selbst wiederholt. Die vor-Die aus einem i?-stufigen m-Folge-Generator erlangte Zahl verschiedener m-Folgen entspricht außerdem der Zahl verschiedener Gruppen von Koeffizienten C1 bis CR, die für m-Folgen zur Verfügung stehen.
Aus der vorstehenden Tabelle geht hervor, daß aus einem vierstufigen linearen binären Schieberegister zwei verschiedene m-Folgen erhalten werden können. Wenn C1 bis CR jeweils gleich 1100 sind, erhält man die folgende m-Folge:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0101100100 0 1 1 1 1
Wenn C1 bis CR gleich 1001 sind, erhält man die andere m-Folge:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0101111000 1 0 0 1 1
Was die allgemeine Gleichung (1) für eine m-Folge betrifft, so wird die vorstehend angeführte erste Folge speziell ausgedrückt als
In nichtmathematischer Sprache drückt diese spezielle Gleichung die Tatsache aus, daß der Wert der fünften binären Ziffer (at +4) gleich der Summe modulo 2 der Werte der ersten binären Ziffer (at) und der zweiten binären Ziffer (at +1) ist. Zum Beispiel erhält man die fünfte Ziffer in der ersten oben angegebenen m-Folge durch die binäre Addition (modulo 2) der ersten Ziffer (0) und der zweiten Ziffer (1). Die nachfolgenden Ziffern der m-Folge werden in derselben Weise gebildet, bis 2R1 oder insgesamt fünfzehn Ziffern erreicht sind. Diese m-Folge wiederholt sich dann von vorn.
Die zweite vorstehende m-Folge erhält man in ähnlicher Weise, aber weil die Koeffizienten C1 bis CR verschieden sind, nämlich gleich 1001 sind, wird die Gleichung zu
Der Wert der ersten Ziffer (0) plus dem Wert der vierten Ziffer (1) ergibt also den Wert der fünften Ziffer (1).
Es ist schon gesagt worden, daß der Hauptunterschied zwischen den beiden Systemen der ist, daß die Paritätsprüftabelle 5 die zusätzliche Bedingung
erfüllen muß, daß die durch ein Paritätsbit geprüften Bitstellen durch eine m-Folge bestimmt werden. Die durch das Paritätsbit px geprüften Bitstellen sind nachstehend in Tabelle 7 in bezug auf die m-Folge für einen dreistufigen m-Folgen-Generator sowie in bezug auf eine m-Folge, die lediglich das Komplement der echten /η-Folge ist, dargestellt. Das heißt, in der invertierten m-Folge ist jede der Bitstellen das Komplement der Ziffer in der Bitstelle der echten m-Folge.
Tabelle 7
1 2 Bitstelle 4 5 6 7
Di D2 3 Pi Pi Pa Po
X X D3 X 0 o η
B, 0 0 O 0 1 1 1
rl
/η-Folge für R = 3
1 1 1 1 0 0 0
Invertierte m-Folge 0
Man sieht, daß das Paritätsbit P1 in einer Gruppe steht, die der Gruppierung der durch die binären Bits der invertierten m-Folge dargestellten Bitstellen entspricht. Außerdem ist aus Tabelle 5 ersichtlich, daß das Paritätsbit p2 in einer Codegruppierung steht, die die derselben invertierten m-Folge entsprechenden Bitstellen prüft, aber gegenüber dem Paritätsbit P1 um eine Stelle nach rechts verschoben ist. Ebenso steht das Paritätsbit p3 in einer Codegruppierung, die die derselben invertierten m-Folge entsprechenden Bitstellen ebenfalls prüft, die jedoch gegenüber der Codegruppierung für das Paritätsbit p2 um eine weitere Bitstelle nach rechts verschoben ist. Die Tatsache, daß die Bitstellen, die oben in
ίο Tabelle 7 und 5 geprüft werden, einer invertierten m-Folge entsprechen, ergibt ein ziemlich einfaches Korrektursystem für Einzelfehler, denn die Fehlerort-Untergruppen lassen sich gut in einem dreistufigen binären Schieberegister speichern. Außer dieser Vereinfachung des Systems ermöglicht die Anordnung der Paritätsprüftabelle die Korrektur von zwei nebeneinanderliegenden Fehlern, denn Fehler in aufeinanderfolgenden Paaren von Bitstellen (1 und 2, 2 und 3, 3 und 4 usw.) bewirken die Bildung einer Gruppe von Fehlerort-Untergruppen, die der ursprünglich verwendeten echten m-Folge entspricht, jedoch gegenüber dieser um einen feststehenden Betrag verschoben ist. Dies zeigt die nachstehende Tabelle 8, die die Fehlerort-Untergruppen für Einzel-
s5 fehler und Doppelfehler in einer 7-Bit-Codegruppe darstellt.
Tabelle 8
Fehler
in Bitstelle
Fehlerort-
Untergruppe
ks k2 Jc1
Komplement
der Fehlerort-
Untergruppe
k3 k2 ki
Fehler
in Bitstelle
Fehlerort-
Untergruppe
ks ki k,.
1
2
3
4
5
6
7
O O 1
O 1 1
1 1 O
10 1
0 1 0
1 0 0
0 0 0
110
1 0 0
0 0 1
0 1 0
10 1
0 11
111
1-2
2-3
3-4
4-5
5-6
6-7
7-1
0 10
1 0 1
0 1 1
1 1 1
1 1 0
10 0
0 0 1
In Tabelle 8 sind die Fehlerort-Untergruppen für zwei benachbarte Fehler gebildet worden durch die binäre Addition der Fehlerort-Untergruppen für Einzelfehler in den betroffenen Bitstellen. Zum Beispiel ist die Fehlerort-Untergruppe für zwei nebeneinanderliegende Fehler in den Bitstellen 1 und 2 gleich 010 und wird durch binäres Addieren (modulo 2) der Fehlerort-Untergruppe für einen einzelnen Fehler in Bitstelle 1 (001) zu der Fehlerort-Untergruppe (011) für einen einzelnen Fehler in Bitstelle 2 erhalten. Die Tabelle 8 zeigt auch, daß das Komplement jeder Fehlerort-Untergruppe für einen Einzelfehler der Fehlerort-Untergruppe für einen benachbarten Doppelfehler, der in einer anderen Bitstelle beginnt, entspricht. Zum Beispiel hat ein einzelner Fehler in Bitstelle 2 die Fehlerort-Untergruppe 011 (k3, k2 und Ic1). Das Komplement dieser Fehlerort-Untergruppe ist 100, die, wie man sieht, der Fehlerort-Untergruppe 100 entspricht, welches durch zwei benachbarte Fehler in den Bitstellen 6 und 7 erzeugt wird. Dies stellt eine Verschiebung um vier Stellen zwischen Spalte 2 und Spalte 4 von Tabelle 8 dar. Das Schiebeverhältnis von vier Stellen bleibt für alle Bitstellen der Codegruppe aufrechterhalten, was durch die verschiedenen Beispiele in Tabelle 8 bestätigt wird. Weil die Tabellen der Fehlerort-Untergruppe für einzelne sowie doppelte benachbarte Fehler verwandt sind, können sie ganz einfach durch dasselbe binäre Schieberegister gebildet werden.
Zur Korrektur von Doppelfehlern wird daher einfach zunächst festgestellt, ob kein Fehler, ein einzelner Fehler oder zwei benachbarte Fehler aufgetreten sind. Ein bestimmter Wert des Bits L0 in der Fehlerort-Untergruppe für die umgesetzten Daten zeigt einen einfachen Fehler an, und der andere Wert zeigt entweder keinen Fehler oder zwei benachbarte Fehler an. Der letzte Zweifel wird jedoch beseitigt, weil die Fehlerort-Untergruppe Zc1 bis k3 für den fehlerlosen Zustand nur einen möglichen Wert hat (000), während die Fehlerort-Untergruppen kx bis k3 für Doppelfehler mindestens eine binäre 1 enthalten.
Daher können einfache und doppelte benachbarte Fehler nach diesem System korrigiert werden, und weil dabei systematisch vorgegangen wird, läßt sich
ίο
das System ziemlich einfach für Codegruppen mit einer beliebigen Zahl von Elementen erweitern.
Die Erfindung richtet sich auf das Erkennen, Auffinden und Korrigieren mehrerer gleichartiger Fehler, die durch den gleichen fehlerverursachenden Zustand hervorgerufen wurden. Je nach der Art der verwendeten Übertragung digitaler Daten kann das Rauschen dazu führen, daß die Ziffernwerte bestimmter Ziffern umgekehrt werden. Wenn z. B. das Rauschen als binäre 1 erscheint, wird jede Bitstelle, die den Wert 0 hat, in eine 1 umgewandelt. Ein drei Bitstellen breites Rauschsignal kann die folgenden vier Fehlerarten hervorrufen: einen Einzelfehler (1); zwei benachbarte Fehler (11); zwei nichtbenachbarte Fehler (101) und drei benachbarte Fehler (111). Umgekehrt könnte eine Unterbrechung in der Datenübertragung, wie sie z. B. durch Schaltvorgänge in einem Fernsprechsystem verursacht werden kann, an bestimmten Bitstellen 1-Werte in O-Werte umwandeln. Weil diese Rauscheffekte dazu neigen, stoßweise aufzutreten, ist ein sehr großer Anteil der Fehler, die während der Übertragung binärer Daten auftreten, von gleicher Art, und daher ist ein System, das solche gleichartigen Fehler korrigieren kann, sehr wirksam.
Systeme gemäß der Erfindung verwenden zwei verschiedene Sätze von Paritätsbits, um das Auffinden von Fehlern innerhalb einer empfangenen Codegruppe zu ermöglichen und außerdem um die Identifizierung der Fehlerart zu ermöglichen. Ein Satz von Paritätsbits, die durch eine erste m-Folge
ίο bestimmte Bitstellen prüfen, besteht aus Fehlerart-Paritätsbits, und der andere Satz, der nach einer zweiten m-Folge bestimmt wird, besteht aus den Fehlerort-Paritätsbits. Ein Beispiel für die Wirkungsweise des Systems geht aus der nachstehenden Paritätsprüftabelle (Tabelle 9) hervor, worin die Codegruppe aus neun Informationsbits D1 bis D9 und sechs Paritätsbits P1 bis pi und Q1 und ρ2 besteht. Entsprechend den vorher gewählten Bitbezeichnungen der Prüfsumme oder der Fehlerort-Untergruppe, entstehen daraus die Prüfsummenbits kt bis kt und Ji1 und π2.
Tabelle 9
1 2 3 4 5 6 7 Bitstelle 9 10 11 12 13 14 15
D1 D-z Dz Di D5 De 82 8 Da D9 Qi Pi Pi Pz Ps
X X X X X D7 X X
kt X X X X X X X X
kt X X X X X X X X
K X X X X X X X X X
K X X X X X X X X X
Tl1 X X X X X X X X X X X
Die Fehlerort-Untergruppen für die vorstehende Paritätsprüftabelle sind nachstehend in Tabelle 10 für jede der verschiedenen korrigierbaren Fehlerarten aufgeführt:
1 h 10 a L fc4 0 1 0 h Tabelle L ki 1 10 1 fc2 10c kt JT1 0 *1 h 10d A4 3T1 3T2
Fehlerbeginn 1 0 1 1 0 1 1 10 b 1 0 0 1 101 1 1 1 0 0 111 1 0 0
bei Bit 0 rH h 0 1 1 1 0 IJ 0 1 0 1 *3 1 1 rH 0 0 h 1 0 0
1 1 0 0 0 1 1 1 1 1 3T2 0 0 1 1 0 0 TH 0 TH 0 0 0
1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0
2 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 O 1 1 0 0 0 0 0 O
3 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0
4 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 rH O 0 0
5 1 1 1 0 1 1 1 0 1 1 1 1 1 0 O 1 1 1 0 1 0 O 0 0
6 0 1 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0
7 0 1 1 1 1 0 0 1 1 0 0 1 1 1 O 0 1 1 0 1 1 1 0 0
8 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 O 0
9 1 0 1 1 O 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 rH 0 0
10 0 0 1 0 1 0 0 1 0 0 O 1 1 0 1 0 1 1 1 1 1 0 0 0
11 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0
12 0 0 0 0 0 1 0 1 1 0 0 0 1 1 rH 0 0
13 0 0 1 0 1
14 1 1 1 T-H 1
15 1 0
Tabelle 10 a stellt die Fehlerort-Untergruppen für Einzelfehler dar. Die Tabellen 10b bis 1Od stellen die Fehlerort-Untergruppen für zwei benachbarte, für zwei nicht benachbarte bzw. drei benachbarte Fehler dar. Die Tabellen 10 b bis 1Od werden aus den Fehlerort-Untergruppen in Tabelle 9 für Einzelfehler gebildet durch Addition modulo 2 der Fehlerort-Untergruppen für die mit Fehler behafteten Bitstellen. Das bedeutet, daß bei Ausführung dieser Addition die Überträge zwischen aufeinanderfolgenden Stellen nicht berücksichtigt werden. Außerdem gilt die gesamte Untergruppe als unterteilt in den
409 560/193
aus den Bits kx bis £4 bestehenden Fehlerort-Untergruppenteil und den aus den Bits πχ und π., bestehenden Fehlerart-Untergruppenteil. Man beachte außerdem, daß die verschiedenen Bits der Untergruppe in nach rechts aufsteigender Folge geschrieben werden, so daß die niedrigste Stelle links anstatt rechts steht. Bei der Bildung der Fehlerort-Untergruppe für zwei benachbarte Fehler, die in Bitstelle 1 beginnen, wie es Tabelle 10 b zeigt, wird die Untergruppe für einen Einzelfehler in Bitstelle 1 (100101) zu der Fehlerort-Untergruppe für einen Einzelfehler in Bitstelle 2 (110010) addiert. Wenn die Addition in der oben angegebenen Weise durchgeführt wird, entspricht die richtige Summe der in Tabelle 10 b gezeigten Summe 010111. Ebenso erhält man die gesamte Fehlerort- und Fehlerart-Untergruppe für zwei nicht benachbarte Fehler, die in Bitstelle 1 beginnen, durch die binäre Addition der Fehlerort-Untergruppe für einen Einzelfehler in den Bitstellen 1 und 3 (100101 + 011011 = 111110).
Aus den Tabellen 10 a bis 10 d ist ersichtlich, daß der Fehlerort-Untergruppenteil der gesamten Untergruppe in den verschiedenen Tabellen wiederholt wird. Zum Beispiel sind die Fehlerort-Untergruppen-Werte 1111 enthalten in Bitstelle 9 von Tabelle 10 a, Bitstelle5 von Tabelle 10b, Bitstellei von Tabelle 10c und Bitstelle 14 von Tabelle 1Od. Daher werden in diesen Tabellen die Folgen der Reihe nach aufrechterhalten, aber die verschiedenen Versionen der Einzelfehler-Fehlerort-Untergruppe von Tabelle 10 a sind um verschiedene Beträge verschoben. Die Fehlerart-Untergruppenteile der gesamten Untergruppe wiederholen sich in den Tabellen 10 b sowie 10 c mit Verschiebungen, die von der Verschiebung der vier Fehlerort-Bits unabhängig sind. Die Fehlerart-Anzeige, die für drei benachbarte Fehler gemäß Tabelle 10 d gegeben wird, besteht in jedem Falle nur aus den Bits 00.
Wenn irgendeine der vier Arten von gleichartigen Fehlern in irgendeiner der fünfzehn Bitstellen einer umgewandelten Codegruppe auftritt, ist es daher möglich, seinen Ort aus der Tabelle 10 zu bestimmen. Wenn kein Fehler auftritt, sind die sechs Prüfsummenbits Ic1 bis Ti2 alle Null. Wenn kx bis n.2 nicht alle Null sind, zeigt die betreffende Folge von Nullen und Einsen im Vergleich mit Tabelle 10 sowohl die Fehlerart als auch die Bitstelle, in der der Fehler beginnt, an.
Datenumwandlungssystem
Nach F i g. 1 besteht ein Fehlerkorrektursystem gemäß der Erfindung im allgemeinen aus einem Verschlüsseier 11 und einem Entschlüsseier 12, die über einen geeigneten Datenübertragungskanal 13 miteinander verbunden sind. Der Eingangsklemme des Verschlüsselers 11 werden binär verschlüsselte Daten aus einer Quelle 14 zugeführt, während die Ausgangsklemme des Entschlüsselet 12 Signale zu einer Vorrichtung 15 schickt, die die durch das System umgewandelten und geprüften Daten auswertet.
Der Datenübertragungskanal 13, der den Verschlüsseier 11 mit dem Entschlüsseier 12 verbindet, kann je nach der betreffenden Anwendung verschiedene Formen haben. Zum Beispiel kann es sich um eine übliche Fernsprechverbindung handeln oder um eine Funkverbindung, die eine von mehreren entfernten Eingangsstationen mit einer zentral gelegenen Datenverarbeitungsanlage verbindet. Im letztgenannten Falle befindet sich z. B. der Verschlüsseier 11 des Fehlerkorrektursystems in der Nähe der entfernt gelegenen Eingangsstation und der Entschlüsseier 12 in der zentralen Datenverarbeitungsanlage. Andererseits können sich die Datenquelle 14 und die Auswertvorrichtung 15 beide in derselben Datenverarbeitungseinheit befinden, und in diesem Falle kann der Übertragungskanal 13, der den Verschlüsseier 11 mit dem Entschlüsseier 12 ίο verbindet, in seiner einfachsten Form ein einzelner Leiter sein.
Der aus dem Verschlüsseier 11 bestehende Teil des Fehlerkorrektursystems nach F i g. 1 arbeitet allgemein so, daß er eine Reihe von Codegruppen überträgt, die jede N Bitstellen enthalten, bestehend aus H1 Fehlerort-Paritätsbitstellen, H., Fehlerart-Paritätsbitstellen und M Datenbitsteilen. Als weitere Bedingung muß N—2m — l sein, und die Bitstellen, die durch jedes der Fehlerort- und Fehlerart-Paritätsbits geprüft werden, werden gemäß einer ersten bzw. einer zweiten /η-Folge bestimmt. Diese letzte Bedingung besteht darin, daß der binäre Wert eines Paritätsbits durch die Summe modulo 2 der binären Werte von Untergruppen von Bitstellen, die gemäß den m-Folgen ausgewählt worden sind, bestimmt wird. Der Verschlüsseier 11 von F i g. 1 ist genauer in F i g. 2 dargestellt. Dieser Verschlüsseier 11 überträgt beispielsweise eine Codegruppe mit insgesamt fünfzehn Bitstellen, bestehend aus vier Fehlerort-Paritätsbitstellen, zwei Fehlerart-Bitstellen und neun Datenbitstellen. Gemäß der Zeichnung arbeitet der Verschlüsseier serienweise, aber auch eine parallele Arbeitsweise ist möglich. Gemäß F i g. 1 und 2 besteht der Verschlüsseier 11 aus einem herkömmliehen Datenbit-Schieberegister 30, einem Fehlerort-Paritätsbitgenerator 31 zum Erzeugen von vier Fehlerort-Paritätsbits gemäß einer ersten m-Folge, einem Fehlerart-Paritätsbits-Generator 32 zum Erzeugen von zwei Fehlerart-Paritätsbits gemäß einer zweiten m-Folge, einem Schiebeimpulsgenerator 33 (nachstehend manchmal mit SI bezeichnet), einem Taktimpulsgenerator 34 (nachstehend manchmal mit TI bezeichnet) und einem Datensender 35 zur aufeinanderfolgenden Übertragung der Datenbits, der Fehlerort- und der Fehlerart-Paritätsbits in vorherbestimmter Reihenfolge. Die genauere Schaltung ist in F i g. 2 angegeben. Jede der in F i g. 2 in Blockdiagrammform dargestellten Einheiten stellt eine Schaltung dar, die in der digitalen Datenverarbeitungstechnik bekannt ist. Daher sind diese Schaltungen aus Gründen der Übersichtlichkeit nicht im einzelnen dargestellt worden.
Das in F i g. 2 dargestellte Schieberegister 30 besteht aus neun Stufen 30-1 bis 30-9 und kann daher vorübergehend bis zu neun einzelnen Datenbits zu jeder beliebigen Zeit speichern. Die Datensignalquelle 14 aus F i g. 1 ist an die erste Stufe 30-1 des Schieberegisters 30 über eine Eingangs-Und-Schaltung 41 angeschlossen, deren andere Klemme mit dem Taktimpulsgenerator 34 verbunden ist. Jede Stufe 30-1 bis 30-9 des Registers 30 hat eine Schiebeimpulseingangsklemme 42, die an den Schiebeimpulsgenerator 33 angeschlossen ist. Die Schiebeimpulse und die Taktimpulse haben etwa die gleiche Frequenz, sind aber um einen bestimmten Betrag phasenverschoben, damit zwischen den Schiebeimpulsen ein Datenbit eingegeben werden kann. Man kann jeden geeigneten Takt- und Schiebe-
13 14
impulsgenerator verwenden. Die Schiebeimpulse D4, D6, ρ2, D7, D8 und sich selbst). Das Ausgangskönnen auch aus dem Taktimpulsgenerator gewon- signal der Stufe F1 des m-Folge-Generators 50 führt nen werden, indem einfach eine Signalgruppe um diese wahlweise Prüfoperation aus. Die Ausgangseine bestimmte Zeit gegenüber der anderen ver- signale der anderen Stufen F2 bis F4 bewirken ähnzögert wird. 5 liehe wahlweise Prüfoperationen.
Die zum Entschlüsseier 12 zu übertragenden neun Das in F i g. 2 gezeigte Fehlerort-Paritätsbit-Datenbits werden dem Schieberegister 30 unter der Speicherregister 52 besteht aus vier getrennten einSteuerung von Taktimpulsen 1 bis 6 und 8 bis 10 stufigen binären Zählern. In der Praxis kann jede zueführt. Der Inhalt des Schieberegisters 30 wird Stufe eine herkömmliche bistabile Kippschaltung gemäß F i g. 2 unter der Steuerung von Schiebe- io darstellen, die zwischen ihren Zuständen auf einen impulsen 1 bis 19 nach rechts verschoben. Während Eingangsimpuls aus der Prüfschaltung 51 hin des Taktimpulses TI 7 werden dem Schieberegister wechselt. Jede der Stufen ist daher effektiv ein ein-30 keine Daten zugeführt, um die siebte Bitstelle fächer binärer Zähler, der die Zahl von 1-Bits in der übertragenen Codegruppe für das Fehlerart- den durch das Prüfsignal aus dem m-Folge-Gene-Paritätsbit ρ., zu reservieren. 15 rator 50 bestimmten Bitstellen zählt.
Der Fehlerort-Paritätsbitgenerator 31, der die Weil die Fehlerort-Paritätsbits P1 bis pi die der
Fehlerort-Paritätsbits erzeugt, besteht aus einem Fehlerart-Paritätsbits ρ} und ρ2 zugeordneten Bit-
m-Folge-Generator 50, einer Prüfschaltung 51 und stellen prüfen, sind die Stufen der Fehlerort-Pari-
einem vierstufigen Speicherregister 52. Der m-Folge- tätsbits P1 bis P1 nach Prüfen der Datenbits in der
Generator 50 gleicht einem herkömmlichen vierstu- 20 Tabelle von Fig. 3 mit P1' bis p/ bezeichnet und
figen Schieberegister, nur besteht ein Rückkopplungs- werden nach Errechnen der Fehlerart-Paritätsbits Q1
weg über die Oder-Schaltung 53 in (F i g. 2 mit und ρ2 modifiziert. Die Einrichtung 54 zum Modifi-
»AUS ODER« bezeichnet) von der Ausgangsklemme zieren der Zustände dieser vorläufigen Fehlerort-
der dritten und vierten Stufen F3 und F4 zurück zur Paritätsbits P1 bis p4' unter der Steuerung der end-
ersten Stufe F1. Der Ausgang jeder Stufe F des dar- 25 gültigen Fehlerart-Paritätsbits ρ1 und ρ2 wird nach der
gestellten m-Folge-Generators bildet dieselben Beschreibung des Fehlerart-Paritätsbit-Generators
m-Folgen. Die m-Folgen sind jedoch gegeneinander 32 näher beschrieben.
um eine Stelle verschoben. Die m-Folgen sind in Gemäß F i g. 2 gleicht der Fehlerart-Paritätsbit-
F i g. 3 in Tabellenform aufgeführt, und zwar ist Generator 32 zur Erzeugung der Fehlerart-Paritäts-
dort das Ausgangssignal jeder Stufe F1 bis F4 des 30 bits Q1 und ρ2 der Einrichtung 31 zum Erzeugen der
m-Folge-Generators angegeben. Man sieht, daß jede Fehlerort-Paritätsbits P1 bis p4. Der Generator 32
der Spalten F1 bis F4 die gleiche aus fünfzehn be- besteht aus einem m-Folge-Generator 61, einer
stehende m-Folge enthält, daß aber die m-Folgen in Prüfschaltung 62 und einem Fehlerart-Paritätsbit-
den aufeinanderfolgenden Spalten längs der Spalten Speicherregister 63. Der m-Folge-Generator 61 hat
in der oben beschriebenen Weise verschoben sind. 35 zwei Stufen G1 und G2 und arbeitet ähnlich wie der
Die veranschaulichte m-Folge kann durch die Generator 50. Der Generator 61 liefert die in F i g. 3
Gleichung in den Spalten G1 und G2 aufgeführte m-Folge.
„ jl. n Diese Folge ist nur drei Bits lang und wiederholt sich
definiert werden. ^ Die Prüfschaltung 62 glicht der Prüfschaltung 51 Die Ausgangssignale des Generators 50 werden und besteht aus zwei Und-Schaltungen 66. Jede der Prüfschaltung 51 zugeleitet. Am Ende jedes be- Und-Schaltung 66 hat eine an eine Oder-Schaltung liebigen Schiebeimpulses bilden die Ausgangssignale 67 angeschlossene Eingangsklemme. Der Oderdes Generators 50 ein 4-Bit-Prüfsignal, das die Prüf- Schaltung werden Datenbits aus der Einangs-Und-schaltung 51 vorbereitet. Die Prüfschaltung 51 be- 45 Schaltung 41 sowie die vorläufigen Fehlerort-Paristeht aus vier getrennten Und-Schaltungen 56. Jede tätsbits P1 bis /?/ zugeführt. Die anderen Eingangs-Und-Schaltung hat eine über die Und-Schaltung 41 klemmen der Und-Schaltungen 66 sind jeweils mit am Eingang des Schieberegisters 30 an die Daten- den Ausgangsklemmen der beiden Stufen G1 und G2 quelle angeschlossene Klemme. Die andere Ein- des m-Folge-Generators 61 verbunden. Daher wergangsklemme jeder Und-Schaltung 56 ist mit der 50 den die Und-Schaltungen 66 durch die ausgewählten Ausgangsklemme einer der vier Stufen F1 bis F4 des Prüf signale aus dem Generator 61 vorbereitet.
m-Folge-Generators 50 verbunden. Wenn das Aus- Die Ausgänge der Und-Schaltungen 66 sind an die gangssignal einer Stufe F einen hohen Spannungs- Stufen ρ1 bzw. ρ2 des Fehlerart-Paritätsbit-Speicherpegel hat, wird die zugeordnete Und-Schaltung 56 registers 63 angeschlossen, das ebenso arbeitet wie wirksam, und ein Datenbit D kann dem Speicher- 55 das Speicherregister 52. Das heißt, jede Stufe ρ1 register 52 zugeführt werden. und ρ2 des Speicherregisters 63 zählt die binären Die Funktion der m-Folge-Signale an den Aus- 1-Bits in der Bitstelle der Codegruppe, die durch die gangsklemmen der vier Stufen des m-Folge-Gene- m-Folge-Prüfsignale aus dem Generator 61 ausgerators 50 ist aus der für das dargestellte Beispiel zu- wählt worden ist.
sammengestellten Paritätsprüftabelle von F i g. 4 er- 60 Nach Bildung der endgülitgen Fehlerart-Paritätssichtlich. Wie man sieht, sind die mit kx bis &4 be- bits werden diese benutzt, um die vorläufigen Fehlerzeichneten horizontalen Reihen in F i g. 4 identisch ort-Paritätsbits P1 bis p4' zu modifizieren. Aus der mit den vertikalen Spalten F1 bis F4 von F i g. 3, Paritätsprüftabelle in F i g. 4 geht hervor, daß die wenn an Stelle einer 1 ein X und an Stelle einer 0 Bitstelle ρ2 durch P1, p2 und p4 geprüft wird. Daher ein Leerraum gesetzt wird. Wie schon in Verbindung 65 werden die vorläufigen Fehlerort-Paritätsbits P1, p2 mit den Paritätsprüftabellen erklärt worden ist, zeigt und p4' modifiziert, indem zu jedem der Paritätsbits 1 das X an, daß das betreffende Paritätsbit P1 die Bit- addiert wird, falls ρ2 in der endgültig berechneten stellen prüft, die durch das X markiert sind (D1, D2, Form eine 1 ist. Die Einrichtung 54 zum Modifizieren
von P1', p.,' und p4' unter der Steuerung des Wertes des Paritätsbits ρ2 besteht aus einer Und-Schaltung 70, deren eine Eingangsklemme mit dem Ausgang der Stufe o2 des Speicherregisters 63 und dessen andere Eingangsklemme mit dem Taktimpulsgenerator 34 verbunden ist. Die Ausgangsklemme der Und-Schaltung 70 ist an die Eingangsklemmen, der Stufen pv p2 bzw. p4 des Fehlerorts-Paritätsbit-Speicherregisters 52 über die Oder-Schaltungen 57 angeschlossen.
Ebenso zeigt die Paritätsprüftabelle von Fig. 4, daß die Bitstelle Q1 der Codegruppe durch die Fehlerort-Paritätsbits p3 und pi geprüft wird. Daher werden die vorläufigen Paritätsbits p3' und p/ ebenfalls durch die Einrichtung 54 modifiziert, indem zu diesen beiden Bits 1 addiert wird, falls der endgültige Wert des Paritätsbits O1 eine 1 ist. Die Einrichtung 54 zum Modifizieren von ps' und p/ unter der Steuerung des Paritätsbits Q1 besteht aus der Und-Schaltung 71, deren eine Eingangsklemme an die Stufe Q1 des Speicherregisters 63 und deren andere Eingangsklemme an den Taktimpulsgenerator 34 angeschlossen ist. Die Ausgangsklemme der Und-Schaltung 71 ist mit den Eingängen der Stufen p3 bzw. p4 des Speicherregisters 52 über die Oder-Schaltungen 57 verbunden.
Die Einrichtung 35 zum Übertragen der Datenbits D1 bis D9, der endgültigen Fehlerort-Paritätsbits P1 bis p4 und der Fehlerart-Paritätsbits Q1 und Q2 in vorherbestimmter Reihenfolge besteht gemäß F i g. 2 aus einer Reihe von sieben Und-Schaltungen 80 bis 86 und einer Oder-Schaltung 87 mit sieben Eingangsklemmen. Die eine Eingangsklemme der Und-Schaltung 84 ist an die Ausgangsklemme der letzten Stufe 30-9 des Schieberegisters 30 und die andere Eingangsklemme an den Taktimpulsgenerator 34 angeschlossen, von dem sie Taktimpulse 10 bis 15 und 17 bis 19 empfängt. Je eine Klemme jeder der Und-Schaltungen 80 bis 83 ist an die entsprechende Ausgangsklemme des Fehlerort-Paritäts-Speicherregisters 52 angeschlossen, und je eine Klemme jeder der Und-Schaltungen 85 und 86 ist mit der entsprechenden Ausgangsklemme des Fehlerart-Paritätsbit-Speicherregisters 63 verbunden. Die anderen Klemmen der Und-Schaltungen 80 bis 83 und 85 bis 86 sind an den Taktimpulsgenerator 34 angeschlossen und empfangen jede einen bestimmten Taktimpuls. Die jeder der sieben Und-Schaltungen 80 bis 86 zugef ührten Taktimpulse sind in F i g. 2 auf den entsprechenden Eingangsleitungen angegeben.
Bevor nun der Entschlüsseier 12 genauer beschrieben wird, sei ein Beispiel für eine Verschlüsselungsoperation angegeben.
Die Wirkungsweise des Verschlüsselers 11 in Fig. 2 wird leichter verständlich, wenn man die Tabelle von Fig. 3 zu Hilfe nimmt. Es sei angenommen, daß ein aus neun Datenbitsteilen D1 bis D9 bestehendes Wort verschlüsselt und zum Entschlüsseier 12 von Fig. 1 zusammen mit vier Fehlerort- und zwei Fehlerart-Paritätsbits übertragen werden soll. Das als Beispiel gewählte zu verschlüsselnde Wort ist in Fig. 3 dargestellt zusammen mit dem Zustand der m-Folge-Generatoren und der Paritätsbitregister zu Beginn der Verschlüsselungsoperation. Die vier Stufen^ bis F4 des ersten /M-Folge-Generators 50 haben vor dem Start den Zustand 0010, während die zwei Stufen G1 und G2 des zweiten /n-Folge-Generators 61 den Zustand 11 haben. Die Paritäts-Speicherregister 52 und 63 und das Schieberegister 30 sind auf lauter Nullen eingestellt. Der Eingangs-Und-Schaltung 41 werden Taktimpulse Tl bis 76 und Γ8 bis Γ10 und den m-Folge-Generatoren 50 und 61 Schiebeimpulse Sl bis 515 zugeführt. Das Schieberegister 30 empfängt Schiebeimpulse Sl bis S119.
Nach dem ersten Schiebeimpuls ist gemäß der in F i g. 3 mit dem Schiebeimpuls 1 bezeichneten Zeile
ίο der erste /w-Folge-Generator 50 im Zustand 1001. Daher werden die erste und vierte Und-Schaltung 56 der Prüfeinheit 51 vorbereitet, und das erste Datenbit D1 kann daher den Stufen P1 und p4 des Speicherregisters 52 währned der ersten Taktimpulszeit Tl zugeführt werden.
Der Entschlüsseier des Datenumwandlungssystems
so Der Entschlüsseier 12 für das Fehlerkorrektursystem gemäß Fig. 1 besteht aus einem Datenempfänger 100, der Informationssignale aus dem Übertragungskanal 13 empfängt. Die übertragene Codegruppe wird vom Datenempfänger 100 aus einem Schieberegister 101 zugeführt, das die für den Empfang der übertragenen Daten- und Paritätsbits richtige Stellenzahl hat. Um festzustellen, ob ein Fehler aufgetreten ist, wird die übertragene Codegruppe außerdem einer ersten Paritätsprüfeinrichtung 102 und einer zweiten Paritätsprüfeinrichtung 103 zugeführt, bei denen es sich um Prüfschaltungen für das Fehlerort- bzw. das Fehlerart-Paritätsbit handelt. Durch Fehleranzeigen aus der ersten und der zweiten Paritätsprüfeinrichtung 102, 103 wird eine Fehlerfeststelleinrichtung 104 gesteuert. Fehleranzeigen betätigen eine Fehlerfolge-Steuereinrichtung 107, die so mit einer Fehlerkorrektureinrichtung 106 verbunden ist, daß eine Fehlerkorrekturfolge eingeleitet und durchgeführt wird. Die Fehlerfolge-Steuereinrichtung 107 ist außerdem mit einer Torsteuereinrichtung 108 verbunden, die mit der Ausgangsklemme des Schieberegisters 101 gekoppelt ist und den Datenfluß zu einer Übertragungseinrichtung 109 für korrigierte Daten steuert oder die Daten zur Eingangsklemme des Schieberegisters 101 zurückleitet. Die Übertragungseinrichtung 109 für korrigierte Daten steuert die Weiterleitung der korrigierten Datenbits zu einer zugeordneten Auswertvorrichtung 15. In dieser Anordnung ist die Fehlerkorrektureinrichtung 106 außerdem so geschaltet, daß sie Signale aus der ersten Paritätsprüfeinrichtung 102 und der zweiten Paritätsprüfeinrichtung 103 empfängt und ausgewählte Stufen des Schieberegisters 101 steuert.
F i g. 5 stellt genauer ein Ausführungsbeispiel des in F i g. 1 in Blockform dargestellten Entschlüsselers dar. Ein Taktimpulsgenerator 94 und ein Schiebeimpulsgenerator 95 entsprechen den ebenso bezeichneten Generatoren der Fig. 2. Die erste Paritätsprüfeinrichtung 102, die eine Empfangs-Paritätsprüfung von vier Bitstellen ausführt, welche durch eine erste /η-Folge bestimmt sind, besteht aus einem ersten wz-Folge-Generator 110, einer Prüfschaltung 111 und einem vierstufigen Speicherregister 112. Die zweite Paritätsprüfeinrichtung 103 führt eine Emp-
fangs-Paritätsprüfung über die durch die zweite m-Folge bestimmten Bitstellen durch. Sie besteht gemäß F i g. 5 aus einem zweiten m-Folge-Generator 121, einer Prüfschaltung 122 und einem zweistufigen
17 18
Speicherregister 123. Die Prüfschaltungen 111 und schalters handeln kann. Bei Vorliegen eines Fehler-122 gleichen den Prüfschaltungen 51 bzw. 62 des signals setzt die Torsteuereinrichtung 108 Signale, Verschlüsselet 11 und werden mit den empfangenen die aus der letzten Stufe des Schieberegisters 101 Signalen über die Eingangs-Und-Schaltung 114 ver- stammen, wieder in Umlauf durch Rückübertragung sorgt, die während der Taktimpulszeiten 71 bis TlS 5 zur Eingangsklemme der ersten Stufe des Schiebedann wirksam ist, wenn das vorhergehende Wort registers 101. Das Weiterschalten des Schieberichtig empfangen worden ist. Die Eingangs-Und- registers wird bei fehlerfreier Operation durch die Schaltung 114 des Entschlüsselet kann an den Aus- Impulse 51 bis 515 bewirkt, die in diesem Fall die gang eines Datenempfängers angeschlossen sein. Und-Schaltung 10L4 passieren. Während der Fehler-
Jede Stufe der Speicherregister 112 und 123 zählt io korrekturoperation werden durch die Impulse 516
die binären Einsen in den durch die jeweiligen bis 530 die Datenbits durch das Schieberegister 101
/Tz-Folgen bestimmten Bitstellen. Die Speicherregister hindurchgeschoben.
112 und 123 enthalten nur Nullen, wenn die aus In der Fehlerkorrektureinrichtung 106 werden die fünfzehn Bits bestehende Codegruppe richtig emp- verschiedenen Prüfsummenbits kt bis ki und Jr1 und fangen wird. Wenn ein Fehler aufgetreten ist, ent- 15 Ji2 gleichzeitig getrennten Eingabe-Steuerschaltungen hält mindestens eine der Stufen Ic1 bis Ic1 oder ^1 140 bzw. 141 zugeführt. Die Eingabe-Steuerschaltunoder π.> eine 1. Der Ausgang der Eingangs-Und- gen 140, 141 werden für die Aufnahme der verschie-Schaltung 114 des Entschlüsselet ist außerdem mit denen Prüfsummenbitsignale durch das gleichzeitige dem Schieberegister 101 verbunden, dem Schiebe- Vorliegen des verzögerten Impulses 715 und des impulse 51 bis 515 über eine Und-Schaltung 10L4 20 Fehlersignals vorbereitet. Der verzögerte Impuls 715 zugeführt werden, welche das Einspeichern der emp- wird von der Verzögerangsschaltung 133 der Fehlerfangenen Codegruppe in das Register 101 von links feststelleinrichtung 104 geliefert, die durch den Taktnach rechts steuert (Fig. 5). Die andere Klemme impuls 715 betätigt wird. Es sei angenommen, daß der Und-Schaltung 101A empfängt ein Signal »Kein der verzögerte Impuls 715 lang genug ist, um mit Fehler«, das diese Schaltung vorbereitet. 25 dem von der Fehlerkippstufe 132 gelieferten Fehler-
Die Fehlerfeststelleinrichtung 104, die beim Auf- signal eine Koinzidenz zu liefern. Wenn das nicht treten eines Fehlers ein Fehlersignal erzeugt, besteht der Fall ist, kann eine weitere Verzögerungsschalin diesem Falle aus einer Oder-Schaltung 130 mit tung mit der Verzögerungsschaltung 133 in der sechs Eingängen, einer Und-Schaltung 131, einer Fehlerfeststelleinrichtung 104 gekoppelt werden, um Fehlerkippstufe 132 und einer Verzögerungsschal- 30 die Gleichzeitigkeit zu gewährleisten,
tung 133. Die jeweiligen Ausgangsklemmen der ver- Die von den Eingabe-Steuerschaltungen 140, 141 schiedenen Stufen Ic1 bis &4 des Fehlerort-Paritätsbit- durchgelassenen Signale werden also in einen Fehler-Speicherregisters 112 und der Stufen πχ und π2 des ort-Folge-Generator 143 und einen Fehlerart-Folge-Fehlerart-Speicherregisters 123 sind mit den ver- Generator 144 eingegeben. Obwohl die Generatoren schiedenen Eingängen der Oder-Schaltung 130 ge- 35 143 und 144 hier getrennt dargestellt sind, um die koppelt. Die Ausgangsklemme der Oder-Schaltung Erläuterung zu erleichtern, kann diese Funktion tat-130 ist an die eine Eingangsklemme der Und-Schal- sächlich wirtschaftlicher durch die Speicherregister tung 131 angeschlossen, die durch einen verzögerten 112,123 erfüllt werden. Wie unten genauer beschrie-Taktimpuls 715 vorbereitet wird, der der anderen ben wird, können durch Addierschaltungen, die die Eingangsklemme über die Verzögerungsschaltung 40 verschiedenen Stufen der Speicherregister entspre-133 zugeführt wird. Die Ausgangsklemme der Und- chend verbinden, die Register in einer m-Folge vorSchaltung 131 ist mit der einen Eingangsklemme oder rückwärts weitergeschaltet werden. Hier durch-132 a der Fehlerkippstufe 132 verbunden. Die laufen der Fehlerort-Folge-Generator 143 und der Fehlerkippstufe 132 hat eine Ausgangsklemme 132 b, Fehlerart-Folge-Generator 144 unter der Steuerung die normalerweise einen hohen Spannungspegel hat 45 der Schiebeimpulse 516 bis 530 ihre m-Folgen und damit anzeigt, daß kein Fehler vorliegt, und rückwärts in getrennten Schritten. Dieses Schritteine zweite Ausgangsklemme 132 c, die normaler- schalten ist nur während eines bestimmten Teils der weise einen niedrigen Spannungspegel hat. Wenn der Fehlerkorrekturoperation erforderlich und wird Eingangsklemme 132« ein Fehlerimpuls von der durch die in der nachstehend beschriebenen Weise Oder-Schaltung 130 zugeführt wird, wird der hohe 50 erzeugten Umkehrsignale gesteuert.
Pegel der Ausgangsklemme 132 b erniedrigt und der Die an den Ausgangsklemmen des Fehlerortniedrige Pegel der Ausgangsklemme 132 c erhöht, Folge-Generators 143 auftretenden Signale steuern was das Vorliegen eines Fehlers anzeigt. Die Fehler- ein erstes Entscheidungsnetzwerk 146, das seinerseits kippstufe 132 wird rückgestellt durch einen Impuls einen einzelnen und vorherbestimmten verschlüssel-530 nach Ausführung der Fehlerkorrekturfolge. 55 ten Wert für jeden verschiedenen Satz von Eingangs-
Schiebeimpulse51 bis 515 werden wie in der in Signalen liefert. Es stehen verschiedene Elemente zur Verbindung mit der Verschlüsselung beschriebenen Verfügung, um die Funktionen des ersten Entschei-Anordnung erzeugt. Schiebeimpulse 516 bis 530 dungsnetzwerks 146 durchzuführen; dazu gehören werden bei Vorliegen eines Fehlersignals durch das Diodenmatrizen, logische Torschaltungen und EntAnlegen von Impulsen aus der Schiebeimpulsquelle 60 schlüsselerschaltungen. Ausgewählte Werte, die be-95 zusammen mit dem Fehlersignal an eine Und- stimmten Fehlerkorrekturschemen entsprechen, wer-Schaltung 135 erzeugt. Die Schiebeimpulse 516 bis den durch das erste Entscheidungsnetzwerk 146 für 530 werden von der Ausgangsklemme der Und- jeden Zustand des Fehlerort-Folge-Generators 143 Schaltung 135 abgenommen. erzeugt. Außerdem werden ausgewählte Werte, die
Das Schieberegister 101 läßt während des Fehler- 65 ebenfalls Fehlerkorrekturschemen entsprechen, durch
arbeitszyklus die Datenbits umlaufen. Das geschieht ein zweites Entscheidungsnetzwerk 147 gebildet, das
durch die Torsteuereinrichtung 108, bei der es sich mit dem Fehlerart-Folge-Generator 144 gekoppelt
z. B. um das Äquivalent eines einpoligen Wechsel- ist. Diese verschlüsselten Werte aus jedem der Ent-
19 20
Scheidungsnetzwerke 146, 147 werden in einem Ver- während abwechselnder Intervalle, die den Intergleicher 149 auf Übereinstimmung hin geprüft. vallenSl bis 515 und 516 bis 530 entsprechen.
Wenn er eine Übereinstimmung feststellt, liefert Falls die vorhergehende Codegruppe ohne Fehler der Vergleicher 149 ein Signal, das anzeigt, daß das empfangen wurde, so daß keine Fehlerkorrektur einMerkmal des Fehlerschemas erkannt worden ist, und 5 geleitet worden ist, liefert der Taktimpulsgenerator dieses Signal betätigt einen monostabilen Multivibra- 94 Taktimpulse Tl bis 7Ί5 zu der Eingangs-Undtor 152 in der Fehlerfolgesteuereinrichtung 107. Der Schaltung 114 des Entschlüsselet, das jedes Bit der Ausgangsimpuls des Multivibrators 152 wird hier neuen Codegruppe zu der ersten Stufe des Schiebe- »Rückstelk-Signal genannt und beendet eine Phase registers 101, der Prüfschaltung 111 und der Prüfder Fehlerkorrekturoperation. io schaltung 122 weiterleitet. Schiebeimpulse 52 bis Die Ausgangssignale des ersten Entscheidungs- 515 des Schiebeimpulsgenerators 95 werden dem netzwerks 146 werden außerdem Korrektur-Steuer- Schieberegister 101 über die Und-Schaltung 10L4 schaltungen 154 zugeführt, die mit ausgewählten zugeführt, so daß die empfangene Codegruppe von Stufen des Schieberegisters 101 gekoppelt sind. Zwar links nach rechts in das Register 101 eingeschoben kann eine aufeinanderfolgende Gruppe von Stufen 15 wird, wie es Fig. 5 zeigt. Außerdem werden die des Registers 101 verwendet werden, aber unter Be- Schiebeimpulse 51 bis 515 dem ersten bzw. dem achtung bestimmter Beziehungen sind hier die Kor- zweiten m-Folge-Generator 110 und 121 zugeführt. rektur-Steuerschaltungen 154 mit den letzten drei Beim Empfang jedes Bits der Codegruppe wird es Stufen gekoppelt. Die Korrektur-Steuerschaltungen zu den Prüfschaltungen 111 und 122 weitergeleitet, 154 haben die Aufgabe, den binären Zustand der 20 die durch die an den Ausgangsklemmen der Genera-Stufen zu invertieren, die fehlerhafte Datenbits ent- toren 110 bzw. 121 erzeugten Signale vorbereitet halten. Dies kann auch als Addition modulo 2 zu worden sind. Diese Ausgangssignale betätigen der den in diesen Stufen stehenden binären Werten an- Reihe nach die Prüf schaltungen 111 und 122, so daß gesehen werden. Empfangs-Paritätsprüfungen in bezug auf die Bit-Die Übertragungseinrichtung 109 für korrigierte 25 stellen der empfangenen Codegruppe ausgeführt Daten (Fig. 1) besteht aus einer Oder-Schaltung werden, die durch die in dem Verschlüsseier 11 ver-
170, einer Verzögerungsschaltung 171 und zwei Und- wendeten m-Folgen bestimmt werden. Wenn daher Schaltungen 172 und 173. Die Und-Schaltungen 172, die aus fünfzehn Bits bestehende Codegruppe richtig 173 werden jedes durch das Signal »Kein-Fehler« empfangen wird, sind die Prüfsummenbits Ic1 bis &4, vorbereitet. Die erste Und-Schaltung 172 wird durch 30 nx und π.2 jedes gleich 0. Das Ausgangssignal der Taktimpulse 71 bis Γ6 und die zweite Und-Schal- OderrSchältung 130 in der Fehlerfeststelleinrichtung tung 173 durch Taktimpulse T8 bis Γ10 wirksam 104 hat daher einen niedrigen Pegel, der verhindert, gemacht. Die übrigen Eingangsklemmen der Und- daß der verzögerte Impuls T15 die Fehlerkippstufe Tore 172, 173 empfangen Datensignale aus der Tor- 132 einschaltet. Weil das Signal »Kein-Fehler« der steuereinrichtung 108. Wenn kein Fehler vorliegt, 35 Ausgangsklemme 132 b einen hohen Pegel hat, beweil die Prüfsummen anzeigen, daß die Daten richtig wirkt die nächste Gruppe von Taktimpulsen Tl bis übertragen wurden, oder weil der Fehler korrigiert 715 und Schiebeimpulsen 51 bis 515, daß die wurde, werden die Datenbits den Und-Schaltungen 15-Bit-Codegruppe aus dem Register 101 hinaus- 172, 173 zugeführt. Weil das Fehlerart-Paritätsbit und in die Auswertvorrichtung 15 (Fig. 1) geschoo2 in den übertragenen Daten enthalten ist und die 40 ben wird. Die Paritätsbits pt bis p4, O1 und ρ2, die Paritätsbits nicht zu der Auswertvorrichtung 15 über- in der im Schieberegister 101 stehenden Codegruppe tragen werden sollen, würden die neun Datenbits der enthalten sind, können die Auswertvorrichtung nicht übertragenen Codegruppe nicht ohne Unterbrechung erreichen, weil die Und-Schaltungen 172 und 173 zu der Auswertvorrichtung 15 übertragen, ohne daß während der entsprechenden Zeiten im Auslesedie Übertragungseinrichtung 109 für korrigierte 45 zyklus gesperrt sind. Beim Hinausschieben der Daten betätigt wird. Die ersten gleichzeitig mit Tl 15-Bit-Codegruppe aus dem Register 101 wird die bis Γ6 gelieferten sechs Datenbits werden also durch nächste 15-Bit-Codegruppe von der Eingangs-Unddie Und-Schaltung 172 einer Verzögerungsschaltung Schaltung 114 in das Register eingeschoben.
171, die um eine Bitzeit verzögert, zugeführt und
zeitlich so verschoben, daß sie ein Taktimpulsinter- 50 Wirkungsweise des Systems beim Feststellen
vall nach dem Zeitpunkt ihrer Erzeugung auftreten. un(j Korrigieren eines Fehlers
Die Signale aus beiden Und-Schaltungen 172, 173
werden durch die Oder-Schaltung 170 zu der Aus- Das Vorliegen eines Fehlers in einer empfangenen
Wertvorrichtung 15 weitergeleitet. Wegen der Ver- Datengruppe führt zur Feststellung des Fehlers und
zögerung wird jedoch das in der sechsten Stelle zu- 55 zur Einleitung einer anderen Operationsfolge, die
sammen mit Γ6 auftretende Datenbit in die siebte mit der Korrektur des Fehlers endet. Korrigierbare
Bitstelle verschoben, während die ersten fünf Daten- Fehler der obenerwähnten Art bilden die große
bits entsprechend verschoben werden, so daß eine Mehrheit der Fehler, mit deren Auftreten in einem
kontinuierliche Folge von Datenbits entsteht, wobei praktischen Fall gerechnet werden kann. Die genaue
die Paritätsbits aus dieser Information ausgeschlos- 60 Wirkungsweise wird in Verbindung mit F i g. 5 er-
sen werden. läutert.
Bei richtiger Übertragung einer aus fünfzehn Bits Die am Datenempfänger 100 aus der Datenbestehenden Codegruppe aus dem Verschlüsseier 11 Umwandlungseinrichtung 13 empfangenen Signale und richtigem Empfang wird die Codegruppe aus werden wie zuvor in das Schieberegister 101 eingedem Register 101 hinaus- und gleichzeitig die Bits 65 geben. Während dieser Operation sind jedoch die der nächsten Codegruppe hineingeschoben. Zur Aus- dabei aufgebauten Prüfsummen kx bis k4, π1 und π2 führung der Fehlerkorrektur werden die Code- nicht alle gleich 0. Statt dessen enthalten die Speigruppen nicht unterbrochen übertragen, sondern cherregister 112 bzw. 123 für kx bis ki bzw. π1 und
n2 nach Eingabe der Datengruppe 1-Bits, die zusammen den Ort und die Art des Fehlers anzeigen. Bei Zuführung jedes Bits der Datengruppe zu den Prüfschaltungen 111, 122 werden je nach den ausgewählten /η-Folgen Paritätsprüfungen ausgeführt. Zum Beispiel werden in der ersten Paritätsprüfeinrichtung 102 die Empfangs-Paritätsprüfungen nacheinander bei 51 bis S15 je nach der vom ersten m-Folge-Generator 110 festgelegten ausgewählten m-Folge durchgeführt. Zur Zeit 515, wenn die Daten vollständig eingegeben sind, bereiten die 1-Bits in den Prüfsummen Ic1 bis kv Ji1 und π2 die Und-Schaltung 131 in der Fehlerfeststelleinrichtung 104 über die Oder-Schaltung 130 vor. Der verzögerte Impuls Γ15 macht dann die Und-Schaltung 131 voll wirksam, und diese liefert einen Fehlerimpuls, der die Fehler-
kippstufe 132 in den Zustand einstellt, in dem die Klemme 132 c einen hohen Pegel hat, was einen Fehler anzeigt.
Der Fehlerimpuls aus der Und-Schaltung 131 leitet daher eine Fehlerkorrektur ein, die während des Intervalls 515 bis 530 ausgeführt und vollendet wird. Zur Durchführung dieser Operation bewirkt der Fehlerimpuls die Eingabe der Prüfsummen kx bis kv Ji1 und π2 in den Fehlerort-Folge-Generator 143
ίο und den Fehlerart-Folge-Generator 144 über die Eingabe-Steuerschaltungen 140 bzw. 141.
Zu Beginn der Fehlerkorrektur wird der Inhalt der Generatoren 143 und 144 durch die benutzten m-Folgen bestimmt. Zur Erleichterung werden die ursprünglich in Tabelle 10 gezeigten verschiedenen Fehlerarten hier noch einmal wiederholt:
ki k2 10 a
1
ki πι π2 0 A2 Tabelle £4 JT1 10 ki fc2 10 c
101
A4 πι π2 ki A2 1Od
111
ki πι π2
Pehlerbeginn
bei Bit
1 0 fc3 1 0 1 1 1 10 b
11
1 1 1 1 1 1 0 O O fcs 1 0 0
1 1 0 0 1 0 1 0 £3 O 0 πι 0 1 1 1 1 1 0 0 1 1 O 0
1 O 1 0 0 1 1 T-H 1 0 1 1 1 O 0 1 1 O 1 1 0 0 0 0 O
2 . 1 0 1 1 0 1 1 1 1 O 1 1 0 0 T-H 1 1 O 0 1 0 0 O 0
3 O 1 1 1 1 0 0 1 O 1 0 0 1 O 0 0 1 1 0 0 0 0 0 0
4 1 O 0 0 1 1 0 1 1 1 1 1 0 1 0 0 O 1 1 0 1 1 0 0
5 1 1 1 1 0 1 0 0 1 1 1 1 O O 0 0 1 0 1 1 0 O O 0
6 1 1 0 0 1 0 1 O 1 1 0 O 1 0 1 1 1 1 0 1 O 0 O 0
7 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 O 0 1 1 0 1 1 0 0
8 O 1 1 1 0 1 0 1 O 0 T-H 1 0 1 0 0 1 0 0 1 1 1 O 0
9 O 0 1 1 1 0 1 0 O 0 O 0 1 0 1 1 1 1 1 0 O O 0 0
10 0 0 1 1 T-H 1 1 0 0 1 1 1 O 1 1 1 0 1 1 1 1 1 O 0
11 1 O 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 O 0
12 O 1 0 0 1 0 1 1 0 0 O 0 1 1 1 1 1 1 1 1 1 1 0 0
13 O O 0 0 1 1 O 0 T-H 1 1 1 1 O 0 O 1 0 1 1 1 O 0
14 1 1 1 1 1
15 1 0
Bei der erfindungsgemäßen Fehlerkorrektur werden besonders wirksam die Eigenschaften von m-Folgen ausgenutzt, und daher entstehen aus Fehlern verschiedener Art, die in verschiedenen Bitstellen beginnen, verschiedene Fehlerort- und Fehlerart-Untergruppen. Die genauen Anordnungen sind nachstehend erläutert. Zunächst sei jedoch die Wirkungsweise des Systems bei der Fehlerkorrektur an Hand der dabei ablaufenden Hauptschritte beschrieben.
Es sei darauf hingewiesen, daß für einen in Bitstelle 1 (sowie in jeder beliebigen anderen Bitstelle) beginnenden Fehler sowohl die Fehlerort-Untergruppen als auch die Fehlerart-Untergruppen sich je nach Fehlerart unterscheiden. Die Erfindung nutzt diese Tatsache dadurch aus, daß sie die m-Folgen der Fehlerort-Untergruppen und Fehlerart-Untergruppen in eine ausgewählte Normalstelle verschiebt. Gleichzeitig werden auch die Daten verschoben und sehr einfach korrigiert.
Unter Berücksichtigung der Tabelle 10 kufen dann gemäß F i g. 5 die Generatoren 143, 144 auf die einzelnen Schiebeimpulse hin umgekehrt um, beginnend mit 516. Das Fehlersignal liegt jetzt ebenfalls vor und bereitet die Torsteuereinrichtung 108 vor, um den erneuten Umlauf der Daten im Schieberegister 101 in Vorwärtsrichtung einzuleiten. Auch dies geschieht schrittweise, beginnend mit 516. Aus Tabelle 10 ist ersichtlich, daß schließlich jede der Fehlerort- und Fehlerart-Untergruppenkombinationen durch die Schritte der m-Folge in eine von mehreren (hier vier) Untergruppenkombinationen ümgeformt wird. Hier werden die Fehlerort-Kombinationen in Bitstelle 1 zum Erkennen des Fehjerschemas benutzt. Ein an Bitstelle 9 beginnender fehler hat also bestimmte Untergruppen (je nach Üer Fehlerart) zum Ergebnis, und diese werden acht Schiebeimpulse später in die Untergruppen für Fehler umgeformt, die in Bitstelle 1 beginnen.
Gleichzeitig mit den rückwärtigen Verschiebungen der m-Folge werden die Daten im Schieberegister 101 vorwärts bewegt. Es ist zu beachten, daß, wenn das Register 101 gefüllt ist, in der fünfzehnten Stufe die Angabe aus Bitstelle 1 und in der ersten Stufe die Angabe aus Bitstelle 15 stehen. Daher befindet sich nach acht Verschiebungen der bei Bitstelle 9 beginnende Fehler in der fünfzehnten Stufe des Schieberegisters 101 und damit in einer Lage, die dem anfänglichen Ort der Bitstelle 1 entspricht. Die ausgewählte Bitstelle kann daher als normale Untergruppenstelle bezeichnet werden und kann jeder beliebige der möglichen Punkte in der Datengruppe sein.
Der Ort und die Art des Fehlers werden beide teilweise durch die Fehlerort-Untergruppen an der normalen Untergruppenstelle identifiziert. Weil die
23 24
Fehlerort-Untergruppen mit verschiedenen Verschie- verschiedenen Elemente, so lange bestimmte Bebungen in den Folgen wiederholt werden (je nach Ziehungen beachtet werden. Eine davon ist, daß der dem Fehlertyp), würde ohne weitere Maßnahmen die Betrag der relativen Verschiebung zwischen den Länge und Art des Fehlers nicht eindeutig sein. Die Fehlerort-m-FoIgen für jede Fehlerart verschieden Fehlerart-Untergruppen, die ebenfalls an der nor- 5 sein muß. Wie Tabelle 10 zeigt, trifft dies auf die als malen Untergruppenstelle vorliegen, ergeben jedoch Beispiel gewählten /η-Folgen zu. Die zweite Bevollständige Untergruppenkombinationen, die ein- dingung ist die, daß für jede Fehlerart eindeutige deutig sind. Die Fehlerort-Untergruppe 0101 und die Unterschiede zwischen der relativen Verschiebung Fehlerart-Untergruppe 11 treten kombiniert nur im der Fehlerort-m-Folgen und der relativen Verschie-Falle von zwei benachbarten Fehlern auf, die in Bit- io bung der Fehlerart-/n-Folgen bestehen müssen. Wenn stelle 1 beginnen. Nur die in 10 b aufgeführten diese Bedingungen erfüllt sind, lassen sich die m-Folgen geben diese Kombinationen, wenn die Datengruppen- und Fehlerkorrekturcodes je nach richtige Stelle erreicht ist. Bei Identifizierung dieser dem jeweiligen Bedarf auf viele Arten verändern. Kombinationen zeigt das System an, daß zwei be- Damit man sich den allgemeinen Fall leichter vornachbarte Fehler aufgetreten sind und daß die 15 stellen kann, soll der Fehlerort-Folge-Generator 143 beschädigten Daten in eine Stelle verschoben worden mit OFG und der Fehlerart-Folge-Generator 144 mit sind, in der sie korrigiert werden können. FAFG bezeichnet werden. Die Speicherregister 112, Aus Tabelle 10 ist ersichtlich, daß (bei der aus- 123 für Ar1 bis It1 bzw. Jt1 und π, sollen als Speichergewählten normalen Untergruppenstelle von Bit- register (OPR) und (APR) genannt werden, und die stelle 1) die m-Folge-Verschiebungen schließlich 20 ganzen Endzustände sollen dann mit (OPR)E und andere eindeutige Untergruppenkombinationen von (APR)E bezeichnet werden. Die relativen Verschie-1001 01 (für einzelne Fehler), 111110 (für zwei bungen in den m-Folgen, die sich aus verschiedenen nicht benachbarte Fehler) und 001100 (für drei be- Fehlerschemen ergeben, können als Schemenvernachbarte Fehler) ergeben. Diese eindeutigen Unter- Schiebungen S0 und SA für Fehlerort- bzw. Fehlergruppenkombinationen werden in erfindungsgemäßen 25 art-Folgen bezeichnet werden. Die m-Folgen sind so Systemen in besonders einfacher Weise erkannt und beschaffen, daß mehr als ein Fehler in den Stelfür die Fehlerkorrektur verwendet. Das erste Ent- lenn, n+a,n+a2 usw. in einer Datengruppe Endscheidungsnetzwerk 146 ist so angeordnet, daß es zustand (OPR)n erzeugen wie ein Fehler in Stelle ein Fehlerkorrekturschema liefert, das für jede der η+S0 und denselben Endzustand (A PR)E wie ein eindeutigen Fehlerort-Untergruppenkombinationen 30 Fehler in Stelle η+SA. Die Stellen des ersten Fehgeeignet ist. Das erste Entscheidungsnetzwerk 146 lers in dem Schema kann als »Ort des Schemas« liefert z. B. ein Schema 001 für 1001 (Einzelfehler), bezeichnet werden, und man kann dann folgendes 011 für 0101 (zwei benachbarte Fehler), 101 für sagen:
1111 (zwei nicht benachbarte Fehler) und 111 für _ ,πΑπΓΛ
0011 (drei benachbarte Fehler). Das zweite Ent- 35 (AfK)E - (tAtLr)n +So
Scheidungsnetzwerk 147 ist dann so angeordnet, daß (OPR)E = (OFG)n+Sa es eine gleiche Folge von Schemen für 01,11,10
bzw. 00 liefert. Wenn die beiden Teile der Unter- worin (OFG)n und (FAFG)n den Inhalt der Folgegruppenkombination gleich sind, liefert der Ver- Generatoren 143,144 an Stelle η bedeuten, gleicher 149 ein entsprechendes Signal, das den 40 Die vorgenannten Bedingungen bedeuten also in monostabilen Multivibrator 152 zur Erzeugung des anderen Worten, daß alle zu berücksichtigenden »Rückstelk-Signals auslöst. Fehlerschemen verschiedene S0 und SA-S0 haben Die Ausgangssignalcodes des ersten Entschei- müssen. Die letztgenannte Bedingung heißt genauer, dungsnetzwerks 146 sind nötig, um die fehlerhaften daß der Rest von S0-SA madulo 2RA1 (wobei Daten zu korrigieren. Zum Beispiel werden drei be- 45 RA die Zahl von Stufen in den Fehlerartregistem ist) nachbarte Fehler in den Daten einfach dadurch kor- für alle Fehlerschemen verschieden sein muß. rigiert, daß die Zustände der benachbarten Stufen in Wie diese Bedingungen ausgenutzt werden, ist in dem Schieberegister 101 durch das Anlegen von mit F i g. 6 dargestellt. Hier sind die Zustände von OFG »1« bewerteten Signalen an jede Stufe umgekehrt durch die Abszisse und diejenigen von FAFG durch werden. Es werden nur die richtigen Korrektur- 50 die Ordinaten dargestellt. Der Punkt C stellt ein signale angelegt, weil das »Rückstelk-Signal nur einem bestimmten Fehlerschema entsprechendes während der richtigen Schiebezeit geliefert wird. (OPR)E; (APR)E dar. Da die diesem Fehlerschema Nach der Korrektur der Daten werden sie dann entsprechenden S0 und SA bestimmbar sind, sind die wieder während der Fehlerkorrekturoperation durch Astände OA=S0 und AB=SA. Die vertikalen und die restlichen Schiebeimpulse 5Ί6 bis S 30 zu ihrer 55 horizontalen Abstände von B bis C sind jeweils ursprünglichen Stelle in Umlauf gesetzt. Während gleich n. Der Punkt B stellt die Zustände von (OPR)E dieser Zeit erfolgen nachträgliche Veränderungen in und (APR)E dar, wenn dasselbe Fehlerschema an den Folge-Generatoren 143,144, die aber unwesent- der ersten Stelle (hier Bitstelle 1) auftritt. Punkt B lieh sind. Die korrigierten Daten befinden sich dann ist daher für das Fehlerschema charakteristisch und in der Lage für ihr Verschieben während der Ein- 60 unabhängig von dem Ort, wo es auftritt, gäbe der folgenden Datengruppe. Die Fehlerkorrek- In dem allgemeinen Falle entsprechen, wenn nur turzyklen werden durch das Anlegender Signale^ 30 die zu erwartenden Fehlerfolgen gleich lang oder an die Fehlerkippstufe 132 beendet. kürzer als 1 plus der Anzahl von Stufen (bistabilen Obwohl zur Beschreibung der Erfindung ein Kippstufen) in dem kürzesten der beiden Folgespezieller Fall angegeben worden ist (nämlich vier 65 Generatoren sind, jedem Fehlerschema bestimmte Fehlerortbits und zwei Fehlerartbits in speziellen Werte S0 und SA. Die Punkte B, die zu zwei willm-Folgen), eignen sich dieselben Prinzipien zur An- kürlichen Fehlerschemen (des korrigierbaren Typs) Wendung auf viele verschiedene Arten und mit vielen gehören, befinden sich stets sowohl an verschiedenen
25 26
horizontalen als auch vertikalen Orten. F i g. 6 stellt die richtige Korrektur in das Schieberegister 101
außerdem den Fall dar, daß FAFG und OFG gleiche eingeben kann.
Zustände haben, während in den Folgen von Ta- In einer bevorzugten Anordnung werden die Vorbelle 10 die FAFG-Zustände sich wiederholen, ob- teile von m-Folgen wirksam durch eine besonders wchl die gleichen Überlegungen zutreffen. 5 einfache Gruppe von Entscheidungsnetzwerken aus-
Die eindeutigen Lagen der Punkte B in dem genutzt, wie es das System von F i g. 8 zeigt. Dieses Diagramm stellen die verschiedenen Fehlerschemen System verwendet die m-Folgen von Tabelle 11 und dar, und zwar in besonders nützlicher Weise. Wenn korrigiert Fehlerfolgen, die drei Bits breit sind. Der man entlang der Diagonale BC vom Punkt C aus Fehlerort-Folge-Generator 143 aus F i g. 5 ist so weitergeht, durchläuft man η Schritte entsprechend io geschaltet, daß er Signale sowohl zu einem ersten dem Ort des Fehlerschemas. Durch Verschieben der Entscheidungsnetzwerk 146' als auch zu einem zwei-Daten gleichzeitig mit den Verschiebungen der ten Entscheidungsnetzwerk 147' sendet. Das erste m-Folgen gelangen die Daten in die ausgewählte Netzwerk 146' enthält eine Gruppe von Torschaltun-Normalstelle, wo sie korrigiert werden können. Das gen, die eine ausschließliche Oder-Funktion bilden Problem besteht daher darin, die Ankunft am 15 und von denen jede durch einen Kreis um einen Punkt B zu erkennen, und dies wird gelöst durch die Schnittpunkt von zwei Leitungen dargestellt sind. Fehlerkorrektureinrichtung 106 von Fig. 5. Diese Ein Eingangssignal auf Leitung^1 ergibt z. B. ein Einrichtung 106 kann die Tatsache ausnutzen, daß Ausgangssignal auf der Leitung D2 über die Torder Rest von S0 modulo 2Ro1 eine eindeutige schaltung 180, während ein Eingangssignal auf den Funktion des Fehlerschemas für Fehlerschemen der 20 beiden Leitungen kx und £4 ein Ausgangssignal nur Länge R0 + 1 ist. Es besteht also ein Verhältnis 1:1 auf Leitung D1 über die Torschaltung 181 ergibt. Die zwischen Fehlerschemen der Maximallänge R0 und den Torschaltungen 180 und 182 auf Leitung D2 den Punkten A in F i g. 6. Bei Fortsetzung der Ver- zugeführten Signale sperren sich gegenseitig und es Schiebungen durch die verschiedenen Punkte/! hin- entsteht kein Ausgangssignal. Es werden modulo2-durch werden für die verschiedenen Punkte B ver- 25 Summen gebildet.
schiedene Fehlerschemen angezeigt. Nur wenn der Das zweite Entscheidungsnetzwerk 147' ist ebenso
Zustand von FAFG gleichzeitig ein gleiches Fehler- geschaltet und erzeugt verschlüsselte Ausgangssignale
schema anzeigt, wird daher der Ort eines Fehlers entsprechend den Bits Ic1 bis £4. Wenn man diese
angezeigt. Für die Ausführung dieser Funktionen beiden Netzwerke 146' und 147' mit Tabelle 10 ver-
werden unten verschiedene Einrichtungen be- 30 gleicht, sieht man, daß dieselbe Funktion wie in der
schrieben. Schaltung von Fig. 7 gebildet wird. Das heißt, das
In vielen Fällen können die Entscheidungsnetz- erste Entscheidungsnetzwerk 146' sendet ein Fehlerwerke 146-147 von F i g. 5 aus einfachen und billigen korrekturschema zum Schieberegister 101, während Entschlüsselungsmatrizen bestehen. Manchmal ist es das Verhältnis der beiden Untergruppen in der Komjedoch zweckmäßig, andere Formen von logischen 35 bination geprüft wird. Zum Zwecke dieser Prüfung Netzwerken zu verwenden. Eine solche Schaltung ist wird jedoch die Kombination Ic1 bis &4 in ein Äquiin F i g. 7 gezeigt; sie ist zur Verwendung bei der in valent Ti1-Ji2 im zweiten Entscheidungsnetzwerk Tabelle 10 gezeigten Verschlüsselung bestimmt. Die 147' umgewandelt, und dieses Äquivalent wird im Fehlerort-Untergruppensignale U1 bis Ar4 werden einer Vergleicher 149 mit den tatsächlichen Signalen πχ ersten Gruppe von Erkennungsschaltungen 160 bis 40 und π2 verglichen, die dann von dem Fehlerart-163 zugeführt, die jede ein Ausgangssignal nur dann Folge-Generator 144 in Fi g. 5 geliefert werden. Die liefern, wenn ein ausgewähltes Signalschema vorliegt. Wirtschaftlichkeit dieser Schaltung ist gegeben durch Solche Erkennungsschaltungen sind allgemein be- die vorteilhafte Verwendung der Eigenschaften der kannt. Gleichzeitig werden die Fehlerart-Unter- m-Folgen bei der Anordnung der Matrizen, die die gruppensignaleπχ und ,-I2 einer anderen Gruppe von 45 Umwandlungen vornehmen.
Erkennungsschaltungen 165 bis 168 zugeführt. Zu- Für den Fachmann ist es klar, daß die Prinzipien geordnete Und-Schaltungen 170 bis 173, die mit der Erfindung sich auch auf viel kompliziertere Paaren der Erkennungsschaltungen gekoppelt sind ■ Codes erweitern lassen. Beispielsweise kann es er-(z. B. ist die Und-Schaltung 170 mit den Erkennungs- wünscht sein, aus einunddreißig Bits bestehende schaltungen 160 und 165 gekoppelt), liefern ein 50 Nachrichten zu verwenden, die zwanzig Informa-Signal nur dann über eine Oder-Schaltung 175, tionsbits, fünf Fehlerort-Paritätsbits, fünf Fehlerartwenn beide Erkennungsschaltungen erregt sind. Paritätsbits und einen Gesamt-Paritätsprüfbit ent-
Diese Schaltung prüft daher kontinuierlich die halten. Unter Anwendung der charakteristischen
während der Verschiebung des Fehlerort-Folge- Gleichung
Generators 143 und des Fehlerart-Folge-Generators 55 x5 + x3 + 1 = 0
144 erzeugten Signalschemen, wenn das System bei
der Fehlerkorrektur ist. Zwei Signalschemen koinzi- für die Fehlerort-m-Folge und der charakteristischen
dieren nur einmal, und zwar am entsprechenden Gleichung
Teilwert des Intervalls 516 bis S 30. Getrennt davon ' x5 + *3 + x2 + χ + 1 = 0
zeigt die Koinzidenzfeststellschaltung außerdem den 60
Fehlertyp an, so daß eine besondere Torschaltung erhält man folgende Folgen:
1 6 11 16 21 26 31
Fehlerort-Folge 00001
00001
01011
01101
10110
01000
00111
11101
11001
11110
10100
01001
1
Fehlerart-Folge 1
27 28
Die Verschiebungen und die Parität für jedes Fehlerschema werden hier als Tabelle 11 aufgeführt:
Tabelle
O Verschiebungen S 18 ) O Gesamt-
Prüfbit
Fehlerschema 25 (Reste modulo 31 22 23
5 12 3 1
10000 18 7 3 O
10001 28 ίο j 27 O
10010 13 20 10 1
10011 7 27 Π O
10100 9 30 13 1
10101 14 5 29 1
10110 10 16 28 O
10111 26 15 O
11000 19 1 1
11001 22 5 1
ποιο 21 9 O
non Π 25 1
11100 20 27 O
11101 O
11110 1
Hill
O
17
8
21
24
23
Sowohl SA-S0 = 3 als auch SA-S0—27 treten zweimal auf. In beiden Fällen kann jedoch das in der letzten Spalte angegebene Paritätsprüfbit anzeigen, welches der beiden Fehlerschemen aufgetreten ist.
Ein Prüfschema, das geeeignet ist, um die Informationsbits und die Paritätsbits zu einer geeigneten Nachrichtengruppierung zu kombinieren, wird nachstehend in Tabelle 12 angegeben.
Tabelle
Bitnummer in der Nachricht
11 16
26
31
C
Pi
Ps
Pz
Pi
Po
Pi
Ps
P-2
Pi
P0
Informationsbits
Prüfbits
Hill
10101
01010
00101
00010
00001
10110
01011
00101
00010
00001
1
11111 11011 11101 OHIO 10111 01011 10100 01010 10101 11010 01101 6
11111 00011 10001 11000 01100 10110 OHIO 00111 00011 10001 01000 11 Hill
11100
11110
Hill
01111
00111
Hill
01111
10111
11011
11101
16
11111
11010
01101
00110
10011
11001
00100
10010
11001
HlOO
11110
Hill 01000 00100 10010 01001 10100 11000 01100 00110 10011 01001
1 0 O 0 0 1 0 0 0 0 1
C^ fvjj
20
In Fig. 9 ist eine Fehlerkorrektureinrichtung dargestellt, die mit diesem Fehlerkorrekturcode und dieser Nachrichtengruppierung arbeitet. Auch hier bedeutet ein einen Schnittpunkt in einem Entscheidungsnetzwerk umgebender Kreis, daß das Signal auf der vertikalen Leitung eines Schnittpunktes eins der Summenglieder einer Summe modulo 2 ist, die durch alle von Kreisen umgebenen Schnittpunkte auf der Horizontalleitung definiert wird. Elemente, die denen in Fig. 5 und 8 gleichen, sind mit denselben Ziffern gekennzeichnet.
In dieser Anordnung werden die Ausgangssignale des ersten Entscheidüngsnetzwerks 181 Bit für Bit mit denen des Fehlerart-Folge-Generators 144 und des Gesamt-Prüfbitregisters 180 in einem Vergleicher 182 verglichen. Der Vergleicher 182 enthält modulo 2-Addierer und eine Oder-Schaltung 184, mit der außerdem ein Inverter 183 gekoppelt ist, der Signale aus einem zweiten Entscheidungsnetzwerk 186 empfängt, welches den richtigen Korrekturcode für die Fehlerfolge erzeugt. Weil der Vergleicher 182 so eingestellt ist, daß er eine Erkennung liefert, wenn die bitweisen Vergleiche alle eine Nichtübereinstimmung ergeben, werden die Signale aus der Oder-Schaltung 184 den Korrektur-Steuerschaltungen 154 über einen Inverter 185 zugeleitet.
Die schrittweise Operation dieser Schaltung gleicht der allgemein in Verbindung mit F i g. 5 beschriebenen. Der Vergleich zwischen den Ausgangssignalen des ersten Entscheidungsnetzwerks 181 und der Sonderleitung aus dem zweiten Entscheidungsnetzwerk 186 mit den Signalen aus dem Fehlerart-Folge-Generator 144 und dem Gesamt-Prübitregister 180 prüft die gleichzeitige Identifizierung desselben
Fehlerschemas. Die fehlerhafte Datenfolge in dem Schieberegister wird gleichzeitig in die Stelle verschoben, wo sie korrigiert werden kann. Beim Erkennen des Fehlerschemas sind die Ausgangssignale des zweiten Entscheidungsnetzwerks 186 diejenigen, die nötig sind, um die Fehlerfolge durch eine Addition modulo 2 zu korrigieren, so daß die Daten dann völlig korrekt sind. Danach werden die Daten dann wieder zu ihrer ursprünglichen Stelle in Umlauf gesetzt, damit dann die nächste Nachricht eingeschoben werden kann.

Claims (3)

Patentansprüche:
1. Verfahren zur selbsttätigen Erkennung und Korrektur von bei der seriellen Übertragung eines binär verschlüsselten Informations- und Kontrollwerte enthaltenden Wortes entstandenen Fehlerbündeln, dadurch gekennzeichnet, daß mindestens zwei verschiedene Arten von Kontrollwerten verwendet werden, aus denen empfangsseitig Kontrollsummen abgeleitet werden, die bei Vorliegen von Fehlern den Beginn des Fehlerbündels innerhalb des übertragenen Wortes und die Art des Fehlermusters kennzeichnen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jede Kontrollsumme in der Weise gebildet wird, daß die Ausgangssignale eines über einen modulo 2-Addierer rückgekoppelten Schieberegisters (110,121 in Fig. 5), das so viele Stufen besitzt, wie die betreffende Art von Kontrollwerten, der es zugeordnet ist, Stellen hat, in einer logischen Schaltung (111,122) mit den Ziffern des seriell übertragenen Wortes kombiniert werden und die Ausgangssignale der logischen Schaltung einem Register (112, 123) mit einer dem Schieberegister (110,121) gleichen Stufenzahl zugeführt werden, das auch als über einen modulo 2-Addierer rückgekoppeltes Schieberegister betrieben werden kann.
3. Verfahren nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß nach dem Eingehen des übertragenen Wortes in ein Empfangs-Schieberegister (101 in F i g. 5) die Fehlerkorrektur in der Weise erfolgt, daß das übertragene Wort im Empfangs-Schieberegister umläuft und die die Kontrollsummen speichernden Register (112, 123) jetzt als rückgekoppelte Schieberegister betrieben werden mit zur Verschiebungsrichtung des Empfangsschieberegisters entgegengesetzter Verschieberichtung, und daß die Ausgangssignale der letztgenannten Register einer Vergleichsschaltung zugeführt werden, die bei Gleichheit der Eingangssignale ein Signal erzeugt, das die Korrektur des Fehlerbündels über einen modulo 2-Addierer auslöst.
Hierzu 2 Blatt Zeichnungen
409 560/193 4.64 © Bundesdruckerei Berlin
DEJ21967A 1961-06-22 1962-06-20 System zur Fehlerermittlung und Fehlerkorrektur Pending DE1168677B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US118927A US3222643A (en) 1961-06-22 1961-06-22 Error detecting and correcting systems

Publications (1)

Publication Number Publication Date
DE1168677B true DE1168677B (de) 1964-04-23

Family

ID=22381597

Family Applications (1)

Application Number Title Priority Date Filing Date
DEJ21967A Pending DE1168677B (de) 1961-06-22 1962-06-20 System zur Fehlerermittlung und Fehlerkorrektur

Country Status (3)

Country Link
US (1) US3222643A (de)
DE (1) DE1168677B (de)
GB (1) GB1004700A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115754892A (zh) * 2023-01-06 2023-03-07 山东计保电气有限公司 电能计量线路检查及纠错方法与装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3273119A (en) * 1961-08-21 1966-09-13 Bell Telephone Labor Inc Digital error correcting systems
NL130511C (de) * 1963-10-15
GB1053174A (de) * 1964-04-06
GB1096617A (en) * 1964-11-16 1967-12-29 Standard Telephones Cables Ltd Data processing equipment
US3402390A (en) * 1965-03-01 1968-09-17 Motorola Inc System for encoding and decoding information which provides correction of random double bit and triple bit errors
US3622984A (en) * 1969-11-05 1971-11-23 Ibm Error correcting system and method
US3725859A (en) * 1971-06-14 1973-04-03 Texas Instruments Inc Burst error detection and correction system
US3742449A (en) * 1971-06-14 1973-06-26 Texas Instruments Inc Burst and single error detection and correction system
US4159469A (en) * 1977-10-17 1979-06-26 Motorola, Inc. Method and apparatus for the coding and decoding of digital information

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3123803A (en) * 1964-03-03 E de lisle ftai
US2956124A (en) * 1958-05-01 1960-10-11 Bell Telephone Labor Inc Continuous digital error correcting system
US3069657A (en) * 1958-06-11 1962-12-18 Sylvania Electric Prod Selective calling system
US3037697A (en) * 1959-06-17 1962-06-05 Honeywell Regulator Co Information handling apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115754892A (zh) * 2023-01-06 2023-03-07 山东计保电气有限公司 电能计量线路检查及纠错方法与装置

Also Published As

Publication number Publication date
GB1004700A (en) 1965-09-15
US3222643A (en) 1965-12-07

Similar Documents

Publication Publication Date Title
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2724409A1 (de) Datenverarbeitungssystem
DE2427463C3 (de)
DE2337703A1 (de) Digitales datenuebertragungssystem und verfahren fuer dessen betrieb
DE2942825A1 (de) Verfahren und vorrichtung zur verarbeitung sequentiell uebertragender digitaler informationsworte
DE3231956A1 (de) Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes
DE3238143A1 (de) Digitaldatenuebertragungssystem mit paritaetsbitwortaufschaltung
DE2622184A1 (de) Fehlerkorrekturverfahren
DE1202311B (de) Verfahren und Schaltungsanordnung zur moeglichst fehlerfreien UEbertragung von binaeren impulsfoermigen Signalen ueber zeitweilig stark gestoerte Kanaele
DE2736967C3 (de) Fernwirkanordnung
DE2460263A1 (de) Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes
DE3238157C2 (de) Schaltungsanordnung zum Ermitteln der Synchronisierung von Eingangs-Datenblöcken
DE1300144B (de) Gegen Synchronisations- und Informationsfehler gesicherte Daten-uebertragungseinrichtng
DE1168677B (de) System zur Fehlerermittlung und Fehlerkorrektur
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE1537549C3 (de) Übertragungssystem für bipolare Impulse
DE2015498C3 (de) Verfahren zum Synchronisieren von Digitalsignalen und eine Anordnung zur Durchfuhrung des Verfahrens
DE2728246A1 (de) Verfahren und schaltungsanordnungen zur bandbreiten-zuteilung fuer schleifenuebertragungsanlagen
DE3344074C2 (de)
DE2047868A1 (de) Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes
DE1948533C3 (de) Einrichtung zur Übertragung einer synchronen, binären Impulsfolge
DE3122763A1 (de) Schaltungsanordnung zur demodulation eines digitaleninformationssignals
DE1287339B (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE1934675A1 (de) Fehlererkennungsverfahren fuer Datenuebertragungssysteme
EP0128624A2 (de) Verfahren und Schaltungsanordnung zur Synchronisation in einem Datenübertragungssystem