DE1449906C - Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko - Google Patents

Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko

Info

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
Application number
Other languages
English (en)
Publication date

Links

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-
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
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:
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)

Patentansprüche:
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