Вы находитесь на странице: 1из 6

Channel Coding Standards in Mobile Communications

05-Sept-1999

Sandro Grech
Department of Electrical and Communications Engineering
Helsinki University of Technology
sandro@cc.hut.fi

--------------------------------------------------------------------------------

Abstract
Channel coding aims at improving transmission quality when the signal encounters disturbances
(noise, interference, multipath propagation, Doppler shift, etc.), at the expense of an increased
number of bits. This report focuses on the GSM standard, which uses convolutional encoding and
block interleaving to achieve this protection. A brief outline of the ciphering of the mobile
communications channel is also given. Finally a quick shot at the current research areas is given.

--------------------------------------------------------------------------------

Contents
Introduction
1 Convolutional Codes and Block Codes

2 Fire Codes

3 Parity Codes

4 GSM Channel Coding Standards

5 Interleaving

6 Ciphering

7 Current Research

References

Further Information

--------------------------------------------------------------------------------

Introduction
Coding consists of adding to the source data some redundant information calculated from this
source information. Decoding makes use of this redundancy to detect the presence of errors or
estimate the most probable emitted bits given the received bits. Errors are detected when the
transmitted redundancy is different from the one calculated with the received data.
Depending on the transmission mode, radio path transmission uses different codes. Moreover,
several codes are "concatenated" in certain cases, i.e., redundancy is added by applying a given
code, then more redundancy is added by applying another code.
The codes used in GSM are:

Block Convolutional Codes: these codes are only used for correction purposes. They achieve
tremendous efficiency when they are combined with likelihood estimation such as that coming
from the demodulator,
Fire Code: this code is dedicated to the detection and correction of 'bursty' errors, i.e., errors that
occur in a short time interval. It is used in concatenation after a block convolutional code, for
which residual errors often appear in short time intervals.
simple Parity Codes: used for error detection.

Figure 1 - 1 audio block consisting of 260 bits (20ms)


1 Convolutional Codes and Block Codes
A convolutional code consists in transmitting the results of convolutions of the source sequence
using c different convolutional formulas. As an example, for c = 2, two result sequences would be
transmitted. The first one would be obtained by applying the 'exclusive or' operation to
respectively:
the source sequence, the source sequence delayed by one bit period, and the source sequence
delayed by 3 bit periods,
the source sequence, the source sequence delayed by two bit periods, and the source sequence
delayed by 3 bit periods.
The transmission bit rate after coding is twice the original information rate and is then redundant.
Each information bit is 'sent' 6 times, each time as a part of a sum with two other information bits.
This multiplicity of sending will be used by the receiver to check the received flow, and possibly
recover the original information flow even if transmission errors occurred.
The condensed form used to describe these codes consists in using polynomials, which in the
above example are and , where ' + ' denotes the exclusive-or operator and D represents a delay
unit.

This method, as described here, has two drawbacks: it is adapted to infinite sequences, and it
results in an efficiency ratio which is limited to fractions of the form 1/c.

Two modifications of this basic schemes are used in GSM. First, the source sequence consists of
finite blocks of p bits. They can be coded as described above, but with the addition of a few
known bits at both ends of the block, called tail bits. Second, an efficiency of the form p/q was
needed in one case, and is obtained by puncturing the code, i.e., by keeping only q bits among
pn, through a pre-determined rule.

For instance, if we want to apply the code described above to a block of b = 12 bits, we could add
3 bits set to '0' at the start and at the end of the sequence and thus get bc = 30 bits. In order to
get a convolutional efficiency of e.g., 2/3, alternate bits of the second sequence could be omitted.
The coded result uses 23 bits. This is illustrated in the table below.

Source Block 100100110101


