-
Die
Erfindung betrifft das Kombinieren von Codierung und Modulation,
die zum Bearbeiten eines digitalen Signals zur Hochfrequenzübertragung
in einem verrauschten Kanal verwendet werden.
-
Beim
Versuch, die Kommunikationsgeschwindigkeit von digitalen Funksystemen
zu erhöhen,
wurden binäre
Signale durch mehrwertige Signale in Verbindung mit einem Hochpegel-Modulationsschema
ersetzt. Hier wird 16-QAM (16-Pegel-Quadraturamplitudenmodulation)
als ein Beispiel für
eine Hochpegel-Modulation betrachtet. Mehrwertige Signale erfordern,
dass der Signal-Codierer und – Decodierer
spezielle Eigenschaften besitzen. 1 stellt
eine mehrwertige Codier- und Decodier-Anordnung dar, die aus dem
Dokument "H. Imai, S.
Hirakawa: A New Multilevel Coding Method Using Error-Correcting
Codes, IEEE Transactions on Information Theory, Band IT-23, Nr.
3, 1977" bekannt
ist. Der Codierer 100 besteht aus einer seriellen/parallelen
Umsetzungsschaltung 101, M parallelen binären Codierern 102–105,
wobei M eine positive ganze Zahl ist, (hier M = 4), und einer Abbildungsschaltung 106.
Das Ausgabesignal des Codierers 100 läuft durch einen Kanal 107 und
erreicht einen Decodierer 108, der eine Demultiplex-Decodier-Schaltung 109 enthält, welche
M parallele Signalschätzungen
erzeugt, und eine Auswahlschaltung 110, welche die ursprünglichen
Informationen aus den Schätzungen
an ihrem Eingang rekonstruiert. Modulation und Demodulation sind
in dem Kanalteil 107 von 1 enthalten.
-
Die
serielle/parallele Umsetzungsschaltung 101 setzt einen
Strom von binären
Symbolen in M Komponentenströme
um, die verschiedene Raten aufweisen können. Jeder Komponentenstrom
wird in seinen eigenen binären
Codierer 102–105 eingespeist.
Die generische Definition eines mehrwertigen Codierers stellt sehr
wenige spezifische Anforderungen an die parallelen binären Codierer 102–105,
obwohl sie in vielen Fällen
so ausgewählt
werden, dass sie einen codierten Datenstrom mit gleicher Rate erzeugen.
Die Abbildungsschaltung 106 liest Bits aus der Ausgabe
jedes binären
Codierers und bildet diese Bits in ein entsprechendes mehrwertiges
Signal ab, das einen der 2M zulässigen Pegel
oder Zustände
aufweist. Insbesondere im Fall von QRM-Modulation von 2M Ordnung
muss M geradzahlig sein, und die Ausgabezustände der Abbildungsschaltung 106 müssen den
zulässigen
Phasen- und Amplitudenwertkombinationen eines oszillierenden Signals
entsprechen.
-
3 stellt
einen so genannten Mehrstufen-Decodierer 300 dar, der als
der Decodierer 108 in der Anordnung von 1 verwendet
werden kann. Zu jedem Abtastmoment wird angenommen, dass sich das
Eingangssignal in Leitung 301 in einem der 2M zulässigen Zustände befindet.
Der erste metrische Block 302 erzeugt einen metrischen
oder einen Wahrscheinlichkeitswert, der angibt, ob das niedrigstwertige
Bit, das den Zustand des Eingangssignals beschreibt, 0 oder 1 sein
soll. Eine Entscheidung über
den entsprechenden decodierten Bitwert wird in dem ersten Decodierer 306 getroffen.
Auf jeder weiteren horizontalen Ebene des Mehrstufen-Decodierers
trifft einer der Decodierer 307–309 eine weitere
Entscheidung, und jeder der Codierer 310–312 stellt
die entsprechende Entscheidung in erneut codierter Form als eine
zusätzliche
Eingabe für
den metrischen Block 303–305 der restlichen
Ebenen bereit. Die Verzögerungselemente 314–319 sorgen
für die wechselseitige
zeitliche Koordinierung der Signalteile vor und nach dem Decodieren,
so dass, nachdem die letzte Entscheidung über den decodierten Bitwert
im Block 309 getroffen worden ist, der Multiplexer 320 den ursprünglichen
Bitstrom aus den Ausgaben der Verzögerungselemente 317–319 und
dem Decodierer 309 auf eine Weise konstruieren kann, die
reziprok zu der Funktion der seriellen/parallelen Umsetzungsschaltung 101 in
dem Sender ist (siehe 1).
-
Wenn
die Rechenkapazität
der empfangenden Vorrichtung hoch genug ist in Bezug auf die Rate
des eingehenden empfangenen Signals, könnte eine Rückkopplungsverbindung vom Decodierer 309 zu
dem ersten metrischen Block 302 über einen zusätzlichen
Codierer angeordnet werden. Die sich daraus ergebende Vorrichtung
wäre zu
einem so genannten wiederholten Decodieren fähig, wobei die erste Runde
von Entscheidungen in den Decodiererblöcken 306 bis 309 als
Eingabe für
eine zweite (wiederholte) Runde dient und so weiter. Je mehr Wiederholungen
auf jedem Signal, um so geringer die Wahrscheinlichkeit einer fehlerhaften Decodierungsentscheidung.
-
Ein
Problem einer herkömmlichen
MLC-MSD-Anordnung (Multi-Level
Coding – Multi-Stage
Decoding/mehrwertige Codierung – mehrstufige
Decodierung) ist ihre Unflexibilität in Bezug auf veränderliche
Codierungsraten. Ein Funkkanal ist anfällig für schwankendes Rauschen und
Interferenz, so dass verschiedene Codierungsraten zu verschiedenen
Zeitpunkten erforderlich sind. Wenn die Funkkapazität (in Bezug
auf Frequenz und Zeit), die zu einer gewissen Funkverbindung zugewiesen
ist, fest ist, und Interferenzbedingungen sich plötzlich verschlechtern,
kann es notwendig sein, die Codierungsmenge zu erhöhen, und
die effektive Datenrate entsprechend zu verringern, um überhaupt
einige Daten zu der empfangenden Station durchzubringen. Desgleichen,
wenn die Interferenz nachlässt,
kann die sendende Vorrichtung die Gelegenheit wahrnehmen, die Codierung
zu reduzieren, wodurch die effektive Datenrate erhöht wird.
Dieser Ansatz ist natürlich
nur auf Nicht-Echtzeit-Verbindungen
anwendbar, (so genannte nicht-transparente Dienste), für die eine
feste Datenrate nicht erforderlich ist. Allerdings kann das Funksystem
es gestatten, dass Funkkapazitäts-Zuweisungen von
separaten Verbindungen sich ändern,
wodurch eine Echtzeit-Verbindung (transparente Datendienste) ihre feste
Datenrate jederzeit aufrechterhalten und gleichzeitig Interferenz
mit einer variable Codierungsrate zusammen mit einer variablen Menge
von reservierter Funkkapazität
bekämpfen
kann. In jedem Fall kann eine maximale Codierungsrate nahe 1, (genau
1 bedeutet, dass durch die Codierung keine Redundanz hinzugefügt wird),
und eine Codierungsmindestrate von 0,1, (was bedeutet, dass zehn
codierte Bits pro jedem Datenbit gesendet werden), und die Möglichkeit,
je nach Bedarf mehr oder weniger frei zwischen diesen zu wählen, erforderlich
sein.
-
Ein
herkömmlicher
Ansatz, eine Auswahl von Codierungsraten zu ermöglichen, ist aus der Veröffentlichung "EDGE Feasibility
Studies, Work Item 184: Improved Data Rates through Optimised Modulation;
ETSI STC SMG2, München,
Deutschland, 12.–16.
Mai 1997" bekannt.
Dieser Ansatz für
transparente Datendienste ist in 4a dargestellt,
wo Datenbits in Block 401 eingegeben werden, und codierte
Symbole aus Block 410 ausgegeben werden. Die Blöcke 401 bis 405 bilden
so genannte verkettete Codierer, wobei Block 401 die Datenbits
zuerst in vorläufige
Symbole abbildet, Block 401 an ihnen eine RS-(Reed-Solomon)
Codierung durchführt,
Block 403 die RS-codierten vorläufigen Symbole innerhalb einer
wählbaren
Verschachtelungslänge
N1 verschachtelt, und Block 404 das Ergebnis wieder in
Bits abbildet. Ein Festraten-Faltungscodierer 405 mit einer
Codierungsrate 1/3 fügt
zu dem Bitstrom Redundanz hinzu. Der Serien-Parallel-Umsetzer 406 sendet Gruppen
von vier aufeinander folgenden Bits parallel in Punktierungsblöcke 407a und 407b,
und danach führt eine
zusätzliche
Verschachtelungsvorrichtung 408 eine Bit-Verschachtelung über einen
Verschachtelungszeitraum von vier Datenübertragungsblöcken durch.
Weitere Serien-Parallel-Umsetzer 409a und 409b werden verwendet,
um die vier manipulierten parallelen Bitströme in eine Q-O-QAM-Abbildungsvorrichtung 410 einzuspeisen,
die gemäß einer
so genannten Gray-Abbildung arbeitet, um die Ausgabesymbole zu erzeugen. 4b stellt
einen entsprechenden Ansatz für
nicht-transparente Datendienste dar, wobei der RS-Codierer 402 durch
einen einfachen CRC-(Cyclic
Redundancy Check/zyklische Redundanzprüfung) Codierer 402' ersetzt wurde,
der dem Bitstrom zu vorgegebenen Intervallen, die als Datenübertragungsblöcke bezeichnet
werden, eine CRC-Prüfsumme
hinzufügt.
Der Zweck einer CRC-Prüfsumme
in jedem Datenübertragungsblock besteht
nicht darin, Fehler in den empfangenen Datenübertragungsblöcken zu
korrigieren, sondern sie zu erfassen, so dass die empfangende Vorrichtung
eine erneute Übertragung
eines fehlerhaften Datenübertragungsblocks
anfordern kann. Da die CRC-Berechnung
auf Bitebene stattfindet, können
die Umsetzungsblöcke 401 und 404 von 4a weggelassen
werden, und der Verschachtelungsvorrichtungs-Block 403' arbeitet an Bits
und nicht an vorläufigen
Symbolen, wie Block 403 in 4a.
-
Einer
der Nachteile der Anordnungen des bisherigen Stands der Technik
der 4a und 4b besteht
darin, dass wiederholtes Decodieren und mehrstufiges Decodieren
nicht als das Decodierverfahren verwendet werden können, was
die Leistung des Systems im Vergleich mit der theoretischen Optimalleistung
beeinträchtigt.
Ein weiterer Nachteil besteht darin, dass, um die ETSI-(European Telecommunications
Standards Institute) Standards für
Echtzeit-(transparente) Datendienste zu erfüllen, die verketteten Codes,
die in den Blöcken 402 und 405 verwendet
werden, ziemlich kompliziert sein müssen. Zusätzlich zur Implementierung
von sowohl transparenten als auch nicht-transparenten Datendiensten
sind wenigstens zwei alternative äußere Codierer (Blöcke 402 und 402') in dem Sender
mit den entsprechenden alternativen Decodierern in dem Empfänger erforderlich,
was die Strukturen ziemlich komplex macht.
-
Aus
einer Veröffentlichung
des bisherigen Stands der Technik von Divsalar, D. und Pollara,
F.: "Serial and
Hybrid Concatenated Codes with Applications", Intern. Symposium on Turbo Codes and
Related Topics, 3.–5.
September 1997, Brest, Frankreich, ist die Offenbarung verschiedener
Gesichtpunkte von trelliscodierter Modulation (TCM), Turbo-TCM und
die Verwendung von TCM in Kombination mit parallelem oder seriellem verkettetem
Codieren bekannt.
-
Aus
einer weiteren Veröffentlichung
des bisherigen Stands der Technik von Jung-Fu Cheng und anderen: "Complexity-reduced multilevel
coding with rate-compatible punctured convolutional codes", Global Telecommunications
Conference, 1993, einschließlich
einer Communications Theory Mini-Conference, Technical Program,
Conference Record, IEEE in Houston, Globecom '93, IEEE Houston, TX, USA, 29. Nov.–2. Dez. 1993
New York, NY, USA, IEEE, 29. November 1993 (29.11.1994), Seite 814–818, XP010109772,
ISBN: 0-7803-0917-0 ist die Offenbarung verschiedener Gesichtspunkte
der Anwendung von ratenkompatiblen punktierten Codes bekannt.
-
Vor
diesem Hintergrund versucht die vorliegende Erfindung, ein Verfahren
und eine Vorrichtung zum Codieren, Modulieren, Demodulieren und
Decodieren in einem Funksystem unter Verwendung von mehrwertigen
Signalen bei der Übertragung
bereitzustellen. Des Weiteren versucht die Erfindung, die erforderliche Hardware
einfach zu halten, obwohl variable Codierraten und Datendienste
vorhanden sind.
-
Dementsprechend
verwendet die Erfindung mehrwertige Codierung und mehrstufige Decodierung
mit verketten Hybridcodes als den Komponentencodes in dem Codierer.
-
Insbesondere
wird unter einem ersten Gesichtspunkt der Erfindung ein Verfahren
gemäß der Erfindung
bereitgestellt, welche durch die zitierten Merkmale gekennzeichnet
ist, die in dem kennzeichnenden Teil des selbstständigen Anspruchs
zitiert werden, der sich auf ein Verfahren bezieht.
-
Die
Erfindung betrifft auch eine sendende Vorrichtung, die durch die
Merkmale gekennzeichnet ist, die in dem kennzeichnenden Teil des
selbstständigen
Anspruchs zitiert werden, der sich auf eine sendende Vorrichtung
bezieht.
-
In Übereinstimmung
mit dem ersten Gesichtspunkt der Erfindung wird ein verketteter
Hybridcode-Codierer (HCC-Codierer)
zusammen mit einem mehrwertigen Codiermodell (MLC-Modell) verwendet.
Vorzugsweise besteht jeder Komponentencode des mehrwertigen Codierers
aus einem HCC-Teil,
der allen Komponentencodes gemeinsam ist und in einem einzelnen
HCC-Codierer implementiert werden kann, bevor der Strom von Datenbits
in Komponentenströme
mit variabler Rate aufgeteilt wird, und aus einem Punktierungsteil, welcher
getrennt für
jeden Komponentenstrom implementiert wird, und welcher die Bitrate
jedes Komponentenstroms auf eine gemeinsame Bitrate reduziert. Die
parallelen punktierten Komponentenströme können dann unter Verwendung
der in dem MLC-Modell eingestellten Partitionsabbildung als Eingaben
in die Symbol-Abbildungsvorrichtung verwendet werden. Die mehrstufige
Decodierung (MSD) kann in dem Empfänger verwendet werden, um das
empfangene Signal zu decodieren.
-
Vorteilhafterweise
besteht ein HCC-Codierer aus wenigstens zwei parallelen Codierpfaden
und einem Multiplexer (oder einem Schalter), der jeweils nur einen
Codierpfad zur Verwendung auswählt.
Einer der Codierpfade umfasst wenigstens zwei verkettete einfache
Codierer, die als der innere Codierer und der äußere Codierer bezeichnet werden:
sowohl der innere als auch der äußere Codierer
sind vorteilhafterweise systematische Faltungscodierer mit einer
relativ niedrigen Anzahl von Zuständen. Ihre Funktion wird äußerst vorteilhaft durch
einen Punktierungsblock und einige Verschachtelungen ergänzt. Ein
anderer Codierpfad umfasst nur einen Codierer und eventuell eine
Verschachtelungsvorrichtung. Zusammen mit den Punktierungsblöcken, (welche
die Datenrate der Komponentenströme
nach der Serien-Parallel-Umsetzung
in dem MLC-Codierer reduzieren), implementiert der HCC-Codierer
ein so genanntes ratenkompatibles punktiertes Code-System, in dem der
HCC-Codierer einen "Muttercode" implementiert, und
die Punktierungsblöcke übernehmen
die Anpassung der gesamten Codierrate an einen erforderlichen Pegel.
-
In
dem erfindungsgemäßen Empfänger führt der
Mehrstufen-Decodierer
(MSD) die Demodulation und Decodierung von Symbolen in codierte
Datenbits durch, die in eine Struktur geleitet werden, die ein Gegenstück zu dem
HCC-Codierer ist:
ein Demultiplexer verbindet den Strom von codierten Datenbits entweder
mit einem einstufigen Decodierer, (wenn in dem HCC der einfachere
Codierpfad verwendet wurde), oder mit einem zweistufigen Decodierer.
Wiederholte Decodierberechnungen sind sowohl im MSD als auch dem
letzteren Decodierer möglich,
wenn die Anforderungen für
die Decodierungsverzögerung
unbestimmt genug sind, und wenn der Empfänger die erforderliche Rechenkapazität aufweist.
-
Bevorzugte
Ausführungsformen
der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf
die folgenden begleitenden Zeichnungen beschrieben:
-
1 stellt
eine bekannte Codier- und Decodier-Anordnung dar,
-
2 stellt
einen als solchen bekannten Partitionsbaum dar,
-
3 stellt
einen bekannten Decodierer zur Verwendung in dem System von 1 dar,
-
4a stellt
ein anderes bekanntes Codiermodell für transparente Datendienste
dar,
-
4b stellt
ein anderes bekanntes Codiermodell für nicht-transparente Datendienste
dar,
-
5 ist
ein schematisches Blockschaltbild eines Codierers gemäß der Erfindung,
-
6a zeigt
ein Detail von 5,
-
6b zeigt
ein anderes Detail von 5,
-
7 zeigt
ein anderes Detail von 5,
-
8 ist
ein schematisches Blockschaltbild eines MSD gemäß der Erfindung,
-
9 ist
ein schematisches Blockschaltbild eines Decodierers gemäß der Erfindung,
-
10 stellt
eine Verschachtelungsoption gemäß der Erfindung
dar,
-
11 stellt
die Anwendung der Erfindung in einem Telekommunikationssystem dar.
-
Die
Beschreibung des bisherigen Stands der Technik bezog sich auf die 1, 3, 4a und 4b,
somit wird sich die folgende Beschreibung von vorteilhaften Ausführungsformen
der Erfindung auf die 2 und 5 bis 11 beziehen.
In der Beschreibung wird 16-QAM als ein Beispiel für ein Hochpegel-Modulationsverfahren
betrachtet, Die Erfindung ist nicht auf den Einsatz eines 16-QAM
beschränkt.
-
Eine
mögliche
Art, die zulässigen
Ausgabezustände
eines QAM-Codierers mit 2M zulässigen Ausgabezuständen darzustellen,
ist ein Partitionsbaum wie derjenige in 2, in dem
die oberste Verzweigungsebene die Ebene 0 ist und die unterste Verzweigungsebene
die Ebene M-1 ist, was hier Ebene 3 bedeutet. Auf jeder Ebene stellen
die schwarzen Punkte in der Punktmatrix die zulässigen Ausgangszustands-Möglichkeiten in
dem entsprechenden Partitionszweig auf der entsprechenden Ebene
dar. Die binäre
Codiererausgabe, (hier: Ausgabe von Codierer 102), die
als das niedrigstwertige Bit (LSB) an dem Eingang der Abbildungsschaltung 106 definiert
worden ist, definiert, welches untergeordnete Set von zulässigen Ausgangszustands-Möglichkeiten
auf der obersten Ebene ausgewählt
wird und so weiter, bis auf der untersten Ebene die Codiererausgabe (hier:
Ausgabe von Codierer 105), die als das höchstwertige
Bit (MSB) definiert worden ist, definiert, welcher der restlichen
zwei möglichen
Ausgabezustände
genommen wird. Mit der Auswahl der Zustände, (den schwarzen Punkten),
wie in 2 dargestellt, definiert der Partitionsbaum eine
so genannte Ungerboeck-Abbildung, die als solche aus dem Dokument "G. Ungerboeck: Channel
Coding with Multilevel/Phase Signals, IEEE Trans. Inform. Theory,
Band IT-28, S. 55–67,
Nr. 1, Jan. 1982" bekannt
ist. Die Verwendung einer Ungerboeck-Abbildung oder einer allgemeiner
eingestellten Partitionsabbildung ist in dem Verfahren und der Vorrichtung
gemäß der Erfindung
vorteilhaft, weil zum Beispiel im Gegensatz zur Gray-Abbildung eine eingestellte
Partitionsabbildung bedeutet, dass auf der Symbol-Decodierstufe
eine Abhängigkeit
zwischen der Decodierungsentscheidung des niedrigstwertigen und
des höchstwertigen
Bits des Symbols vorhanden ist, wobei die Abhängigkeiten zum Verbessern der
Decodierung auf jeder Bitebene verwendet werden können.
-
5 stellt
eine Codierstruktur gemäß einer
vorteilhaften Ausführungsform
der Erfindung dar. Datenbits kommen von der linken Seite in der
Form eines seriellen Bitstroms, und 16-QAM-Symbole werden auf die rechte
Seite ausgegeben. Der verkettete Hybridcode-Block (HCC-Block) 501 ist
der erste Block, in welchen die Datenbits eingespeist werden, und
er besteht aus zwei alternativen Codierpfaden 502 und 503.
Der obere Codierpfad 502 besteht aus einer Bit-Verschachtelungsvorrichtung 504 und
einem Codierer (eventuell einem Faltungscode-Codierer) 505,
der eine gewisse feste Codierrate aufweist, zum Beispiel 1/3. Die
Blöcke 504 und 505 sind
in dieser Reihenfolge in Reihe verbunden. Die Erfindung begrenzt
nicht die Auswahl der Codierrate oder der Struktur des Codierers 505,
doch können
sie gemäß einer
Analyse eines typischen Funkkanals und den Anforderungen ausgewählt werden,
die in Bezug auf die Codierung bestehen. Der untere Codierpfad 503 besteht
aus einem äußeren CC-Codierer 506,
einem Punktierungsblock 507, einer Bit-Verschachtelungsvorrichtung 508 und
einem inneren CC-Codierer 509,
die alle in dieser Reihenfolge in Reihe verbunden sind. Der innere
CC-Codierer 509 ist in der dargestellten Ausführungsform
ein rekursiver systematischer Faltungscode-Codierer (RSCC-Codierer).
Die Codierraten der Codierer 506 und 509 sind
typischerweise 1/3, aber die gleiche nicht-begrenzende Natur der
Erfindung gilt auch für
sie sowie Block 505.
-
Der
Multiplexer 510 arbeitet als ein Auswahlschalter, der codierte
Bits entweder aus dem ersten Codierpfad 502 oder dem zweiten
Codierpfad 503 auswählt.
Der Multiplexer 510 ändert
seine ausgewählte
Bitquelle nur in Situationen, in denen die gesamte Codierrate des
Systems geändert
werden muss. Der codierte Bitstrom wird in dem Serien-Parallel-Umsetzer 511 in
vier untergeordnete Ströme
unterteilt. Die untergeordneten Ströme weisen im Allgemeinen verschiedene
Bitraten n1, n2,
n3 und n4 auf, die
durch Punktierung in den vier parallelen Punktierungsblöcken 512a bis 512d zu
einer allgemeinen Bitrate n0 reduziert werden.
Eine Bit-Verschachtelungsvorrichtung 513 verteilt die Bits
in den vier parallelen punktierten Bitströmen in K aufeinander folgende
Datenübertragungsblöcke, wobei
K eine positive ganze Zahl ist. Hier wird angenommen, dass K gleich
4 ist. Für
die Erfindung ist es nicht erforderlich, dass die Datenübertragungsblocklänge und
die Datenübertragungsblock-Verschachtelungslänge K auf
eine spezifische Weise bestimmt werden. Nach dem Verschachteln sind
vier parallele Bitströme
mit gleicher Rate vorhanden, die in den Block 514 eingespeist
werden, welcher ein Bit aus jedem Strom nimmt und die entsprechende
Vier-Bit-Binärzahl
gemäß einer
ausgewählten Abbildungsstrategie
in ein 16-wertiges Symbol abbildet. Hier sind die Symbole 16-QAM-Symbole,
und die Abbildung findet gemäß einer
ausgewählten
eingestellten Partitionierungs-Abbildungsstrategie statt.
-
6a stellt
die Generierung eines rekursiven systematischen Faltungscodes (RSCC)
mit einer festen Codierrate 1/3 dar. Der Codierer von 6a kann
als der innere Codiererblock 509 von 5 verwendet
werden. Er besteht aus drei Modulo-2-Addierern 601, 602 und 603,
zwei Verzögerungselementen 604 und 605 von
der Größe von einem
Bit in Reihenschaltung und einem Drei-zu-Eins-Multiplexer 606. Die erste
Eingabe in den Multiplexer 606 ist das aktuelle Datenbit
als solches. Die zweite Eingabe in den Multiplexer 606 ist
die Ausgabe des Addierers 602, d.h. eine Kombination der
Ausgabe des Verzögerungselements 604 und
der Ausgabe des Addierers 601, welche beide ebenfalls als
Eingaben in den Addierer 603 eingespeist werden. Die dritte
Eingabe in den Multiplexer 606 ist die Ausgabe des zweiten
Verzögerungselements 605,
die auch als eine dritte Eingabe in den Addierer 603 eingespeist
wird, welcher wiederum zusammen mit dem aktuellen Datenbit die zwei
Eingaben für
den Addierer 601 bereitstellt.
-
6b stellt
die Generierung eines nicht-rekursiven systematischen Faltungscodes
dar, ebenfalls mit einer festen Codierrate 1/3. Der Codierer von 6b kann
als der äußere Codiererblock 506 von 5 verwendet
werden. Er besteht aus einem Modulo-2-Addierer 610, zwei
Verzögerungselementen 611 und 612 von der
Größe von einem
Bit in Reihenschaltung und einem Drei-zu-Eins-Multiplexer 613.
Die erste Eingabe in den Multiplexer 613 ist wieder das
aktuelle Datenbit als solches. Die zweite Eingabe in den Multiplexer 613 ist
die Ausgabe des zweiten Verzögerungselements 612,
z.B. ein Datenbit, das um zwei Bitintervalle verzögert worden
ist. Die dritte Eingabe in den Multiplexer 613 ist die
Ausgabe des Addierers 610, z.B. die Modulo-2-Summe des
aktuellen Datenbits, des vorherigen Datenbits und eines Datenbits,
das um zwei Bitintervalle verzögert worden
ist.
-
Es
wurde vorher erwähnt,
dass der Codierer in dem oberen Zweig des HCC-Codierers
501 in
5 ein
CC-Codierer sein kann. In einer anderen Ausführungsform der Erfindung kann
der gesamte obere Zweig
502 durch einen Turbo-Codierer ersetzt
werden, wie demjenigen, der in
7 dargestellt
ist und als solcher zum Beispiel bekannt ist aus dem Dokument "S. Le Goff, A. Glavieux,
C. Berreu: Turbo-Codes and High Spectral Efficiency Modulation,
Proceedings of IEEE ICC'94,
1.–5.
Mai 1994, New Orleans, LA, S. 645–649". Die Eingangsleitung
701 trägt eine
binäre
Eingabesequenz. Die Bits der Eingabesequenz werden direkt in einen ersten
Codierer
702 eingespeist und über eine Verschachtelungsvorrichtung
703 in
einen zweiten Codierer
704. Des Weiteren werden die Bits
der Eingabesequenz direkt in einen Eingang eines Dreiwege-Multiplexers
705 eingespeist.
Die Rolle der Verschachtelungsvorrichtung
703 besteht darin,
die wechselseitige Reihenfolge der Bits in der Eingabesequenz in
einer bekannten Weise zu ändern,
bevor sie in den zweiten Codierer
704 eingespeist werden.
Die parallelen Codierer
702 und
704 können im
Prinzip jeder bekannte binäre
Codierer sein, und ihre Codierraten können jeweils beschrieben werden
als k/(k + p
1) und k/(k + p
2),
wobei k die Anzahl der Bits in einer vorgegebenen Länge der
Eingabesequenz ist, und die Koeffizienten p
1 und
p
2 von der Struktur der Codierer
702 und
704 abhängen. Sie
können
auch zueinander identisch sein. Abhängig von ihrer Codierrate und
der erwarteten Ausgaberate des Turbo-Codierers
700 kann es notwendig
sein, die Ausgaben der binären
Codierer
702 und
704 in dem Punktierungsblock
706 zu
punktieren, was dazu führt,
dass die punktierten codierten Sequenzen die Raten k/(k +
)
und k/(k +
)
aufweisen, wobei die Koeffizienten und von dem Punktierungsvektor
abhängen,
der im Block
706 verwendet wird, und den Regeln
=
p
1 und
=
p
2 gehorchen. Die punktierten codierten
Sequenzen werden dann in die restlichen zwei Eingänge des
Dreiwege-Multiplexers
705 eingespeist, der an seinem Ausgang
eine systematische Codesequenz mit einer Rate R generiert, welche
aus der folgenden Formel berechnet werden kann:
wobei
n die Anzahl von Bits in der Ausgabesequenz bezeichnet, die den
k Bits in einer vorgegebenen Länge der
Eingabesequenz entspricht.
-
8 zeigt
ein Blockschaltbild eines MSD 800, der in dem Empfänger gemäß der Erfindung
verwendet werden kann. Die Eingangsleitung 801 trägt ein empfangenes
Basisbandsignal, das eine Kombination aus tatsächlichem Signal, Gauß'schem Rauschen und
Interferenz ist. Die metrischen Blöcke 802 bis 805 und
ihre dazugehörigen
Verzögerungsblöcke 814 bis 816 arbeiten
auf die gleiche Weise wie die entsprechenden Blöcke 320 bis 305 und 314 bis 316 in 3,
wenn die zusätzliche
Eingabe in den metrischen Block 802 vom Block 820 für den Augenblick
außer
Acht gelassen wird. Nach der metrischen Berechnung in jedem der
Blöcke 802 bis 805 wird
das Ergebnis von jedem Block in einen entsprechenden Verschachtelungsaufhebungsblock 821 bis 824 eingespeist,
der aufeinander folgende metrische Ergebnisse umstrukturiert, um
den Effekt des Bitverschachtelungsblocks 513 in dem Sender
von 5 zu entfernen. Desgleichen entfernt der Punktierungsaufhebungsblock 825 bis 828,
von denen einer in Reihe mit jedem Verschachtelungsaufhebungsblock 821 bis 824 verbunden
ist, den Effekt des entsprechenden Punktierungsblocks 512a bis 512d in
dem Sender von 5, indem ein unsicheres Bit
an der Stelle jedes punktierten Bits hinzugefügt wird. Die Ergebnisse von
jedem Punktierungsaufhebungsblock 825 bis 828 werden
im Multiplexer 829 gesammelt, der den reziproken Vorgang
des Serien-Parallel-Umsetzers 511 in dem Sender von 5 durchführt und
den sich daraus ergebenden codierten Bitstrom in den Decodierer 830 einspeist,
dessen Zweck es ist, dem Vorgang des HCC-Codierers 501 in
dem Sender von 5 entgegenzuwirken.
-
Vom
Ausgangssignal des Decodierers 830 wird erwartet, dass
es ein fehlerfreier Strom von Datenbits ist, genau wie diejenigen,
die ursprünglich
in den Codierer 501 von 5 eingespeist
wurden. Der Decodierungsprozess kann jedoch einige fehlerhafte Entscheidungen
hinsichtlich der Werte einiger Bits erzeugen. Die Wahrscheinlichkeit
von Fehlern kann gesenkt werden, indem aus den decodierten Datenbits
ein erneut codiertes Vergleichsergebnis erzeugt wird, das als Rückkopplung
in den Decodierungsprozess eingespeist wird. Eine neue Decodierungsrunde,
die auf dem gleichen empfangenen Signal basiert, allerdings mit
der Hilfe der Rückkopplung,
wird als eine Wiederholungsrunde bezeichnet, und der Prozess, der
sie verwendet, ist ein sich wiederholender Decodierungsprozess.
Block 831 in 8 stellt einen Codierer dar,
der dem HCC-Codierer 501 des Senders ähnlich ist. In ähnlicher
Weise entspricht der Demultiplexer 832 dem Serien-Parallel-Umsetzer 511,
(mit Ausnahme dessen, dass der MSB-Ausgang nicht verwendet wird),
die Punktierungsblöcke 833 bis 835 entsprechenden
den Punktierungsblöcken 512a bis 512c,
(nicht 512d, weil er dem MSB-Komponentenstrom entspricht),
und die Verschachtelungsvorrichtungen 826 bis 838 entsprechen
allen Teilen, bis auf MSB, der Verschachtelungsvorrichtung 513 in 5.
Jeder metrische Block 803 bis 805 empfängt als
eine zusätzliche
Eingabe die codierte Form des entsprechenden einen niedrigstwertigen
Bits, welches es dazu verwendet, den metrischen Berechnungsprozess
zu unterstützen,
genau wie in den metrischen Berechnungsblöcken 303 bis 305 des
bisherigen Stands in 3. Die Erfindung begrenzt die
Anzahl der aufeinanderfolgenden Symbole nicht, die während einer
Wiederholungsrunde bearbeitet werden müssen, doch wird sie durch die
verwendete Verschachtelungslänge
diktiert: zum Decodieren und Umstrukturieren eines Datenübertragungsblocks
muss der Empfänger
alle Funksignal-Datenübertragungsblöcke empfangen,
die Daten des fraglichen Datenübertragungsblocks
enthalten.
-
Block 820 stellt
eine Möglichkeit
zum Erzeugen einer zusätzlichen
Eingabe auch für
den metrischen LSB-Berechnungsblock 802 dar.
Block 820, sofern er verwendet wird, enthält alle
Codierungs-, Demultiplex-, Punktierungs- und Verschachtelungsfunktionen,
die erforderlich sind, um ein gesamtes Symbol aus einem Stück eines
decodierten Datenbitstroms zu erzeugen. Dieses Symbol wird dann
als eine zusätzliche
Eingabe in den Block 802 eingespeist, um bei der metrischen
LSB-Berechnung zu
helfen.
-
9 ist
ein detaillierteres Blockschaltbild einer vorteilhaften Ausführungsform
für den
Decodierer 830. Der Decodierer von 9 ist ein
wiederholender Decodierer für
HCC-codierte Bitströme,
die über
die Leitung 901 eingegeben werden. Die Decodierer-Struktur
ist als solche bekannt aus dem Dokument: "D. Divsalar, E. Pollara: Hybrid Concatenated
Codes and Iterative Decoding, TDA Progress Report 42–130, August
1997". Der Demultiplexer 902 leitet
den Eingabestrom entweder in den inneren CC-Decodierer 903, wenn der untere Codierungszweig 503 in
dem Sender von 5 verwendet wurde, oder in den
parallelen Code-Decodierer 904, wenn der obere Codierungszweig 502 verwendet
wurde. Dies bedeutet natürlich,
dass die empfangende Vorrichtung wissen muss, welchen Codierungszweig
die sendende Vorrichtung verwendet hat. Diese Informationen lassen
sich leicht von dem Sender zu dem Empfänger durch die bekannten Mittel
der Zeichengabe übertragen.
Angenommen, dass der untere Codierungszweig verwendet wurde, wird
der eingegebene Strom zuerst im Decodiererblock 903 decodiert,
um die Codierung zu entfernen, die im inneren Codierer 509 von 5 verwendet
wurde. Zum Entfernen der Codierungen kann jedes als solches bekanntes
Verfahren verwendet werden, zum Beispiel Viterbi-Decodierung. SISO
kommt von Soft In – Soft
Out und bedeutet, dass die Blöcke 903, 904 und 906 an
nicht-binären
Informationen arbeiten. Nach dem Entfernen der inneren Codierung
entfernt der Verschachtelungsaufhebungsblock 905 die Verschachtelung,
die im Block 508 von 5 implementiert worden
ist, und das Signal wird zum Entfernen der Punktierung und äußeren Codierung,
die in den Blöcken 507 und 506 von 5 implementiert
wurden, in den Decodiererblock 906 eingespeist. Von dem
sich daraus ergebenden Signal wird erwartet, dass es den korrekten
Strom von Datenbits enthält,
der durch das Summierungsmittel 907 und die Ausgangsleitung 912 ausgegeben
werden kann. Um jedoch die fehlerkorrigierenden Fähigkeiten
der wiederholten Decodierung zu verwenden, wird das Ausgabesignal
vom Block 906 jedoch auch als eine Rückkopplung durch den Neuverschachtelungsblock 908 in
die zusätzliche
Eingabe des Decodiererblocks 903 eingespeist, um bei der
wiederholten Decodierungsrunde zu helfen. Die in diesem Rückkopplungssignal
enthaltenen Nebeninformationen geben die Anzahl der Empfangsfehler
an, so dass kein separater CRC-(Cyclic Redundancy Check) Code zu
diesem Zweck erforderlich ist.
-
Wenn
das gesendete Signal den oberen Codierungszweig 502 von 5 verwendet
hat, leitet der Demultiplexer 902 das zu decodierende Signal
zum Decodiererblock 904 statt zum Block 903. Die
Decodierung findet in dieser einzigen Stufe statt, und die Verschachtelung,
die im Block 504 von 5 implementiert
worden ist, wird im Block 909 entfernt. Die Rückkopplung
zum Decodiererblock 904 erfolgt durch den Neuverschachtelungsblock 910 zur
wiederholten Decodierung. Auch Block 904 kann die Anzahl
der Empfangsfehler berechnen, indem er seine beiden Eingänge vergleicht.
-
Wenn
beide Codiererzweige in dem Sender verwendet worden sind, werden
die Zuverlässigkeitsinformationen
zwischen allen SISO-Blöcken 903, 904 und 906 gemeinsam
genutzt, und der Decodierer arbeitet auf zwei Schleifen, wobei die
erste aus den Blöcken 903–905–906–908 besteht
und dem Block 903 Nebeninformationen liefert, und die andere
die Struktur 903–905–906–910-(Nebeninfo
an) 904–909-(Nebeninfo an) 906 aufweist.
-
Der
MSD von 8 umfasst keine explizit gezeigten
Gegenstücke
zu den Verzögerungsleitungen 317 bis 319 des
MSD des bisherigen Stands der Technik in 3. Dies
ist auf einen Gesichtspunkt der Erfindung zurückzuführen, der ausführlicher
in 10 gezeigt ist. Zusätzlich zu seiner normalen Bitverschachtelungsfunktion
verzögert
die Verschachtelungsvorrichtung 513 von 5 die
drei niedrigstwertigen Komponentenbitströme LSB, LSB1 und LSB2 und jeweils
um drei, zwei und ein Bit. Die Ellipse 1001 kreist die
Bits ein, die in einem MLC-Codierer des bisherigen Stands in ein
Symbol abgebildet würden.
Die Ellipse 1002 kreist die Bits ein, die in einem Codierer
gemäß diesem
besonderen Gesichtspunkt der Erfindung in ein Symbol abgebildet sind.
Verzögerungen
zwischen decodierten Komponentendatenströmen sind in dem Empfänger nicht
erforderlich, weil die codierten Komponentendatenströme bereits
in dem Sender wechselseitig verzögert
worden sind. Der Grund dafür
ist, die Konstruktion des Empfängers
mit einem kleineren Speicher zu ermöglichen als mit den Verzögerungen
erforderlich wäre,
die in der Empfängerseite
implementiert sind: die Speicheranforderungen an den Sender erhöhen sich
entsprechend. Angenommen, es ist eine überwältigende Vielzahl von Endgeräten im Vergleich
mit der Anzahl von Basisstationen in einem Zellularfunksystem vorhanden,
so ist es äußerst vorteilhaft,
bei den Endgräten
Speicher zu sparen und die Abwärtsstrecken-Richtung gemäß 5, 8 und 10 aufzubauen.
In der Aufwärtsstrecke
muss der Sender des Endgeräts
die codierten Komponentendatenströme gemäß 10 nicht
verzögern,
was bedeutet, dass in einem Endgerät-Sender, ansonsten gemäß 5 der
Verschachtelungsblock 513, das entsprechende Merkmal der
vorläufigen
Datenverschiebung nicht enthalten würde, und der Basisstations-Empfänger, ansonsten
gemäß 8 der
Multiplexer 829, Verzögerungsleitungen
enthalten würde,
die mit denen von 3 vergleichbar sind.
-
8 und 9 enthalten
beide die Option des wiederholten Decodierens. Die Erfindung erfordert nicht,
dass der Empfänger
irgendeine Art von wiederholter Decodierung verwendet, aber wenn
die Rechenkapazität
des Empfängers
und die Verzögerungsanforderungen
der Verbindung es gestatten, ist sie eine nützliche Möglichkeit, die Wahrscheinlichkeit
von Fehlern in dem decodierten Datenstrom zu reduzieren. Die Senderseite
wird in keinerlei Weise davon beeinflusst, ob der Empfänger wiederholtes
Decodieren verwendet oder nicht, ausgenommen die Tatsache, dass
ein wiederholt decodierender Empfänger wahrscheinlich weniger
erneute Übertragungen
anfordern wird als ein nicht-wiederholt decodierender Empfänger. Ein
Hersteller kann zuerst einen nicht-wiederholt decodierenden Empfänger oder
einen wiederholt decodierenden Empfänger auf den Markt bringen,
der nur für
eine oder zwei Wiederholungsrunden ausgelegt ist, und nachdem ein
neuer, effektiverer Signalprozessor oder eine andere bessere Komponente
zur Verfügung
steht, kann der Hersteller eine aufgerüstete Version der Vorrichtung
auf den Markt bringen, die zu öfteren
Wiederholungen pro empfangenen Bit oder Symbol fähig ist.
-
11 zeigt
ein Telekommunikationssystem 1100, das eine Basisstation 1101 und
eine Endgerätvorrichtung 1102 umfasst.
Die Basisstation 1101 ist an ein Netzwerk von anderen Basisstationen,
Basisstations-Controllern, mobilen Vermittlungszentren und anderen
Elementen eines als solchem bekannten Zellularnetzwerks über die
bidirektionale Verbindung 1103 angeschlossen. Die Basisstation
umfasst einen Senderzweig 1104 und einen Empfängerzweig 1105,
wobei der Senderzweig 1104 wenigstens einen Codierungs-, Punktierungs-,
Verschachtelungs- und Abbildungsblock 1106 aufweist, ähnlich der
in 5 gezeigten Baugruppe. Der Funkfrequenz-(RF) Teil 1107 verwendet
den Ausgabe-Symbolstrom
vom Block 1105 in einer bekannten Weise, um ein RF-Signal
zu bilden und es über
die Sendeantenne 1108 an das Endgerät zu senden. Gleichzeitig kann
eine empfangende Antenne 1109 Signale von dem Endgerät aufnehmen,
wobei der RF-Teil 1110 sie in Basisband umwandelt und sie
in den Decodierblock 1111 einspeist, der demjenigen von 8 ähnlich ist.
Auf der Endgerätseite
gibt es normalerweise nur eine Antenne 1112 und einen Funkteil 1113,
in dem Duplexfilter oder andere bekannte Anordnungen gesendete und
empfangene Signale voneinander trennen. Die Struktur und Funktion
der Blöcke 1114 und 1115 ist
jeweils derjenigen der Blöcke 1106 und 1111 ähnlich, mit
der eventuellen Ausnahme, dass die Komponentendatenstrom-Verzögerung gemäß 10 äußerst vorteilhaft
nur in der Abwärtsstrecken-Richtung
verwendet wird, wobei die Konsequenzen für die Hardware oben dargelegt
wurden. Der grundlegende Funktionsblock 1116 des Endgeräts 1102 kann
als solcher bekannt sein; wenn das Endgerät zum Beispiel ein Mobiltelefon
ist, umfasst der Block 1116 die notwendigen Funktionen,
um den empfangenen und decodierten Datenstrom in Töne, die
zu einem Lautsprecher geführt
werden, und Daten, die zu dem Steuerprozessor des Endgeräts geführt werden,
und die von einem Mikrofon aufgezeichneten Töne und Daten von dem Steuerprozessor
in Aufwärtsstrecken-Richtung
zu einem zu sendenden Datenstrom umzuwandeln. Zusätzlich zu
den in 11 gezeigten Blöcken können die
Basisstation und das Endgerät
weitere Funktionsblöcke
enthalten.
-
Das
Messen oder Schätzen
des Signal-Rausch-Verhältnisses
oder Störabstands
oder von anderen Werten, welche die Qualität der Funkverbindung in einem
Telekommunikationssystem wie demjenigen von 11 beschreiben,
sind als solche bekannt. Gemäß bevorzugten
Formen der Erfindung führen
entweder die Basisstation 1101 oder die Endgerätvorrichtung 1102 oder
beide solche Messungen durch, um zu bestimmen, welches die optimale
Menge an Codierung ist, die den Empfang von Daten über den
Funkpfad auf einem zufrieden stellenden Niveau von auftretenden Übertragungsfehlern
sicherstellen würde.
Eine der Vorrichtungen 1101 und 1102 trifft eine
Entscheidung, welche Codierungszweige (502, 503 oder
beide in 5) in dem Sender verwendet werden,
und welche Art von Punktierung verwendet wird (507 und 512a bis 512d in 5).
Die Entscheidung kann auch Details der zu verwendenden Verschachtelung
enthalten (504, 508 und 513 in 5).
Die Entscheidung kann für
Aufwärtsstrecke
und Abwärtsstrecke
unterschiedlich sein und kann sich während einer Funkverbindung ändern. Die
Vorrichtung, von der die Entscheidung getroffen oder geändert wird,
informiert die andere Vorrichtung über die Entscheidung durch
Zeichengabe, so dass die andere Vorrichtung ihre Funktion entsprechend ändern kann.
-
Die
in dieser Spezifikation und den Ansprüchen offenbarten und/oder in
den Zeichnungen gezeigten Merkmale können frei in Kombinationen
von Merkmalen kombiniert werden, die hierin offenbart wurden, sofern nicht
ausdrücklich
anders angegeben.
-
Die
Zusammenfassung im Anhang, wie hiermit eingereicht, ist in der Spezifikation
per Verweis enthalten.