UMTS verwendet im Funknetzteil das Codemultiplexverfahren WCDMA, das für die orthogonale Kodierung und die Bandspreizung den Channelizationcode (Spreadingcode) verwendet. Dieser Channelizationcode hat die angenehme Eigenschaft, dass alle seine Codes zu 100% orthogonal zueinander sind. Dies gilt aber nur, falls alle kodierten Signale synchron zueinander sind. Wie man sich leicht vorstellen kann, liegt Synchronität aller Funksignale aber nur im Downlink (von Bodenstation zum Handy) vor, da es sich hier um eine Punkt-zu-Mehrpunkt-Verbindung handelt. Es gibt also nur einen Sender aber mehrere Empfänger. Dieser Umstand ermöglicht es dem Einzelsender, alle Signale synchron abzuschicken. In Uplink-Richtung ist das nicht der Fall, da es jetzt mehrere Sender, nämlich die diversen Handys der Teilnehmer, und nur einen Empfänger - die Bodenstation- gibt. Diese diversen Sender sind zueinander aber nicht koordiniert, so dass ihre ausgesendeten Signale nicht zueinander aufsynchronisiert werden können. Was das für Konsequenzen hat sieht man anhand der zwei Channelizationcodes C4,2 und C4,4 und der folgenden Zellensituation, in der zwei Teilnehmer (A und B) unterschiedlich weit von der Bodenstation entfernt sind, wodurch auch die Signale unterschiedlich lange brauchen, bis sie vom Teilnehmer bei der Bodenstation angekommen sind. Die Signale von Teilnehmer A brauchen länger als die Signale vom Teilnehmer B. Um das Beispiel anschaulich zu machen, gehen wir von einer Zeitverzögerung von 0,26us aus, was einer Verzögerung von einer Chipdauer entspricht:

Zur Erinnerung haben die zwei verwendeten Channelizationcodes folgendes Format:

Die Auswirkungen auf die Orthogonalität beim Empfang der Bodenstation ist fatal:
Man sieht, dass durch die Zeitverzögerung von 1 Chip die ursprünglich orthogonalen Codes der Bodenstation als identische Codes präsentiert werden. Das hat zur Folge, dass die Signale von Teilnehmer A und Teilnehmer B nicht mehr voneinander getrennt werden können! Der Channelizationcode versagt also komplett, falls die Signale nicht synchron zueinander liegen!
Dieses Beispiel zeigt, dass man sich für den Uplink etwas überlegen muss, will man ein funktionierendes Codemultiplexverfahren realisieren! Andererseits gibt es auch im Downlink noch ein Problem. Die Signale in unser betrachteten Zelle sind im Downlink alle synchron zueinander, sodass alle Codes, die vom Codebaum vergeben worden sind, zueinander synchron sind. Das Problem ist hier jetzt folgendes: Wenn alle Codes in unserer betrachteten Zelle vergeben sind, welche Codes bleiben dann noch für die Nachbarzelle übrig? Vergebe ich den gleichen Codebaum an die Nachbarzelle, so kommt es im Randgebiet zwischen den beiden Zellen auch im Downlink zu Störungen. Und Fazit ist, es gibt nur einen Codebaum! Diesen Sachverhalt löst man dadurch, dass jede Zelle einen eigenen Scramblingcode bekommt, wodurch die zellinternen Signale gegenüber den Signalen der Nachbarzellen geschützt sind.
Auch die Scramblingcodes sind zueinander orthogonal - und zwar zu 100% falls sie synchron zueinander sind, doch was viel wichtiger ist, sie bleiben fast zu 100% orthogonal auch wenn sie zueinander durch zeitliche Verzögerungen verschoben sind, wie das Beispiel oben aufgezeigt hat. Diese Eigenschaft löst damit unsere Problematik der Asynchronität. Im Uplink bekommt jeder Teilnehmer einen eigenen Scramblingcode als Identität zugewiesen, wodurch sich die Teilnehmer jetzt so gut wie nicht mehr gegenseitig behindern können, das der Scramblingcode ja auch bei asynchroner Lage nahezu orthogonal bleibt! Im Downlink bekommt jede Zelle einen eigenen Scramblingcode, wodurch Nachbarzellen jetzt auch orthogonal zueinander kodiert sind.
Der Scramblingcode dient im Gegensatz zum Channelizationcode aber nicht zur Bandspreizung, sondern nur zur orthogonalen Kodierung der Zellen im Downlink und der Teilnehmer im Uplink. Daher hat der Scramblingcode auch eine fixe Länge von exakt 38400 Chips, was genau der Länge von einem Zeitrahmen entspricht, der den zeitlichen Aufbau des WCDMA-Signals definiert. Man bezeichnet die Codefamilie, aus der der Scramblingcode abgeleitet wird, als "Golden Code". Das folgende Bild zeigt den zeitlichen Aufbau der Signale:
Ein Zeitrahmen hat eine Dauer von 10ms und besteht damit aus 38400 Chips (binär kodierte Einheiten) und jeder dieser Zeitrahmen wird mit einem zugewiesenen Scramblingcode, der ebenfalls die fixe Länge von 38400 (falls es sich um den langen Scramblingcode handelt) hat, multiplikativ kodiert.
Im Downlink und Uplink schaut die Kombination von Channelization- und Scramblingcode bei der WCDMA-Kodierung dann folgendermaßen aus:

