You are on page 1of 14

Seminar

Ausgewhlte Kapitel der Nachrichtentechnik, WS 2009/2010

LTE:
Der Mobilfunk der Zukunft
Channel Coding and Link Adaptation
Shahram Zarei

16. December 2009

Abstract In this work channel coding and link adaptation in LTE are considered,
which are important issues in modern digital communication systems. With chan-
nel coding, errors caused by distortion during transmission are detected and/or
corrected. In LTE both convolutional and Turbo codes are used. The structure of
convolutional codes in LTE is presented here. Turbo codes and internal contention-
free interleaver, which is an important part of the Turbo encoder are also topics of
this work. The concept of the circular buffer, which is used in the rate matching
module and HARQ is discussed, too. Another key feature used in LTE is the link
adaptation. Link adaptation makes the efficient use of the channel capacity possi-
ble, matching the transmission parameters, modulation scheme and coding rate to
the channel conditions.

1 Introduction
Channel coding is one of the most important aspects in digital communication systems, which
can be considered as the main difference between analog and digital systems making error de-
tection and correction possible. Error correction exists in two main forms: ARQ (Automatic
Repeat Request) and FEC (Forward Error Correction). With ARQ the receiver requests re-
transmission of data packets, if errors are detected, using some error detection mechanism. In
FEC some redundancy bits are added to the data bits, which is done either blockwise (so-called
block coding) or convolutional, where the coded bit depends not only on the current data bit
but also on the previous bits. In LTE both block codes and convolutional codes are used. There
is also an enhanced coding technique used in LTE, called Turbo code, which has performances
within a few tenth of a dB from the Shannons limit.
2 Shahram Zarei

Another feature of LTE, which is considered here, is link adaptation. Link adaptation is
referred to a mechanism matching automatically transmission parameters to the channel. As
an example for older systems of link adaptation the early versions of UMTS (Universal Mobile
Telecommunication System) can be mentioned, where fast closed-loop power control used to
support an almost constant data rate. In UMTS the UE (User Equipment) transmitter adjusts
its output power in accordance with one or more Transmit Power Control (TPC) commands
received in the downlink, in order to keep the received uplink Signal-to-Interference Ratio (SIR)
at a given SIR target.
In HSPA (High Speed Packet Service Access) and LTE the transmitted information data rate
is adjusted dynamically to use the channel capacity efficiently.

2 Link adaptation and feedback computation

2.1 Link adaptation in LTE

In LTE, link adaptation is based on the Adaptive Modulation and Coding (AMC). AMC can
adapt modulation scheme and code rate in the following way:

Modulation scheme: if the SINR (Signal-to-Interference plus Noise Ratio) is sufficiently


high, higher-order modulation schemes with higher spectral efficiency (hence with higher
bit rates) like 64QAM are used. In the case of poor SINR a lower-order modulation
scheme like QPSK, which is more robust against transmission errors but has a lower
spectral efficiency, is used.

Code rate: for a given modulation scheme, an appropriate code rate can be chosen de-
pending on the channel quality. The better the channel quality, the higher the code rate
is used and of course the higher the data rate.

In LTE for data channels a Turbo encoder with a mother code rate of 1/3 is used. There is
a Rate Matching (RM) module following the Turbo encoder, which makes it possible to get
other code rates, if desired. Increasing and decreasing the code rate is done via puncturing and
repetition, respectively. Both, puncturing and repetition are integrated in the Rate Matching
module.
In Fig. 1 the whole signal generation chain of the LTEs physical layer with Turbo coding and
modulation modules can be seen, which are parts of the link adaptation system.

2.2 CQI feedback in LTE

In LTE downlink, the quality of channel is measured in the UE and sent to the eNodeB in
the form of so-called CQIs (Channel Quality Indicator). The quality of the measured signal
depends not only on the channel, the noise and the interference level but also on the quality
of the receiver, e.g. on the noise figure of the analog front end and performance of the digital
Channel Coding and Link adaptation 3

Figure 1: Signal generation chain in LTE

