DE1449906B2 - - Google Patents
Info
- Publication number
- DE1449906B2 DE1449906B2 DE19641449906 DE1449906A DE1449906B2 DE 1449906 B2 DE1449906 B2 DE 1449906B2 DE 19641449906 DE19641449906 DE 19641449906 DE 1449906 A DE1449906 A DE 1449906A DE 1449906 B2 DE1449906 B2 DE 1449906B2
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
Die Erfindung bezieht sich auf einen Dekodierer zum Verarbeiten redundanter «-stelliger Digitalfolgen
eines systematischen Kodes der Hamming-Distanz 2 e + 1 (e = positiv und ganzzahlig), wobei jede
Folge Ic 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 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 bekanntlich 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üfziffernstellen
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 systematisehen
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
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;, 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üfziffern 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 /z-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 Dekodierer 108
zugeführt. Es sei bemerkt, daß der Übertragungskanal 102 von der Art sein kann, die voneinander entfernt
liegende Kodier- und Dekodiereinheiten miteinander verbindet, wie dies beispielsweise in einem großs Entfernungen
überbrückenden Übertragungssystem dsr 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 Dekodierer 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 Informationsfolgen selektiv zum Eingang eines η -stufigen Permutationsregisters 115 durchgegeben werden (dsr Dskodierer
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 /2-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 ZeitpunktZ)1 (Fig. 3A) liefert die Steuereinheit
150 der F i g. 1 ein Aktivierungssignal zu einem Verknüpfungsglied 125, dessen Einginge je mit
den Ausgängen dsr k Informationsstufen des Registers
115 verbunden sind. Hierdurch werden im Register gespeicherte k Informationsziffern einem Prüfzifferngenerator
130 zugeführt. Im Prüfzifferngenerator 139 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 (F i g. 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. Demgemäß werden
die Prüfziffern der empfangenen Folge dsm Vergleichskreis 140 zum gleichen Zeitpunkt zugeführt, wie
die empfangsseitig erneut berechneten Prüfziffern.
Zum Zeitpunktdx (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üfzifferngruppen 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 /· — .v 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, ncch ins einzelne gehenden gespeicherte korrigierte Version der empfangenen
Beschreibung ersichtlich werden wird, ist ein positiver s 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 Ausfiihrungsform nach führt ein Ersatz der im Register 115 vorhandenen Prüf- Fig. 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, /c = 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 -f 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/x stattfindende Aktivierung der Verknüpfungs- 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 Ausfiihrungsform nach führt ein Ersatz der im Register 115 vorhandenen Prüf- Fig. 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, /c = 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 -f 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/x stattfindende Aktivierung der Verknüpfungs- 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- ziffernsteilen geschoben werden kann,
kreis 140 (F i g. 1) zum Zeitpunkt dx der Steuer- Es ist daher evident, daß die in der F i g. 4 angege-
einheit 150 einen negativen Impuls zuführt. Dieses benen Folgen Glieder eines systematischen Kodes sind,
Ereignis ist in dem Lauf plan der Fig. 3 B dargestellt, dem eine Permutationsgruppe zugeordnet ist, die
in dessen vierter Zeile ein negativer, mit > e bezeich- 30 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 sprung! ichen 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 Ic 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 50 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 Zeitpunkt^ (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 Kodes im Register 115 gespeichert ist, 102 über den Speicher 105 und das Verknüpfungsglied
die sich von der gesuchten Folge um χ Permutaüonen 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 ^zur 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
7 8
Signals werden die Ziffern der empfangenen Folge in dies in den Zeilen Nr. 4, 7, 10 und 13 der F i g. 5
die entsprechenden Stufen des Permutationsregisters dargestellt ist, wird ein Rückwärtspermutieren oder
115 eingegeben. Nachfolgend werden die Informations- Zurückschieben der Folge A um vier zyklische Permuziffern
der Folge Prüfzifferngenerator 130 durch- tationsschritte zur korrigierten Version der Folge V
gegeben, der aus diesen Ziffern eine Prüfzifferngruppe 5 führen. Im einzelnen sei bemerkt, daß die Folge A, die
ableitet, und zwar nach der gleichen Bildungsvorschrift in der Zeile Nr. 16 der F i g. 5 dargestellt ist, der
oder Paritätsbeziehung, wie diese ursprünglich von der Folge entspricht, die in der Zeile Nr. 5 der F i g. 4
Quelle 100 während des Kodierprozesses angewandt dargestellt ist. Ein viermal erfolgendes Rückwärtsworden
ist. Diese erneut berechneten Prüfziffern, die schieben dieser Folge kompensiert daher die vorstehend
in der Zeile Nr. 2 der F i g. 5 dargestellt sind, werden io beschriebenen Permutationsschritte und transformiert
dann zum Vergleichskreis 140 gegeben, in dem sie mit die Folge A in die in der Zeile Nr. 1 der F i g. 4 darden
letzten η — k Ziffern, den Prüfziffern, der empfan- gestellte Folge. Diese Folge ist die korrigierte Version
genen Folge V verglichen werden. der empfangenen Folge V. Das Durchsteuern dieser
In der Zeile Nr. 3 der F i g. 5 ist das Ergebnis korrigierten Folge auf die Ausgangsleitung 152 schließt
dieses Vergleiches angeschrieben; hierbei bedeutet 15 den Dekodierprozeß ab.
jeder Buchstabe d, daß eine Diskrepanz oder Distanz Alternativ hierzu kann die richtige Version A der
zwischen entsprechenden Ziffern der beiden Prüf- viermal permutierten Folge VT4 in eine korrigierte
zifferngruppen existiert. Die Distanz zwischen den Version der empfangenen Folge V durch Fortsetzen
beiden Prüfzifferngruppen, die in den Zeilen 1 bzw. 2 der Vorwärtsverschiebung oder Vorwärtspermutierung
dargestellt sind, ist daher 2, das größer als e ist. Folg- 20 transformiert werden, d. h. durch Fortsetzen der Verlieh
ist der nächste Schritt im Dekodierverfahren, die Schiebung durch die Folgen der F i g. 4 hindurch
e.npfangene Folge V zu permutieren. Wie oben erläu- nach unten. Diese Alternative beruht auf der Tatsache,
tert worden ist, zerstören aufeinanderfolgende zykli- daß sieben aufeinanderfolgende zyklische Permutatiosche
Permutationen die Folgen des betrachteten nen irgendeiner der siebenziffrigen Folgen der F i g. 7
systematischen Kodes nicht. Daher ist jede Permuta- 25 diese Folge in sich selbst zurücktransformiert. Mit
tion T, die auf die empfangene Folge V angewandt anderen Worten: Die zugeordnete Permutationsgruppe
wird, zyklischer Art. des betrachteten systematischen Kode enthält sieben
In Zeile Nr. 4 der F i g. 5 ist die erste zyklische Schritte. Zur genauen Kompensierung einer Vorwärts-Permutation
der empfangenen Folge V dargestellt. In verschiebung um vier Permutationsschritte ist es
dieser permutierten Folge, die mit VT bezeichnet sein 30 lediglich notwendig, das Permutieren in Vorwärtssoll,
sind die falschen Informationsziffern sowie die richtung über 7 — 4, d. h. über drei zusätzliche
drei zugeordneten Informationsziffern je um eine Schritte hinweg fortzusetzen. Verallgemeinernd sei be-Ziffernstelle
nach links verschoben. Wieder wird dann merkt, daß eine n-ziffrige Folge, die ein Glied eines
eine Prüfzifferngruppe, die in der Zeile Nr. 5 dargestellt zyklischen Kodes ist, durch η aufeinanderfolgende
ist, vom Prüfzifferngenerator 130 aus den Ziffern ge- 35 Permutationsschritte in sich selbst zurücktransformiert
bildet, die in den Ic Informationsziffernstellen der per- werden kann.
mutierten Folge VT stehen. Ein Vergleich dieser be- Im Hinblick auf die obigen Ausführungen ist ersicht-
rechneten Prüfziffern mit den in den Prüfstellen der lieh, daß die Steuereinheit 100, die im beschriebenen
permutierten Folge ΚΓ stehenden Ziffern führt zu dem Dekodierer vorgesehen ist, so programmiert sein kann,
Ergebnis, daß zwischen ihnen eine Distanz von 2 40 daß sie den Kompensationsschritt auf die eine oder die
existiert, wie dies in der Zeile Nr. 6 der F i g. 5 dar- andere der vorstehend beschriebenen, alternativen Wei-
gestellt ist. In Abhängigkeit von dieser Anzeige führt sen durchführen kann. In jedem Falle ist dann das
der Dekodierer nach F i g. 1 eine weitere zyklische Ergebnis im Permutationsregister 115 eine korrigierte
Permutation der im Register 115 gespeicherten Folge Version der empfangenen Folge V gespeichert,
durch. Diese zweite Permutation der empfangenen 45 Zur allgemeinen Beschreibung der Permutation ist
Folge V, die mit VT2 bezeichnet sein soll, ist in der es zweckdienlich, die Ziffernstellen von Vn durch die
Zeile Nr. 7 der F i g. 5 angeschrieben. Zahlen n—l, n—2, ... 1,0 zu bezeichnen, wobei Vm
Die Permutation-Vergleich-Zyklen der vorstehend die Gruppe aller möglichen Ziffernfolgen der Längen
beschriebenen Art werden so lange wiederholt, bis ist. Wird nun eine dieser η Zahlen mit ω bezeichnet, so
— wie in der Zeile Nr. 15 der Fig. 5 angegeben ist — 50 kann die vorstehend beschriebene zyklische Permuta-
die Distanz zwischen den berechneten Prüfziffern und tion dargestellt werden als
den in den Prüfstellen einer permutierten Folge stehen- J: ω -» ω + 1 (Addition mod η).
den Ziffern kleiner oder gleich e wird. Hierdurch wird
den Ziffern kleiner oder gleich e wird. Hierdurch wird
angezeigt, daß die fehlerhaft empfangene Ziffer nicht Die Potenzen der zyklischen Permutation sind
mehr in den Informationsziffernstellen der permutier- 55 T2 · eo ->
ω 4- 2 ·
ten Folge steht. In Abhängigkeit einer solchen Fest- 7-3' ω _^ ω + 3' Τη-ω-+ω + η = ω
Stellung ersetzt nun der beschriebene Dekodierer die in ' '
den Prüfziffernstellen der permutierten Folge VT* Die Untergruppe der Folgen von Vn, die unter T
stehenden Prüf ziffern durch die aus dieser Folge be- invariant ist, ist ein zyklischer, systematischer Kode in
rechneten Prüfziffern. Hierdurch wird eine richtige 60 Vn. Dieser Kode ist gleichfalls invariant unter T2, T3
Version A der Permutation VT1 gebildet, wie in der usw.
Zeile Nr. 16 der Fig. 5 dargestellt ist. Es sei angenommen, daß ein zyklischer Kode de-
Die richtige Version A von VT4 ist selbstverständ- kodiert werden soll, der die Parameter n, k und e auflich
nicht die korrigierte Version der empfangenen weist. Aufeinanderfolgende zyklische Verschiebungen
Folge V selbst, sondern ist gegenüber dieser um die 65 bringen möglicherweise beliebige aufeinander folgende
Anzahl zyklischer Permutationen versetzt, die auf die k Ziffern in die ersten k Stellen. Folglich werden aus
Folge V während der Dekcdierung angewandt wurden. den ersten k Stellen alle Fehlermuster herausgeschoben,
Da die Folge V viermal zyklisch permutiert wurde, wie in denen ein Stellenabstand zwischen zwei benachbar-
tea Fehlern (Lücke) vorhanden ist, der mindestens gleich k ist. Im einzelnen wird die Folge I, T, ..., T"-1
immer alle Einzelfehler korrigieren, wobei / identisch mit der empfangenen Folge ist. Es sei bemerkt, daß
diese Folge zusätzlich hierzu alle Doppelfehler korri
is,
giert, wenn k kleiner als
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 Z18 17 16 15 14 13 121110 X8 7 6 5 4 3 21X
Die X-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 ti)
ebenso ihre Potenzen:
ebenso ihre Potenzen:
t/2: ω ->
4 ω ■ U3; ω ->
8 ω usw.
Ist η ungeradzahlig, so existiert zumindest eine ganze
Zahl t derart, daß die Beziehung gilt:
2« = lmod«; und U1 = /.
Die Wahl von U 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 «—11 «—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 / und,/
die Bedingungen
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 U1V — 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, ..., T1-1
U, UT, UT2, ..., UV*-1
U2, U2T, U2T2, ..., U2T1'1
/yt—3~
Ij"— J
LJ — 1
IJ — t —
6o
Nun soll 0 < U1 < u2
< ... < us < n—l (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 g(ux, . ..,us, n) bezeichnet werden. Sie kann in
diese Folge durch wiederholte Multiplikation mit 2 mod η eingesetzt werden, uiu soll eine ganze Zahl
< η sein, so daß der Ausdruck 2km — unc durch η teilbar ist.
g (U1,
uik
— 1
M5, n) = Max
Uj, k'
Uj, k'
Der Ausdruck g(s, n) soll der Minimalwert dieser maximalen Lücke für alle möglichen Wahlen der
s Werte U1, ..., us sein.
g(s, 11) = Min g(U1, ...,us,n)
U1, ...,Us
Die Gruppe Gn enthält dann eine Permutation, die
eine beliebige Gruppe von s Fehlern aus der ersten g (s, n) Stellen herausschiebt. Ferner fordert die Bedingung
s' < s, daß g (s', n) < g (s, n) 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, ti) 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, k = 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:
/, | T, | 7-2 J. , . . ., |
y22 |
U, | UT, | UT2,..., | UT22 |
U2T, | U2T2, ..., | £/2J-22 | |
U11, | U11T | U11T2, ..., | JJIl y22 |
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 Λ: = 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 VT2, VT3, ...,VT21 weiter
permutiert wird. Hierbei versteht es sich, daß eine Priifziffernerrechnung 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 (Fig. 1)
führen. Zusätzlich führen η — k Leiter von einem Verknüpfungsglied 155 (Fig. 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üpfungsgliedsr 110, 120, 125, 135, 145 und 155 des Prüfzifferngenerators 130, des Vergleichskreises
140 und der Steuereinheit 150.
Schließlich sei bemerkt, daß die vorstehend beschriebenen Anordnungsn nur eine beispielhafte
Möglichkeit darstellen, mit deren 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 -f- 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 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, gekennzeichnet
durch folgende Merkmale:
a) das /2-stelIige 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
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 Vergleichs kreis (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
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US324004A US3308429A (en) | 1963-11-15 | 1963-11-15 | Cyclic and multiplication by 2 mod n permutation decoder for systematic codes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1449906A1 DE1449906A1 (de) | 1969-01-09 |
DE1449906B2 true DE1449906B2 (de) | 1970-10-29 |
Family
ID=23261657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19641449906 Pending DE1449906A1 (de) | 1963-11-15 | 1964-11-13 | System zum Verarbeiten Redundanz aufweisender Digitalfolgen |
Country Status (6)
Country | Link |
---|---|
US (1) | US3308429A (de) |
BE (1) | BE655396A (de) |
DE (1) | DE1449906A1 (de) |
GB (1) | GB1083310A (de) |
NL (1) | NL6412763A (de) |
SE (1) | SE309508B (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1053174A (de) * | 1964-04-06 | |||
US3508196A (en) * | 1968-12-06 | 1970-04-21 | Ibm | Error detection and correction features |
US3932838A (en) * | 1971-04-23 | 1976-01-13 | General Electric Company | Method and apparatus for controlling circuitry with a plurality of switching means |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3123803A (en) * | 1964-03-03 | E de lisle ftai | ||
NL223913A (de) * | 1957-01-11 | 1900-01-01 | ||
US3159809A (en) * | 1958-04-08 | 1964-12-01 | Sylvania Electric Prod | Error detector for digital communications |
NL238506A (de) * | 1958-04-23 | |||
IT614742A (de) * | 1958-08-29 | 1900-01-01 | ||
US3159810A (en) * | 1960-03-21 | 1964-12-01 | Sylvania Electric Prod | Data transmission systems with error detection and correction capabilities |
US3155818A (en) * | 1961-05-15 | 1964-11-03 | Bell Telephone Labor Inc | Error-correcting systems |
US3164804A (en) * | 1962-07-31 | 1965-01-05 | Gen Electric | Simplified two-stage error-control decoder |
-
1963
- 1963-11-15 US US324004A patent/US3308429A/en not_active Expired - Lifetime
-
1964
- 1964-11-03 NL NL6412763A patent/NL6412763A/xx unknown
- 1964-11-06 BE BE655396D patent/BE655396A/xx unknown
- 1964-11-11 GB GB45879/64A patent/GB1083310A/en not_active Expired
- 1964-11-12 SE SE13655/64A patent/SE309508B/xx unknown
- 1964-11-13 DE DE19641449906 patent/DE1449906A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
SE309508B (de) | 1969-03-24 |
GB1083310A (en) | 1967-09-13 |
NL6412763A (de) | 1965-05-17 |
BE655396A (de) | 1965-03-01 |
US3308429A (en) | 1967-03-07 |
DE1449906A1 (de) | 1969-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2260850C2 (de) | Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern | |
DE2357004B2 (de) | Verfahren und Einrichtung zur Fehlerkorrektur für Daten | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
DE2262070A1 (de) | Mit schieberegistern arbeitendes fehlerkorrektursystem | |
DE2425823A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur | |
DE2132565B2 (de) | ||
DE2659031A1 (de) | Fehlerkorrektur- und -steuersystem | |
DE102016102590B4 (de) | Datenverarbeitungseinrichtungen und verfahren zum rekonstruieren eines puf-werts | |
DE2704627A1 (de) | Anordnung zur fehlererkennung von binaerer information | |
DE2260846A1 (de) | Fehlerkorrektursystem | |
DE2217935A1 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern | |
DE1964358C3 (de) | Fehlerkorrekturanordnung für ein Datenübertragungssystem | |
DE2324538A1 (de) | Digitale nachrichtenuebertragungsanordnung | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
DE2053836B2 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE1449906B2 (de) | ||
DE2057256A1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten | |
DE1774225A1 (de) | Fehlerkorrekturschaltung | |
DE2758952C2 (de) | Schaltungsanordnung zum Codieren oder Decodieren von Blnärinformationen | |
DE1449906C (de) | Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko | |
DE2826454A1 (de) | Faksimilesignal-codiersystem | |
DE1211687B (de) | System zur linearen systematischen Kodierung | |
DE1524891C3 (de) | Schaltungsanordnung zur Korrektur von Fehlerbündeln |