Professional Documents
Culture Documents
(Invited Paper)
Claude Berrou, Ramesh Pyndiah, Patrick Adde, Catherine Douillard and Raphal Le Bidan
GET/ENST Bretagne, Laboratoire TAMCIC (UMR CNRS 2872), PRACom
Technople Brest Iroise, CS 83818, 29238 Brest Cedex 3, FRANCE
E-mail: {firstname.lastname}@enst-bretagne.fr
Abstract More than ten years after their introduction,
Turbo Codes are now a mature technology that has been
rapidly adopted for application in many commercial
transmissions systems. This paper provides an overview of
the basic concepts employed in Convolutional and Block
Turbo Codes, and review the major evolutions in the field
with an emphasis on practical issues such as implementation
complexity and high-rate circuit architectures. We address
the use of these technologies in existing standards and also
discuss future potential applications for this error-control
coding technology.
I. INTRODUCTION
Error-control codes, also called error-correcting codes
or channel codes, are a fundamental component of
virtually every digital transmission system in use today.
Channel coding is accomplished by inserting controlled
redundancy into the transmitted digital sequence, thus
allowing the receiver to perform a more accurate decision
on the received symbols and even correct some of the
errors made during the transmission. In his landmark
1948 paper that pioneered the field of Information
Theory, Claude E. Shannon proved the theoretical
existence of good error-correcting codes that allow data
to be transmitted virtually error-free at rates up to the
absolute maximum capacity (usually measured in bits per
second) of a communication channel, and with
surprisingly low transmitted power (in contrast to
common belief at that time). However Shannons work
left unanswered the problem of constructing such
capacity-approaching channel codes. This problem has
motivated intensive research efforts during the following
four decades, and has led to the discovery of fairly good
codes, usually (but not always see convolutional codes
for example) obtained from sophisticated algebraic
constructions. However, 3 dB or more stood between
what the theory promised and the practical performance
offered by error-correcting codes in the early 90s.
The introduction of Convolutional Turbo Codes (CTC)
in 1993 [1,2], quickly followed by the invention of Block
Turbo Codes (BTC) in 1994 [3,4], closed much of the
remaining gap to capacity. Today, advanced Forward
Error Correction (FEC) systems employing Turbo Codes
commonly approach Shannons theoretical limit within a
few tenths of a decibel. Practical implications are
numerous. Using Turbo Codes, a system designer can for
example achieve a higher throughput (by a factor 2 or
more) for a given transmitted power, or, alternatively,
achieve a given data rate with reduced transmitted
Pr{d = 1}
L(d ) = ln
1 Pr{d = 1}
(1)
Loutput (d ) = Linput (d ) + z (d )
(2)
4) Non-binary CTC
Classical binary CTC usually employ rate-1/2 RSC
codes. In contrast, non-binary CTC are based on parallel
concatenation of rate-m/(m+1) (usually m=2) CRSC
component codes. 8-state CTC from this family have
already been adopted in several standards, including
DVB-RCS, DVB-RCT and IEEE 802.16a standard
(WiMAX) for Wireless Metropolitan Area Networks
(WMAN). Non-binary CTC indeed exhibit remarkable
properties, as shown in [17,18]. First, we observe a better
convergence of the iterative process (less correlation
effects between the decoders). Non-binary CTC are also
less sensitive (less degradation) with respect to
puncturing patterns. These two points are illustrated in
Fig. 2 where we compare the performance of 8-states
binary (m=1) and double-binary (m=2) CTC with octal
generator polynomials (15,13) and different code rates.
The fact that the encoder and decoder non longer operate
on individual bits but rather on non-binary symbols also
introduce additional degree of freedom in the
permutation design (use of two-stage intra- and intersymbol permutation), yielding better minimum distance
and lower error floors. Architectures for non-binary
SISO decoders provide a higher throughput and reduced
latency (although the decoding operations are slightly
more complex since there are more edges to consider in
the individual trellises). Finally, non-binary SISO
decoders have increased robustness with respect to the
use of sub-optimum decoding algorithms. As shown in
Fig. 3, there is almost no performance degradation
Fig 3. Performance comparison between MAP and Max-LogMAP decoding of 8-state binary (m=1) and duo-binary (m=2)
CTC with QPSK modulation over an AWGN channel.
Application
Turbo Code
Termination Polynomials
Rates
Binary, 16-state
Tail bits
Binary, 8-state
Tail bits
13, 15, 17
Duo-binary, 8-state
Circular
15, 13
1/3 up to 6/7
Duo-binary, 16-state
Circular
15, 13
1/2, 3/4
M4 (Inmarsat)
Binary, 16-state
None
23, 35
1/2
Skyplex (Eutelsat)
Duo-binary, 8-state
Circular
15, 13
4/5, 6/7
Circular
15, 13
1/2 up to 7/8
B
A
k binary
data
k/2 binary
couples
permutation
Y1
Y1
permutation
Y2
(a)
(b)
Y2
k binary
data
k/2 binary
couples
Y1
permutation
Y1
permutation
Y2
(c)
(d)
Y2
Fig. 3. The four CTC used in practice: a) 8-state binary; b) 8-state duo-binary; c) 16-state binary; d) 16-state duo-binary.
(m)
(m)
[W(m)]
[R]
[R]
DELAY LINE
r j =
d j
4
(3)
(4)
w j = r j r j
(5)
Performance of BCH-BTC using single- and doubleerror correcting component codes at iteration 4 are given
in Table III for QPSK modulation over an AWGN
channel. (Eb/N0) is the energy per bit to single side-band
noise spectral density ratio for a target BER of 10-4 and
(Sh) is the gap to the Sphere Packing Bound for the
same BER. Extended versions of BCH component codes
are used in order to maximize the product (R) which
guarantees maximum asymptotic gain. Sixteen test
patterns are used to generate the subset of candidate
code words based on the four (s=4) least reliable bits.
We observe that product codes using BCH component
codes with minimum Hamming distance (MHD) 4
exhibit a gap (Sh) of less than 1 dB while those with a
MHD of 6 exhibit a gap (Sh) slightly higher than 1 dB
(< 1.2 dB). Hence, BCH-BTC perform close to the
theoretical limits in both cases.
C1, C2
N
k
R
Eb/N0 (Sh)
(16,11,4)
256
121
0,473 16 3,35 0,72
(16,7,6)
256
49
0,191 36 3,70 1,04
(32,26,4)
1024
676
0,660 16 3,05 0,81
(32,21,6)
1024
441
0,431 36 2,50 1,18
(64,57,4)
4096
3249 0,793 16 3,45 0,84
(64,51,6)
4096
2601 0,635 36 2,70 1,18
(128,120,4) 16384 14400 0,879 16 4,10 0,88
(128,113,6) 16384 12769 0,779 36 3,35 1,17
(256,247,4) 65536 61009 0,931 16 4,80 0,95
Table III. Performance of different BCH-BTC at iteration 4
for a BER of 10-4 on AWGN channel using QPSK.
= rl
l
(5)
10
Fixed Beta
Variable Beta
Lower Bound
-3
10
-4
10
-5
10
-6
10
-7
10
-8
10
2,5
3,5
Eb/No (dB)
Fig. 6. Performance comparison for the BTC(32,21,6)2
product code using fixed and variable (QPSK over AWGN).
Trivial
Classical Innovativ
(PU)1
(PU)1
e (PU)p
Data rate
p2
p2
p2
2
RAM
p
p
1
PU complexity
p2
p2
p2/2
Decoding delay
1
#1/p
#1/p2
Table V. Comparison of different architectures for high datarate decoding of BTC.