signal processing modules. That means a receiver with better front end or more powerfull signal
processing algorithms delivers a higher CQI. The signal quality measurments are done using
reference symbols.
Depending on the SNR (Signal-to-Noise Ratio) a combination of modulation scheme and code
rate is selected to ensure that the BLER (Block Error Rate) is less than 0.1. This can be seen
in Fig. 2

Figure 2: BLER versus SNR for various combinations of modulation scheme and code rate

In Fig. 3 a list of 4-bit CQIs corresponding to the 16 possible combinations of modulation


scheme and code rate is shown. As can be seen in this table, CQI = 1 refers to the most robust
transmission parameters i.e. QPSK as modulation scheme and the lowest code rate of 0.076,
which is selected for the worst channel quality.
With increasing channel quality, higher order modulation schemes and higher code rates can
be selected. The highest order of modulation and highest code rate, which can be selected are
64QAM and 0.93 respectively and correspond to a CQI value of 15.
In the above discussions it is assumed, that the considered channel is a slow fading channel.
In other words, between two CQI measurments, channels behaviour does not change or the
coherent time of the channel is at least as long as the CQI measurment period.
4 Shahram Zarei

Figure 3: 4-bit CQI table

Here, only the link adaptation for downlink is discussed. The link adaptation in uplink is very
similar. The difference is, that eNodeB estimates channel quality by evaluating the channel
using SRSs (Sounding Reference Signals).
In the LTE physical layer, resources are managed with the so-called RM Modules (Resource
Management), which assign incoming data blocks to resource blocks. One resource block con-
sists of 12 sub-carriers and one time slot. The resource management in LTE can be seen in Fig.
4. CQI values are used also to select the optimum resource block i.e. the optimum sub-carrier
and the optimum time slot.

Figure 4: Two dimensional resource management in LTE

There are two kinds of CQI reporting: periodic and aperiodic, where the PUCCH (Physical
Uplink Control CHannel) is used for periodic CQI reporting only and PUSCH (Physical Uplink
Shared CHannel) for aperiodic CQI reporting. Periodic CQIs are reported by the UE in periodic
time intervals. If the eNodeB wishes channel quality information at a specific time, aperiodic
CQIs are triggered.
In order to define the frequency granularity of the CQI, the whole system bandwidth is divided
into N sub-bands, each consisting of k contiguous Physical Resource Blocks (PRBs). The
Channel Coding and Link adaptation 5

DL
number of sub-bands is given by N = d NRB /k e and determines the frequency granularity
DL
of the CQI reporting, where NRB is the number of resource blocks (RB) in the whole system
bandwidth (DL stands for Downlink).

2.3 Periodic CQI reporting


The periodic reporting of the CQIs is done over the PUCCH. Periodic CQI can be either
wideband or UE-selected sub-band feedback for all downlink transmission modes. The type of
CQI is decided by the eNodeB.
In the wideband mode, one CQI value is measured in the whole system bandwidth and sent
to the eNodeB. In the UE-selected sub-band feedback the total number of sub-bands N in the
whole system bandwidth is divided into j fractions called bandwidth parts. In each bandwidth
part a particular sub-band is selected and the measured channel quality in this sub-band with
its position in the bandwidth part is sent to eNodeB.
DL
In Fig. 5 sub-band size (k) and bandwidth parts (J) versus downlink system bandwidth NRB
can be seen.

DL
Figure 5: Number of resource blocks in the whole system bandwidth (NRB ), number of resource
blocks in a sub-band (k) and bandwidth parts (J) in periodic CQI using UE-selected sub-bands

2.4 Aperiodic CQI reporting


Normally periodic CQIs are used but if eNodeB needs channel quality information at times
rather than time raster of the periodic CQI, it can also wish aperiodic transmission of the CQIs
by the UE. Loss of synchronization or handover situations are also cases, where aperiodic CQIs
are used. Aperiodic CQI reporting is done over the PUSCH and requested by the eNodeB by
setting a CQI request bit on the Physical Downlink Control CHannel (PDCCH). The type of
CQI is set by the eNodeB and can be one of the following modes:

