error control using turbo codes -...

34
CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance reliability in WATM networks, many channel coding schemes such as block and convolutional codes have been used. To get a better performance, concatenated coding may be employed. In this scheme, the probability of error decreases as decoding complexity increases. Turbo code is an improved concatenated code which consists of two or more constituent codes. This chapter explains error control for WATM networks using Turbo codes, Quantized Tuba codes and Nonsystematic Turbo codes and also analyses the performance of the three schemes. Turbo code consists of two Recursive Systematic Convolutional (RSC) codes as the constituent codes. The term Turbo is named after the fact that the decoder uses its processed output as a priori input in the next iteration. Computational speed of the Turbo coding is high. Turbo codes are enor correction codes which use more bits of redundant data in order to achieve better reliability. By adding parity bits to transmitted data, Turbo codes allow the receiver to correct errors caused by the channel. 52 TURBO ENCODER The Turbo encoder consists of the concatenation of two identical recursive systematic convolutional encoders and an interleaver. The encoder shown in Figure 5.1 is a parallel concatenation structure because the two constituent encoders operate on the same set of input bits. The interleaver is used ta permute the input bits in such a way that the two encoders use the same set of input bits but result in different output sequences.

Upload: others

Post on 14-Mar-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

CHAPTER 5

ERROR CONTROL USING TURBO CODES

5.1 INTRODUCTION

To enhance reliability in WATM networks, many channel coding schemes such

as block and convolutional codes have been used. To get a better performance,

concatenated coding may be employed. In this scheme, the probability of error

decreases as decoding complexity increases. Turbo code is an improved concatenated

code which consists of two or more constituent codes. This chapter explains error

control for WATM networks using Turbo codes, Quantized Tuba codes and

Nonsystematic Turbo codes and also analyses the performance of the three schemes.

Turbo code consists of two Recursive Systematic Convolutional (RSC) codes as

the constituent codes. The term Turbo is named after the fact that the decoder uses its

processed output as a priori input in the next iteration. Computational speed of the Turbo

coding is high. Turbo codes are enor correction codes which use more bits of redundant

data in order to achieve better reliability. By adding parity bits to transmitted data, Turbo

codes allow the receiver to correct errors caused by the channel.

5 2 TURBO ENCODER

The Turbo encoder consists of the concatenation of two identical recursive

systematic convolutional encoders and an interleaver. The encoder shown in Figure 5.1

is a parallel concatenation structure because the two constituent encoders operate on the

same set of input bits. The interleaver is used ta permute the input bits in such a way that

the two encoders use the same set of input bits but result in different output sequences.

Page 2: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

The information bits are first encoded by a systematic convolutional encoder

and then after passing through an interleaver, they are encoded by a second systematic

convolutional encoder. The code sequences are formed by the infomation bits followed

by the parity check bits generated by encoders, resulting in the transmission of three

output streams namely, dk information bits, XI output bits from the first encoder and X2 output bits from the second encoder.

.,

= Encoder1 * -

t

Interleaver

r

* Encoder 2 +

Figure 5.1 Turbo Encoder

The input bits are grouped into a M t e length sequence whose length is equal to

the size of the interleaver. The overall code rate is 1/3. The code rate can be varied by

using puncturing mechanism. The fundamental idea behind Turbo code is the use of the interleaver by which the mor perFomance can be significantly improved through the

separation of constituent encoders. The Interleaver randomizes the bursty error.

53 TURBO DECODER

The transmitted sequences dk, XI and X2 through a transmission channel, reach

the Turbo decoder at the receiver. Due to noise in the channel, the received values may

not match their transmitted counterparts. The Turbo decoder attempts to reconstruct the transmitted values through a series of decoding steps.

Page 3: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

The Turbo decoder shown in Figure 5.2 consists of two identical component

decoders, interleaver/deintaleaver blocks and an output decision block. The interleavers

present in the receiver are identical to the interleaver in the transmitter. The

kinterleaver is used to reorder the sequences so that each decoder is properly

synchronized.

Figure 5.2 Turbo Decoder

The interleavers permute the data bits to support the error correction algorithm.

The output from Decoder 1 is fed into Decoder 2 through an interleaver/deinterleaver.

