-
GEBIET DER
ERFINDUNG
-
Die
Erfindung betrifft ein Datenübertragungsverfahren
zum Übertragen
eines digitalen Signals, welches eine Verarbeitung des Signals umfasst,
welches übertragen
werden soll, um Übertragungsfehler zu
minimieren, welche im Kanal erzeugt werden.
-
ALLGEMEINER
STAND DER TECHNIK
-
Bei
Datenverbindungen ist bekannt, dass der Übertragungsweg, welcher zum Übertragen
von Signalen verwendet wird, Störungen
der Telekommunikation verursacht. Dies tritt ungeachtet der physikalischen
Form des Übertragungswegs
auf, d.h. ob der Weg eine Funkverbindung, eine optische Faser oder ein
Kupferkabel ist.
-
Um
die Auswirkungen von Störungen
zu vermindern, welche durch den Übertragungsweg
verursacht werden, wird ein digitales Signal codiert, so dass die
Verbindung zuverlässiger
gemacht werden kann. In einem derartigen Fall können die Fehler, welche durch
die Störung
im Signal, welches übertragen
werden soll, verursacht werden, erfasst und, abhängig vom verwendeten Codierungsverfahren,
auch ohne Wiederholungsübertragung
korrigiert werden.
-
Herkömmliche
Codierungsverfahren, welche bei der digitalen Telekommunikation
verwendet werden, umfassen beispielsweise Blockcodierung und Faltungscodierung.
Bei der Blockcodierung werden die Bits, welche codiert werden sollen,
in Blöcken gruppiert,
und am Ende der Blöcke
werden Paritätsbits
hinzugefügt,
so dass die Korrektheit der Bits im vorangegangenen Block mittels
des Paritätsbits
geprüft
werden kann. Bei der Faltungscodierung werden die Paritätsbits unter
den Datenbits platziert, so dass die Codierung kontinuierlich erfolgt.
Die Datenbits werden weder in Blöcken
gruppiert noch sind die Paritätsbits
mit den unmittelbar vorangehenden Datenbits verbunden, sondern sie
sind über
den Bereich einer Bitgruppe einer bestimmten Länge verteilt, wobei diese Bitanzahl
die beschränkende
Länge des Faltungscodes
genannt wird. Faltungscodierer und -decodierer werden auf in der
Technik bekannte Weisen implementiert. Ein Codierer kann beispielsweise mit
Schieberegistern verwirklicht werden.
-
"Very Low Rate Convolutional
Codes for Maximum Theoretical Performance of Spread-Spectrum Multiple-Access Channels", Viterbi, IEEE Journal
on Selected Areas in Communications, Vol. 8, Nr. 4, Mai 1990, Seiten
641 bis 649, offenbart ein Verfahren, welches eine Faltungscodierung
und eine orthogonale Modulation mehrerer Ebenen miteinander kombiniert.
Bei diesem Verfahren findet eine Codierung im Prinzip statt, wie
in
-
1 gezeigt. Der Codierer,
welcher in der Figur gezeigt wird, besteht aus einem k-Bit-Faltungscodierer,
welcher mit einem Schieberegister 100 verwirklicht ist,
und welcher m Ausgabe-Codebits 106 ausgibt, welche einen
orthogonalen Modulator 102 steuern, dessen Ausgabe eines
von M = 2m möglichen orthogonalen Symbolen
erzeugt, welche durch M parallele Bits gezeigt werden. Diese auf
M-Ebenen orthogonale Signalgruppe kann beispielsweise eine Walsh-Signalgruppe auf
M-Ebenen sein. 2 zeigt einen
Decodierer, welcher das Verfahren gemäß der oben stehenden Referenz
verwirklicht und einen M-Ebenen-Demodulator 200 umfasst,
beispielsweise eine Gruppe von Korrelatoren oder einen Walsh-Hadamard-Umwandlungskreis, dessen
Ausgabe aus M Korrelationswerten 204 besteht, welche einem
Viterbi-Decodierer 202 eingespeist werden.
-
US-Patent
5,193,094 offenbart ein Verfahren, welches dem vorangehenden Verfahren ähnlich ist,
wobei das erste und das letzte der Bits in der Ausgabe eines Schieberegisters
genommen und mit einem XOR-Gatter verbunden werden, dessen Ausgabe
zusammen mit der Ausgabe eines orthogonalen Modulators einem anderen
XOR-Gatter eingespeist werden, dessen Ausgabe das Symbol ist, welches übertragen
werden soll.
-
US-Patent
5,519,608 und Ling, F. und Falconer, D.D.: Combined othogonal/convolutional
coding for a digital cellular CDMA system. IEEE 42nd Vehicular
Technology Conference, VTC'92,
Denver, Colorado, USA, 10. bis 13. Mai 1992, Vol. 1, Seiten 63 bis 66,
offenbaren eine kombinierte Verwendung der Faltungscodierung und
der Abbildung auf orthogonale Walsh-Symbole.
-
Near
Shannon limit error-correcting coding und decoding: Turbo-codes
von Berrou, C., Glavieux, A., Thitimajshima, P., IEEE International
Conf. on Communications, ICC'93,
Genf, Schweiz, 23. bis 26. Mai 1993, Vol. 2, Seiten 1064 bis 1070,
beschreibt das Prinzip einer parallel verketteten Faltungscodierung.
Diese Codes werden oft Turbo-Codes genannt. Die Kapazität von Turbo-Codes
in einem AWGN-Kanal ist ausgezeichnet. Die Codierung findet mit
zwei oder mehreren parallelen Codierern statt, und die Signale,
welche in die Codierer eingegeben werden, werden verschachtelt,
um einen unabhängigen
Datenstrom zu erzeugen.
-
Der
Nachteil der bekannten Verfahren ist, dass sie erfordern, dass das
empfangene Signal ein höheres
Signal- Rausch-Verhältnis aufweist,
als die neuartige Anordnung gemäß der Erfindung,
um die gewünschte Übertragungsqualität zu erzielen.
-
KURZFASSUNG
DER ERFINDUNG
-
Die
Aufgabe der vorliegenden Erfindung ist es, ein Codierungsverfahren
bereitzustellen, welches bessere Eigenschaften als früher aufweist
und welches es ermöglicht,
die Kapazität
und das Leistungsvermögen
von Datenübertragungssystemen,
insbesondere von CDMA-Systemen,
zu verbessern.
-
Dies
wird mit einem Verfahren von dem Typ erzielt, welches im Oberbegriff
des Anspruchs 1 beschrieben wird, dadurch gekennzeichnet, dass die Signalcodierung
durch Verwendung kombinierter, parallel verketteter Faltungscodierung
und eines superorthogonalen Faltungscodes verwirklicht wird, indem die
Informationen, welche übertragen
werden sollen, an zwei oder mehrere parallele Codierblöcke in einer derartigen
Weise eingespeist werden, dass die Informationen, welche jedem Block
eingespeist werden, in unterschiedlicher Reihenfolge verschachtelt
sind, und indem die Informationen, welche übertragen werden sollen, in
jedem Block auf der Basis vorbestimmter Erzeugerpolynome unter Verwendung
einer Gruppe von Registern in Kaskadenschaltung und einer Gruppe
von Addiermitteln (620a bis 626a), deren Verbindungen
gemäß einem
vorgegebenen Erzeugerpolynom konfiguriert sind, rekursiv faltungscodiert werden,
und indem die Ausgaben der Register jedes Codierblocks als eine
Bitsequenz eines orthogonalen Satzes von Sequenzen oder eines dazu
komplementären
Werts abgebildet werden.
-
Die
Erfindung betrifft auch Geräte
zur Codierung und zur Decodierung eines digitalen Signals, wobei
die Geräte
auf der Codierungsseite wenigstens zwei parallele Codierer, deren
Eingabe die Datensequenz ist, welche übertragen werden soll, und ein
Mittel zum Verschachteln der Datensequenz in einer derartigen Weise,
dass die Daten in jedem Codierer in verschiedener Reihenfolge vorliegen,
und auf der Decodierungsseite wenigstens zwei parallele Decodierer
umfassen. Die Geräte
gemäß der Erfindung sind
dadurch gekennzeichnet, dass auf der Codierungsseite jeder parallele
Codierer eine Gruppe von Registern, welche mit einer Kaskadenschaltung
miteinander verbunden sind und in welche die Daten, welche codiert
werden sollen, eingespeist werden, und eine Gruppe von Addiermitteln,
deren Verbindungen vom vorgegebenen Erzeugerpolynom abhängen, und
welche die Ausgaben der Register zu den Daten addieren, welche codiert
werden sollen, und ein Abbildungsmittel umfassen, dessen Eingabe aus
den Ausgaben der Register besteht, und dessen Ausgabe ein Walsh-Symbol
oder ein Komplement dazu umfasst, welches auf der Grundlage der
Eingaben eines Umwandlermittels ausgewählt ist, und dass auf der Decodierungsseite
die Eingabe jedes parallelen Decodierers das empfangene Walsh-Symbol
oder ein Komplement dazu und die Zuverlässigkeitsinformationen hinsichtlich
der Decodierung umfasst, welche von den anderen parallelen Decodierern
empfangen werden.
-
Das
Verfahren gemäß der Erfindung
stellt eine beträchtliche
Kapazität
im Vergleich mit den vorhergehenden Codierungsverfahren bereit.
Im Verfahren gemäß der Erfindung
wird die Codierung rekursiv ausgeführt, und die Decodierung wird
iterativ durchgeführt,
und der Komplexitätsgrad
der Implementierung hängt
von der Anzahl der durchgeführten
Iterationsrunden ab.
-
Bei
der Anordnung gemäß der Erfindung
ist es möglich,
eine sehr langsame Code-Geschwindigkeit (1/N, N≫1) zu verwenden. Das Verfahren
gemäß der Erfindung
ist insbesondere bei CDMA-Systemen vorteilhaft, wo verschiedene
Teilnehmer auf dem gleichen Frequenzkanal senden, welcher im Vergleich zur
verwendeten Bitrate vielfältig
ist.
-
BESCHREIBUNG
DER FIGUREN
-
Im
Folgenden wird die Erfindung ausführlicher unter Bezugnahme auf
die Beispiele gemäß der begleitenden
Zeichnungen beschrieben, wobei
-
1 und 2 Codierer und Decodierer nach dem oben
beschriebenen Stand der Technik zeigen,
-
3 die Struktur eines Codierers
unter Verwendung eines Turbo-Codes zeigt,
-
4a und 4b ein Beispiel des Trellis eines binären und
eines superorthogonalen Codes illustrieren,
-
5a und 5b Hadamard-Matrizen zeigen,
-
6 ein Beispiel der Struktur
eines Codierers illustriert, welcher das Verfahren gemäß der Erfindung
implementiert, und
-
7 ein Beispiel der Struktur
eines Decodierers illustriert, welcher das Verfahren gemäß der Erfindung
verwirklicht.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bei
der Anordnung gemäß der Erfindung wird
die Kanalcodierung eines Signals durch Verwenden einer kombinierten,
parallel verketteten Faltungscodierung und eines superorthogonalen
Faltungscodes implementiert. Im Folgenden wird die Anordnung gemäß der Erfindung
untersucht, indem zuerst die Prinzipien einer parallel verketteten
Faltungscodierung und dann die kombinierte Codierung gemäß der Erfindung
beschrieben werden.
-
Man
untersuche die Turbo-Codierung mittels der in 3 gezeigten Code-Struktur. Der Codierer für einen
Turbo-Code umfasst
zwei oder mehr verkettete Faltungscodierer 300, 302,
welche parallel arbeiten. 3 zeigt
beispielhaft zwei parallele Codierer, welche Erzeugerpolynome g1 = 37 und g2 = 21
(oktal) aufweisen. Der erste Decodierer 300 verarbeitet
die Datenbitsequenz D = (d0, d1,...,
dN_1) 304,
welche übertragen
werden soll. Die Ausgabe des Codierers umfasst sowohl die reinen
Dateninformationen xk 306 als auch
die rekursiv codierten, redundanten Informationen xki.
Der Code ist deshalb systematisch. Die Dateninformationen werden
verschachtelt 308, um einen unabhängigen Datenstrom zu erzeugen,
bevor er dem zweiten Codierer 302 eingespeist wird, dessen
Ausgabe rekursiv berechnete, redundante Informationen xk2 312 umfasst.
-
Man
untersuche als nächstes
die superorthogonale Codierung. Eine superorthogonale Codierung
ist als solche bereits bekannt, und sie wird beispielsweise in CDMA:
Principles of spread spectrum communication von Viterbi, A., Addison-Wesley
Publishing Company, 1995, Seiten 155 bis 166 ausführlicher
beschrieben. Man untersuche zuerst ein Beispiel anhand der 4a. Die Figur zeigt einen
Teil eines Trellis-Diagramms eines binären Faltungscodes mit der beschränkenden
Länge L
= 4. Auch Zustandsausgaben werden gezeigt. Jeder Zweig umfasst 8 Zustände, und
zwei Wege treffen sich an jedem Zustand, und dementsprechend gehen
von jedem Zustand zwei Wege ab. Falls der verwendete Code ein 1/2-Raten-Code
ist, stellt der Codierer von jedem Zustand eine der Sequenzen 00,
01, 10 oder 11 als Ausgabe bereit. Da es 8 Zustände und 16 Wege gibt, müssen oft
die gleichen Sequenzen verwendet werden.
-
Die
Code-Geschwindigkeit kann durch Verwenden langer Sequenzen in einer
derartigen Weise vermindert werden, dass alle Ausgabesequenzen orthogonal
zueinander sind, d.h. die Korrelation zwischen den Sequenzen ist
gleich null. Es ist hier möglich,
beispielsweise Zeilen einer Hadamard-Matrix H16 zu
verwenden. Es gibt insgesamt 16 Übergänge von
einem Zustand in einen anderen. Es ist deshalb möglich, eine Zeile der Hadamard-Matrix
H16 für
einen Übergang
einzusetzen. In einem derartigen Fall sind alle Eingaben und Ausgaben
der Zustände
orthogonal, was die Bandbreite erhöht. Die Code-Geschwindigkeit
beträgt
in diesem Fall 1/16.
-
Der
oben beschriebene Code kann weiter verbessert werden, indem eine
Hadamard-Matrix H8 verwendet wird, welche
durch Sequenzen ergänzt wird,
welche erhalten werden, indem die Matrix H8 mit –1 multipliziert
wird. Die Matrizen werden in der 5a und 5b gezeigt.
-
Es
wird folglich eine biorthogonale Gruppe von 16 Sequenzen erhalten.
Es sind jedoch nicht alle Sequenzen biorthogonal zueinander. Das
Ergebnis besteht stattdessen aus 8 Paaren von Sequenzen, welche
biorthogonal zueinander und orthogonal zu den anderen 14 Sequenzen
sind. Wenn die Sequenzen in einer derartigen Weise eingesetzt werden, dass
die Ausgabe der Wege aus dem gleichen Zustand mit zueinander biorthogonalen
Sequenzen bereitgestellt werden, ist es möglich, die Kapazität zu verbessern.
Die Code-Geschwindigkeit für
einen derartigen biorthogonalen Code ist 1/8.
-
Der
Code kann weiterhin verbessert werden, indem die Sequenzen in einer
derartigen Weise eingestellt werden, dass die Ausgaben benachbarter Zustände die
gleichen biorthogonalen Sequenzen aufweisen. Sie müssen auf
verschiedene Wege abgebildet werden, so dass sowohl die eingehenden
als auch die ausgehenden Übergänge biorthogonal
sind. Dies wird in 4b illustriert.
Die Code-Geschwindigkeit kann dann auf 1/4 gesteigert werden, da
es möglich
ist, die Hadamard-Matrix H4 und die dazu komplementären Matrizen
zu verwenden, welche zusammen eine ausreichende Anzahl von Sequenzen umfassen.
Eine komplementäre
Matrix bezieht sich in diesem Zusammenhang auf eine Matrix, deren Werte '1' in Werte '–1' umgewandelt werden
und vice versa. Es wird folglich ein superorthogonaler Code erzeugt.
-
Man
untersuche die nächste
Anordnung gemäß der Erfindung
zur Implementierung einer Kanalcodierung mittels der in 6 gezeigten Codierer-Struktur.
Die Figur zeigt eine einfache Weise zur Bereitstellung der Codierung
gemäß der Erfindung, aber
es gibt natürlich
auch andere Ausführungsformen,
wie es Durchschnittfachleuten offensichtlich ist.
-
Beim
Verfahren gemäß der Erfindung
wird die Datensequenz, welche übertragen
werden soll, zwei oder mehr parallelen Codierern eingespeist, von welchen
zwei in der Figur gezeigt werden 600, 602. Daten
werden dem anderen Codierer 602 in einer verschachtelten
Form 606 eingespeist. Jeder Codierer umfasst einen rekursiven
Turbo-Codierer, welcher aus einer Anzahl von Registern 612a bis 618a und 612b bis 618b sowie
aus Verbindungen zwischen den Registern besteht, welche mittels
der Addierer 622a bis 626a, 622b bis 626b verwirklicht
werden. Die Rekursivität
wird verwirklicht, indem ein Signal von der Ausgabe der Register
dem Addierer 620a, 620b eingespeist wird, wo es
zur Datensequenz addiert wird, welche codiert werden soll. Im Beispiel
der Figur ist das Erzeugerpolynom 37 (oktal), und die beschränkende Länge ist
L = 5. Jeder Codierer umfasst ferner ein Abbildungsmittel 628a, 628b,
beispielsweise einen Walsh-Hadamard-Erzeuger,
welcher die gewünschte
Zeile der Hadamard-Matrix auf der Grundlage der Zustände der
Register 612a bis 618a und 612b bis 618b erzeugt.
Die erhaltenen Sequenzen, d.h. Walsh-Symbole und ihre Komplemente 608, 619,
werden weiterhin auf andere Teile des Senders angewandt, welche
an den Kanal übertragen
werden sollen. Im Beispiel der Figur ist die Hadamard-Matrix H8 oder
eine dazu komplementäre
Matrix. Die Erzeugersteuerung kann auch in einer derartigen Weise implementiert
werden, dass die Register die Zeile der Hadamard-Matrix bestimmen
und das Datenbit 630a, 630b das Vorzeichen der
Matrix bestimmt, d.h. ob die Hadamard-Matrix direkt verwendet wird oder die dazu
komplementäre
Matrix. Das Datenbit kann auch nach dem Addierer 620a genommen
werden, oder es kann ein beliebiges anderes Ausgabebit des Faltungscodierers
sein. Die Codierungsgeschwindigkeit der Anordnung gemäß der Erfindung
ist 1/2L-1. Das Abbildungsmittel kann in
der Praxis beispielsweise mittels eines Speicherelements oder eines
Prozessors verwirklicht werden.
-
Man
untersuche als nächstes
die Anordnung gemäß der Erfindung
zur Decodierung der Kanalcodierung mittels des beispielhaften Blockdiagramms der 7. Bei der Anordnung gemäß der Erfindung umfasst
der Decodierer zwei oder mehr parallele Decodiererblöcke, von
welchen zwei im Beispiel der Figur gezeigt werden, 700, 702.
Jeder Decodiererblock empfängt
in seiner Eingabe ein Walsh-Symbol
oder ein Komplement dazu 704, 706, welches vom
Kanal empfangen wird. Ein Walsh-Symbol bezeichnet nachfolgend entweder
ein Symbol oder ein Komplement dazu. Bei der Anordnung gemäß der Erfindung erzeugt
der Decodierer zusätzlich
zu einer Symbolentscheidung 708, 710, Informationen,
welche die Zuverlässigkeit
der getroffenen Entscheidung betreffen, 718, 720.
Die Zuverlässigkeitsinformationen werden
den parallelen Decodiererblöcken
als Zusatzinformationen eingespeist, welche sie bei der Decodierung
des Walsh-Symbols verwenden können.
Da die Datenbits, welche den verschiedenen Codiererblöcken eingespeist
werden, für
eine Übertragung
verschachtelt werden, muss die Verschachtelung 712, 714 auch
im Decodierer durchgeführt werden,
und eine Entverschachtelung muss ausgeführt werden, wenn Informationen
zwischen den Decodiererblöcken übertragen
werden. Dementsprechend wird eine Entverschachtelung auch auf den Ausgaben
der Decodiererblöcke 702 durchgeführt, welche
als Eingabe das Walsh-Symbol 706 aufwiesen, welches aus
den verschachtelten Daten erhalten wurde.
-
Man
untersuche die Decodierung ausgehend vom Anfangszustand. Der Decodierer 700 empfängt das
erste Symbol Wi. Auf dieser Ebene kennt
der Decodierer die Zuverlässigkeitsinformationen
des parallelen Decodierers 702 nicht, weshalb die Eingabe
zk auf einen geeigneten Wert initialisiert wird,
welcher vom verwendeten Decodierungs-Algorithmus abhängt. Der
Decodierer trifft eine Symbolentscheidung und berechnet auch die
Zuverlässigkeit
der Entscheidung. Es ist möglich,
im Decodierer bekannte Entscheidungsalgorithmen zu verwenden, welche
beispielsweise in "Optimal
decoding of linear Codes for minimizing symbol error rate", Bahl, L., Cocke,
J., Jelinek, F., Raviv, J., IEEE Transactions on Information Theory,
März 1974,
Seiten 284 bis 287 beschrieben sind. Der Decodierer kann beispielsweise mittels
eines Signalprozessors oder einer entsprechenden, beliebigen anderen,
separaten Logik verwirklicht werden. Die Zuverlässigkeitsinformationen 718 werden
verschachtelt und der Eingabe des parallelen Decodierers 702 eingespeist.
Der parallele Decodierer verarbeitet das empfangene Walsh-Symbol
Wi, welches in seiner Eingabe bereitgestellt
wird und verwendet die Zuverlässigkeitsinformationen
Zn, welche er erhalten hat. Der Decodierer 702 trifft
die Entscheidung und berechnet auch die Zuverlässigkeitsinformationen. Die
Wirkung von Zn wird aus den Zuverlässigkeitsinformationen
eliminiert und sie werden nach einer Entverschachtelung 714 weiter
an den parallelen Decodierer 700 übertragen 720, welcher
das erste Symbol Wi wieder unter Verwendung der Zusatzinformationen
Zk, welche er erhalten hat, weiter verarbeitet.
Die Decodierung kann deshalb iterativ verwirklicht werden, indem
sie mit der gewünschten
Häufigkeit
wiederholt wird. Die Symbolentscheidung wird, falls gewünscht, aus
den Codiererausgaben 708, 710 erhalten.