-
Die
vorliegende Erfindung betrifft im Allgemeinen eine Vorrichtung und
ein Verfahren zum Übertragen von
Daten in einem IMT-2000-System und insbesondere ein Gerät zum Übertragen
eines Transport Format Combination Indicator (TFCI).
-
Ein
CDMA-Mobilkommunikationssystem (im Folgenden als IMT-2000-System
bezeichnet) überträgt im Allgemeinen
Frames, die einen sprachbasierten Service, einen bildbasierten Service,
einen zeichenbasierten Service mit einer festen oder variablen Datenrate
auf einem physikalischen Kanal bereitstellen, wie beispielsweise
einem Dedicated Physical Data Channel (DPDCH). Wenn Daten-Frames,
die diese Art von Services enthalten, mit einer festen Datenrate übertragen
werden, besteht keine Notwendigkeit, einen Empfänger über die Spreizrate jedes Daten-Frames
zu unterrichten. Wenn die Daten-Frames andererseits mit einer variablen
Datenrate übertragen
werden, was impliziert, dass jeder Daten-Frame eine andere Datenrate
aufweist, muss der Sender den Empfänger über die Spreizrate jedes Daten-Frames
unterrichten, die durch dessen Datenrate bestimmt wird. Eine Datenrate
ist proportional zu einer Datenübertragungsrate,
und die Datenübertragungsrate
ist umgekehrt proportional zu einer Spreizrate in einem allgemeinen
IMT-2000-System.
-
Zum Übertragen
von Daten-Frames mit variablen Datenrate informiert ein TFCI-Feld
eines DPCCH einen Empfänger über die Übertragungsgeschwindikeit
des aktuellen Service-Frames. Das TFCI-Feld umfasst einen TFCI,
der viele Informationen enthält,
einschließlich
der Datenrate eines Service-Frames. Der TFCI ist die Information,
welche die zuverlässige
Bereitstellung eines sprach- oder datenbasierten Service unterstützt.
-
Die 1A bis 1D zeigen Anwendungsbeispiele eines TFCI.
Die 1A stellt die Anwendung
eines TFCI auf einen Uplink-DPDCH und einen Uplink-Dedicated Physical
Control Channel (DPCCH) dar. 1B zeigt
die Anwendung eines TFCI auf einen Random Access Channel (RACH). 1C stellt die Anwendung des
TFCI auf einen Downlink-DPDCH und einen Downlink-DPCCH dar. 1D zeigt die Anwendung des
TFCI auf einen Secondary Common Control Physical Channel (SCCPCH).
-
Unter
Bezugnahme auf die 1A bis 1D besteht ein Frame aus
16 Slots, und jeder Slot weist ein TFCI-Feld auf. Daher umfasst
ein Frame 16 TFCI-Felder. Ein TFCI-Feld umfasst NTFCI Bits,
und ein TFCI weist im Allgemeinen 32 Bits in einem Frame auf. Zum Übertragen
des 32-Bit-TFCI in einem Frame können
jeweils 2 TFCI-Bits zu jedem der 16 Slots (Tslot =
0,625 ms) zugeordnet werden.
-
2 ist ein Blockdiagramm
eines Basisstation-Senders in einem allgemeinen IMT-2000-System.
-
Unter
Bezugnahme auf 2 multiplizieren
die Multiplizierer 211, 231 und 232 Eingabesignale
mit den Verstärkungskoeffizienten
G1, G3 und G5. Die Multiplizierer 221, 241 und 242 multiplizieren
TFCI-Codewörter (TFCI-Codesymbole),
die von entsprechenden TFCI-Codierem über die Verstärkungskoeffizienten
G2, G4 und G8 empfangen werden. Die Verstärkungskoeffizienten
G1 bis G8 können unterschiedliche
Werte aufweisen, entsprechend den Servicearten oder Übergabesituationen.
Die Eingabesignale umfassen Pilot- und Leistungskontrollsignale
(TPC) von einem DPCCH und Daten von einem DPDCH. Ein Multiplexer 212 fügt die vom
Multiplizierer 221 empfangenen 32-Bit-TFCI-Codesymbole (TFCI-Codewörter) in
die TFCI-Felder ein, wie in 1 dargestellt.
Ein Multiplexer 242 fügt
die vom Multiplizierer 241 empfangenen 32-Bit-TFCI-Codesymbole
in die TFCI-Felder ein. Ein Multiplexer 252 fügt die vom
Multiplizierer 242 empfangenen 32-Bit-TFCI-Codesymbole in
die TFCI-Felder ein. Das Einfügen
der TFCI-Codesymbole in TFCI-Felder ist in den 1A bis 1D dargestellt.
Die 32 Codesymbole werden durch die Codierung von TFCI-Bits (Informationsbits)
erhalten, welche die Datenrate eines Datensignals auf einem entsprechenden
Datenkanal definieren. Ein 1., 2. und 3. Serie-Parallel-Umsetzer
(S/P) 213, 233 und 234 trennen die Ausgaben
der Multiplexer 212, 242 und 252 in I-Kanäle und Q-Kanäle. Die
Multiplizierern 214, 222 und 235 bis 238 multiplizieren
die Ausgaben der S/Ps 213, 233 und 234 mit
den Kanaleinteilungscodes Cch1, Cch2 und Cch3. Die
Kanaleinteilungscodes sind orthogonale Codes. Ein erster Summierer 215 summiert
die Ausgaben der Multiplizierer 214, 235 und 237 und
generiert ein I-Kanal-Signal, und ein zweiter Summierer 223 summiert
die Ausgaben der Multiplizierer 222, 236 und 238 und
generiert ein Q-Kanal-Signal. Ein Phasenverschieber 224 verschiebt
die Phase des Q-Kanal-Signals, das vom zweiten Summierer 223 empfangen
wird, um 90°.
Ein Summierer 216 addiert die Ausgaben des ersten Summierers 215 und
des Phasenverschiebers 224 und generiert ein komplexes
Signal I+jQ. Ein Multiplizierer 217 verschlüsselt das
komplexe Signal mit einer komplexen PN-Sequenz Cscramb,
die der Basisstation zugewiesen ist. Ein Signalprozessor (S/P) 218 trennt
das verschlüsselte
Signal in einen I-Kanal und einen Q-Kanal. Die Tiefpassfilter (LPF) 219 und 225 begrenzen
die Bandbreite der vom S/P 218 empfangenen I-Kanal- und
Q-Kanal-Signale
durch Tiefpassfiltem. Die Multiplizierer 220 und 226 multiplizieren
die Ausgänge
der Tiefpassfilter 219 und 225 jeweils mit den
Trägem
cos(2πfct) und sin(2πfct),
wodurch die Ausgänge
der Tiefpassfilter (LPFs) 219 und 225 in ein RF-Band
(Funkfrequenz-Band) umgewandelt werden. Ein Summierer 227 summiert
die hochfrequenten I-Kanal- und Q-Kanal-Signale.
-
3 ist ein Blockschaltplan
eines Mobilstation-Senders in einem allgemeinen IMT-2000-System.
-
Unter
Bezugnahme auf 3 multiplizieren
die Multiplizierer 311, 321 und 323 entsprechende
Signale mit Kanaleinteilungscodes Cch1,
Cch2 und Cch3. Die
Signale 1, 2 und 3 sind das erste, zweite
und dritte DPCCH-Signal. Ein Eingabesignal 4 umfasst Pilot- und Leistungskontrollsignale
eines DPCCH. Die TFCI-Infonrationsbits werden mit einem TFCI-Codierer 309 in
32-Bit-TFCI-Codesymbole codiert. Ein Multiplizierer 310 fügt ein 32-Bit-TFCI-Codesymbol
in das in 1A gezeigte
Signal 4 ein. Ein Multiplizierer 325 multipliziert
ein DPCCH-Signal mit einem TFCI-Codesymbol, das über den Kanaleinteilungscode
Cch4 vom Multiplizierer 310 empfangen
wurde. Die Kanaleinteilungscodes Cch1 bis
Cch4 sind orthogonale Codes. Die 32 TFCI-Codesymbole
werden durch die Codierung von TFCI-Informationsbits erhalten, welche
die Datenrate der DPDCH-Signale definieren.
Die Multiplizierer 312, 322, 324 und 326 multiplizieren
die Ausgaben der Multiplizierer 311, 321, 323 und 325 jeweils
mit den Verstärkungskoeffizienten
G1 bis G4. Die Verstärkungskoeffizienten
G1 bis G4 können unterschiedliche
Werte besitzen. Ein erster Summierer 313 generiert ein
I-Kanal-Signal durch Addieren der Ausgaben der Multiplizierer 312 und 322.
Ein zweiter Summierer 327 generiert ein Q-Kanal-Signal durch Addieren
der Ausgänge
der Multiplizierer 324 und 326. Ein Phasenverschieber 328 verschiebt
die Phase des vom zweiten Summierer 327 empfangenen Q-Kanal-Signals um
90°. Ein
Summierer 314 addiert die Ausgaben des ersten Summierers 313 und
des Phasenverschiebers 328 und generiert ein komplexes
Signal I+jQ. Ein Multiplizierer 315 verschlüsselt das
komplexe Signal mit einer komplexen PN-Sequenz Cscramb,
die der Basisstation zugewiesen ist. Ein S/P 329 trennt
das verschlüsselte
Sig nal in einen I-Kanal und einen Q-Kanal. Die LPFs 316 und 330 führen für die vom
S/P 329 empfangenen I-Kanal- und Q-Kanal-Signale einen
Tiefpassfiltervorgang aus und generieren Signale mit begrenzten
Bandbreiten. Die Multiplizierer 317 und 331 multiplizieren
die Ausgaben der LPFs 316 und 330 jeweils mit
den Trägem
cos(2πfct) und sin(2πfct),
wodurch die Ausgänge
der Tiefpassfilter 316 und 330 in ein HF-Band
umgewandelt werden. Ein Summierer 318 summiert die hochfrequenten
I-Kanal- und Q-Kanal-Signale.
-
TFCIs
werden in einen Basis-TFCI und einen erweiterten TFCI kategorisiert.
Der Basis-TFCI stellt
1 bis 64 verschiedene Informationen mit 6 TFCI-Informationsbits
dar, einschließlich
der Datenraten von entsprechenden Datenkanälen, wogegen der erweiterte
TFCI 1 bis 128, 1 bis 256, 1 bis 512 oder 1 bis 1024 verschiedene
Informationen mit 7, 8, 9 oder 10 TFCI-Informationsbits darstellt.
Der erweiterte TFCI wurde zur Erfüllung der Anforderungen des
IMT-2000-Systems für
unterschiedlichere Serviceleistungen empfohlen. TFCI-Bits sind für einen
Empfänger
wesentlich, um die von einem Sender erhaltenen Daten-Frames zu empfangen.
Aus diesem Grund führt
eine unzuverlässige Übertragung
von TFCI-Informationsbits aufgrund von Übertragungsfehlern zu einer
Fehlinterpretation der Frames im Empfänger. Der Sender codiert daher
die TFCI-Bits vor dem Senden mit einem Fehlerkorrektuncode, so dass
der Empfänger
eventuell generierte Fehler im TFCI korrigieren kann.
-
4A stellt das Konzept einer
Codierungsstruktur für
Basis-TFCI-Bits in einem herkömmlichen IMT-2000-System
dar, und 4B ist ein
Beispiel für
eine Codiertabelle, die auf einen in 4A gezeigten biorthogonalen
Codierer angewendet wird. Wie vorher festgestellt, weist der Basis-TFCI
6 TFCI-Bits auf (im Folgenden als Basis-TFCI-Bits bezeichnet), die
1 bis 64 verschiedene Informationen angeben.
-
Unter
Bezugnahme auf die 4A und 4B empfängt ein biorthogonaler Codierer 402 Basis-TFCI-Bits und
gibt 32 codierte Symbole (TFCI-Codewort oder TFCI-Codesymbol) aus.
Der Basis-TFCI wird im wesentlichen in 6 Bits ausgedrückt. Daher
werden in den Fällen,
in denen weniger als 6 Basis-TFCI-Bits auf den biorthogonalen Codierer 402 angewendet
werden, am linken Rand, d.h. zum MSB (werthöchsten Bit) der Basis-TFCI-Bits
O-Werte hinzugefügt,
um die Anzahl der Basis-TFCI-Bits auf 6 zu erhöhen. Der biorthogonale Codierer 402 besitzt
eine vorab festgelegte Codiertabelle, wie in 4B dargestellt, um 32 codierte Symbole für die Eingabe
der 6 Basis-TFCI-Bits
auszugeben. Wie in 4B dargestellt,
listet die Codiertabelle 32 (32 Symbole) orthogonale Codewörter c32.1 bis c32.32 und
32 biorthogonale Codewörter
c32.1 bis c32.32 auf,
welche die Komplemente der Codewörter
c32.1 bis c32.32 sind.
Wenn das LSB (niedrigstwertige Bit) des Basis-TFCI 1 ist, trifft
der biorthogonale Codierer 402 seine Auswahl aus den 32
biorthogonalen Codewörtern.
Wenn das LSB 0 ist, trifft der biorthogonale Codierer 402 seine
Auswahl aus den 32 orthogonalen Codewörtern. Eines der gewählten orthogonalen
oder biorthogonalen Codewörter
wird dann auf der Basis der anderen TFCI-Bits gewählt.
-
Dies
wird beispielsweise auch beschrieben in "UMTS TERRESTRIAL RADIO ACCESS NETWORK (UTRAN);
UTRA FDD, MULTIPLEXING, CHANNEL CODING AND INTERLEAVING DESCRIPTION" ETSI, 1 Februar
1999, Seiten 1 bis 16, UMTS X.04 V1.0.0.
-
Ein
TFCI-Codewort muss, wie vorher festgestellt, eine leistungsstarke
Fehlerkorrekturfunktion besitzen. Die Fehlerkorrekturfunktion für binäre Linearcodes
hängt vom
Mindestabstand (dmin) zwischen den binären Linearcodes ab. Ein Mindestabstand
für optimale
binäre
Linearcodes wird beschrieben in "An
Updated Table of Minimum-Distance Bounds für Binary Linear Codes", A.E. Brouwer und
Tom Verhoeff, IEEE Transactions on Information Theory, Band 39,
Nr. 2, März
1993 (im Folgenden als Referenz 1 bezeichnet).
-
Referenz
1 gibt 16 als Mindestabstand für
binäre
Linearcodes an, bei denen für
die Eingabe von 6 Bits eine Ausgabe von 32 Bits erfolgt. Die Ausgabe
von TFCI-Codewörtern
vom biorthogonalen Codierer 402 weist einen Mindestabstand
von 16 auf, wodurch impliziert wird, dass die TFCI-Codewörter optimales
Codes sind.
-
5A stellt das Konzept einer
Codierungsstruktur für
erweiterte TFCI-Bits in einem herkömmlichen IMT-2000-System dar, 5B ist ein Beispielalgorithmus
für die
Verteilung von TFCI-Bits in einem in 5A dargestellten
Controller, und 5C stellt
ein Beispiel für
eine Codiertabelle dar, die auf die in 5A dargestellten biorthogonalen Codierer
angewendet wird. Ein erweiterter TFCI wird auch durch die Anzahl
der TFCI-Bits definiert. Das heißt, der erweiterte TFCI umfasst
7, 8, 9 oder 10 TFCI-Bits (im Folgenden als erweiterte TFCI-Bits
bezeichnet), die, wie vorher festgestellt, 1 bis 128, 1 bis 256,
1 bis 512 oder 1 bis 1024 verschiedene Informationen darstellen.
-
Unter
Bezugnahme auf die 5A, 5B und 5C teilt ein Controller 500 die
TFCI-Bits in zwei Hälften. Zum
Beispiel gibt der Controller 500 für die Eingabe von 10 erweiterten
TFCI-Bits die erste Hälfte
des erweiterten TFCI als erste TFCI-Bits (Wort 1) und die zweite
Hälfte
als zweite TFCI-Bits (Wort 2) aus. Der erweiterte TFCI wird im wesentlichen
in 10 Bits ausgedrückt.
Daher fügt
der Controller 500 in Fällen,
in den weniger als 10 Bits für
erweiterte TFCI-Bits eingegeben werden, dem MSB der erweiterten
TFCI-Bits 0-Werte hinzu, um den erweiterten TFCI in 10 Bits darzustellen.
Anschließend
teilt der Controller 500 die 10 erweiterten TFCI-Bits in
Wort 1 und Wort 2. Wort 1 und Wort 2 werden jeweils den biorthogonalen
Codierern 502 bzw. 504 zugeführt. Ein Verfahren zum Aufteilen
der erweiterten TFCI-Bits a1 bis a10 in Wort 1 und Wort 2 ist in 5B dargestellt.
-
Der
biorthogonale Codierer
502 generiert ein erstes TFCI-Codewort
mit 16 Symbolen, indem das vom Controller
500 empfangene
Wort 1 codiert wird. Der biorthogonale Codierer
504 generiert
ein zweites TFCI-Codewort mit 16 Symbolen, indem das vom Controller
500 empfangene
Wort 2 codiert wird. Die biorthogonalen Codierer
502 und
504 weisen
vorab festgelegte Codiertabellen für die Ausgabe der TFCI-Codewörter mit
16 Symbolen für
die zwei 5-Bit-TFCI-Eingaben (Wort 1 und Wort 2) auf. Ein Beispiel
für eine
Codiertabelle ist in
5C gezeigt.
Wie in
5C dargestellt,
listet die Codiertabelle 16 orthogonale Codewörter mit einer Länge von
16 Bits c
16.1 bis c
16.16 auf,
und biorthogonale Codewörter
bis
,
die Komplemente der 16 orthogonalen Codewörter sind. Wenn das LSB von
5 TFCI-Bits 1 ist, wählt
der biorthogonale Codierer (
502 oder
504) die
16 biorthogonalen Codewörter.
Wenn das LSB 0 ist, wählt
ein biorthogonaler Codierer die 16 orthogonalen Codewörter. Anschließend wählt der
biorthogonale Codierer eines der gewählten orthogonalen Codewörter oder
biorthogonalen Codewörter
auf der Basis der anderen TFCI-Bits und gibt das gewählte Codewort
als das erste oder zweite TFCI-Codewort aus.
-
Ein
Multiplexer 510 multipliziert das erste und zweite TFCI-Codewort
zu einem endgültigen
32-Symbol-TFCI-Codewort.
-
Nach
Empfang des 32-Symbol-TFCI-Codeworts decodiert ein Empfänger das
TFCI-Codewort separat in
Hälften
(Wort 1 und Wort 2) und erhält
10 TFCI-Bits durch die Kombination der zwei decodierten 5-Bit-TFCI-Hälften. In
dieser Situation führt
ein möglicher
Fehler während
des Decodiervorgangs auch nur in einer Ausgabe des decodierten 5-Bit-TFCI
zu einem Fehler für
alle 10 TFCI-Bits.
-
Ein
erweitertes TFCI-Codewort muss auch eine leistungsstarke Fehlerkorrekturfunktion
besitzen. Dazu muss das erweiterte TFCI-Codewort den in Referenz
1 vorgeschlagenen Mindestabstand aufweisen.
-
Unter
Berücksichtigung
der Anzahl 10 der erweiterten TFCI-Bits und der Anzahl 32 der Symbole
eines TFCI-Codeworts gibt die Referenz 1 für einen optimalen Code den
Mindestabstand 12 an. Eine TFCI-Codewort-Ausgabe aus der in 5A dargestellten Struktur
weist jedoch einen Mindestabstand von 8 auf, weil ein Fehler in
mindestens einem von Wort 1 und Wort 2 während des Decodiervorgangs
zu einem Fehler für
alle 10 TFCI-Bits führt.
Das heißt,
dass, obwohl erweiterte TFCI-Bits separat in Hälften codiert werden, ein Mindestabstand
zwischen den endgültigen
TFCI-Codewörtern
gleich einem Mindestabstand 8 zwischen den Codewort-Ausgaben der
biorthogonalen Codierer 502 und 504 ist.
-
Daher
ist ein TFCI-Codewort, das von der in 5A gezeigten
Codierungsstruktur gesendet wird, nicht optimal, wodurch sich die
Fehlerwahrscheinlichkeit von TFCI-Bits in der gleichen Funkkanalumgebung erhöhen kann.
Mit der Erhöhung
der Fehlerwahrscheinlichkeit für
TFCI-Bits beurteilt der Empfänger
die Datenrate der empfangenen Daten-Frames falsch und decodiert
die Daten-Frames mit einer erhöhten
Fehlerhäufigkeit,
wodurch die Effizienz des IMT-2000-Systems gemindert wird.
-
Gemäß der herkömmlichen
Technologie sind separate Hardware-Strukturen erforderlich, um den
Basis-TFCI und den erweiterten TFCI zu unterstützen. Die Folge davon sind
Einschränkungen
hinsichtlich der Implementierung eines IMT-2000-Systems in Bezug
auf Kosten und Systemgröße.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung
zum Codieren eines Transport Format Combination Indicators bereitzustellen,
die es ermöglicht,
TFCI- Codewörter mit
unterschiedlicher Länge
zu kodieren, und eine verbesserte Fehlerkorrektur bei einer reduzierter
Komplexität
der Hardware bereitzustellen.
-
Diese
Aufgabe wird durch den Gegenstand des Anspruchs 1 gelöst. Bevorzugte
Ausführungsformen sind
Gegenstand der abhängigen
Ansprüche.
-
Es
ist daher ein Aspekt der vorliegenden Erfindung, eine Vorrichtung
und ein Verfahren zum Codieren eines erweiterten TFCI in einem IMT-2000-System
bereitzustellen.
-
Es
ist ebenfalls ein Aspekt der vorliegenden Erfindung, ein Gerät und ein
Verfahren zum kompatiblen Codieren eines Basis-TFCI und eines erweiterten
TFCI in einem IMT-2000-System
bereitzustellen.
-
Es
ist eine weiterer Aspekt der vorliegenden Erfindung, ein Gerät und ein
Verfahren zum Decodieren eines erweiterten TFCI in einem IMT-2000-System
bereitzustellen.
-
Es
ist auch ein weiterer Aspekt der vorliegenden Erfindung, ein Gerät und ein
Verfahren zum kompatiblen Decodieren eines Basis-TFCI und eines
erweiterten TFCI in einem IMT-2000-System bereitzustellen.
-
Es
ist noch ein weiterer Aspekt der vorliegenden Erfindung, ein Gerät und ein
Verfahren zum Generieren eines optimalen Codes durch Codieren eines
erweiterten TFCI in einem IMT-2000-System bereitzustellen.
-
Es
ist ein weiterer Aspekt der vorliegenden Erfindung, ein Verfahren
zum Erzeugen von Maskiersequenzen für die Benutzung bei der Codierung/Decodierung
eines erweiterten TFCI in einem IMT-2000-System bereitzustellen.
-
Um
die oben genannten Aspekt zu erreichen, wird ein Gerät in einem
CDMA-Mobilkommunikationssystem
zum Codieren/Decodieren des TFCI bereitgestellt. Im TFCI-Codiergerät generiert
ein 1-Bit-Generator eine Folge mit den gleichen Symbolen. Ein Generator
für orthogonale
Basisfolgen generiert eine Vielzahl von orthogonalen Basisfolgen.
Ein Generator für
Basis-Maskiersequenzen generiert eine Vielzahl von Basis-Maskiersequenzen.
Eine Operationseinheit empfängt
TFCI-Bits, die aufgeteilt sind in ei nen ersten Informationsteil, der
eine biorthogonale Folgenkonvertierung darstellt, in einen zweiten
Informationsteil, der eine orthogonale Folgenkonvertierung darstellt
und in einen dritten Informationsteil, der eine Maskiersequenzkonvertierung
darstellt, und kombiniert eine orthogonale Folge, die aus der orthogonalen
Basisfolge basierend auf der zweiten Information gewählt wird,
eine biorthogonale Folge, die durch die Kombination der gewählten orthogonalen Folge
mit den gleichen Symbolen erhalten wird, die basierend auf dem ersten
Informationsteil gewählt
wird, und eine Maskiersequenz, die basierend auf der biorthogonalen
Codefolge und dem dritten Informationsteil gewählt wird, wodurch eine TFCI-Folge
generiert wird.
-
Die
oben genannten und andere Aufgaben, Funktionen und Vorteile der
vorliegenden Erfindung werden anhand der folgenden detaillierten
Beschreibung in Verbindung mit den begleitenden Zeichnungen offensichtlich.
-
1A bis 1D stellen Beispiele für die Anwendung
eines TFCI für
die Kanaleinteilung von Frames in einem allgemeinen IMT-2000-System
dar;
-
2 ist ein Blockdiagramm
eines Basisstation-Senders im allgemeinen IMT-2000-System;
-
3 ist ein Blockdiagramm
eines Mobilstation-Senders im allgemeinen IMT-2000-System;
-
4A stellt das Konzept einer
Basis-TFCI-Codierungsstruktur in einem herkömmlichen IMT-2000-System dar;
-
4B ist ein Beispiel für eine Codiertabelle,
die in einem in 4A gezeigten
biorthogonalen Codierer verwendet wird;
-
5A stellt das Konzept einer
erweiterten TFCI-Codierungsstruktur in einem herkömmlichen IMT-2000-System
dar;
-
5B ist ein Beispiel für einen
Algorithmus zum Verteilen von TFCI-Bits in einem in 5A gezeigten Controller;
-
5C ist ein Beispiel für eine Codiertabelle,
die in den in 5A gezeigten
biorthogonalen Codierern verwendet wird;
-
6 stellt das Konzept einer
TFCI-Codierungsstruktur in einem IMT-2000-System gemäß der vorliegenden
Erfindung dar;
-
7 ist ein Flußdiagramm,
das eine Ausführungsform
eines Maskiersequenz-Generierungsverfahrens
für die
TFCI-Codierung im IMT-2000-System gemäß der vorliegenden Erfindung
zeigt;
-
8 ist ein Blockdiagramm
einer Ausführungsform
eines TFCI-Codiergeräts
im IMT-2000-System gemäß der vorliegenden
Erfindung;
-
9 ist ein Blockdiagramm
einer Ausführungsform
eines TFCI-Decodiergeräts
im IMT-2000-System gemäß der vorliegenden
Erfindung;
-
10 ist ein Flußdiagramm,
das einen Steuervorgang eines in 9 gezeigten
Korrelationskomparators zeigt;
-
11 ist ein Flußdiagramm,
das eine Ausführungsform
eines TFCI-Codierverfahrens im IMT-2000-System gemäß der vorliegenden
Erfindung zeigt;
-
12 ist ein Flußdiagramm,
das eine weitere Ausführungsform
eines TFCI-Codierverfahrens
im IMT-2000-System gemäß der vorliegenden
Erfindung zeigt;
-
13 stellt eine Ausführungsform
der Strukturen von orthogonalen Folgen und Maskiersequenzen dar,
die durch einen TFCI gemäß der vorliegenden
Erfindung festgelegt werden;
-
14 ist ein Blockdiagramm
einer weiteren Ausführungsform
des TFCI-Codiergeräts
im IMT-2000-System gemäß der vorliegenden
Erfindung;
-
15 ist ein Blockdiagramm
einer weiteren Ausführungsform
des TFCI-Decodiergeräts im IMT-2000-System
gemäß der vorliegenden
Erfindung;
-
16 ist ein Flußdiagramm,
das eine weitere Ausführungsform
eines TFCI-Codierverfahrens
im IMT-2000-System gemäß der vorliegenden
Erfindung zeigt; und
-
17 ist ein Blockdiagramm
einer dritten Ausführungsform
des TFCI-Decodiergeräts
im IMT-2000-System gemäß der vorliegenden
Erfindung.
-
Die
bevorzugten Ausführungsformen
der vorliegenden Erfindung werden im Folgenden unter Bezugnahme
auf die begleitenden Zeichnungen beschrieben. In der folgenden Beschreibung
sind bekannte Funktionen oder Konstruktionen nicht im Detail beschrieben,
da sie die Erfindung durch unnötige
Details unverständlich
machen würden.
-
Die
vorliegende Erfindung bezieht sich auf ein TFCI-Codierungskonzept,
das endgültige
Codesymbole (ein TFCI-Codewort) ausgibt, indem erste Codesymbole
(ein erstes TFCI-Codewort),
die aus ersten TFCI-Bits stammen, und zweite Codesymbole (ein zweites
TFCI-Codewort), die aus zweiten TFCI-Bits stammen, in einem IMT-2000-System
hinzugefügt
werden. Das TFCI-Codierungskonzept wird in 6 dargestellt. Hier werden eine biorthogonale
Sequenz und eine Maskiersequenz als das erste TFCI-Codewort bzw.
das zweite TFCI-Codewort angegeben.
-
Unter
Bezugnahme auf 6 werden
TFCI-Bits in die ersten TFCI-Bits und die zweiten TFCI-Bits getrennt.
Ein Maskiersequenzgenerator 602 generiert eine vorab festgelegte
Maskiersequenz durch die Codierung der zweiten TFCI-Bits, und ein
biorthogonaler Folgengenerator 604 generiert eine vorab
festgelegte biorthogonale Folge (Sequenz) durch die Codierung der
ersten TFCI-Bits. Ein Addier 610 addiert die Maskiersequenz
und die biorthogonale Folge und gibt endgültige Codesymbole (ein TFCI-Codewort)
aus. Der Maskiersequenzgenerator 602 kann eine Codiertabelle
aufweisen, in der Maskiersequenzen für alle möglichen zweiten TFCI-Bits aufgelistet
sind. Der biorthogonale Folgengenerator 604 kann ebenfalls
eine Codiertabelle besitzen, in der biorthogonale Folgen für alle möglichen
ersten TFCI-Bits aufgelistet sind.
-
Wie
oben beschrieben, müssen
Maskenfolgen (Maskiersequenzen) und ein Generierungsverfahren für Maskenfolgen
definiert sein, um die vorliegende Erfindung zu imple mentieren.
Walsh-Codes werden als orthogonale Folgen als Beispiele in Ausführungsformen
der vorliegenden Erfindung vorgegeben.
-
1. Generierungsverfahren
für Maskiersequenzen
-
Die
vorliegende Erfindung betrifft die Codierung und Decodierung von
TFCI-Bits und die Verwendung eines erweiterten Reed-Muller-Codes
in einem IMT-2000-System. Für
diesen Zweck werden vorab festgelegte Folgen verwendet, und die
Folgen müssen
einen Mindestabstand aufweisen, der ein hervorragende Fehlerkorrekturleistung
sicherstellt.
-
Ein
wesentlicher Parameter, der die Leistung oder Fähigkeit eines linearen Fehlerkorrekturcodes
festlegt, ist ein Mindestabstand zwischen den Codewörtern des
Fehlerkorrekturcodes. Das Hamming-Gewicht eines Codeworts ist die
Anzahl seiner Symbole, die nicht gleich 0 sind. Wenn ein Codewort
mit "0111" angegeben ist, ist
sein Hamming-Gewicht
3. Das kleinste Hamming-Gewicht eines Codeworts, mit Ausnahme eines Codeworts,
das nur aus "0" besteht, wird als
Mindestgewicht bezeichnet, und der Mindestabstand jedes binären Linearcodes
ist gleich dem Mindestgewicht. Ein linearer Fehlerkorrekturcode
weist eine bessere Fehlerkorrekturteistung auf, weil der Mindestabstand
höher ist.
Nähere
Informationen finden Sie in "The
Theory of Error-Correcting Codes",
F.J. Macwilliams und H.J.A.Sloane, North-Holland (im Folgenden als
Referenz 2 bezeichnet).
-
Ein
erweiterter Reed-Muller-Code kann von einem Satz von Folgen abgeleitet
werden, wobei jede die Summe der Elemente einer m-Folge und einer
vorab festgelegten Folge ist. Damit der Satz von Folgen als linearer
Fehlerkorrekturcode verwendet werden kann, muss die Folge einen
großen
Mindestabstand aufweisen. Solche Sätze von Folgen umfassen ein
Kasami-Folgensatz, ein Gold-Folgensatz und ein Kerdock-Folgensatz. Wenn
die Gesamtlänge
einer Folge in einem derartigen Folgensatz L = 22m beträgt, ist
ein Mindestabstand gleich (22m–2m)/2. Für
L = 22m+1 beträgt der Mindestabstand (22m+1–22m)/2. Das heißt, wenn L = 32, beträgt der Mindestabstand
12.
-
Ein
Verfahren zum Generieren eines linearen Fehlerkorrekturcodes mit
ausgezeichneter Leistung wird beschrieben, d.h. ein erweiterter
Fehlerkorrekturcode (Walsh-Codes und Maskenfolgen).
-
Gemäß einer
Codierungstheorie gibt es eine Spaltentranspositionsfunktion für die Erstellung
von Walsh-Codes aus m-Folgen in einer Gruppe, die durch n-maliges
zyklisches Verschieben einer anfänglichen m-Folge
um eins gebildet wird, wobei "n" eine Länge der
m-Folge ist. Mit anderen Worten, jede der m-Folgen wird durch zyklisches
Verschieben der anfänglichen
m-Folge um eine bestimmte Anzahl von Malen gebildet. Die Spaltentranspositionsfunktion
ist eine Konvertierungsfunktion, die Folgen in der m-Folgengruppe in Walsh-Codes
konvertiert. Wir gehen davon aus, dass es eine Folge gibt, wie beispielsweise
eine Gold-Folge oder eine Kasami-Folge, die durch Addieren der anfänglichen
m-Folge zu einer anderen anfänglichen
m-Folge gebildet wird. Eine weitere Gruppe von m-Folgen wird in ähnlicher
Weise durch n-maliges zyklisches Verschieben der anderen anfänglichen
m-Sequenz um eins gebildet, wobei "n" die
Länge der
vorab festgelegten Folge ist. Danach wird eine umgekehrte Spaltentranspositionsfunktion
auf die zweite Gruppe von m-Folgen angewendet, die aus der anderen
anfänglichen
m-Folge gebildet wurden. Die Anwendung der umgekehrten Spaltentranspositionsfunktion
auf die zweite Gruppe von m-Folgen erstellt einen weiteren Satz
von Folgen, die als Maskenfolgen definiert werden.
-
In
einer Ausführungsform
wird ein Verfahren zum Generieren von Maskenfolgen in Verbindung
mit der Generierung eines (2
n, n+k)-Codes
(erweiterter Reed-Muller-Code) beschrieben, (wobei k = 1, ..., n+1),
wobei ein Gold-Folgensatz verwendet wird. Der (2
n,
n+k)-Code stellt die Ausgabe eines 2
n-Symbol-TFCI-Codeworts für die Eingabe
von (n+k) TFCI-Bits (Eingabe-Informationsbits) dar. Es ist bekannt,
dass eine Gold-Folge als die Summe von zwei verschiedenen m-Folgen
ausgedrückt
werden kann. Zum Generieren des (2
n, n+k)-Codes
müssen
daher Gold-Folgen mit der Länge
(2
n–1)
erzeugt werden. In diesem Fall ist eine Gold-Folge die Summe von
zwei m-Folgen m
1(t) und m
2(t),
die aus den Generator-Polynomen f1(x) und f2(x) generiert wurden. Wenn
die Generatorpolynome f1(x) und f2(x) lauten, werden die m-Folgen
m
1(t) und m
2(t)
mit Hilfe einer Trace-Funktion berechnet.
wobei
A durch den Anfangswert einer m-Folge bestimmt wird, a die Wurzel
des Polynoms und n die Potenz des Polynoms ist.
-
7 ist ein Fließdiagramm,
das ein Verfahren zum Generieren der Maskenfolge zur Verwendung beim
Generieren eines (2n, n+k)-Codes aus einer
Gold-Folgesatz ist.
-
Unter
Bezugnahme auf
7 werden
die m-Folgen m
1(t) und m
2(t)
in der Gleichung 1 mit Hilfe der Generator-Polynome f1(x) und f2(x)
jeweils in Schritt
710 generiert. In Schritt
712 wird
eine Folgentranspositionsfunktion σ(t) berechnet, um Walsh-Codes
aus einem Folgensatz zu erstellen, dessen m-Folgen durch 0 bis n-2-malige
zyklische Verschiebung von m
2(t) gebildet
wurden, wobei eine reine "0"-Spalte vor den aus
m
2(t) gebildeten m-Folgen eingefügt wird,
wie nachstehend gezeigt:
-
Für einen
Satz von 31 Folgen, das durch zyklisches Verschieben der m-Folge
m1(t) um 0 bis 30 Mal erzeugt wird, erfolgt
in Schritt 730 eine Spaltentransposition mit Hilfe des
aus der Umkehrfunktion von σ(t)
abgeleiteten σ–1(t)+2.
Anschließend
werden 0-Werte an den Beginn jeder aus der Spaltentransposition
stammenden Folge angefügt,
um die Länge
der Folge 2n zu erstellen. Auf diese Weise
wird ein Satz di(t) von (2n–1) Folgen
mit der Länge
2n (i = 0, ..., 2n–2, t =
1, ..., 2n) generiert.
-
-
Eine
Vielzahl von di(t) sind Maskenfunktionen,
die als 31 Masken verwendet werden können.
-
di(t) ist dadurch gekennzeichnet, dass zwei
verschiedene Masken aus den vorgenannten Masken zu einer von (2n–1)
Masken hinzugefügt
werden, ausgenommen die zwei Masken. Allgemein formuliert kann jede der
(2n–1)
Masken als die Summe von mindestens zwei bestimmten von n Masken
ausgedrückt
werden. Die n Masken werden als Basismaskenfolgen bezeichnet. Wenn
der (2n, n+k)-Code generiert werden soll,
beträgt die
Gesamtanzahl der erforderlichen Codewörter 2n+k für n+k Eingabeinformationsbits
(TFCI-Bits). Die Anzahl der 2n orthogonalen
Folgen (Walsh-Folgen) und ihrer Komplemente, d.h. biorthogonalen
Folgen, ist 2n × 2 = 2n+1.
2k–1(=
(2n+k/2n+1)–1) Masken,
die keine 0-Werte sind, werden zum Generieren des (2n,
n+k)-Codes benötigt. Hier
können
die 2k–1–1 Masken
durch die Verwendung der k-1-Basismaskenfolgen ausgedrückt werden,
wie vorher festgestellt.
-
Im
Anschluss wird ein Verfahren für
die Auswahl der k–1
Basismaskenfolgen beschrieben. Die m-Folge m
1(t)
wird zyklisch um 0 bis 2
n–1 mal verschoben, um
im Schritt
730 von
7 einen
Satz von Folgen zu generieren. Hier wird eine m-Folge, die durch
zyklisches Verschieben der m-Folge m
1(t)
um i Mal erhalten wurde, als Tr(α
i·α
t)
gemäß Gleichung
1 ausgedrückt.
Das heißt,
ein Satz von Folgen wird durch zyklisches Verschieben der m-Folge
m
1(t) um 0 bis 30 Mal in Bezug auf eine
anfängliche
Folge A = {1, α,
..., α
2n–2}
generiert. Hier liegen linear unabhängige k–1 Basiselemente aus den Galois-Elementen
1, α, ..., α
2n–2 und
Maskenfolgen vor, die den Ausgabefolgen einer Trace-Funktion entsprechen,
wobei die k–1
Basiselemente als anfängliche Folge
zu Basismaskenfolgen werden. Eine lineare Unabhängigkeitsbedingung wird ausgedrückt als
-
Um
das oben genannte verallgemeinerte Verfahren zum Generieren einer
Maskenfunktion im Detail zu beschreiben, wird unter Bezugnahme auf
7 beschrieben, wie ein (32,
10)-Code unter Verwendung eines Gold-Folgensets generiert wird.
Es ist bekannt, dass eine Gold-Folge als die Summe verschiedener
vorab festgelegter m-Folgen ausgedrückt wird. Daher muss zuerst
eine Gold-Folge mit der Länge
31 generiert werden, damit der gewünschte (32, 10)-Code generiert
werden kann. Die Gold-Folge ist die Summe von zwei m-Folgen, die
jeweils von den Polynomen x
5 + x
2 + 1 und x
5 + x
4 + x + 1 generiert wurden. Mit dem entsprechenden
Generatorpolynom wird jede der m-Folgen m
1(t)
und m
2(t) mit Hilfe einer Trace-Funktion
berechnet über
wobei
A durch den anfänglichen
Wert der m-Folge bestimmt wird, a die Wurzel des Polynoms und n
die Potenz des Polynoms ist, in diesem Fall 5.
-
7 stellt das Verfahren zum
Generieren der Maskenfunktion zur Generierung des (32, 10)-Codes dar.
-
Unter
Bezugnahme auf
7 werden
die m-Folgen m
1(t) und m
2(t)
in Gleichung 1 mit Hilfe der Generator-Polynome f1(x) und f2(x)
jeweils in Schritt
710 generiert. In Schritt
712 wird
eine Spaltentranspositionsfunktion σ(t) berechnet, um Walsh-Codes
aus einem Folgensatz zu erstellen über
-
Für einen
Satz von 31 Folgen, das durch zyklisches Verschieben der m-Folge
m
1(t) um 0 bis 30 Mal erzeugt wird, erfolgt
anschließend
in Schritt
730 eine Spaltentransposition mit Hilfe des
aus der Umkehrfunktion von σ(t)
abgeleiteten σ
–1(t)+2.
Anschließend
werden 0-Werte an den Beginn jeder aus der Folgentransposition stammenden
Folge angefügt,
um die Länge
der Folge 31 zu erstellen. Auf diese Weise werden 31 d
i(t) mit
der Länge
32 generiert. Wobei hier gilt: wenn i = 0, ..., 31, t = 1, ... 32.
Das in Schritt
730 generierte Folgensatz kann ausgedrückt werden
als
-
Eine
Vielzahl von di(t), die aus Gleichung 7
erhalten wurden, kann als 31 Maskenfolgen verwendet werden.
-
di(t) ist dadurch gekennzeichnet, dass zwei
verschiedene Masken aus den vorgenannten Masken zu einer von 31
Masken hinzugefügt
werden, ausgenommen die zwei Masken. Mit anderen Worten kann jede
der 31 Masken als die Summe von 5 bestimmten Masken ausgedrückt werden.
Diese 5 Masken sind Basismaskenfolgen.
-
Wenn
der (31, 10)-Code generiert werden soll, beträgt die Gesamtanzahl der erforderlichen
Codewörter
2n = 1024 für alle möglichen 10 Eingabeinformationsbits
(TFCI-Bits). Die Anzahl der biorthogonalen Folgen mit der Länge 32 beträgt 32 × 2 = 64.
15 Masken werden zum Generieren des (32, 10)-Codes benötigt. Die
15 Masken können
als Kombination von 4 Basismaskenfolgen ausgedrückt werden.
-
Im
Anschluss wird ein Verfahren für
die Auswahl der 4 Basismaskenfolgen beschrieben. Eine m-Folge, die
durch zyklisches Verschieben der m-Folge m
1(t)
um i Mal erhalten wurde, als Tr(α
i–α
t)
gemäß Gleichung
1 ausgedrückt.
Das heißt,
ein Satz von Folgen wird durch zyklisches Verschieben der m-Folge
m
1(t) um 0 bis 30 Mal in Bezug auf eine
Anfangsfolge A = {1, α,
..., α
2n– 2} generiert. Hier liegen 4 linear unabhängige Basiselemente
aus den Galois-Elementen 1, α,
..., α
2n–2 und
Maskenfolgen vor, die den Ausgabefolgen einer Trace-Funktion entsprechen,
wobei die 4 Basiselemente als Anfangsfolge zu Basismaskenfolgen
werden. Eine lineare Unabhängigkeitsbedingung
wird ausgedrückt
als
-
Tatsächlich sind
1, α, α2, α3 in
den Galois-Elementen GF (25) Polynom-Subbasen,
die als vier linear unabhängige
Elemente bekannt sind. Durch Ersetzen der Variablen A in Gleichung
1 durch die Polynom-Basen werden vier Basismaskenfolgen M1, M2,
M4 und M8 erhalten.
M1 = 00101000011000111111000001110111
M2
= 00000001110011010110110111000111
M3 = 00001010111110010001101100101011
M4
= 00011100001101110010111101010001
-
Anschließend wird
ein Gerät
und Verfahren zum Codieren/Decodieren eines TFCI beschrieben, wobei Basismaskenfolgen
verwendet werden, die auf die oben genannte Weise in einem IMT-2000-System
gemäß den Ausführungsformen
der vorliegenden Erfindung erhalten werden.
-
2. Erste Ausführungsform
eines Geräts
zum Codieren/Decodieren
-
Die 8 und 9 sind Blockdiagramme von TFCI-Codier-
und Decodiergeräten
in einem IMT-2000-System gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
Unter
Bezugnahme auf 8 werden
10 TFCI-Bits a0 bis a9 auf die entsprechenden Multiplizierer 840 bis 849 angewendet.
Ein 1-Bit-Generator 800 generiert kontinuierlich ein vorab
festgelegtes Code-Bit. Das bedeutet, da sich die vorliegende Erfindung
mit biorthogonalen Folgen beschäftigt,
dass die erforderlichen Bits für
die Erstellung einer biorthogonalen Folge aus einer orthogonalen
Folge generiert werden. Beispielsweise generiert der 1-Bit-Generator
800 Bits mit 1-Werten, um eine orthogonale Folge (d.h. einen Walsh-Code)
umzukehren, die von einem Basis-Walsh-Code-Generator 810 generiert
wird, und damit eine biorthogonale Folge zu generieren. Der Basis-Walsh-Code-Generator 810 generiert
Basis-Walsh-Codes einer vorab festgelegten Länge. Die Basis-Walsh-Codes verweisen
auf Walsh-Codes, von denen aus alle gewünschten Walsh-Codes durch freies
Addieren erzeugt werden können.
Wenn beispielsweise Walsh-Codes
der Länge
32 verwendet werden, sind die Basis-Walsh-Codes der 1., 2., 4.,
8. und 16. Walsh-Code W1, W2, W4, W8 und W16, wobei:
W1:
01010101010101010101010101010101
W2: 00110011001100110011001100110011
W4:
00001111000011110000111100001111
W8: 00000000111111110000000011111111
W16:00000000000000001111111111111111
-
Ein
Basismaskiersequenz-Generator 820 generiert eine Basismaskiersequenz
einer vorab festgelegten Länge.
Ein Verfahren zum Generieren einer Basismaskiersequenzen wurde vorher
bereits beschrieben und die Details werden nicht erläutert. Wenn
eine Maskiersequenz mit der Länge
32 verwendet wird, sind die Basismaskiersequenzen die 1., 2., 4.
und 8. Maskiersequenz M1, M2, M4, M8, wobei:
M1: 00101000011000111111000001110111
M2:
00000001110011010110110111000111
M4: 00001010111110010001101100101011
M8:
00011100001101110010111101010001
-
Der
Multiplizierer 840 multipliziert die ausgegebenen 1-Werte
des 1-Bit-Generators 800 symbolweise mit dem Eingabeinformationsbit
a0.
-
Der
Multiplizierer 841 multipliziert den Basis-Walsh-Code W1,
der vom Basis-Walsh-Code-Generator 810 empfangen
wird, mit dem Eingabeinformationsbit a1. Der Multiplizierer 842 multipliziert
den Basis-Walsh-Code W2, der vom Basis-Walsh-Code-Generator 810 empfangen
wird, mit dem Eingabeinformationsbit a2. Der Multiplizierer 843 multipliziert
den Basis-Walsh-Code W4, der vom Basis-Walsh-Code-Generator 810 empfangen
wird, mit dem Eingabeinformationsbit a3. Der Multiplizierer 844 multipliziert
den Basis-Walsh-Code W8, der vom Basis-Walsh-Code-Generator 810 empfangen
wird, mit dem Eingabeinformationsbit a4. Der Multiplizierer 845 multipliziert
den Basis-Walsh-Code
W16, der vom Basis-Walsh-Code-Generator 810 empfangen wird,
mit dem Eingabeinformationsbit a5. Die Multiplizierer 841 bis 845 multiplizieren
die empfangenen Basis-Walsh-Codes W1, W2, W4, W8 und W16 symbolweise
mit ihren entsprechenden Eingabeinformationsbits.
-
In
der Zwischenzeit multipliziert der Multiplizierer 846 die
Basismaskenfolge M1 mit dem Eingabeinformationsbit a6. Der Multiplizierer 847 multipliziert
die Basismaskenfolge M2 mit dem Eingabeinformationsbit a7. Der Multiplizierer 848 multipliziert
die Basismaskenfolge M4 mit dem Eingabeinformationsbit a8. Der Multiplizierer 849 multipliziert
die Basismaskenfolge M8 mit dem Eingabeinformationsbit a9. Die Multiplizierer 846 bis 849 multiplizieren
die empfangenen Basismaskenfolgen M1, M2, M4 und M8 symbolweise
mit ihren entsprechenden Eingabeinformationsbits.
-
Ein
Addierglied 860 addiert die codierten Eingabeinformationsbits,
die von den Multiplizierer 840 bis 849 empfangen
werden und gibt die endgültigen
Codesymbole mit einer Länge
von 32 Bits (ein TFCI-Codewort) aus. Die Länge der endgültigen Codesymbole
(TFCI-Codewort) wird durch die Längen
der Basis-Walsh-Codes festgelegt, die vom Basis-Walsh-Code-Generator 810 generiert
werden, und der Basismaskenfolgen, die vom Basismaskenfolgen-Generator 820 generiert
werden.
-
Wenn
beispielsweise die Eingabeinformationsbits a0 bis a9 "0111011000" lauten, multipliziert
der Multiplizierer 840 0 als a0 mit 1-Werten, die vom 1-Bit-Generator
800 empfangen werden und generiert 32 Codesymbole, die alle "0"-Werte aufweisen. Der Multiplizierer 841 multipliziert
1 als a1 mit vom Basis-Walsh-Code-Generator 810 empfangenem W1 und
generiert Codesymbole "01010101010101010101010101010101". Der Multiplizierer 842 multipliziert
1 als a2 mit vom Basis-Walsh-Code-Generator 810 empfangenem W2 und
generiert Codesymbole "00110011001100110011001100110011". Der Multiplizierer 843 multipliziert
1 als a3 mit vom Basis-Walsh-Code-Generator 810 empfangenem W4 und
generiert Codesymbole "00001111000011110000111100001111". Der Multiplizierer 844 multipliziert
0 als a4 mit vom Basis-Walsh-Code-Generator 810 empfangenem W8 und generiert
32 Codesymbole, die alle "0"-Werte aufweisen.
Der Multiplizierer 845 multipliziert 1 als a5 mit vom Basis-Walsh-Code-Generator
810 empfangenem W16 und generiert "00000000000000001111111111111111". Der Multiplizierer 846 multipliziert
1 als a6 mit dem vom Basismaskenfolgen-Generator 820 empfangenen
M1 und generiert "00101000011000111111000001110111". Der Multiplizierer 847 multipliziert
0 als a7 mit dem vom Basismaskenfolgen-Generator 820 empfangenen
M2 und generiert 32 Codesymbole, die alle "0"-Werte
aufweisen. Der Multiplizierer 848 multipliziert 0 als a8
mit dem vom Basismaskenfolgen-Generator 820 empfangenen
M4 und generiert 32 Codesymbole, die alle "0"-Werte
aufweisen. Der Multiplizierer 849 multipliziert 0 als a9
mit dem vom Basismaskenfolgen-Generator 820 empfangenen
M8 und generiert 32 Codesymbole, die alle "0"-Werte
aufweisen. Das Addierglied 860 addiert die von den Multiplizierer
840 bis 849 empfangenen Codesymbole und gibt endgültige Codesymbole "01000001000010100110011011100001" aus. Die endgültigen Codesymbole
können durch
symbolweises Addieren der Basis-Walsh-Codes W1, W2, W4 und W16,
die den Informationsbits mit 1-Werten entsprechen, zur Basismaskenfolge
M1 erhalten werden. Mit anderen Worten, die Basis-Walsh-Codes W1,
W2, W4 und W16 werden zu W23 summiert und der Walsh-Code W23 und die
Basismaskenfolge M1 werden addiert, um das TFCI-Codewort (die endgültigen Codesymbole)
(= W23 + M1) zu bilden, das vom Addierglied 860 ausgegeben
wird.
-
11 ist ein Flußdiagramm,
das eine Ausführungsform
eines TFCI-Codierverfahrens im IMT-2000-System gemäß der vorliegenden
Erfindung zeigt Unter Bezugnahme auf 11 werden
die Eingabeinformationsbits (d.h. TFCI-Bits) empfangen, und die
Variablensumme und j werden in Schritt 1100 auf einen Anfangswert
0 gesetzt. Die Variablensumme gibt endgültige Codesymbole an, und j
gibt die Anzahl der endgültigen
Codesymbole an, die nach dem symbolweisen Addieren ausgegeben werden.
In Schritt 1110 wird festgestellt, ob j hinsichtlich der
Symbole mit der Länge
32 der Walsh-Codes und Maskenfolgen gleich 32 ist, die zum Codieren
der Eingabeinformationsbits verwendet werden. Schritt 1110 wird
ausgeführt,
um zu prüfen, ob
die Eingabeinformationsbits symbolweise mit den Walsh-Codes und
den Maskenfolgen codiert sind.
-
Wenn
j in Schritt 1110 nicht 32 ist, was impliziert, dass die
Eingabeinfonnationsbits in Bezug auf alle Symbole der Walsh-Codes
nicht vollständig
codiert sind, werden die Maskenfolgen, j-ten Symbole W1(j), W2(j),
W4(j), W8(j) und W16(j) der Basis-Walsh-Codes W1, W2, W4, W8 und W16 und die
j-ten Symbole M1(j), M2(j), M4(j) und M8(j) der Basismaskenfolgen
M1, M2, M4 und M8 in Schritt 1120 empfangen. Anschließend werden
die empfangenen Symbole mit den Eingabeinformationsbits symbolweise
multipliziert und die Symbolprodukte werden in Schritt 1130 summiert.
Die Summe wird die Variablensumme.
-
Schritt
1130 lässt sich
ausdrücken
als
-
Wie
aus Gleichung 9 hervorgeht, werden die Eingabeinformationsbits mit
entsprechenden Symbolen der Basis-Walsh-Codes und Basismaskenfolgen
multipliziert, die Symbolprodukte werden summiert und die Summe
wird ein gewünschtes
Codesymbol.
-
In
Schritt 1140 wird die Summe ausgegeben, die angibt, dass
das j-te Codesymbol erreicht wurde. j wird in Schritt 1150 um
1 erhöht,
und anschließend
kehrt das Verfahren wieder zu Schritt 1110 zurück. Wenn im
Schritt 1110j gleich 32 ist, endet das Codierungsverfahren.
-
Das
Codiergerät
aus 8 gemäß der Ausführungsform
der vorliegenden Erfindung kann erweiterte TFCIs und Basis-TFCIs
unterstützen.
Codierer, die einen erweiterten TFCI unterstützen, umfassen einen (32, 10)-Codierer,
einen (32, 9)-Codierer und einen (32, 7)-Codierer.
-
Für die Eingabe
von 10 Eingabeinformationsbits gibt der (32, 10)-Codierer eine Kombination
von 32 Walsh-Codes mit der Länge
32, 32 biorthogonalen Codes, die aus den Walsh-Codes invertiert
wurden, und 15 Maskenfolgen aus. Die 32 Walsh-Codes können aus
Kombinationen von 5 Basis-Walsh-Codes generiert werden. Die 32 biorthogonalen
Codes können
durch Addieren von 1 zu den 32 Symbolen jedes Walsh-Codes erhalten
werden. Dieses Ergebnis wirkt sich genau so aus wie die Multiplikation
von –1
mit den 32 Walsh-Codes, die als reale Zahlen betrachtet werden.
Die 15 Maskenfolgen können
durch Kombinationen von 5 Basismaskenfolgen erhalten werden. Daher
können
mit Hilfe des (32, 10)-Codierers insgesamt 1024 Codewörter erzeugt
werden.
-
Der
(32, 9)-Codierer empfängt
9 Eingabeinformationsbits und gibt eine Kombination von 32 Walsh-Codes
mit der Länge
32, 32 biorthogonalen Codes, die aus den Walsh-Codes invertiert
wurden, und 4 Maskenfolgen aus. Die 4 Maskenfolgen werden durch
die Kombination von 4 Basismaskenfolgen erhalten.
-
Der
(32, 7)-Codierer empfängt
7 Eingabeinformationsbits und gibt eine Kombination von 32 Walsh-Codes
mit einer der Längen
der 1024 Codewörter,
32 biorthogonalen Codes, die aus den Walsh-Codes invertiert wurden,
und einer von 4 Basismaskenfolgen aus.
-
Die
oben genannten Codierer zum Bereitstellen von erweiterten TFCIs
weisen einen Mindestabstand 12 auf und können durch Blockieren der Eingabe
und Ausgabe von mindestens einer der 4 Basismaskenfolgen implementiert
werden, die über
den Basismaskenfolgen-Generator 820 generiert wurden.
-
Das
heißt,
der (32, 9)-Codierer kann implementiert werden, indem die Eingabe
und Ausgabe einer der vier Basismaskenfolgen blockiert wird, die über den
in 8 dargestellten Basismaskenfolgen-Generator 820 generiert
werden. Der (32, 8)-Codierer kann implementiert werden, indem die
Eingabe und Ausgabe von zwei der Basismaskenfolgen blockiert wird,
die über
den Basismaskenfolgen-Generator 820 generiert werden. Der (32,
7)-Codierer kann implementiert werden, indem die Eingabe und Ausgabe
von drei der Basismaskenfolgen blockiert wird, die über den
Basismaskenfolgen-Generator 820 generiert werden. Wie oben
beschrieben, kann das Codiergerät
gemäß der Ausführungsform
der vorliegenden Erfindung je nach Anzahl der Eingabeinformationsbits
flexibel codieren, d.h. je nach Anzahl der zu übertragenden TFCI-Bits, und
maximiert einen Mindestabstand, der durch die Leistung des Codiergeräts bestimmt
wird.
-
Codewörter sind
im oben genannten Codiergerät
Folgen, die aus der Kombination von 32 Walsh-Codes mit der Länge 32,
32 biorthogonalen Codes, die durch Addieren von 1-Werten zu den Walsh-Codes
erzielt werden, und 15 Maskenfolgen mit der Länge 15 erhalten werden. Die
Struktur der Codewörter
ist in 13 dargestellt.
-
Zum
besseren Verständnis
des Codierverfahrens für
TFCI-Bits listen die Tabellen 1a bis 1f Codesymbole (TFCI-Codewörter) zu
10 TFCI-Bits auf. (Tabelle
1a)
(Tabelle
1b)
(Tabelle
1c)
(Tabelle
1d)
(Tabelle
1e)
(Tabelle
1f)
-
Das
Decodiergerät
gemäß der Ausführungsform
der vorliegenden Erfindung wird unter Bezugnahme auf 9 beschrieben. Ein Eingabesignal
r(t) wird auf 15 Multiplizierer 902 bis 906 und
einen Korrelationsrechner 920 angewendet. Das Eingabesignal
r(t) wird mit einem vorab festgelegten Walsh-Code und einer vorab festgelegten
Maskenfolge in einem Sender codiert. Ein Maskenfolgengenerator 910 generiert
alle möglichen 15
Maskenfolgen M1 bis M15. Die Multiplizierer 902 bis 906 multiplizieren
die vom Maskenfolgengenerator 910 empfangenen Maskenfolgen
mit dem Eingabesignal r(t). Der Multiplizierer 902 multipliziert
das Eingabesignal r(t) mit der vom Maskenfolgengenerator 910 empfangenen
Maskenfolge M1. Der Multiplizierer 904 multipliziert das
Eingabesignal r(t) mit der vom Maskenfolgengenerator 910 empfangenen
Maskenfolge M2. Der Multiplizierer 906 multipliziert das
Eingabesignal r(t) mit der vom Maskenfolgengenerator 910 empfangenen
Maskenfolge M15. Wenn der Sender TFCI-Bits mit der vorab festgelegten
Maskenfolge codiert hat, enthält
eine der Ausgaben der Multiplizierer 902 bis 906 die
Maskenfolge nicht, was bedeutet, dass die Maskenfolge keine Auswirkung
auf die Korrelationen hat, die von einem der Korrelationsrechner
berechnet werden. Wenn der Sender beispielsweise die Maskenfolge
M2 für
die Codierung der TFCI-Bits verwendet hat, enthält die Ausgabe des Multiplizierers 904,
der die Maskenfolge M2 mit dem Eingabesignal r(t) multipliziert,
die Maskenfolge nicht. Das maskenfolgenfreie Signal sind TFCI-Bits,
die mit dem vorab festgelegten Walsh-Code codiert sind. Die Korrelationsrechner 920 bis 926 berechnen
die Korrelationen des Eingabesignals r(t) und die Ausgaben der Multiplizierer 902 bis 906 zu
64 biorthogonalen Codes. Die 64 biorthogonalen Codes werden vorher
definiert. Der Korrelationsrechner 920 berechnet die Korrelationswerte
des Eingabesignals r(t) zu den 64 biorthogonalen Codes mit der Länge 32,
wählt den
höchsten
Korrelationswert aus den 64 Korrelationen aus und gibt den gewählten Korrelationswert,
einen biorthogonalen Code-Index, der dem gewählten Korrelationswert entspricht,
und seinen eindeutigen Index "0000" an einen Korrrelationskomparator 940 aus.
-
Der
Korrelationsrechner 922 berechnet die Korrelationswerte
der Ausgabe des Multiplizierers 902 zu den 64 biorthogonalen
Codes, wählt
den Höchstwert
der 64 Korrelationen und gibt den gewählten Korrelationswert, einen
biorthogonalen Code-Index, welcher der gewählten Korrelation entspricht,
und seinen eindeutigen Index "0001" an einen Korrelationskomparator 940 aus.
Der Korrelationsrechner 924 berechnet die Korrelationswerte
der Ausgabe des Multiplizierers 904 zu den 64 biorthogonalen
Codes, wählt
den Höchstwert
der 64 Korrelationen und gibt den gewählten Korrelationswert, einen
biorthogonalen Code-Index, welcher dem gewählten Korrelationswert entspricht,
und seinen eindeutigen Index "0010" an einen Korrelationskomparator 940 aus.
Andere (nicht dargestellte) Korrelationsrechner berechnen die Korrelationswerte
der Ausgaben der entsprechenden Multiplizierer zu den 64 biorthogonalen
Codes und arbeiten jeweils ähnlich
wie die oben beschriebenen Korrelationsrechner.
-
Abschließend berechnet
der Korrelationsrechner 926 die Korrelationswerte der Ausgabe
des Multiplizierers 906 zu den 64 biorthogonalen Codes,
wählt den
Höchstwert
der 64 Korrelationen und gibt den gewählten Korrelationswert, einen
biorthogonalen Code-Index,
der dem gewählten
Korrelationswert entspricht, und seinen eindeutigen Index "1111" an den Korrelationskomparator 940 aus.
-
Die
eindeutigen Indices der Korrelationsrechner 920 bis 926 sind
die Gleichen wie die Indices der Maskenfolgen, die mit dem Eingabesignal
r(t) in den Multiplizierern 902 bis 906 multipliziert
werden. Tabelle 2 listet die 15 Maskenindices auf, die in den Multiplizierern
multipliziert wurden, und einen Maskenindex, der beispielsweise
für den
Fall zugewiesen wird, dass keine Maskenfolge verwendet wird.
-
-
Wie
in Tabelle 2 gezeigt, gibt der Korrelationsrechner 922,
der das Signal empfängt,
welches das Produkt aus dem Eingabesignal r(t) und der Maskenfolge
M1 ist, als Index "0001" aus. Der Korrelationsrechner 926,
der das Signal empfängt,
welches das Produkt aus dem Eingabesignal r(t) und der Maskenfolge
M15 ist, als Index "1111" aus. Der Korrelationsrechner 920,
der nur das Eingabesignal r(t) empfängt, gibt als Index "0000" aus Mittlerweile
werden die biorthogonalen Codes im Binärcode ausgedrückt. Wenn
beispielsweise die Korrelation zu W4,
dem Komplement von W4, der größte Korrlationswert
ist, lautet ein entsprechender biorthogonaler Code-Index (a0 bis
a9) "001001".
-
Der
Korrelationskomparator 940 vergleicht die 16 höchsten Korrelationswerte,
die von den Korrelationsrechnem 920 bis 926 empfangen
werden, wählt
den höchsten
Korrelationswert aus den 16 empfangenen höchsten Korrelationswerten und
gibt TFCI-Bits aus, die auf dem vom Korrelationsrechner empfangenen
biorthogonalen Code-Index und Maskenfolgenindex (dem eindeutigen
Index) basieren, die dem höchsten
Korrelationswert entsprechen. Die TFCI-Bits können durch Kombinieren des
biorthogonalen Code-Index
und des Maskenfolgenindex bestimmt werden. Wenn beispielsweise der
Maskenfolgenindex derjenige von M4 (0100) ist und der biorthogonale
Code-Index derjenige von W4 (001001)
ist, entsprechen die TFCI-Bits (a9 bis a0) dem "M4-Index (0100) + dem W4-Index (001001)". Das heißt, die TFCI-Bits (a9 bis a0)
lauten "0100001001".
-
Angenommen,
der Sender hat Codesymbole übertragen,
die den TFCI-Bits (a0 bis a9) "1011000010" entsprechen, dann
hat der Sender die TFCI-Bits gemäß des vorher
beschriebenen Codierverfahrens mit W6 und
M4 codiert. Der Empfänger
kann bestimmen, dass das Eingabesignal r(t) mit der Maskenfolge
M4 codiert ist, indem das Eingabesignal r(t) mit allen Maskenfolgen
multipliziert wird, und dass das Eingabesignal r(t) mit W6 codiert ist, indem die Korrelationen
des Eingabesignals r(t) zu allen biorthogonalen Codes berechnet
werden. Gemäß des oben
genannten Beispiels gibt der fünfte
(nicht dargestellte) Korrelationsrechner den größten Korrelationswert, den
Index von W6 (101100) und
seinen eindeutigen Index (0010) aus. Anschließend gibt der Empfänger die
decodierten TFCI-Bits (a0 bis a9) "1011000010" aus, indem der Index von W6 "101100" und der M4-Index "0010" addiert werden.
-
In
der Ausführungsform
des Decodiergeräts
wird das Eingabesignal r(t) gemäß der Anzahl
der Maskenfolgen parallel verarbeitet. Des Weiteren kann in einer
anderen Ausfüh rungsform
des Decodiergeräts
in Erwägung
gezogen werden, dass das Eingabesignal mit den Maskenfolgen sequenziell
multipliziert wird und die Korrelationen der Produkte sequenziell
berechnet werden.
-
17 stellt eine weitere Ausführungsform
des Decodiergeräts
dar.
-
Unter
Bezugnahme auf 17 speichert
ein Speicher 1720 ein 32-Symbol-Eingabesignal r(t). Ein Maskenfolgengenerator 1710 generiert
16 Maskenfolgen, die im Sender verwendet werden und gibt sie nacheinander
aus. Ein Multiplizierer 1730 multipliziert eine der 16
Maskenfolgen, die vom Maskenfolgengenerator 1710 empfangen
wurden, mit dem Eingabesignal r(t), das vom Speicher 1720 empfangen
wurde. Ein Korrelationsrechner 1740 berechnet die Ausgabe
des Multiplizierers 1730 zu 64 biorthogonalen Codes mit
der Länge 32
und gibt den höchsten
Korrelationswert und den Index eines biorthogonalen Codes, der dem
größten Korrelationswert
entspricht, an einen Korrelationskomparator 1750 aus. Der
Korrelationskomparator 1750 speichert den höchsten Korrelationswert
und den vom Korrelationsrechner 1740 empfangenen biorthogonalen
Code-Index und den vom Maskenfolgengenerator 1710 empfangenen
Index der Maskenfolge.
-
Nach
Abschluss der oben genannten Verarbeitung mit der Maskenfolge gibt
der Speicher 1720 das gespeicherte Eingabesignal r(t) an
den Multiplizierer 1730 aus. Der Multiplizierer 1730 multipliziert
das Eingabesignal r(t) mit einer der anderen Maskenfolgen. Der Korrelationsrechner 1740 berechnet
die Korrelation der Ausgabe des Multiplizierers 1730 zu
den 64 biorthogonalen Codes mit der Länge 32 und gibt den höchsten Korrelationswert
und den Index eines biorthogonalen Codes aus, die dem höchsten Korrelationswert
entsprechen. Der Korrelationskomparator 1750 speichert
den höchsten
Korrelationswert, den Index des biorthogonalen Codes, der dem höchsten Korrelationswert
entspricht, und den Maskenfolgenindex, der vom Maskenfolgengenerator 1710 empfangen
wird.
-
Das
oben genannte Verfahren wird für
alle 16 Maskenfolgen durchgeführt,
die vom Maskenfolgengenerator 1710 generiert werden. Anschließend werden
die 16 höchsten
Korrelationswerte und die Indices der biorthogonalen Codes, die
dem höchsten
Korrelationswert entsprechen, im Korrelationskomparator 1750 gespeichert.
Der Korrelations komparator 1750 vergleicht die 16 gespeicherten
Korrelationswerte und wählt
denjenigen mit der höchsten
Korrelation und gibt TFCI-Bits aus, indem die Indices des biorthogonalen
Codes und der Maskenfolge, die dem gewählten höchsten Korrelationswert entsprechen,
kombiniert werden. Wenn die Decodierung der TFCI-Bits abgeschlossen
ist, wird das Eingabesignal r(t) aus dem Speicher 1720 gelöscht und
das nächste
Eingabesignal r(t) wird gespeichert.
-
Während der
Korrelationskomparator 1750 die 16 höchsten Korrelationswerte nacheinander
im Decodiergerät
aus 17 vergleicht, kann
auch ein Echtzeitvergleich der Korrelationswerte in Betracht gezogen werden.
Das bedeutet, der erste eingegebene höchste Korrelationswert wird
mit dem nächsten
eingegebenen Korrelationswert verglichen, und der höhere der
beiden Korrelationswerte und ein Maskenfolgenindex und ein biorthogonaler
Code-Index, welcher der Korrelation entspricht, werden gespeichert.
Anschließend
wird eine dritte eingegebene höchste
Korrelation mit der gespeicherten Korrelation verglichen, und die
höhere
der beiden Korrelationen und ein Maskenfolgenindex und ein biorthogonaler
Code-Index, die der gewählten
Korrelation entsprechen, werden gespeichert. Diese Vergleiche/Operationen
treten 15 Mal auf, was der Anzahl der Maskenfolgen entspricht, die
vom Maskenfolgengenerator 1710 generiert wurden. Nach Abschluss
aller Operationen gibt der Korrelationskomparator 1710 den
endgültig
gespeicherten biorthogonalen Index (a0 bis a9) und den Maskenfolgenindex
(a7 bis a9) aus und gibt die addierten Bits als TFCI-Bits aus.
-
10 ist ein Flußdiagramm,
das die Funktionsweise des in 9 dargestellten
Korrelationskomparators 940 zeigt. Der Korrelationskomparator 940 speichert
die sechzehn höchsten
Korrelationswerte, wählt einen
höchsten
Korrelationswert aus den 16 höchsten
Korrelationswerten aus und gibt TFCI-Bits aus, die auf den Indices
eines biorthogonalen Codes und einer Maskenfolge basieren, die dem
gewählten
höchsten
Korrelationswert entsprechen. Die 16 Korrelationswerte werden verglichen
und TFCI-Bits auf der Basis der Indices eines biorthogonalen Codes
und einer Maskenfolge ausgegeben, die dem gewählten höchsten Korrelationswert entsprechen.
-
Unter
Bezugnahme auf 10 wird
ein höchster
Korrelationsindex i auf 1 gesetzt, und die Indices eines höchsten Korrelationswerts,
eines biorthogonalen Codes und einer Maskenfolge, die geprüft werden
soll, werden in Schritt 1000 auf 0-Werte gesetzt. In Schritt 1010 empfängt der
Korrelationskomparator 940 einen ersten höchsten Korrelationswert,
einen ersten biorthogonalen Code-Index und einen ersten Maskenfolgenindex
vom Kalkulationsrechner 920. Der Korrelationskomparator 940 vergleicht
in Schritt 1020 die erste höchste Korrelation mit einer
vorherigen höchsten
Korrelation. Wenn die erste höchste
Korrelation größer als
die vorherige höchste
Korrelation ist, wird das Verfahren mit Schritt 1030 fortgesetzt.
Wenn die erste höchste
Korrelation gleich oder kleiner der vorherigen höchsten Korrelation ist, wird
das Verfahren mit Schritt 1040 fortgesetzt. In Schritt 1030 bestimmt
der Korrelationskomparator 940 die erste höchste Korrelation
als eine endgültige
höchste
Korrelation und speichert die Indices des ersten biorthogonalen
Codes und der Maskenfolge als endgültige Indices des ersten biorthogonalen
Codes und der Maskenfolge. In Schritt 1040 vergleicht der
Korrelationskomparator 940 den Index i mit der Zahl 16 der
Korrelationsrechner, um festzustellen, ob alle 16 höchsten Korrelationen
vollständig
verglichen wurden. Wenn i nicht gleich 16 ist, wird der Index i
in Schritt 1060 um 1 erhöht und das Verfahren kehrt
zu Schritt 1010 zurück.
Anschließend
wird das oben genannte Verfahren wiederholt.
-
In
Schritt 1050 gibt der Korrelationskomparator 940 die
Indices des biorthogonalen Codes und der Maskenfolge, die der endgültigen höchsten Korrelation
entsprechen, als decodierte Bits aus. Der biorthogonale Code-Index
und der Maskenfolgenindex, die den decodierten Bits entsprechen,
sind diejenigen, die der endgültigen
höchsten
Korrelation unter den 16 höchsten
Korrelationswerten entsprechen, die von den 16 Korrelationsrechnern
empfangen wurden.
-
3. Zweite Ausführungsform
des Geräts
zum Codieren/Decodieren
-
Der
(32, 10)-TFCI-Codierer, der ein TFCI-Codewort mit 32 Symbolen über 16 Slots
ausgibt, wurde in der ersten Ausführungsform der vorliegenden
Erfindung beschrieben. Vor kurzem wurde in der IMT-2000-Standardspezifikation
festgelegt, dass ein Frame 15 Slots enthält. Daher
bezieht sich die zweite Ausführungsform der
vorliegenden Erfindung auf einen (30/10)-TFCI-Codierer, der ein
TFCI-Codewort mit 30 Symbolen über
15 Slots ausgibt. Aus diesem Grund schlägt die zweite Ausführungsform
der vorliegenden Erfindung ein Codiergerät und ein Verfahren für die Ausgabe
von 30 Codesymbolen vor, wobei zwei Symbole von 32 codierten Symbolen
(Codewort), die vom (32, 10)-TFCI-Codierer generiert wurden, punktiert
werden.
-
Die
Codiergeräte
gemäß der ersten
und zweiten Ausführungsform
der vorliegenden Erfindung weisen die gleiche Korrfiguration auf
mit der Ausnahme, dass Folgen von einem 1-Bit-Generator, einem Basis-Walsh-Code-Generator
und einem Basismaskenfolgen-Generator
ausgegeben werden. Das Codiergerät gibt
codierte Symbole mit der Länge
30 aus, wobei Symbol #0 (1. Symbol) und Symbol #16 (17. Symbol)
im Codiergerät
der zweiten Ausführungsform
punktiert sind.
-
Unter
Bezugnahme auf 8 werden
10 Eingabeinformationsbits a0 bis a9 auf die Eingabe der Multiplizierer 840 bis 849 angewendet.
Der 1-Bit-Generator 800 gibt Symbole mit 1-Werten (Länge 32)
an den Multiplizierer 840 aus. Der Multiplizierer 840 multipliziert
das Eingabeinformationsbit a0 mit jedem von 32 Symbolen, die vom
1-Bit-Generator 800 empfangen
werden. Gleichzeitig generiert der Basis-Walsh-Code-Generator 810 die
Basis-Walsh-Codes W1, W2, W4, W8 und W16 mit der Länge 32.
Der Multiplizierer 841 multipliziert das Eingabeinformationsbit
a1 mit dem Basis-Walsh-Code
W1 "01010101010101010101010101010101". Der Multiplizierer 842 multipliziert
das Eingabeinformationsbit a2 mit dem Basis-Walsh-Code W2 "00110011001100110011001100110011". Der Multiplizierer 843 multipliziert
das Eingabeinformationsbit a3 mit dem Basis-Walsh-Code W4 "00001111000011110000111100001111". Der Multiplizierer 844 multipliziert
das Eingabeinformationsbit a4 mit dem Basis-Walsh-Code W8 "00000000111111110000000011111111". Der Multiplizierer 845 multipliziert
das Eingabeinformationsbit a5 mit dem Basis-Walsh-Code W16 "00000000000000001111111111111111".
-
Der
Basismaskenfolgen-Generator 820 generiert gleichzeitig
die Basismaskenfolgen M1, M2, M4 und M8 mit der Länge 32.
Der Multiplizierer 846 multipliziert das Eingabeinformationsbit
a6 mit der Basismaskenfolge M1 "00101000011000111111000001110111". Der Multiplizierer 847 multipliziert
das Eingabeinformationsbit a7 mit der Basismaskenfolge M2 "00000001110011010110110111000111". Der Multiplizierer 848 multipliziert
das Eingabeinformationsbit a8 mit der Basismaskenfolge M4 "00001010111110010001101100101011". Der Multiplizierer 849 multipliziert
das Eingabeinformationsbit a9 mit der Basismaskenfolge M1 "00011100001101110010111101010001". Die Multiplizierer
en 840 bis 849 funktionieren wie Schalter, welche die
Ausgabe oder die Generierung der Bits aus oder im 1-Bit-Generator sowie jeden
das Basis-Walsh-Codes und jede der Basismaskenfolgen steuern.
-
Das
Addierglied 860 summiert die Ausgaben der Multiplizierer 840 bis 849 symbolweise
und gibt die 32 codierten Symbole (d.h. ein TFCI-Codewort) aus.
Von den 32 codierten Symbolen sind zwei Symbole an vorab festgelegten
Positionen (d.h. Symbol Nr. 0 (das 1. Symbol) und Symbol Nr. 16
(das 17. Symbol) der Ausgabe des Addierglieds 860 punktiert).
Die restlichen 30 Symbole werden TFCI-Symbole. Es ist einfach, die zweite
Ausführungsform
der vorliegenden Erfindung zu modifizieren. Zum Beispiel können der
1-Bit-Generator 800, der Basis-Walsh-Code-Generator 810 und
der Basismaskenfolgen-Generator 820 30
Symbole generieren, wobei die Symbole Nr. 0 und Nr. 16 ausgeschlossen
sind. Das Addierglied 860 addiert anschließend Bit für Bit die
Ausgabe des 1-Bit-Generators 800,
des Basis-Walsh-Code-Generators 810 und des Basismaskenfolgen-Generators 820 und
gibt 30 codierte Symbole als TFCI-Symbole aus.
-
12 ist ein Codierverfahren
für die
zweite Ausführungsform
der vorliegenden Erfindung. Das Flußdiagramm stellt die Schritte
des Codiergeräts
gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung dar, wenn die Anzahl der Slots 15 beträgt.
-
Unter
Bezugnahme auf 12 werden
10 Eingabeinformationsbits a0 bis a9 empfangen und die Variablensumme
und j werden in Schritt 1200 auf einen Anfangswert 0 gesetzt.
In Schritt 1210 wird bestimmt, ob j gleich 30 ist. Wenn
j in Schritt 1210 nicht gleich 30 ist, werden die j-ten
Symbole W1(j), W2(j), W4(j), W8(j) und W16(j) der Basis-Walsh-Codes W1, W2, W4,
W8 und W16 (mit jeweils zwei punktierten Bits) und die j-ten Symbole
M1(j), M2(j), M4(j) und M8(j) der Basismaskenfolgen M1, M2, M4 und
M8 (mit jeweils zwei punktierten Bits) in Schritt 1220 empfangen.
Anschließend
werden die empfangenen Symbole mit den Eingabeinformationsbits symbolweise
multipliziert und die multiplizierten Symbole werden in Schritt 1230 summiert.
In Schritt 1240 wird die Summe ausgegeben, die das erreichte
j-te Codesymbol angibt. In Schritt 1250 wird j um 1 erhöht, und
anschließend
kehrt das Verfahren zu Schritt 1210 zurück. Wenn j in Schritt 1210 gleich
30 ist, endet das Codierverfahren.
-
Der
(30, 10)-Codierer gibt 1024 Codewörter aus, die mit den Codewörtern des
(32, 10)-Codierers
mit punktierten Symbolen Nr. 0 und Nr. 16 gleichwertig sind. Daher
lautet die Gesamtanzahl der Informationen, die ausgedrückt werden
können,
1024.
-
Die
Ausgabe eines (30, 9)-Codierers sind Kombinationen von 32 Walsh-Codes
mit der Länge
30, die durch Punktierung der Symbole Nr. 0 und Nr. 16 aller 32
Walsh-Codes mit einer Länge
32 erhalten wird, von 32 biorthogonalen Codes, die durch Addieren
von 1 zu jedem Symbol der punktierten Walsh-Codes erhalten werden
(durch Multiplikation jedes Symbols im Fall einer realen Zahl mit –1) und
von 8 Maskenfolgen, die durch die Kombination beliebiger drei der
vier punktierten Basismaskenfolgen erhalten werden.
-
Die
Ausgabe eines (30, 8)-Codierers sind Kombinationen von 32 Walsh-Codes
mit der Länge
30, die durch Punktierung der Symbole Nr. 0 und Nr. 16 aller 32
Walsh-Codes erhalten wird, die eine Länge von 32 Symbolen aufweisen,
von 32 biorthogonalen Codes, die durch Addieren von 1 zu jedem Symbol
der punktierten Walsh-Codes erhalten werden (durch Multiplikation
jedes Symbols im Fall einer realen Zahl mit –1) und von 4 Maskenfolgen,
die durch die Kombination beliebiger zwei der vier punktierten Basismaskenfolgen
erhalten werden.
-
Die
Ausgabe eines (30, 7)-Codierers sind Kombinationen von 32 Walsh-Codes
mit der Länge
30, die durch Punktierung der Symbole Nr. 0 und Nr. 16 aller 32
Walsh-Codes erhalten wird, die eine Länge von 32 Symbolen aufweisen,
von 32 biorthogonalen Codes, die durch Addieren von 1 zu jedem Symbol
der punktierten Walsh-Codes erhalten werden (durch Multiplikation
jedes Symbols im Fall einer realen Zahl mit –1) und von einer der vier
punktierten Basismaskenfolgen.
-
Alle
oben genannten Codierer für
die Bereitstellung eines erweiterten TFCI weisen einen Mindestabstand
von 10 auf. Die (30, 9)-, (30, 8)- und (30, 7)-Codierer können durch
Blockieren der Eingabe und Ausgabe von mindestens einer der 4 Basismaskenfolgen
implementiert werden, die über
den Basismaskenfolgen-Generator 820 generiert werden, der
in 8 dargestellt ist.
-
Die
oben genannten Codierer codieren TFCI-Bits flexibel nach der Anzahl
der TFCI-Bits und weisen einen maximierten Mindestabstand auf, der
die Codierleistung bestimmt.
-
Ein
Decodiergerät
gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung ist hinsichtlich Korrfiguration und Betrieb
das Gleiche wie das Decodiergerät
der ersten Ausführungsform,
ausgenommen die verschiedenen Signallängen der codierten Symbole.
Das heißt,
nach der (32, 10)-Codierung werden zwei der 32 codierten Symbole
punktiert, oder es werden Basis-Walsh-Codes mit zwei punktierten
Symbolen und Basismaskenfolgen mit zwei punktierten Symbolen zum
Generieren der 30 codierten Symbole verwendet. Daher sind alle Decodiervorgänge, mit
Ausnahme des empfangenen Signals r(t), das ein Signal mit 30 codierten Symbolen
und eingefügte
Dummy-Signale an den punltierten Positionen enthält, hinsichtlich der Beschreibung der
ersten Ausführungsform
der vorliegenden Erfindung gleich.
-
Wie
in 17 kann diese zweite
Ausführungsform
des Decodierens auch mit einem einzelnen Multiplizierer zum Multiplizieren
der Masken mit r(t) und einem einzelnen Korrelationsrechner zum
Berechnen der Korrelationswerte von biorthogonalen Codes implementiert
werden.
-
4. Dritte Ausführungsform
des Geräts
zum Codieren/Decodieren
-
Die
dritte Ausführungsform
der vorliegenden Erfindung stellt einen Codierer zum Blockieren
der Ausgabe eines 1-Bit-Generators im (30, 7)-, (30, 8), (30, 9)-
oder (30, 10)-Codierer
(im Folgenden als (30, 7–10) ausgedrückt) der
zweiten Ausführungsform
und stattdessen zum Generieren einer weiteren Maskenfolge bereit,
um einen Mindestabstand auf 11 zu setzen. Die Codierer beziehen
sich auf einen Codierer, der ein TFCI-Codewort mit 30 Symbolen für die Eingabe
von 7, 8, 9 oder 10 TFCI-Bits ausgibt.
-
14 ist ein Blockschaltplan
einer dritten Ausführungsform
des Codiergeräts
zum Codieren eines TFCI im IMT-2000-System. In der Zeichnung ist
ein (30, 7–10)-Codierer
so konfiguriert, dass er einen Mindestabstand von 11 aufweist.
-
Das
Codiergerät
der dritten Ausführungsform
ist der zweiten Ausführungsform
hinsichtlich der Struktur ähnlich,
mit Ausnahme dessen, dass des Weiteren ein Maskenfolgen-generator 1480 zum
Generieren der Basismaskenfolge M16 und ein Schalter 1470 zum Schalten
des Maskenfolgengenerators 1480 und ein 1-Bit-Generator
1400 zu einem Multiplizierer 1440 für das Codiergerät gemäß der dritten
Ausführungsform
der vorliegenden Erfindung bereitgestellt sind.
-
Die
in 14 verwendeten Basismaskenfolgen
M1, M2, M4, M8 und M16 mit zwei punktierten Bits sind
M1
= 000001011111000010110100111110
M2 = 000110001100110001111010110111
M4
= 010111100111101010000001100111
M8 = 011011001000001111011100001111
M16
= 100100011110011111000101010011
-
Unter
Bezugnahme auf 14 schaltet
der Schalter 1470, wenn ein (30, 6)-Codierer verwendet
wird, den 1-Bit-Generator 1400 auf den Multiplizierer 1440 und
blockiert alle Basismaskenfolgen, die von einem Basismaskenfolgen-Generator 1480 generiert
werden. Der Multiplizierer 1440 multipliziert die Symbole
vom 1-Bit-Generator 1400 symbolweise mit dem Eingabeinformationsbit
a0.
-
Wenn
ein (30, 7–10)-Codierer
verwendet wird, schaltet der Schalter 1470 den Maskenfolgengenerator 1480 auf
den Multiplizierer 1440 und verwendet selektiv vier Basismaskenfolgen,
die von einem Basismaskenfolgen-Generator 1420 generiert
werden. In diesem Fall können
31 Maskenfolgen M1 bis M31 durch die Kombination von 5 Basismaskenfolgen
generiert werden.
-
Struktur
und Funktionsweise der Ausgabe von Codesymbolen für die Eingabeinformationsbits
a0 bis a9 unter Verwendung der Multiplizierer 1440 und 1449 sind
die Gleichen wie bei der ersten und zweiten Ausführungsform. Daher wird ihre
Beschreibung ausgelassen.
-
Wie
oben festgestellt, schaltet der Schalter 1470 den Maskenfolgengenerator 1480 auf
den Multiplizierer 1440, um den (30, 7–10)-Codierer zu verwenden,
wogegen der Schalter 1470 den 1-Bit-Generator 1400 auf
den Multiplizierer 1440 schaltet, um den (30, 6)-Codierer zu verwenden.
-
Für die Eingabe
von 6 Informationsbits gibt der (30, 6)-Codierer ein Codewort mit
30 Symbolen aus, indem 32 Walsh-Codes mit der Länge 30 mit 32 biorthogonalen
Codes kombiniert werden, die durch Invertierung der Walsh-Codes
unter Verwendung des 1-Bit-Generators 1400 erhalten
werden.
-
Für die Eingabe
von 10 Informationsbits gibt der (30, 10)-Codierer ein Codewort
mit 30 Symbolen aus, indem 32 Walsh-Codes mit der Länge 30 und
32 Maskenfolgen, die unter Verwendung von fünf Basismaskenfolgen generiert
wurden, kombiniert werden. Hier lauten die fünf Basismaskenfolgen M1, M2,
M4, M8 und M16, wie oben festgestellt, und die Basismaskenfolge
M16 ist die Ausgabe des Maskenfolgengenerators 1480, die für das Codiergerät gemäß der dritten
Ausführungsform
der vorliegenden Erfindung hinzugefügt wird. Daher können 1024 Codewörter über den
(30, 10)-Codierer erhalten werden. Der (30, 9)-Codierer gibt ein
Codewort mit 30 Symbolen aus, indem für die Eingabe von 9 Informationsbits 32 Walsh-Codes
und 16 Maskenfolgen kombiniert werden. Die 16 Maskenfolgen werden
erhalten, indem vier von fünf
Basismaskenfolgen kombiniert werden. Der (30, 8)-Codierer gibt ein
Codewort mit 30 Symbolen aus, indem für die Eingabe von 8 Informationsbits 32 Walsh-Codes
und 8 Maskenfolgen kombiniert werden. Die 8 Maskenfolgen werden
erhalten, indem drei von fünf
Basismaskenfolgen kombiniert werden. Für die Eingabe von 7 Informationsbits
gibt der (30, 7)-Codierer ein Codewort mit 30 Symbolen aus, indem
32 Walsh-Codes und vier Maskenfolgen kombiniert werden. Die vier
Maskenfolgen werden erhalten, indem zwei von fünf Basismaskenfolgen kombiniert
werden.
-
Alle
oben genannten (30, 7–10)-Codierer
weisen einen Mindestabstand von 11 auf, um erweiterte TFCIs bereitzustellen.
Die (32, 7–10)-Codierer
können
implementiert werden, indem die Verwendung von mindestens einer
der fünf
Basismaskenfolgen gesteuert wird, die vom in 14 gezeigten Basismaskenfolgen-Generator 1420 und
Maskenfolgengenerator 1480 generiert wurden.
-
16 ist ein Flußdiagramm,
das eine dritte Ausführungsfonn
eines TFCI-Codierverfahrens
im IMT-2000-System gemäß der vorliegenden
Erfindung zeigt.
-
Unter
Bezugnahme auf 16 werden
10 Informationsbits (TFCI-Bits) a0 bis a9 empfangen, und die Variablensumme
und j werden in Schritt 1600 auf die anfänglichen
0- Werte gesetzt.
Die Variablensumme gibt ein endgültiges
Codesymbol an, das nach der symbolweisen Addition ausgegeben wird,
und die Variable j gibt die Anzahl der endgültigen Codesymbole an, die
nach der symbolweisen Addition ausgegeben werden. In Schritt 1610 wird
festgelegt, ob j gleich 30 ist hinsichtlich der Länge 30 von
punktierten Walsh-Codes und Maskenfolgen, die zum Codieren verwendet
werden. Der Zweck der Durchführung
von Schritt 1610 besteht darin, zu beurteilen, ob die Eingabeinformationsbits
hinsichtlich der 30 Symbole jedes Walsh-Codes und der 30 Symbole
jeder Maskenfolge codiert sind.
-
Wenn
j in Schritt 1610 nicht gleich 30 ist, was bedeutet, dass
die Codierung hinsichtlich aller Symbole der Walsh-Codes und Maskenfolgen
nicht abgeschlossen ist, werden die j-ten Symbole W1(j), W2(j),
W4(j), W8(j) und W16(j) der Basis-Walsh-Codes W1, W2, W4, W8 und
W16, und die j-ten Symbole M1(j), M2(j), M4(j), M8(j) und M16(j)
der Basismaskenfolgen M1, M2, M4, M8 und M16 in Schritt 1620 empfangen.
In Schritt 1630 werden die Eingabeinformationsbits mit
den empfangenen Symbolen symbolweise multipliziert und die Symbolprodukte
werden summiert.
-
Schritt
1630 lässt sich
ausdrücken
als
-
Wie
aus Gleichung 10 hervorgeht, wird ein gewünschtes Codesymbol erhalten,
indem jedes Eingabeinformationsbit mit den Symbolen eines entsprechenden
Basis-Walsh-Codes
oder einer Basismaskenfolge multipliziert wird und die Produkte
summiert werden.
-
In
Schritt 1640 wird die Summe ausgegeben, die angibt, dass
das j-te Codesymbol erreicht wurde. j wird in Schritt 1650 um
1 erhöht,
und anschließend
kehrt das Verfahren wieder zu Schritt 1610 zurück. Wenn im
Schritt 1610j gleich 30 ist, endet das Codierungsverfahren.
-
Im
Folgenden wird die dritte Ausführungsform
des Decodiergeräts
unter Bezugnahme auf 15 beschrieben.
Ein Eingabesignal r(t), das die 30 codierten Symbolsignale enthält, die
vom Sender übertragen
werden, und zwei Dummy-Signale, die an den vom Codierer punktierten
Positionen eingefügt
werden, werden auf 31 Multiplizierer 1501 bis 1506 und
einen Korrelationsrechner 1520 angewendet. Ein Maskenfolgengenerator 1500 generiert
alle möglichen
31 Maskenfolgen M1 bis M31 mit der Länge 32. Die Multiplizierer 1501 bis 1506 multiplizieren
die Maskenfolgen, die vom Maskenfolgengenerator 1500 empfangen
werden, mit dem Eingabesignal r(t). Wenn ein Sender TFCI-Bits mit
einer vorab festgelegten Maskenfolge codiert hat, enthält eine
der Ausgaben der Multiplizierer 1502 bis 1506 die
Maskenfolge nicht, was bedeutet, dass die Maskenfolge keine Auswirkung
auf den folgenden Korrelationsrechner hat. Wenn der Sender beispielsweise
die Maskenfolge M31 zum Codieren der TFCI-Bits verwendet hat, enthält die Ausgabe
des Multiplizierers 1506, der die Maskenfolge M31 mit dem
Eingabesignal r(t) multipliziert, die Maskenfolge nicht. Wenn der
Sender jedoch keine Maskenfolge verwendet, ist das Eingabesignal
r(t) selbst, das auf einen Korrelationsrechner 1520 angewendet
wird, ein Signal ohne Maskenfolge. Jeder der Korrelationsrechner 1520 bis 1526 berechnet
die Korrelationswerte der Ausgaben der Multiplizierer 1502 bis 1506 mit
64 biorthogonalen Codes der Länge
32, bestimmt den höchsten
Korrelationswert aus den 64 Korrelations-Sätzen und gibt jeweils die bestimmten
höchsten
Korrelationswerte, die Indices aller biorthogonalen Codes, die den
bestimmten höchsten
Korrelationswerten entsprechen, und jeden Index der Maskenfolgen
an einen Korrelationskomparator 1540 aus.
-
Der
Korrelationskomparator 1540 vergleicht die 32 höchsten Korrelationswerte,
die von den Korrelationsrechnern 1520 bis 1526 empfangen
werden, und bestimmt den größten der
höchsten
Korrelationswerte als endgültige
höchste
Korrelation. Anschließend
gibt der Korrelationskomparator 1540 die decodierten TFCI-Bits aus,
die vom Sender, basierend auf den Indices von biorthogonalem Code
und Maskenfolge, die dem endgültigen
höchsten
Korrelationswert entsprechen, übertragen
werden. Wie in 17 kann
die dritte Ausführungsform
der vorliegenden Erfindung auch mit einem einzelnen Multiplizierer
zum Multiplizieren der Masken mit r(t) und einem einzelnen Korrelationsrechner
zum Berechnen der Korrelationswerte von biorthogonalen Codes implementiert
werden.
-
Wie
oben beschrieben stellt die vorliegende Erfindung ein Gerät und ein
Verfahren zum variablen Codieren und Decodieren eine Basis-TFCI
und eines erweiterten TFCI bereit, so dass die Hardware vereinfacht wird.
Ein weiterer Vorteil ist, dass die Unterstützung von Fehlerkorrekturcode-Schemata
für Basis-TFCI
und erweitertem TFCI die Servicestabilität erhöhen. Des Weiteren ist ein Mindestabstand,
ein Faktor, der die Leistung eines Codiergeräts bestimmt, groß genug,
um den Anforderungen an ein IMT-2000-System gerecht zu werden, wodurch eine
hervorragende Leistung erzielt wird.