Multiple iterations are required before the decoder converges towards a final result.

After a pre-specified number of decoding iterations, the final decision is made in the

Data decision block by combining the outputs fiom both decoders.

Data Decoder2 , ,.

The two decoders are matched to the constituent encoders at the transmitter.

They share control information (also called extrinsic information) in an iterative fashion.

The extrinsic information is used as a priori information in the next decoding stage. The

Decoder 1 is associated with Encoder I and yields a soft decision. The emr bursts at

the Decoder 1 output are scattered by the interleaver. The same process takes place at

Decoder 2 also. The parallel concatenation featured in Turbo code is an attractive

scheme because both encoders and decoders use a single clock frequency.

Deinterleaver

J decision " o@

Page 4: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

Traditional Turbo codes employ two recursive systematic convolutional codes

separated by an interleaver in a parallel concatenation. Two component decoders are

used to form. the complete Turbo decoder. The decoding strategy is operated iteratively

where each component decoder uses partial information about the transmitted sequence

supplied by the other component decoder from a previous decoding step. The great

interest in this type of coding/decoding stems fkorn the fact that Turbo codes can perform

very closely to the theoretical limits developed by Shannon [lOO]. Shannon showed that

a communication chmel is capable of transmitting information with few errors, even

when the channel is subject to errors due to noise or interference, if the capacity of the

channel is not exceeded. This capacity depends on the signal-to-noise ratio.

The Turbo encoder is built using a parallel concatenation of two recursive

systematic convolution encoders, The associated decoder operates based on a feedback

decoding rule. Consider a biOnary rate, R=1/2, convolutional encoder with constraint

length K and memory M = K-1. The input to the encoder at the instant of time 'i3 is a bit

di and the corresponding codeword Ck is the binary couple (Xk, Y k ) given by,

k-1 and & = c g,,d, , mod-2 where, g2,=o, 1 (5-2)

i=O

5.4 QUANTIZED TURBO DECODER

Quantization is an important step in transforming ideal conceptual models into

practical working solution as a small size digital chip. As long as digital circuits rely on

finite precision representations of numbers, it is desirable to represent information in

compact farm, with as small a performance loss as possible. In a conventional Turbo

system, inefficiently represented extrinsic information may require a large amount of

memory for bigger codes. There is a need to represent extrinsic information in compact

Page 5: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

form to lower memory needs and therefore directly reduce processing Ioads at the

decoder.

In a quantized Turbo decoder, the extrinsic information passed between two

decoders is quantized. It is found that the quantization scheme requires only one bit to

represent extrinsic information of binary Turbo system. In this way, only hard decisions

of the extrinsic information as well as a set of simple weighting factors which is

common to all extrinsic information are stored in memory. The proposed quantization

scheme is studied through Extrinsic Information (EXIT) analysis using a Binary

Symmetric Channel (BSC) model. EXIT analysis improves the reliability of extrinsic

information passed between decoders. It examines proper weighting factors that

maximize the performance of the quantized decoder.

The likelihood hnctions are conditional probability density functions. If all the

input message sequences are equally likely, a decoder that achieves the minimum

probability of error is one that compares all of the conditional probabilities and chooses

the maximum. Therefore in the maximum likelihood context, the decoder chooses a

particular transmitted sequence if the likelihood is greater than the likelihoods of all

other possible transmitted sequences. It is computationally more convenient to use the

logarithm of the likelihood function since it permits the summation instead of

multiplication of terns. Log Likelihood Ratio (LLR) is a useful metric. It can be defined

as a posteriori probability of a received bit, computed by the component decoder. It is a

real number representing a so& decision out of a decoder. Each decoder processes

information and passes the resulting extrinsic information to the other decoder which

uses it as a priori information called log likelihood ratio of a priori information (LLR,).

The log likelihood ratio of extrinsic idormation &L&) is obtained using the equation

given by [44],

