The Turbo Principle:
Tutorial Introduction
and State of the Art
Joachim Hagenauer
‘Technical University of Munich
Department of Communications Engineering (LNT)
Arcisstr. 21, 80200 Munich, Germany
Abstract—The turbo principle can be
‘used in a more general way than just for
the decoding of parallel concatenated co-
des. Using log-likelihood algebra for bi-
nary codes two simple examples are given
to show the essentials of the turbo iterati-
‘on for decoding and equalisation, For re
ference the basic symbol-by-symbol MAP
algorithm is stated and simplified in the
Jog-domain. ‘The results of turbo app-
lications in parallel and serial decoding,
in source-controlled channel decoding, in.
‘equalisation, in multiuser detection and
in coded modulation are described.
1. Iwrropuction
In 1993 decoding of two and more dimensio-
nal product-like codes has been proposed with
iterative (‘wrbo') decoding [1] using similar
ideas as in {3} and [4]. ‘The basic concept of,
this new (de)coding scheme is to use a paral-
lel concatenation of at least two codes with an
interleaver between the encoders. Decoding it
besed on alternately decoding the component
codes and passing the so-called extrinsic infor-
‘mation which is a part of the soft output of the
soft-in/soft-out decoder to the next decoding.
stage. Even though very simple component co-
des are applied, the ‘turbo’ coding scheme is
able to achieve'a performance rather close to
Shannon’s bound, at least for large interleavers
and at bit error rates of approximately 10°
However, it turned out that the method spplied
for these perallel concatenated codes is much
‘more general. Strictly speaking there is nothing.
“wurbo” in the codes. Only the decoder uses a
‘turbo’ feedback and the method should be na-
med the "Turbo-Principle’, because it can be
sucessfully applied to many detection /decoding
HagQLNT-E-Technik TU-Muenchen DE, phoot:
“+449 80 aavzsenT fans +440 60 28073400
Taio
Ta
problems such as serial concatenation, equali-
tation, coded modulation, multiuser detection,
Joint source and channel decoding and others,
‘We will explain the basic principle and hereby
‘we will try to follow Einstein's principe: "Eve-
rything should be as simple as possible but not
simpler’. Thererfore we restrict ourselves to bi-
nary data and codes, use consequently the log
likelihood notation and start with two rather
‘simple examples which show the basic ingre-
dients ofthe turbo iteration.
IL. MAP Syupot-ny-Srumot EsTnmarion
AND THE TURBO PRINCIPLE
In detection and decoding we discriminate
between sequence and symbol estimation whe-
re both can use the maximum likelihood (ML)
‘or the maximuma-posteriori (MAP) rale. He-
re we consider MAP symbol-by-symbol etima-
tion of the symbols ty of a vector u which is
received as a vector y after encoding and dis-
tortion by & Gause-Markov process according to
the distribution p(y|u). In addition we might
hhave available the a priori probability P(u) as
‘an input to the estimator. The output of the
cextimator provides us with the a posteriori pro-
bability
Ply)
to be used in subsequent procesing.
The "Turbo Principle’ can be formulated as
follows
Perform iterative MAP-estimation of the eym-
bole with sucesively refined a prio distribu
tions Pi(u). For the calculation of F(a) use
all the preferably statistically independent in-
formation which is avalable at iteration & (eet
of sficient statins).
Examples how to obtain F(a) are:
‘+ & priori if avilable of posterior obtained
‘rom source bit statist
42 postetioe probabilities from parallel
transmissions, such as diversity, parallel
Bie Fr TOTconeatenations, correlated multiuser chan-
1th
decoding of an outer code (serial concate-
)
+ combinations of a posteriori probabilities
from previous decoding of parallel and ex
‘The name rbot justified becaue the deco-
der une its proceed output value a prior
input forthe next iteration, similar to turbo
ensine
A. Lop Likelihood Algebra
let U" be in GF(2) with the elements
{41,1}, where +1 ip the ‘nll element une
Aer the & addition. The logikelhood ratio of
binary random variable U, Ly(w), is defined
= log PCE 4)
to =e Ew)
Here Fy(u) denotes the probability that the
random variable U takes onthe value The
logltelthood ratio Ly(u) willbe denoted asthe
“evalu ofthe random variable U. The sgn of
“y(u) isthe hard decision and the magnitude
[ui the rblity of this decision. Unie
stated otherwise, the logarithm is the natoral
logssthm. We will henesforth skip the indices
forthe probabilities and the log-ikelihood rat
If the binary random variable w is conditio.
ned on a different random vatiable ot vector 9,
then we have a conditioned log-likelihood ratio
Luly) with
Maly) = Lu) +L), (2)
employing Bayes rule. Using
to
Pu=s)=— Sa ®)
it is easy to prove for statistically independent
random vatiables uy and uy that
1 eienetond
datz
% sign(L(u:)) -sign(L(w2)) -
rin 2()) 1209).
We uve the eymbol asthe notation forthe
audition defined by
Lu; @ u2)
=k
(us) BL(u2) 8 Liu us), (8)
with the rules
Lu) B to0=4L(u), E(u) BO=0. (6)
rs
‘The reliability ofthe sum @3 ig therefore deter.
mined by the smallest reliability of the terms.
Equation (5) can be reformulated using the
“eof bit
As = tanh(L()/2) o
‘which, using (3) can be shown to be the expec-
tation of us
ert ete
Ho) = G0 Sares + Oa
= tanb(L(u)/2). (8)
Then
L(u © up) = 2 artand(A.d2)
‘Soft Channel Outputs
‘After transmission over a binary symmetric
channel (BSC) or a Gauseion/Fading channel
wwe can calculate the log-likelihood ratio of the
transmitted bit 2 conditioned on the matched
filter output y
O}
Ue) =e E= HB
With our notation we obtain
eg RW) | Plena
Mel) = les Ruta)) * °° Pe= 1)
= Le-y+L(z), (a)
with Le = 4a-£,/No. For a fading channel
4 denotes the fading amplitude whereas for e
Gauesian channel we set a = 1. We further note
‘that for statistically independent transmission,
‘as in dual diversity ot with a repetition code
Ualyiode) = Let + Leva + La). (12)
B. The “Twrko'-Principle using I-values
With the L-values we can reformulate the
"Turbo principle using Fig.1. A turbo deco-
der accepts priori and channel L-values and
delivers soft-output I-values L(@). In addition
‘the so-called extrinsic L-values for the informa-
tion bits Led) and/or the coded bite L,(2) are
produced. “Extrinsic information refers to the
incremental information about the current bit
‘obtained through the decoding process from all
the other bits. Only this extrinsic values should
be used to gain the new a priori value for the
next iteration, because ths ie statistically inde
pendent information at least during the firt
iteration. ‘The decoders described in section 3
deliver the soft output in the form
18) = Ley + Ha) + L4(@)
showing that the MAP estimate contains 3
Dats: from the channel, from the a priori know-
ledge and from the other bits through cons
taints of the code or the Matkov property.
Ca*
input 1a) output
Jog - likelihoods wie mloce ‘198 Hielihoode
for code bits
1 proc values for L(Q) extrinsic values for
information bits ‘Soft-In/ “> information bits
Sof-Out
channel values for £8) » posteriori values
code bie Decoder oF information bits
Fig: 1. Soft-y/seot decode for trbo tratons
1) coded rales B)reedved wala ©) ater feet decoding in
lev ortontal direction
+([+]+ froslsrsfead] hostrshio] frrohas|
+{-|- leeguadias eolrolas} [rofas
+/- fraas b2o]25
D) after fot decoding in ) soft output after the fst decoding
terteal direction ‘in horizontal and vertial direction
frogarqeng firdfsa frsshod
eeqarqias| [rola feaa}25
lado Leis)
[raquo
Ln)
lard-20
Fig. 2. Tutorial example of «parle concatenated code ith 4 (032.2) singe pity check codes
©. Teoria! Brample with Simple Parallel
Concateneted"Terbo Scheme Using (92,3)
Single Parity Check Codes
let us encode four information bits by two
(8,2,2) singe party check codes with elements
{41,1} in GF(2) as shown n Figure 2A) and
Jet wa ansume we have recsived the vals Ley
shown in Figure 2B). Nos prion informaty
on is yet available, Let us start with horison-
{al decoding: ‘The information for bit wi iv
received twice: Dicetly via wn and indirect-
Ip vin ui2@ 77. Since vp and py are stati-
sticaly independent we bave fr thst Evalue:
L(ui2 @ Py) = L(vr2) B L(py) = 158 1.0%
1.0." This indirect information sbout wn
Jed the extrinsic value and is stored in the right
matrix of table 2 C), For wiz we obtain by the
‘ame argument a horizontal extrinsic value of
0.5 1.0% 0.5 and so on for the second rom.
‘When the horizontal extrinsic table is flled we
start vertical decoding using these Lz as ¢ pric-
ri values for vertical decoding. ‘This means that
after vertical decoding of uz, we have the follo-
wing three L-values available for 13
+ the received direct value +05,
+ the a priori value Lz from horizontal de-
coding +1.0 and
«+ the vertical extrinsic value Zi using all the
available information on zy 6 7}, namely
(40+ (-10)) 820% 20.
Tei patie a Tats Gl Bas‘The vertical extrinsic valu i stored in Table 2
D). For us it amounteto (0541.0) 820% 15,
for ya to(1.0++(-1.5)) 9 (~28) © 05 and for
tng to (15405) @ (-2.8) 20. we were
to stop the iterations here we would obtain as
soft output ater the vertical iteration
Ua=Levetz+ih (13)
shown in Figure 2B). The addition in (18) is
{usted from (12) because up to now the three
terme in (18) ae statistically independent. We
«ould nom continue with another round pf ho-
rizontal decoding using the respective Li as
‘rion information.
D. Tutorial Example with a Simple Serial Con-
catenated "Terbo-Scheme
‘The basic idea of iterative decoding of seri-
4) coneatenated codes with feedback between
‘succesfully finishing
‘an outer decoding tral. If the decisions made
by the outer decoder are assumed to be correct,
the inner decoder is provided with reliability i-
formation about the bite to be decoded. Using
{information as a priori information the in-
net decoder restarts decoding and will deliver
lens erroneous decisions which are passed again
to the outer decoder.
We consider binary coded multipath transmis-
sion similar as in the GSM system, but for ti-
torial purposes in a much simpler setup: Three
times two information bits generate three code-
words of a (8,2,2) SPC-Code. They are block-
interleaved and transmitted over a 2tsp mult
path channel as shown in Fig. 3 The transition
ig.3. Tutorial example of a serial concatenated
‘scheme using « 2-tap multipath channel at
the inner code and interleaved (3,2,2) single
patity check (SPC) codes aa outer codes
‘metric of the MAP or Viterbi (VA) algorithm
is from (29) ~(ye ~ 24 ~ 24-1), where the va-
ance of the noise is set to 1/2 in our example
which coresponds to an E,/No of 4B. Assume
that all 6 information bite are +1. After trans
mission of the 3 u; bits of the codewort which
is followed by a +1 tail bit, we received the fol-
Towing yu values: {40.5 -'L0 +1.0+2.0}.
It mill be shown in section 3-B that forthe trel-
lis in Fig. 3 the MAP soft output algorithm
‘can be closely approximated by two VA running.
back and forth leading tostate metzice Mj" and
‘Mj-. The soft output L(Gy) is then the diffe
rence of (Mj + Mj) of the upper states mi
nus the respective values ofthe lower states, see
(25). By band we obtain the non-bracket values
[Now assume that for the other bite vz and
'P we also have obtained their output L-valuee
and by vertical & evaluation of the 2. and 3.
row elements the extrinsic information for uy as
T
)_| HD)-2.00 | 0.00
G F500, °.
x Fa
$3.00 [0 00
Z(t)
‘This extrinsic information ia fed back via the
‘turbo link to the inner decoder (the equalizer)
‘and we perform a second round of equalization
Here we evaluate only the second MAP equali-
zation of the u; bits. Now we have to add, ot
-for-1 transmissions- subtract halfof the extrin-
sic values namely { +1.5 0.00.0 } to the tran-
sition metrics. We execute it here only for 1
‘and we get subsequently the values in brackets
For the first u this means that we have now a
correct decision after the frst turbo iteration,
II. Sort-In/Sorr-Our Drrecrors AND
Decopers
A. The BOIR-Algorithm for « Binary Trellis
For reference, we cite here the well known
Baahl-Cocke-Jelinek-Raviv Algorithm [2] in the
{fashion as described in {5]: For a binary trellis.
let Sy be the encoder state at time k. The
‘uy is asociated with the transition from time
4-1 to time & and causes 2 pathes to leave
‘each state, The trellis states at level #1 and
‘at level Fare indexed by the integer # and 6,
respectively. The goal of the MAP algorithm is
Brot rTAen
ay
‘The index pair and s determines the informa-
tion bit wy and the coded bits. The sum of the
joint probabilities p(s.) in (14) is taken over
Isbeled with the information bit ux
respectively. Aseurning a memo-
tyless transmission channel, the joint probabi-
lity p(s’, 2,y) can be written as the product of
three independent probabilities (2,
He! Y4<8)-Weyele)-PYs>ale)
eh rst) POOL) -vhae | 8) plysotle)
Re ysce) Peo) vhs 10) atrial)
anal?) niles)
Here yj