Difference between revisions of "Examples of Communication Systems/Entire GSM Transmission System"

From LNTwww
Line 89: Line 89:
  
 
 
 
 
==Codierung und Interleaving bei Datensignalen ==
+
==Encoding and interleaving for data signals ==
 
<br>
 
<br>
Für die GSM–Datenübertragung steht jedem Teilnehmer lediglich eine Nettodatenrate von&nbsp; $9.6\ \rm kbit/s$&nbsp; zur Verfügung. Zur Fehlersicherung werden zwei Verfahren eingesetzt:
+
For GSM data transmission, each subscriber only has a net data rate of&nbsp; $9.6\ \rm kbit/s$&nbsp; available. Two methods are used for error protection:
*'''Forward Error Correction'''&nbsp; (FEC, deutsch:&nbsp; Vorwärtsfehlerkorrektur)&nbsp; wird auf der physikalischen Schicht durch Anwendung von Faltungscodes realisiert.
+
*'''Forward Error Correction'''&nbsp; (FEC)&nbsp; is implemented at the physical layer by applying convolutional codes.
*'''Automatic Repeat Request'''&nbsp; (ARQ); dabei werden auf der Sicherungsschicht defekte und nicht korrigierbare Pakete neu angefordert.
+
*'''Automatic Repeat Request'''&nbsp; (ARQ); where defective packets that cannot be corrected are re-requested at the link layer.
  
  
[[File:EN_Bei_T_3_4_S4.png|center|frame|Zur Verdeutlichung von Codierung und Interleaving bei Datensignalen]]
+
[[File:EN_Bei_T_3_4_S4.png|center|frame|For illustration of coding and interleaving for data signals]]
  
Die Grafik verdeutlicht Kanalcodierung und Interleaving für den Datenkanal mit&nbsp; $9.6\ \rm kbit/s$, die im Gegensatz zur Kanalcodierung des Sprachkanals&nbsp; $($mit Bitfehlerrate&nbsp; $10^{–5}$... $10^{–6})$&nbsp; eine nahezu fehlerfreie Rekonstruktion der Daten erlaubt:
+
The graph illustrates channel coding and interleaving for the data channel with&nbsp; $9.6\ \rm kbit/s$, which in contrast to the channel coding of the voice channel&nbsp; $($with bit error rate&nbsp; $10^{-5}$... $10^{-6})$&nbsp; allows an almost error-free reconstruction of the data:
  
*Die Datenbitrate von&nbsp; $9.6\ \rm kbit/s$&nbsp; wird zuerst im&nbsp; ''Terminal Equipment''&nbsp; der Mobilstation durch eine nicht GSM–spezifische Kanalcodierung um&nbsp; $25\%$&nbsp; auf&nbsp; $12\ \rm kbit/s$&nbsp; erhöht, um eine Fehlererkennung in leitungsvermittelten Netzen zu ermöglichen.
+
*The data bit rate of&nbsp; $9.6\ \rm kbit/s$&nbsp; is first increased in&nbsp; ''Terminal Equipment''&nbsp; the mobile station by&nbsp; $25\%$&nbsp; to&nbsp; $12\ \rm kbit/s$&nbsp; through non-GSM specific channel coding to allow error detection in circuit switched networks.
*Bei der Datenübertragung sind alle Bit gleichwertig, so dass es im Gegensatz zur Codierung des Sprachkanals keine Klassen gibt. Die&nbsp; $240$ Bit&nbsp; pro&nbsp; $20 \ \rm ms$–Zeitrahmen werden zusammen mit vier Tailbits&nbsp; $0000$&nbsp; zu einem einzigen Datenrahmen zusammengefasst.
+
*In data transmission, all bits are equivalent, so unlike voice channel coding, there are no classes. The&nbsp; $240$ bits&nbsp; per&nbsp; $20 \rm ms$ time frame are combined together with four tailbits&nbsp; $0000$&nbsp; to form a single data frame.
*Diese&nbsp; $244$&nbsp; Bit werden wie bei Sprachkanälen durch einen Faltungscoder der Rate&nbsp; $1/2$&nbsp; auf&nbsp; $488$&nbsp; Bit verdoppelt. Pro einlaufendem Bit werden zwei Codesymbole erzeugt, zum Beispiel gemäß den Generatorpolynomen&nbsp; $G_0(D) = 1 + D^3 + D^4$&nbsp; und&nbsp; $G_1(D) = 1 + D + D^3 + D^4$:
+
*These&nbsp; $244$&nbsp; bits are doubled to&nbsp; $488$&nbsp; bits by a convolutional encoder of rate&nbsp; $1/2$&nbsp; as in voice channels. Two code symbols are generated per incoming bit, for example according to the generator polynomials&nbsp; $G_0(D) = 1 + D^3 + D^4$&nbsp; and&nbsp; $G_1(D) = 1 + D + D^3 + D^4$:
  
  
[[File:EN_Bei_T_3_4_S4b.png|center|frame|Bei GSM verwendeter Faltungscoder der Rate&nbsp; $1/2$]]
+
[[File:EN_Bei_T_3_4_S4b.png|center|frame|Convolutional encoder of rate used by GSM&nbsp; $1/2$]]
  