*ere, (r2 is the variance for the channel noise and y is the received bit at the decoder.

Page 6: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

APP DECODER 1

APP DECODER 2

Figure 5.3 Quantized Turbo Decoder

Figure 5.3 represents the main idea of a 1-bit quantization decoder. A Post-Priori

Decoder (APP) receives and processes both posteriori and priori information. The

quantized extrinsic infomation is interleaved / deinterleaved and when used by an APP

decoder as a priori information, they are multiplied by a weighting factor colIected f?om

a look-up table. This weighting factor is constant for a complete decoding path of the

component APP decoders but varies with iteration number, choice of particular

component code and the signal-to-noise ratio.

5.5 SYSTEM DESCRIPTION

The EXIT test system shown in Figure 5.4 is used to find proper weighting

factors and examine the performance of the system with single bit quantization. It

employs a BSC test-channel with crossover probability p, This setup can be used to

perform an EXIT analysis of the quantized system as follows:

Page 7: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

Factor I I Figure 5.4 EXIT Test System

U

The encoded information sequence is transmitted in a wireless channel. At the

decoder, the noisy data is fed into the APP decoder along with a priori information.

Expression of the absolute value of extrinsic information in a I-bit quantized system as a

hnction of p, can be given as,

BER Evaluation

where, ye is the received test signal and

U is the transmitted signal.

BER

w n

Eq.(5.4) represents a weighting factor with which the hard decision extrinsic

information fi-om a previous APP decoder has to be multiplied as shown in Figure 5.3.

Turbo Encoder

Ye LLR,

A binary mdulator which maps the coded symbols ik = { 0 ,I) into the channel

symbols bk = {- 1, 1 } is considered. An n-bit quantizer with L = 2" quantization levels is

also considered. Let (%,al ,, . .,aL) with a, = -a and a, = ao be the boundaries of the

quantization intervals. Let i = O,l, .... L-1 be the quantization intervals and

qo,q12.. . . . ..,q~1 be the possible quantized values within each of the L quantization

intervals. Then the transition probabilities in Figure 5.5 are given by,

Decoder

BSC

X Y

C

b

LLRdl * APP

Page 8: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

p (,I.) denotes the conditional probability density function for the received data, given

that a 0/ 1 was transmitted.

Figure 5.5 Quantized Channel Model

5.6 DECODING ALGORITEIMS

Two well-developed and widely used algorithms for determining the state

sequence of a trellis encoder are the Viterbi Algorithm (VA) and the Maximum a

Posteriori (MAP) algorithm. The Viterbi Algorithm is widely used for decoding

convolutional codes but variants of the MAP algorithm are more suitable for Turbo code

decoding for the following reason. Given the received observation sequence y, the

Viterbi dgoritbm determines the most probable state sequence (denoted as s) which is

given by,

This hplies that the states estimated by the Viterbi algorithm will always form a

connected path through the trellis, The MAP algorithm, on the other hand, attempts to

determine each state transition without regard to the overall sequence of the trellis as, A

si = ms7 PIS I Y I (5 -7)

Page 9: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

On the basis of performance compafisons, it has been observed that the VA

results in minimizing Frame E m Rate (FER) while the MAP algorithm minimizes the

Bit Error Rate (BER). The cwent work investigates Turbo coded error control using the

Maximum A Posteriori (MAP), Quantized MAP (QMAP), Soft Output Viterbi

Algorithm (SOVA) and Quantized SOVA (QSOVA) algorithms. QMAP and QSOVA

are the quantized versions of MAP and SOVA algorithms respectively.

5.6.1 MAP Algorithm

The maximum a posteriori (MAP) algorithm calculates the a posteriori

probability of each message bit/symbol that must have been transmitted at the encoder,

given the noisy obsewations of symbols produced by a Markov process. l h i n g the

decoding sequence, the APPs obtained after every iteration are put into log likelihood

ratio form for manipulation by the next decoder and hard decisions are only made after

the last iteration. In order to find the a posteriori probability for each message bit from

the given noisy observations, the MAP algorithm first calculates the probability of each

state transition as,

The imporbnt state transition probabilities which are used to find log likelihood

ratio can be listed asa (si), P(si), and y(sj -) Si+,) [124]. The term a (si) gives the state

transition probability during the fomard recursion and is given by,

where, A is defined as Ehe set of states si_l connected to si. Conversely, given a particular

trellis state si at a specific instant of quantization interval, P(si) gives the state transition

probability at the backward recursion as given by,

Page 10: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

whm, A is defined as the set of states S i t 1 connected to sj. The term y( si+ si+,) is a