Wideband feedback: in this mode as in the periodic reporting, the UE reports one CQI
value for the whole system bandwidth.

eNodeB-configured sub-band feedback: there are two kinds of CQI reported in this mode,
one for the whole system bandwidth and one for the sub-bands. In the calculation of sub-
band CQIs, it is assumed that transmission takes place only in the relevant sub-band.
6 Shahram Zarei

UE-selected sub-band feedback: as in the eNodeB-configured mode, two types of CQIs are
used, one wideband CQI value for the whole system bandwidth and one for reporting the
average measured CQI in M selected sub-bands each of the size k. The UE decides, which
sub-bands are selected. The UE sends also the position of the M selected sub-bands.

Number of resource blocks in the whole system bandwidth, number of resource blocks in a
sub-band (k) and number of selected sub-bands (M ) by the UE for the UE selected sub-band
feedback CQI reports can be seen in Fig. 6.

Figure 6: Parameters of the aperiodic CQI report for UE-selected sub-bands feedback

3 Channel coding in LTE


One of the most important issues in digital communication systems is error correction. Error
correction can be considered in two main categories: ARQ (Automatic Repeat Request) and
FEC (Forward Error Correction). With ARQ the receiver requests retransmission of the data
packets, if errors are detected and this will be done, until the received packets are error-free or
a maximum number of retransmissions is reached.
For FEC redundancy bits are added to data bits, making error correction possible. FEC has
two main types: block codes and convolutional codes. In block codes, the input data blocks,
which can be considered as vectors are multiplied by a generator matrix, generating a code
word vector. In contrast to block codes, convolutional codes have a similar structure like FIR
(Finite Impulse Response) filters and operate bitwise. Convolutional codes have memory, which
means the coded output bit depends not only on the current bit but also on the m previous
bits, where m is the number of registers in the convolutional encoder. In LTE both block
codes and convolutional codes are used. CRC (Cyclic Redundancy Check) which is a cyclic
linear block code is used for HARQ as an error correction technique. Control channels and
data channels in LTE use convolutional and Turbo codes, respectively, where the later is an
enhanced development of convolutional codes achieving near-Shannon performance.

3.1 Convolutional encoder in LTE

A convolutional encoder C(k, n, m) consists of a shift register with m stages, whose outputs are
added (XOR) together to build the output bit. Per k bit input information bits, n output bits
Channel Coding and Link adaptation 7

are produced from the encoder. The rate of the code is defined as: R = k/n. The structure
of LTEs convolutional encoder with k = 1, n = 3, m = 6 and resulting code rate of 1/3 can
be seen in Fig. 7. The n outputs in the convolutional encoder are calculated via n generator
sequences: G = [g0 , . . . , gn1 ]. The generator sequences used in LTE are:
g0 = [1 3 3](oct) , g1 = [1 7 1](oct), g2 = [1 6 5](oct)

Figure 7: LTEs convolutional encoder

3.1.1 Decoding of convolutional codes

In order to minimize the bit-error probability, in receiver a sequence should be selected, which
maximizes the so-called MAP (Maximum A-Posteriori) probability:

x = arg max P (x|y) (1)


x

Where x denotes the transmitted sequence and y the received sequence. If the codewords are
equiprobable, the MAP criterion is equivalent to Maximum Likelihood (ML) criterion:

x = arg max P (y|x) (2)


x

Instead of maximizing P (y|x), log P (y|x) can be maximized, because log(.) is a monotonically
increasing function, which leads to the loglikelihood function for a memoryless channel:

L+m1
X n1X
log P (y|x) = log P (yi,j |xi,j ) (3)
i=0 j=0

For an AWGN channel we have:


q
P (yi,j |xi,j ) N ( Eb xi,j , N0 ), (4)

where Eb is the transmitted bit energy and N0 the variance of the white gaussian noise.
Hence we get:
q
log P (y|x) kyi Eb xi k2 (5)

