DE1449906C - Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko - Google Patents
Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen KoInfo
- Publication number
- DE1449906C DE1449906C DE1449906C DE 1449906 C DE1449906 C DE 1449906C DE 1449906 C DE1449906 C DE 1449906C
- Authority
- DE
- Germany
- Prior art keywords
- digits
- register
- check
- digit
- permutation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 125000004122 cyclic group Chemical group 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 239000004020 conductor Substances 0.000 description 10
- 230000004913 activation Effects 0.000 description 8
- 230000000875 corresponding Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000003213 activating Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 241000282941 Rangifer tarandus Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000036515 potency Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
Description
Die Erfindung bezieht sich auf einen. Dekodierer zum Verarbeiten redundanter n-stelliger Digitalfolgen
eines systematischen Kodes der Hamming-Distanz 2 e -f 1 (e = positiv und ganzzahlig), wobei jede
Folge k Informationsziffernstellen und η — k Prüf-Ziffernstellen
aufweist, mit einem /x-stelligen Register
zum Speichern einer empfangenen Folge und einem Prüfzifferngenerator, der mit den die Informationsziffern aufnehmenden Stellen des Registers verbunden
ist und die Prüfziffern nach der vom Kodierer vorgegebenen Beziehung berechnet, sowie mit einem
Vergleichskreis zum Vergleich der neu berechneten mit den übertragenen Prüfziffern, der bei Nichtübereinstimmung
ein Fehlersignal abgibt.
Unter Verwendung von Redundanz ist es bekanntlieh möglich, eine Nachricht so zu kodieren, daß ein
Dekodierer in der Lage ist, den ursprünglichen Informationsgehalt hiervon trotz des Umstandes wieder
abzuleiten, daß die Nachricht möglicherweise während der Übertragung entstellt oder verfälscht worden
ist.
Eine bekannte Anordnung zur Einzelfehlerkorrektur unter Verwendung des allgemein bekannten Hamming-Kodes
weist ein Register auf, dessen Stufenzahl gleich der Anzahl der im Kodewort vorhandenen Prüf-Ziffernstellen
ist; vgl. »IBM-Journal«, Juli 1960, S. 329 bis 334. Betrachtet man beispielsweise eine fünfzehnstellige
Folge mit elf Informationsziffern und vier Prüfziffern, dann werden die empfangenen Ziffernfolgen,
die auf Fehler zu überprüfen sind, ziffernweise in ein vierstufiges Schieberegister eingegeben, wobei
nach jedem Zifferneintritt eine Verschiebung auftritt. Wenn und nur wenn die empfangene Nachricht fehlerfrei
ist, werden die vier Stufen des Registers sämtlich Nullen enthalten, nachdem die fünfzehnte Ziffer der
Folge in das Register eingetreten ist. Diese Operation entspricht dem allgemein bekannten Prozeß einer Division
der empfangenen Ziffernfolge durch die sogenannte Polynomerzeugende des Kodes. Der nach Beendigung
dieses Prozesses im Register verbleibende Wert ist der Rest, der von dieser Division herrührt.
Ist ein Einzelfehler bei der Übertragung aufgetreten, so sind die im Register verbleibenden Ziffern nicht
sämtlich Nullen. Zur Bestimmung, welche Ziffernstelle in diesem Fall fehlerhaft ist, wird der Inhalt des Registers
durch Eingeben von Nullen verschoben, bis — im angenommenen Beispiel — 1000 in den vier Registerstufen
erscheint. Die Stelle der fehlerhaften Ziffer ist dann um eins größer als die Anzahl der Verschiebungen,
die zum Erhalt des Wertes 1000 erforderlich waren; vgl. Scientific American, Februar 1962, S. 96
bis 108.
In ähnlicher Weise, d. h. gleichfalls auf dem Prinzip
einer Division der empfangenen Ziffernfolge durch die Polynomerzeugende des jeweiligen systematischen
Kodes, arbeiten auch die bekannten Anordnungen, die zur Erkennung und Korrektur von mehreren gleichzeitig
auftretenden Fehlern ausgelegt sind; vgl. österreichische Patentschrift 206 206 sowie W.
W. Peterson, »Error Correcting Codes«, 1961, S. 189 bis 200. Der Schaltungsaufwand für diese
bekannten Dekodierer ist aber sehr hoch, wenn damit Mehrfachfehler (sowohl zufällig verteilte als auch gehäufte),
insbesondere bei Verwendung eines hochredundanten Kodes auskorrigiert werden sollen.
Aufgabe der Erfindung ist es daher, solche Mehrfachfehler in vollständig neuartiger Weise automatisch
auszukorrigieren, so daß die Anzahl der erforderlichen logischen Operationen und der Speicheraufwand stark
reduziert werden kann.
Die erfindungsgemäße Lösung dieser Aufgabe macht sich den Umstand zu Nutze, daß bei allen systematischen
Kodes mit der Hamming-Distanz 2 e + 1 dann, wenn zwischen den Prüfziffern der empfangenen Folge
und den aus den Informationsziffern dieser Folge neu errechneten. Prüfziffern höchstens eine Hamming-Distanz
von e besteht, nur die Prüfziffern und nicht auch die Informationsziffern fehlerbehaftet sind, während
umgekehrt diese Hamming-Distanz immer größer ist als e, wenn auch nur eine Informationsziffer fehlerbehaftet
ist. Des weiteren wird der Umstand ausgenutzt, daß den Kodezeichen eines systematischen
Kodes eine Gruppe von Permutationen zugeordnet werden kann, gegenüber denen der Kode invariant ist,
die aber gleichzeitig in der Lage sind, alle Fehler einer empfangenen Folge, sofern die Zahl der Fehler höchstens
gleich e ist, aus den ersten k Informationsziffernstellen heraus und in die η — k Prüfziffernstellen
hineinzuschieben.
Die erfindungsgemäße Lösung dieser Aufgabe ist demgemäß für einen Dekodierer der einleitend beschriebenen
Art gekennzeichnet durch folgende Merkmale:
a) Das «-stellige Register ist zur Ausführung zyklischer Verschiebungen und Multiplikationen mit
zwei mod« als Permutationsregister ausgebildet;
b) mit dem Vergleichskreis ist eine Steuereinheit verbunden,
die beim Abweichen der neu berechneten Prüfziffern von den übertragenen Prüfziffern in
mehr als e Stellen das Permutationsregister zu Multiplikationen mit zwei mod « und zyklischen
Verschiebungen veranlaßt und dieses unter jeweiliger Neuberechnung von Prüfziffern bezüglich
des veränderten Inhaltes des Permutationsregisters so lange wiederholt, bis der Vergleichskreis anzeigt,
daß die neu berechneten Prüfziffern von dem Inhalt der festen Prüfziffernstellen des Permutationsregisters
in höchstens e Stellen abweichen;
c) mit der Steuereinheit ist eine Übertragungsanordnung verbunden, die auf die letztgenannte Feststellung
des Vergleichskreises hin die neu berechneten Prüfziffern in die festen Prüfziffernstellen
des Permutationsregisters überträgt, wobei anschließend die Steuereinheit eine weitere Permutierung
der geänderten Folge um die zur Wiederherstellung der — dann korrigierten — empfangenen
Folge erforderlichen Anzahl von Permutationsschritten veranlaßt.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Wenn also ein Fehler in mindestens einer der Informationsziffernstellen
der empfangenen Folge vorhanden ist, dann äußert sich dieses in einer Abweichung
der neu berechneten Prüfziffern in mehr als e Stellen von den empfangenen Prüfziffern, die in den im Permutationsregister
festgelegten « — k Prüfziffernstellen gespeichert sind. In diesem Fall wird dann die empfangene
Folge sukzessiv permutiert, wobei nach jeder Permutation eine neue Prüfziffernberechnung und ein
Vergleich zwischen den neu berechneten Prüfziffern und den Inhalten der im Permutationsregister festgelegten
Prüfziffernstellen stattfinden. Wenn nach χ Permutationsschritten gefunden wird, daß nun die beiden
Prüfzifferngruppen voneinander nur noch in höchstens e Stellen abweichen, dann wird dieses als Anzeige dafür
gewertet, daß alle Fehler aus den im Permutationsregister festgelegten k Informationsziffernstellen herausgezogen
worden sind und nunmehr sämtlich in den Prüfziffernstellen liegen. Zu diesem Zeitpunkt werden
dann die in den η — k Prüfstellen des Registers gespeicherten
Ziffern ersetzt durch die aus dem nunmehr fehlerfreien Inhalt der Informationsziffernstellen errechneten
Prüfziffern. Demzufolge enthält jetzt das Register eine richtige Version einer der insgesamt im
systematischen Kode möglichen Folgen. Diese richtige Version ist aber nicht schon die korrigierte Fassung
der empfangenen Folge selbst. Vielmehr weicht sie von dieser durch die Permutationsschritte ab, welche auf
die empfangene Folge angewandt worden sind. Es ist daher zum Erhalt der korrigierten Fassung der empfangenen
Folge notwendig, diese Permutationsschritte wieder zu kompensieren. Dieses wird erreicht entweder
durch Zurückpermutieren der betrachteten korrigierten Folge durch die bisher auf die empfangene Folge
angewandten Permutationsschritte hindurch oder durch Vorwärtspermutieren der betrachteten Folge um die
restlichen Permutationsschritte der Permutationsgruppe. Gleichgültig, welcher Weg nun im Einzelfall
eingeschlagen wird, enthält dann das Register die korrigierte Fassung der empfangenen Folge.
Im folgenden ist ein Ausführungsbeispiel der Erfindung an Hand der Zeichnung beschrieben; es zeigt
F i g. 1 das Schaltbild einer Anlage mit dem erfindungsgemäßen Ausführungsbeispiel des Dekodierers,
F i g. 2 Schaltungsdetails eines Teils des Dekodierers nach Fig. 1,
Fig. 3A und 3 B Zeitdiagramme zur Darstellung
der Gesamtbetriebsweise des Dekodierers nach Fig. 1,
F i g. 4 eine Teilliste der Informationsfolgen eines bestimmten systematischen Kodes, der für eine Verarbeitung
durch den Dekodierer nach F i g. 1 geeignet ist,
F i g. 5 eine Darstellung der Art und Weis 2, auf
die der Dekodierer nach F i g. 1 eine der Folgen nach F i g. 4 automatisch korrigiert, und
F i g. 6 eine Darstellung der Art und Weise, auf die der Dekodierer nach F i g. 1 eine fehlerhafte
Folge eines anderen systematischen Kodes automatisch korrigiert.
Die in der F i g. 1 dargestellte Anordnung weist eine Quelle 100 auf, die zum Zuführen einer Gruppe
kodierter Informationsfolgen, von denen jede ein Glied eines systematischen Kodes ist, vorgesehen ist.
Jede der von der Quelle 100 gelieferten Folge weist η Ziffern auf, deren erste k Ziffern Informationsziffern
sind und deren letzte η — k Prüf ziffern sind, die aus
den Informationsziffern entsprechend einer vorbestimmten Paritätsbeziehung gebildet sind. Ist die
Hamming-Distanz zwischen irgend zwei Folgen des Kodes 2 e + 1, wobei e positiv und ganzzahlig ist,
dann ist der Kode mit einer genügenden Redundanz versehen, die es ermöglicht, alle in einer n-ziffrigen
Folge des Kodes auftretende Fehler < e zu korrigieren. Dieses Grundkonzept ist in der Kodiertechnik
bekannt und ist beispielsweise in dem Artikel »A Class of Binary Signaling Alphabets« von D. S 1 e ρ i a n,
erschienen in der Zeitschrift »The Bell System Technical Journal«, 1956, S. 203 bis 234, beschrieben.
Die von der Quelle 100 herrührenden Folgen werden über einen mit Rausch- und/oder Störspannungen behafteten
oder zu Fehlern neigenden Übertragungskanal 102 in einen Pufferspeicher 105 eingegeben. Vom
Pufferspeicher 105 werden die Folgen einem entsprechend der Erfindung aufgebauten Dskodierer 108
zugeführt. Es sei bemerkt, daß der Übertragungskanal 102 von der Art sein kann, die voneinander entfernt
S liegende Kodier- und Dekodiereinheiten miteinander verbindet, wie dies beispielsweise in einem großs Entfernungen
überbrückenden Übertragungssystem der Fall ist. Andererseits kann der Kanal 102 auch von der
Art sein, die Kodier- und Dskodiereinheiten miteinander verbindet, die einer an einer einzigen Stelle gelegenen
Informationsverarbeitungsanlage zugeordnet sind. In jedem Fall ist der Dskodierer in der Lage, eine
ursprünglich übertragene Informationsfolge selbst dann zu rekonstruieren, wenn diese in benachbarten
oder nicht benachbarten Ziffernstellungen verstümmelt ist.
Der Dekodierer nach F i g. 1 weist ein eingangsseitiges Verknüpfungsglied 110 auf, über das die im
Pufferspeicher 105 gespeicherten Informationsfolgsn selektiv zum Eingang eines «-stufigen Permutationsregisters
115 durchgegeben werden (der Dekodierer weist ferner ein ausgangsssitiges Verknüpfungsglied 120
auf, das korrigierte Folgen an eine Ausgangsleitung 152 unter der Steuerung von einer Einheit 150 herrührender
Signale abgibt). Selektives Aktivieren des Verknüpfungsgliedes 110 wird durch ein Signal bewerkstelligt,
das über eine Leitung 112 von der Steuereinheit 150 zugeführt wird (siehe obere Zeile der
Fig. 3A, die ein zum ZeitpunktO1 den Verknüpfungsgliedern
110 und 120 zugeführtes Erregungssignal darstellt). Durch ein derartiges Aufsteuern wird
eine /z-ziffrige Informationsfolge in die η Stufen eines Registers 115 eingegeben. Im einzelnen werden die zuerst
ankommenden Ziffern, die Informationsziffern, der empfangenen Folge in den k rechten Stufen des
Registers 115 gespeichert, während die η —■ k Paritätsprüfziffern
der Folge in den verbleibenden η — k Stufen des Registers 115 gespeichert werden.
Zum Zeitpunktbx (Fig. 3A) liefert die Steuereinheit
150 der F i g. 1 ein Aktivierungssignal zu einem Verknüpfungsglied 125, dessen Eingänge je mit
den Ausgängen der k Informationsstufen dss Registers 115 verbunden sind. Hierdurch werdsn im Register
gespeicherte k Informationsziffern einem Prüfzifferngenerator 130 zugeführt. Im Prüfzifferngenerator 130
wird eine Prüfzifferngruppe aus den k Informationsziffern in genau der gleichen Weise erzeugt, wie dieses
in der Quelle 100 erfolgt ist. Zum Zeitpunkt C1 (Fig. 3A) liefert die Steuereinheit 150 ein Aktivierungssignal
an ein Verknüpfungsglied 135, wodurch die vom Prüfzifferngenerator 130 erhaltenen Prüfziffern
einem Vergleichskreis 140 eingegeben werden. Zum gleichen Zeitpunkt (C1) liefert die Steuereinheit 150
ein Aktivierungssignal an ein Verknüpfungsglied 145, dessen η — k Eingänge je mit den Ausgängen derjenigen
Stufen des Registers 115 verbunden sind, welche Prüfziffern gespeichert haben. Dsmgemäß werden
die Prüfziffern der empfangenen Folge dsm Vergleichskreis 140 zum gleichen Zeitpunkt zugeführt, wie
die empfangsseitig erneut berechneten Prüfziffern.
Zum ZeitpunktU1 (Fig. 3A) liefert der Vergleichskreis 140 der Steuereinheit 150 über eine Leitung 142
ein Signal als Anzeige darüber, daß die beiden vorstehend erwähnten Prüfzifferngruppen in höchstens
e Ziffernstellen abweichen, oder ein Signal als Anzeige dafür, daß die beiden Prüf Zifferngruppen in mehr als
e Ziffernstellen abweichen. Zu Erläuterungszwecken soll angenommen sein, daß das ersterwähnte Signal ein
5 6
positiver Impuls ist (Fig. 3A), während das zweite Folge um die restlichen r ■— ■ χ Permutationsschritte
Signal ein negativer Impuls sein soll, wie dies durch die der Permutationsgruppe weiter permutiert wird. In
gestrichelten Linien in der Fig. 3A dargestellt ist. jedem Fall ist dann das Ergebnis eine im Register 115
Wie aus der nachstehenden, noch ins einzelne gehenden gespeicherte korrigierte Version der empfangenen
Beschreibung ersichtlich werden wird, ist ein positiver 5 Folge, die nunmehr für ein Weiterleiten auf die AusImpuls
Anzeige für die Tatsache, daß alle Fehler einer gangsleitung 152 zur Verfügung steht,
empfangenen, im Register 115 gespeicherten Folge nur Im Hinblick auf ein leichteres detailliertes Verständin den Prüfziffernstufen vorhanden sind. In diesem Fall nis der Wirkungsweise der Ausf ührungsform nach führt ein Ersatz der im Register 115 vorhandenen Prüf- F i g. 1 soll nachfolgend ein spezielles Dekodierziffern durch die erneut berechneten Prüfziffern zu io beispiel beschrieben werden. In F i g. 4 sind vereiner korrigierten Version der empfangenen Folge. schiedene Folgen dargestellt. Diese Folgen sind Glie-Diese Substitution wird mit Hilfe eines zum Zeit- der eines systematischen Kodes, in dem η = 7, Ic = 4, punkt ex auftretenden Aktivierungsimpulses bewerk- e = 1 und die Hamming-Distanz zwischen irgend zwei stelligt, der von der Steuereinheit 150 herrührt und Folgen gleich 2 e + 1 ist. Eine Betrachtung dieser einem Verknüpfungsglied 155 zugeführt wird. Hier- 15 Folgen zeigt, daß jede Folge von der unmittelbar dardurch werden die erzeugten Prüfziffern des Prüfziffern- über stehenden einfach durch Entfernen der linken generators 130 den η ■— k Prüfziffernstufen des Regi- Ziffer dieser Folge und durch Anfügen derselben an der sters 115 eingegeben. Eine nachfolgende, zum Zeit- rechten Seite entstanden ist. (Wird beispielsweise die punkt Z1 stattfindende Aktivierung der Verknüpfuiigs- in der Folge Nr. 3 links stehende Ziffer »1« entfernt glieder 110 und 120 verursacht, daß die korrigierte 20 und auf der rechten Seite wieder angefügt, so erhält Informationsfolge an die Ausgangsleitung 152 ab- man die Folge Nr. 4.) Es ist offensichtlich, daß sukgegeben wird, und veranlaßt weiter, daß die nächste zessive zyklische Transformationen dieser Art oder Informationsfolge vom Pufferspeicher 105 in das Re- Permutationen dazu führen, daß eine einzige falsche gister 115 zum Zweck einer Dekodierung eingegeben Informationsziffer aus den vier rechten Informationswird. 25 ziffernsteilen heraus und in eine der drei linken Prüf-
empfangenen, im Register 115 gespeicherten Folge nur Im Hinblick auf ein leichteres detailliertes Verständin den Prüfziffernstufen vorhanden sind. In diesem Fall nis der Wirkungsweise der Ausf ührungsform nach führt ein Ersatz der im Register 115 vorhandenen Prüf- F i g. 1 soll nachfolgend ein spezielles Dekodierziffern durch die erneut berechneten Prüfziffern zu io beispiel beschrieben werden. In F i g. 4 sind vereiner korrigierten Version der empfangenen Folge. schiedene Folgen dargestellt. Diese Folgen sind Glie-Diese Substitution wird mit Hilfe eines zum Zeit- der eines systematischen Kodes, in dem η = 7, Ic = 4, punkt ex auftretenden Aktivierungsimpulses bewerk- e = 1 und die Hamming-Distanz zwischen irgend zwei stelligt, der von der Steuereinheit 150 herrührt und Folgen gleich 2 e + 1 ist. Eine Betrachtung dieser einem Verknüpfungsglied 155 zugeführt wird. Hier- 15 Folgen zeigt, daß jede Folge von der unmittelbar dardurch werden die erzeugten Prüfziffern des Prüfziffern- über stehenden einfach durch Entfernen der linken generators 130 den η ■— k Prüfziffernstufen des Regi- Ziffer dieser Folge und durch Anfügen derselben an der sters 115 eingegeben. Eine nachfolgende, zum Zeit- rechten Seite entstanden ist. (Wird beispielsweise die punkt Z1 stattfindende Aktivierung der Verknüpfuiigs- in der Folge Nr. 3 links stehende Ziffer »1« entfernt glieder 110 und 120 verursacht, daß die korrigierte 20 und auf der rechten Seite wieder angefügt, so erhält Informationsfolge an die Ausgangsleitung 152 ab- man die Folge Nr. 4.) Es ist offensichtlich, daß sukgegeben wird, und veranlaßt weiter, daß die nächste zessive zyklische Transformationen dieser Art oder Informationsfolge vom Pufferspeicher 105 in das Re- Permutationen dazu führen, daß eine einzige falsche gister 115 zum Zweck einer Dekodierung eingegeben Informationsziffer aus den vier rechten Informationswird. 25 ziffernsteilen heraus und in eine der drei linken Prüf-
Nun sei jedoch angenommen, daß der Vergleichs- Ziffernstellen geschoben werden kann,
kreis 140 (F i g. 1) zum Zeitpunkt J1 der Steuer- Es ist daher evident, daß die in der F i g. 4 angege-
einheitl50 einen negativen Impuls zuführt. Dieses benen Folgen Glieder eines systematischen Kodes sind,
Ereignis ist in dem Laufplan der F i g. 3 B dargestellt, dem eine Permutationsgruppe zugeordnet ist, die
in dessen vierter Zeile ein negativer, mit > e bezeich- 3° ihrerseits den Kode aufrechterhält, während sie zur
neter Impuls dargestellt ist. Dieser negative Impuls ist gleichen Zeit in der Lage ist, alle Fehlergruppen
< e
Anzeige dafür, daß die erneut berechneten Prüfziffern aus den ersten k Stellen einer Kodefolge herauszuschie-
und die empfangenen Prüfziffern in mehr als e Ziffern- ben. Im einzelnen kann, wenn jede Z'ffer einer der in
stellen voneinander abweichen. Eine solche Anzeige F i g. 4 dargestellten Folgen um eine Stelle nach links
bedeutet, daß mindestens eine der Informationsziffern 35 versetzt wird, wobei die linke Ziffer an der rechten
der empfangenen Folge während der Übertragung ver- Seite der Folge angefügt wird, die resultierende modi-
fälscht worden ist. Auf ein solches negatives Signal an- fizierte Folge als eine andere Folge des systematischen
sprechend, liefert die Steuereinheit 150 ein Steuer- Kodes betrachtet werden. In der neuen Folge sind je-
signal zum Register 115 über die Leitung 151, um zu doch die Informationsziffern gegenüber ihren ur-
veranlassen, daß die im Register gespeicherte Folge 40 sprünglichen Stellen verschoben. Daher kann der
einem Permutationsschritt unterworfen wird, der Kode, dessen Glieder die in F i g. 4 dargestellten
Bestandteil einer r Permutationsschritte aufweisenden Folgen sind, entsprechend der Erfindung dekodiert
Gruppe ist. Anschließend an diese Permutation der werden.
empfangenen Folge leitet der Prüfzifferngenerator 130 Es sei nun angenommen, daß vier Informationseine
weitere Prüfzifferngruppe aus den Ziffern ab, die 45 ziffern 0110 von der Quelle 100 (F i g. 1) in Überin
den ersten k Stufen des Registers 115 gespeichert einstimmung mit einem Fehler korrigierenden Kode zu
sind. Sodann werden diese abgeleiteten Prüfziffern und Übertragungszwecken über den mit Störungen bedie
in den letzten η bis k Stufen des Registers 115 ge- hafteten Kanal 102 kodiert worden sind. Zu Erläutespeicherten
permutierten Ziffern miteinander ver- rungszwecken sei angenommen, daß dieses Kodieren
glichen. Dieser Permutation-Vergleichs-Zyklus wird 5° entsprechend einem der allgemein bekannten Kode
x-mal wiederholt, bis der Vergleichskreis 140 der vorgenommen worden ist, wie dieser in dem eingangs
Steuereinheit 150 zum ZeitpunktJ1 (Fig. 3 B) an- erwähnten Artikel in der Zeitschrift »The Bell System
zeigt, daß die Differenz zwischen den beiden Prüf- Technical Journal« beschrieben ist. Die resultierende
Zifferngruppen kleiner oder gleich e ist, oder mit ande- kodierte Folge ist als Folge Nr. 1 in Fig. 4 dargestellt,
ren Worten, höchstens gleich e ist. Auf eine solche 55 Ferner sei angenommen, daß die zuerst ankommende,
Anzeige ansprechend, aktiviert die Steuereinheit 150 am weitesten rechts stehende Ziffer der Folge Nr. 1
das Verknüpfungsglied 155, um einen Ersatz der in den während ihrer Übertragung über den Kanal 102 ver-Prüfziffernstufen
des Registers 115 gespeicherten Zif- fälscht worden ist, und zwar dahingehend, daß an Stelle
fern durch die abgeleiteten Prüfziffern zu veranlassen, einer Null eine Eins erscheint. In diesem Falle hat die
so daß nunmehr eine richtige Version einer Folge des 60 Folge V, die vom Permutationsregister 115 vom Kanal
systematischen Kcdes im Register 115 gespeichert ist, 102 über den Speicher 105 und das Verknüpfungsglied
die sich von der gesuchten Folge um χ Permutationen 110 empfangen worden ist, die Form, wie sie in der
unterscheidet. Nachfolgend veranlaßt die Steuer- Zeile Nr. 1 der F i g. 5 dargestellt ist. In dieser Zeile
einheit 150, daß diese Folge im Register sukzessiv um ist die rechte, fehlerhafte Ziffer der empfangenen
die χ Permutationsschritte wieder zurückpermutiert 65 Folge Fzur erleichterten Identifizierung in ein Kästchen
wird, die auf die ursprünglich empfangene Folge an- geschrieben.
gewandt worden sind. Alternativ hierzu kann die Unter der Steuerung eines von der Steuereinheit 150
Steuereinheit 150 veranlassen, daß die betrachtete herrührenden, zum Verknüpfungsglied 110 gelieferten
Signals werden die Ziffern der empfangenen Folge in die entsprechenden Stufen des Permutationsregisters
115 eingegeben. Nachfolgend werden die Informationsziffern der Folge Prüfzifferngenerator 130 durchgegeben,
der aus diesen Ziffern eine Prüfzifferngruppe ableitet, und zwar nach der gleichen Bildungsvorschrift
oder Paritätsbeziehung, wie diese ursprünglich von der Quelle 100 während des Kodierprozesses angewandt
worden ist. Diese erneut berechneten Prüfziffern, die in der Zeile Nr. 2 der F i g. 5 dargestellt sind, werden
dann zum Vergleichskreis 140 gegeben, in dem sie mit den letzten η — k Ziffern, den Prüfziffern, der empfangenen
Folge V verglichen werden.
In der Zeile Nr. 3 der F i g. 5 ist das Ergebnis dieses Vergleiches angeschrieben; hierbei bedeutet
jeder Buchstabe d, daß eine Diskrepanz oder Distanz zwischen entsprechenden Ziffern der beiden Prüfzifferngruppen
existiert. Die Distanz zwischen den beiden Prüfzifferngruppen, die in den Zeilen 1 bzw. 2
dargestellt sind, ist daher 2, das größer als e ist. Folglieh
ist der nächste Schritt im Dekodierverfahren, die e.npfangene Folge V zu permutieren. Wie oben erläutert
worden ist, zerstören aufeinanderfolgende zyklische Permutationen die Folgen des betrachteten
systematischen Kodes nicht. Daher ist jede Permutation T, die auf die empfangene Folge V angewandt
wird, zyklischer Art.
In Zeile Nr. 4 der F i g. 5 ist die erste zyklische Permutation der empfangenen Folge V dargestellt. In
dieser permutierten Folge, die mit VT bezeichnet sein soll, sind die falschen Informationsziffern sowie die
drei zugeordneten Informationsziffern je um eine Ziffernstelle nach links verschoben. Wieder wird dann
eine Prüfzifferngruppe, die in der Zeile Nr. 5 dargestellt ist, vom Prüfzifferngenerator 130 aus den Ziffern gebildet,
die in den k Informationsziffernstellen der permutierten Folge VT stehen. Ein Vergleich dieser berechneten
Prüfziffern mit den in den Prüfstellen der permutierten Folge VT stehenden Ziffern führt zu dem
Ergebnis, daß zwischen ihnen eine Distanz von 2 existiert, wie dies in der Zeile Nr. 6 der F i g. 5 dargestellt
ist. Tn Abhängigkeit von dieser Anzeige führt der Dekodierer nach F i g. 1 eine weitere zyklische
Permutation der im Register 115 gespeicherten Folge durch. Diese zweite Permutation der empfangenen
Folge V, die mit VT2 bezeichnet sein soll, ist in der Zeile Nr. 7 der F i g. 5 angeschrieben.
Die Permutation-Vergleich-Zyklen der vorstehend beschriebenen Art werden so lange wiederholt, bis
— wie in der Zeile Nr. 15 der F i g. 5 angegeben ist —· die Distanz zwischen den berechneten Prüfziffern und
den in den Prüfstellen einer permutierten Folge stehenden Ziffern kleiner oder gleich e wird. Hierdurch wird
angezeigt, daß die fehlerhaft empfangene Ziffer nicht mehr in den Informationsziffernstellen der permutierten
Folge steht. In Abhängigkeit einer solchen Feststellung ersetzt nun der beschriebene Dekodierer die in
den Prüfziffernstellen der permutierten Folge VT4·
stehenden Prüfziffern durch die aus dieser Folge berechneten Prüfziffern. Hierdurch wird eine richtige
Version A der Permutation VT* gebildet, wie in der
Zeile Nr. 16 der F i g. 5 dargestellt ist.
Die richtige Version A von VT* ist selbstverständlich
nicht die korrigierte Version der empfangenen Folge V selbst, sondern ist gegenüber dieser um die
Anzahl zyklischer Permutationen versetzt, die auf die Folge V während der Dekcdierung angewandt wurden.
Da die Folge V viermal zyklisch permutiert wurde, wie dies in den Zeilen Nr. 4, 7, 10 und 13 der F i g. 5
dargestellt ist, wird ein Rückwärtspermutieren oder Zurückschieben der Folge A um vier zyklische Permutationsschritte
zur korrigierten Version der Folge V führen. Im einzelnen sei bemerkt, daß die Folge A, die
in der Zeile Nr. 16 der F i g. 5 dargestellt ist, der Folge entspricht, die in der Zeile Nr. 5 der F i g. 4
dargestellt ist. Ein viermal erfolgendes Rückwärtsschieben dieser Folge kompensiert daher die vorstehend
beschriebenen Permutationsschritte und transformiert die Folge A in die in der Zeile Nr. 1 der F i g. 4 dargestellte
Folge. Diese Folge ist die korrigierte Version der empfangenen Folge V. Das Durchsteuern dieser
korrigierten Folge auf die Ausgangsleitung 152 schließt den Dekodierprozeß ab.
Alternativ hierzu kann die richtige Version A der viermal permutierten Folge VT* in eine korrigierte
Version der empfangenen Folge V durch Fortsetzen der Vorwärtsverschiebung oder Vorwärtspermutierung
transformiert werden, d. h. durch Fortsetzen der Verschiebung durch die Folgen der F i g. 4 hindurch
nach unten. Diese Alternative beruht auf der Tatsache, daß sieben aufeinanderfolgende zyklische Permutationen
irgendeiner der siebenziffrigen Folgen der F i g. 7 diese Folge in sich selbst zurücktransformiert. Mit
anderen Worten: Die zugeordnete Permutationsgruppe des betrachteten systematischen Kode enthält sieben
Schritte. Zur genauen Kompensierung einer Vorwärtsverschiebung um vier Permutationsschritte ist es
lediglich notwendig, das Permutieren in Vorwärtsrichtung über 7 — 4, d. h. über drei zusätzliche
Schritte hinweg fortzusetzen. Verallgemeinernd sei bemerkt, daß eine n-ziffrige Folge, die ein Glied eines
zyklischen Kodes ist, durch η aufeinanderfolgende Permutationsschritte in sich selbst zurücktransformiert
werden kann.
Im Hinblick auf die obigen Ausführungen ist ersichtlich,
daß die Steuereinheit 100, die im beschriebenen Dekodierer vorgesehen ist, so programmiert sein kann,
daß sie den Kompensationsschritt auf die eine oder die andere der vorstehend beschriebenen alternativen Weisen
durchführen kann. In jedem Falle ist dann das Ergebnis im Permutationsregister 115 eine korrigierte
Version der empfangenen Folge V gespeichert.
Zur allgemeinen Beschreibung der Permutation ist es zweckdienlich, die Ziffernstellen von Vn durch die
Zahlen n—l, ra—2, ... 1,0 zu bezeichnen, wobei Vn
die Gruppe aller möglichen Ziffernfolgen der Länge η ist. Wird nun eine dieser η Zahlen mit ω bezeichnet, so
kann die vorstehend beschriebene zyklische Permutation dargestellt werden als
T: ω ->■ ω + 1 (Addition mod η).
Die Potenzen der zyklischen Permutation sind
Die Potenzen der zyklischen Permutation sind
Tn : ω ->
ω + η = ω.
Die Untergruppe der Folgen von Vn, die unter T
invariant ist, ist ein zyklischer, systematischer Kode in Vn. Dieser Kode ist gleichfalls invariant unter T2, T3
usw.
Es sei angenommen, daß ein zyklischer Kode dekodiert werden soll, der die Parameter n, k und e aufweist.
Aufeinanderfolgende zyklische Verschiebungen bringen möglicherweise beliebige aufeinander folgende
k Ziffern in die ersten k Stellen. Folglich werden aus den ersten k Stellen alle Fehlermuster herausgeschoben,
in denen ein Stellenabstand zwischen zwei benachbar-
009 544/304
I 449
ίο
ten Fehlern (Lücke) vorhanden ist, der mindestens gleich k ist. Im einzelnen wird die Folge I, T, ..., 71""1
immer alle Einzelfehler korrigieren, wobei / identisch mit der empfangenen Folge ist. Es sei bemerkt, daß
diese Folge zusätzlich hierzu alle Doppelfehler korrigiert, wenn k kleiner als γ ist.
Die vorstehend beschriebene Dekodierprozedur korrigiert jedoch nicht ein Fehlermuster, in dem keine
Lücke der Länge > k vorhanden ist. Als Beispiel sei angenommen, daß η = 23 und k = 12 ist. Bei einer
solchen Folge kann das nachstehend angegebene Fehlermuster nicht durch alleinige zyklische Verschiebungen
korrigiert werden:
22 21 20 X18 17 16 15 14 13 12 1110 X 8 7 6 5 4 3 21X
Die ^-Buchstaben in den Ziffernstellen 0, 9 und 19 dieser Folge sollen Fehler in diesen Stellen anzeigen.
Um auch solche Fälle handhaben zu können, wird eine weitere Permutation U eingeführt.
U: ω -> 2 ω (Multiplikation mod n)
ebenso ihre Potenzen:
ebenso ihre Potenzen:
U2: ω ->
4 ω · Uz; ω -» 8 ω usw.
Ist η ungeradzahlig, so existiert zumindest eine ganze
Zahl t derart, daß die Beziehung gilt:
2t = 1 mod«; und U1 = /.
Die Wahl von t/wird durch den Umstand motiviert, daß bestimmt worden ist, daß jeder zyklische systematische
Kode ungeradzahliger Länge (n ist ungeradzahlig und ganzzahlig) invariant unter U und den Potenzen
von U ist.
Mit Hilfe der Permutation U wird das vorstehend angegebene Fehlermuster 0, 9, 19 geändert in 0, 18, 15
(aus 2 · 0, 2 · 9 bzw. 2 · 19—23 erhalten). Dieses Fehlermuster kann dann aus den ersten zwölf (k) Stellen mit
Hilfe von 21 zyklischen Verschiebungen herausgeschoben werden.
Die Permutationsgruppe, die aus n—1, «—2 ... 1,0
durch T und U erzeugt wird, soll mit Gn bezeichnet
werden. Es kann leicht gezeigt werden, daß TU = UT2 ist; folglich können alle Permutationen in Gn in der
Form U1P dargestellt werden. Hierbei gelten für i undy
die Bedingungen
g (M1,
— 1
U8, ri) = Max I uik — ι
i,j, k
Der Ausdruck g(s, ri) soll der Minimalwert dieser maximalen Lücke für alle möglichen Wahlen der
s Werte M1, ..., us sein.
g (s, ri) = Min g (U1, ...,us,ri)
M1, ...,Us
Die Gruppe Gn enthält dann eine Permutation, die
eine beliebige Gruppe von s Fehlern aus der ersten g (s, ri) Stellen herausschiebt. Ferner fordert die Bedingung
s' < s, daß g (s', ri) <g (s, ri) gilt. Folglich
kann ein zyklischer n-, k-, e-Kode — bei ungeradzahligem
η — durch gn dann und nur dann dekodiert
werden, wenn die Bedingung k <g (e, ri) erfüllt ist.
Es ist wünschenswert, wenn möglich, nur einen Teil von Gn in der Dekodierfolge zu verwenden. Als
Beispiel soll der Kode mit η = 23, Ic = 12 und e = 3 betrachtet werden. In diesem Falle erzeugt eine der
Permutationen U, U2, U11 immer eine Lücke der Länge
von mindestens 12 in irgendeiner Gruppe von 3 Fehlern. Daher kann eine abgekürzte Dekodierfolge für diesen
Kode geschrieben werden zu:
Nun läßt jede Potenz von U 0 fixiert, während keine Potenz von T (ausgenommen die Identität /) 0 fixiert
läßt. Daher ist U1P = UhTk, wenn und nur, wenn die
Gleichung i = h mod t und j = k mod η gelten. Es
folgt, daß die Gruppe Gn von der Ordnung nt ist und
folgende Permutationen aufweist:
55
/, T, T2, ..., T"-1
U, UT, UT2, ...,
U2, U2T, U2T2, ...,
jjt—i Ut~lT Ut-1T1 jjt—ijn—i
6o
Nun soll 0 < M1 < M2
< ... < M8 < «—1 (n ungeradzahlig),
eine Gruppe ganzer Zahlen sein. Hierbei soll angenommen werden, daß Fehler in den Stellen
U1, .. .,Us auftreten. Die Länge der maximalen Lücke
soll mit #(«!, .. .,Us, n)bezeichnet werden. Sie kann in
diese Folge durch wiederholte Multiplikation mit 2 mod η eingesetzt werden. u%u soll eine ganze Zahl
< η sein, so daß der Ausdruck 2km — ua durch η teilbar ist.
/, | T, | X , . . . , | J22 |
U, | UT, | UT2,..., | UT22 |
u\ | U2T, | U2T2, ..., | JJ2J22 |
U11 | U11T, | U11T2, ..., | JJIl J22 |
In der Praxis ist es zweckdienlich, eine weitere Permutation zu den Dekodierpermutationen hinzuzufügen,
daß eine Folge, die durch die ganze Gruppe passiert, wieder in ihrer ursprünglichen Form erscheint.
Im betrachteten Beispiel mit η = 23 und k = 12 ist diese zusätzliche Permutation TU. Der
schließliche Ausgang des Permutationsregisters 115 ist dann die korrigierte Version der empfangenen Folge.
In der F i g. 6 ist im einzelnen die Art und Weise dargestellt, auf die eine verstümmelte dreiundzwanzigziffrige
Informationsfolge gemäß der Erfindung dekodiert wird. Die betrachtete empfangene Folge, die
in der Zeile Nr. 1 der F i g. 6 dargestellt ist, ist ein Glied eines systematischen Kodes mit η = 23,
k = 12 und e = 3, das durch Fehler in den Ziffernstellen 0, 7 und 14 verstümmelt worden ist. Wie vorstehend
erläutert worden ist, kann dieses in einer derartigen Folge auftretende allgemeine Fehlermuster
dekodiert werden durch hierauf erfolgendes Anwenden der Permutationen der T- und U-Vielfalt entsprechend
der vorstehend betrachteten abgekürzten Permutationsfolge.
In der Zeile Nr. 2 der F i g. 6 sind die Prüfziffern dargestellt, die vom Prüfbitgenerator 130 der F i g. 1
aus den zwölf Informationsziffern der empfangenen dreiundzwanzigziffrigen Folge V errechnet worden
sind. Die Zeile Nr. 3 zeigt an, daß die errechneten Prüfziffern und die empfangenen Prüfziffern in sechs
Ziffernstellen abweichen. Die Distanz ist daher gleich 6 und größer als e. Auf diese Vergleichsoperation ansprechend,
unterwirft der Dekodierer die empfangene Folge einer zyklischen Permutation T, wie dies in der
Zeile Nr. 4 der F i g. 6 angegeben ist. Anschließend errechnet der Prüfbitgenerator 130 die Prüfzifferngruppe
aus den in den Informationsziffernstufen des Permutationsregisters 115 vorhandenen Ziffern (Zeile 5
der F i g. 6). Der nachfolgende Vergleich zwischen den berechneten Prüfziffern und den in den Prüfziffernstufen
des Registers 115 vorhandenen Ziffern ist in der Zeile Nr. 6 dargestellt.
Die Zeile Nr. 7 der F i g. 6 soll für den Umstand stehen, daß die Folge VT nunmehr sukzessiv durch die
Permutationsschritte FT2, VT3, ...,VT21 weiter
permutiert wird. Hierbei versteht es sich, daß eine Prüfziffernerrechnung und ein Vergleich im Anschluß
an jeden dieser Permutationsschritte auf die gleiche Weise durchgeführt wird, wie dies vorstehend beschrieben
worden ist. Für das betrachtete Beispiel zeigt jeder dieser Vergleiche, daß die Distanz zwischen
zwei verglichenen Prüfzifferngruppen größer als e ist. Folglich werden weitere Permutation- Vergleich-Schritte
vom Dekodierer (F i g. 1) durchgeführt. Ihr Charakter und ihre Anzahl ist in abgekürzter Form
in den Zeilen Nr. 8 bis 17 der F i g. 6 angeschrieben. Schließlich wird, auf den Permutationsschritt entsprechend
der Zeile Nr. 18 folgend, vom Vergleichskreis 140 gefunden, daß die errechneten Prüfziffern
in nur drei (= e) Ziffernstellen von den in den Prüfziffernstufen
des Registers gespeicherten Ziffern abweichen. Ansprechend auf diese Feststellung werden
die berechneten Prüfziffern in diese Registerstufen eingegeben. Die resultierende, nunmehr im Register 115
gespeicherte Folge ist in der Zeile Nr. 21 der F i g. 6 dargestellt. Nachfolgend wird durch sukzessives
Permutieren der in der Zeile Nr. 21 dargestellten Informationsfolge entsprechend den zusätzlichen Permutationsschritten,
die in der vorstehend beschriebenen abgekürzten Dekodierfolge dargestellt sind, gefolgt
von einer letzten Permutation TU, eine korrigierte Version der empfangenen Folge V erhalten. Diese
aufeinanderfolgenden Permutationsschritte sind in den Zeilen Nr. 22 bis 31 der F i g. 6 dargestellt. Es sei
bemerkt, daß die Folge, die in der Zeile Nr. 31 dargestellt ist, identisch mit der der Zeile Nr. 1 ist, ausgenommen,
daß die in den Stellen 0,7 und 14 stehenden falschen Ziffern der empfangenen Folge V je entsprechend
korrigiert worden sind. Es ist daher im einzelnen für einen speziellen systematischen Kode
mit bestimmten Parametern n, k und e gezeigt worden, daß der Dekodierer nach F i g. 1 in der Lage ist,
automatisch Fehler korrigieren zu können.
In den beiden oben erläuterten speziellen Dekodierbeispielen, die in den F i g. 5 bzw. 6 dargestellt sind,
führt das Register 115 unter der Steuerung von Signalen,
die von der Steuereinheit 150 herrühren, Permutationsschritte der T- und U-Ait aus. Ein beispielhaftes
Register, das diese Fähigkeit besitzt und für einen Einbau in den Dekodierer nach F i g. 1 geeignet ist,
ist im einzelnen in der F i g. 2 dargestellt. Das Register 115 der F i g. 2 weist η bistabile Kreise 205,
210, 215 ... 220, 225 und 230 auf, denen die Ziffern einer zu dekodierenden Folge vom eingangsseitigen
Verknüpfungsglied 110 zugeführt werden. Nachdem eine Informationsfolge in das Register 115 eingegeben
worden ist, ist im rechten bistabilen Kreis 230 die zuerst empfangene Informationsziffer gespeichert,
während im linken bistabilen Kreis 205 die zuletzt empfangene Prüfziffer gespeichert ist.
Von den Ausgängen der k rechten bistabilen Kreise des Registers führen k Leiter zu einem Verknüpfungsglied
125 (F i g. 1), während von den entsprechenden Ausgängen der η — k linken bistabilen Kreise η — k
Leiter zu einem Verknüpfungsglied 145 (F i g. 1) führen. Zusätzlich führen η — k Leiter von einem
Verknüpfungsglied 155 (F i g. 1) zu den entsprechenden Eingängen der η — k linken bistabilen Schaltungen
der F i g. 2.
Das Register 115 der F i g. 2 weist ferner eine obere Gruppe von η bistabilen Kreisen 235, 240, .245 .. .250,
255 und 269 auf. Entsprechende bistabile Kreise der unteren und oberen Gruppen sind direkt über η
Verknüpfungsglieder 206, 211, 216 ... 221, 226 und 231 verbunden. Jedes dieser Verknüpfungsglieder
weist einen Aktivierungseingangsanschluß auf, der über einen Leiter 270 mit der Steuereinheit 150 verbunden
ist. Das Register 115 weist ferner eine zweite Verknüpfungsgliedergruppe 236, 241 ... 251, 256
und 261 auf, von denen jedes direkt den Ausgang je eines bistabilen Kreises der oberen Gruppe mit einem
Eingang desjenigen bistabilen Kreises der unteren Gruppe verbindet, welcher um eine Stelle nach links
versetzt liegt. Sonach ist beispielsweise ersichtlich, daß ein Ausgang des oberen linken bistabilen Kreises
235 über das Verknüpfungsglied 236 mit einem Eingang des unteren rechten bistabilen Kreises 230
verbunden ist. Ferner sei bemerkt, daß entsprechend diesem Verbindungsschema ein Ausgang des oberen
rechten bistabilen Kreises 260 über das Verknüpfungsglied 261 mit einem Eingang des zweiten unteren
bistabilen Kreises 225 von rechts verbunden ist. Mit Hilfe dieser zweiten Verknüpfungsgliedgruppe kann
eine in den oberen bistabilen Kreisen gespeicherte Information auf die untere Gruppe übertragen werden
und zyklisch um einen Schritt nach links permutiert werden. Mit anderen Worten: Die Permutation T
kann hierdurch realisiert werden.
Zusätzlich sei bemerkt, daß ein Aktivierungsleiter 271 vorgesehen ist, mit dessen Hilfe von der Steuereinheit
150 herrührende Steuersignale den Verknüpfungsgliedern 236, 241 ... 251, 256 und 261 zugeführt
werden.
Zusätzlich ist eine dritte Verknüpfungsgliedgruppe 207, 212, 217 ... 222, 227 und 232 vorgesehen, die
nach einem bestimmten Schema die oberen bistabilen Kreise mit den unteren bistabilen Kreisen verbindet,
so daß die vorstehend beschriebene Grundpermutation U durchgeführt werden kann. So ist beispielsweise
ein Ausgang des oberen bistabilen Kreises 255 über eine Leitung 257 mit einem Eingang des Verknüpfungsgliedes 222 verbunden, dessen Ausgang seinerseits
mit einem Eingang des unteren bistabilen Kreises 220 verbunden ist. Daher kann irgendeine im oberen
Kreis 255 gespeicherte Ziffer auf den unteren Kreis 220 durch Aktivieren des Verknüpfungsgliedes 222 übertragen
werden, wodurch die in der Stelle Nr. 1 der oberen bistabilen Kreise gespeicherte Ziffer in die
Stelle Nr. 2 des unteren bistabilen Kreise gebracht wird. Auf diese Weise ist die Permutation U hinsichtlich
der Ziffernstelle Nr. 1 realisiert. In ähnlicher Weise verbinden die übrigen Verknüpfungsglieder der dritten
Gruppe die oberen und unteren bistabilen Kreise selektiv, so daß diese Permutation realisiert werden
kann. Es sei bemerkt, daß diese dritte Verknüpfungsgliedgruppe über einen Leiter 272 aktiviert wird,
der von der Steuereinheit 150 ausgeht.
Obgleich in der F i g. 1 nur ein einziger Leiter 151 dargestellt ist, der die Steuereinheit 150 mit dem
Permutationsregister 115 verbindet, versteht es sich, daß dieser einzelne Leiter für alle tatsächlich zwischen
der Steuereinheit 150 und dem Register 115 vorhandene Leiter der Einfachheit halber stehen soll.
So sind in der F i g. 3 drei solche Leiter 270, 271 und 272 dargestellt.
Ferner sei bemerkt, daß die Natur der von der Steuereinheit 150 zum Register 115 gelieferten Steuersignale
von der in den Fig. 3A und 3B dargestellten
Natur (einzelner Impuls) abweichen kann. So wird im Register 115 nach F i g. 2 die Permutation T
durch Zuführen zweier aufeinanderfolgender Impulse auf die Leitungen 270 und 271 in dieser Reihenfolge
bewerkstelligt, wodurch veranlaßt wird, daß der Inhalt der unteren Gruppe bistabile Kreise in paralleler
Weise auf die obere Gruppe der bistabilen Schaltungen übertragen wird und anschließend wieder zurück zur
unteren Gruppe mit einer Verschiebung um eine Ziffernstelle nach rechts. Ebenso sei bemerkt, daß die
Permutation U in Wahrheit durch Zuführen zweier aufeinanderfolgender Impulse auf die Leitungen 270
und 272 in dieser Reihenfolge bewerkstelligt wird, wodurch veranlaßt wird, daß der Inhalt der unteren
Gruppe bistabiler Kreise in paralleler Weise auf die obere Gruppe übertragen wird und anschließend
wieder zurück zur unteren Gruppe mit der speziellen Permutation, die durch die vorstehend beschriebenen
Verbindungen zu den Verknüpfungsgliedern 207, 212, 217 ... 222, 227, 232 bestimmt ist.
Die Einzelheiten der bistabilen Kreise und der Verknüpfungsglieder, die in F i g. 2 in Blockform
dargestellt sind, sind nicht gezeigt, da ihre tatsächliche Ausführung, ebenso wie die Ausführung einer zusätzlich
vorgesehenen geeigneten Schiebesignalquelle zum Ein- und Herausschieben der Folgen in das
bzw. aus dem Register 115 allgemein bekannt ist. Entsprechendes gilt auch für die tatsächliche Ausführung
der Verknüpfungsglied;^ 110, 120, 125, 135, 145 und 155 des Prüfzifferngenerators 130, des Vergleichskreises
140 und der Steuereinheit 150.
Schließlich ssi bemerkt, daß die vorstehend beschriebenen Anordnungin nur eine beispielhafte
Möglichkeit darstellen, mit dsren Hilfe die Erfindung realisiert werden kann. Zahlreiche Abwandlungen sind
möglich. So kann beispielsweise die vorstehend beschriebene Dekodieranordnung so ausgelegt sein,
daß sie in einer im allgemeinen parallelen Weise an Stelle der beschriebenen Serienweise arbeitet,
wozu die Anordnung in eine Reihe paralleler Abschnitte unterteilt wird, von denen jeder ein Register
und eine hiermit verknüpfte Schaltung zum Durchführen einer Permutation enthält. Zusätzlich enthält
dann jeder Abschnitt einer derartigen in paralleler Weise arbeitenden Anordnung eine zugeordnete
Schaltung zum Errechnen der Paritätsprüfziffern. Ebenso kann der vorstehend betrachtete Dekodierer
dahingehend modifiziert werden, daß die Ziffern einer Informationsfolge inparallelerWeisedemPermutationsregister
115 eingegeben und diesem entnommen werden, an Stelle dies auf die beschriebene Serienweise
zu bewerkstelligen. Hierdurch kann das erfindungsgemäße Permutationsdekodieren eines systematischen
Kodes mit höherer Geschwindigkeit erfolgen.
Claims (6)
1. Dekodierer zum Verarbeiten redundanter «-stelliger Digitalfolgen eines systematischen Kodes
der Hamming-Distanz 2 e + 1 (e positiv und ganzzahlig),
wobei jede Folge k Informationsziffernstellen und η — k Prüfziffernstellen aufweist, mit
einem «-stelligen Register zum Speichern einer empfangenen Folge und einem Prüfzifferngenerator,
der mit den die Informationsziffern aufnehmenden Stellen des Registers verbunden ist
und die P ruf ziffern nach der vom Kodierer vorgegebenen Beziehung berechnet, sowie mit einem
Vergleichskreis zum Vergleich der neu berechneten mit den übertragenen Prüfziffern, der bei Nichtübereinstimmung
ein Fehlersignal abgibt, gekennzeichnet
durch folgende Merkmale:
a) das «-stellige Register ist zur Ausführung zyklischer Verschiebungen und Multiplikationen
mit zwei mod η als Permutationsregister (115) ausgebildet;
b) mit dem Vergleichskreis (140) ist eine Steuereinheit (150) verbunden, die beim Abweichen
der neu berechneten Prüfziffern von den übertragenen Prüfziffern in mehr als e Stellen das
Permutationsregister zu Multiplikationen mit 2 mod « und zyklischen Verschiebungen veranlaßt
und dieses unter jeweiliger Neuberechnung von Prüfziffern bezüglich des veränderten
Inhaltes des Permutationsregisters so lange wiederholt, bis der Vergleichskreis (140) anzeigt, daß die neu berechneten Prüfziffern
von dem Inhalt der festen Prüfziffernstellen des Permutationsregisters in höchstens f i
e Stellen abweichen;
c) mit der Steuereinheit (150) ist eine Übertragungsanordnung
(155) verbunden, die auf die letztgenannte Feststellung des Vergleichskreises hin die neu berechneten Prüfziffern
in die festen Prüfziffernstellen des Permutationsregisters
überträgt, wobei anschließend die Steuereinheit eine weitere Permutierung der geänderten Folge um die zur Wiederherstellung
der — dann korrigierten — empfangenen Folge erforderlichen Anzahl von Permutationsschritten
veranlaßt.
2. Dekodierer nach Anspruch 1, dadurch gekennzeichnet, daß das Permutationsregister (115)
aufgebaut ist aus einem ersten Register (205, 210, 215,220,225,230) zumSpeichern einer empfangenen
Folge, die in ihren Informationsziffern fehlerbehaftet sein kann, einem zweiten Register (235,
240, 245, 250, 255, 260), in das die im ersten Register gespeicherten Ziffern übertragbar sind
und Verknüpfungsschaltungen (206, 207, 211, 212, ( 216, 217, 221, 222, 226, 227, 231, 232, 236, 241,
251, 256, 261) zur Ziffernübertragung zwischen den Registern, um die zyklischen Verschiebungen
und die Multiplikationen mit 2 mod « unter der Steuerung der Steuereinheit (150) auszuführen.
3. Dekodierer nach Anspruch 1, dadurch gekennzeichnet, daß der Prüfzifferngenerator (130)
derart aufgebaut ist, daß er auf die Ziffernsignale in den Informationsziffernstellen des ersten Registers
(205, 210, 215, 220, 225, 230) ansprechend für diese die Prüfziffern entsprechend der vorgegebenen
Paritätsbeziehung erzeugt und daß der Vergleichskreis (140) so ausgebildet ist, daß er die
neu berechneten Prüfziffern mit den in den Prüfziffernstellen des ersten Registers befindlichen Ziffern
zur Bestimmung der Distanz hierzwischen vergleicht.
4. Dekodierer nach Anspruch 3, dadurch gekennzeichnet, daß die Steuereinheit (150) derart
ausgebildet ist, daß sie auf das Ausgangssignal des Vergleichskreises (140) auf Grund einer Bestimmung,
daß die Distanz zwischen den errechneten Prüfziffern und den Ziffern in den Prüfziffernstellen
des ersten Registers kleiner oder
gleich e ist, daß also die ursprünglich fehlerhaften Informationsziffern in die Prüfziffernstellen des
ersten Registers permutiert sind, anspricht und daraufhin veranlaßt, daß die in den Prüfziffernstellen
des ersten Registers befindlichen Ziffern durch die vom Prüfzifferngenerator errechneten
Prüfziffern ersetzt werden.
5. Dekodierer nach Anspruch 3, dadurch gekennzeichnet, daß die Steuereinheit (150) derart
ausgebildet ist, daß sie auf das Ausgangssignal ίο
des Vergleichskreises (140) auf Grund einer Bestimmung, daß die Distanz zwischen den erzeugten
Prüfziffern und den Ziffern in den Prüfziffernstellen des ersten Registers größer als e ist, daß also die
ursprünglich falschen Informationsziffern nicht in die Prüfziffernstellen des ersten Registers
permutiert worden sind, anspricht und daraufhin veranlaßt, daß die Verknüpfungsschaltungen die
gespeicherten Ziffern zwischen dem ersten und
dem zweiten Register unter gleichzeitiger Ausführung einer Permutation der Ziffern im ersten
Register übertragen werden.
6. Dekodierer nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß der Vergleichskreis (140)
derart ausgebildet ist, daß er die Distanz zwischen den vom Prüfzifferngenerator (130) errechneten
Prüfziffern und den in den Prüfziffernstellen des ersten Registers gespeicherten Ziffern nach jeder
Permutation der im ersten Register gespeicherten Folge bestimmt, und daß die Steuereinheit (150)
so aufgebaut ist, daß sie eine Permutation der im ersten Register gespeicherten Folge veranlaßt,
wenn der Vergleichskreis bestimmt hat, daß die Distanz zwischen den errechneten Prüfziffern und
den in den Prüfziffernstellen des ersten Registers befindlichen Ziffern größer ist als e und ein Ersetzen
dieser durch jene veranlaßt, wenn die Distanz hierzwischen gleich oder kleiner als e ist.
Hierzu 2 Blatt Zeichnungen 009 544/304
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2357004B2 (de) | Verfahren und Einrichtung zur Fehlerkorrektur für Daten | |
DE2260850A1 (de) | Fehlerkorrektursystem | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE2132565B2 (de) | ||
DE2320422A1 (de) | Verfahren zur fehlererkennung | |
DE2217935C3 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht | |
DE2704627B2 (de) | Anordnung zur Fehlerkorrektur von binärer Information | |
DE69317766T2 (de) | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) | |
DE1964358C3 (de) | Fehlerkorrekturanordnung für ein Datenübertragungssystem | |
DE2260846A1 (de) | Fehlerkorrektursystem | |
DE2324538A1 (de) | Digitale nachrichtenuebertragungsanordnung | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE2053836B2 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
DE1438958C3 (de) | Numerisch arbeitende Programmsteuerung zum Steuern der Stellung eines elektrischen Antriebes | |
DE1449334A1 (de) | Datenverarbeitungsanlage | |
DE2057256A1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten | |
DE1449906C (de) | Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko | |
DE1774225A1 (de) | Fehlerkorrekturschaltung | |
DE69008896T2 (de) | Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage. | |
DE1449906B2 (de) | ||
DE2758952C2 (de) | Schaltungsanordnung zum Codieren oder Decodieren von Blnärinformationen | |
DE2826454A1 (de) | Faksimilesignal-codiersystem |