Addition of Tail Bits 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
Delay = 1 bit period 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
Delay = 2 bit Periods 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
Delay = 3 bit periods 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
1st conv. sequence (15 bits) 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1
2nd conv. sequence (15 bits) 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1
punctured 2nd sequence (8 bits) 1 1 0 0 1 1 1 1
transmitted block (23 bits) 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 1
Table 1 – Example of a punctured convolutional code. Every bit of the first convolutional
sequence is kept, but only every alternate bit of the second convolutional sequence is kept. The
convolutional sequences ere obtained by applying an 'exclusive or' operation to the sequence
and delayed versions of it, after addition of fixed bits at both ends of the original sequence.

The actual efficiency coefficient is slightly smaller than the convolutional efficiency, because of
the tail bits, and in this case amounts to 12/13.

The convolutional codes used in GSM are not much complex than this. The maximum degree of
the corresponding polynomials is 4. Now, convolutional codes of larger degrees usually have
better performance, at the price of decoder complexity. In GSM, however, simple codes have
been chosen because the performance gain is limited by the interleaving depth. The span of a
code can be understood in broad terms as the length of the sequence of coded bits which must
be analyzed to decode one information bit. It can be shown, with the assumption that bursts are
mostly all good or all bad, that little gain is obtained if the span is greater than the interleaving
depth. The GSM convolutional codes have been chosen as simple as possible, with a span just
big enough (e.g., 22 for the 9.6 kbps data transmission mode).

2 Fire Code

A Fire code is a conventional linear binary block code, i.e., it consists in transmitting, in addition to
the information bits, k a number or redundant bits computed by exclusive-or manipulations on the
information bits. Moreover Fire codes derive from codes belonging to the 'cyclic' code family. In
this case, the redundancy computation formulas can be expressed as follows. The original
sequence can be used to build a polynomial, whose coefficients are the bits of the sequence. The
redundancy can be expressed as the coefficients of another polynomial obtained as the
remainder of the division of the polynomial representing the sequence by a pre-defined
polynomial, characteristic of the code and called the generator polynomial.

A Fire code has a generator polynomial designed to allow good detecting and/or correcting
performance when errors happen in groups. The GSM Fire code uses the following generator
polynomial:

This polynomial, being of degree 40, gives a remainder having 40 coefficients, and thus there are
40 redundancy bits. The properties of this code are such that error groups of 11 bits can be
detected and corrected.

3 Parity codes

These are linear block codes, derived, like the Fire code, from cyclic codes. For speech, a 3-bit
redundancy code enables to assess the correctness of the bits which are most sensitive to errors
in the speech frame . Its detection capability is quite limited. All one-error patterns are detected,
but there are patterns of two errors which are not detected.

For the RACH (Random Access Channel) and SCH (Synchronization Channel) bursts, codes of
respectively 6 and 10 bits of redundancy are aimed at detection, though they have adequate
properties to be used for error correction. These codes have a minimum distance of 4, which
means that they could be used to detect all patterns of 3 errors, and they could be used to correct
all single error cases).
4 GSM Channel Coding Standards

The input rate for the speech transmission mode on a full rate traffic channel is equal to 13 kbps,
by blocks of 260 bits. When errors occur, the received speech is disturbed in different ways
depending on the role of the bits in error. Thus it was decided to protect these 260 bits in different
ways:

182 bits are protected by a convolutional block code with a convolutional efficiency of ½,
among these 182 bits, 50 are additionally protected by a detection code adding 3 redundancy
bits. These 50 bits are the category Ia bits; the other 132 bits are category Ib bits,
the other 78 bits are not protected.
This coding standard is depicted in figure 2, below.

Figure 2 – 1 audio block consisting of 260 bits (20ms) [4]


The polynomial representing the detection code for category Ia bits is . Bits of class Ia are of such
importance that if any one of them is corrupted, the user will hear a potentially loud noise in place
of a 20ms speech slice. Detection of such errors is therefore important and allows the bad block
to be replaced by something less disturbing s.a. an extrapolation of the preceding block.

