-
Die vorliegende Erfindung bezieht sich auf einen
Kodierer/Dekodierer mit Fehlerkorrektur für ein
Datenübertragungssystem, insbesondere über eine Funkstrecke.
-
Die Kodierung mit Fehlerkorrektur in digitalen
Funkübertragungsstrecken für zivile Datenübertragung zielt auf die
Korrektur isolierter Fehler ab, die beispielsweise von
Zündvorrichtungen in Kraftfahrzeugen stammen.
-
Um möglichst gut die Störungen zwischen Kanälen zu
verringern, sollte die Durchsatzerhöhung aufgrund der die
Fehler korrigierenden Kodierung nicht ungefähr 3% des
ursprünglichen Durchsatzes übersteigen, der aus der
Multiplexierung der eigentlichen Daten, der zusätzlichen Betriebs- und
Wartungsinformationen und ggf. vorhandener zusätzlicher Daten
resultiert. Nur unter diesen Bedingungen können die
Filtereigenschaften der Übertragungskette des vor der Einführung
dieser Kodierung vorhandenen Materials beibehalten werden. Es
ist dann durch einfachen Austausch nur der Karten für die
Rahmen möglich, von einer nicht kodierten Version auf eine
kodierte Version des Materials überzugehen. In diesem
Anwendungen muß also unter den zahlreichen fehlerkorrigierenden
Kodes, die in der Literatur beschrieben werden, ein
Fehlerkorrekturkode ausgewählt werden, der einfach ist und einen
geringen Redundanzgrad besitzt.
-
Außerdem ist es günstig, bei derartigen Anwendungen
einen Fehlerkorrekturkode zu verwenden, der generell für
mangelnde Phaseneindeutigkeit transparent ist (was bekanntlich
dann der Fall ist, wenn das Zweierkomplement eines Kodeworts
ebenfalls zum Kode gehört).
-
Schließlich ist es günstig, wenn der gewählte
Fehlerkorrekturkode bei allen Arten von Funkstrecken angewandt
werden kann, unabhängig vom verwendeten Modulationstyp, nämlich
mit 4, 16, 64 oder sogar 256 Phasenzuständen.
-
All diese Forderungen haben die Erfinder dazu
gebracht,
unter den in der Literatur beschriebenen
Fehlerkorrekturkodes den Kode von WYNER-ASH auszuwählen.
-
Dieser Kode ist beispielsweise in dem Werk des
russischen Autors ALEXANDRU SPATARU mit dem Titel "Fondements de la
théorie de la transmission de l'information", veröffentlicht
in Frankreich durch den Verlag "Presses Polytechniques
Romandes", 1987, Seiten 132 bis 136 beschrieben. Eine andere
Veröffentlichung des Kodes von WYNER-ASH findet sich in dem
Aufsatz von I.S. REED und T.K. TRUONG "Error-Trellis Syndrome
decoding techniques for convolutional codes", der in IEE
Proceedings for Communications, Radar and Signal, Vol. 132, Nº 2,
April 1985, Seiten 77 bis 83 veröffentlicht wurde.
-
Es handelt sich um einen systematischen Faltkode, der
genau einen Fehler in der ganzen Wortlänge unabhängig von der
Lage des Fehlers in einem Block zu korrigieren erlaubt. Die
drei Parameter dieses Kodes, nämlich k (Anzahl der
Informationsbits am Eingang des Kodierers), n (Anzahl der Bits am
Ausgang dieses Kodierers) und m (Ordnung des
Verzögerungsspeichers, der in diesem Kodierer enthalten ist), werden durch
folgende Beziehungen definiert:
-
k = 2p - l
-
n= k + 1
-
m= p + 1
-
Hierbei ist p eine ganze Zahl.
-
In dem betrachteten Fall soll, wie oben erläutert, der
Redundanzgrad des Kodes nicht wesentlich über 3% liegen, was
die Wahl dieser Zahl p beeinflußt. Die Rechnung zeigt, daß
unter diesen Bedingungen p größer/gleich 5 sein muß.
Insbesondere erhält man bei p = 5 einen Kode, für den gilt k = 31 und
n = 32, wodurch sich ein akzeptabler Redundanzgrad von 3,2%
ergibt.
-
In diesem Kode wird das Kontrollbit Yi eines zum
Zeitpunkt i den Kodierer verlassenden Blocks von n Bits abhängig
von den k anderen Bits desselben Blocks zu diesem Zeitpunkt i
(Xi,1; Xi,2; Xi,3; ...; Xik), abhängig von diesen selben k
weiteren Bits zum Zeitpunkt i-1 (Xi-1,1; Xi-1,2; ...; Xi-1,k)
usw. und schließlich abhängig von diesen selben k anderen Bits
zum Zeitpunkt i-m (Xi-m,1; ...; Xi-m,k) berechnet, indem eine
Addition modulo 2 all dieser k anderen Bits durchgeführt wird,
die zu den Zeitpunkten i, i-1, ...i-m vorliegen und je einem
Koeffizienten A = 0 oder A = 1 unterworfen sind, der durch die
Kodeerzeugungsmatrix definiert ist.
-
Diese Berechnungsart des Kontrollbits Yi wird klarer
in der beiliegenden Figur 1 dargestellt. In diesem Schema sind
die k Bits (Xi,1; Xi,2 ...; Xi,k), die zum Zeitpunkt i in den
Kodierer eintreten, auf der linken Seite der Zeichnung
angeordnet, während die (k+1) Bits, die zum selben Zeitpunkt i aus
dem Kodierer austreten (Xi,1; Xi,2, ..; Xi,k; Yi) sich auf der
rechten Seite der Zeichnung befinden.
-
Das Kontrollbit Yi findet sich am Ausgang eines
Binäraddierers S1, der seinerseits die k Eingangsbits jeweils mit
einem Koeffizienten A1,1; A1,2; ...; A1,k multipliziert
empfängt, der im übrigen stets 1 ist. Außerdem ist der
Binäraddierer ST mit dem Ausgang einer Zählkippstufe B2 verbunden.
-
Die Zählkippstufe B2 empfängt ihrerseits den Ausgang
eines weiteren Binäraddierers 52. Die Eingänge dieses
Addierers 52 werden ebenfalls einerseits von den k Eingangsbits,
jeweils multipliziert mit einem Koeffizienten A2,1; A2,2; ..;
A2,k, der 0 oder 1 ist und von der Kodeerzeugungsmatrix
definiert wird, und andererseits vom Ausgang einer weiteren
Zählkippstufe B3 gebildet, usw., bis zum modulo-2-Addierer Sm,
dessen Ausgang die Zählkippstufe Bm anstößt und der
seinerseits nur die k oben definierten Eingangsbits zugeführt
erhält, jeweils multipliziert mit einem Koeffizienten Am,1;
Am,2; ...; Am,k, der hier wieder gleich 0 oder 1 ist und durch
die Kodeerzeugungsmatrix definiert wird. Diese Matrix hat
folgende Form:
-
R1 = A1,1 A1,2............A1,k
-
R2 = A2,1 A2,2............A2,k
-
.................................................
-
Rm = Am,1 Am,2............Am,k
-
Es sei bemerkt, daß die Koeffizienten der ersten Zeile
R1 dieser Matrix (A1,1 bis A1,k) alle gleich 1 sind.
-
Die direkte Anwendung dieses Kodierprinzips auf die
Datenübertragung über Funkstrecken würde vor dem Kodierer eine
Serien-Parallel-Umwandlung und hinter dem Kodierer eine
Parallel-Serien-Umwandlung erfordern, da der Kodierer von WYNER-
ASH prinzipiell ein paralleler Kodierer ist, wie dies deutlich
aus Figur 1 hervorgeht. Dies hat den Nachteil einer
schwerfälligen und teuren Realisierung.
-
Die Erfindung soll diesen Nachteil beseitigen. Sie
bezieht sich hierzu auf eine Kodiervorrichtung mit
Fehlerkorrektur für eine Datenübertragung insbesondere über
Funkstrekken, wobei die Vorrichtung einen Fehlerkorrekturkode von
WYNER-ASH verwendet, dessen oben definierte ganze Zahl p
mindestens gleich 5 ist, d.h. daß m mindestens gleich 6 ist. Dieser
Kodierer verwendet m Schieberegister in Reihe, von denen
mindestens die p ersten je n Kippstufen besitzen und die Ausgänge
der k ersten Kippstufen des ersten dieser Schieberegister mit
einem ersten EXKLUSIV-ODER-Kreis verbunden sind, während die k
ersten Ausgänge des zweiten Schieberegisters an einen zweiten
EXKLUSIV-ODER-Kreis angeschlossen sind, wenn sie einem
Koeffizienten (A2,1; A2,2; ...; A2,k) der zweiten Zeile der
Kodeerzeugungsmatrix mit dem Wert "1" entsprechen und nicht
angeschlossen sind, wenn sie einem Koeffizienten mit dem Wert "0"
entsprechen, usw. bis zum m-ten Schieberegister, das
seinerseits in gleicher Weise mit einem m-ten EXKLUSIV-ODER-Kreis
verbunden ist, wobei die m Ausgänge dieser m EXKLUSIV-ODER-
Kreise an einen weiteren EXKLUSIV-ODER-Kreis angeschlossen
sind, dessen Ausgang an einen von zwei Eingängen eines
Eingangsmultiplexers des Kodierers angelegt ist, der an seinem
anderen Eingang die aufeinanderfolgenden je aus k Datenbits
gefolgt von einem Abstandsplatz für ein Kontrollbit
bestehenden Folgen empfängt, wobei der Steuereingang dieses
Multiplexers ein periodisches Signal empfängt, über das der Ausgang
des Multiplexers an den Eingang für die k Datenbits während
des Durchgangs dieser k Bits bzw. an den Ausgang des anderen
EXKLUSIV-ODER-Kreises während des für die Einfügung des
Kontrollbits reservierten Abstandsplatzes angeschlossen werden
kann, wobei der Ausgang des Multiplexers (9) einerseits an das
erste Schieberegister und andererseits an eine Kippstufe zur
Resynchronisierung führt, deren Ausgang den Ausgang des
Serienkodierers nach WYNER-ASH bildet.
-
Die Erfindung kann auch einen Seriendekodierer
enthalten, der in einer diesen Kodierer enthaltenden
Datenverarbeitungsanlage verwendet wird, wobei dieser fehlerkorrigierende
Dekodierer m Schieberegister in Reihe aufweist, von denen die
k ersten je n Kippstufen und das letzte mindestens n
Kippstufen enthält, wobei die Eingänge der k letzten Kippstufen je an
den Ausgang der vorhergehenden Kippstufe über je einen
EXKLUSIV-ODER-Kreis angeschlossen sind, der außerdem mit einem
äußeren Eingang verbunden ist, während die letzte Kippstufe
die Ausgangskippstufe des Dekodierers bildet, wobei die
Ausgänge dieser Register an m EXKLUSIV-ODER-Kreise genau in
derselben Weise wie bei den Schieberegistern des Kodierers
angeschlossen sind und die m Ausgänge dieser EXKLUSIV-ODER-Kreise
in gleicher Weise an einen weiteren EXKLUSIV-ODER-Kreis
angeschlossen sind, dessen Ausgang über ein von dem (den
Eingangsmultiplexer des Kodierers steuernden) periodischen Signal
gesteuertes Tor an einen EXKLUSIV-ODER-Kreis mit zwei
Eingängen angeschlossen ist, wobei der andere Eingang dieses Kreises
den digitalen Datenfluß empfängt, der an den Dekodierer
angelegt wird, und der Ausgang dieses Kreises einerseits an den
Eingang des ersten Schieberegisters und andererseits an einen
Binär-Dezimal-Wandler angeschlossen ist, an den außerdem die
Ausgänge der (p-1) ersten Schieberegister angeschlossen sind
und der durch das Ausgangssignal des p-ten Schieberegisters
über ein Aktivierungs-UND-Tor aktiviert wird, das außerdem
mindestens das periodische Signal empfängt, wobei die k ersten
Ausgänge dieses Binär-Dezimal-Wandlers (von denen einer die
Lage des Fehlers angibt) an die erwähnten äußeren Eingänge der
EXKLUSIV-ODER-Kreise angeschlossen sind, die je vor einer der
k Kippstufen des letzten Schieberegisters liegen, so daß der
Fehler korrigiert wird, der sich in diesem Augenblick in
diesem Register befindet, während gleichzeitig das
Aktivierungssignal des Binär-Dezimal-Wandlers verwendet wird, um die erste
Kippstufe jedes der p ersten Schieberegister auf null zu
setzen, um die Syndrombits zu löschen, die sie enthalten und die
gemeinsam die Lage des gleichzeitig korrigierten Fehlers
angeben.
-
Jedenfalls werden die Erfindung, ihre Vorteile und
weitere Merkmale aus der nachfolgenden Beschreibung eines
nicht beschränkend zu verstehenden Ausführungsbeispiels dieses
Serienkodierers-Dekodierers von WYNER-ASH unter Bezugnahme auf
die schematischen beiliegenden Zeichnungen klarer hervorgehen.
-
Figur 2 ist ein Prinzipschema des Kodierers.
-
Figur 3 ist ein Prinzipschema des Dekodierers.
-
Figur 4 ist ein Prinzipschema des letzten
Schieberegisters dieses Dekodierers.
-
In Figur 2 ist der Serienkodierer gezeigt, in dem der
Kode von WYNER-ASH implementiert werden kann, für den die oben
erwähnte ganze Zahl p den Wert 5 besitzt, was für den Kode
einen Redundanzgrad von 3,2% ergibt.
-
Die drei Parameter dieses Kodes sind also
-
k = 2p - 1 = 31
-
n = k + 1 = 32
-
m = p + 1 = 6
-
Die Erzeugungsmatrix dieses Kodes wird durch die folgenden
sechs Zeilen R1 bis R6 gebildet:
-
RT: 1111111111111111111111111111111
-
d.h. 31 mal der Koeffizient "1"
-
R2: 1010101010101010101010101010101
-
d.h abwechselnd "1" und "0"
-
R3: 1100110011001100110011001100110
-
d.h. abwechselnde Folgen von zweimal "1" und zweimal "0"
-
R4: 1111000011110000111100001111000
-
d.h. abwechselnde Folgen von viermal "1" und viermal "0"
-
R5: 1111111100000000111111110000000
-
d.h. abwechselnde Folgen von achtmal "1" und achtmal "0"
-
R6: 1111111111111111000000000000000
-
d.h. sechzehn mal "1" und fünfzehn mal "0"
-
Der Serienkodierer enthält sechs Schieberegister in
Reihe M1 bis M6 in Figur 2. Es handelt sich um Register mit je
n Kippstufen, also hier 32 Kippstufen.
-
Die Ausgänge der 31 ersten Kippstufen des ersten
Registers M1 werden mit den in der ersten Zeile R1 der
Erzeugungsmatrix definierten Koeffizienten multipliziert und werden
dann alle an einen ersten EXKLUSIV-ODER-Kreis XOR1
angeschlossen.
-
In gleicher Weise sind die 31 ersten Ausgänge des
zweiten Registers M2 mit einem zweiten EXKLUSIV-ODER-Kreis
XOR2 verbunden, wenn sie einem Koeffizienten "1" in der Zeile
R2 entsprechen, während sie nicht angeschlossen sind, wenn sie
einem Koeffizienten "0" in dieser Zeile R2 entsprechen, so daß
jeder zweite Ausgang schließlich an XOR2 angeschlossen ist.
-
Fährt man in gleicher Weise bis zum letzten Register
M6 fort, dann stellt man fest, daß die Verteilung der 31
ersten Ausgänge der nachfolgenden Register M3 bis M6, die an je
einen EXKLUSIV-ODER-Kreis XOR3 bis XOR6 angeschlossen sind,
durch die Verteilung der Koeffizienten "1" in den jeweiligen
Zeilen R3 bis R6 der Matrix definiert ist, also nacheinander
Gruppen von zwei Ausgängen getrennt durch einen Zwischenraum
von zwei nicht angeschlossenen Ausgängen, dann in Gruppen von
vier Ausgängen getrennt durch Zwischenräume einer Breite
entsprechend vier Ausgängen, dann in Gruppen von acht Ausgängen,
getrennt durch acht nicht angeschlossene Ausgänge, dann in
einem einzigen Block von 16 Ausgängen (es sei hier bemerkt,
daß das letzte Register M6 ein Register mit 16 Kippstufen sein
kann, da die 16 nachfolgenden Kippstufen überhaupt nicht
verwendet werden).
-
Die sechs Ausgänge 1 bis 6 der sechs EXKLUSIV-ODER-
Kreise XOR1 bis XOR6 sind alle an einen weiteren EXKLUSIV-
ODER-Kreis XOR angeschlossen, dessen Ausgang an den Eingang 8
eines Multiplexers 9 mit zwei Eingängen 8, 10, einem Ausgang
11 und einer Steuerklemme 12 angelegt werden, wobei letztere
den Ausgang 11 entweder mit dem Eingang 10 oder mit dem
Eingang 8 verbinden kann, je nachdem, ob das an dieser Klemme
anliegende Signal "Sync" den Wert "0" oder "1" zeigt.
-
Der Eingang 10 empfängt den Datenzug IN, der aus
Serien von 31 Informationsbits gebildet wird, wobei die Serien
voneinander jeweils einen Abstand haben und eingangsseitig
durch den Pufferspeicherblock vorbereitet wurden sowie ein
zusätzliches Kontrollbit aufnehmen können.
-
Das Signal Sync ist während des Durchgangs der 31 oben
erwähnten Informationsbits null und geht auf den Wert "1"
während des erwähnten Abstands über, um die Einfügung eines
zusätzlichen Kontrollbits zu erlauben.
-
Der Ausgang 11 des Eingangsmultiplexers 9 ist
einerseits mit dem Eingang des ersten Schieberegisters M1 und
andererseits mit einer Kippstufe 13 vom Typ D zur
Resynchronisierung verbunden, deren Ausgang 14 den Ausgang des Kodierers
bildet.
-
Es versteht sich, daß die sechs in Kaskade
geschalteten Register M1 bis M6 und die Kippstufe 13 alle durch das
Taktsignal H des Informationsflusses IN synchronisiert sind.
-
Nun wird der Betrieb dieses Kodierers beschrieben:
-
Beim Einschalten werden alle Register M1 bis M6 auf
null eingestellt. Diese Initialisierung dient der Erläuterung
des Betriebs des Kodierers und erfolgt später nicht mehr, da
die Kodierung erst nach Durchgang der 192 ersten Bits gültig
wird, wie weiter unten erläutert wird.
-
Es sei angenommen, daß die Initialisierung beendet
ist, wenn das Signal Sync auf den Wert "1" aktiviert wird (der
Impuls Sync dauert eine Taktperiode H lang). Der Beginn der zu
kodierenden Nachricht entspricht dann der abfallenden Flanke
dieses Impulses Sync, dessen Rückkehr in den Zustand "0" dann
über den Eingangsmultiplexer 9 den Empfang der Daten im
Register M1 aktiviert.
-
Nach Durchgang einer ersten Folge von 31 Bits gelangt
das Signal Sync wieder während einer Taktperiode in den
Zustand "1": Der Ausgang 11 des Multiplexers 9 wird dann an den
Eingang 8 angeschlossen, d.h. an den Ausgang 7 des Kreises
XOR. Die Kreise XOR2 bis XOR6 zeigen am Ausgang den Wert null,
so daß das Signal, das mit dem 32sten Takt in die erste
Kippstufe des Registers M1 eingefügt wird, die Addition modulo 2
der 31 ersten vorher in dieses Register eingeschriebenen
Informationsbits darstellt. Dieses Signal bildet also das
Kontrollbit.
-
Dieser Prozeß setzt sich fort, bis die sechs Register
M1 bis M6 vollständig gefüllt sind, was nach den 132 auf die
Initialisierung folgenden Taktimpulsen der Fall ist.
-
Erst in diesem Augenblick wird die WYNER-ASH-Kodierung
wirklich wirksam, da die Kontrollbits, die nach je 31 Bits in
die in Reihe aus der Kippstufe 13 austretende Nachricht
eingefügt sind, gemäß der Kodierungsmatrix (materialisiert durch
die Anschlüsse in den Reihen R1 bis R5) und gemäß dem oben
anhand von Figur 1 erläuterten Schema berechnet wurden: Es
handelt sich schließlich hier um einen Kodierer, in den die
Daten in Reihe bei 10 eintreten und in Reihe bei 14 austreten,
aber in dem die Kodierung parallel mit Hilfe von sechs
Speichern M1 bis M6 und ihren zugeordneten Kreisen erfolgt.
-
Nach Ablauf der 192 ersten Taktimpulse beträgt die
Verzögerung aufgrund der Kodierung schließlich nur eine
Taktperiode aufgrund der Resynchronisierungs-Stufe 13.
-
In den Figuren 3 und 4 ist das Schema des zugeordneten
Seriendekodierers dargestellt, der auf der Empfangsseite dem
Sendekodierer der Figur 2 zugeordnet ist, wobei festgestellt
werden muß, daß dieser Dekodierer teilweise dem Kodierer gemäß
Figur 2 gleicht, insbesondere hinsichtlich der sechs
Schieberegister in Serie M1 bis M5 und M'6.
-
- Die fünf ersten Register M1 bis M5 gleichen den Registern M1
bis M5 des Kodierers und sind in gleicher Weise an EXKLUSIV-
ODER-Kreise XOR1 bis XOR5 angeschlossen, die ihrerseits in
gleicher Weise an einen weiteren EXKLUSIV-ODER-Kreis XOR
angeschlossen sind.
-
- Das letzte Register M'6, das im einzelnen in Figur 4
besonders dargestellt ist, ist auch mit seinen 16 ersten Ausgängen
an den seinerseits mit XOR verbundenen Kreis XOR6
angeschlossen, aber enthält 33 Kippstufen D1 bis D33, wobei die Eingänge
der 31 letzten Kippstufen D3 bis D33 je an den Ausgang der
vorhergehenden Kippstufe (D2 bis D32) über je einen EXKLUSIV-
ODER-Kreis C3 bis C33 angeschlossen sind, der außerdem von
einem äußeren Eingang ER31 bis ER1 gesteuert wird. Letzterer
bildet, wie weiter unten erläutert wird, ggf. die Adresse des
zu korrigierenden fehlerhaften Bits. Der Ausgang 15 der
letzten Kippstufe ist der Ausgang des Dekodierers, und natürlich
werden alle Kippstufen der Register M1 bis M'6 vom oben
erwähnten Taktsignal H getaktet.
-
Der Ausgang 7 des Kreises XOR ist mit einem UND-Tor 16
verbunden, dessen anderer Eingang das erwähnte Signal Sync
empfängt und dessen Ausgang 17 mit einem ersten Eingang eines
EXKLUSIV-ODER-Kreises 18 verbunden ist, der außerdem an seinem
anderen Eingang 19 den zu dekodierenden digitalen Datenzug
empfängt: Die Klemme 19 bildet also den Eingang des
Dekodierers.
-
Der Ausgang 20 des Kreises 18 ist einerseits mit dem
Eingang des ersten Schieberegisters M1 und andererseits über
eine Kippstufe 21 vom Typ D, die auch den Takt H empfängt, mit
dem ersten von fünf Eingängen 22 bis 26 eines Binär-Dezimal-
Wandlers 27 verbunden. Die Ausgänge 28 bis 31 der Register M1
bis M4 (oder mit anderen Worten die Eingänge der Register M2
bis M5) sind an die Eingänge 23 bis 26 dieses Binär-Dezimal-
Wandlers 27 über Kippstufen 33 bis 36 vom Typ D angeschlossen,
die ebenfalls vom Taktsignal H synchronisiert werden.
-
Die 31 letzten Ausgänge ER31 bis ER1 des Wandlers 27
sind an die oben genannten äußeren Eingänge der EXKLUSIV-
ODER-Kreise C3 bis C33 angeschlossen, die im Register M'6
enthalten sind (siehe Figur 4).
-
Der Ausgang 32 des Registers M5 führt an ein Tor 37,
das außerdem das erwähnte Signal Sync sowie ggf. ein äußeres
Steuersignal B1 zur Blockierung der Korrektur zugeführt
erhält. Der Ausgang 38 dieses Tors 37 steuert eine Kippstufe 39
vom Typ D, die ebenfalls vom Taktsignal H synchronisiert wird.
Der Ausgang 40 der Kippstufe 39 liefert einerseits bei 42 ein
Freigabesignal für den Binär-Dezimal-Wandler 27 und
andererseits bei 41 ein Nullsetzungssignal für die erste Kippstufe
jedes der Register M1 bis M5.
-
Nun wird der Betrieb dieses Seriendekodierers vom Typ
WYNER-ASH beschrieben:
-
Bei Empfang der 31 ersten Datenbits am Eingang 19 ist
das Signal Sync auf dem Pegel "0", so daß das Tor 16
geschlossen ist und die Signale vom Eingang 19 zum Ausgang 20 und dem
ersten Schieberegister M1 übertragen werden, indem die 31
ersten Kippstufen gefüllt werden.
-
Wenn das 32ste Bit ankommt, dann weiß man, daß es sich
um das Kontrollbit handelt. Das Signal Sync geht also auf den
Pegel "1" über, so daß das Tor 16 geöffnet wird. Dann wird ein
weiteres Kontrollbit, das vom Kreis XOR1 berechnet wurde, an
den Eingang 17 des EXKLUSIV-ODER-Tors 18 gleichzeitig mit dem
empfangenen Kontrollbit, das an den Eingang 19 gelangt,
angelegt. Am Ausgang 20 tritt also ein sogenanntes Syndrombit auf,
das den Zustand "0" hat, wenn das empfangene Kontrollbit dem
neu berechneten Kontrollbit gleicht, während der Zustand "1"
im entgegengesetzten Fall vorliegt. Mit anderen Worten zeigt
ein Syndrombit mit dem Zustand "1" einen Fehler in der
empfangenen Nachricht an. Dieses Syndrombit wird dann in die erste
Kippstufe des Registers M1 eingetragen. Angenommen, dieses Bit
ist im Zustand "0" und alle Register bis zum Register M'6
wurden mit Blöcken von 31 Datenbits und vorausgehendem
Syndrombit gefüllt, dann ist der Dekodierer für den Betrieb
bereit.
-
Es sei nun angenommen, daß ein Fehler in der ersten
weiteren Folge von 32 am Eingang des Registers M1 empfangenen
Bits auftritt. Wenn diese Sequenz dieses Register M1 gefüllt
hat, wird ein Fehler erkannt, da das am Ausgang von XOR
berechnete Bit sich von dem empfangenen Kontrollbit
notwendigerweise unterscheidet. Das Syndrombit, das in die erste
Kippstufe von M1 eintritt, hat also den Zustand "1".
-
Diese fehlerhafte Folge füllt dann den Block M2. Das
hier berechnete Syndrombit hat den Zustand "1", wenn der
Fehler sich auf einem der Drähte befindet, die an den Kreis XOR2
angeschlossen sind, während das berechnete Syndrombit im
gegenteiligen Fall den Wert "0" hat, usw. bis zum Register M5.
Man erkennt sofort, daß aufgrund der Verteilung der
Koeffizienten 1 und 0 auf die Zeilen R1 bis R5 der Matrix diese fünf
berechneten Bits der Binärkodierung der Lage des Fehlers
entspricht. Liegt der Fehler beispielsweise in der neunten
Position in der Sequenz von 31 Datenbits, dann ergeben sich
folgende Syndrombits:
-
01001
-
was genau der binären Darstellung der Zahl 9 entspricht.
-
Wenn die 31 Bits der fehlerhaften Folge in das
Register M'6 gelangt sind, dann wird das Syndrombit (gleich 1)
dieser Folge sowohl an die erste Kippstufe D1 des Registers
M'6 als auch an das UND-Tor 37 angelegt, das dann geöffnet
wird, da das Signal Sync auch auf den Wert "1" übergegangen
ist und das Signal B1 sich nicht im Zustand "0" befindet, was
eine äußere Steuerung der Korrekturblockierung angeben würde.
-
Der Wert "1", der am Ausgang 38 auftritt, wird dann in
der Kippstufe 39 registriert, wie im übrigen die fünf
Synchronbits in diesem Augenblick über die Leitungen 20, 28, 29,
30 und 31 in die Kippstufen 21, 33, 34, 35, und 36 vom Typ D
eingespeichert werden. Diese fünf Syndrombits bilden die
binäre Darstellung der Fehlerposition in der nun im Block M'6
gespeicherten Folge.
-
Mit dem nächsten Taktimpuls wird der Binär-Dezimal-
Wandler 27 vom Ausgang 40 der Kippstufe 39 aktiviert, während
die Ausgänge 22 bis 26 der fünf anderen Kippstufen vom Typ D
am Wandler anliegen. Die 31 letzten Ausgangsdrähte des
Wandlers 27 werden über den Bus 43 an die Eingänge ER1 bis ER31
der Addierer C33 bis C3 (Figur 4) angeschlossen, so daß der
aktivierte Ausgang des Wandlers 27, der die dezimale Position
des Fehlers angibt, über den entsprechenden EXKLUSIV-ODER-
Kreis den Fehler in der Kippstufe des Registers M'6
korrigiert, in dem er liegt.
-
Es sei bemerkt (siehe Figur 3), daß der äußerste linke
Ausgangsdraht des Wandlers 27 nicht angeschlossen ist, da er
einem Fehler im Kontrollbit entsprechen würde, der natürlich
nicht korrigiert wird, da er für den Ausgang des Dekodierers
keine Bedeutung hat.
-
Zugleich werden die ersten Kippstufen der Register M1
bis M5 durch den Pegel "1", der auf dem Draht 41 liegt, so auf
null gesetzt daß die fünf Syndrombits gelöscht werden, um
keine ungewollte Korrektur mit diesen Syndrombits
hervorzurufen. Diese Syndrombits, die die Lage des Fehlers angeben,
müssen gelöscht werden, um nicht erneut nicht gerechtfertigte
Fehlerkorrekturen hervorzurufen.
-
Die korrigierte Folge ist schließlich am Ausgang 15
mit einer Dekodierverzögerung gleich 193 Taktimpulsen
verfügbar. Natürlich wird diese Betriebsweise durch die Tatsache
ermöglicht, daß definitionsgemäß der Kode nur einen einzigen
Fehler in der ganzen Wortlänge (192 Bits) korrigieren kann.
-
Der Prozeß fängt dann wieder neu an und setzt sich
unbeschränkt fort mit der Möglichkeit der Korrektur eines
Fehlers in jedem Wort einer Länge von 192 Bits.
-
Es sei bemerkt, daß der Kodierer und der Dekodierer
eine sehr ähnliche Struktur besitzen. Daher kann ein Kodier-
Dekoder-Block vom Typ WYNER-ASH, der beide Funktionen erfüllt,
in einem Chip vom Typ ASIC realisiert werden. Dieser Modul
kann einfach an die Rahmen gemäß einer Modulation MDP4, MAQ16,
MAQ64 und MAQ256 angepaßt werden, indem unabhängig voneinander
jede Datenfolge behandelt wird.
-
Selbstverständlich ist die Erfindung nicht auf das
dargestellte Ausführungsbeispiel beschränkt. So können die
Kippstufen 21, 33 bis 36, 39 und D33, deren Aufgabe es ist,
alle Berechnungen in zwei Taktperioden anstelle einer einzigen
durchzuführen, sowie die Resynchronisierung des Signals es
erlauben, unter anderen technologischen Bedingungen entfallen,
und das Register M'6 würde entsprechend verkürzt.