Contents
Komponenten der Sprach– und Datenübertragung
Nachfolgend sehen Sie das Blockschaltbild des sendeseitigen GSM–Übertragungssystems, das
- sowohl für digitalisierte Sprachsignale (Abtastrate: $8 \ \rm kHz$, Quantisierung: $13$ Bit ⇒ Datenrate: $104 \ \rm kbit/s$)
- als auch für $9.6 \ \rm kbit/s$–Datensignale geeignet ist.
Die Komponenten für die Sprachübertragung sind blau, die für Daten rot und gemeinsame Blöcke grün dargestellt.
Hier eine kurze Beschreibung der einzelnen Komponenten:
- Sprachsignale werden durch die Sprachcodierung von $104 \ \rm kbit/s$ auf $13 \ \rm kbit/s$ – also um den Faktor $8$ – komprimiert. Die in der Grafik angegebene Bitrate gilt für den Vollraten–Codec, der pro Sprachrahmen (Dauer $T_{\rm R} = 20\ \rm ms$) genau $260$ Bit liefert.
- Der AMR–Codec liefert im höchsten Modus $12.2 \ \rm kbit/s$ ($244$ Bit pro Sprachrahmen). Der Sprachcodec muss aber zusätzlich auch Informationen hinsichtlich des aktuellen Modus übertragen, so dass die Datenrate vor der Kanalcodierung ebenfalls $13 \ \rm kbit/s$ beträgt.
- Aufgabe der gestrichelt eingezeichneten Voice Activity Detection ist es zu entscheiden, ob der aktuelle Sprachrahmen tatsächlich ein Sprachsignal enthält oder nur eine Sprachpause, während der die Leistung des Sendeverstärkers heruntergefahren wird.
- Durch die Kanalcodierung wird wieder Redundanz hinzugefügt, um Fehlerkorrektur beim Empfänger zu ermöglichen. Pro Sprachrahmen gibt der Kanalcoder $456$ Bit ab, woraus sich die Datenrate $22.8 \ \rm kbit/s$ ergibt. Die wichtigeren Bits werden besonders geschützt.
- Der Interleaver verwürfelt die entstehende Bitfolge, um den Einfluss von Bündelfehlern zu vermindern. Die $456$ Eingangsbit werden auf vier Zeitrahmen zu je $114$ Bit aufgeteilt. Zwei aufeinander folgende Bits werden somit immer in zwei verschiedenen Bursts übertragen.
- Ein Datenkanal – im Bild rot markiert – unterscheidet sich von einem Sprachkanal (blau gekennzeichnet) nur durch die unterschiedliche Eingangsrate ($9.6 \ \rm kbit/s$ statt $104 \ \rm kbit/s$) und die Verwendung eines zweiten, äußeren Kanalcoders anstelle des Sprachcodierers.
Die grün hinterlegten Komponenten gelten für die Sprach– und Datenübertragung gleichermaßen. Die erste gemeinsame Systemkomponente für Sprach– und Datenübertragung im Blockschaltbild des GSM–Senders auf der ersten Seite dieses Abschnitts ist die Verschlüsselung, die verhindern soll, dass Unbefugte Zugriff auf die Daten erhalten.
Dabei gibt es zwei grundsätzlich unterschiedliche Verschlüsselungsverfahren:
- Symmetrische Verschlüsselung: Diese kennt nur einen einzigen geheimen Schlüssel, der sowohl zur Verschlüsselung und Chiffrierung der Nachrichten im Sender als auch zur Entschlüsselung und Dechiffrierung im Empfänger benutzt wird. Der Schlüssel muss vor der Kommunikation erzeugt und zwischen den Kommunikationspartnern über einen sicheren Kanal ausgetauscht werden. Der Vorteil dieses im herkömmlichen GSM angewendeten Verschlüsselungsverfahrens ist, dass es sehr schnell arbeitet.
- Asymmetrische Verschlüsselung: Dieses Verfahren benutzt zwei unabhängige, aber zueinander passende asymmetrische Schlüssel. Es ist nicht möglich, mit einem Schlüssel den anderen zu berechnen. Der „Public Key” ist öffentlich zugänglich und dient der Verschlüsselung. Der „Private Key” ist geheim und wird bei der Entschlüsselung verwendet. Im Gegensatz zu den symmetrischen Verschlüsselungsverfahren sind die asymmetrischen Methoden wesentlich langsamer, bieten dafür aber auch eine höhere Sicherheit.
Der zweite grüne Block ist die Burstbildung, wobei es verschiedene Burstarten gibt. Beim Normal Burst werden die $114$ codierten, verwürfelten und verschlüsselten Bits durch Hinzufügen von Guard Period, Signalisierungsbits, etc. auf $156.25$ Bit abgebildet. Diese werden innerhalb eines Zeitschlitzes der Dauer $T_{\rm Z} = 576.9 \ \rm µ s$ mittels des Modulationsverfahrens GMSK übertragen. Daraus ergibt sich die Brutto–Datenrate $270.833 \ \rm kbit/s$.
Beim Empfänger gibt es in umgekehrter Reihenfolge die Blöcke
- Demodulation,
- Burstzerlegung,
- Entschlüsselung,
- De–Interleaving,
- Kanaldecodierung,
- Sprachdecodierung.
Auf den nächsten Seiten werden alle Blöcke von obigem Übertragungsschema im Detail vorgestellt.
Codierung bei Sprachsignalen
Uncodierte Funkdatenübertragung führt zu Bitfehlerraten im Prozentbereich. Mit Kanalcodierung (englisch: Channel Coding) können aber manche Übertragungsfehler beim Empfänger erkannt oder sogar korrigiert werden. Die Bitfehlerrate lässt sich so auf Werte $<10^{–5}$ reduzieren.
Zunächst betrachten wir die GSM-Kanalcodierung für die Sprachkanäle, wobei als Sprachcoder der Vollraten–Codec vorausgesetzt wird. Die Kanalcodierung eines Sprachrahmens von $20\ \rm ms$ Dauer erfolgt in vier aufeinander folgenden Schritten entsprechend obiger Grafik.
Aus der Beschreibung im Kapitel Sprachcodierung ist zu ersehen, dass nicht alle 260 Bits den gleichen Einfluss auf die subjektiv empfundene Sprachqualität haben.
- Deshalb werden die Daten entsprechend ihrer Wichtigkeit in drei Klassen aufgeteilt: Die $50$ wichtigsten Bits bilden die Klasse 1a, weitere $132$ werden der Klasse 1b zugeteilt und die restlichen $78$ Bits ergeben die eher unwichtige Klasse 2.
- Im nächsten Schritt wird für die 50 besonders wichtigen Bits der Klasse 1a mit einem rückgekoppelten Schieberegister eine drei Bit lange Cyclic Redundancy Check (CRC)–Prüfsumme berechnet. Das Generatorpolynom für diese CRC–Überprüfung lautet:
- $$G_{\rm CRC}(D) = D^3 + D +1\hspace{0.05cm}. $$
- Anschließend werden den insgesamt $185$ Bits der Klasse 1a und 1b inclusive den drei (rot eingezeichneten) CRC–Paritätsbits noch vier (gelbe) Tailbits „0000” angehängt. Diese vier Bits initialisieren die vier Speicherregister des nachfolgenden Faltungscoders jeweils mit $0$, so dass für jeden Sprachrahmen von einem definierten Status ausgegangen werden kann.
- Der Faltungscode mit der Coderate $R_{\rm C} = 1/2$ verdoppelt diese $189$ wichtigsten Bits auf $378$ Bits und schützt diese somit signifikant gegen Übertragungsfehler. Anschließend werden noch die $78$ Bits der unwichtigeren Klasse 2 ungeschützt angehängt.
- Auf diese Weise ergeben sich nach der Kanalcodierung pro $20 \ \rm ms$–Sprachrahmen genau $456$ Bits. Dies entspricht einer (codierten) Datenrate von $22.8\ \rm kbit/s$ gegenüber $13\ \rm kbit/s$ nach der Sprachcodierung. Die effektive Kanalcodierungsrate beträgt somit $260/456 = 57\%$.
Interleaving bei Sprachsignalen
Das Ergebnis der Faltungsdecodierung hängt nicht nur von der Häufigkeit der Übertragungsfehler ab, sondern auch von deren Verteilung. Um gute Korrekturergebnisse zu erzielen, sollte der Kanal kein Gedächtnis besitzen, sondern möglichst statistisch unabhängige Bitfehler liefern.
Bei Mobilfunksystemen treten Übertragungsfehler aber meist in Blöcken (Error Bursts) auf. Durch den Einsatz der Interleaving–Technik werden solche Bündelfehler über mehrere Bursts gleichmäßig verteilt und so deren Auswirkungen abgeschwächt.
Bei einem Sprachkanal arbeitet der Interleaver in folgender Weise:
- Die $456$ Eingangsbit pro Sprachrahmen werden nach einem festen Algorithmus auf vier Blöcke zu je $114$ Bit aufgeteilt. Wir bezeichnen diese für den $n$–ten Sprachrahmen mit $A_n$, $B_n$, $C_n$ und $D_n$. Der Index $n-1$ bezeichnet den vorhergehenden Rahmen und $n+1$ den nachfolgenden.
- Der Block $A_n$ wird weiterhin in zwei Unterblöcke $A_{{\rm g},\hspace{0.05cm}n}$ und $A_{{\rm u},\hspace{0.05cm}n}$ zu je $57$ Bit unterteilt, wobei $A_{{\rm g},\hspace{0.05cm}n}$ nur die geraden Bitpositionen und $A_{{\rm u},\hspace{0.05cm}n}$ die ungeraden Bitpositionen von $A_n$ bezeichnen. In der Grafik sind $A_{{\rm g},\hspace{0.05cm}n}$ und $A_{{\rm u},\hspace{0.05cm}n}$ an der roten bzw. blauen Hinterlegung zu erkennen.
- Der Unterblock $A_{{\rm g},\hspace{0.05cm}n}$ des $n$–ten Sprachrahmens wird mit dem Block $A_{{\rm u},\hspace{0.05cm}n-1}$ des vorherigen Rahmens zusammengefügt und ergibt die $114$ Nutzdaten eines Normal Bursts: $\left (A_{{\rm g},\hspace{0.05cm}n}, A_{{\rm u},\hspace{0.05cm}n-1}\right )$. Gleiches gilt für die drei nächsten Bursts: $\left (B_{{\rm g},\hspace{0.05cm}n}, B_{{\rm u},\hspace{0.05cm}n-1}\right )$, $\left (C_{{\rm g},\hspace{0.05cm}n}, C_{{\rm u},\hspace{0.05cm}n-1}\right )$, $\left (D_{{\rm g},\hspace{0.05cm}n}, D_{{\rm u},\hspace{0.05cm}n-1}\right )$.
- In gleicher Weise werden die ungeraden Unterblöcke des $n$–ten Sprachrahmens mit den geraden Unterblöcken des nachfolgenden Rahmens verschachtelt: $\left (A_{{\rm g},\hspace{0.05cm}n+1}, A_{{\rm u},\hspace{0.05cm}n}\right )$, ... , $\left (D_{{\rm g},\hspace{0.05cm}n+1}, D_{{\rm u},\hspace{0.05cm}n}\right )$.
$\text{Fazit:}$ Die hier beschriebene Verwürfelungsart wird block-diagonales Interleaving genannt, hier speziell vom Grad $8$:
- Dieses vermindert die Störanfälligkeit gegenüber Bündelfehlern.
- So werden niemals zwei aufeinander folgende Bits eines Datenblocks direkt hintereinander gesendet.
- Mehrbitfehler treten nach dem De–Interleaver isoliert auf und können so wirkungsvoller korrigiert werden.
Codierung und Interleaving bei Datensignalen
Für die GSM–Datenübertragung steht jedem Teilnehmer lediglich eine Nettodatenrate von $9.6\ \rm kbit/s$ zur Verfügung. Zur Fehlersicherung werden zwei Verfahren eingesetzt:
- Forward Error Correction (FEC, deutsch: Vorwärtsfehlerkorrektur) wird auf der physikalischen Schicht durch Anwendung von Faltungscodes realisiert.
- Automatic Repeat Request (ARQ); dabei werden auf der Sicherungsschicht defekte und nicht korrigierbare Pakete neu angefordert.
Die Grafik verdeutlicht Kanalcodierung und Interleaving für den Datenkanal mit 9.6 kbit/s, die im Gegensatz zur Kanalcodierung des Sprachkanals (mit Bitfehlerrate $10^{–5}$... $10^{–6}$) eine nahezu fehlerfreie Rekonstruktion der Daten erlaubt.
Aus den beiden oberen Skizzen dieser Grafik erkennt man:
- Die Datenbitrate von $9.6\ \rm kbit/s$ wird zuerst im Terminal Equipment der Mobilstation durch eine nicht GSM–spezifische Kanalcodierung um $25\%$ auf $12\ \rm kbit/s$ erhöht, um eine Fehlererkennung in leitungsvermittelten Netzen zu ermöglichen.
- Bei der Datenübertragung sind alle Bit gleichwertig, so dass es im Gegensatz zur Codierung des Sprachkanals keine Klassen gibt. Die $240$ Bit pro $20 \ \rm ms$–Zeitrahmen werden zusammen mit vier Tailbits $0000$ zu einem einzigen Datenrahmen zusammengefasst.
Aus den Skizzen 3 – 6 der obigen Grafik erkennt man:
- Diese 244 Bit werden wie bei Sprachkanälen durch einen Faltungscoder der Rate 1/2 auf 488 Bit verdoppelt. Pro einlaufendem Bit werden zwei Codesymbole erzeugt, zum Beispiel gemäß den Generatorpolynomen $G_0(D) = 1 + D^3 + D^4$ und $G_1(D) = 1 + D + D^3 + D^4$:
- Der nachfolgende Interleaver erwartet – ebenso wie ein „Sprach–Interleaver” – als Eingabe nur 456 Bit pro Rahmen (20 ms). Deshalb werden von den 488 Bits am Ausgang des Faltungscoders noch 32 Bits an den Positionen 15 · $j$ – 4 ( $j$ = 1, ..., 32 ) entfernt („Punktierung”).
- Da die Datenübertragung weniger zeitkritisch ist als die Sprachübertragung, wird hier ein höherer Interleaving–Grad gewählt. Die 456 Bit werden auf bis zu 24 Interleaver–Blöcke zu je 19 Bit verteilt, was bei Sprachdiensten aus Gründen der Echtzeitübertragung nicht möglich wäre.
- Danach werden sie auf vier aufeinander folgende Normal Bursts (4 · 2 · 57 Bit) aufgeteilt und versandt. Beim Einpacken in die Bursts werden wieder Gruppierungen gerader und ungerader Bits gebildet, ähnlich dem Interleaving im Sprachkanal.
Empfängerseite – Decodierung
Der GSM–Empfänger (gelb hinterlegt) beinhaltet die GMSK-Demodulation, die Burstzerlegung, die Entschlüsselung, das De–Interleaving sowie die Kanal– und Sprachdecodierung.
Zu den beiden letzten Blöcken in obigem Bild ist anzumerken:
- Das Decodierverfahren wird durch die GSM–Spezifikation nicht vorgeschrieben, sondern ist den einzelnen Netzbetreibern überlassen. Die Leistungsfähigkeit ist vom eingesetzten Algorithmus zur Fehlerkorrektur abhängig.
- Zum Beispiel wird beim Decodierverfahren Maximum Likelihood Sequence Estimation (MLSE) die wahrscheinlichste Bitsequenz unter Verwendung des Viterbi–Algorithmus oder eines MAP–Empfängers (Maximum A–posteriori Probability) ermittelt.
- Nach der Fehlerkorrektur wird der Cyclic Redundancy Check (CRC) durchgeführt, wobei beim Vollraten–Codec der Grad G des verwendeten CRC–Generatorpolynoms gleich 3 ist. Damit werden alle Fehlermuster bis zum Gewicht 3 und alle Bündelfehler bis zur Länge 4 erkannt.
- Anhand des CRC wird über die Verwendbarkeit eines jeden Sprachrahmens entschieden. Ist das Testergebnis positiv, so werden im nachfolgenden Sprachdecoder aus den Sprachparametern (260 Bit pro Rahmen) die Sprachsignale synthetisiert.
- Falls ausgefallen sind, werden die Parametersätze vorangegangener, als korrekt erkannter Rahmen zur Sprachinterpolation verwendet („Fehlerverschleierung”). Treten mehrere nicht korrekte Sprachrahmen in Folge auf, so wird die Leistung kontinuierlich bis hin zur Stummschaltung abgesenkt.
Aufgabe zum Kapitel
Aufgabe 3.7: Komponenten des GSM–Systems