-
HINTERGRUND
DER ERFINDUNG
-
Die
Erfindung betrifft im Allgemeinen drahtlose Kommunikationssysteme.
Insbesondere betrifft die Erfindung die Verarbeitung von Daten in
der physikalischen Schicht für
solche Systeme.
-
In
der Veröffentlichung „Hybrid
FDD/TDD-CDMA for Third Generation Cellular Systems" von Povey et al.,
IEE CONFERENCE PROC., 19. Mai 1997, wird beschrieben, dass FDD-CDMA
für Mobilfunk
mit ununterbrochener Abdeckung geeignet ist und große Zellengrößen unterbringen
kann, aber weniger geeignet für asymmetrische
Kanäle
ist und die Basisstationen komplex sind. TDD-CDMA ist für kleine
Zellen besser geeignet und kann asymmetrische Kanäle mit flexibler
hoher Bitrate unterstützen,
mit weniger komplexen Basisstationen. Somit wird ein Hybrid-FDD/TDD-CDMA
System vorgeschlagen, das zu einem effizienten Netzwerk führt, das
Dienstleistungen der dritten Generation realisieren kann aufgrund
einfacher TDD- und FDD-Techniken und der Verwendung effizienter
rekonfigurierbarer Mobilterminals.
-
In
drahtlosen Kommunikationssystemen werden Daten, die von dem Netz
empfangen werden, zur Übertragung über die
drahtlose Schnittstelle formatiert. Im Gegensatz dazu werden Daten,
die über
die drahtlose Schnittstelle empfangen werden, verarbeitet, um die
Originalnetzdaten wiederherzustellen. Die Verarbeitung dieser Daten
wird als physikalische Schichtverarbeitung bezeichnet.
-
Die
Verarbeitung von Daten in der physikalischen Schicht ist in drahtlosen
Kommunikationssystemen eine komplexe Operation. 1 ist
eine Konzeptdarstellung einer physikalischen Schichtverarbeitung
für den vorgeschlagenen
Zeitduplex- ("time
division duplex" – TDD) Modus
für einen
Breitband-Codemultiplex-Vielfachzugriff
("wideband Code
division multiple access" – W-CDMA)
des vorgeschlagenen Dritte Generation – Partnerschaftsprojekts ("third generation
partnership project" – 3GPP).
Die Verarbeitung ist für
den Sender dargestellt. Beim Empfänger werden die Daten in analoger
umgekehrter Art verarbeitet. Ein Unterschied bei der physikalischen
Schichtverarbeitung beim Empfänger
ist jedoch, dass der Empfänger
für gewöhnlich Soft-Symbole
verarbeitet, welche die Verarbeitungsanforderungen komplizieren.
Das Konzept von 1 bezieht sich auch auf die
Aufwärtsstrecke
des Frequenzduplex-("frequency
division duplex" – FDD) Modus
von W-CDMA. Die in jedem Block verwendeten Parameter unterscheiden
sich jedoch zwischen TOD und FDD.
-
Transportblöcke treffen
für den
Transport über
die drahtlose Schnittstelle ein. Die Transportblöcke treffen in Sätzen von
Transportblocksätzen
ein. Die Sätze
werden in einem spezifizierten Zeitintervall empfangen, das als
Obertragungszeitintervall ("transmission
time interval" – TTI) bekannt
ist. Für
den TDD-Modus und FDD-Modus sind die möglichen TTI-Längen 10 ms,
20 ms, 40 ms und 80 ms, entsprechend 1, 2, 4 bzw. 8 Radio Frames.
Ein CRC-Anhangsblock 42 (CRC – "cyclical redundancy code") hängt CRC-Bits
an jeden Transportblock. Die CRC-Bits werden zur Fehlererfassung
beim Empfänger
verwendet. Die CRC-Bitlänge wird
von höheren
Schichten signalisiert.
-
Die
Transportblöcke
(TrBlks) werden durch den TrBlk-Verkettungs/Codeblocksegmentierungsblock 44 seriell
verkettet. Wenn die Anzahl von Bits der verketteten Blöcke größer als
die maximal zulässige
Größe für einen
Codeblock ist, werden die verketteten Blöcke segmentiert. Ein Kanalcodierungsblock 46 unterzieht
die Codeblöcke
einer Fehlerkorrekturcodierung, wie durch Faltungscodierung, Turbocodierung.
Nach dem Codieren werden die Codeblöcke miteinander verkettet.
Wenn die verketteten Codeblöcke
nicht zu einer Mindestanzahl gleich großer Segmente (Frames) segmentiert
werden können,
wird eine Radio-Frame-Aqualisierung durch
Verkettung zusätzli:her
willkürlicher
Bits durch einen Radio-Frame-Segmentierungsblock 50 ausgeführt.
-
Ein
erster Verschachteler 48 verschachtelt alle verketteten
Daten. Anschließend
werden die verschachtelten Daten von einem Radio-Frame-Segmentierungsblock 50 zu
Radio-Frames segmentiert. Ein Ratenanpassungsblock 52 lässt Bits
aus oder wiederholt diese. Das Auslassen und Wiederholen garantiert,
dass Daten, die auf jedem physikalischen Kanal übertragen werden, gleich der
maximalen Bitrate für
diesen Kanal sind. Die Ratenanpassungsmerkmale für jeden Transportkanal (TrCH)
sind durch höhere
Schichten signalisiert.
-
Der
TrCH-Multiplexierblock 54 empfängt Daten eines Frames für jeden
Transportkanal. Die für
jeden TrCh empfangenen Daten werden seriell auf einen codierten
Composite-Transportkanal ("coded
composite transport channel" – CCTrCH)
gemultiplext. Ein Bitverwürflungsblock 65 verwürfelt die
CCTrCH-Bits.
-
Ein
Physikalischer-Kanal-Segmentierungsblock 58 setzt die gemultiplexten
Daten auf die physikalischen Kanäle
um. Ein zweiter Verschachteler 60 verschachtelt die Verwürfelungsdaten
entweder über
den gesamten Radio-Frame oder über
jeden Zeitschlitz. Nach der zweiten Verschachtelung werden die verschachtelten
Daten in die physikalischen Kanäle
für den
Transport über
die Luftschnittstelle durch einen Physikalischer-Kanal-Umsetzungsblock 62 segmentiert.
-
Die
Daten für
jeden physikalischen Kanal werden unter Verwendung eines entsprechenden
Codes durch einen Spreizerblock 64 gespreizt. Die gespreizten
Daten werden unter Verwendung eines Verwürfelungsblocks 66 mit
einem Code, welcher der Basisstation zugeordnet ist, verwürfelt. Jedes
erhaltene verwürfelte
Chip wird von einem Impulsformfilter 68 impulsgeformt.
Ein Frequenzkorrekturblock 70 stellt die Frequenz des erhaltenen
Signals ein. Das frequenzkorrigierte Signal wird durch die drahtlose
Schnittstelle ausgestrahlt.
-
Für die Abwärtsstrecke
des FDD-Modus, wie ebenso in 1 dargestellt,
wird die Verarbeitung vom Konzept auf ähnliche Weise ausgeführt. Es
gibt jedoch einige Unterschiede. In der FDD-Abwärtsstrecke wird die Ratenanpassung
nach der Kanalcodierung durch einen Ratenanpassungsblock 52 ausgeführt. Daher
wird die Radio-Frame-Äqualisierung
nicht durchgeführt.
Zur Unterstützung
einer diskontinuierlichen Übertragung wird
eine erste diskontinuierliche Übertragungsanzeige
("discontinuous
transmission" – DTX) vor
der ersten Verschachtelung durch einen ersten DTX-Anzeigeblock 72 eingefügt und eine
zweite DTX-Anzeige
wird vor der Physikalischer-Kanal-Umsetzung durch einen zweiten
DTX-Anzeigeblock 74 eingefügt.
-
Zwei
Methoden zur Ausführung
einer physikalischen Schichtverarbeitung sind eine Methode auf Basis der
Software und eine Methode auf Basis der Hardware. In einer Methode
auf Basis der Software wird der Großteil der physikalischen Schichtverarbeitung
durch Software ausgeführt.
Eine Methode auf Basis der Software ermöglicht eine größere Flexibilität. Parameter
der physikalischen Schichtverarbeitung können leicht durch Änderungen
der Software ausgeführt
werden.
-
Zwei
Nachteile einer Methode auf Basis von Software sind: 1) Prozessoren,
wie Mikroprozessoren oder DSPs, verwenden eine höhere Leistung als kundenspezifische
Lösungen,
und 2) es könnten
mehrere Prozessoren notwendig sein, um die gesamte erforderliche
Funktionalität
auszuführen.
-
Eine
Methode auf Basis von Hardware ermöglicht eine Verringerung der
gesamten benötigten
Chipfläche
und einen geringeren Leistungsverbrauch. Kundenspezifizierung und
Konfigurierung der Hardware für eine
bestimmte Umgebung ergeben bessere Effizienzen der Datenverarbeitung.
Eine solche Methode verringert jedoch die Flexibilität des Entwurfs.
Eine Rekonfiguration der physikalischen Schichtverarbeitung ist
auf Parameter beschränkt,
die im anfänglichen
Entwurf zur Verfügung
gestellt werden.
-
Daher
ist es wünschenswert, über eine
physikalische Schichtverarbeitung zu verfügen, die eine höhere Verarbeitungsgeschwindigkeit
und Flexibilität
ermöglicht.
-
ZUSAMMENFASSUNG
-
Ein
System zur gemeinsamen Verarbeitung des Transports der physikalischen
Schicht zur Verwendung in einem drahtlosen Kommunikationssystem.
Mehrere miteinander verbundene Verarbeitungsblöcke werden bereitgestellt.
Die Blöcke
sind über
einen Lesedatenbus, einen Schreibdatenbus und einen Steuerbus miteinander
verbunden. Die Blöcke
umfassen einen Transportkanalverarbeitungsblock, einen Composite-Kanalverarbeitungsblock
und einen Chipratenverarbeitungsblock. Mindestens zwei dieser Blöcke sind
zur Verarbeitung von Daten für
mehrere drahtlose Formate fähig.
Ein erster Satz von Parametern ist in die Blöcke für ein bestimmtes drahtloses
Format programmiert. Die Blöcke
werden betrieben, um Daten in dem bestimmten drahtlosen Formatmodus
zu verarbeiten.
-
KURZE BESCHREIBUNG DER
ZEICHNUNG(EN)
-
1 ist
eine Konzeptdarstellung einer physikalischen Schichtverarbeitung
für den
standardmäßigen Zeit-duplex-(TDD-)
und Frequenzduplex-(FDD-)Modus für
einen Breitband-Codemultiplex-Vielfachzugriff (W-CDMA)
des Dritte Generation – Partnerschaftsprojekts
(3GPP).
-
2 ist
ein vereinfachtes Diagramm eines physikalischen Schichtprozessors.
-
3 ist
ein Blockdiagramm des Gemeinschaftsspeicherzuteilers ("shared memory arbitrator" – SMA).
-
4 ist
ein vereinfachtes Diagramm eines physikalischen Schichtprozessors,
der im FDD- und TDD-Modus funktionieren kann.
-
5 ist
ein vereinfachtes Diagramm eines FDD-Teilnehmergerätes oder eines Knotens B/einer
Basisstation.
-
6 zeigt,
wie Daten vom Gemeinschaftsspeicher zu Sendeprozessoren bewegt werden.
-
7 ist
ein Zeitverlauf, der die 10 Millisekunden Zeitintervallkonfigurationsgrenze
zeigt.
-
8 ist
ein Zustandsdiagramm der Sende-Frame-Softwarestruktur.
-
9 ist
ein Diagramm eines Gemeinschaftsspeicherzuteiler-(SMA-)Hardware-Registers und eines Pseudospeicherabbildes
typischer Steuerblöcke.
-
10 ist
ein Flussdiagramm des Blockladeprozesses von dem Steuerprozessor
zu dem Gemeinschaftsspeicher.
-
11 ist
ein Zeitsteuerdiagramm des Sendekonfigurationszeitverlaufs.
-
12 ist
eine Darstellung des Datenflusses zwischen Sendekanalverarbeitung,
Composite-Kanalverarbeitung und Chipratenverarbeitung.
-
13 ist
ein Zeitsteuerdiagramm des Empfangskonfigurationszeitverlaufs.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM(EN)
-
Die
vorliegende Erfindung wird unter Bezugnahme auf die Zeichnungen
beschrieben, in welchen gleiche Bezugszeichen durchgehend gleiche
Elemente bezeichnen. Obwohl die physikalische Schichtverarbeitung
primär
in Verbindung mit der bevorzugten Implementierung der TDD- und FDD-Moden
von 3GPP beschrieben wird, ist die physikalische Schichtverarbeitung
bei anderen Systemen, wie Zeit-Synchron-Codemultiplex-Vielfachzugriff
("time division
synchronous code division multiple access" – TD-SCDMA),
TSM, CDMA 2000 wie auch anderen anwendbar.
-
Ein Überblick über die
bevorzugte Systemarchitektur 300 der physikalischen Schicht
ist in 2 dargestellt. Das physikalische Schichtsystem
kann entweder bei einer Basisstation/einem Knoten B eines drahtlosen
Kommunikationssystems oder bei einem Teilnehmergerät verwendet
werden. Die bevorzugte Architektur ermöglicht eine Flexibilität im Entwurf
der physikalischen Schichtverarbeitung über verschiedene drahtlose Umgebungen,
wie dem TDD-, FDD-Modus des vorgeschlagenen 3GPP W-CDMA-System und GSM,
-
Die
Blöcke 301, 303, 305, 307, 309 und 311 stellen
eine Reihe von Software-parametrierbaren, verstärkter eingebetteter Prozessoren
dar, die auch als virtuelle Schaltungen ("virtual circuits" – VCs)
bekannt sind. Ein Empfangs-Chipratenprozessor 301 ist an
einen Datenlesebus, einen Datenschreibbus und einen Steuerbus angeschlossen,
wobei diese drei in der Folge als Systembus 302 bezeichnet
werden. Der Empfangs-Composite-Kanalprozessorblock 303 und
der Empfangs-Transportkanalprozessorblock 305 sind
auch an den Systembus 302 angeschlossen. Zusätzlich haben
die beiden Blöcke
auch einen Laufnummerbus, der dem Empfangs-Transportkanalprozessor 305 meldet,
welcher Datenblock zur Transportkanalverarbeitung bereit ist. Die
Sende-Transportkanalprozessor- 307, Sende-Composite-Kanalprozessor- 309 und
Sende-Chipratenprozessor- 311 Blöcke sind
auch an den Systembus 302 angeschlossen. Der Gemeinschaftsspeicher/Gemeinschaftsspeicherzuteiler-(SMA-)Block 315 ist
an den Systembus 302 und an den Steuerprozessorblock 313 angeschlossen.
In der bevorzugten Implementierung ist die Funktionalität des Blocks
so gestaltet, dass die physikalische, Schichtverarbeitung entweder
des TDD-, FDD- oder beider Moden des 3GPP durchgeführt wird,
obwohl in anderen Implementierungen andere physikalische Schichtverarbeitungsmethoden
von den Blöcken
ausgeführt
werden können.
-
Der
Steuerprozessor 313 kommuniziert mit den Verarbeitungsblöcken über Steuerwarteschlangen
im Gemeinschaftsspeicher 314 über den SMA 315. Der
Steuerprozessor 313 stellt Einstell- und Steuerdaten an spezifische
Gemeinschaftsspeicherplätze,
die als Ratenregister für
jeden Steuerblock dienen. Der Gemeinschaftsspeicher wird auch als
Datenblockplatzhalter verwendet, um Daten unter den Verarbeitungsblöcken zu übertragen.
Dies wird vorzugsweise durch verkettete Listen erreicht, die Daten
in Blöcken übertragen,
wobei das letzte Element jedes Blocks eine Adresse eines nächsten Datenblocks
oder ein Ende eines Datenindikators ist, Diese Technik verringert
die Zwischenspeicherung im physikalischen Schichtprozessor. Der
Steuerprozessor 313 ist vorzugs weise ein hochentwickelter
RISC-Maschinen-(ARM)Prozessor. Als Alternative kann er jeder eingebettete
Prozessor sein.
-
Der
Gemeinschaftsspeicherzuteiler (SMA) 315 ist eine virtuelle
Schaltung (VC) nur aus Hardware, die den Zugriff auf einen Speicher
steuert, den sich die Haupt-VCs und der Steuerprozessor 313 teilen.
Die SMA-Einheit enthält
Adress-register und die Sequenzierungslogik, die notwendig ist,
damit alle VCs und die Prozessoren effizient gemeinsamen auf den
Speicher zugreifen können.
-
Ein
Blockdiagramm eines SMA ist in 12 dargestellt.
Die SMA-Einheit enthält
Adressregister 601 und die Sequenzierungslogik, die notwendig
1st, damit alle VCs und die Prozessoren effizient gemeinsam auf den
Gemeinschaftsspeicher 314 zugreifen können. Der SMA akzeptiert jeden
Taktzyklus eine Anfrage in seiner Pipeline, vorausgesetzt es gibt
(eine) anstehende Anfrage(n). Der SMA-Adressgenerator führt ein
Register für
jeden SMA-Kanal, das die Adresse für den nächsten Speicherzugriff enthält, der
auf diesem Kanal auszuführen
ist. Diese Register müssen
auf die erste Speicheradresse des Speicherblocks initialisiert werden,
auf den zugegriffen werden soll. Jedes Adressregister hat ein zugehöriges Steuerbit,
das durch Software konfiguriert ist, um anzuzeigen, ob ein Adresszeiger
nach jedem Zugriff erhöht
oder gesenkt wird.
-
Es
gibt drei Arten von Speicherkanälen:
1) Lesekanaldaten werden von dem Gemeinschaftsspeicher zu der anfragenden
Einheit übertragen,
2) Schreibkanaldaten werden von der anfragenden Einheit zu dem Gemeinschaftsspeicher übertragen
und 3) Steuerkanäle
(Speziallesekanäle)
unterstützen
zwei Arten von Speicherzugriff, Lesezugriff, wie für einen
normalen Lesekanal, und Lastzugriff. Der Lastzugriff wird zur Übertragung
eines Speicherzeigers von dem Gemeinschaftsspeicher in eines der
Ad ressregister im SMA verwendet. Dies ermöglicht eine effiziente Implementierung
einer verketteten Liste.
-
Jeder
Hardware-Komponente sind ein oder mehrere SMA-Kanäle zugeordnet,
und Übertragungen
zu und vom Speicher werden von einem Anforderungs-/Zuweisungsquittungsaustausch
auf jedem SMA-Kanal gesteuert.
Anforderungssignale erhalten Priorität, um einen zeitgerechten Zugriff
auf kritischen Pfaden sicherzustellen. Sobald sich eine Anfrage
in der Pipeline befindet, wird die selbe Anfrage nicht wieder in
der Pipeline akzeptiert, bis die Zuweisung gesendet ist.
-
Wenn
ein Empfangs-Chipratenprozessor 301 seine Verarbeitung
beendet hat, sendet er eine Anfrage 603 zum SMA. Der SMA 315 verleiht
der Anfrage 603 Priorität
und weist eine Speicheradresse über
das Adressregister 601 für den Gemeinschaftsspeicher 314 zu.
Dann sendet der SMA eine Schreibzuweisung 605 zu der anfragenden
Quelle, um mit der Datenübertragung
zu beginnen.
-
Eine
mögliche
Implementierung des physikalischen Schichtverarbeitungssystems ist
die Verarbeitung eines oder beider der TDD- und FDD-Moden eines
3GPP-Systems. Unter erneuter Bezugnahme auf 1 sind in
einer solchen Implementierung die verschiedenen Verarbeitungsblöcke in drei
allgemeine Prozesse unterteilt, die Transportkanalverarbeitung 400,
die Composite-Kanalverarbeitung 402 und
die Chipratenverarbeitung 404. Die Transportkanalverarbeitung 400 wird
an den Transportkanälen
durchgeführt.
Die Composite-Kanalverarbeitung 402 wird an den Composite-Kanälen durchgeführt und
wird auf einer Frame-zu-Frame-Basis durchgeführt, und
die Chipratenverarbeitung 404 wird auch auf einer Zeitschlitz-zu-Zeitschlitz-Basis
durchgeführt.
-
Wie
in 1 für
die TDD- und FDD-Aufwärtsstreckenverarbeitung
dargestellt, führt
die Transportkanalverarbeitung die Funktionen des CRC-Anhangs 42,
der Transportblockverkettung 44, der Kanalcodierung 46,
der Radio-Frame-Aqualisierung 47,
der ersten Verschachtelung 48 und der Radio-Frame-Segmentierung 50 aus.
-
Für die FDD-Abwärtsstrecke
enthält
die Transportkanalverarbeitung 400 die Funktionen des CRC-Anhangs 42,
der Transportblockverkettung 44, der Kanalcodierung 46,
der Ratenanpassung 52, des ersten DTX-Anzeigeeinsatzes 72,
der ersten Verschachtelung 48, der Radio-Frame-Segmentierung 50 und
des Transportkanalmultiplexens 54. Es sollte festgehalten
werden, dass im TDD-Modus die Ratenrückanpassung 52 entweder
im Transport- oder Composite-Prozessor ausgeführt werden kann.
-
Für den TDD-Modus
und die FDD-Aufwärtsstrecke
führt die
Composite-Kanalverarbeitung 402 die Funktionen der Ratenanpassung 52,
des Transportkanalmultiplexens 54, der physikalischen Kanalsegmentierung 58,
der Bitverwürfelung 55,
der zweiten Verschachtelung 60 und der physikalischen Kanalumsetzung 62 aus.
Für die
FDD-Abwärtsstrecke
führt die
Composite-Kanalverarbeitung 402 die
Funktionen des zweiten DTX-Anzeigeeinsatzes 74,
der physikalischen Kanalsegmentierung 58, der zweiten Verschachtelung 60 und der
physikalischen Kanalumsetzung 62 aus. Für den TDD-Modus und sowohl
die Aufwärtsstrecke
als auch Abwärtsstrecke
im FDDModus führt
die Chipratenverarbeitung 404 die Funktion des Spreizens 64,
des Verwürfelns 66,
des Impulsformfilterns 68 und der Frequenzkorrektur 70 aus.
-
Wie
in 1 dargestellt, wird vorzugsweise die TDD- und
FDD-Verarbeitung 400, 403 von drei Abschnitten
bewältigt:
1) einem Transportkanalverarbeitungsabschnitt 401, 2)
einem Com posite-Kanalverarbeitungsabschnitt 402 und 3)
einem Chipratenverarbeitungsabschnitt 403.
-
In
der bevorzugten Architektur, wie in 2 dargestellt,
sind für
jeden dieser Abschnitte Steuerblöcke für die Sende- und Empfangsoperationen
geschaffen, insgesamt sechs Verarbeitungsblöcke (drei Sende- und drei Empfangsblöcke). Die
Operationen dieser Steuerblöcke
sind parametriert. Daher kann die Art, in welcher diese Blöcke arbeiten,
durch Software geändert
werden. Somit können
die selben Hardware-Steuerblöcke
in verschiedenen drahtlosen Umgebungen verwendet werden. Software
wird zur Reparametrierung der Steuerblöcke auf der Basis des drahtlosen
Systems, zu dem sie gehört,
verwendet.
-
Eine
Darstellung der Flexibilität
der Steuerblöcke
ist in 4 dargestellt, wobei der physikalische Schichtprozessor
imstande ist, in beiden 3GPP-Moden, FDD und TDD, zu arbeiten. Der
Empfangs-Composite-Kanalprozessor 303, der Empfangs-Transportkanalprozessor 305,
der Sende-Transportkanalprozessor 307, Der Sende-Composite-Kanalprozessor 309,
der Steuerprozessor 313 (wie ARM-, DSP- oder RISC-Prozessor)
und der Gemeinschaftsspeicher/SMA 315 werden alle verwendet, egal,
ob der physikalische Schichtprozessor im TDD- oder FDD-Modus arbeitet.
Die Funktionen jeder diese Blöcke
werden jedoch abhängig
vom Betriebsmodus des physikalischen Schichtprozessors geändert. Daher
werden abhängig
davon, ob der Betriebsmodus TDD, FDD oder TSM ist, neue Reparameter
zu den Blöcken
gesendet, die eine Modusänderung ermöglichen.
-
Da
die Übertragungsformate
in TDD und FDD unter-schiedlich sind, hat der physikalische Schichtprozessor
zwei Sendeblöcke,
einen TDD-Sende-Chipratenprozessor 311 und einen FDD-Sende-Chipratenprozessor 306.
Ebenso werden auf der Empfangsseite zwei Empfangsblöcke verwendet,
eine TDD-Chipratenprozessor 301 und ein FDD-Empfangs-Chipratenprozessor 304.
Der TDD- Chipratenprozessor 301 erfasst TDD-formatierte
Signale, wie unter Verwendung einer Mehrfachbenutzererfassungsvorrichtung.
Der FDD-Chipratenprozessor 304 erfasst FDD-formatierte
Signale, wie unter Verwendung eines Rake-Empfängers.
-
Wenn
der physikalische Schichtprozessor im TDD-Modus arbeitet, werden
der TDD-Empfangs-Chipratenprozessor 301 und der TDD-Sende-Chipratenprozessor 311 gemeinsam
mit den anderen sechs allgemein verwendeten Komponenten benutzt.
Wenn der physikalische Schichtprozessor im FDD-Modus arbeitet, werden
der FDD-Empfangs-Chipratenprozessor 304 und
der FDD-Sende-Chipratenprozessor 306 gemeinsam
mit den anderen sechs allgemein verwendeten Komponenten benutzt.
-
Da
der einzige notwendig Hardware-Unterschied zwischen dem TDD- und
FDD-Modus die Chipraten-Empfänger 301, 304 und
-Sender 311, 306 sind, kann unter Verwendung von
im Wesentlichen den selben Hardwareblöcken entweder ein FDD-, TDD-
oder FDD/TDD-physikalischer Schichtprozessor implementiert werden.
Auf analoge Weise könnten
diese Hardware-Blöcke
für drahtlose
Systeme verwendet werden, die nicht der TDD- und FDD-Modus des 3GPP
sind.
-
Zur
Implementierung eines physikalischen Schichtprozessors, der nur
den TDD-Modus ausführt,
können
die Hardware-Blöcke
von 4 ohne die FDD-Empfangs- und Sende-Chipratenprozessoren 304, 306 verwendet
werden. Im Gegensatz dazu können
zur Implementierung eines physikalischen Schichtprozessors, der
nur den FDD-Modus ausführt,
die Hardware-Blöcke
von 4 ohne die TDD-Empfangs- und Sende-Chipratenprozessoren 301, 311 verwendet
werden. Daher können
die Hardware-Implementierungen des Empfangs-Composite-Kanalprozessors 303,
des Empfangs-Transportkanalprozessors 305, des Sende-Transportkanalprozessors
und des Sende-Composite-Kanalprozessors 307 in verschiedenen
drahtlosen Umgebungen verwendet werden.
-
4 ist
eine Darstellung der Hardware-Komponenten entweder für eine bevorzugtes
Teilnehmergerät
("user equipment" – UE) im FDD-Modus oder eine
Basisstation/einen Knoten B. Es sollte beachtet werden, dass die
Zellsuche 316 nur für
UEs gilt. Signale werden über
eine Antenne 317 oder einen Antennenanordnung des Teilnehmergerätes/Knotens
B empfangen. Ein RF-Empfänger 316 erzeugt
phasengleiche und Quadratur-Basisbandabtastungen der empfangenen
Signale.
-
Der
FDD-Empfangs-Chipratenprozessor 301 umfasst eine Zellsuchund
Rake-Finger-Sucheinrichtung 316, Rake-Finger 312 und
einen Datenschätzer 314.
Die Zellsuch- und Rake-Finger-Sucheinrichtung 316 führt eine
Zeltwahl durch und ortet die Wege empfangener Kommunikationen, um
die Phasenverzögerungen
für die Rake-Finger 312 zu
bestimmen. Die Rake-Finger 312 sammeln die Energie der
Mehrwege der empfangenen Signale. Die Datenschätzung 314 erzeugt
Soft-Symbole der empfangenen Signale zur Composite-Verarbeitung.
-
Der
Empfangs-Composite-Kanalprozessor 303 führt die Composite-Verarbeitung an den
Soft-Symbolen durch, die durch die Datenschätzung 314 erzeugt
werden. Der Empfangs-Transportkanalprozessor 307 umfasst
eine Entschachtelungs/Ratenrückanpassungseinrichtung 52,
einen Turbo-Decodierer 41,
einen Viterbi-Decodierer 43 und einen CRC-Decodierer 42.
Die Entschachtelungs/Ratenrückanpassungseinrichtung
führt eine
Umkehr der ersten und zweiten Verschachtelung wie auch eine Umkehr
der Ratenanpassung aus. Der Turbo-Decodierer 41 decodiert
turbocodierte Signale und der Viterbi-Decodierer decodiert faltungscodierte
Signale 43. Der CRC-Decodierer 42 decodiert die
CRCs der empfangenen Signale. Unter der Leitung des Steuerprozessors 313 und
der SMA- 315 Steuerung 316 werden die Netzdaten
von den empfangenen Signalen unter Verwendung des FDD-Empfangs-Chipratenprozessors 301, des
Empfangs-Composite-Kanalprozessors 303 und des Transportkanalprozessors 305 wiedergewonnen.
-
An
der Sendeseite werden die Netzdaten von einem Sende-Transportkanalprozessor 307,
einem Sende-Composite-Kanalprozessor 309 und einem FDD-Sende-Chipratenprozessor 311 verarbeitet,
um ein gleichphasiges und Quadratursignal zu erzeugen. Der Sende-Transportkanalprozessor 307,
der Sende Composite-Kanalprozessor 309 und der FDD-Sende-Chipratenprozessor 311 werden
vom Steuerprozessor 313 und der MEM/SMA-Steuerung 316 gelenkt,
um die richtige Verarbeitung auszuführen. Die gleichphasigen und Quadratursignale
werden von einem RF-Modulator 308 in
ein moduliertes RF-Signal umgewandelt und von einer Antenne 317A oder
Antennenanordnung durch die drahtlose Schnittstelle ausgestrahlt.
-
6 zeigt,
wie Daten zwischen dem Gemeinschaftsspeicher 314 und den
Composite-Blöcken
zur Sendung übertragen
werden. Für
den Empfang wird der Prozess umgekehrt ausgeführt. Wenn zum Beispiel das
Sendezeitintervall (TTI) auf 4 gestellt ist, sind vier Sendeblöcke, TrBlk0
bis TrBlk3, 251 bis 257, von Daten zu verarbeiten.
Der SMA 315 stellt den Speicher in den Sendezwischenspeicher 265 des
Gemeinschaftsspeichers 314. Bei jeder Frame-Zeit, die 10
ms ist, überträgt der SMA 315 die
Datenblöcke
zu dem Transportkanalprozessor 307, wo eine Verarbeitung,
wie der CRC-Anhang oder die Kanalcodierung, erfolgt. Wenn die Verarbeitung
vollendet ist oder fast beendet ist, bewegt der SMA 315 die
verarbeiteten Datenblöcke
in einen ersten Verschachteler-Zwischenspeicher 267 in
dem Gemeinschaftsspeicher 314. Da das TTI auf 40 ms in
diesem Beispiel eingestellt ist, überträgt der SMA 315 ein
Viertel des Verschachteler-Zwischenspeichers jede 10 ms (ein Frame)
zu dem Composite-Kanalprozessor 309.
Sobald die Verarbeitung vollendet ist oder fast beendet ist, stellt
der SMA 315 die Ergebnisse in einen physikalischen Kanal-Zwischenspeicher 269 in
dem Gemein schaftsspeicher 314. Der Datenwert des Frames
wird dann in den Chipratenprozessor 311 über den
SMA 315 übertragen.
Die verarbeiteten Daten werden zu einem RF-Modulator gesendet, um
durch eine drahtlose Schnittstelle ausgestrahlt zu werden.
-
7 zeigt
die Pipeline-Zeitsteuerung für
die oben beschriebene Sendeverarbeitung mit Frames von zehn Millisekunden
Länge,
wie durch 3GPP. Zwei Transportkanäle und ein zugehöriger codierter
Composite-Kanal sind in Frame N-2 295 konfiguriert und
Daten werden sofort auf den Kanälen
gesendet. Die Sende-Frame-Komponenten verarbeiten Daten in Frame
N-1 296 und die Sende-Chipratenverarbeitung arbeitet in
Frame N 297, dem ersten OTA-("over-the-air") Frame für den codierten Composite-Transportkanal
1 (CCTrCh_1). Jede horizontale Region stellt eine Rechenkomponente
in dem System dar und ist eine Stufe in der Pipeline. Die Aktivität jedes
Prozessors ist jeweils durch einen Kasten, 401 bis 482,
dargestellt. Die Aktivitätskästen in
jeder horizontalen Region erscheinen in der Reihenfolge, in welcher
sie für
gewöhnlich
in dem System auftreten. Die gestrichelten Linien mit Pfeilen stellen
Zeitabhängigkeiten
dar. Wenn zum Beispiel ein Prozessor eine Verarbeitungsaufgabe beendet,
teilt er dies einem anderen Prozessor mit, so dass diese mit seiner
Verarbeitungsaufgabe beginnen kann.
-
Zum
Zeitpunkt N-2 295 wird die Konfigurations-Transportkanal-1-Mitteilung von
der Sende-Frame-Software 401 empfangen. Zusätzlich zu
dem Konfigurations-CCTrCh-Kanal 1 402 werden Mitteilungen vom
Konfigurations-CCTrCh-Kanal 2 403 von der Sende-Frame-Software empfangen.
Die Sendedaten für
den Transportkanal 1 406 und die Sendedaten für den Transportkanal_2 407 werden
von der Sende-Frame-Software empfangen.
-
Zum
Zeitpunkt N-1 296 werden die neuen Konfigurationen in der
aktiven Datenbank 409 zusammengelegt. Die Sende-Frame-Software
schreibt einen Steuerblock für
den Transportkanal 1 an den Ge meinschaftsspeicher und teilt dann
dem Sende-Transportprozessor
mit, mit der Verarbeitung 411 zu beginnen. Die Sende-Frame-Software
schreibt einen Steuerblock für
den Transportkanal 2 an den Gemeinschaftsspeicher und verkettet
dann entweder den neuen Steuerblock mit jenem für den Transportkanal 1 oder
teilt dem Sende-Transportprozessor mit, mit der Verarbeitung 413 zu
beginnen. Die Sende-Frame-Software schreibt Sende-Composite-Steuerblöcke für CCTrCh
1 an den Gemeinschaftsspeicher und teilt dem Sende-Composite-Prozessor
mit, mit der Verarbeitung 415 zu beginnen. Die Sende-Chip-Software schreibt
einen Steuerblock für
den Zeitschlitz 1 des Frames N an den Gemeinschaftsspeicher.
-
Zum
Zeitpunkt N 297 schreibt die Sende-Chip-Software einen
Steuerblock für
den Zeitschlitz 2 des Frame N an den Gemeinschaftsspeicher 419.
Die Sende-Frame-Software beginnt, Sende-Composite-Steuerblöcke für cctrch 1 an den Gemeinschaftsspeicher
zu schreiben und teilt dem Sende-Composite-Prozessor mit, mit der
Verarbeitung 421 zu beginnen. Die Sende-Chip-Software unterbricht
die Sende-Frame-Software und schreibt einen Steuerblock für den Zeitschlitz 2 von
Frame N an den Gemeinschaftsspeicher 423. Die Sende-Frame-Software
beendet das Schreiben von Sende-Composite-Steuerblöcken für cctrch
1 an den Gemeinschaftsspeicher und teilt dem Sende-Composite-Prozessor mit, mit
der Verarbeitung 425 zu beginnen.
-
Der
Sende-Transport liest Transportdaten für Transportkanal I und gibt
vier Frames verschachtelter Daten an den Gemeinschaftsspeicher 440 aus.
Der Sende-Transport liest Steuerblock- und Transportdaten von dem
Gemeinschaftsspeicher für
den Transportkanal 2 und gibt vier Frames verschachtelter Daten
an den Gemeinschaftsspeicher 442 aus.
-
Der
Sende-Composite-Prozessor liest Steuerblöcke, den 1. Frame der Ausgangdaten
vom Transportkanal 1 und den 1. Frame der Ausgangdaten vom Transportkanal
2. Er verarbeitet die Daten und schreibt Ressource-Einheitsdaten
in den Gemeinschaftsspeicher. Der Sende-Composite-Prozessor muss
warten, bis der Sende-Transportprozessor das Schreiben verschachtelter
Daten sowohl für
Transportkanal 1 als auch Transportkanal 2 460 beendet
hat. Der Sende-Composite-Prozesor liest Steuerblöcke, den 2. Frame der Ausgangdaten
vom Transportkanal 1 und den 2. Frame der Ausgangdaten vom Transportkanal
2. Er verarbeitet die Daten und schreibt Ressource-Einheitsdaten
in den Gemeinschaftsspeicher 462.
-
Der
Chipratenprozessor liest Ressource-Einheitsdaten für den ersten
Zeitschlitz des ersten OTA-Frames von CCTrCH 1 und gibt Soft-Symbole 480 aus.
Der Sende-Chipratenprozessor liest Einheitsdaten für den zweiten
Zeitschlitz des ersten OTA-Frames von CCTrCH 1 und gibt Soft-Symbole
aus. Danach liest der Sende-Chipratenprozessor Ressource-Einheitsdaten
für den
dritten Zeitschlitz des ersten OTA-Frames von CCTrCH 1 und gibt
Soft-Symbole 482 aus.
-
Die
bevorzugte Software-Gestaltung ist derart, dass der Sende-Frame ein auf Mitteilung
beruhendes, Ereignis betriebenes System ist, wie in dem Zustandsdiagramm
oberster Ebene in 8 dargestellt ist, wobei das
System mit einer Mitteilungserwartungsschleife 201 startet.
Eine eintreffende Konfigurationsmitteilung veranlasst eine Zustandsänderung
in der Mitteilungserwartungsschleife 201, die eine Anforderung
an ein Dienstprogramm bewirkt, das Daten in eine Datenbank stellt
oder diese aktualisiert. Wenn zum Beispiel das System eine Hardware-Initialisierung
benötigt,
wird die Zustandsänderung
in der Mitteilungserwartungsschleife 201 erfasst und eine
Anforderung zur Initialisierung der Hardware 209 wird durchgeführt. Bei
Rückkehr
der Anfrage wird die Aktualisierungsfunktion der anstehenden Datenbank 233 aufgerufen
und die Hardware-Konfigurationsdatenübertragung zu der relevanten
Daten bank ausgeführt.
Wenn alle Konfiguratiorisänderungen
und Datenübertragungen
ausgeführt
sind, ruft die Mitteilungserwartungsschleife 201 die Ausführungsfunktion
(N) 225 auf. Diese Funktion erzeugt ein Datenbankregister,
das Informationen in Bezug darauf enthält, welche Datenbanken seit
dem letzten Frame-Tick 203 aktualisiert oder geändert wurden.
-
Ein
Frame-Tick erfolgt alle 10 ms in diesem 3GPPBeispiel und wird von
der Mitteilungserwartungsschleife 201 erfasst. Das System
geht in ein Frame-Tick- 203 Unterprogramm. Die Datenbanken,
die in dem Datenbankregister von der obengenannten Ausführungsfunktion
(n) 225 semaphoriert werden, werden aktualisiert 205 und
eine Einrichtung und ein Start der Datenverarbeitung 207 wird
durchgeführt.
-
Die
zusätzlichen
Zustände
der Konfiguration von TrCh 209, Freigabe von TrCh 211,
Konfiguration der Funkverbindung 215, Freigabe der Funkverbindung 217,
Freigabe physikalischer Kanäle 219,
sind Beispiele für
andere Programme, auf welche die Mitteilungsschleife 201 wartet.
Das TrCh Daten 221 Programm ist das Unterprogramm, das
die Blockübertragungen
einrichtet.
-
5 ist
eine Darstellung von Steuerblöcken
und eines Schemas einer verketteten Liste, die ein Gemeinschaftsspeicher-Zugriffsschema verwendet
und gemäß der vorliegenden
Erfindung. Ein Hardware-Register 151 enthält die Anfangsadresse
eines Speichersteuerblocks 155. Wenn Parameter und Daten
sich über zwei
oder mehr Blöcke
spannen, ermöglicht
ein verketteter Listenmechanismus eine nahtlose Übertragung. Zum Beispiel befindet
sich der Steuerblock 155 im Speicher als eine verkettete
Liste, deren letzter Eintrag ein Hinweis zu einem zweiten Steuerblock 165 ist.
-
Der
Speicherzugriff wird von dem Prozessor 313 oder dem SMA 315 bereitgestellt.
Zum Beispiel hat das Hardware-Register 151 die Anfangsadresse
des Steuerblocks 155, der mit Parameter und Daten geladen ist.
In Betrieb ermöglichen
aufeinander folgende Speicherzugriffe durch den SMA 315 oder
den Prozessor 313 Datenübertragungen
zu und von den Composite-Blöcken.
-
Zum
Beispiel startet der erste Satz von Parametern 154 in Steuerblock 155 an
der Adresse 0100h. Ein Speicheradresszeiger wird zunächst auf
0100h gestellt und die Parameter 154 werden übertragen.
Der Speicheradresszeiger wird auf die nächste Speicheradresse inkrementiert,
die 0104h ist, und die Parameter 157 werden übertragen.
Der Prozess wird wiederholt, bis die Speicheradressierung die Adresse
0118h erreicht.
-
Bei
011Ch überlagert
der Prozessor 313 oder SMA 315 entweder durch
eine anfängliche
Einstellung oder durch ein Flag in den Daten bei 011C8h den Speicheradresszeiger
mit der ersten Adresse von Datenblock 1 162. Dann werden
die Daten in Datenblock 1 sequenziell übertragen. Bei Beendigung der Übertragung
wird dann der Speicheradresszeiger zurückgestellt und inkrementiert
und zeigt auf Adresse 0120h des Steuerblocks 155, der auch
die Speicheradresszeiger verschiebt, um zusätzliche Daten vom Datenblock
2 164 zu erfassen.
-
Bei
Rückkehr
vom Datenblock_2 164, befindet sich der Speicheradresszeiger
bei 0124h, welche die Next_Chain_Adresse 160 ist. Die Daten,
die sich an dieser Adresse befinden, sind die erste Adresse des nächsten Steuerblocks 165,
der auch Parameter 166 und Datenblockadressen 168 bis 174 umfasst,
die auf die entsprechenden Datenblöcke 176 bis 180 verweisen.
Am Ende dieser verketteten Liste befindet sich ein Flag 174,
welches das Ende der verketteten Listen anzeigt.
-
Eine
Darstellung eines bevorzugten Blockladeprozesses von dem Gemeinschaftsspeicher 315 ist
in 10 dargestellt. In typischen Implementierungen
gibt es Zeitsteuerungspunkte, die mit Schreibzugriffen auf Dualport – speicher
zusammenhängen.
Konflikte treten auf, wenn zwei oder mehr Einheiten versuchen, auf
die selbe Speicherregion zuzugreifen, insbesondere wenn eine Schreiboperation
ausgeführt
wird. Eine mögliche bevorzugte
Methode zur Lösung
dieses Problems besteht darin, Steuerblock-Schreibvorgänge zu ermöglichen,
wenn der Composite/Transport-Prozessor frei ist.
-
Wenn
ein neuer Block verfügbar
wird 202, wird eine Prüfung
durchgeführt
um festzustellen, ob der Composite/Transport-Prozessor frei ist 204. Wenn
der Composite/Transport-Prozessor belegt ist, wird der Kettenzeiger überschrieben 208 und
die Steuerung kehrt zur Prüfung
zurück,
um den Status des Prozessors festzustellen. Wenn der Composite/Transport-Prozessor
frei ist, wird ein Gemeinschaftsspeicherzugriffs-(SMA)Zeiger geschrieben 206 und
der Datenschreibvorgang gestartet 210. Eine Prüfung auf
mehr Steuerblöcke 212 wird
durchgeführt.
Wenn mehr Steuerblöcke
vorhanden sind, kehrt die Steuerung zu dem Prozessorprüfstatus 202 zurück. Wenn
keine Steuerblöcke
mehr vorhanden sind, ist die Blockladung vollendet und das System
kehrt zurück 214.
-
Eine
bevorzugte Ausführungsform
für die
physikalische Schichtverarbeitung für die Übertragung im TDD-Modus ist
wie folgt beschrieben, um die Parametrierung der Steuerblöcke zu zeigen.
Zur Erzeugung übertragbarer
Daten werden die Steuerblöcke
Sende-Transportkanalprozessor 307, Sende-Composite-Kanalprozessor 309 und
Sende-Chipratenprozessor 311 verwendet. Zunächst werden
Datenblöcke
zu dem Sende-Transportkanalprozessorblock 307 von dem Gemeinschaftsspeicher 315 gesendet.
Transportblöcke
werden erzeugt und eine zyklische Redundanzprüfung (CRC) wird beim CRC-Anhangprozessor 42 jedem
neuen Transportblock angehängt.
In der bevorzugten Implementierung werden typische CRC-Arten generiert,
einschließlich
Null, 8, 12, 16 und 24 Bit CRCs.
-
Tabelle
I ist eine Liste von Software-Parametern, die in den Sende-Transportkanalprozessorblock
307 geladen
werden.
Tabelle
1
-
Der
TrBlk-Verkettungs-/Codeblocksegmentierungsprozessor 44 erzeugt
einen Wert des Übertragungszeitintervalls
(TTI) von Transportblöcken,
wobei die Anzahl der Blöcke
von dem gewählten
Transportformat für
einen bestimmten Sendekanal abhängig
ist. Der Segmentierungsprozessor 44 verkettet auch die
Blöcke
zu einer einzigen Einheit.
-
Codeblöcke für den bestimmten
Transportkanal werden zu dem Kanalcodiererprozessor 46 geleitet. Abhängig von
der Codierungsart für
den bestimmten Transportkanal, der in der Eingangsdatendatei spezifiziert ist,
werden sie zu der richtigen Kanalcodiererfunktion geleitet. Unter
Bezugnahme auf Tabelle 1 werden Bits 10 und 11 auf die gewünschte Codierungsart
eingestellt. Wenn die Bits auf 00 gestellt sind, gibt es keine Codierung.
Wenn die Bits auf 01, 10 und 11 gestellt werden, ist die Codierung
Rate 1/2 gefaltet, Rate 1/3 gefaltet bzw. Turbo. Die Codierungsarten,
die in der bevorzugten Ausführungsform
möglich
sind, sind durch 3GPP TSG-RAN "Multiplexing
and Channel Coding" 3GPP
TS 25.121 definiert. Diese auf einer parametrierbaren Hardware beruhende
Methode ermöglicht
eine Codierung auf einer Hochleistungsebene, zum Beispiel einen Takt
pro Bit für
Faltungscodierung und zwei Takte pro Bit für Turbo codierung. Dies ist
zehn- bis einhundertmal schneller (pro Taktrate) als die selbe Funktion
für gewöhnlich in
Software ausgeführt
wird.
-
Nach
der Kanalcodierung werden die codierten Blöcke sequenziell durch einen
Ratenanpassungsprozess in dem Radio-Frame-Äquialisierungsprozess 45 verarbeitet.
Dies implementiert effektiv eine Verkettung codierter Blöcke. Der
Ausgang wird dann zu einem ersten Verschachtelerprozess 50 gesendet.
Die Verschachtelung hängt
von der TTI-Verschachtelerrate ab, die auch ein Software-Parameter
in Tabelle 1 ist. Zum Beispiel wird für eine Verschachtelung von
10 Millisekunden ein 00 in den Bits 8 und 9 des Dienstgüteregisters
eingestellt. Für
20, 40 und 80 ms TTIs werden Werte von 01, 10 bzw. 11 in den Bits
8 und 9 eingestellt. Die Daten werden im Radio-Frame-Segmentierungsprozess 50 segmentiert
und zu dem Gemeinschaftsspeicher 315 zurück-geleitet,
bereit für
den Sende Composite-Kanalprozessorblock 309.
-
Der
Sende-Composite-Kanalprozessorblock 309 gewinnt Daten von
dem Gemeinschaftsspeicher 315 gemeinsam mit Steuerparametern
und erzeugt physikalische Kanaldaten. Ein Datenwert eines Radio-Frames wird
aus dem Datenausgang von dem ersten Verschachteler des vorangehenden
Blocks für
den bestimmten Transportkanal erhalten.
-
Tabelle
2 ist eine Formatparametertabelle des Steuerblocks des Sende-Composite-Kanalprozessors
309.
Tabelle
2
-
Zum
Beispiel verwendet der Parameter vom Ratenanpassungstyp die Bits
28 und 29. Wenn diese Bits auf 00 gestellt sind, zeigt dies den
TURBO_PUNCTURE-Modus an. Ebenso werden REPEAT, NON_TURBO_PUNCTURE
und NONE durch Anordnen von 01, 10 bzw. 11 in den Bitpositionen
28 und 29 des Parameterregisters dargestellt.
-
Die
Daten werden durch den Ratenanpassungsprozess 52 ratenangepasst,
bevor sie mit anderen Kanälen
bei dem Transportkanal-(TrCH-)Multiplexerprozess 54 gemultiplext
werden. Der Ausgang des Multiplex-Transportkanalprozessors 54 wird
in physikalische Kanäle
im physikalischen Kanal-(PyCH-) 57 Prozessor segmentiert.
Eine zweite Verschachtelung wird von dem zweiten Verschachtelungsprozessor 46 ausgeführt und
in physikalische Kanäle
beim physikalischen Kanalprozessor 62 umgesetzt. Die Sendekanal
verarbeiteten Daten werden dann zu dem Gemeinschaftsspeicher 315 zur
weiteren Verarbeitung durch den Sende-Chipratenprozessor zurückgeleitet.
-
Der
Sende-Chipratenprozessorblock 311 fragt dann Daten und
Steuerparameter von dem Gemeinschaftsspeicher 315 ab. In
der bevorzugten TDD-Implementierung führt der Block 311 die
Spreizung, Verwürfelung,
Verstärkungsanwendung,
Formatierung, Anfangsetiketteneinfügung, RRC-Filterung durch und
erzeugt ein bis sechzehn Ressource-Einheiten pro Zeitschlitz. Der
I- und Q-Ausgang des Sende-Chipratenprozessors 311 ist
bereit zur Übertragung.
-
11 zeigt
einen bevorzugten Sendekonfigurationszeitverlauf 500 und
zeigt die Vorteile der reparametrierbaren Hardware-Implementiertung.
Die Frames sind durch Frame-Marker 503 an den Mitteilungszeitverlauf 502 gebunden.
Zum Senden eines Signals bei Frame N 409 müssen die
Daten zum Senden während des
Frames N-2 505 konfiguriert werden, bevor die Verarbeitung
bei Execute_N 510 beginnt. Die Daten für Frame N werden wahrend Frame
N-1 verarbeitet und müssen
bis Frame Marker 503 (n) vollständig fertig verarbeitet und
zum Senden bereit sein.
-
Zum
Zeitpunkt N-2 505 auf dem Datenbankzeitverlauf 504 wird
die Frame-Hardware des Sendekanals konfiguriert. Zum Zeitpunkt N-1 507 wird
das Startsteuersignal vom SMA 313 zum Starten der Blockverarbeitung
von der Datenbank gesendet. Die Verarbeitung wird in dem Sende-Transportkanalprozessor 307 und Sende-Composite-Kanalprozessor 309 durchgeführt, welche
die Sende-Frame-Empfangsprozessoren
bilden. Zum Zeitpunkt N 509 verarbeitet der Sende-Chipprozessor 311 die
Daten, die er von der Datenbank erhalten hat.
-
Zur
Darstellung des Datenflusses durch die physikalische Kanalverarbeitung
ist 12 eine Darstellung eines bevorzugten Datenflusses
für das
FDD-Senden. In 12 ist der Transportkanal codiert
und um einen Faktor vier in zwei physikalische Kanäle verschachtelt.
Die Rohdaten für
den Transportkanal_1 102 und Transportkanal_2 104 sind
zu der Transportkanalverarbeitung 106 durch SMA übertragen,
wo der CRC hinzugefügt
wird und die Daten in Codeblöcke
segmentiert werden. Die Blöcke
sind codiert, ratenangepasst und eine erste Verschachtelung ist
durchgeführt.
Die Daten als Blöcke
von Sendekanaldaten 108 bis 122 werden zu dem
Gemeinschaftsspeicher gesendet. Die Daten werden dann zu der Composite-Kanalverarbeitung 124 gesendet,
wo sie raten-angepasst, ein zweites Mal verschachtelt und bei der
Rate von einmal pro Frame in physikalische Kanäle segmentiert werden. Die
physikalischen Kanaldaten werden zu dem Gemeinschaftsspeicher gesendet,
geordnet als physikalische Kanäle
nach Frame 126 bis 128. Die physikalischen Kanaldaten nach
Frame werden dann zu der Chipratenverarbeitung 130 gesendet,
wo sie gespreizt, verwürfelt
und auf einer Frame-Basis gefiltert werden. Ein Steuerkanal ist
auch an jeden erzeugten Frame angehängt.
-
Eine
Reihe von "Aufgaben" für jeden
Kanalprozessor ist durch die Software festgelegt und wird den Prozessoren über Verkettungslisten-Aufgabenwarteschlangen
angezeigt, die in dem Gemeinschaftsspeicher geführt werden. Jede Verarbeitungseinheit
empfängt "Aufgaben" über Steuerblöcke, die
im Gemeinschaftsspeicher vorhanden sind. Der Inhalt jedes Steuerblocks
ist ei ne Funktion der Einheit, für
die er steuert. Die Daten und die Reihenfolge der Daten ist durch
die Funktionalität
und die Spezifikationen jeder Einheit definiert. Eingaben in jeden
Steuerblock enthalten Steuerparameter für die Einheit und Adressen,
die auf Eingabedaten zeigen, und Adressen zu Ausgangsdatenstellen.
Die Steuerblöcke
können
miteinander verkettet werden, um die Steuerprozessorzusatzbelastung
zu verringern.
-
In
Bezug auf die physikalische Schichtverarbeitung empfangener Signale
im TDD-Modus ist eine Tabelle bevorzugter Parameter in Tabelle 3
dargestellt.
Tabelle
3
-
Zum
Beispiel wird zur Sperre der zweiten Verschachtelung das Bit 16
des "12 Disable" auf 1 gesetzt. Steuerparameter
und Datenblöcke
werden von dem Gemeinschaftsspeicher 315 zu dem Empfangs-Composite-Kanalprozessorblock 303 übertragen.
-
13 zeigt
den Empfangskonfigurationszeitverlauf 700. Die Frames sind
durch Frame-Marker 703 auf dem Mitteilungszeitverlauf 702 gebunden.
Wenn ein empfangenes Signal bei Frame N 705 erfasst wird, werden
die empfangenen Daten in Frame N+1 711 und Frame N+2 713 verarbeitet.
In Frame N+3 sind die empfangenen Daten zur Hochschichtverarbeitung
bereit.
-
Zum
Zeitpunkt N-1 703 müssen
die Software-Parameter für
die Hardware-Konfiguration für
einen bestimmten empfangenen Frame in der anstehenden Datenbank
verfügbar
sein. Zum Zeitpunkt N 709 stellt der Empfangs-Chipratenprozessor 301 die
Daten in die Datenbank. Zum Zeitpunkt N+1 711 verarbeitet
der Empfangener-Frame-Prozessor, der aus dem Empfangs-Composite-Kanalprozessor 303 und
dem Empfangs-Transportkanalprozessor 305 besteht, die empfangenen
Daten und sendet die Daten anschließend zu höheren Schichten.