In order to maximize equation (5) , in receiver a codeword should be selected, whose euclidean
distance to the received sequence is minimum. But examining all of the possible candidates for
the input sequence is very costly and has exponential complexity.
8 Shahram Zarei

A very efficient method to decode convolutionally coded sequences is the viterbi algorithm,
which has much less computational complexity using the trellis diagram.
The trellis diagram is a state diagram, where the time progress is also presented among the
x-axis as can be seen in Fig. 8.
In the example considered here, there are two registers in the convolutional encoder and there-
fore four states in the trellis diagram. Starting at an initial state and depending on the input
bit, the next state is determined. Therfore, each input sequence can be represented with a path
in the trellis, if the initial state is known.
In order to decode a convolutionally encoded sequence the initial and final states should be
known to the receiver. There are several methods to do this, two of them are:

Insertion of termination bits (or tail bits) at the end of the information block to reset all
shift registers to zero at the end of the encoding process.
Tail-biting, where the initial and final states of the encoder are identical. Tail-biting is
done by initializing the shift register contents with the last m information bits in the
input block. The advantages of this method is the uniform protection of the information
bits and that there is no rate loss.

3.1.2 Viterbi algorithm

The Viterbi algorithm searches the best path in the trellis diagram with known initial and final
states, which matches to the input sequence. Each path consists of branches, which connects
two states and have certain cost (metric). The overal cost of a path is the accumulated metric
of its branches. The aim in the viterbi algorithm is to find the path with the minimum cost.
Branch metric at the ith trellis step (the cost of choosing a branch at the trellis step i) is defined
as:

n1
X
M (yi |xi ) = log P (yi,j |xi,j ) (6)
j=0

At the lth transition in the trellis, a partial path metric can be derived, which is the accumulated
metric of branches between the initial state and the considering lth transition, following a
specific path inside the trellis. The partial path metric can be defined as:

l
Msl (y|x) = M (yi |xi ) = Msl1
X
0 (y|x) + M (yl |xl ) (7)
i=0

Viterbi algorithm finds the best path through the trellis, by comparing all of the arriving edges
in the state s and selecting a survivor edge with the best metric. It can be shown, the best edge
is the one with the smallest hamming distance between the received sequence and the state
sequence.
At each step the survivor partial paths with the smallest accumulated metrics are selected and
finally the best path between the initial and final state with smallest metric is selected, which
corresponds to a specific input bit-sequence.
Channel Coding and Link adaptation 9

Figure 8: Trellis diagram of a convolutional encoder

3.2 Turbo coding in LTE

Turbo codes were first introduced by Berrou, Glavieux and Thitimajshima in 1993 and have
Performances within a few tenth of a dB from the Shannon limit. The Turbo encoder in LTE
is a systematic parallel concatenated convolutional code (PCCC) with two 8-state constituent
encoders (the same as in UMTS) and one Turbo code contetntion free internal interleaver
(different from UMTS). Where the encoders are based on RSC (Recursive Systematic Con-
volutional) codes and their generator polynomial is given by G=[1, g0 /g1 ], where g0 =[1011]
(feedback) and g1 =[1101] (feedforward).
The structure of the Turbo encoder used in LTE can be seen in Fig. 9.

Figure 9: Structure of the LTE Turbo encoder (dotted lines are for trellis termination)

As can be seen in Fig. 9, the output of the LTE Turbo encoder consists of three parts, a
systematic bit and two parity bits. The systematic bit (Xk ) is the untouched input bit. The
first parity bit (Zk ) is the output of the first convolutional encoder with the original input (Ck )
as input and the second parity bit (Zk0 ) is the output of the second convolutional encoder after
10 Shahram Zarei

interleaving (by the Turbo code internal interleaver) of the input bit (Ck0 ) as its input.
For trellis termination the tail-bits Xk0 are inserted.
Turbo coding is used in LTE for following channels: UL-SCH (Uplink Shared CHannel), DL-
SCH (Downlink Shared CHannel), PCH (Paging CHannel) and MCH (Multicast CHannel)

