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
Application number
DE19641449906
Other languages
English (en)
Other versions
DE1449906A1 (de
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed filed Critical
Publication of DE1449906A1 publication Critical patent/DE1449906A1/de
Publication of DE1449906B2 publication Critical patent/DE1449906B2/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic 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
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-
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
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:
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'
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)

Patentansprüche:
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
DE19641449906 1963-11-15 1964-11-13 System zum Verarbeiten Redundanz aufweisender Digitalfolgen Pending DE1449906A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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