DE69008896T2 - Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage. - Google Patents

Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage.

Info

Publication number
DE69008896T2
DE69008896T2 DE69008896T DE69008896T DE69008896T2 DE 69008896 T2 DE69008896 T2 DE 69008896T2 DE 69008896 T DE69008896 T DE 69008896T DE 69008896 T DE69008896 T DE 69008896T DE 69008896 T2 DE69008896 T2 DE 69008896T2
Authority
DE
Germany
Prior art keywords
flip
output
exclusive
circuit
input
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 - Fee Related
Application number
DE69008896T
Other languages
English (en)
Other versions
DE69008896D1 (de
Inventor
Christian Caquot
Pierre-Francois Kamanou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel CIT SA
Original Assignee
Alcatel Telspace SA
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 by Alcatel Telspace SA filed Critical Alcatel Telspace SA
Application granted granted Critical
Publication of DE69008896D1 publication Critical patent/DE69008896D1/de
Publication of DE69008896T2 publication Critical patent/DE69008896T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

  • 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.

Claims (4)

1. Vorrichtung zur Kodierung/Dekodierung mit Fehlerkorrektur für ein Datenübertragungssystem, wobei die Vorrichtung einen Fehlerkorrekturkode von WYNER-ASH verwendet, dessen Rang m des Verzögerungsspeichers mindestens gleich 6 ist, während die beiden anderen Parameter folgende Werte haben:
k (Anzahl der Informationsbits am Eingang): = 2p - 1
n (Anzahl der Bits am Ausgang): = k + 1
(mit m = p + 1),
dadurch gekennzeichnet, daß die Vorrichtung einen Kodierer enthält, der m Schieberegister (M1 bis M6) in Reihe besitzt, von denen mindestens die p ersten (M1 bis M5) je n Kippstufen besitzen und die Ausgänge der k ersten Kippstufen des ersten (M1) dieser Schieberegister mit einem ersten EXKLUSIV-ODER- Kreis (XOR1) verbunden sind, während die k ersten Ausgänge des zweiten Schieberegisters (M2) an einen zweiten EXKLUSIV-ODER- Kreis (XOR2) angeschlossen sind, wenn sie einem Koeffizienten (A2,1; A2,2; ...; A2,k) der zweiten Zeile (R2) 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 (M6), das seinerseits in gleicher Weise mit einem m-ten EXKLUSIV-ODER-Kreis (XOR6) verbunden ist, wobei die m Ausgänge (1 bis 6) dieser m EXKLUSIV-ODER-Kreise (XOR1 bis XOR6) an einen weiteren EXKLUSIV-ODER-Kreis (XOR) angeschlossen sind, dessen Ausgang (7) an einen (8) von zwei Eingängen eines Eingangsmultiplexers (9) des Kodierers angelegt ist, der an seinem anderen Eingang (10) die aufeinanderfolgenden je aus k Datenbits gefolgt von einem Abstandsplatz für ein Kontrollbit bestehenden Folgen empfängt, wobei der Steuereingang (12) dieses Multiplexers (9) ein periodisches Signal (Sync) empfängt, über das der Ausgang (11) des Nultiplexers an den Eingang (10) für die k Datenbits während des Durchgangs dieser k Bits bzw. an den Ausgang (7) des anderen EXKLUSIV-ODER-Kreises (XOR) während des für die Einfügung des Kontrollbits reservierten Abstandsplatzes angeschlossen werden kann, wobei der Ausgang (11) des Multiplexers (9) einerseits an das erste Schieberegister (M1) und andererseits an eine Kippstufe (13) zur Resynchronisierung führt, deren Ausgang (14) den Ausgang des Serienkodierers nach WYNER-ASH bildet.
2. Vorrichtung zur Kodierung/Dekodierung mit Fehlerkorrektur gemäß Anspruch 1, dadurch gekennzeichnet, daß sie einen fehlerkorrigierenden Dekodierer enthält, der ebenfalls m Schieberegister (M1 bis M'6) in Reihe aufweist, von denen die k ersten (M1 bis M5) je n Kippstufen und das letzte (M'6) mindestens n Kippstufen enthält, wobei die Eingänge der k 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 mit einem äußeren Eingang (ER31 bis ER1) verbunden ist, während die letzte Kippstufe (D33) die Ausgangskippstufe des Dekodierers bildet, wobei die Ausgänge dieser Register (M1 bis M'6) an m EXKLUSIV-ODER-Kreise (XOR1 bis XOR6) genau in derselben Weise wie bei den Schieberegistern (M1 bis M6) des Kodierers angeschlossen sind und die m Ausgänge dieser EXKLUSIV-ODER-Kreise in gleicher Weise an einen weiteren EXKLUSIV-ODER-Kreis (XOR) angeschlossen sind, dessen Ausgang über ein vom periodischen Signal (Sync) gesteuertes Tor (16) an einen EXKLUSIV-ODER- Kreis (18) mit zwei Eingängen (17, 19) angeschlossen ist, wobei der andere Eingang (19) dieses Kreises (18) den digitalen Datenfluß empfängt, der an den Dekodierer angelegt wird, und der Ausgang (20) dieses Kreises einerseits an den Eingang des ersten Schieberegisters (M1) und andererseits an einen Binär-Dezimal-Wandler (27) angeschlossen ist, an den außerdem die Ausgänge der p-1 ersten Schieberegister (M1 bis M4) angeschlossen sind und der durch das Ausgangssignal (32) des p-ten Schieberegisters (M5) über ein Aktivierungstor (37) aktiviert wird, das außerdem mindestens das periodische Signal (Sync) empfängt, wobei die k ersten Ausgänge (ER1 bis ER31) 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 (C33 bis C3) angeschlossen sind, die je vor einer der k Kippstufen (D33 bis D3) des letzten Schieberegisters (M'6) liegen, so daß der Fehler korrigiert wird, der sich in diesem Augenblick in diesem Register (M'6) befindet, während gleichzeitig das Aktivierungssignal (40) des Binär-Dezimal-Wandlers (27) 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.
3. Vorrichtung zur Kodierung/Dekodierung mit Fehlerkorrektur gemäß Anspruch 1, dadurch gekennzeichnet, daß das Aktivierungstor (37) auch ein äußeres Signal (B1) zur Blockierung der Korrektur empfängt.
4. Vorrichtung zur Kodierung/Dekodierung mit Fehlerkorrektur nach einem der Ansprüche 2 und 3, dadurch gekennzeichnet, daß das Aktivierungssignal (38) und die Signale (20, 28 bis 31), die die Adresse des Fehlers angeben, an den Binär-Dezimal- Wandler über je eine Kippstufe (39, 21, 33 bis 36) vom Typ D angelegt werden.
DE69008896T 1989-02-24 1990-02-19 Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage. Expired - Fee Related DE69008896T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8902407A FR2643763B1 (fr) 1989-02-24 1989-02-24 Codeur/decodeur correcteur d'erreur pour installation de transmission numerique

Publications (2)

Publication Number Publication Date
DE69008896D1 DE69008896D1 (de) 1994-06-23
DE69008896T2 true DE69008896T2 (de) 1994-09-15

Family

ID=9379088

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69008896T Expired - Fee Related DE69008896T2 (de) 1989-02-24 1990-02-19 Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage.

Country Status (7)

Country Link
US (1) US5124992A (de)
EP (1) EP0385214B1 (de)
JP (1) JPH02248120A (de)
CA (1) CA2010825C (de)
DE (1) DE69008896T2 (de)
ES (1) ES2055184T3 (de)
FR (1) FR2643763B1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1243094B (it) * 1990-02-14 1994-05-24 Silvio Cucchi Sistema e dispositivi per la correzione di errori in trasmissioni digitali
US5539754A (en) * 1992-10-05 1996-07-23 Hewlett-Packard Company Method and circuitry for generating syndrome bits within an error correction and detection circuit
CN1111961C (zh) * 2000-10-13 2003-06-18 太原理工大学 快速纠多位错的编码译码器
JP2005033336A (ja) * 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
EA009629B1 (ru) * 2006-06-21 2008-02-28 Некоммерческая Организация «Фонд Сопровождения Инвестиционных Проектов "Генкей"» Способ помехоустойчивого кодирования цифровой информации и способ её декодирования

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593282A (en) * 1969-11-04 1971-07-13 Bell Telephone Labor Inc Character-error and burst-error correcting systems utilizing self-orthogonal convolution codes
DE2163105C3 (de) * 1971-12-18 1975-01-16 Messerschmitt-Boelkow-Blohm Gmbh, 8000 Muenchen Verfahren und Schaltungsanordnung zum Dekodieren und Korrigieren eines sogenannten nichtsystematischen Convolutional-Code
FR2616986B1 (fr) * 1987-06-17 1989-10-27 Matra Dispositif de decodage par syndromes de messages en code convolutionnel
NL8701996A (nl) * 1987-08-26 1989-03-16 Philips Nv Halfgeleidergeheugen voorzien van een medegeintegreerde foutkorrektie-inrichting, en geintegreerde schakeling voorzien van zo een halfgeleidergeheugen.

Also Published As

Publication number Publication date
JPH02248120A (ja) 1990-10-03
FR2643763A1 (fr) 1990-08-31
EP0385214B1 (de) 1994-05-18
EP0385214A1 (de) 1990-09-05
CA2010825A1 (fr) 1990-08-24
FR2643763B1 (fr) 1991-05-10
CA2010825C (fr) 1993-12-21
DE69008896D1 (de) 1994-06-23
US5124992A (en) 1992-06-23
ES2055184T3 (es) 1994-08-16

Similar Documents

Publication Publication Date Title
DE69022705T2 (de) System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung.
DE69026916T2 (de) Verschachtelung in kodierte Modulation für den mobilen Funk
DE69425400T2 (de) Verfahren und Vorrichtung zur Verschachtelung einer Folge von Datenelementen
DE3618865C2 (de) Maximallängen-Schieberegisterschaltfolgen-Generator
DE3854292T2 (de) Decoder.
DE2540472C3 (de) Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes
EP0078903A1 (de) Verfahren und Anordnung zur Sicherstellung der Start-Synchronisation eines aus Bit-Impulsfolgen bestehenden Telegramms innerhalb eines Empfängers
DE69212695T2 (de) Decodierungseinrichtung
DE3724729A1 (de) Verfahren zur aufbereitung eines faltungscodes zur uebertragung sowie dessen empfangsseitige rueckwandlung sowie anordnung hierzu
DE112011106024T5 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
DE2805294C2 (de) Codierende Übertragungsanlage für Faksimile-Signale
DE3730547A1 (de) Verfahren zur aufbereitung von daten
DE2324538A1 (de) Digitale nachrichtenuebertragungsanordnung
DE69008896T2 (de) Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage.
DE3003502A1 (de) Datenfehler-korrektursystem
EP0003480A2 (de) Schaltungsanordnung zum Umwandeln von Binärinformationen mittels Kontrollbits
EP0201634B1 (de) Digitaler Wortgenerator zur automatischen Erzeugung periodischer Dauerzeichen aus n-bit-Wörtern aller Wortgewichte und deren Permutationen
EP0769853B1 (de) Logischer Block für einen Viterbi-Decoder
DE2000565A1 (de) Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler
DE2828761C2 (de) Anordnung zum Kodieren von Datenbits
DE2057256A1 (de) Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten
DE3042394A1 (de) Codierer/decodierer
DE3104762C2 (de)
DE2163105A1 (de) Verfahren und schaltungsanordnung zum dekodieren und korrigieren eines sogenannten convolutional-code
DE1211687B (de) System zur linearen systematischen Kodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee