DE1168677B - System zur Fehlerermittlung und Fehlerkorrektur - Google Patents
System zur Fehlerermittlung und FehlerkorrekturInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/17—Burst 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
AUSLEGESCHRIFT
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Deutsche Kl.: 42 m-I
1 168 677
J 21967 IX c/42 m
20. Juni 1962
23. April 1964
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.
| 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
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
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 2R — 1 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.
| 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.
| 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.
| 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.
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-
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-
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
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 2RA— 1 (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 2Ro — 1 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
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:
| 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.
Bitnummer in der Nachricht
11 16
11 16
26
31
C
Pi
Ps
Pz
Pi
Po
Pi
Ps
P-2
Pi
P0
Informationsbits
Prüfbits
Prüfbits
Hill
10101
01010
00101
00010
00001
10110
01011
00101
00010
00001
1
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
11100
11110
Hill
01111
00111
Hill
01111
10111
11011
11101
16
11111
11010
01101
00110
10011
11001
00100
10010
11001
HlOO
11110
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)
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
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115754892A (zh) * | 2023-01-06 | 2023-03-07 | 山东计保电气有限公司 | 电能计量线路检查及纠错方法与装置 |
Families Citing this family (9)
| 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)
| 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 |
-
1961
- 1961-06-22 US US118927A patent/US3222643A/en not_active Expired - Lifetime
-
1962
- 1962-06-12 GB GB22502/62A patent/GB1004700A/en not_active Expired
- 1962-06-20 DE DEJ21967A patent/DE1168677B/de active Pending
Cited By (1)
| 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 |