3.2.1 Turbo encoders internal contention-free interleaver

The internal contention-free interleaver is one of the key parts of the LTE Turbo encoder.
The main difference between the Turbo encoders in LTE and UMTS is that the interleaver
in LTE is in contrast to the one in UMTS contention-free. Contentions occur, when parallel
working processeses try to write or read to/from the same memory address simultaneously.
Because the two SISO (Soft-Input Soft-Output) MAP decoder engines of the Turbo decoder use
such processes, the contention-free concept becomes survival for designing the Turbo encoders
internal interleaver efficiently.
A contention-free interleaver (i), 0 i K should satisfy the following inequality, where W
is the window size and 0 W, u1 0, u2 < M for all U1 6= U2 :

(u1W + ) (u2W + )
b c=
6 b c (8)
W W
The above inequality satisfies for both interleaver = and deinterleaver = 1 and
indicates, that the memory addresses (both sides of the inequality), accessed by M processes
on the th step must be different.
There were two candidates for the LTE internal interleaver: Almost Regular Permutation
(ARP) and Quadrature Permutation Polynomial (QPP), which are very similar. However QPP
is chosen for LTE because it offers more parallelism. The QPP interleaver for a block size of K
is defined as following:

(i) = (f1 i + f2 i2 ) mod K (9)

Where i is the input index and (i) the output index and f1 and f2 are permutation parameters,
which can be get from the standard.

3.2.2 Turbo decoder in LTE

The Turbo decoder in LTE is based on two SISO (Soft-Input Soft-Output) decoders, which
work together in an iterative manner. Each SISO decoder has two inputs, namely a normal
input and an a-priori Log Likelihood Ratio (LLR) input, and two outputs, an a-posteriori LLR
and an extrinsic LLR. In each iteration the (de)interleaved version of the extrinsic output of
a decoder is used as the a-priori information for the other decoder. Typically after 4 to 8
iterations, the a-posteriori LLR output can be used to obtain the final hard decision estimates
of the information bits. The structure of the LTE Turbo decoder can be seen in Fig. 10.
Channel Coding and Link adaptation 11

Figure 10: Turbo decoder

3.3 Rate matching in LTE

As can be seen in Fig. 9, the mother code rate of LTE Turbo encoder is 1/3. In order to get
other code rates, if desired, repetition or puncturing has to be performed, which both are done
by a rate matching module. The rate matching module consists of three so-called sub-block
interleavers for the three output streams of the Turbo encoder core and a bit selection and
pruning part, which is realized by a circular buffer.

The sub-block interleaver is based on the classic row-column interleaver with 32 columns and
a length-32 intra-column permutation.

The bits of each of the three streams are written row-by-row into a matrix with 32 columns
(number of rows depends on the stream size). Dummy bits are padded to the front of each
stream to completely fill the matrix. After a column permutation, bits are read out from the
matrix column-by-column. The column permutation of the sub-block interleaver is given as
following:

[0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27,
7, 23, 15, 31]

For example if column 1 has to be read orginally, after permutation column 16 will be read.

Figure 11: Turbo encoder with rate matching module


12 Shahram Zarei

3.3.1 Circular buffer in LTE

The circular buffer is the most important part of the rate matching module, making puncturing
and repetition of the mother code possible. The structure of the Turbo encoder with rate
matching module is shown in Fig. 11 The interleaved systematic bits are written into the
circular buffer in sequence, with the first bit of the interleaved systematic bit stream at the
beginning of the buffer. The interleaved and interlaced parity bit streams are written into
the buffer in sequence, with the first bit of the stream next to the last bit of the interleaved
systematic bit stream. Fig. 12 shows the internal structure of the circular buffer. The white cells
contain systematic bits and red and blue cells contain parity 0 and parity 1 bits, respectively.
Green cells are the RV (Redundancy Version) points, which are considered with more details
in HARQ section.

The number of coded bits (depending on the code rate), are read out serially from a certain
starting point specified by RV points in the buffer. If the end of the buffer is reached and more
coded bits are needed for the transmission (in the case of a code rate smaller than 1/3), the
transmitter wraps around and continues at the beginning of the buffer.