Im Downlink erfolgt die Kodierung und die Addition der Einzelsignale in der NodeB.

Die Addition der Einzelsignale erfolgt beim Uplink durch die Überlagerung der elektromagnetischen Wellen im Raum. Die Kodierung erfolgt in jedem User Equipment separat. Jeder Teilnehmer hat einen eigenen Scramblingcode zugewiesen! Der Channelizationcode dient nur zur Bandspreizung auf 5MHz.
CC...Channelizationcode SC...Scramblingcode TN... Teilnehmer
Der Scrambling-Code hat eine feste Chiplänge und wird Chip für Chip mit dem zu kodierenden Signal multipliziert. Der Scrambling-Code besteht aus einer Sequenz von Zahlen, die den Wert +1 oder -1 haben können. Multiplikativ bedeutet das für das Ausgangssignal, dass diverse Eingangswerte einen Vorzeichenwechsel erfahren. Folgende Abbildung zeigt, was damit gemeint ist:

Die nächste Abbildung zeigt die Chips übereinander angeordnet, um die Multiplikation besser nachvollziehen zu können.

Bei UMTS kommen zwei verschiedene Scramblingcodeklassen zum Einsatz:
Jeder Zeitrahmen wird also mit den 38400 Chips multiplikativ verknüpft. Diese 38400 Chips werden mit Hilfe von Schieberegistern generiert, wobei im Downlink 18 Register und im Uplink 25 Register verwendet werden. Das Prinzip dabei ist folgendes, im Bild unten sind 5 Register eingezeichnet, die über einen Modulo-2-Addierer rückgekoppelt sind (gelb). Zu Beginn der Codegenerierung werden die 5 Register mit 5 vorgegebenen Bits (vom RNC mitgeteilt) initiiert. Durch ein Taktsignal (CLK) von 3,84MHz (entspricht der Chiprate 3,84Mchip/s) werden jeweils die Informationen von einem Ausgang an den nächsten Registereingang weitergereicht, wobei hier das letzte und das dritte Register über eine Modulo-2-Addition kombiniert an den Eingang des ersten Registers weitergereicht werden. Der Modulo-2-Addierer entspricht einem digitalen XOR-Gatter (Exklusiv Oder). Jetzt braucht man nur noch am Ausgang 38400 Bits sammeln, die NRZ-kodiert werden (NRZ - No Return to Zero: das Bit "0" wird zu "+1" und das Bit "1" wird zu "-1") und der Kodierer hat seinen Scramblingcode.

