PatentDe  


Dokumentenidentifikation DE69831783T2 22.06.2006
EP-Veröffentlichungsnummer 0000922351
Titel MEHRSTUFIGE CODIERUNG MIT ZEITDIVERSITY
Anmelder Lucent Technologies Inc., Murray Hill, N.J., US
Erfinder WEI, Lee-Fang, Lincroft, US
Vertreter derzeit kein Vertreter bestellt
DE-Aktenzeichen 69831783
Vertragsstaaten DE, FI, FR, GB, SE
Sprache des Dokument EN
EP-Anmeldetag 11.06.1998
EP-Aktenzeichen 989289046
WO-Anmeldetag 11.06.1998
PCT-Aktenzeichen PCT/US98/11615
WO-Veröffentlichungsnummer 0098057473
WO-Veröffentlichungsdatum 17.12.1998
EP-Offenlegungsdatum 16.06.1999
EP date of grant 05.10.2005
Veröffentlichungstag im Patentblatt 22.06.2006
IPC-Hauptklasse H04L 27/34(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H03M 13/12(2000.01)A, L, I, 20051017, B, H, EP   H04L 1/00(2006.01)A, L, I, 20051017, B, H, EP   H03M 13/09(2006.01)A, L, I, 20051017, B, H, EP   H03M 13/11(2006.01)A, L, I, 20051017, B, H, EP   H03M 13/25(2006.01)A, L, I, 20051017, B, H, EP   H03M 13/41(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
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 dergestalt, 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 beschreiben 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.


Anspruch[de]
  1. Verfahren zur Verwendung in einer Anordnung (10) mit mehrebenen-codierter Modulation, mit den folgenden Schritten:

    Codieren eines ersten Teils eines Stroms von Eingangsdaten unter Verwendung eines Codes der ersten Ebene in einem Codierer (103) der ersten Ebene,

    Codieren eines zweiten Teils eines Stroms von Eingangsdaten unter Verwendung eines Codes der zweiten Ebene in einem Codierer (101) der zweiten Ebene,

    Erzeugen (104, 105) von Signalpunkten, die als Reaktion auf den codierten ersten und zweiten Teil aus einer vorbestimmten Zeichengabekonstellation ausgewählt werden, und Identifizieren der ersten Codesignalpunktteilmengen (102, 105) als Reaktion auf den codierten ersten Teil und

    Anlegen (106, 107) der Signalpunkte an einen Kanal (109),

    dadurch gekennzeichnet, daß der in dem Codierer der ersten Ebene erzeugte Code der ersten Ebene dergestalt ist, daß jedes verschiedene Paar identifizierter Sequenzen von Signalpunktteilmengen in mindestens M Teilmengenpositionen unterschiedlich ist, wobei M > 1 ein gewünschter Grad an Zeit-Diversity (103, 105) ist, und

    der in dem Codierer der zweiten Ebene erzeugte Code der zweiten Ebene dergestalt ist, daß jedes verschiedene Paar gültiger Sequenzen von Signalpunkten, die derselben Signalsequenz entnommen werden, in mindestens M Signalpunktpositionen unterschiedlich ist, wodurch ein Gesamt-Mehrebenencode des gewüschten Grades an Zeit-Diversity bereitgestellt wird und dadurch keine Zunahme der minimalen Distanz zwischen verschiedenen der Sequenzen von Signalpunkten des Gesamt-Mehrebenencodes (101, 105) entsteht,

    wobei der Codierer der zweiten Ebene den Code der zweiten Ebene erzeugt, der ein Paritätsprüfcode ist.
  2. Verfahren nach Anspruch 1, wobei der Code der ersten Ebene mehr als ein Ausgangsbit pro erzeugtem Signalpunkt (103) bereitstellt.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei der Code der ersten Ebene ein N-dimensionaler Trelliscode mit N > 2 (103) ist.
  4. Verfahren nach Anspruch 3 mit N = 4 (103) und wobei der zweite Code ein Doppelparitätsprüfcode (101) ist.
  5. Verfahren nach einem der Ansprüche 1, 2 oder 3, wobei der gewünschte Grad an Zeit-Diversity M = 2 (101, 103, 105) beträgt.
Es folgen 8 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com