*Der nachfolgende Interleaver erwartet – ebenso wie ein „Sprach–Interleaver” – als Eingabe nur&nbsp; $456$&nbsp; Bit pro Rahmen. Deshalb werden von den&nbsp; $488$&nbsp; Bit am Ausgang des Faltungscodierers noch&nbsp; $32$&nbsp; Bit an den Positionen&nbsp; $15 · j - 4 \ ( j = 1$, ... ,$ 32 )$&nbsp; entfernt („Punktierung”).
+
*The following interleaver expects - just like a "speech interleaver" - only&nbsp; $456$&nbsp; bits per frame as input. Therefore, from the&nbsp; $488$&nbsp; bits at the output of the convolutional encoder still&nbsp; $32$&nbsp; bits at the positions&nbsp; $15 - j - 4 \ ( j = 1$, ... ,$ 32 )$&nbsp; are removed ("puncturing").
*Da die Datenübertragung weniger zeitkritisch ist als die Sprachübertragung, wird hier ein höherer Interleaving–Grad gewählt. Die&nbsp; $456$&nbsp; Bit werden auf bis zu&nbsp; $24$ Interleaver–Blöcke&nbsp; zu je&nbsp; $19$&nbsp; Bit verteilt, was bei Sprachdiensten aus Gründen der Echtzeitübertragung nicht möglich wäre.
+
*Since data transmission is less time critical than voice transmission, a higher interleaving degree is chosen here. The&nbsp; $456$&nbsp; bits are distributed over up to&nbsp; $24$ interleaver blocks&nbsp; of&nbsp; $19$&nbsp; bits each, which would not be possible for voice services for reasons of real-time transmission.
*Danach werden die&nbsp; $456$&nbsp; Bit auf vier aufeinander folgende&nbsp; ''Normal Bursts''&nbsp; aufgeteilt und versandt. Beim Einpacken in die Bursts werden wieder Gruppierungen gerader und ungerader Bits gebildet, ähnlich dem Interleaving im Sprachkanal.
+
*Then the&nbsp; $456$&nbsp; bits are split into four consecutive&nbsp; ''Normal Bursts''&nbsp; and sent. When packing in the bursts, groupings of even and odd bits are again formed, similar to interleaving in the voice channel.
 
   
 
   
  

Revision as of 22:55, 21 January 2023


Voice and data transmission components


Below you can see the block diagram of the GSM transmission system at the transmitting end, which is

  • is suitable for both digitized voice signals  $($sampling rate:  $8 \ \rm kHz$,  quantization:  $13$ bit   ⇒   data rate:  $104 \ \rm kbit/s)$
  • as well as being suitable for  $9.6 \ \rm kbit/s$ data signals.


Components for voice are shown in blue, those for data in red, and common blocks in green.

Components of the voice and data communication with GSM

Here is a brief description of each component:

  • Speech signals are compressed by voice coding from  $104 \ \rm kbit/s$  to  $13 \ \rm kbit/s$  - i.e. by a factor  $8$. The bit rate given in the graph is for the full rate codec, which delivers $($duration  $T_{\rm R} = 20\ \rm ms)$  exactly  $260$  bits per speech frame.
  • The  AMR codec  delivers in highest mode  $12.2 \ \rm kbit/s$  $(244$  bits per speech frame$)$. However, the speech codec must also transmit additional information regarding the current mode, so the data rate before channel coding is also  $13 \rm kbit/s$ .
  • The task of the dashed  Voice Activity Detection'  is to decide whether the current voice frame actually contains a voice signal or just a voice pause during which the power of the transmit amplifier should be turned down.
  • By  channel coding  redundancy is added again to allow error correction at the receiver. Per voice frame, the channel encoder  outputs $456$  bits, resulting in the data rate  $22.8 \ \rm kbit/s$ . The more important bits are specially protected.
  • The  interleaver  scrambles the resulting bit sequence to reduce the influence of bundle errors. The  $456$  input bits are split into four time frames of  $114$  bits each. Thus, two consecutive bits are always transmitted in two different bursts.
  • data channel  - marked in red in the figure - differs from a voice channel (marked in blue) only by the different input rate  $(9.6 \ \rm kbit/s$  instead of  $104 \ \rm kbit/s)$  and the use of a second, outer channel encoder instead of the voice encoder.