Durch die 5 verwendeten Gatter ergibt sich am Ausgang eine Periodizität von 25 - 1 = 31, danach wiederholt sich das Ausgangs-Chipmuster. Prinzipiell gäbe es also 31 verschiedene Codes, die man in diesem Beispiel vergeben könnte, die sich alle nur durch ein unterschiedliches Initialisierungsmuster zu Beginn unterscheiden. UMTS verwendet für seine langen Scramblingcodes jetzt sogar im Downlink 18 Register und im Uplink sogar 25 Register. Außerdem zu beachten ist, dass UMTS ein modernes Modulationsverfahren (4-PSK) verwendet, das es erlaubt, zwei Bitströme gleichzeitig zu übertragen (genaueres siehe Modulation), wobei jeder Bitstrom separat kodiert wird. Deshalb gibt es auch jeweils zwei Scramblingcodefolgen, eine "reale" und eine "imaginäre". Diese Ausdrücke sind aus der Mathematik entliehen, da man "reale" und "imaginäre" Werte durch "komplexe" Werte zusammenfassen kann. Die Konsequenz werden wir in der Abbildung unten sehen. Betrachten wir jetzt diese zwei Übertragungsrichtungen separat:
Die 18 Register für den Downlinkcode erlauben theoretisch 218 - 1 = 262143 verschiedene Scramblingcodes, von denen allerdings nur 8192 tatsächlich zum Einsatz kommen. Diese 8192 Downlinkcodes werden in 512 Sets eingeteilt, wobei jedes Set aus 1 primären Scramblingcode und 15 sekundären Scramblingcodes besteht. Jede Zelle bekommt genau ein solches Set für die Zellenkodierung im Downlink fix zur Verfügung gestellt. Diese 512 Sets werden bei der Zellenplanung geographisch so verteilt, dass niemals benachbarte Zellen das gleiche Set verwenden, um sich nicht gegenseitig durch Signalüberlagerung zu stören. Je weiter zwei Zellen mit gleichem Set auseinander liegen, umso besser für die Netzperformance! Für die Kodierung muss die NodeB die 18 Register mit jenen 18 Bits initialisieren, die dem primären Scramblingcode ihres Zellen-Sets entspricht. Danach werden 38400 NRZ-kodierte Chips ausgelesen, die als Zellenscramblingcode dienen und jedem Zeitrahmen multiplikativ überlagert werden.
Da der Scramblingcode im Uplink auch die Teilnehmeridentität gewährleisten muss, muss es wesentlich mehr Uplink-Scramblingcodes geben als im Downlink. Deswegen werden im Uplink auch 25 Register verwendet, wobei das 25. Register zu Beginn aber stets mit "1" initialisiert. Die restlichen 24 Register stehen zur freien Initialisierung zur Verfügung, wodurch sich insgesamt 16.777.215 (224 -1) verschiedene Uplink-Scramblingcodes ergeben. Die 24 Initialisierungsbits werden dem User Equipment durch den RNC per Funk mitgeteilt, da der RNC die Funkressourcen und somit auch die Kanalkonfigurationen verwaltet und somit stets den Überblick über alle Zellen und deren Teilnehmer hat, die an ihm angeschlossen sind. Auch im Uplink werden wieder 38400 Chips letztlich ausgelesen, um jeweils einen Zeitrahmen zu kodieren.
Man erkennt hier sowohl das reale und das imaginäre Ausgangssignal, wobei das imaginäre Signal dem realen Signal entspricht, nur dass es zeitlich verschoben ist.
Im Uplink gibt es auch noch die Option den "kurzen" Scramblingcode zu verwenden, der nur aus 256 Zeichen besteht und nur dann verwendet wird, falls die Basisstation, also die NodeB, keinen Rake Receicer verwendet. In diesem Fall verwendet die NodeB sogenannte "Advanced Multiuser"-Detektoren oder eine Empfängertechnologie, die die überlagerten Störsignale (zB. durch Mehrwegausbreitung) herausfiltert und wegschneidet, ähnlich wie dies auch bei GSM mit Hilfe einer 26 Bit langen Trainings-Bitfolge im Normalburst geschieht. Der kurze Scramblingcode gehört zur "extended S(2) Codefamilie". 256 Chips entsprechen dabei einem zehntel eines Zeitschlitzes, wobei jeder Zeitrahmen aus 15 Zeitschlitzen besteht (siehe Bild" Zeitformat" oben).
| Thema | Infos | Letzter Beitrag | |
|---|---|---|---|
|
Forum: 3 - Hutchison 3G |
|||
|
Forum: Geschwindigkeitstest |
|||
|
Forum: 3 - Hutchison 3G |
|||
|
Forum: WindowsFREIE Zone |
|||
|
|
Forum: 3 - Hutchison 3G |
||