The convolutional code consists in adding 4 bits set to '0' to the initial 185 bit sequence, and
applying two convolutions whose polynomials are respectivelyand. No puncturing is applied, and
the result is composed of twice 198 bits, i.e., 378 bits. The efficiency of class I bits is just below
0.5. The 78 non-protected bits must of course be added to these 378 bits, leading to a coded
block length of 456 bits.

Figure 3 – TCH/FS Transmission Mode [4]

5 Interleaving

To further protect against burst errors common to the radio interface, each sample is interleaved.
The 456 bits output by the convolutional encoder are divided into 8 blocks of 57 bits, and these
blocks are transmitted in eight consecutive time slot bursts. Since each time slot bursts can carry
two 57 bit blocks, each burst carries traffic from two different speech samples.

0 8 . . . . . . . . 448 even bits of burst N


1 9 . . . . . . . . 449 even bits of burst N+1
2 10 . . . . . . . . 450 even bits of burst N+2
3 11 . . . . . . . . 451 even bits of burst N+3
4 12 . . . . . . . . 452 even bits of burst N+4
5 13 . . . . . . . . 453 even bits of burst N+5
6 14 . . . . . . . . 454 even bits of burst N+6
7 15 . . . . . . . . 455 even bits of burst N+7
ß 57 columns à

Table 2 – Interleaving algorithm for full rate speech. A speech block is split into 8 groups of 57
bits as shown, and each of these groups is carried in a separate burst

6 Ciphering

Digital transmission allows easy protection of data against non-authorised third parties. Such
protection has been introduced in GSM by means of transmission ciphering, which is independent
of the type of data being transmitted. This is achieved by performing an 'exclusive-or' operation
between a pseudo-random bit sequence and 114 useful bits of a normal burst. The algorithm
used to generate the pseudo-random sequence is called "A5".

7 Current Research

The need for increased utilization of the available wireless communication spectrum has fueled
the development of advanced channel coding techniques. From simple waveform coding
techniques operating at 64 kbps, the advance of channel coding algorithms has produced
communication quality at 2 kbps and below. This allows up to 32 communication channels to
operate a bandwidth formerly occupied by one channel. The current research priorities in the area
of mobile communications channel coding standards include:

The development of channel coding schemes with perceptual tolerance to time varying
congestion, characteristic of mobile networks
The development of efficient, scalable or layered source coding standards with layered specific
QoS requirements.
Investigation and development of effective hybrid schemes which combine purely passive error
recovery techniques with active FEC-based approaches.
References
[1] Digital Voice Systems Inc., Application of Vocoders to
Wireless Communications, 29.09.1999, [referred 05.10.1999]
< http://www.dvsinc.com/app_voco.htm>
[2] European Telecommunications Standards Institute, Digital cellular telecommunications
system (Phase 2+);
Channel coding (GSM 05.03), 08.1996 [referred 04.10.1999]
<http://www.etsi.org/>
[3] Scourias, J., Overview of the Global System for Mobile Communications, 14.10.1997 [referred
06.10.1999]
<http://club.euronet.be/frank.claes/doc1.html>
[4] Turletti, T.,The GSM Channel Coding, 06.1996 [referred 06.10.1999]
<http://www.sds.lcs.mit.edu/~turletti/gsm-overview/node7.html>
[5] V.A., Research Priorities in Wireless and Mobile Communications and Networking, 24.03.1997
[referred 05.10.1999}
<http://www.cise.nsf.gov/anir/ww.html>

Further Information
[1] Gibson, J.D., The Mobile Communications Handbook, Boca Raton (FL) CRC Press 1996, 577
p.
[2] Mouly, M., The GSM System for Mobile Communications, Palaiseau Mouly & Pautet 1992,
701 p.
[3] Lin, S., Costello, D. J., Error Control Coding, Prentice Hall October 1982, 720 p.

--------------------------------------------------------------------------------

Created: 05th Oct. 1999


Last Modified: 11th Oct. 1999 @ 03:00 (GMT +02)

Back to the Table of Contents

Вам также может понравиться