The components highlighted in green apply equally to voice and data transmission. The first common system component for voice and data transmission in the block diagram of the GSM transmitter is the  encryption, which is intended to prevent unauthorized persons from gaining access to the data.


There are two fundamentally different encryption methods:

  • Symmetric encryption:  This knows only one secret key, which is used both for encrypting and enciphering the messages in the sender and for decrypting and deciphering them in the receiver. The key must be generated prior to communication and exchanged between the communication partners via a secure channel. The advantage of this encryption method used in conventional GSM is that it works very quickly.
  • Asymmetric encryption:  This method uses two independent but matching asymmetric keys. It is not possible to use one key to calculate the other. The  "Public Key"  is publicly available and is used for encryption. The  "Private Key"  is secret and used for decryption. In contrast to the symmetric encryption methods, the asymmetric methods are much slower, but also offer higher security.


The second green block is the  bursting, where there are different burst types. In  Normal Burst  the  $114$  encoded, scrambled and encrypted bits are mapped to  $156.25$  bits by adding  Guard Period, signaling bits, etc. These are transmitted within a time slot of duration  $T_{\rm Z} = 576.9 \rm µ s$  by means of the  modulation method  "GMSK". This results in the gross data rate  $270.833 \ \rm kbit/s$.

At the receiver there are in reverse order the blocks

  • Demodulation,
  • burst decomposition,
  • decryption,
  • de-interleaving,
  • channel decoding,
  • voice decoding.


On the next pages all blocks of the above transmission scheme are presented in detail.


Coding for voice signals


Uncoded radio data transmission leads to bit error rates in the percentage range. However, with  Channel Coding some transmission errors can be detected or even corrected at the receiver. The bit error rate can thus be reduced to values smaller than  $10^{-5}$.

For coding voice signals in GSM

First, we consider GSM channel coding for voice channels, assuming as voice coder the  "Full Rate Codec"  . The channel coding of a voice frame of  $20\ \rm ms$  duration is done in four consecutive steps according to the diagram.
From the description in chapter  "Voice Coding"  it can be seen that not all  $260$  bits have the same influence on the subjectively perceived voice quality.

  • Therefore, the data are divided into three classes according to their importance:   The  $50$  most important bits form the  Class 1a, other  $132$  are assigned to  Class 1b  and the remaining  $78$  bits result in the rather unimportant  Class 2.
  • In the next step, a three-bit long  "Cyclic Redundancy Check"  (CRC) checksum is calculated for the  $50$  particularly important bits of class 1a using a feedback shift register. The generator polynomial for this CRC check is:
$$G_{\rm CRC}(D) = D^3 + D +1\hspace{0.05cm}. $$
  • Subsequently, four (yellow)  tail bits "0000"  are added to the total of  $185$  bits of class 1a and 1b including the three (red drawn) CRC parity bits. These four bits initialize the four memory registers of the following convolutional code with  $0$ each, so that for each language frame a defined status can be assumed.
  • The convolutional code with code rate  $R_{\rm C} = 1/2$  doubles these  $189$  most important bits to  $378$  bits and thus significantly protects them against transmission errors. Then the  $78$  bits of the less important class 2 are appended unprotected.
  • This way, after channel coding, there are exactly  $456$  bits per  $20 \ \rm ms$ language frame. This corresponds to a (coded) data rate of  $22.8\ \rm kbit/s$  compared to  $13\ \rm kbit/s$  after speech coding. The effective channel coding rate is thus  $260/456 = 57\%$.


Interleaving for voice signals


The result of convolutional decoding depends not only on the frequency of the transmission errors, but also on their distribution. To achieve good correction results, the channel should not have any memory, but should provide statistically independent bit errors as far as possible.

In mobile radio systems, however, transmission errors usually occur in blocks  (error bursts) . By using the interleaving technique, such bundle errors are evenly distributed over several bursts and thus their effects are mitigated.

Interleaving in GSM voice signals