Figure 12: Structure of a circular buffer for the LTE rate macthing module

3.4 HARQ and redundancy versions

HARQ, which stands for Hybrid ARQ, is an error correction mechanism in LTE based on
retransmission of packets, which are detected with error. The functionality of the HARQ can
be seen in Fig. 13. The transmitted packet arrives after a certain propagation delay in receiver.
Receiver produces either an ACK for the case of error-free transmission or a NACK, if some
errors are detected. The ACK/NACK is produced after some processing time and sent back
to transmitter and arrives there after a propagation delay. In the case of a NACK, after a
certain processing delay in transmitter, the desired packet will be sent again. The bits, which
are read out from the circular buffer and sent in each retransmission are different and depend
on the position of the RV (Redundancy Version). There are four RVs (0, 1, 2, 3), which define
the position of the starting point, where the bits are read out from the circular buffer. The
RVs can be seen in the Fig. 12 and are presented as green cells. As can be seen in Fig. 12,
in the first retransmission, more systematic bits are sent and with the progressing number of
retransmissions, RV becomes higher and therefore less systematic and more parity bits are read
out from the circular buffer for the retransmission.
Channel Coding and Link adaptation 13

Figure 13: HARQ mechanism in LTE

3.5 Convolutional coding for control channels in LTE

In control channels like Physical Downlink Control CHannel (PDCCH) and Physical Broadcast
CHannel (PBCH) a convolutional code is used. The reason is that the code blocks are much
more smaller than in data channels and for small blocks the Turbo codes internal interleaver
does not work efficiently. Because of the small number of bits carried in PDCCH and PBCH
and in order to avoid overhead, the tail-biting approach instead of inserting tail bits is used
as terminating method. The initial value of the shift register of the encoder shall be set to
the values corresponding to the last 6 information bits in the input stream so that the initial
and final states of the shift register are the same. The decoder can be either a circular Viterbi
algorithm or a MAP algorithm. The rate-matching for the convolutional code in LTE uses a
similar circular buffer method as for the Turbo code.

4 Summary

LTE uses Adaptive Modulation and Coding (AMC) as the link adaptation technique to adapt
transmission parameters, modulation scheme and code rate dynamically to the channel. The
higher the channel quality, the higher is the used modulation order and code rate. Channel
quality in downlink is measured in UE using the reference symbols. Upon this measurement,
so-called CQIs, which are channel quality indicators are generated and sent to eNodeB. Each
CQI value corresponds to a specific modulation scheme and a specific code rate, which are
selected by eNodeB for the downlink transmission.

LTE uses both convolutional and Turbo encoding for control and data channels respectively.
With Turbo codes performance up to a few tenth of a dB from the Shannons limit can be
achieved. One of the highlights of the Turbo encoder in LTE is the internal contention-free
interleaver, which makes it possible, that the Turbo decoder works with very high bit rates.
Another feature of the LTE Turbo encoder is the concept of the circular buffer in the rate
matching module. It allows a simple realization of rate matching in respect of HARQ.
14 Shahram Zarei

References
[1] S. Sesia, I. Toufik, M. Baker: LTE - The UMTS Long Term Evolution: From Theory
to Practice, John Wiley and Sons, 2009.

[2] W. Koch: Lecture script "Fundamentals of Mobile Communications", University of


Erlangen-Nuremberg, 2008.

[3] J. Cheng, A. Nimbalker, Y. Blankenship, B. Classon, K. Blankenship: Analysis of


Circular Buffer Rate Matching for LTE Turbo code

[4] M. Stambaugh: HARQ Process Boosts LTE communications, Agilent technologies,


2008.

[5] C. Berrou, A. Glavieux, P. Thitimajshima: Near Shannon limit error-correcting coding


and decoding: Turbo codes (1), 1993.

[6] Third Generation Partnership Project; Technical Specification Group Radio Access
Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and
channel coding (Release 8)

You might also like