-
ALLGEMEINER
STAND DER TECHNIK
-
Die
vorliegende Erfindung betrifft die mehrebenencodierte Modulation,
die beispielsweise in drahtlosen oder Mobilfunkumgebungen Anwendung finden
kann.
-
Bei
Trellis-codierten Modulationsregimes ("TCM")
sind Trelliscodierung und Modulation dergestalt kombiniert, dass
bewirkt wird, dass eine Anzahl von Informationsbits durch ein Symbol
dargestellt werden, das auf einen Träger moduliert wird, um über einen
Kommunikationskanal übertragen
zu werden. Das Symbol wird einer vorgegebenen Symbolkonstellation
entnommen, die in eine Anzahl von Teilmengen unterteilt ist. Es
wird ein bestimmtes Symbol ausgewählt, die Informationsbits darzustellen,
indem zuerst ein Teil der Informationsbits einem Trelliscodierer
zugeleitet werden. Das Ausgabesignal des Codierers wird dafür verwendet,
eine Teilmenge der Konstellation auszuwählen. Die übrigen, sogenannten uncodierten,
Informationsbits werden dann dafür verwendet,
das bestimmte Symbol aus der gewählten
Teilmenge auszuwählen.
-
Insbesondere
geht der Trelliscodierer, bei dem es sich um eine endliche Maschine
handelt, nach dem Empfang eines Teils der Informationsbits von einem
augenblicklichen in einen nächsten
Zustand über
und erzeugt im Ergebnis dessen die Bits, die eine Teilmenge identifizieren.
Die Anzahl der Zustände,
die ein Trelliscodierer annehmen kann, beeinflusst direkt den Rechenaufwand
eines Empfängers,
um das übertragene
Signal wiederherzustellen. Je größer die
Anzahl der Zustände
eines Codes ist, desto komplexer, kann man sagen, ist daher der
Code.
-
Es
ist eine Eigenschaft von Trelliscodierern, dass nur bestimmte Codiererzustandsübergänge zulässig sind.
Infolge dessen lässt
der Code nur bestimmte Folgen von Teilmengen – als gültige Folgen von Teilmengen
bezeichnet – zu.
Ein weiteres Ergebnis ist dann, dass nur bestimmte Folgen von Symbolen,
die diesen Teilmengen entnommen werden – als gültige Folgen von Symbolen bezeichnet –, durch den
Code zugelassen werden. Die Fehlerleistung eines bestimmten TCM-Regimes
wird teilweise durch ihren sogenannten Mindestabstand bestimmt.
Dies ist das Minimum der Distanz zwischen jeweils zwei gültigen Folgen
von Symbolen, wobei diese Distanz durch die Quadratwurzel der Summe
der Quadrate des Abstandes zwischen jedem entsprechenden Paar von
Symbolen der beiden Folgen gegeben ist.
-
Konkret
ausgedrückt,
verwendet ein N-dimensionales TCM-Regime N-dimensionale Symbole, die einer
N-dimensionalen Konstellation entnommen sind. Die N-dimensionale
Konstellation ist in der Regel aus einer Verkettung einer Anzahl
konstituenter Konstellationen von niederer Dimensionalität zusammengesetzt,
und jedes N-dimensionale
Symbol besteht somit aus einer Anzahl von Signalpunkten von niederer
Dimensionalität,
die während
jeweiliger Zeichengabeintervalle übertragen werden. Die N-dimensionale
Konstellation wird in N-dimensionale Teilmengen zerlegt, was in
der Regel auf einer Zerlegung ihrer konstituenten Konstellation
von niederer Dimensionalität
in Signalpunktteilmengen von niederer Dimensionalität basiert.
Jede N-dimensionale Teilmenge kann aus mehreren Verkettungen von
Signalpunktteilmengen von niederer Dimensionalität zusammengesetzt sein. Infolge
des oben Dargelegten bedeutet die Tatsache, dass der Trelliscodierer nur
bestimmte gültige
Folgen von N-dimensionalen Teilmengen zulässt, dass nur bestimmte Folgen
der oben erwähnten
Signalpunktteilmengen von niederer Dimensionalität gültig sind. Gleichermaßen bedeutet die
Tatsache, dass der Trelliscodierer nur bestimmte gültige Folgen
von N-dimensionalen
Symbolen zulässt,
dass nur bestimmte Folgen der oben erwähnten Signalpunkte von niederer
Dimensionalität
gültig sind.
Bei den Signalpunkten handelt es sich in der Regel um zweidimensionale
(2D) Signalpunkte.
-
Ein
TCM-Regime ist außerdem
durch einen bestimmten Grad an sogenannter Zeitdiversity gekennzeichnet.
Dieser Parameter ist gleich der Mindestanzahl von Signalpunktpositionen
in jeweils zwei gültigen
Folgen von Signalpunkten, an denen die Signalpunkte verschieden
sind. Beispielsweise hat das Codierungsregime eine Zeitdiversity
von "2", wenn bei jeweils
zwei gültigen
Folgen von Signalpunkten die Anzahl von Signalpunktpositionen, an
denen die Signalpunkte verschieden sind, mindestens 2 beträgt. Eine
Zeitdiversity von mindestens "2" ist beispielsweise
in Drahtlosumgebungen von Vorteil, die in der Regel durch sogenannte
schwindende Kanäle gekennzeichnet
sind, d. h. Kanäle,
bei denen die Signalamplitude zu schwach werden kann, um brauchbare
Informationen über
das übertragene
Signal zu transportieren. Ungeachtet dessen ist es mit einer Zeitdiversity
von mindestens "2" immer noch möglich, das übertragene
Signal bei vorhandenem Tiefschwund wiederherzustellen.
-
Bei
der Ausgestaltung eines bestimmten TCM-Regimes werden eine Anzahl
von Parametern in Abhängigkeit
von den Designkriterien gegeneinander abgewogen. Zu den bedeutendsten
von ihnen gehören
die Bandbreiteneffizienz (bei der es sich um die Anzahl der Informationsbits
handelt, die durch jedes Symbol dargestellt werden) und drei der
oben angesprochenen Parameter: die Komplexität des Codes, sein Mindestabstand
und sein Grad an Zeitdiversity.
-
Nehmen
wir also den Fall eines Codierungsregimes, das eine akzeptable Bandbreiteneffizienz, eine
akzeptable Codekomplexität
und einen akzeptablen Mindestabstand, aber nicht den gewünschten Grad
an Zeitdiversity für eine
Drahtloskommunikationsanwendung aufweist. Eine Möglichkeit zur Erhöhung des
Grades an Zeitdiversity besteht darin, eine sehr feine Zerlegung
der Konstellation und einen Codierer mit einer größeren Anzahl
von Zuständen
zu verwenden. Wie oben angesprochen, führt dies allerdings zu einer
höheren
Decodiererkomplexität.
Es kann auch den Mindestabstand verkleinern. Bei einer anderen Möglichkeit,
die Zeitdiversity zu erhöhen, wird
die Anzahl der Symbole in jeder Teilmenge verringert, wodurch die
Gesamtzahl der Symbole in der Konstellation verringert wird. Dies
verringert jedoch die Anzahl der oben erwähnten uncodierten Bits, die die
durch jedes Symbol dargestellt werden, wodurch die Bandbreiteneffizienz
sinkt.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt eine erhöhte Zeitdiversity bereit, während ein
oder mehrere andere Leistungsparameter nur in geringem Ausmaß geopfert
werden. Die Codierungsregimes, in denen die Prinzipien der Erfindung
verkörpert
sind, sind sogenannte mehrebenencodierte Modulationsregimes von
einer dem Fachmann allgemein bekannten Art, die aus einem sogenannten
Code der ersten Ebene und einem sogenannten Code der zweiten Ebene
bestehen, wobei jeder Code jeweilige Anteile des Eingangsdatenstromes
erhält.
Der Code der ersten Ebene stellt nicht in sich und aus sich selbst
heraus den Gesamtcode mit einem gewünschten Grad an Zeitdiversity
dar. Gemäß der Erfindung
wird jedoch der Code der zweiten Ebene so gewählt, dass der Gesamtcode diesen
gewünschten
Grad an Zeitdiversity darstellt.
-
Bei
bevorzugten Ausführungsformen
ist der Code der ersten Ebene ein N-dimensionaler Trelliscode mit
N > 2, der Folgen
von Signalpunktteilmengen identifiziert, und die Signalpunkte der
identifizierten Signalpunktteilmengen werden in Abhängigkeit von
dem Code der zweiten Ebene gewählt.
Der Code der ersten Ebene ist derge stalt, dass jedes verschiedene
Paar identifizierter Folgen von Signalpunktteilmengen in mindestens
M Teilmengenpositionen unterschiedlich ist, wobei M der gewünschte Grad
an Zeitdiversity ist, wobei M > 1.
Der Code der zweiten Ebene ist dergestalt, dass gewährleistet
ist, dass jedes verschiedene Paar gültiger Folgen von Signalpunkten,
die derselben Folge von Signalpunktteilmengen entnommen werden,
in mindestens M Signalpunktpositionen unterschiedlich ist. Dies
stellt das mehrebenencodierte Modulations-Gesamtregime mit der Diversity
M bereit.
-
Die
Erhöhung
der Zeitdiversity kann vorteilhafterweise realisiert werden, während nur
eine geringe Verringerung der Bandbreiteneffizienz in Kauf zu nehmen
ist. Eine besonders vorteilhafte Ausführungsform eines Mehrebenencodes,
der die Prinzipien der Erfindung verkörpert, enthält beispielsweise einen vierdimensionalen
Trelliscode mit acht Zuständen
als den Code der ersten Ebene und einen (2k + 2, 2k) Doppelparitätsprüfcode als
den Code der zweiten Ebene, wobei k = 12 verwendet wird und wobei 2D
16-QAM als die konstituente Konstellation verwendet wird. Diese
Ausführungsform
weist eine Bandbreiteneffizienz von etwa 3 1/3 Bits/Signalpunkt auf,
was nur geringfügig
weniger ist als die Bandbreiteneffizienz von etwa 3 ½ Bits/Signalpunkt,
die mit einem Einebenencode unter Verwendung der gleichen Konstellation,
aber mit nur dem Code der ersten Ebene erreicht wird. Des Weiteren
wird ein Decodierer benötigt,
der mäßig komplexer
ist. Der Mehrebenencode weist jedoch eine Zeitdiversity von "2" auf, während der Einebenencode nur
eine Zeitdiversity von M = 1 aufweist (was praktisch keine Zeitdiversity
bedeutet), und es geschieht, ohne den Mindestabstand zu opfern.
Somit wird ein vorteilhafter Kompromiss erreicht. Im Vergleich dazu
mag es möglich
sein, eine Zeitdiversity von M = 2 unter Verwendung der gleichen
Konstellation zu erreichen, um auch wieder ungefähr die gleiche Bandbreiteneffizienz
zu erreichen, aber unter Verwendung eines Einebenen-Ansatzes. Der
Nachteil ist jedoch, dass ein solcher Ansatz zu einer deutlich höheren Decodiererkomplexität sowie
zu einem kleineren Mindestabstand führt.
-
Der
Grund, im Stand der Technik Mehrebenencodierung zu verwenden, war,
den Mindestabstand des Codes zu vergrößern, um so seine Fehlerratenleistung
zu verbessern. Es ist festzustellen, dass einige dieser zum Stand
der Technik gehörenden
Regimes auch eine erhöhte
Zeitdiversity erreichen können.
(Siehe beispielsweise mein US-Patent Nr. 5,548,615 vom 20. August
1996.) Die Erfindung umfasst hier die Klasse von Mehrebenencodes
der oben beschriebenen Art, die nicht durch im Stand der Technik
angestellte Erwägungen
motiviert sind. Das heißt,
die Erfindung betrifft hier die Klasse von Mehrebenencodes, die
eine Diversity von M > 1
bereitstellen, aber bei denen der Mindestabstand des Gesamtcodes
nicht infolge des Vorhandenseins des Codes der zweiten Ebene vergrößert wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNG
-
1 ist
ein Blockschaubild eines Kommunikationssystems, das ein mehrebenencodiertes
Modulationsregime verwendet, welches die Prinzipien der vorliegenden
Erfindung verkörpert.
-
2 zeigt
eine zweidimensionale 16-QAM-Konstellation,
die in vier Signalpunktteilmengen zerlegt ist und in dem Sender
von 1 verwendet wird.
-
3 ist
eine Tabelle zum Zerlegen einer vierdimensionalen Konstellation,
die ihrerseits auf der Konstellation von 2 basiert.
-
4 zeigt
eine Ausführungsform
für einen Abschnitt
des Senders von 1.
-
5 ist
ein Beispiel, das für
die Erklärung der
Zeitdiversity verwendet werden kann.
-
6 zeigt
einen Schaltungsaufbau, der einen bestimmten Trelliscode implementiert,
der vom Trelliscodierer von 4 verwendet
wird.
-
7 zeigt
eine Ausführungsform
eines Zweistufendecodierers, der in dem Empfänger von 1 verwendet
wird.
-
8 zeigt
ein Zustandsübergangsdiagramm
für den
Doppelparitätsprüfcodierer
von 4.
-
9 ist
eine Zeichnung, die zur Erklärung der
Funktionsweise des Vierzustandsdecodierers von 7 verwendet
werden kann.
-
10 zeigt
ein Trellisschaubild, das die Funktionsweise des Vierzustandsdecodierers
von 7 darstellt.
-
11 zeigt
einen Trellis, der die Basis der Funktionsweise des Vierzustandsdecodierers
von 7 bildet, wobei dieser Trellis auf dem Trellisschaubild
von 10 basiert.
-
12 zeigt
eine 16-PSK-Konstellation, die in vier Signalpunktteilmengen zerlegt
ist und die in dem Sender von 1 als eine
Alternative zu der 16-QAM-Konstellation
von 2 verwendet werden kann.
-
13 ist
eine Matrix, die zur Erklärung
der Funktionsweise der in 1 gezeigten
Verschachtelungsvorrichtung verwendet werden kann.
-
DETAILLIERTE
BESCHREIBUNG
-
1 ist
ein Blockschaubild eines Kommunikationssystems, das eine Form von
Trelliscode-Modulation (TCM) verwendet – konkret gesagt, mehrebenencodiertes
Modulationsregime, das die Prinzipien der vorliegenden Erfindung
verkörpert.
Insgesamt gesehen, wird bewirkt, dass binäre Daten durch Signalpunkte
dargestellt werden, die auf einen Träger moduliert werden, um über einen
Kanal übertragen zu
werden.
-
Genauer
gesagt, werden ankommende Daten zum Sender 10 geleitet,
der einen Codierer 103 der ersten Ebene und einen Codierer 101 der
zweiten Ebene enthält.
Der Konstellationsmapper 105 enthält einen Signalpunktteilmengenselektor 102,
der auf die m Ausgabebits des Codierers 103, m > 1, damit reagiert,
dass er bestimmte Signalpunktteilmengen einer Konstellation identifiziert,
was weiter unten noch näher
beschrieben wird. Der Konstellationsmapper 105 enthält des Weiteren
den Signalpunktselektor 104, der auf die Ausgabebits des
Codierers 101 der zweiten Ebene damit reagiert, dass er
einen bestimmten Signalpunkt aus jeder identifizierten Teilmenge
auswählt.
Die Verschachtelungsvorrichtung 106 verschachtelt die ausgewählten Signalpunkte,
die dann dem Modulator 107 zugeleitet werden, um sie über den
Kanal 109 zu versenden, der als veranschaulichendes Beispiel
ein drahtloser Telekommunikationskanal ist.
-
Der
Empfänger 15 empfängt gesendete
Signalspunkte, die durch Rauschen und andere Behinderungen, wie
beispielsweise Mehrwegeschwund, in dem Kanal verfälscht wurden.
Der Empfänger 15 enthält den Demodulator 151 und
die Entschachtelungsvorrichtung 152, welche die umgekehrten
Operationen des Modulators 107 bzw. der Verschachtelungsvorrichtung 106 ausführen. Das
Ausgabesignal der Entschachtelungsvorrichtung 152 wird
in den Decodierer 153 eingespeist, der die gesendeten Daten wiederherstellt.
-
Jeder
dieser Signalpunkte ist als veranschaulichendes Beispiel ein Punkt
in einer vorgegebenen 2D-Konstellation,
die in 2 als veranschaulichendes Beispiel als eine 16-QAM-Konstellation
gezeigt ist, bei der es sich um eine QAM-Konstellation mit insgesamt
16 Signalpunkten handelt. Der Code der ersten Ebene ist als veranschaulichendes
Beispiel ein vierdimensionaler (4D) Trelliscode, der eine 4D-Konstellation
verwendet, die durch Verketten eines Paares der 16-QAM-Konstellationen gebildet wird.
Jedes 4D-Symbol – das
die Verkettung von zwei 2D-Signalpunkten umfasst –, wird
dem Kanal während
eines 4D-Symbolintervalls mit einer Dauer von 2T zugeführt – oder, äquivalenterweise,
zwei Zeichengabeintervallen mit einer Dauer von T, wobei jeder der
Signalpunkte während
eines jeweiligen der Zeichengabeintervalle zugeführt wird. Das Assemblieren
der 162 = 256 verschiedenen 4D-Symbole umfasst
eine 4D-Zeichengabekonstellation.
-
Jede
der beiden konstituenten 2D-Konstellationen der 4D-Konstellation
wird in vier 2D-Teilmengen zerlegt, die mit a, b, c und d bezeichnet
sind. 2 zeigt anhand eines Bezugsbuchstabens, welcher
der vier 2D-Teilmengen
jeder der 2D-Punkte zugeordnet wird. Die 4D-Konstellation wird in acht 4D-Teilmengen,
die in 3 als Teilmenge 0 bis Teilmenge 7 bezeichnet sind,
zerlegt, wobei jede 4D-Teilmenge aus den Signalpunkten von zwei
Paaren von 2D-Teilmengen zusammengesetzt ist. Beispielsweise ist
die 4D-Teilmenge 0 aus jedem 4D-Symbol
zusammengesetzt, in dem der erste und der zweite konstituente 2D-Signalpunkt
beide der 2D-Teilmenge a oder beide der 2D-Teilmenge b entnommen
sind, die mit (a, a) und (b, b) bezeichnet sind. Da es insgesamt
256 4D-Symbole und acht Teilmengen gibt, enthält jede 4D-Teilmenge 32 4D-Symbole.
-
4 zeigt
weitere veranschaulichende Details des Senders 10 (1).
Ein Teil der Eingangsbits wird auf der Leitung 409 dem
Codierer 103 der ersten Ebene zugeleitet, und der Rest
wird über
die Leitungen 407 und 408 dem Codierer 101 der
zweiten Ebene zugeleitet. In einer Weise, die weiter unten noch
näher zu
be schreiben ist, umfasst das Ausgangssignal vom Codierer 103 der
ersten Ebene vier Bits für
jeweils zwei Zeichengabeintervalle, wobei diese Bits dafür verwendet
werden, eine der acht vorgegebenen 4D-Teilmengen zu identifizieren
und insbesondere eines der Paare von 2D-Teilmengen, das diese identifizierte
4D-Teilmenge umfasst, zu identifizieren. Das Ausgangssignal von
dem Codierer der zweiten Ebene umfasst zwei Bits für jedes
Zeichengabeintervall, wobei diese Bits dafür verwendet werden, einen bestimmten
Signalpunkt jeder identifizierten 2D-Teilmenge auszuwählen.
-
Der
Codierer 103 enthält
den Bitkollektor 403, den 4D-8-Zustandsraten-2/3-Trelliscodierer 404 sowie
den 2D-Teilmengenpaarselektor 405.
Der Bitkollektor 403 gibt drei Bits aus, und zwar X3n, I2n und I1n, die zwei Zeichengabeintervallen zugeordnet sind,
und zwar dem n-ten
und dem (n + 1)-ten. Es ist somit zu sehen, dass die durchschnittliche
Zahl von Eingangsbits, die der Leitung 409 je Zeichengabeintervall
zugeleitet werden, gleich 1,5 ist. Das Bit X3n bleibt
uncodiert und wird dem 2D-Teilmengenpaarselektor 405 zugeleitet.
Die Bits I2n und I1n werden
dem Trelliscodierer 404 zugeleitet. Ein Schaltungsaufbau, der
den Trelliscode implementiert, der als veranschaulichendes Beispiel
in dieser Ausführungsform verwendet
wird, ist in 6 gezeigt, wobei jeder mit "2T" bezeichnete Kasten
ein Verzögerungselement ist,
das eine Verzögerung
von 2T Sekunden erzeugt, und wobei jedes "+" ein
Nur-ODER-Gatter
bezeichnet.
-
Die
drei Ausgabebits vom Trelliscodierer 404 – die Bits
X2n, X1n und X0n – werden
dem 2D-Teilmengenpaarselektor 405 zugeleitet. Der 2D-Teilmengenpaarselektor 405 wandelt
diese Bits sowie das uncodierte Bit X3n in
weitere vier Bits Y1n+1, Y0n+1,
Y1n und Y0n um.
Die Tabelle von 3 zeigt die Details dieser Umwandlung.
Konzeptionell werden die drei Bits X2n,
X1n und X0n dafür verwendet,
eine der acht 4D-Teilmengen der 4D- Konstellation zu identifizieren. Das
uncodierte Bit X3n wird dafür verwendet,
eines der beiden 2D-Teilmengenpaare der identifizierten 4D-Teilmenge
zu identifizieren. Der Wert der Bitstruktur aus Y1n+1 Y0n+1 Y1n Y0n, das Ausgabesignal des 2D-Teilmengenpaarselektors 405,
stellt das auf diese Weise identifizierte 2D-Teilmengenpaar dar.
Insbesondere sind die Bitstrukturen aus Y1n Y0n, die den Teilmengen a, b, c und d entsprechen, "00", "11", "10" bzw. "01", und das gleiche
noch einmal für Y1n+1 Y0n+1.
-
Wenn
beispielsweise – unter
Bezug auf 3 – die Werte der Bits X2n X1n X0n "010" sind, dann ist die
4D-Teilmenge 2 diejenige,
die identifiziert wird. Wenn zu diesem Zeitpunkt der Wert von X3n "1" ist, so haben die
Ausgabebits Y1n+1 Y0n+1 Werte
von "11", wodurch die 2D-Teilmenge b identifiziert
wird, und die Ausgabebits Y1n Y0n haben Werte von "00", wodurch
die 2D-Teilmenge a identifiziert wird. Das 4D-Symbol, das letztendlich
zu senden ist, umfasst somit einen 2D-Signalpunkt aus der Teilmenge
a und einen 2D-Signalpunkt aus der Teilmenge b.
-
Die
konkreten 2D-Signalpunkte jener Teilmengen werden durch den Code
der zweiten Ebene in seiner durch den Codierer 101 der
zweiten Ebene implementierten Form ausgewählt. Für jeden von k aufeinanderfolgenden
2D-Zeichengabeintervallen (zur
Veranschaulichung k = 12) wird auf der Leitung 407 ein
Eingangsbit an den Einzelparitätsprüfcodierer 4022 geleitet,
und ein Eingangsbit wird auf der Leitung 408 an den Einzelparitätsprüfcodierer 4024 geleitet,
die beide zusammen den Doppelparitätsprüfcodierer 101 bilden.
Diese Bits erscheinen unverändert
als Ausgabebits Y3n bzw. Y2n des
Codierers der zweiten Ebene. wenn wir das obige Beispiel fortführen, werden
diese Bits dafür
verwendet, einen der vier 2D-Signalpunkte der identifizierten Teilmenge
a für das
n-te Zeichengabeintervall auszuwählen
und einen der vier 2D-Signalpunkte der identifizierten Teilmenge b
für das
(n + 1)-te Zeichengabeintervall auszuwählen. Im nächstfolgenden, d. h. dem (k
+ 1)-ten, Zeichengabeintervall erhalten die Bits Y3n und Y2n ihre Werte von den Codierern 4022 bzw. 4024. Insbesondere
ist der Wert des Bits Y3n (Y2n)
der gerade Paritätswert
der zwölf
vorherigen Bits auf Leitung 407 (408). Weil den
Codierern 4022 und 4024 über (k + 1) Zeichengabeintervalle
nur k Bits zugeleitet werden, beträgt des Weiteren die durchschnittliche
Zahl an Eingangsbits je Zeichengabeintervall, die über die
Leitung 407 bzw. die Leitung 408 geleitet werden,
k/(k + 1), was in diesem Beispiel, wie in 4 gezeigt,
12/13 ist. Die gleichen Operationen werden dann durch den Doppelparitätsprüfcodierer 101 für die nächste Gruppe
von (k + 1) Intervallen ausgeführt,
und so weiter.
-
Der
2D-16-QAM-Konstellationsmapper 105 verwendet die Bits,
die durch den Codierer der zweiten Ebene und den Codierer der ersten
Ebene zugeführt
werden, zur Ausgabe von Darstellungen (beispielsweise x- und y-Koordinaten)
der beiden konstituenten 2D-Signalpunkte des ausgewählten zu
sendenden 4D-Symbols, wobei der Signalpunkt für das n-te Zeichengabeintervall
Pn ist. Insbesondere wird der Konstellationsmapper 105 durch
das Element 401 verstärkt,
das schematisch als ein Schalter gezeigt ist. Während des Zeichengabeintervalls
n speist das Element 401 die Eingangsbits Y1n Y0n, die durch den 2D-Teilmengenpaarselektor 405 bestimmt
wurden, über
die Leitung 4014 ein, und der Codierer der zweiten Ebene
führt die
Bits Y3n und Y2n zu,
wie oben beschrieben. Während
des Zeichengabeintervalls n + 1 speist das Element 401 die
Eingangsbits Y1n+1 Y0n+1 über die
Leitung 4012 ein, und der Codierer der zweiten Ebene führt die
Bits Y3n+1 und Y2n+1 zu.
Somit werden dem Konstellationsmapper 406 über die
beiden Zeichengabeintervalle – das
n-te und das (n + 1)-te – insgesamt
acht Bits zugeführt
: Y3n+1, Y2n+1, Y3n und Y2n von dem
Code der zweiten Ebene und Y1n+1, Y0n+1, Y1n und Y0n von dem Code der ersten Ebene. Die Werte
der Bits Y3n+1 Y2n+1 Y1n+1 Y0n+1 werden dafür verwendet,
den ersten der konstituenten 2D-Signalpunkte
des ausgewählten
4D-Symbols, Pn, auszuwählen. Die Werte der Bits Y3n Y2n Y1n Y0n werden dafür verwendet, den zweiten der
konstituenten 2D-Signalpunkte von Pn auszuwählen. Wenn
beispielsweise die Bitstruktur für
Y3n Y2n Y1n Y0n oder für Y3n+1 Y2n+1 Y1n+1 Y0n+1 "0011" ist, so wird der 2D-Signalpunkt
in der oberen rechten Ecke des ersten Quadranten der Konstellation
von 2 ausgewählt.
-
Ein
TCM-Regime weist, so kann man sagen, einen gewissen Grad an Zeitdiversity
auf, deren Wert gleich der Mindestanzahl von Signalpunktpositionen in
jeweils zwei gültigen
Folgen von Signalpunkten ist, an denen die Punkte unterschiedlich
sind. Beispielsweise weist ein Regime eine Zeitdiversity von "2" auf, wenn eine beliebige gültige Folge
von Signalpunkten sich von jeder anderen gültigen Folge in wenigstens 2
Signalpunktpositionen unterscheidet. Infolge dieser Zeitdiversity
ist es immer möglich,
solange höchstens ein
Signalpunkt einer Folge verloren geht – vielleicht wegen Schwundes
in einer Mobilfunkumgebung -, die übertragenen Informationen wiederherzustellen und
dadurch die Gesamtfehlerleistung zu verbessern, wie weiter unten
beispielhaft veranschaulicht wird.
-
Der
in der vorliegenden veranschaulichenden Ausführungsform verwendete Code
der ersten Ebene stellt nicht in sich oder aus sich selbst heraus den
Gesamtcode mit der Zeitdiversity M > 1 bereit. Einerseits kann man von diesem
Code der ersten Ebene sagen, dass sich jede gültige Folge von Signalpunktteilmengen
von jeder anderen gültigen
Folge von Signalpunktteilmengen in wenigstens zwei Teilmengenpositionen
unterscheidet. Wenn jede Teilmenge der Konstellation aus nur einem
einzigen Signalpunkt bestände,
würde der
Gesamtcode somit eine Zeitdiversity von 2 aufweisen, weil jede gültige Folge
von Teilmengen nur einer einzigen gültigen Folge von Signalpunkten
entspricht.
-
Wie
oben angesprochen, ergibt die Verwendung des Codes der ersten Ebene
und des speziellen Codes der zweiten Ebene einen Gesamtcode, der
die gewünschte
Zeitdiversity von M > 1
aufweist und bei dem der Mindestabstand des Gesamtcodes nicht infolge
des Vorhandenseins des Codes der zweiten Ebene erhöht wird.
-
Hier
enthält
jedoch jede Signalpunktteilmenge vier Signalpunkte, und nicht nur
einen einzigen. Infolge dessen reicht der Code der ersten Ebene nicht
aus, um zu gewährleisten,
dass der Gesamtcode eine Zeitdiversity von 2 aufweist, selbst wenn
er gewährleistet,
dass sich jede gültige
Folge von Signalpunktteilmengen von jeder anderen gültigen Folge von
Signalpunktteilmengen in wenigstens zwei Teilmengenpositionen unterscheidet.
Das liegt daran, dass – wenn
keine Schritte unternommen werden, um es auszuschließen – sich zwei
Folgen von Signalpunkten, die aus derselben Folge von Signalpunktteilmengen
ausgewählt
wurden, in lediglich einer einzigen Signalpunktposition unterscheiden
können.
-
Mir
ist aufgefallen, dass durch das Auswählen bestimmter Codes der zweiten
Ebene der Gesamtcode so konfiguriert werden kann, dass er den gewünschten
Grad an Zeitdiversity aufweist. Beispielsweise, wie weiter unten
noch eingehend beschrieben wird, gewährleistet der Doppelparitätsprüfcode in
der oben beschriebenen veranschaulichenden Ausführungsform, dass der Gesamtcode
eine Zeitdiversity von 2 aufweist, sofern – wie es ja auch der Fall ist – der Code
der ersten Ebene dergestalt ist, dass sich jede gültige Folge
von Signalpunktteilmengen von jeder anderen gültigen Folge von Signalpunktteilmengen
in wenigstens 2 Teilmengenpositionen unterscheidet. Insbesondere
ist der Doppelparitätsprüfcode dergestalt,
dass, wenn sich zwei Folgen von k (= 12) Signalpunkten nur in einer
einzigen Signalpunktposition voneinander unterscheiden, sich die jeder
Folge angehängten
Paritätsbits
notwendigerweise so unterscheiden, dass sich die resultierenden
Folgen von k + 1 (= 13) Signalpunkten in zwei Signalpunktposition
voneinander unterscheiden. Vorteilhafterweise ist der Preis für das Erreichen
dieser Erhöhung
der Zeitdiversity recht gering: ein Verlust an Bandbreiteneffizienz
von 2/(k + 1) Bits/Signalpunkt und ein nur mäßiger Anstieg der Komplexität des Decodierers
im Vergleich zu einem Einebenen-TCM-Regimes, welches das gleiche
ist wie das in 4 gezeigte, aber ohne den Code
der zweiten Ebene.
-
Das
Konzept der Zeitdiversity lässt
sich noch besser anhand von 5 verstehen,
wo ein einfaches Beispiel für
k = 2 veranschaulicht ist. Dabei wird die Bezeichnung xi verwendet,
um xi als den Signalpunkt innerhalb der
Signalpunktteilmenge x zu bezeichnen, deren Bitstruktur Y3n Y2n gleich dem
dezimalen Äquivalent
von i ist. 5 zeigt eine Gruppe aus Folgen
mit drei Signalpunkten (was zwei Datenbits und einem Paritätsbit entspricht),
die einer bestimmten einzelnen Folge von Teilmengen a, b und c entnommen
sind, wobei diese Folge abc ist. Jede Teilmenge hat vier Signalpunkte,
d. h. i = 0, 1, 2, 3. Es ist zu beachten, dass sich jede Folge von
Signalpunkten von jeder anderen Folge in wenigstens 2 Signalpunktpositionen
unterscheidet. Nehmen wir zum Beispiel an, dass die Folge a2b1c3 gesendet
worden wäre,
dass aber infolge beispielsweise eines Tiefschwundes der mittlere
Signalpunkt b1 verloren gegangen ist und
nur a2 c3 vom Empfänger empfangen wird.
Unter der Annahme, dass die korrekte Teilmengenfolge abc bereits
durch den Decodierungsprozess für
den Code der ersten Ebene korrekt bestimmt wurde, wie unten beschrieben,
kann man dann verifizieren, dass der Empfänger, dem die gültigen Signalpunktfolgen
für diese
Teilmengenfolge (wie in 5 gezeigt) bekannt sind, eindeutig
bestimmen kann, dass der verloren gegangene Signalpunkt b1 gewesen sein muss, sofern die Folge mit
a2 beginnt und mit c3 endet.
Wenn sich allerdings auch nur ein einziges Paar von Drei-Signalpunkt-Folgen
von einem anderen in nur einer einzigen Signalpunktposition unterschiede,
so gäbe
es keine derartige Garantie, und man würde sagen, dass ein Code mit
einer solchen Gruppe gültiger
Sequenzen eine Zeitdiversity von M = 1 hat.
-
7 zeigt
eine Ausführungsform
des Decodierers 153, der zur Veranschaulichung ein Zweistufendecodierer
ist. Er besteht aus einem Viterbi-Decodierer 1531 der ersten
Stufe mit acht Zuständen
zum Decodieren jener Bits, die mit dem 4D-Trelliscode der ersten
Ebene codiert wurden, und einem Viterbi-Decodierer 1533 der
zweiten Stufe mit vier Zuständen zum
Decodieren jener Bits, die mit dem Doppelparitätsprüfcode der zweiten Ebene codiert
wurden.
-
Konkret
gesagt, bildet der Decodierer 1531 der ersten Stufe in
einschlägig
bekannter Weise für jeden
empfangenen kanalgestörten
Signalpunkt P ~n eine verzögerte Entscheidung zu den Bits
Y1n-D und Y0n-D hinsichtlich
der Identität
der Signalpunktteilmenge, der ein früher empfangener Signalpunkt
entnommen wurde, wobei D die Decodierungsverzögerung ist, zu der innerhalb P ~n-D des Decodierers 1531 kommt.
Der Decodierer 1533 der zweiten Stufe wird dann dafür verwendet,
weiter über
die verbleibenden Bits Ŷ3n-D und Ŷ2n-D zu entscheiden. Insbesondere empfängt der
Decodierer 1533 die Signalpunktteilmengenschätzung Y1n-D Y0n-D des Decodierers 1531. Gleichzeitig
empfängt
der Decodierer 1533 den verzögerten kanalgestörten Signalpunkt P ~n-D, der durch das Verzögerungselement 1532 bereitgestellt
wird. Unter der Voraussetzung einer Identifikation der Signalpunktteilmenge
kann der Decodierer 1533 dann den empfangenen Signalpunkt
verarbeiten, um zu bestimmen, welcher Signalpunkt innerhalb dieser Teilmenge
gesendet wurde, und somit die Bits Y3n-D und
Y2n-D wiederherzustellen.
-
Die
Funktionsweise des Viterbi-Decodierers 1533 erklärt man am
besten damit, dass man versteht, dass der Doppelparitätsprüfcode als
ein Vierzustandscodierer mit vier Zuständen dargestellt werden kann,
nämlich "00", "01", "10" und "11", die der Einfachheit
halber als "0" bis "3" bezeichnet werden. Der aktuelle Zustand
widerspiegelt die aktuelle Doppelparität, wenn jedes Eingangsbit einer
Folge aus k Eingangsbits für
jeden Codierer (Werte für
Bits Y3n Y2n) empfangen
wird. Das heißt,
der aktuelle Zustand widerspiegelt (a) die Parität der Eingangsbits, die zuvor
durch den Codierer 4022 empfangen wurden (Werte der Y3n-Bits), und (b) die Parität der Eingangsbits,
die zuvor durch den Codierer 4024 empfangen wurden (Werte
der Y2-Bits). Beispielsweise bedeutet der Zustand "01", dass die Parität der Eingangsbits,
die zuvor durch den Codierer 4022 zu jenem Zeitpunkt empfangen
wurden, gleich "0" ist und dass die
Parität
der Eingangsbits, die zuvor durch den Codierer 4024 zu
jenem Zeitpunkt empfangen wurden, gleich "1" ist.
-
Wenn
Eingangsbits, die anderen Zeichengabeintervallen als jedem (k +
1)-ten Zeichengabeintervall zugeordnet sind, empfangen werden, so
stellen die Codierer sie als Werte für Y3 und Y2 bereit, und gehen
zu einem nächsten
Zustand über.
Wenn beispielsweise der aktuelle Zustand des Codierers 101 "1" ist und die empfangenen Eingangsbits "10" sind, so schreitet
der Codierer zu einem nächsten
Zustand "3" voran und stellt
Werte von "1" und "0" für
die Bits Y3 bzw. Y2 bereit. Beim (k + 1)-ten Zeichengabeintervall
wird dann die aktuelle Doppelparität, wie sie durch den aktuellen
Zustand des Codierers angezeigt ist (äußerst linke Spalte in 8),
als ein Ausgabesignal bereitgestellt, wodurch der Codierer zum Zustand
0 zurückkehrt.
Der Prozess wiederholt sich dann für die nächsten (k + 1) Zeichengabeintervalle.
-
Die
Darstellung des in 8 gezeigten Doppelparitätsprüfcodes kann
alternativ als ein Trellisdiagramm gezeigt werden – genauer
gesagt, das Trellisdiagramm von 10. Die
Tatsache, dass jeder aktuelle Zustand durch einen Zweig des Trellisdiagramms
mit jedem anderen Zustand verbunden ist, widerspiegelt die Tatsache,
dass der Doppelparitätsprüfcode jederzeit
von jedem seiner vier Zustände
zu jedem anderen seiner vier Zustände übergehen kann. Jeder Zweig
ist mit dem jeweiligen Paar aus Werten der Bits Y3n Y2n bezeichnet, das dem Übergang zwischen dem aktuellen
und dem nächsten
Zustand zugeordnet ist, wie in 8 gezeigt.
Jeder Zweig hängt
somit auch mit dem Signalpunkt zusammen, der in Reaktion auf jene
Bit-Werte in dem Sender ausgewählt
wurde. Der Gesamtcode, der sich über
(k + 1) Zeichengabeintervalle erstreckt, kann somit durch den Trellis
von 11 dargestellt werden. Der Code beginnt immer
im Zustand 0, wie oben angesprochen, durchwandert (k – 1) Verkettungen
des Trellis von 10 und endet immer im Zustand
0, wie ebenfalls oben angesprochen.
-
Mit
einer solchen Trellis-Darstellung kann der Decodierer 1533 vorteilhafterweise
als ein herkömmlicher
Viterbi-Decodierer implementiert werden. Wie in 9 gezeigt,
wird, wenn jeder Signalpunkt P ~n-D empfangen
wird, sein Abstand mj zu dem j-ten (j =
0, 1, 2, 3) der Signalpunkte der Teilmenge, die durch den Decodierer 1531 identifiziert
wurde, gemessen. Der Abstand mj dient als
der Zweig-Parameter für
die vier Zweige des Trellisdiagramms, die zu dem j-ten Signalpunkt
gehören.
Die Zweig-Maße werden
zu den Weg-Maßen, die
für jeden
Zustand akkumuliert wurden, in herkömmlicher Weise addiert. Der
Weg mit dem kleinsten Weg-Maß,
der in jeden Zustand hineinführt,
wird auf jeder Stufe der Decodierung behalten, und die anderen werden
verworfen. Nachdem der (k + 1)-te Signalpunkt empfangen wurde, werden
die gesendeten Signalpunkte der identifizierten Teilmengen bestimmt,
indem der gespeicherte Weg, der in den Endzustand 0 hineinführt, zurückverfolgt
wird.
-
Dass
dieser Decodierungsprozess es dem Decodierer ermöglicht, sich die Tatsache zunutze
zu machen, dass der Code eine Zeitdiversity von M = 2 hat, lässt sich
folgendermaßen
verstehen: Nehmen wir an, an einer der Signalpunktpositionen gibt
es einen Tiefschwund. Die Zweig-Maße für alle Zweige an jenem Punkt
im Trellis sind alle die gleichen. (In einer QAM-Umgebung bewirkt
die Tatsache, dass der Träger
Schwund aufweist, praktisch, dass der Empfänger alle Signalpunkte als
am Ursprung befindlich ansieht. In einer PSK-Umgebung ist der geschwundene Signalpunkt,
da er am Ursprung ist, gleich weit von allen Signalpunkten entfernt,
da diese auf einem Kreis liegen.) Die übrig bleibenden Wege in jeden
der vier Decodiererzustände
an dem Punkt im Trellis unmittelbar nach dem Schwund gehen alle
aus dem bestimmten Zustand hervor, der das kleinste akkumulierte
Weg-Maß vor
dem Schwund aufwies, und sie haben alle das gleiche akkumulierte
Weg-Maß,
da die Zweig-Maße alle
die gleichen sind. Somit wird jede der vier möglichen Bitstrukturen, die
durch den geschwundenen Signalpunkt dargestellt werden, in einem
der vier übrig
bleibenden Wege behalten. Überdies
kann gezeigt werden, dass, weil der Code eine Zeitdiversity von
M = 2 hat, sich dann die gesendete Folge von Signalpunkten von allen
anderen gültigen
Folgen in wenigstens einer Signalpunktposition unterscheidet, wenn
man in dem Trellis in Vorwärtsrichtung
direkt nach dem Schwund schaut. Man kann daraufhin entlang des letztlich übrig bleibenden
Weges, beim Endzustand 0 beginnend, zu einem bestimmten der vier
Zustände,
der unmittelbar auf den Schwund folgt, und von dort zurück zum Startzustand 0
des Trellis eine Rückverfolgung
vornehmen. Der Decodierer gibt somit seine beste Schätzung der
gesamten gesendeten Sequenz, einschließlich des geschwundenen Signals,
ab.
-
Das
oben Dargelegte veranschaulicht die Erfindung lediglich. Es können beispielsweise
auch andere Codes, Bitraten, Konstellationen und Zerlegungen verwendet
werden. Insbesondere erfordert der Gebrauch einer 16-QAM-Konstellation
eine ziemlich genaue Schätzung
der Stärke
und Trägerphase
des empfangenen Signals. So kann beispielsweise der Konstellationsmapper 105 aus 4 die 16-PSK-Konstellation
von 12 anstelle der 16-QAM-Konstellation von 2 verwenden,
wobei alle sonstigen Aspekte der Codierung so sind, wie bereits
beschrieben. Des Weiteren kann der Punkte-Strom der 16-PSK-Konstellation
in einer anderen Form gemäß einer
herkömmlichen
16-DPSK-Modulation gesendet werden.
-
Die
Verschachtelungsvorrichtung 106 bewirkt praktisch eine
breite zeitliche Trennung über den
Kanal zwischen aufeinanderfolgenden Signalpunkten am Ausgang des
Konstellationsmappers 105. Die Verschachtelungsvorrichtung 106 wird
an den Code angepasst, was bedeutet, wie einschlägig bekannt ist, dass im möglichen
Umfang Signalpunkte an Positionen, welche die Zeitdiversity des
Codes bewirken, so weit wie möglich
auseinander liegen sollten, wenn sie durch den Kanal wandern. Die
Verschachtelungsvorrichtung 106 arbeitet gemäß den allgemeinen
Lehren meines US-Patentes Nr. 5,056,112 mit dem Titel "Interleaving in Coded
Modulation for Mobile Radio" und
in Lee-Fang Wei, "Coded M-DPSK
with Built-In Time Diversity for Fading Channels", IEEE Trans. Inform. Theory, Band IT-39,
Seiten 1820–1839,
Nov. 1993. Insbesondere kann man jede Gruppe aus 260 Signalpunkten
am Ausgang des Konstellationsmappers 105 von 0 bis 259
nummerieren lassen. Innerhalb der Verschachtelungsvorrichtung 106 werden
diese Signalpunkte in eine Verschachtelungsmatrix eingelesen, die
gemäß dem Regime
von 13 20 Zeilen und 13 Spalten umfasst. Das heißt, der
0-te Signalpunkt wird in die Stelle in Zeile 0, Spalte 0 eingelesen;
der 1. Signalpunkt wird in die Stelle in Zeile 0, Spalte 3 eingelesen;
und so weiter. Nachdem alle 260 Signalpunkte auf diese Weise in
die Verschachtelungsmatrix eingelesen wurden, werden sie Spalte
für Spalte
von oben nach unten in jeder Spalte ausgelesen. Die Ausgabefolge der
Verschachtelungsvorrichtung umfasst somit die Signalpunkte mit den
Nummern 0, 130, 26, ..., 247, 5, 135, usw.
-
Des
Weiteren leuchtet dem Fachmann ein, dass die im vorliegenden Text
enthaltenen Blockschaubilder konzeptionelle Ansichten von veranschaulichenden
Schaltungsaufbauten darstellen, in denen die Prinzipien der Erfindung
verkörpert
sind. Die Funktionen der verschiedenen Elemente, die in den Figuren
gezeigt sind, würden
bei bevorzugten Ausführungsformen
durch einen oder mehrere programmierte Prozessoren, digitale Signalverarbeitungschips
(DSP-Chips) oder dergleichen anstatt durch einzelne Hardware-Elemente
ausgeführt
werden.
-
Es
ist beabsichtigt, dass in den Ansprüchen der vorliegenden Schrift
jedes Element, das als ein Mittel zum Durchführen einer bestimmten Funktion zum
Ausdruck gebracht wurde, jede Art der Durchführung der betreffenden Funktion
umfasst, einschließlich
beispielsweise a) eine Kombination von Schaltkreiselementen, welche
die betreffende Funktion ausführt,
oder b) Software in jeglicher Form (worunter folglich auch Firmware,
Mikrocode oder dergleichen fällt),
kombiniert mit geeigneten Schaltkreisen zum Ausführen dieser Software zur Durchführung der
Funktion. Die durch diese Ansprüche
definierte Erfindung liegt in der Tatsache, dass die Funktionen, die
von den verschiedenen angeführten
Mitteln bereitgestellt werden, in der von den Ansprüchen verlangten
Weise kombiniert und zusammengebracht werden. Der Anmelder erachtet
darum jegliche Mittel, die diese Funktionen bereitstellen können, als
jenen äquivalent,
die in der vorliegenden Schrift gezeigt sind.