For a voice channel, the interleaver works in the following way:

  • The  $456$  input bits per speech frame are divided into four blocks of  $114$  bits each according to a fixed algorithm. We denote these for the  $n$-th speech frame by  $A_n$,  $B_n$,  $C_n$  and  $D_n$. The index  $n-1$  denotes the preceding frame and  $n+1$  the succeeding one.
  • The block  $A_n$  is further divided into two sub-blocks  $A_{{\rm g},\hspace{0.05cm}n}$  and  $A_{{\rm u},\hspace{0.05cm}n}$  of  $57$  bits each, where  $A_{{\rm g},\hspace{0.05cm}n}$  denote only the even bit positions and  $A_{{\rm u},\hspace{0.05cm}n}$  denote the odd bit positions of  $A_n$  . In the graph,  $A_{{\rm g},\hspace{0.05cm}n}$  and  $A_{{\rm u},\hspace{0.05cm}n}$  can be recognized by the red and blue backgrounds, respectively.
  • The subblock  $A_{{\rm g},\hspace{0.05cm}n}$  of the  $n$-th language frame is identified with the block  $A_{{\rm u},\hspace{0.05cm}n-1}$  of the previous frame and gives the  $114$  payload of a  normal burst:  $\left (A_{{\rm g},\hspace{0.05cm}n}, A_{{\rm u},\hspace{0.05cm}n-1}\right )$.  The same applies to the next three 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 the same way, the odd subblocks of the  $n$-th language frame are nested with the even sub-blocks of the following frame:  $\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{Conclusion:}$  The scrambling type described here is called  block-diagonal interleaving  here specifically of degree  $8$:

  • This reduces the susceptibility to bunching errors.
  • So two consecutive bits of a data block are never sent directly after each other.
  • Multi-bit errors occur in isolation after the de-interleaver and can thus be corrected more effectively.


Encoding and interleaving for data signals


For GSM data transmission, each subscriber only has a net data rate of  $9.6\ \rm kbit/s$  available. Two methods are used for error protection:

  • Forward Error Correction  (FEC)  is implemented at the physical layer by applying convolutional codes.
  • Automatic Repeat Request  (ARQ); where defective packets that cannot be corrected are re-requested at the link layer.


For illustration of coding and interleaving for data signals

The graph illustrates channel coding and interleaving for the data channel with  $9.6\ \rm kbit/s$, which in contrast to the channel coding of the voice channel  $($with bit error rate  $10^{-5}$... $10^{-6})$  allows an almost error-free reconstruction of the data:

  • The data bit rate of  $9.6\ \rm kbit/s$  is first increased in  Terminal Equipment  the mobile station by  $25\%$  to  $12\ \rm kbit/s$  through non-GSM specific channel coding to allow error detection in circuit switched networks.
  • In data transmission, all bits are equivalent, so unlike voice channel coding, there are no classes. The  $240$ bits  per  $20 \rm ms$ time frame are combined together with four tailbits  $0000$  to form a single data frame.
  • These  $244$  bits are doubled to  $488$  bits by a convolutional encoder of rate  $1/2$  as in voice channels. Two code symbols are generated per incoming bit, for example according to the generator polynomials  $G_0(D) = 1 + D^3 + D^4$  and  $G_1(D) = 1 + D + D^3 + D^4$:


Convolutional encoder of rate used by GSM  $1/2$
  • The following interleaver expects - just like a "speech interleaver" - only  $456$  bits per frame as input. Therefore, from the  $488$  bits at the output of the convolutional encoder still  $32$  bits at the positions  $15 - j - 4 \ ( j = 1$, ... ,$ 32 )$  are removed ("puncturing").
  • Since data transmission is less time critical than voice transmission, a higher interleaving degree is chosen here. The  $456$  bits are distributed over up to  $24$ interleaver blocks  of  $19$  bits each, which would not be possible for voice services for reasons of real-time transmission.
  • Then the  $456$  bits are split into four consecutive  Normal Bursts  and sent. When packing in the bursts, groupings of even and odd bits are again formed, similar to interleaving in the voice channel.


Empfängerseite der GSM–Strecke – Decodierung


Der GSM–Empfänger (gelb hinterlegt) beinhaltet die GMSK-Demodulation, die Burstzerlegung, die Entschlüsselung, das De–Interleaving sowie die Kanal– und Sprachdecodierung.

Empfängerseitige Datenverarbeitung bei GSM

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 des verwendeten CRC–Generatorpolynoms  $G= 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.
  • Sind Rahmen ausgefallen, so werden die Parameter früherer, als korrekt erkannter Rahmen zur Interpolation 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