Sie sind auf Seite 1von 29

GSM

Radio Communication
Information to communicate
Speech

Data

Communication Medium
Radio Link

Multiple users
Multiple Access

Natural Resources
Spectrum
Time Space Power

Speech Coding
Sound Waves of our Voice Analog Electrical Signal
Microphone

Analog Electrical Signal Digital Signal


Analog to Digital Converter (ADC)

ADC

Sampling Frequency : 8 KHz Data Rate Samples Per Second : 8000 Bits Per Sample : 13 Bits Per Second : 13 8000 = 104000 = 104 Kbps

Data rate of 104 kbps is far too large to be handled by the radio transmitter.

How can we reduce the data rate? Using Speech Coding

GSM - Speech Coding


Speech coding used by GSM is Regular Pulse Excitation Linear Predictive Coding (RPE-LPC) RPE-LPC is the Linear Predictive Coder with long term prediction loop.

104 kbps

Speech Coding (RPE-LPC)

13 kbps

RPE-LPC Speech coding is performed on an audio block of 20 msec at a time..


Speech Samples
20msec block 20msec block 20msec block 20msec block 20msec block

Samples per second Sample per 20msec Samples per speech block Bits per speech block

: 8000 : 8000 .020 = 160 : 160 : 13 160 = 2080

RPE-LPC

2080 bits

Speech Coding (RPE-LPC)

260 bits

Bits per 20msec : 2080. Bits per second : 2080/.020 = 104kbps Bit Rate : 104kbps

Bits per 20msec : 260 Bits per second : 260/.020 = 13kbps Bit Rate : 13kbps

Output Bit Rate 13kbps 1 Input Bit Rate 104kbps 8

Required bit rate is reduced by Eight times !

This bit rate of 13kbps is known as Full Rate Speech (FS). There is another method for encoding speech called Half Rate Speech (HS), which results in a bit rate of approximately 5.6kbps. Vector Sum Excited Linear Prediction (VSELP) algorithm is used for HS speech coding.

Half Rate Speech Coding

Other Speech Coding Techniques


http://www.radioelectronics.com/info/cellulartelecomms/gsm_techn ical/audio-codecs-vocoders-amr-celp.php

Channel Coding
Channel coding is used to protect the data.

Channel coding incorporates a series of error detection and error correction procedures.
Block Coding (Cyclic Code) Convolution Coding

Channel coding add protection bits to the bit stream thus increasing the required transmission rate.

GSM Channel Coding Big Picture

Channel Coding of User Data

Transcoding the compression of speech data from 64 kbit/s to 13/5.6 kbit/s in case FR/HR speech coding. Transcoder and Rate Adaptation Unit (TRAU) performs transcoding function for speech channels in the GSM network.

Channel Coding of Signaling Data

Cyclic Block Code

Convolution Code

Fire Code

Recall that the RPE-LPC Encoder produces a block of 260 bits every 20 ms.
It was found (through testing) that some of the 260 bits were more important when compared to others. Below is the composition of these 260 bits. Class Ia - 50 bits (most sensitive to bit errors) Class Ib - 132 bits (moderately sensitive to bit errors) Class II - 78 bits (least sensitive to error) As a result of some bits being more important than others, GSM adds protection bits to each of the three Classes differently.

The class Ia bits are protected by a cyclic code.

The cyclic code is run on the 50 Ia bits and calculates 3 parity bits which are then appended to the end of the Ia bits. Only the class Ia bits are protected by this cyclic code.

The Ia and Ib bits are then combined and an additional 4 bits are added to the tail of the class I bits (Ia and Ib together).
All four bits are zeros (0000) and are needed for the next step which is "convolutional coding". There is no protection for class II bits.

So during block coding 4 + 3 = 7 additional bits are added to each 20ms speech block.
Cyclic Block Coding

260 bits
Class I Bits : 182 Class II Bits : 78

267 bits
Class I Bits : 189 Class II Bits : 78

Convolutional Coding
This 267-bit block is then inputted into a convolutional code. The class I "protected" bits are inputted into a complex convolutional code that outputs 2 bits for every bit that enters it. The convolutional encoder adds one redundancy bit for every bit that it sees based on the last four bits in the sequence.
This is why there are 4 bits added to the class I bits when the cyclic code was calculated.

The number of class I bits is doubled from 189 to 378.

GMSK modulation block diagram