trellis tree branch metric parameter which represents the chances of making a transition

from state sj to si+l where the states si and sf+l are not directly connected on the trellis

diagram. It can be calculated as,

where, mi is the message bit at si

After determining the a posteriori probability for each state transition, the

probabilities for the message bits/symbols are determined by,

and

where, so = (si+si+, : mi =O) is the set of dl state transitions associated with

transmitting a 'O', and sl = {s~+s*~: mi =1) is the set of all state transitions associated

with transmining a 'l '.

The log likelihood ratio (LLR) is thus defined as,

Numerical stability problems can arise in the computations of %(.I ,a(.) and p(.,

due to the large dynamic ranges of these quantities. This problem can be solved by

performing computations in the logarithmic domain, Although this technique solves

computational complexity and dynamic range issues, it still requires a large memory.

Page 11: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

5.6.2 QMAP Algorithm

The QMAP algorithm works in the following way: Let the state of the

constituent recursive systematic convolutional encoder at time k be sk, which takes

values from (0, 1, 2, . . ., 2M -1) and let M be the number of memory elements in the

encoder. The received sequence is denoted by qk = [y, ,y2 ,......, yk 1 with k=l, 2, . . . , N,

where N is the block length. It is to be noted that typically the elements of this sequence

can be vector valued as they denote the receiver output(s) at a time. Hence, for a rate I/2

RSC which produces 2 coded bits every time instant, the elements of the received

sequence can be written as y, = [Y;, y : ] , where yi and y,P are the receiver outputs

corresponding to the symbol and parity bits transmitted at a time. This sequence is then

quantized and the quantizer output is denoted by qil = [qq1,,4 .r12,........ 7 ~ [ q , k ] with b l ,

2,. . ., N. The QMAP algorithm, like the MAP algorithm, provides an estimate of the log

likelihood ratio (LLR) for each bit. The LLR is the logarithm of the ratio of the a

posteriori probability of the bit being 1 to the a posteriori probability of it being 0 and is

given by,

which can be fbrther expressed as,

where, a,(s,) and P,(s,) are dehed as follows:

and Ti = P, (ii I S I ,sk)P, (ylq1, I sk-1, sk )J>, ( ~ ~ - 1 , sk

Page 12: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

The forward recursion for the calculation of ak (s, ) is givm by,

and the backward recursion for the calculation of ,8" (s, ) is given by,

where the initial conditions are pN (s,) = 1 and bN ) = o .

The properties of the channel and the code are used in the formulation of yi . If a rate 1/2 RSC is considered, each information bit d, , produces two coded bits [ii , i[ 1,

where ii = d, . These coded bits get mapped into binary symbols bk = [b," , b , ~ ] and a h r

being transmitted over the channel are received as y, = [pi, y,P ] and then quantized. It is

to be noted that due to the presence of a quantizer, the input to the decoder is constrained

to a set of discrete vaIues as decided by the choice of the quantizer. Let us refer to these

quantized values of yiandy,P as ykv and y&ikrespectively 11241. Since the

transitionsk-, -+ sk corresponds to the coded bit^^^;,^;.], the state transition probability

becomes,

Using Eq.(5.2 1) and Eq.(5.22), the branch transition probabilities of the code trellis are

given bx

Thus for implementation purpases, QW approach differs h m the usual

implementation of the MAP algorithm simply in the calculation of they,(.). Equations

(5.19) and (5.20) would be used by a decoder in the QMAP algorithm.. The MAP-based

Page 13: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

decoder must compute the required minimum distances in real time, while the QMAP

based decoder simply uses the precompiled channel transition probabilities.

5.63 SOVA Algorithm

Decoder complexity can be reduced further by using the Soft Output Viterbi

Algorithm (SOVA). The traditional Viterbi aigorithm is a forward dynamic

programming solution to the decoding of convolutional codes. In the conventional

Viterbi algorithm, the path is selected at each node by maximizing over all possible

paths. Usually, the competing path determines the reliability of information. The SOVA

algorithm computes only one competing path at every decoding step. Thus, for each

information bit, it considers only one survivor of the Viterbi algorithm.

Like Max-Log-MAP, SOVA processing is also performed in the logarithmic

domain, while executing the same operations as in the Viterbi algorithm. The SOVA

path-update process generates reliability information about the bits along the survivor

paths as we1 as hard outputs. A fundamental difference between the MAP algorithm and

the SOVA is that the MAP algorithm minimizes bit error probability, while the SOVA

minimizes sequence error probability.

5.6.4 QSOVA Algorithm

The QSOVA algorithm is similar to SOVA algorithm except that the extrinsic

information is quantized before giving the next decoder as the prior information. The

QSOVA algorithm computes only one competing path at every decoding steq. Thus for

each information bit, it considers only one survivor of the Viterbi algorithm.

5.7 COMPARISON OF DIFFERENT TURBO CODING ALGORITHMS

The MAP and the SOVA algorithms work with the same rnetrics. For had

decisions, they are identical. But they behave in different ways whiie computing the

Page 14: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

information of the decoded bit 4- The SOVA considers only one competing path per

decoding step. That is, for each bit dk, it does not consider all the competing paths but

only the survivors of the Viterbi algorithm.

The MAP looks at two paths per step: the best with bit zero and the best with bit

one at transition j; it then outputs the difference of the log likelihoods. However from

step to step, though these paths can change, the calculated path will always be the

maximum-likelihood (ML) path. The SOVA algorithm will always conectly find one of

these two paths, but not necessarily the other, since it may have been eliminated before

merging with the ML path.

The difference between the MAP and SOVA is illustrated in Figure 5.6. The

continuous and dotted lines indicate zero bit path and one bit path respectively in the

trellis diagram. Thick lines in the diagram show the paths considered for calculation. The

MAP takes all paths into its calculation, but splits them into two sets: those that have

information bit one at step 'j' and those that have a zero. Then it returns the LLR of

these two sets. Due to the Markov properties of the trellis, the computation can be done

relatively easily. Finally, the comparison of MAP and SOVA algorithms yields that

MAP algorithm provides a better performance.

Figure 5.6 Comparison between MAP and SOVA

Page 15: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

The number of operations in the MAP is about twice the number of operations in

the SOVA. However, the former is more suited for parallel processing. So it may be

concluded that the MAP is particularly suitable for decoding Turbo codes. The Turbo

code is capable of handling a very low signal to noise ratio signal, but a small number of

states and therefore the additional complexity is less pronounced. As the MAP algorithm

achieves better performance than the SOVA algorithm, it is suggested that the MAP

algorithm is a suitable choice for decoding Turbo codes.

5.8 RESULTS OF QUANTIZED TURBO CODES

To ilIustrate the principle, a Turbo code with code rate of 1/3 is employed and it is

formed by two identical four-state recursive convolutional codes with generating

polynomials of (1 + D*) and (1 + D + D~). The code rate is chosen as 113 where every

source data bit is mapped into 3 coded symbols. Figure 5.7 and Figure 5.8 shows the BER

performance for the MAP and QMAP algorithms respectively using four and eight

iterations. Simulations are carried out for Coherent QPSK modulation system at a data rate

of 1 Mbps. The size of the WATM cell considered for simulation is 56 bytes. The wireless

channel is assumed as the multipath fading channel.

5.8.1 3-Bit Quantized SOVA AND MAP Algorithms

The extrinsic information is reduced to a 3-bit quantized data in the QMAP

algorithm. In the MAP algorithm, no quantization takes place. Figures from 5.7 to 5.10 show

the BER performance for the four and eight iterations using MAP, QMAP, SOVA and

QSOVA algorithms respectively. From these figures, it is undmtood that as the number of

iterations increases, the BER comes down. Therefore, the Turbo decoding process can be

improved by increasing the number of iterations.

Figures 5.1 1 and 5.12 explain the comparisons between the effects of using 3-bit

quantized data as the extrinsic information for different algorithms. To store the weighting

Page 16: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

Figure 5.7 S N R Vs BER for the MAP Algorithm

Figure 5.8 SNR Vs BER for 3-bit QMAP Algorithm

Page 17: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

Figure 5.10 S N R Vs BER for 3-bit QSOVA Algorithm

Page 18: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

Figure 5.11 Comparison of M A P and QMAP for 3-bit EXIT information

---8-- 8 iteration

i

Figure 5-12 Comparison of SOVA and QSOVA for

- -.

Page 19: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

I I I I -.-..A 1.5 2 2.5 3 3.5 4 4.5 5

SNR (dB)

Figure 5.13 SNR Vs BER for 1-Bit QMAP

factor, less than one kilobits of the buffer size is required. From the simulation results, it is

understood that the quantized extrinsic values provide almost the same infomation as the

unquantized extrinsic information.

Table 5.1 Weighting factor used in the simulations

For every frame, 'p,' (cross over probability of the channel) was evaluated for each

iteration and component dec&. The weighing factors may be found by averaging 'pa' over

Iterationi.

4

8

APP

1

2

1

2

1dB

6.96

7.12

7.32

7.56

2dB

7.89

8.08

8.17

3 dB

8.48

9.12

9.36

4 dB

9.68

9.86

10.32

10.45

5 dB

10.52

1 1.69 -

12.12

12.38 8.24 9.48

Page 20: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

~imulated fi-ames. The weighing factors used are given in Table 5.1 and are listed for

different values of S N R and iteration. As an example, the signal S N R of 2 dB at decoder 2 of

iteration 4 is to be multiplied by 8.08.

5.8.2 QMAIP Algorithm Using 1-Bit Quantization

Figure 5.13 shows the performance of S N R Vs BER for different iterations using

QMAP algorithm. The extrinsic information is quantized into 1-bit information before

passing to the next decoder. Results show that the BER is decreased as the number of

iterations increases.

5.83 SOVA Algorithm Using I-Bit Quantization

Figure 5.14 shows S N R Vs BER for QSOVA algorithm by varying the number of

iterations in the Turbo decoding process. In the QSOVA algorithm, extrinsic information is

quantized into 1 bit before giving to the next decoder. The quantized extrinsic information is

multiplied by the corresponding weighting factor using the lookup Table 5.1.

- - - -- . '"i t.5 i 2:s d 3:. 1 4:s 5

SNR (dB)

Figure 5-14 SPJR Vs BER using 1-bit QSOVA

Page 21: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

5.8.4 Comparison of different Turbo coding Algorithms

In Figure 5.15, Turbo code using QSOVA achieves almost the same performance of

sOVA. In fact, the match between the two algorithms is maintained at all iterations. So,

QsOVA is a better approach than SOVA to achieve better BER as it requires less number of

extrinsic information bits. The computational complexity is reduced in QSOVA than SOVA.

In Figure 5.16, QMAP achieves practically the same performance as MAP. The

match between the two algorithms is well maintained for all iterations. This indicates that

QMAP exhibits almost the same performance when compared to MAP algorithm, Therefore

QW is better than MAP algorithm as it requires less number of extrinsic information bits.

The computational complexity is reduced in the QMAP algorithm compared to the MAP

algorithm. It is also to be observed that the QMAP algorithm performs better than the

QSOVA algorithm.

SNR (dB)

Figure 5.15 Comparison between SOVA and QSOVA

Page 22: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

lo4-- I I I I I I 1 1.5 2 2.5 3 3.5 4 4.5 5

SNR (dB)

Figure 5.16 Comparison between MAP and QMAP

5.9 NONSYSTEMATIC TURBO CODES

Nonsystematic Twbo codes can achieve lower error rates than Systematic Turbo

codes because of their effective free distance [45] properties. Nonsystematic Turbo

codes have greater values of effective fkee distance than the systematic Turbo codes of

the same constraint length. The effective fiee distance of a Turbo code can be defined as

the minimum distance of an input sequence where weight-two codeword is present

[125]. The weight of a code word can be defined as the number of non-zero elements

present in a code word. Since the error corxecting capabilities of nonsystematic Turbo

codes largely depends on the free distance, nonsystematic Turbo code can exhibit better

performance than other codes of the same complexity.

Figure 5.17 shows a Nonsystematic Turbo encoder block diagram. The first

encodes has a rate R=1/2 nonsystematic feedback conv01utio~al encoder with generator

Page 23: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

matrix Gl(D) = [(g,'"(~) l g,'0'(D))(g,'2'(~) l gl(oO"(~))]. This encoder has a total of 2" states,

where u is the constraint length of the encoder. If g , ( ' ) ( ~ ) = g,(o"~) or

g , ( 2 ) ( ~ ) = g,(0)(D) then the rate R=1/3 systematic Turbo code results. n is the

interleaver which is used to randomize the burst error.

Figure 5.17 Nonsystematic Turbo Encoder

To obtain a nonsystematic Turbo code, one of the first constituent generators is

chosen as,

l l or g,'l'(~) - g,'2'(~) -- do' (Dl g?' (Dl g?) (Dl do) (0

Table 5.2 shows that the nonsystematic Turbo codes can achieve larger effective

fiee distances than the systematic Turbo codes. However, for some nonsystematic

encoders, the iterative APP decoding algorithm provides poor extrinsic estimates of the

information bits after the first iteration of decoding, so that decoding may not converge

to the maximum- likelihood solution.

A Turbo encoder is called a feed forward encoder. The weight of feed forward

inverse is a useel metric in classifjling nonsystematic Turbo codes. Table 5.3 presents

the weight of the feed forward inverse for different Turbo encoders. A nonsystematic

Page 24: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

~onvolutional encoder that has a weight-two feed forward inverse is known as Quick

~ o o k In (QLI) encoder. In contrast to nonsystematic encoders, systematic feedback

encoders have a feed forward inverse of one. Since nonsystematic QLI encoders have

inverses of weight two, they can be considered as "almost sysfernatic." Encoders with

feed forward inverses of weight three are called Easy Look In (ELI) and encoders whose

weight is greater than three are called Nearly Quick Look In (NQLI). But catastrophic

encoders do not possess a feed forward inverse as it is infinite. Thus the nonsystematic

feedback QLI encoders exhibit good performance when used as constituent encoders in

the Turbo coding scheme.

Table 5.2 Maximum Effective Free distances of Rate R=1/3 Turbo codes

Table 5.3 Weight of the Feed forward Inverses of the Rate R=1/2 Convolutional

Encoders

The symbol-by-symbol Logarithmic Maximum a Posteriori algorithm (Log-

M.AP) [126-1273 is optimal for iterative decoding. Log- MAP algorithm executes MAP

algorithm in the logarithmic domain. To avoid the high complexity of the optimal

Encoder

SYS

QLI

ELI

NQLI

CAT

Weight of the

feed forward

inverse

I

2

' 3

>3

a

Page 25: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

algorithm, sub-optimal algorithms such as the log-MAP, max-log-MAP and constant-

log-MAP, are used in practice to achieve the compromise between performance and

complexity. The MAP parameters are approximated in the max-log-MAP algorithm by

the maximization operation. The correction function is a constant for the constant-log-

MAP decoder. The log-MAP algorithm computes the MAP parameters by utilizing a

correction h c t i o n to compute the logarithm of the sum of numbers.

5.10 RESULTS OF NONSYSTEMATIC TURBO CODES

A set of simulations are performed to investigate the influence of nonsystematic

Turbo codes on WATM networks. The BER performance of the eight-state

nonsystematic turbo code is simulated with aE =16 and GI@) = [ 6/15 13/15 ] and

Gz@) = [13/15] for the AWGN channel and the Rayleigh fading channel by considering

the WATM environment. Simulations are canied out for Coherent QPSK modulation

system at a data rate of 1 Mb/s. The size of the WATM cell considered for simulation is

56 bytes. All the simulations are run for a maximum of 8 iterations.

The BER performance curves of the nonsystematic Turbo codes for the max-

log-MAP, constant-log-MAP and log-MAP decoding algorithms under the AWGN

channel are shown in Figures 5.18, 5.19 and 5.20 respectively. Similarly the set of BER

performance curves under the Rayleigh fading channel are shown in Figures 5.2 1, 5.22

and 5.23. Figures 5.24 and 5.25 shows the BER performance comparison of different

algorithms for AWGN and Rayleigh Fading channels respectively. It can be observed

that BER performance is better in AWGN than in Rayleigh fading channel.

Page 26: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

SNR (dB)

Figure 5.18 BER Performance of max-log-MAP in AWGN channel

AWGN, constant-logMAP

-.. '.. --. --.

Figure 5.19 BER Performance of constant-log-MAP in AWGN channel

Page 27: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

SNR (dB)

Figure 5.20 BIER Performance of log-MAP in AWGN channel

SNR (dB)

Figure 5.21 BER Performance of constant-log-MAP in Rayleigh channel

Page 28: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

- -- , - p--- - i

-- ---- 1

RAYLEIGH, constant-log-MAP I -4

rj

Figure 5.22 BER Performance of log-MLAP in Rayleigh channel.

Figure 5.23 BER Performance of log-MAP in Rsxleigh channel

I oO r---- - t RAYLEIGH, Iog-MAP : 3

Page 29: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

" --, -1

A W G N . ~ ~ ; - I ~ ~ - M A P AWGN, corstant - l~MAP -, AWGN, leg-MAP _

SNR (dB)

Figure 5.24 BER Performance comparisons in AWGN channel

o0 - 7--- - _ -- - -. --

C _ _ I _ _ __-_---I _-- - E I RAYLEIGH,max-log-MAP

-- -----I RAYLEIGH, constant-10flAP 1 - - 1 0 ' ~ - -- RAYLEIGH, log-MAP -- - - --

SNR (dB)

Figure 5.25 BER Performance comparisons in Rayleigh channel

Page 30: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

(a) Transmitted Picture @) Code Combining ARQ

(c) Concatenated Early-stop ARQ

(d) RCPC Code

(e) Turbo Code

Figure 5.26

Page 31: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

(a) Transmitted Picture (b) Code Combining ARQ

(c) Concatenated Early-stop ARQ

(d) RCPC Code

(el Turbo Code

Figure 537

Page 32: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

(a) Transmitted Picture (b) Code Combining ARQ

(c) Concatenated Early-stop ARQ

(d) RCPC Code

(e) Turbo Code

Figure 5.28

Page 33: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

5.11 SUMMARY

This chapter describes the Turbo coded error control mechanism using one bit

quantized extrinsic information for the WATM networks in multipath fading channel.

The simulation has been done using Matlab software. From the obtained results, it is

confirmed that Turbo coding provides better BER in the error prone environment. From

the simulation results, it is confirmed that the pedormance is improved by increasing the

number of iterations in the Turbo decoding process. It is understood from the results,

that Turbo decoding is possible with only single bit information of the extrinsic

information and it causes only little loss. When the extrinsic information is used as a

priori information, their values are weighted by a constant stored in a look-up table

which is indexed by the iteration and current component decoder number. This table

does not require much storage. With the proposed scheme, memory requirements of

Turbo decoders are greatly reduced without significant loss in performance when

compared to infinite precision decoding. But for practical single bit implementations, a

carefid optimization of both weighting factor and interleaver design would have to be

carried out to achieve a better BER performance.

From the results, it is confirmed that the nonsystematic Turbo coding provides

better BER in the error prone environment compared to other existing coding techniques,

including systematic Turbo codes. It is amazing to obtain lo-' BER at a very small SNR

of (2.5 - 3) dB which is almost wire line BER performance. It can be concluded that

Turbo coding is a very promising technique to effectively control channel errors in

WATM networks

Many channel coding schemes for error correction is in use, such as Reed-

Solomon code, Convolutional code and Concatenated codes so as to increase the

reliability of information transmission. But no such coding is useful enough to recover

the bmty error data It is found that Turbo coding technique reduces bursty error better

other schemes described in earlier chapters. The proposed emor control schemes

namely, Code combining ARQ, Cancatenated Early-Stop ARQ, RCPC coding and

Page 34: ERROR CONTROL USING TURBO CODES - Shodhgangashodhganga.inflibnet.ac.in/bitstream/10603/1261/15/15_chapter 5.pdf · CHAPTER 5 ERROR CONTROL USING TURBO CODES 5.1 INTRODUCTION To enhance

~uantized Turbo coding have been tested by sending pictures shown in Figures 5.26 (a),

5.27 (a) and 5.28 (a). The received pictures are as shown in Figures from 5.26 (6) to

5.26 (e), 5.27 (b) to 5.27 (e) and 5.28 (b) to 5.28 (e). I t can be observed that Turbo code

performs much better than other techniques. It can also be observed that Concatenated

Early-Stop ARQ and RCPC codes exhibit a moderate performance, while Code

combining ARQ shows poor performance.