improving turbo codes through code design and hybrid...

85
IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID ARQ By HAN JO KIM A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2005

Upload: others

Post on 26-Jul-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID ARQ

By

HAN JO KIM

A DISSERTATION PRESENTED TO THE GRADUATE SCHOOLOF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT

OF THE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA

2005

Page 2: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

Copyright 2005

by

Han Jo Kim

Page 3: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

I dedicate my dissertation to all of my family members...

father Muho, mother Hwabong, sister Suyeon, brother Hanjin

Page 4: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

ACKNOWLEDGMENTS

It’s been hard, tough seven years in Gainesville. But I was able to survive and now I

finally graduate.

I want to thank Dr. John Shea, Dr. Tan Wong, and all of my committee members

for their academic advice. Especially, I could not have produced the research described

in this dissertation without Dr. Shea’s mentoring and instruction. I also thank all my lab

colleagues and wish them a bright future.

This dissertation is a fruit of not only my research but also my family’s support. My

parents supported me consistently both financially and mentally throughout my life. I can

not find any way to thank them too much.

iv

Page 5: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

TABLE OF CONTENTS

page

ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

CHAPTER

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Improving The performance of Turbo-Like Codes Through CodeDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Turbo Codes . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Turbo-Like Codes . . . . . . . . . . . . . . . . . . . . . . 31.1.3 Concatenated Turbo Codes . . . . . . . . . . . . . . . . . 41.1.4 Analysis of Turbo Codes . . . . . . . . . . . . . . . . . . 51.1.5 Design and Analysis of RPCC+Turbo Codes . . . . . . . . 7

1.2 Improving Turbo Codes Through Hybrid ARQ . . . . . . . . . . . 71.2.1 Introduction to HARQ Schemes . . . . . . . . . . . . . . . 71.2.2 HyBrid ARQ with Turbo Codes . . . . . . . . . . . . . . . 81.2.3 Reliability-Based Hybrid ARQ . . . . . . . . . . . . . . . 91.2.4 Reliability-Based Hybrid ARQ with Turbo Codes . . . . . 9

1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 IMPROVING THE PERFORMANCE OF TURBO CODES THROUGHCODE DESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Weight Spectrum-Based Performance Analysis . . . . . . . . . . . 132.4 Code Design Based on Weight Spectrum-Based Analysis . . . . . 132.5 Density Evolution-Based Performance Analysis . . . . . . . . . . 202.6 Code Design Based on Density Evolution-Based Analysis . . . . . 23

2.6.1 Analysis on Effect of Different Constituent Code for InnerTurbo Code . . . . . . . . . . . . . . . . . . . . . . . . 24

2.6.2 Analysis on Effect of Unequal Energy for Systematic andParity Symbols . . . . . . . . . . . . . . . . . . . . . . 31

v

Page 6: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

3 IMPROVING THE PERFORMANCE OF TURBO CODES THROUGHHARQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3 RB-HARQ with Various Retransmission Schemes . . . . . . . . . 42

3.3.1 RB-HARQ with Fixed Retransmission Size . . . . . . . . . 423.3.2 RB-HARQ with Various Retransmission Size . . . . . . . 45

3.4 HARQ with Rate Adaptation . . . . . . . . . . . . . . . . . . . . 48

4 DESIGNING CONVOLUTIONAL TURBO CODES THROUGH HARQ 55

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3 CTC with Unpunctured Convolutional Codes . . . . . . . . . . . . 564.4 CTC with Punctured Convolutional Codes . . . . . . . . . . . . . 614.5 CTC with Asymmetric Constituent Codes . . . . . . . . . . . . . 65

5 CONCLUSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

vi

Page 7: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

LIST OF TABLES

Table page

3.1 Performance of various retransmission schemes. . . . . . . . . . . . . . . . 47

3.2 Average value of soft output at the various rates and Es/N0. . . . . . . . . . 50

3.3 Target rate for rate adaptation schemes. . . . . . . . . . . . . . . . . . . . . 50

4.1 Total decoder complexity of CTC with different constituent code. . . . . . . 65

vii

Page 8: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

LIST OF FIGURES

Figure page

1.1 A rate 1/3 turbo code encoder and decoder. . . . . . . . . . . . . . . . . . . 2

1.2 Regions of convergence for turbo decoder. . . . . . . . . . . . . . . . . . . 3

1.3 Serial-concatenated convolutional system a)encoder b)decoder. . . . . . . . 4

2.1 Concatenated coding scheme with turbo inner code and rectangular paritycheck outer code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Performance of typical memory-2 turbo codes and RPCC+turbo codes. . . . 17

2.3 Performance of typical memory-3 turbo codes and RPCC+turbo codes. . . . 18

2.4 Performance of typical memory-4 turbo codes and RPCC+turbo codes. . . . 18

2.5 Comparison of performance for best turbo codes and RPCC+turbo codesof memory 2, 3, and 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6 Iterative turbo decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.7 (5,7) turbo code density evolution. . . . . . . . . . . . . . . . . . . . . . . 22

2.8 Decoder convergence comparison between (5,7) and (15,13) turbo code. . . 24

2.9 Decoder of RPCC+turbo code. . . . . . . . . . . . . . . . . . . . . . . . . 24

2.10 RPCC+turbo decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.11 Decoder convergence comparison between turbo code and RPCC+turbocode (constituent code (15,13)). . . . . . . . . . . . . . . . . . . . . . . 26

2.12 Decoder convergence comparison for memory-2 codes (constituent code(5,7), (7,5) and (5,3)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.13 Block error probability vs iterations for memory-2 codes (constituent code(5,7) and (7,5)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.14 Decoder convergence comparison for memory-3 codes (constituent code(15,13), (13,15), and (13,17)). . . . . . . . . . . . . . . . . . . . . . . . 28

2.15 Block error probability vs iterations for memory-3 codes (constituent code(15,13) and (13,17)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

viii

Page 9: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

2.16 Decoder convergence comparison for memory-4 codes (constituent code(21,37), (33,23), (37,22), and (33,31)). . . . . . . . . . . . . . . . . . . . 29

2.17 Block error probability vs iterations for memory-4 codes (constituent code(37,22) and (33,23)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.18 Decoder convergence comparison for constituent code (5,7),(13,17), and(37,22). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.19 Block error probability vs iterations for various constituent codes . . . . . . 30

2.20 Decoder convergence comparison for first energy allocation method fordifferent ρ (constituent code (13,17)). . . . . . . . . . . . . . . . . . . . 33

2.21 Decoder convergence comparison for second energy allocation method fordifferent ρ1 (constituent code (13,17)). . . . . . . . . . . . . . . . . . . . 34

2.22 Decoder convergence comparison for ρ = 0.6 (constituent code (13,17)). . . 34

3.1 Probability of bit error by reliability rank for rate 1/3 RPCC+turbo code. . . 36

3.2 Hybrid-ARQ system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3 Estimated number of bit errors versus actual number of bit errors for ablock of 2500 bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4 Mean of the soft output versus the percentage of bit errors for a block of2500 bits (RPCC+turbo code). . . . . . . . . . . . . . . . . . . . . . . . 40

3.5 Mean of the soft output versus the percentage of bit errors for a block of1024 bits (Turbo code). . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.6 Percentage of bits to request based on τ and the mean of soft output oferror packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.7 Percentage of bits to request based on τ and the mean of soft output oferror packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.8 Throughput for example RB-HARQ system using RPCC+turbo code. . . . . 43

3.9 RB-HARQ performance with RPCC+turbo code, 4 retransmissions of2.1% incremental redundancy each. . . . . . . . . . . . . . . . . . . . . 44

3.10 RB-HARQ performance for different retransmission schemes. . . . . . . . 45

3.11 RB-HARQ performance for different retransmission schemes. . . . . . . . 46

3.12 Throughput for conventional and RB-HARQ . . . . . . . . . . . . . . . . . 48

3.13 Packet error probability for various RB-HARQ schemes with rate adapta-tion and rate adaptation scheme without RB-HARQ. . . . . . . . . . . . 51

ix

Page 10: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

3.14 Total number of retransmission for various RB-HARQ schemes with rateadaptation and rate adaptation scheme without RB-HARQ. . . . . . . . . 52

3.15 Total number of retransmitted bits for various RB-HARQ schemes withrate adaptation and rate adaptation scheme without RB-HARQ (Afterthe first rate adaptation). . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.16 Throughput for various RB-HARQ schemes with rate adaptation and rateadaptation scheme without RB-HARQ. . . . . . . . . . . . . . . . . . . 53

4.1 CTC system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.2 Separate interleaving and encoding scheme . . . . . . . . . . . . . . . . . . 57

4.3 Packet error probability for different schemes (10% retransmission). . . . . 58

4.4 Packet error probability for different schemes (50% retransmission). . . . . 59

4.5 Upper bound of packet error probability for random-HARQ, normalinterleaving and encoding scheme . . . . . . . . . . . . . . . . . . . . . 60

4.6 Upper bound of packet error probability for random HARQ, separateinterleaving and encoding scheme . . . . . . . . . . . . . . . . . . . . . 60

4.7 Performance of punctured symmetric CTC with different initial rate . . . . 62

4.8 Performance of punctured symmetric CTC . . . . . . . . . . . . . . . . . . 62

4.9 Throughput efficiency of CTC and punctured turbo code with ARQ, fixednumber (5) of turbo decoder iterations. . . . . . . . . . . . . . . . . . . . 64

4.10 Throughput efficiency of CTC and punctured turbo code with ARQ. . . . . 64

4.11 Performance of punctured asymmetric CTC with different constituent code. 65

x

Page 11: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

Abstract of Dissertation Presented to the Graduate Schoolof the University of Florida in Partial Fulfillment of theRequirements for the Degree of Doctor of Philosophy

IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID ARQ

By

Han Jo Kim

December 2005

Chair: John M. SheaMajor Department: Electrical and Computer Engineering

We consider techniques to improve the performance of coded communication sys-

tems. Turbo codes have been shown to provide performance close to the channel capacity

for long block sizes. The performance of turbo codes can be improved through several dif-

ferent techniques including code concatenation, automatic repeat request (ARQ) and rate

adaptation. We first investigate techniques to evaluate the performance of turbo-like codes

and design better codes. Then, we identify techniques to further improve the performance

of turbo codes through code concatenation and hybrid ARQ. The performance of serial-

concatenated codes that utilize turbo code as inner codes and rectangular parity check code

(RPCC) as outer codes is investigated with reliability-based hybrid ARQ (RB-HARQ).

Also, we investigate the performance of turbo codes with RB-HARQ and rate adaptation.

The results show that these reliability-based hybrid ARQ techniques can provide signifi-

cant performance gains. Finally, we propose a new HARQ approach that has the potential

to reduce decoding complexity and increase performance at high signal-to-noise ratios.

xi

Page 12: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

CHAPTER 1INTRODUCTION

In this work, we consider two techniques to improve the performance of turbo codes.

In the first technique, we address the relatively high error floor of turbo codes by concate-

nating turbo codes with high-rate outer codes based on single parity-check codes. The

second technique uses hybrid ARQ to address decoding errors from both low-weight error

events and decoder nonconvergence. The hybrid ARQ techniques use reliability informa-

tion generated in the turbo decoding process to adapt the retransmission.

In Section 1.1, we introduce turbo codes and related concatenated coding schemes,

then briefly introduce techniques that we will use in this work for the design and analysis of

such codes. In Section 1.2, we introduce hybrid automatic repeat request (ARQ) schemes

and previous work on applying hybrid ARQ with turbo codes. Then we briefly discuss the

application of reliability-based hybrid ARQ (RB-HARQ) with turbo codes.

1.1 Improving The performance of Turbo-Like Codes Through Code Design

1.1.1 Turbo Codes

Parallel-concatenated convolutional codes (PCCCs), also known as turbo codes, were

first introduced by Berrou, Galvieux and Thitimajshima in 1993 [1] and have been shown

to offer near-capacity performance for large block sizes. This turbo code is constructed by

parallel concatenation of two or more convolutional constituent codes with an interleaver.

Encoder and decoder for rate 1/3 turbo code are illustrated in Figure 1.1.

One of the key advantages of turbo codes is that they can be decoded by a practical

decoding scheme for which the decoding complexity only grows linearly in the length

of the code. In general, the complexity of maximum-likelihood (ML) decoding grows

exponentially in the length of the code. For the turbo code, ML decoding is generally not

feasible, but performance close to the ML decoder is possible if the signal-to-noise ratio

1

Page 13: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

2

Recursive Convolutional

Code

Recursive Convolutional

Code

Interleaver

Encoder 1

Encoder 2

Information Bits

a)

b) Interleaver

Deinterleaver

Interleaver MAP

Decoder MAP Decoder Parity 1

Parity 2

Systematic Bits L 12

Decoder 1 Decoder 2

Decision

L 21

L 21

: Extrinsic Information from decoder 1 to decoder 2

: Extrinsic Information from decoder 2 to decoder 1

L 12

Figure 1.1: A rate 1/3 turbo code encoder and decoder.

is high enough by using an interative maximum a posteriori (MAP) decoder, as shown

in Figure 1.1b. This decoder iterates between decoders for the two constituent codes to

successively refine the estimate of the codeword. Each constituent decoder is typically a

variant of the BCJR MAP decoder for convolutional codes [2].

The performance of a turbo code with iterative decoding can be broken down into

three regions, as illustrated in Figure 1.2. At high Eb/N0, the performance of turbo codes

with iterative decoding is limited by low-weight error events [3]. This region is known as

the error-floor. Common constraints in communication systems such as low-complexity

constituent codes, small interleaver sizes, and a low number of decoder iterations result in

higher error probabilities in the error-floor region. In the nonconvergence region, which

Page 14: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

3

10-3

10-2

10-1

100

-1 -0.5 0 0.5 1 1.5 2 2.5 3

Simulation

Analysis

Pro

bab

ilit

y o

f B

lock

Err

or

Eb / N

0

Nonconvergenceregion

W aterfall region

Error-floorregion

Figure 1.2: Regions of convergence for turbo decoder.

occurs at very low Eb/N0, the decoder is almost never able to decode the block correctly.

In the waterfall region, which lies in between the nonconvergence and error-floor regions,

the decoder is only able to find the ML codeword some of the time. In the nonconvergence

and waterfall regions, the performance is not limited by the code, but rather by the failure

of the decoder to converge to the ML solution. This decoder failure is linked to fixed points

of the decoding algorithm [4, 5].

1.1.2 Turbo-Like Codes

Besides parallel concatenation of convolutional codes, many other ways to construct

turbo-like concatenated codes have been proposed. Here we refer to any concatenated

code that employs iterative decoding as a turbo-like code. Block turbo codes (BTCs) and

serial-concatenated convolutional codes (SCCCs) are well known examples of turbo-like

codes. Block turbo codes use block codes as constituent codes instead of convolutional

codes [6]. Typically the block codes are used to form a product code. However, we

note that the product code construction is equivalent to a parallel concatenated code with

rectangular interleaving on the information bits between two block encoders. Some of

the claims [7] for BTCs are that they can be constructed with a large minimum distance

Page 15: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

4

Information Bits

Interleaver Recursive Convolutional

Code

Recursive Convolutional

Code

Outer Encoder Inner Encoder

a)

Inner MAP

Decoder

b)

Interleaver

Deinterleaver

Outer MAP

Decoder

Extrinsic Information

Decision

Extrinsic Information

Figure 1.3: Serial-concatenated convolutional system a)encoder b)decoder.

from constituent codes of low complexity, and they offer a good compromise between

complexity and performance.

An alternative to using a parallel-concatenated code is to use a serial-concatenated

code. Serial-concatenated convolutional codes (SCCCs) were proposed by Benedetto et

al. [8]. The basic structure of the SCCC encoder and decoder is illustrated in Figure 1.3.

The primary advantage of SCCCs is that the serial concatenation generally results in high

minimum distances for the codes, and hence the slopes of the asymptotic error probabilities

(error floors) are much steeper. However the convergence of the decoder for SCCCs is

usually much worse than PCCCs, requiring a higher Eb/N0 to operate in the waterfall or

error-floor regions.

1.1.3 Concatenated Turbo Codes

Since the introduction of the original turbo code, several authors have made efforts to

improve the performance of turbo codes by using a turbo code as an inner code in a serial-

concatenated coding structure [9-15]. Some of the outer codes that have been considered

are BCH codes [9,11-14]and Reed-Solomon (RS) codes [10,15]. The primary purpose of

Page 16: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

5

the outer code is to correct the low-weight error events that are typically associated with

the error floor, thus improving the asymptotic error performance.

There are several disadvantages for using an outer code with an inner turbo code. To

avoid reducing the performance of the turbo code, the outer code must have high rate.

Let Eb/N0 denote the energy per information bit and Ec/N0 denote the energy per coded

bit. Then Ec = RcEb, where Rc is the rate of the overall concatenated code. In serial

concatenation of an inner code with an outer code, let the code rates for the outer and

inner codes be denoted by RO and RI , respectively. When the outer code rate is RO < 1,

the overall code rate will decrease and causes a decrease in the performance of the turbo

code. The reduction in Ec/N0 caused by the use of the outer code is referred to as the

rate penalty, which in dB is given by 10 log10 RO. We can employ high-rate BCH outer

codes and Reed-Solomon outer codes, but only at the expense of large block length. The

rate penalty can be reduced through selective concatenation [12, 13], which uses the outer

code only to protect some set of bits that are most likely in low-weight error patterns. An

additional disadvantage of these codes is that the soft-decision decoders for these codes

require significantly higher complexity than typical algebraic decoders of these codes.

Shea [16] proposed the use of a simple rectangular parity-check code (RPCC) as an

outer code with an inner turbo code. These codes have the benefits of high rate (low rate

penalty) and very simple soft-decision decoders. Shea [16] has shown that these codes

have sufficient error-correction capability to dramatically reduce the error floor. More de-

tailed discussion of these codes is deferred until Chapter 2.

1.1.4 Analysis of Turbo Codes

There are two effective techniques to analyze the performance of a concatenated cod-

ing system. One is error probability analysis based on the input-output weight enumerating

functions (IOWEFs) of the codes [17, 18]. Another is decoder convergence analysis using

density evolution [19-21] or EXIT carts [22, 23]. These latter techniques are based on

tracking the improvement of the extrinsic information across decoder iterations.

Page 17: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

6

In error probability analysis, the IOWEF for the turbo code is calculated from the

IOWEF for the recursive convolutional codes, which are in turn found by computer searches

or transfer function techniques [18]. Then the error probabilities can be calculated using

bounds. The most commonly used bound is the standard union bound. As in [18, 24], we

can approximate the bit error probability by

Pb ≈x∑

w=1

w

xWw ·Q

(√2dminREb

N0

)

·e(dminREb/N0 )APCw (Z, x) |

W=Z=e(−REb /N0) . (1.1)

Here, w is the input weight, x is the information block length, dmin is the minimum dis-

tance, R is the rate of the PCCC, and APCw (Z, x) is the conditional WEF of the PCCC. The

bounds generated in this way diverge around the cutoff rate. Here “cutoff rate” actually

refers to the minimum Eb/N0 that provides a cutoff rate greater than the code rate. As the

waterfall region for turbo codes may occur at Eb/N0 lower than the cutoff rate, the error

probability bounds are typically only useful for predicting performance in the error floor

region.

Density evolution [19-21] can be used to analyze the convergence of the decoder in

iterative soft-input, soft-output (SISO) decoding. In iterative decoding, the extrinsic infor-

mation of the decoder improves as the iterations progress. Density evolution can measure

this improvement quantitatively. In a coding system, if the interleaver is very large and

random, then the extrinsic information of the bits is approximately independent and iden-

tically distributed. We define the signal-to-noise ratio of the extrinsic information as SNR

= µ2/σ2, where µ and σ is mean and variance of the extrinsic information. At every iter-

ation, the input SNR of one decoder is equal to the output SNR of the other decoder. The

convergence of the decoder can be analyzed graphically by plotting the input and output

SNRs for the two decoders on a single graph.

Page 18: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

7

1.1.5 Design and Analysis of RPCC+Turbo Codes

We consider strategies to optimize the performance of serial-concatenated codes that

use turbo inner codes and RPCC outer codes. We refer to these as RPCC+turbo codes. We

first investigate the impact on the asymptotic performance (the error floor) of the choice

of turbo code. Then we use density evolution to investigate the effect of different turbo

codes on decoder convergence. Finally, we propose a strategy to adjust the relative energy

of the systematic and parity symbols in order to shape the density evolution curves. We

investigate the effects of these energy changes through density evolution and simulation.

1.2 Improving Turbo Codes Through Hybrid ARQ

1.2.1 Introduction to HARQ Schemes

Forward error correction (FEC) and automatic repeat request (ARQ) are two funda-

mental error-control techniques used in communication systems. Both error control tech-

niques have some drawbacks. A drawback of ARQ is that the throughput of the system

decreases rapidly as the channel error rate increases. In a FEC system, it is difficult to

achieve both high system reliability and high throughput. To avoid errors in decoding, a

low code rate may be required, which reduces throughput. To overcome the drawbacks of

these systems, hybrid ARQ (HARQ) is proposed by Burton and Sullivan [25] and Rocher

and Pickholtz [26]. Hybrid ARQ is combination of the two fundamental error-control tech-

niques. A HARQ scheme can provide higher reliability and throughput than either scheme

alone [27, 28]. Hybrid ARQ schemes can be divided into three categories: type-I, type-II

and type-III [28, 29].

These three types of HARQ are classified based on what kind of bits are requested,

retransmitted and decoded. When an uncorrectable error pattern is detected in the received

information, a type-I hybrid ARQ scheme discards the whole received packet and requests

retransmission of the same packet until successful decoding is accomplished [25, 26].

HARQ schemes based on the Viterbi algorithm and convolutional codes with sequential

decoding are introduced by Yamamoto and Itoh [30] and Drukarev and Costello Jr. [31],

Page 19: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

8

respectively. In type-II HARQ, when an error is detected, the original received informa-

tion packet is kept and a parity packet is requested. These two packets are used to do

error-correction decoding. If decoding still fails, the receiver requests either the original

information or parity packet depending on the retransmission strategy. This retransmitted

packet is combined with the previously received packet and then error-correction decoding

is performed again. These request and combine continues until successful decoding is ac-

complished [28]. All received packets are used for decoding in type-II HARQ but not in

type-I HARQ. Type-II HARQ is applied to systems using Reed-Solomon (RS) and Reed-

Muller (RM) by Pursley and Sandberg [32] and Wicker and Bartz [33, 34], respectively.

Hybrid ARQ with rate compatible punctured codes (RCPCs) based system is introduced

by Hagenauer [35]. Many type-II HARQ schemes are developed based on incremental

parity retransmission [36-38].

Type-III hybrid ARQ is a variation of type-II HARQ [29]. In type-III HARQ, a com-

plementary punctured convolutional (CPC) code is used to offer redundancy for correct

decoding. Every retransmission in type-III HARQ includes both data and parity bits. Uti-

lizing packet combining can improve the performance of type-II and type-III hybrid ARQ.

The HARQ scheme developed in this work utilizes incremental parity retransmission and

packet combining.

1.2.2 HyBrid ARQ with Turbo Codes

A hybrid ARQ scheme that uses a turbo code for FEC is proposed by Narayanan [38].

The RCPC-based hybrid ARQ scheme is extended to use rate compatible turbo codes

(RCPTs) by Rowitch and Milstein [39]. Optimization of the puncturing patterns for turbo

codes is described by Acikel and Ryan [40]. In Manta and Dschischang [41], a parity

spreading interleaver (PSI) is used to generate incremental parity, and a similar perfor-

mance to optimized puncturing is achieved at much lower complexity. Using a RS-turbo

serial-concatenated code with hybrid ARQ for a DS/SSMA data network is introduced by

Ji and Stark [42], and turbo trellis coded modulation (TTCM) with ARQ is proposed by

Page 20: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

9

Banerjee and Fuja [43]. A hybrid ARQ protocol based on viewing a PCCC as a punctured

SCCC is given by Wu and Valenti [44].

1.2.3 Reliability-Based Hybrid ARQ

The Reliability-based hybrid ARQ (RB-HARQ) is proposed by Shea [45]. The RB-

HARQ technique is motivated by an understanding of the limitations of iterative decoding

and can be used with codes that employ soft-input, soft-output (SISO) decoders (cf. [46]),

such as turbo codes and convolutional codes. SISO decoders typically accept estimates of

the a priori probabilities and output estimates of the a posteriori probabilities (APPs) for

the message bits. In RB-HARQ, the bits to be retransmitted are adaptively selected at the

receiver based on the estimated APPs. The RB-HARQ technique has been shown effective

in several scenarios [48-52]

1.2.4 Reliability-Based Hybrid ARQ with Turbo Codes

We consider strategies to optimize the performance of hybrid ARQ with turbo codes.

We investigate the impact of various retransmission schemes on the performance of RB-

HARQ with RPCC+turbo codes and turbo codes with no outer code. We also discuss a

technique to reduce the retransmission request overhead by using reliability information to

select only the amount of information to be retransmitted.

1.3 Outline

The rest of this work is organized as follows. In Chapter 2, we first investigate the

impact on the asymptotic performance (the error floor) of the choice of constituent code for

turbo code and RPCC+turbo codes. Then we use density evolution to investigate the effect

of different turbo codes on decoder convergence. Finally, we propose a strategy to adjust

the relative energy of the systematic and parity symbols in order to improve decoder con-

vergence. We investigate the effects of these energy changes through density evolution and

simulation. In Chapter 3, we consider the use of reliability-based hybrid ARQ with turbo

codes. We investigate the impact of various retransmission schemes on the performance of

RB-HARQ with RPCC+turbo code and turbo codes with no outer code. We compare the

Page 21: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

10

performance of a RB-HARQ that requests specific unreliable bits to a RB-HARQ scheme

that only requests a specific amount of information to be retransmitted. Finally, conclusions

and future work are discussed in Chapter 5.

Page 22: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

CHAPTER 2IMPROVING THE PERFORMANCE OF TURBO CODES THROUGH CODE DESIGN

In this chapter, we consider the analysis and design of concatenated rectangular parity-

check codes and turbo codes (RPCC+turbo codes) [16].

2.1 Introduction

Despite the near-capacity performance for large interleaver sizes, the performance of

turbo codes is limited by low information-weight error events at the output of the decoder.

These low-weight error events dominate the performance as the signal-to-noise ratio (SNR)

increases [3] and cause an error floor. One way to reduce the loss of performance caused

by these low-weight event is by selecting the interleaver carefully [3]. But even with the

use of designed interleavers, the performance of turbo codes at high SNRs is dominated by

these low-weight error events. As discussed in Chapter 1, another approach to solve this

problem is to serially concatenate a high-rate outer code with an inner turbo code. One

particularly attractive choice for the outer code is a rectangular parity check code (RPCC).

This approach is motivated by the fact that the dominant error events have low-weight.

By concatenating a RPCC in serial with a turbo code, the low-weight error events can

be corrected, and the packet error probability can be significantly improved [52]. In this

chapter, we consider strategies to optimize the performance of RPCC+turbo codes. We first

investigate the impact on the asymptotic performance (the error floor) of the choice of turbo

code. Then we use density evolution [19-21] to investigate the effect of different turbo

codes on decoder convergence. Finally, we propose a strategy to adjust the relative energy

of the systematic and parity symbols in order to shape the density evolution curves. We

investigate the effects of these energy changes through density evolution and simulation.

11

Page 23: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

12

Rectangular Parity Check Code (RPCC)

Turbo Code AWGN Channel

Interleaver RPCC+ Turbo decoder

Figure 2.1: Concatenated coding scheme with turbo inner code and rectangular paritycheck outer code.

2.2 System Model

Consider a packet communications system that uses the serially concatenated coding

scheme that has a rectangular parity check code (RPCC) as an outer code with a rate 1/3

turbo code as the inner code. The RPCC and turbo codes are separated by an interleaver.

This concatenated coding scheme is illustrated in Figure 2.1.

In this scheme, the RPCC is generated by placing the information bits into a rectan-

gular array and then calculating the even parity for both the row and the columns. For the

purpose of this work, we will always assume that the packet size in information bits is the

square of an integer, N2 bits, so the array used for calculating the parity is square. Then, the

number of parity bits is 2N (N bits each in the horizontal and vertical direction). So, the

rate of the RPCC code is N2/(N2 + 2N) = N/(N + 2). Obviously, as N becomes large,

the rate of the RPCC code becomes very high. The encoded packet is transmitted over

a channel using binary or quaternary phase-shift-keying (BPSK or QPSK). The received

symbols are corrupted with additive white Gaussian noise (AWGN). Both an iterative turbo

decoder [1, 53, 54] and an iterative RPCC decoder [2] are based on exchanging extrinsic

information between MAP [2] decoders. In this work, we use an extension of the turbo

decoding techniques described by Berrou [1] and the decoding techniques described by

Hagenauer [54] for rectangular parity-check codes in our decoding algorithm. We treat the

RPCC as a parallel concatenation of parity check codes, each defined by the parity check

bits along one dimension and all of the data bits. Each component code employs the SISO

decoding module suggested by Hagenauer [54].

There are several possible ways to exchange extrinsic information among the RPCC

decoder and the decoders for the constituent codes of the turbo code. In all that follows,

Page 24: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

13

we assume that extrinsic information from all of the other codes is used to decode a par-

ticular code. This form of decoding has been referred to as extended-serial (ES) decoding

[55] and generally provides the best performance of the extrinsic-information exchange

schemes. Each constituent decoder also uses intrinsic information from the channel mea-

surement, which remains unchanged in the decoding process. Before the intrinsic and

extrinsic information is operated on at each constituent decoder, the previous contribution

to the extrinsic information from that decoder is subtracted from the total extrinsic infor-

mation. The sum of the new extrinsic information and the extrinsic information from all of

the other decoders is the output of each constituent decoder. For each systematic bit, the

sum of the intrinsic information for that bit and the extrinsic information from all of the

constituent decoders forms the soft output of the entire decoder. Based on the signs of the

soft outputs, which are estimates of the a posteriori log-likelihood ratios, hard decisions

are made.

2.3 Weight Spectrum-Based Performance Analysis

As described by Divsalar [17] and Benedetto [18], the performance of concatenated

coding systems can be approximated through the use of their input-output weight enumerat-

ing functions (IOWEFs). The IOWEF for the turbo code is calculated from the IOWEF for

the recursive convolutional codes, which are in turn found by computer searches or transfer

function techniques [18]. In this work, the standard union bounds are used to calculate the

error probabilities. All of our analytical results are based on the uniform interleaver [18]

and maximum-likelihood (ML) decoding. Thus, the analytical results are valid for systems

which employs a random interleaver and for which the performance of the iterative decoder

is comparable to that of the ML decoder.

2.4 Code Design Based on Weight Spectrum-Based Analysis

The performance of concatenated coding systems can be approximated through the

use of their input-output weight enumerating functions (IOWEFs), as described by Di-

vsalar [17] and Benedetto [18]. The IOWEF for the recursive convolutional codes can

Page 25: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

14

be found using computer searches or transfer function techniques, and the IOWEF for

the turbo code can be calculated from these as described by Benedetto [18]. The er-

ror probabilities can then be calculated using bounds. In this work, we use the standard

union bounds. All of our analytical results are based on the uniform interleaver [18] and

maximum-likelihood (ML) decoding. Thus, the analytical results are valid for systems for

which random interleaving is used and for which the performance of the iterative decoder

is comparable to that of the ML decoder.

The low-order terms of the IOWEFs for RPCC can be found using combinatorics

provided the dimension of the code is small. As in Benedetto [18], let w denote the

number of bits input to the RPCC that have value 1. The IOWEF for the RPCC code is

AO(W,H) =∑

w,h Aw,hWwHh, where Aw,h denotes the number of codewords generated

by an input sequence of Hamming weight w that have a total Hamming weight (both parity

and systematic bits) of h. Define the conditional weight enumerating function (CWEF) of

the outer RPCC code given input weight w as AOw =

∑h Aw,hH

h. If w = 1, there will be

two parity bits with value 1, and the remaining parity bits will have value 0, resulting in a

total of three bits with value 1 at the output of the RPCC.

We have calculated the enumerations for several of the low weight codewords for the

RPCC. The terms that we include are usually sufficient for use in the union bound above

the cutoff rate. We include some bounds on the weight enumerations for terms with higher

weights. If a bound on the error probabilities is used that requires knowledge of many of

the terms in the IOWEF, then Monte-Carlo simulation can be used to estimate the IOWEF.

Let B denote the block size of the code (in information bits), and define the dimension

of the RPCC code as D =√

B. The coefficients for w = 2 and w = 3 are then given by

AO2 = 2D

(D

2

)H4 + 2

(D

2

)2

H6, and

AO3 = 4

(D

2

)2

H5 +

[2D

(D

3

)+

D(D − 1)D!

(D − 3)!

]H7 + 3!

(D

3

)2

H9.

Page 26: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

15

For w > 3, it becomes much more difficult to determine the CWEF. We use the following

techniques to bound the performance of the overall code. For input weight w, the number

of codewords with output weight 3w is(

Dw

)2w!. If w is not divisible by four, then the

minimum output weight is w + 2. Thus, for the purposes of our transfer function bound,

we develop an upper bound to the error probabilities by supposing that for w > 4, w is

not divisible by four, all of the codewords that do not have weight 3w have weight w + 2,

which yields the following approximation:

AOw ≈

(D

w

)2

w!H3w +

[(D2

w

)−

(D

w

)2

w!

]Hw+2, w > 4, w not divisible by 4.

For w = 4, we find that the number of codewords with output weight four is(

D2

)2,

and we use the following approximation to the CWEF,

AO4 =

(D

2

)2

H4 +

(D

4

)2

4!H12 +

[(D2

4

)−

(D

4

)2

4!−(

D

2

)2]

H6.

For w > 4, w divisible by four, we develop an upper bound to the error probabilities by

supposing the worst-case situation that all codewords that do no have output weight 3w

have output weight w. Thus, the CWEF for these cases is approximated by

AOw ≈

(D

w

)2

w!H3w +

[(D2

w

)−

(D

w

)2

w!

]Hw, w > 4, w divisible by 4.

Assuming that a uniform interleaver is used between the RPCC and the turbo code,

then the IOWEF of the overall serial concatenated code is given by Benedetto [56]

ACw,h =

B′∑

l=0

AOw,l × AI

l,h(B′l

) ,

where AIw,h denotes the IOWEF of the inner (turbo) code, and B′ denotes the block length

at the output of the outer (RPCC) code. The bit error probability is approximately

Pb ≈∑

w,h

wACw,h

BQ

(√2RC

Eb

N0

h

). (2.1)

Page 27: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

16

Similarly, the probability of block error is approximately

PB ≈∑

w,h

ACw,hQ

(√2RC

Eb

N0

h

). (2.2)

Equations (2.1) and (2.2) can be used to select a code based on its bit or block error

performance, respectively. However, there are two limitations to the use of these bounds.

First, these are union bounds, which diverge for SNRs less than the cutoff rate. Secondly,

the performance in the low SNR tends to be dominated by limitations of iterative decoding

more than the weight distribution of the code. In general, the union bounds only predict the

performance in the error-floor region, in which the decoder performance is almost equiv-

alent to the ML decoder. Thus, we can use (2.1) and (2.2) to select turbo codes for use

by themselves or as inner codes in RPCC+turbo codes based on their error-floor perfor-

mance. In what follows, we only consider only the block-error probability PB, which is

given by (2.2), because for most types of information that would be turbo-encoded, no bit

errors are acceptable in a packet.

We first consider the performance of codes with different memory orders. Typical

memory orders for turbo codes are 2, 3, or 4, which correspond to 4, 8, or 16 state con-

stituent codes, respectively. For each memory order, we consider several codes of different

designs that we believe would span the expected range of behavior of codes at that memory

order. For all of the results below, we illustrate the performance for a block size of 2500

information bits. The performance trade-offs may be different for different block sizes.

In this work, we use octal representations of generator polynomials in the form (feed-

forward polynomial, feedback polynomial). Thus, we refer to a turbo code that uses identi-

cal constituent codes with feedforward generator polynomial 1+D2 and feedback generator

polynomial 1 + D + D2 by a turbo code uses (5,7) constituent code. For memory-2, we

consider the typical (5,7) code, its inverse, the (7,5) code, and the (5,3) code. The (7,5)

code has a nonprimitive feedback polynomial, 1 + D2 = (1 + D)2, and the (5,3) code is a

big-numerator little denominator code [57]. We consider the use of these three codes by

Page 28: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

17

−1 −0.5 0 0.5 1 1.510

−12

10−10

10−8

10−6

10−4

10−2

100

Eb/N

0(dB)

Pro

babi

lity

of B

lock

Err

or

(5,3)Turbo(7,5)Turbo(5,7)Turbo(5,3)RPCC+Turbo(7,5)RPCC+Turbo(5,7)RPCC+Turbo

Figure 2.2: Performance of typical memory-2 turbo codes and RPCC+turbo codes.

themselves and as the inner code in an RPCC+turbo code. The block error probabilities

for these codes are illustrated in Fig. 2.2. The results show that the (5,7) code is the best to

use for either the turbo code or RPCC+turbo code. Note the huge performance difference

predicted for RPCC+turbo codes over conventional turbo codes. For instance, at 1.6 dB,

the best turbo code achieves PB ≈ 3 × 10−3, while the RPCC+turbo codes all achieve

PB < 10−6. This performance advantage increases with Eb/N0 for the RPCC+turbo codes

that use the (5,7) and (7,5) constituent codes because these codes have a steeper error floor.

For memory-3, we consider the (15,13) 3GPP turbo code, the (13,15) inverse of that

code, and the (13,17) code. The (13,17) code uses a nonprimitive feedback polynomial

1 + D + D2 + D3=(1 + D)3. The block error probabilities for these codes are illustrated

in Fig. 2.3. The (13,15) and (15,13) codes offer identical performance both in a turbo code

and in a RPCC+turbo code. The (13,17) turbo code is over an order of magnitude worse

in PB than turbo codes constructed from the other two codes. However, for RPCC+turbo

codes, the (13,17) code starts off worse at lower SNRs, but has a much steeper slope to the

error floor and thus a better asymptotic error performance.

Page 29: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

18

−1 0 1 2 3 410

−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/N

0(dB)

Pro

babi

lity

of B

lock

Err

or

(13,17)Turbo(13,15)Turbo(15,13)Turbo(13,17)RPCC+Turbo(13,15)RPCC+Turbo(15,13)RPCC+Turbo

Figure 2.3: Performance of typical memory-3 turbo codes and RPCC+turbo codes.

−1 0 1 2 3 410

−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/N

0(dB)

Pro

babi

lity

of B

lock

Err

or

(21,37)Turbo(37,22)Turbo(33,23)Turbo(21,37)RPCC+Turbo(37,22)RPCC+Turbo(33,23)RPCC+Turbo

Figure 2.4: Performance of typical memory-4 turbo codes and RPCC+turbo codes.

Page 30: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

19

For memory-4, we consider the (21,37) code used by Berrou and Glavieaux [1] in

the original turbo code papers, the (33,23) code which has been found to be a good code

by Divsalar and others [18, 24, 58, 59], and the (37,22) big-numerator little-denominator

code [57]. The (37,22) code has nonprimitive feedback polynomial 1+D3 = (1+D)(1+

D +D2). The block error probabilies for these codes are illustrated in Fig. 2.4. The results

show that over most values of Eb/N0 of interest, the codes based on the (33,23) code offer

the best performance. It is interesting to note how poor the performance of the Berrou code

is in comparison to the other codes of memory 4. For instance, the (21,37) Berrou turbo

code gives PB that is approximately three orders of magnitude higher than the (33,23) turbo

code. For very high values of Eb/N0, the (37,22) big-numerator little-denominator code

will offer the best performance because of its steep error floor.

Based on these results, if performance in the error-floor region is desired, we can select

the appropriate code based on the desired memory order (and hence decoder complexity).

The results in Fig. 2.5 illustrate the performance of the best codes for each memory order.

For the turbo code, each increase in memory order translates into over an order of magni-

tude improvement in the error floor. However, the the RPCC+turbo codes, the situation is

slightly different. At low Eb/N0, there is a huge gain from going to the (15,13) memory-

three code from the (5,7) memory-two code. However, the gain from going to the (33,23)

memory-four code is smaller. And interestingly, the (5,7) code has a much steeper error

floor region, which will eventually result in it providing lower PB at high Eb/N0.

Note that the worst of the RPCC+turbo codes still yields PB < 10−7 for Eb/N0 >

1.6 dB, which is sufficient for most applications and beyond the region that we can simulate

accurately. In most wireless applications, the code would be operated below 1.6 dB in

order to achieve higher energy efficiency. In this case, the performance will not necessarily

be accurately predicted by these error bounds. As Eb/N0 falls below the cutoff rate, the

performance becomes limited by the failure of the iterative turbo decoder to converge to a

codeword. In the next section, we investigate the effects of decoder convergence.

Page 31: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

20

−1 0 1 2 3 410

−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Eb/N

0(dB)

Pro

babi

lity

of B

lock

Err

or

(5,7)Turbo(5,7)RPCC+Turbo(15,13)Turbo(15,13)RPCC+Turbo(33,23)Turbo(33,23)RPCC+Turbo

Figure 2.5: Comparison of performance for best turbo codes and RPCC+turbo codes ofmemory 2, 3, and 4.

2.5 Density Evolution-Based Performance Analysis

In iterative soft-input soft-output (SISO) decoding, the limits of decoder convergence

can be predicted by density evolution. In iterative decoding, the extrinsic information

of the decoder improves as the iterations progress. Density evolution can measure this

improvement quantitatively. For example, the structure of a turbo decoder that has two

constituent convolutional decoders can be simplified as shown in Figure 2.6. Each turbo

decoder iteration consists of one decoding by constituent decoder 1 and one decoding by

constituent decoder 2. Each constituent decoding can be considered a half iteration [60].

The SNRs for the decoders at the half iterations are given by SNR1in, SNR1out, SNR2in,

SNR2out.

The convergence for the iterative decoding of two concatenated codes can be exam-

ined graphically by plotting SNRin versus SNRout curves for each constituent code. The

axes for the second code are switched so that the output SNR for decoder 1 (SNR1out) and

the output SNR for decoder 2 (SNR2in) are on the same axis. Since the output from con-

stituent decoder 1 serves as the input to constituent decode 2 and vice versa, this approach

Page 32: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

21

Decoder 1

Decoder 2

Use actual density evolution or Gaussian

Approximation to generate input

From Channel E

b /N

0

SNR1 out

SNR1 in

SNR2 in

SNR2 out

Figure 2.6: Iterative turbo decoder.

puts the output SNR for one half iteration on the same axis as the input SNR for the next

half iteration.

In this work, to remove the effects of finite interleaver size and the use of a partic-

ular interleaver, the output from one decoder is not used directly at the input of the next

decoder. Instead, we either use the actual density evolution approach [60] or the Gaus-

sian approximation approach to generate the input to the next decoder according to that

density. In the actual density evolution approach, the probability density of the extrinsic

information at the output of a decoder is experimentally determined and used to generate

input.

If we assume that the interleaver used in the scheme is very large and random, then the

extrinsic information of the bits is approximately independent and identically distributed.

Let L denote the extrinsic information for a particular bit. The probability density func-

tion f(L) of the extrinsic information is symmetric [20], i.e., L= log[f(L)/f(−L)].

For turbo and turbo-like code, the probability density function f(Lin) and f(Lout) can be

approximated by a Gaussian probability density function [61,62]. When the Gaussian ap-

proximation is applied to the density function, there are only two parameters, the mean µ

and the variance σ2, required to specify the density of the extrinsic information. We define

the signal-to-noise ratio as

Page 33: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

22

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

1

2

3

4

5

6

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

Gaussian approximation Actual density

1st iteration

2nd iteration

3rd iteration

4th iteration

5th iteration

tunnel

Figure 2.7: (5,7) turbo code density evolution.

SNR = µ2/σ2 . (2.3)

If f(L) is both Gaussian and symmetric, then variance can be expressed as σ2 = 2µ,

which means that the SNR can be specified in terms of one parameter as SNR = µ/2 [60].

However, the true density function, f(L), is not a perfect Gaussian. So, this expression for

the SNR does not exactly match that given by (2.3). The results from both formulas show

slightly different performance and the second formula (enforcing the symmetric condition

with the Gaussian approximation in the definition of SNR) gives a slightly better prediction

of decoder convergence [60].

For the actual density approach, the rejection method is used to generate the input

extrinsic information according to the empirically determined density from the previous

half iteration, and for the Gaussian approximation, the symmetric condition is applied to

generate the input extrinsic information according to the mean µ from the previous half

iteration.

Page 34: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

23

The results in Figure 2.7 illustrate the SNR progress of the decoder’s iterations for

a turbo code that uses identical (5,7) constituent code. The results shown in Figure 2.7

are for Eb/N0 = 0.5dB. The SNR improvement at each half iteration follows a stair-step

pattern that follows the “tunnel” between the two curves. If the two curves have a long

narrow tunnel and a short distance between the two curves, then the decoder needs many

iterations to escape from the tunnel. This means that the convergence rate of the iterative

decoder is slow. A larger distance between the two curves and a short, wide tunnel means

that the convergence of the decoder is fast. The starting point of the upper curve, which

corresponds to SNR1in = 0 changes with Eb/N0. For low Eb/N0, the starting point will

have a smaller value. We can determine the iterative decoding threshold by decreasing

Eb/N0 until the two curves touch.

A comparison between two different turbo codes at Eb/N0 = 0.5dB is shown in

Figure 2.8. The turbo code that uses the (15,13) constituent code has a wider tunnel than

the turbo code that uses the (5,7) constituent code. From this observation, we can predict

that the turbo code that uses (15,13) constituent code will have better convergence than the

turbo code that is based on the (5,7) constituent code.

2.6 Code Design Based on Density Evolution-Based Analysis

As shown by Divsalar and Dolinar [60], density evolution can be used to design codes

based on convergence behavior. By choosing codes that have better decoder convergence,

the waterfall region in the error probability curves can be moved to the left (lower Eb/N0).

Thus, as long as the codes designed via density evolution do not have high error floors, the

codes designed in this way can be used effectively at lower Eb/N0.

In this section, we apply density evolution to two code design issues for the RPCC+turbo

code. In Section 2.6.1, we investigate the effect on decoder convergence of choosing dif-

ferent constituent codes for the inner turbo code. In Section 2.6.2, we investigate the

effects of using unequal energies for the systematic and parity symbols of the RPCC+turbo

codes.

Page 35: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

24

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

1

2

3

4

5

6

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(5,7) Turbo Code

(15,13) Turbo Code

Gaussian Approx.

Actual density x

Gaussian Approx. Actual density O

Figure 2.8: Decoder convergence comparison between (5,7) and (15,13) turbo code.

Figure 2.9: Decoder of RPCC+turbo code.

2.6.1 Analysis on Effect of Different Constituent Code for Inner Turbo Code

Consider the RPCC+turbo decoder illustrated in Figure 2.9. As in Section 2.5, we

can simplify this decoder structure, as shown in Figure 2.10. Here we have grouped the

decoders for the constituent parity check codes into a single RPCC decoder block and

combined this block with the second constituent decoder into a single decoder block. Af-

ter making these simplifications, the system is reduced to two sets of input- and output-

extrinsic information. SNR1in, SNR1out are at the decoder of constituent convolutional

Page 36: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

25

Decoder for Constituent

Convolutional Code 1

Use actual density evolution or Gaussian

Approximation to generate input

From Channel E

b /N

0

SNR1 out

SNR2 in

SNR1 in

SNR2 out

Decoder for Constituent

Convolutional Code 2 and RPCC

Figure 2.10: RPCC+turbo decoder.

code 1 and SNR2in, SNR2out are at the decoder of constituent convolutional code 2 and

RPCC.

Figure 2.11 graphically illustrates the decoder convergence of RPCC+turbo code ver-

sus using only a turbo code based on density evolution at Eb/N0 = 0.5dB. The rate

1/3 turbo code with constituent code (15,13) is used. The block size is 2500 informa-

tion bits, and the rate for the RPCC+turbo code is 0.3205. As the iterations increase, the

RPCC+turbo shows a much wider gap between the two curves than the conventional turbo

code. From this result, we can say serially concatenated turbo code with RPCC has much

faster convergence than the turbo code. Shea et al. [16,53,64-66] has shown that the

concatenated codes performs better than turbo only code.

To investigate the effect of different constituent codes on decoder convergence of the

RPCC+turbo code, we select several different codes for memory 2, 3, and 4. For memory-

2 codes, (5,7), (7,5) and (5,3) are selected. The (15,13), (13,15), and (13,17) codes are

selected for memory-3. We choose (21,37), (33,23), and (37,22) memory-4 code. Also,

(33,31) code, which was presented in [66,67], is selected. In this section, Eb/N0 is 0.5dB

and the rate of code is 0.3205 and the block size is 2500 information bits.

The density evolution curves for the memory-2 codes are illustrated in Figure 2.12.

The two curves for the (5,3) code cross each other, and the (5,7) code shows a wider gap

Page 37: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

26

0 1 2 3 4 5 6 7 8 90

1

2

3

4

5

6

7

8

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

Turbo Code RPCC+TC

Figure 2.11: Decoder convergence comparison between turbo code and RPCC+turbo code(constituent code (15,13)).

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(5,3) (5,7) (7,5)

Figure 2.12: Decoder convergence comparison for memory-2 codes (constituent code (5,7),(7,5) and (5,3)).

Page 38: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

27

2 4 6 8 10 12 14 16

10−1

100

Iteration

Pac

ket E

rror

Pro

babi

lity

(5,7)(7,5)

Figure 2.13: Block error probability vs iterations for memory-2 codes (constituent code(5,7) and (7,5)).

than the (7,5) code at high iterations. Thus, the RPCC+turbo code that has (5,7) constituent

code will have faster convergence. This expectation is confirmed by Figure 2.13. Figure

2.13 illustrates packet error probability as a function of decoder iteration for the (5,7) and

(7,5) codes at Eb/N0 = 0.5 dB. In this result, the (5,7) code shows a faster decrease in

packet error probability than the (7,5) code as the number of iterations is increased.

The results in Figure 2.14 illustrate the decoder convergence for the memory-3 codes.

The results show that all three codes have almost identical curves. But we can observe that

the SNRs of the (13,17) code grow a little bit faster than those of the (15,13) and (13,15)

codes. The convergence of the RPCC+turbo code that has (13,17) constituent codes will be

little bit faster than the other codes. This expectation is confirmed by Figure 2.15 which

illustrates packet error probability as a function of decoder iteration for the (13,17) and

(15,13) codes at Eb/N0 = 0.5 dB. In this result, the (13,17) code shows a much faster

decrease in packet error probability than the (15,13) code as the number of iterations is

increased.

Page 39: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

28

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(13,15) (13,17) (15,13)

Figure 2.14: Decoder convergence comparison for memory-3 codes (constituent code(15,13), (13,15), and (13,17)).

2 4 6 8 10 12 14 16

10−2

10−1

100

Iteration

Pac

ket E

rror

Pro

babi

lity

(13,17)(15,13)

Figure 2.15: Block error probability vs iterations for memory-3 codes (constituent code(15,13) and (13,17)).

Page 40: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

29

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(21,37) (37,22) (33,23) (33,31)

Figure 2.16: Decoder convergence comparison for memory-4 codes (constituent code(21,37), (33,23), (37,22), and (33,31)).

2 4 6 8 10 12 14 16

10−2

10−1

100

Iteration

Pac

ket E

rror

Pro

babi

lity

(33,23)(37,22)

Figure 2.17: Block error probability vs iterations for memory-4 codes (constituent code(37,22) and (33,23)).

Page 41: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

30

0 1 2 3 4 5 6 70

1

2

3

4

5

6

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(5,7) (13,17) (37,22)

Figure 2.18: Decoder convergence comparison for constituent code (5,7),(13,17), and(37,22).

2 4 6 8 10 12 1410

−3

10−2

10−1

100

Iteration

Pac

ket E

rror

Pro

babi

lity

(5,7)(7,5)(13,17)(15,13)(33,23)(37,22)

Figure 2.19: Block error probability vs iterations for various constituent codes

Page 42: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

31

The density evolution curves for the memory-4 codes are illustrated in Figure 2.16.

For all four codes, the neck of the tunnels are almost identical and the tunnel widths are

little different. The (37,22) and (33,31) codes show early escape from the neck of the tunnel

and the SNR improvements are better than others. The RPCC+turbo codes that have these

constituent codes will have faster decoder convergence. This expectation is confirmed by

Figure 2.17 which illustrates packet error probability as a function of decoder iteration for

the (37,22) and (33,23) codes. In this result, the (37,22) code shows a much faster decrease

in packet error probability than the (33,23) code as the number of iterations is increased.

We can determine the optimal code among the tested codes by comparing decoder

convergence of the (5,7), (13,17), and (37,22) codes, which have the fastest decoder con-

vergence for memory 2, 3, and 4, respectively. Also we can observe the effects of state

complexity on decoder convergence. The results are illustrated in Figure 2.18. Clearly, the

(37,22) code has a much wider SNR gap than the (5,7) and (13,17) codes. From these re-

sults, we expect that the convergence of the RPCC+turbo code that uses (37,22) constituent

codes will be faster than other codes. Figure 2.15 illustrates packet error probability as a

function of decoder iteration for the (5,7), (13,17), and (37,22) codes. The (37,22) code

perform better than (5,7) and (13,17) codes. From this results, we can confirm and validate

our analysis.

2.6.2 Analysis on Effect of Unequal Energy for Systematic and Parity Symbols

In this section, we investigate the effects of using unequal energies for the systematic

and parity symbols of the RPCC+turbo codes. If we can broaden the tunnel at a con-

stant Eb/N0, convergence of the decoder will be improved.We investigate the affects of

redistributing the energy between the systematic and parity bits of the turbo code. The

presence of systematic bits has been shown to be important to convergence of turbo codes.

Thus, allocating more energy to the systematic bits may improve the turbo decoder con-

vergence at the expense of increasing the error floor from low-weight error events. If the

Page 43: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

32

turbo code is used as the inner code with an outer RCPC code, the outer code can cor-

rect many low-weight error events. Thus, overall, the RPCC+turbo code may benefit from

the improvement in decoder convergence. As described in Section 2.5, the starting point

of the curve corresponding to SNR1out, SNR2in in the density evolution analysis is de-

pendent on Eb/N0. We apply two differen approach to applying ρ under constant overall

Eb/N0 (ebno). First method (denoted as ρ in figures) is modifying Eb/N0 for system-

atic and both parity bits (esno, ep1no, ep2no). Eb/N0 for systematic bits is calculated as

esno = 3 × ebno/(1 + 2ρ) and Eb/N0 for both parity bits are ρ × esno. Second method

(denoted as ρ1 in figures) is modifying Eb/N0 for systematic and parity bits from encoder

1 only. Eb/N0 for parity bits from encoder 2 is remained the same (ep2no = ebno). Eb/N0

for systematic bits is calculated as esno = 2 × ebno/(1 + ρ). Eb/N0 for parity bits from

encoder 1 are ep1no = ρ× esno.

The results in Figure 2.20 illustrate the decoder convergence of the first method for

different value of ρ. From the results, we can observe the change in starting point of the

SNR1out, SNR2in curve and the curvature of the SNR1in, SNR2out curve. The neck of the

tunnel is about the same for each value of ρ and the tunnel widths show little difference.

At the first three iterations, the SNR for ρ=0.6 shows higher values due to the high stating

point; however, after four iterations the SNR of ρ=1 (i.e., uniform energy allocation) passes

the SNR of ρ=0.6. We find that the SNR of ρ=1.4 shows the worst performance because its

SNR tunnel is the narrowest.

The results in Figure 2.21 illustrate the decoder convergence of the second method for

different ρ. From the results, we can observe the change in starting point of the SNR1out,

SNR2in curve. There is little change in the SNR1in, SNR2out curve. This is expected, as the

energy allocation for the second set of parity symbols is not changed and the energy from

the systematic bits is included in the first code’s SNR. The neck of the tunnel is changed

due to the starting point, and the tunnel widths are changed due to the slope of the SNR1out,

SNR2in curve. At the first two iterations, the SNR for ρ=0.6 shows a higher value due to

Page 44: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

33

0 1 2 3 4 5 60

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(13,17) (13,17) ρ=0.6 (13,17) ρ=1.4

Figure 2.20: Decoder convergence comparison for first energy allocation method for dif-ferent ρ (constituent code (13,17)).

the high stating point; however, after two iterations the SNR for ρ=1 (i.e., uniform energy

allocation), passes the SNR for ρ=0.6. Also, the SNR for ρ=1.4 is almost the same as the

SNR for ρ=0.6 after three iterations.

The results in Figure 2.22 illustrate the comparison of decoder convergence for both

methods. From the results, we can observe the changes in starting point of the SNR1out,

SNR2in curve for both methods; however, the tunnel widths are about the same. The

improvement of the SNR for the original scheme (same Eb/N0 for all bits) are faster than

the two modifyed schemes. This is due to the lack of changes in tunnel neck size and width.

Page 45: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

34

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5

2

2.5

3

3.5

4

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(13,17) (13,17) ρ1=0.6 (13,17) ρ1=1.4

Figure 2.21: Decoder convergence comparison for second energy allocation method fordifferent ρ1 (constituent code (13,17)).

0 1 2 3 4 5 60

1

2

3

4

5

6

SNR1in

,SNR2out

SN

R1 ou

t,SN

R2 in

(13,17) (13,17) ρ=0.6 (13,17) ρ1=0.6

Figure 2.22: Decoder convergence comparison for ρ = 0.6 (constituent code (13,17)).

Page 46: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

CHAPTER 3IMPROVING THE PERFORMANCE OF TURBO CODES THROUGH HARQ

In this chapter, we consider strategies to optimize the performance of reliability-based

hybrid ARQ (RB-HARQ) with turbo codes. We investigate the impact of various retrans-

mission schemes on performance of RB-HARQ with RPCC+turbo codes. We also discuss

a technique to reduce the retransmission request overhead by only adapting the amount of

information to be retransmitted based on reliability information.

3.1 Introduction

Soft-input, soft-output (SISO) decoders [46] can be used with many modern error-

control coding schemes. These decoders typically accept estimates of the a priori proba-

bilities and output estimates of the a posteriori probabilities (APPs) for the message bits.

For the class of codes on graphs, suboptimal iterative decoding schemes are used that ap-

proximate an APP decoder. In this chapter, we present results for RPCC+turbo codes and

turbo codes without an outer code, but the proposed techniques can be used with many

other codes. The RPCC+turbo code has an extremely low error floor, so the performance

is limited by the failure of the decoder to converge to the maximum-likelihood (ML) solu-

tion. Decoder convergence can be improved if additional information is provided for some

subset of bits for which the decoder produces poor estimates. The RB-HARQ scheme that

we propose provides additional information for the bits that are determined to be unreliable

in the iterative decoding process.

The RB-HARQ technique is motivated by an understanding of the limitations of it-

erative decoding. When the iterative decoder converges to a fixed point, the decoder has

usually found soft-decision values with the correct signs for the majority of the informa-

tion bits but has also failed to find soft-decision values with the correct signs for many other

information bits. The bits that have soft-decision values with the incorrect signs result in

35

Page 47: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

36

0 500 1000 1500 2000 25000

0.1

0.2

0.3

0.4

0.5

Bit reliability (0=least reliable)

Pro

babi

lity

bit i

s in

err

or

Eb/N

0 = 1 dB

Eb/N

0 = 0 dB

Figure 3.1: Probability of bit error by reliability rank for rate 1/3 RPCC+turbo code.

errors at the decoder output. Thus, the fixed points of the decoding algorithm are linked to

these bits that produce errors at the output of the decoder. If better information is obtained

for these bits, then decoder will generally converge to the ML solution. We refer to the set

of bits that prevents the convergence of the iterative decoder as weak bits.

We show that the iterative decoder can accurately identify some of the weak bits. Con-

sider a block of 2500 information bits encoded by RPCC+turbo code for transmission over

an AWGN channel. For the purposes of this work, we assume that log-APP decoders are

used in which log-likelihood ratios are used at the input and output of the SISO decoders.

For each error packet, rank the bits at the output of the turbo decoder by the magnitude of

their soft output. The bit with the smallest soft output is considered the least reliable (0),

and the bit with the largest soft output is considered most reliable (2499). The probability

of error for each bit by rank is illustrated in Figure 3.1. These results indicate that the least

reliable bits correspond to errors about 50% of the time, while very reliable bits are rarely

in error.

Thus, the bits that have small log-APPs are likely to be weak bits. The log-APPs

consist of intrinsic and extrinsic information that is used in the iterative decoding process.

Page 48: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

37

DS

SourceRadio Data Channel

DestinationRadio

ACK Channel

Figure 3.2: Hybrid-ARQ system.

The intrinsic and extrinsic information is the input to the SISO decoders. Thus, the decoder

may converge if additional information can be used to improve upon the soft-decision

estimates for the unreliable bits. In this chapter, we provide additional information by

retransmissions in a hybrid-ARQ scheme. This ARQ technique is significantly different

from the common technique of puncturing the turbo code to increasingly higher rates and

then sending subsets of the punctured bits in response to incremental redundancy requests

(see, for example, [67]). RB-HARQ directly attacks the problem of decoder convergence

that will be the primary performance limitation in future systems that employ iterative

decoding.

3.2 System Model

Consider the system illustrated in Figure 3.2. The source radio S and the destination

radio D are linked by a data channel, through which a packet of information is to be deliv-

ered from S to D. We assume that there is a highly reliable link from D back to S that has

a high capacity and that can be used for a special large retransmission request packet. This

channel is labeled ACK Channel in Figure 3.2. Initially, S sends a packet of coded bits to

D, and D attempts to decode the message. If the packet fails to decode correctly then a

retransmission request is sent to S.

For the RB-HARQ scheme considered in Section 3.3, the retransmission request con-

tains a list of the least-reliable information bits, based on the log-APPs. S then retransmits

the set of requested information bits. For the scheme that is considered in Section 3.4,

if the first decoding attempt fails, Es/N0 is estimated by a look-up table that contains the

average magnitude of the soft output of error packets at a certain Es/N0 and rate. Based

Page 49: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

38

on this estimated Es/N0, a target rate is selected from a table to adjust the code rate. The

target rate is the highest rate that has packet error probability close to zero. If decoding still

fails despite the rate adaptation, then RB-HARQ is performed. If the transmitted code rate

is already less than or equal to the target rate, then the rate adaptation process is skipped

and RB-HARQ is performed directly.

For the schemes in both Section 3.3 and Section 3.4, the only coding that we consider

for the bits retransmitted under RB-HARQ is repetition. Noisy versions of the retransmit-

ted bits are received at S, and the log-likelihood ratios for the retransmitted symbols are

added to the log-likelihood ratios for those symbols from previous transmissions. All of

the symbols on the Data Channel are transmitted using binary antipodal modulation over

an additive white Gaussian noise channel, and the receiver uses a coherent matched-filter

demodulator.

For the results presented in this chapter, two different techniques are used for selecting

the number of bits to be retransmitted. In the first scheme, each retransmission consists of

a fixed number of bits. In the second scheme, the number of bits to be retransmitted is

selected based on the statistics of the received packet. The number of bit errors in the

packet can be estimated by log-likelihood ratios (LLRs). The error probability for each bit

is approximately

Pbk≈ 1−max

(1

eL(uk)+1,

eL(uk)

eL(uk)+1

), (3.1)

where L(uk) is the LLR for the kth bit. If we know Pbkexactly, then the average number

of bit errors can be estimated as

E[# of bit errors] ≈N∑

k=1

(1−max

(1

eL(uk)+1,

eL(uk)

eL(uk)+1

)). (3.2)

Figure 3.3 illustrates the comparison of actual and estimated number of bit errors in

packets of 2500 information bits for signal energy-to-noise density ratios, Es/N0, from -5

dB to -4 dB for 5 and 10 iterations. From the results in Figure 3.3, the estimated number

Page 50: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

39

0 50 100 150 200 250 300 350 400 450 5000

50

100

150

200

250

300

350

400

450

500

Actual Number of bits in Error

Est

imat

ed N

umbe

r of

bits

in E

rror

5 iterations10 iteration

Es/N

0 = −5 ~ −4dB

Figure 3.3: Estimated number of bit errors versus actual number of bit errors for a block of2500 bits.

of bit errors from equation 3.2 can be utilized as a good indicator of how many bit errors

are in the packet.

As an alternative, the average value of the magnitude of the a posteriori log-likelihood

ratios at the output of the decoder [68] is also a simple and good indicator of how many

bits are in error in the packet. The magnitude of the soft output is an indication of the

reliability of the hard decision [54]. Consider a system that uses the RPCC+turbo code

with information length of 2500 bits and turbo code with information length of 1024 bits.

In Figure 3.4, the mean of the soft output of the decoder is plotted as a function of the

percentage of bit errors in the packet for various values of the bit energy-to-noise density

ratio Eb/N0 and various numbers of decoder iterations. For the small range of signal-to-

noise ratios we consider, the relation between the mean of the soft output and the number

of errors is not affected much by the value of Eb/N0 or the number of iterations. In Figure

3.5, the mean of the soft output of the decoder is plotted as a function of the percentage

of bit errors in the packet for the signal energy-to-noise density ratio Es/N0 from −6dB

to 5dB for 12 decoder iterations. For the range of signal-to-noise ratios we consider, the

Page 51: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

40

0 2 4 6 8 10 12 14 160

5

10

15

20

25

Percentage of Bits in Error

Mea

n of

the

Sof

t Out

put

reference line5 iterations, 0.4dB10 iterations,0.4dB20 iterations,0.4dB5 iterations, 0.2dB10 iterations,0.2dB5 iterations,0.1dB10 iterations, 0.1dB20 iterations,0.1dB

Figure 3.4: Mean of the soft output versus the percentage of bit errors for a block of 2500bits (RPCC+turbo code).

0 5 10 15 20 25 300

5

10

15

20

25

30

35

Percentage of Bits in Error

Mea

n of

the

Sof

t Out

put

reference linerate 8/9rate 4/5rate 8/11rate 2/3rate 8/13rate 4/7rate 8/15rate 1/2rate 8/17rate 4/9rate 8/19rate 2/5rate 8/21rate 4/11rate 8/23rate 1/3

Figure 3.5: Mean of the soft output versus the percentage of bit errors for a block of 1024bits (Turbo code).

Page 52: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

41

2 4 6 8 10 12 14 160

5

10

15

20

25

30

35

40

Per

cent

age

of B

its to

Ret

rans

mit

Mean of the Soft Output

τ = 2

τ = 1

τ = 2.5

Figure 3.6: Percentage of bits to request based on τ and the mean of soft output of errorpacket.

relation between the mean of the soft output and the number of errors is not affected much

by the value of Es/N0 and rate. Thus, for the results presented in this work, we will use

the curve labelled “reference line” as an indication of the relation between the mean of the

soft output and the percentage of bit errors.

The number of bit errors is an indication of how much additional information is needed

for the packet to be decoded correctly. Thus, we can use the mean of the soft output as an

indication of how many bits should be retransmitted. If a packet is in error after a specified

number of decoder iterations, the average value of the soft outputs of the decoder will be

determined. The reference lines in Figure 3.4 and Figure 3.5 will be used to determine an

estimate of the number of bit errors in the packet. Denote this estimate as Nr. In order to

introduce additional flexibility into our ARQ scheme, the number of bits to be retransmitted

will be equal to τNr, where τ is a parameter that is selected to improve the performance

of RB-HARQ with variable retransmission size. The results in Figure 3.6 illustrate the

percentage of bits that will be retransmitted as a function of the average value of the soft

decoder output for various values of τ . For implementation purposes, we can approximate

Page 53: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

42

0 5 10 15 20 250

10

20

30

40

50

60

Mean of the Soft Output

Per

cent

age

of B

its to

Ret

rans

mit

τ = 1

τ = 2

Figure 3.7: Percentage of bits to request based on τ and the mean of soft output of errorpacket.

the reference lines by fitting simple curves to the reference lines.The results in Figure 3.7

illustrate the percentage of bits that will be retransmitted as a function of the average value

of the soft decoder output for various values of τ based on the curve-fitting reference line.

3.3 RB-HARQ with Various Retransmission Schemes

In this section, the codes used for the initial transmission from D to S are RPCC+turbo

codes [16, 52, 63]. The inner turbo code has the same constituent convolutional codes as

the rate 1/3 3GPP turbo codes [64, 65]. The block sizes are 900 and 2500 information bits

and the rates of the corresponding RPCC+turbo codes are 0.3125 and 0.3205, respectively.

When puncturing is used with this code, parity bits are punctured in a simple, regular pat-

tern that has not been optimized for this particular code, and the interleavers are generated

randomly.

3.3.1 RB-HARQ with Fixed Retransmission Size

We first consider the performance of the proposed RB-HARQ technique with a fixed

retransmission size. Our first measure of the performance of this scheme is the throughput

relative to the channel capacity. The results in Figure 3.8 illustrate the throughputs that

Page 54: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

43

0

0.2

0.4

0.6

0.8

1

-8 -6 -4 -2 0 2 4 6

Thr

ou

ghp

ut

Es / N

0

Rate 1/3 code

Rate 1/2 code

Rate 2/3 code

Rate 9/10 codeChannelCapacity

Figure 3.8: Throughput for example RB-HARQ system using RPCC+turbo code.

can be achieved using RB-HARQ. The code rates in Figure 3.8 refer to the initial rate of

transmission for the code. These initial rates are achieved by puncturing the parity bits at

the output of the turbo encoder. After 10 iterations, if the packet has not decoded correctly,

then the 60 message bits that have the smallest soft-outputs are retransmitted. This process

is repeated up to 50 times. The results show that RB-HARQ can achieve performance

within 0.5 dB to 1.0 dB of capacity for −8 dB< Es/N0 < 3 dB if the initial code rate is

selected properly or if a rate-compatible punctured turbo code with only a few code rates

is used.

We consider a more practical scenario in which only 4 retransmissions are allowed

with 10 iterations between retransmissions. The block length is 900 information bits, and

each retransmission contains Ns systematic bits, each of which is repeated r times, such

that rNs = 60. Thus each retransmission consists of 60 channel symbols for BPSK mod-

ulation and amounts to approximately 2.1% incremental redundancy. The retransmissions

effectively reduce the rate of the code and hence increase Eb/N0 at the receiver. We ac-

count for this additional received energy by defining the effective Eb/N0 as the average

Page 55: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

44

10-3

10-2

10-1

100

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

No ARQ10x620x330x260x1

Pro

bab

ilit

y o

f B

lock

Err

or

Effective Eb / N

0

Figure 3.9: RB-HARQ performance with RPCC+turbo code, 4 retransmissions of 2.1%incremental redundancy each.

Eb/N0 at the receiver, taking into account the average number of incremental redundancy

transmissions per packet. We note that the comparison is not completely fair because we

are not accounting for the energy transmitted from D to S in the retransmission requests,

and the code rate after retransmissions may be as low as 0.288.

The results in Figure 3.9 illustrate the packet error probability for RB-HARQ applied

to a system that uses the RPCC+turbo code. The code is unpunctured and thus has initial

rate 0.3125. The channel is an AWGN channel. The results show that to achieve a packet

error probability less than 10−2, the ARQ schemes that retransmit 60 bits with no repetition

or 30 bits with repetition 2 require approximately 0.5 dB lower Eb/N0 than the same sys-

tem with no ARQ. This is a significant improvement, and it was achieved without optimiz-

ing the initial code or the number of bits that are retransmitted. Furthermore, the weakest

possible coding (repetition coding) was used on the retransmissions. The sphere-packing

bound indicates that Eb/N0 > 0 dB is required to achieve a packet error probability of

10−3 at the code rate corresponding to the maximum number of retransmissions. Thus, the

Page 56: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

45

0.1 0.15 0.2 0.25 0.3 0.35 0.410

−3

10−2

10−1

100

Effective Eb/N

0

Pac

ket E

rror

Pro

babi

lity

no ARQfixed, 100 bitsfixed, 200 bitsfixed, 400 bitsvariable, τ=1variable, τ=2variable, τ=2.5

Figure 3.10: RB-HARQ performance for different retransmission schemes.

proposed technique is able to reduce the distance to the sphere packing bound from greater

than 1 dB to less than 0.5 dB.

3.3.2 RB-HARQ with Various Retransmission Size

In this section, we consider the performance of RB-HARQ with variable retransmis-

sion size. The number of bits that will be retransmitted depends on the LLRs of the packet

or the average value of the soft outputs of the decoder, as described in Section 3.2. We

consider a block length of 2500 information bits and allow only two retransmissions with

five iterations between retransmissions. We compare the performance for fixed and vari-

able retransmission sizes. For the fixed retransmission size, each retransmission consists

of either 100, 200, or 400 systematic bits with no repetition allowed. Thus each retransmis-

sion results in increased redundancy of approximately 1.3%, 2.6%, or 5.1%, respectively.

For the variable retransmissions size, we first consider a scheme that bases the number of

bits to be retransmitted for each ARQ request from (3.2) and the value of τ is chosen for

1, 2, or 2.5.

The results in Figure 3.10 illustrate the packet error probability for RB-HARQ ap-

plied to systems that use fixed-length and variable retransmissions based on first scheme.

Page 57: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

46

0.1 0.15 0.2 0.25 0.3 0.35 0.410

−3

10−2

10−1

Effective Eb/N

0

Pac

ket E

rror

Pro

babi

lity

variable scheme1, τ=1variable scheme1, τ=2variable scheme1, τ=2.5variable scheme2, τ=1variable scheme2, τ=2variable scheme2, τ=2.5

Figure 3.11: RB-HARQ performance for different retransmission schemes.

The code is unpunctured, and thus has initial rate 0.3205. The channel is an AWGN chan-

nel. The results show that to achieve a packet error probability less than 10−2, the ARQ

schemes with τ = 2 require approximately 0.15 dB lower Eb/N0 than the same system

that uses a fixed retransmission size of 200 bits, and approximately 0.08 dB lower Eb/N0

than the same system with a fixed retransmission size of 400 bits. Note that increasing the

value of τ beyond 2 actually degrades the performance because the number of bits that are

retransmitted causes an increase in the efficient Eb/N0 that offsets any reduction in error

probabilities.

For variable retransmission, we also can utilize a second scheme in which the number

of bits to be retransmitted is selected by the average soft-decoder output according to the

relation shown in Figure 3.6. The results in Figure 3.11 illustrate the packet error prob-

ability for RB-HARQ applied to systems that use variable retransmissions based on the

first and second scheme. The second scheme is simpler than the first scheme; however the

performance of the two schemes almost the same.

In Table 3.1, we show more details of this simulation for the various schemes at an

effective Eb/N0 of approximately 0.25 dB. Note that the initial value (i.e., before any

Page 58: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

47

Table 3.1: Performance of various retransmission schemes.Fixed retransmission size Variable retransmission size scheme1 (scheme2)

100 bits 200 bits 400 bits τ = 1 τ = 2 τ = 2.5

EffectiveEb/N0 (dB) 0.257 0.231 0.264 0.260 (0.262) 0.240 (0.249) 0.222 (0.238)Initial value

of Eb/N0 (dB) 0.2 0.1 0.0 0.2(0.2) 0.0(0.0) −0.2( −0.2)Average # of

bits retransmitted 107 249 509 114 (117) 461 (478) 829 (860)per packet

Average # ofretransmissions 1.07 1.24 1.27 0.94 (0.96) 1.10 (1.09) 1.24 (1.21)

per packetBit error

probability 2.4× 10−3 1.6× 10−3 1.0× 10−4 1.7× 10−4 5.1× 10−5 6.3× 10−5

(1.7× 10−4) (3.1× 10−5) (6.1× 10−5)Packet errorprobability 6.3× 10−2 6.4× 10−2 8.0× 10−3 1.0× 10−2 3.0× 10−3 5.6× 10−3

(9.2× 10−3) (2.2× 10−3) (4.3× 10−3)

retransmissions) of Eb/N0 varies significantly for the different schemes. As more bits are

retransmitted, the effective Eb/N0 increases. Thus, there is some trade-off between the

number of bits retransmitted and the decrease in the error probabilities. The results show

that for transmission schemes that have approximately the same overhead (in terms of

average number of retransmitted bits per packet), the variable retransmission size results in

approximately an order of magnitude reduction in the bit error probabilities. For instance,

for a fixed block size of 100 bits, the average number of retransmitted bits is 107, while

for a variable retransmission size with τ = 1, the average number of retransmitted bits is

114 for scheme 1 and 117 for scheme 2. The system that uses a variable retransmission

size achieves a bit error probability of Pb = 1.7× 10−4 for both schemes, while the system

that uses a fixed retransmission size only achieves Pb = 2.4 × 10−3. In addition, using

variable retransmission size can also reduce the average number of retransmissions needed

to ensure that the packet is correct. For instance, the fixed retransmission size of 400

bits and the variable retransmission size with τ = 2 both operate at an initial Eb/N0 of

0.0 dB. However, the average number of retransmissions with variable retransmission

size is 16.5% smaller than that with a fixed retransmission size for both schemes. The

variable retransmission size also requires fewer bits to be retransmitted on average, which

results in a smaller effective Eb/N0. At the same time, the block error probability for

Page 59: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

48

−1 −0.8 −0.6 −0.4 −0.2 0 0.20.1

0.12

0.14

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

Eb/N

0

Thr

ough

put

conventional packet comb.variable scheme1, τ=1variable scheme1, τ=2

Figure 3.12: Throughput for conventional and RB-HARQ

the variable retransmissions size is reduced by a factor of 2.66 for scheme 1 and 3.63 for

scheme 2 relative to fixed-size retransmission. Thus, the variable transmission size offers

a significant improvement in terms of error probabilities and overhead.

We compare RB-HARQ performance to type-I HARQ with packet combining. Figure

3.12 illustrates the throughput for the conventional HARQ and RB-HARQ schemes. Both

RB-HARQ schemes achieve much better throughput than conventional scheme except for

very low Eb/N0. At low Eb/N0, RB-HARQ show worse performance than conventional

HARQ. This is because RB-HARQ requests approximately 50% of information bits at

maximum, and we limited the number of retransmission to two. At very low Eb/N0, the

number of bits retransmitted falls short of the number of bits needed to correct the packet.

3.4 HARQ with Rate Adaptation

In this section, we consider the performance of the RB-HARQ technique with rate

adaptation based on reliability for the rate 1/3 3GPP turbo codes [64, 65]. If the first de-

coding attempt fails, Es/N0 is estimated by a look-up table , Table 3.2, that contains the

average magnitude of the soft output of error packets at certain Es/N0 and the rate. Based

on this estimated Es/N0, a target rate is selected from a Table 3.3 to adjust the code rate.

Page 60: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

49

The total number of retransmissions is limited to 3 include retransmission for rate adapta-

tion. The block size is 1024 information bits and the iterations between retransmission is

12. The initial code rate is 8/9 and an S-random interleaver with S= 19 is used. We use an

optimal puncturing table [67] to generate various rates.

For Section 3.4, the block sizes are 1024 and the initial code rate is 8/9. As in Rowitch

and Milstein [67], an optimal puncturing table is used to generate various rates and an S-

random interleaver with S= 19 is used. The block lengths and code were selected to show

that the RB-HARQ technique can provide good performance with simple codes and short

block lengths. We assume that the decoder can accurately determine whether the decoded

packet is correct or in error. In practice, the outer RPCC can be used for this purpose, or a

separate cyclic-redundancy-check (CRC) code can be used.

For the RB-HARQ scheme with rate adaptation, several different schemes are used

to make RB-HARQ retransmission packets. The RB-HARQ retransmission packets are

constructed with systematic bits only, systematic bits and parity bits from first encoder,

systematic bits and parity bits from second encoder, systematic bits and parity bits from

both encoders. Additionally, HARQ schemes with random and uniform selection of re-

transmission bits from systematic bits are considered. In the following figures, we refer to

these schemes as S, P0, P1, SP0, SP1, SP1,2, Rand, Uni, respectively. In all cases of HARQ,

the size of the retransmission packet is decided by the mean of the soft output of decoder

(same as scheme 2 described in Section 3.3.2), and reference line for τ = 2 in Figure 3.7.

The performance of our schemes are compared with that of rate adaptation scheme

without RB-HARQ. The rate adaptation scheme without RB-HARQ performs the first rate

adaption based on reliability, if the first decoding attempt fails. If decoding still fails de-

spite the rate adaptation, the rate of code is decreased to the next closest rate instead of

performing RB-HARQ. We refer to this rate adaptation scheme without RB-HARQ as RA

only. The total number of rate adaptations is limited to 3.

Page 61: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

50

Table 3.2: Average value of soft output at the various rates and Es/N0.

Es/N0

Rate −6 dB −5 dB −4 dB −3 dB −2 dB −1 dB 0 dB 1 dB 2 dB 3 dB

8/9 1.266 1.481 1.763 2.106 2.559 3.128 3.847 4.81 6.09 7.9294/5 1.458 1.686 2.037 2.404 2.918 3.578 4.452 6.225 10.1298/11 1.473 1.758 2.076 2.453 3.025 3.877 5.338 8.7742/3 1.492 1.764 2.096 2.499 3.172 4.095 6.8558/13 1.532 1.833 2.153 2.63 3.39 4.804 8.3294/7 1.562 1.875 2.251 2.745 3.642 6.3328/15 1.627 1.915 2.325 2.887 4.4071/2 1.662 1.966 2.418 3.034 4.7078/17 1.711 2.042 2.533 3.379 5.9014/9 1.791 2.099 2.688 3.7728/19 1.803 2.199 2.791 4.3942/5 1.843 2.278 2.989 5.3828/21 1.928 2.341 3.2154/11 1.958 2.47 3.6178/23 2.022 2.5721/3 2.136 2.749

Table 3.3: Target rate for rate adaptation schemes.

Estimated Es/N0 Target Rate−6 dB 1/3−5 dB 1/3−4 dB 8/21−3 dB 8/17−2 dB 8/15−1 dB 8/130 dB 8/111 dB 4/52 dB 8/90 dB 8/9

Page 62: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

51

−6 −5.5 −5 −4.5 −4 −3.5 −310

−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

RA onlySP

0P

1SP

0SP

1SP

1,2RandUni

Figure 3.13: Packet error probability for various RB-HARQ schemes with rate adaptationand rate adaptation scheme without RB-HARQ.

The results in Figure 3.13 illustrate the packet error probability for RB-HARQ schemes

with rate adaptation and the rate adaptation scheme without RB-HARQ. The result show

that to achieve a packet error probability less than 10−2, the HARQ scheme with only sys-

tematic bits requires approximately 1.5 dB lower Es/N0 than the rate adaptation scheme

without RB-HARQ, and HARQ schemes with random or uniform selection require approx-

imately 1 dB lower Es/N0 than the scheme without RB-HARQ.

The results in Figure 3.14 illustrate total number of retransmissions for various RB-

HARQ schemes with rate adaptation and rate adaptation scheme without RB-HARQ. Ex-

cept for very low Es/N0 (-6 dB and -5 dB), the total number of retransmissions is almost

the same for the various RB-HARQ schemes and the rate adaptation scheme without RB-

HARQ. Target rates for both -6 dB and -5 dB are set as the minimum code rate, 1/3. Thus

no additional retransmission is performed after the first retransmission for rate adaptation.

The results in Figure 3.15 illustrate the total number of retransmitted bits for various RB-

HARQ schemes with rate adaptation and rate adaptation scheme without RB-HARQ. The

Page 63: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

52

−6 −5 −4 −3 −2 −1 0 1 2 30.5

1

1.5

2

2.5

3

Es/N

0

Tot

al R

etra

nsm

issi

on

RA onlySP

0P

1SP

0SP

1SP

1,2RandUni

Figure 3.14: Total number of retransmission for various RB-HARQ schemes with rateadaptation and rate adaptation scheme without RB-HARQ.

−6 −5 −4 −3 −2 −1 0 1 2 30

200

400

600

800

1000

1200

Es/N

0

Tot

al N

umbe

r of

Bits

Ret

rans

mitt

ed

RA onlySP

0P

1SP

0SP

1SP

1,2RandUni

Figure 3.15: Total number of retransmitted bits for various RB-HARQ schemes with rateadaptation and rate adaptation scheme without RB-HARQ (After the first rate adaptation).

Page 64: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

53

−6 −5 −4 −3 −2 −1 0 1 2 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Es/N

0

Thr

ough

put

RA onlySP

0P

1SP

0SP

1SP

1,2RandUni

Figure 3.16: Throughput for various RB-HARQ schemes with rate adaptation and rateadaptation scheme without RB-HARQ.

number of bits for the first rate adaptation is not included in the total number of retransmit-

ted bits. At -6 dB and -5 dB, the code rate of rate adaptation scheme without RB-HARQ

is 1/3 after the first rate adaptation. Thus, the total number of retransmitted bits is zero and

packet error probability cannot be improved. At -4 dB, the total number of retransmitted

bits for rate adaptation without RB-HARQ is smaller than other schemes; however, packet

error probability is far worse than others. Above -3 dB, the total number of retransmitted

bits is almost the same for the various RB-HARQ schemes and rate adaptation scheme

without RB-HARQ.

From the results in Figure 3.14, 3.15 and 3.13, the RB-HARQ scheme that retransmit

only systematic bits is the most effective RB-HARQ scheme (achieves the lowest packet er-

ror probability, smallest total number of retransmission and fewest number of retransmitted

bits). However, HARQ schemes with random and uniform selection will be better choices

if we consider the feedback overhead. The results in Figure 3.16 illustrate the throughput

for various RB-HARQ schemes with rate adaptation and rate adaptation scheme without

Page 65: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

54

RB-HARQ. In these results RB-HARQ schemes with rate adaptation show better through-

put than rate adaptation scheme without RB-HARQ from -6 dB to -3 dB Es/N0 despite

the larger number of retransmission and number of retransmitted bits. Thus RB-HARQ

schemes with rate adaptation offer better packet error probability with high throughput

than rate adaptation scheme without RB-HARQ.

Page 66: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

CHAPTER 4DESIGNING CONVOLUTIONAL TURBO CODES THROUGH HARQ

In this chapter, we propose a new HARQ approach that has the potential to reduce

decoding complexity and increase performance at high signal-to-noise ratios.

4.1 Introduction

Turbo codes offer near-capacity performance in many scenarios. However, that perfor-

mance requires iterative decoding, which can consume energy and cause delays in wireless

systems. Furthermore, at very high rates, turbo codes may not offer a large advantage over

other codes, such as convolutional codes. This suggests that a hybrid approach may be ef-

ficient: a convolutional code should be used at high SNRs, and a turbo code should be used

at low SNRs. However, the receive SNR may not known to the transmitter. Since a turbo

code is the concatenation of two convolutional codes, hybrid ARQ can be used to “evolve”

a convolutional code into a turbo code. This is similar to the scheme suggested by Valenti

in which a turbo code is evolved into serial-concatenated convolutional code [44]. In this

chapter, we call this approach the convolutional/turbo code (CTC) approach and investigate

the design of the HARQ scheme for reliability-based and random retransmissions.

4.2 System Model

Consider the system illustrated in Figure 4.1. The source radio S and the destination

radio D are linked by a data channel, through which a packet of information is to be de-

livered from S to D. We assume that there is a highly reliable link from D back to S that

has a high capacity and that can be used for a special large retransmission request packet.

This channel is labeled ACK Channel in Figure 4.1. Initially, S sends a packet of convolu-

tional coded bits to D, and D attempts to decode the message. If the packet fails to decode

correctly then a retransmission request is sent to S. When the request is received, S sends

either a packet of parity bits from encoder 1 or a packet of parity bits from encoder 2. If S

55

Page 67: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

56

1st Transmission

IR

Encoder 2

Encoder 1

2nd Transmission

Source Radio (S)

Destination Radio (D)

Data Channel

ACK Channel

Decoder

Figure 4.1: CTC system.

sends out a packet of parity bits from encoder 2, then the convolutional code evolves to a

turbo code.

In Section 4.3, we consider the effect of the interleaver design on the performance of

the CTC approach for unpunctured symmetric turbo codes. In Section 4.4, we consider

the performance of the CTC approach for punctured symmetric turbo codes. In Section

4.5, we conside the use of asymmetric turbo codes in the CTC approach, where the second

code is chosen based on both complexity and error performance.

4.3 CTC with Unpunctured Convolutional Codes

We assume that both the codes are identical memory-3 codes with feedforward poly-

nomial 1+D2+D3 and feedback polynomial 1+D+D2+D3. The number of information

bits is 1000 and the initial code rate is 1/2. We investigate the performance when the size of

the second retransmission is 10% or 50% of the number of information bits. In this section,

we consider the performance of the CTC approach when the first transmission consists of

an unpunctured convolutional code and the second transmission consists of some subset of

bits from a second convolutional code. Since only a subset of bits is transmitted from the

second code, the overall code can be considered a partially concatenated turbo code.

We consider the selection of what bits to transmit from the second code and propose

two basic approaches. In first, the bits to be sent in the second transmission correspond

Page 68: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

57

Randomly selected or

RB selected bits

Encoder2

Request

Retransmit

Figure 4.2: Separate interleaving and encoding scheme

to a random subset of the information bits. In the second approach, the bits to be sent

correspond to a set of unreliable information bits. We refer to these as the random-HARQ

and RB-HARQ approaches, respectively. For each of these approaches, we consider two

different interleaving and encoding schemes. In the normal scheme, the turbo code is

formed using a random interleaver, and the bits in the second transmission will form a

discontiguous subset of the output bits from the second encoder. In the separate scheme,

the interleaver is chosen based on the set of bits to be sent in the second transmission. The

interleaver is random, but only contains those bits to be sent in the second transmission.

Thus, a contiguous set of bits from the output of the second encoder is sent for this scheme.

This is illustrated in Figure 4.2. The reason for considering these two schemes is as

follows. The performance of the first scheme may suffer because high puncturing rates

will reduce the effectiveness of the second code. On the other hand, the second scheme

results in a smaller interleaver gain.

The results in Figure 4.3 show the performance of the four combinations of basic

approach and interleaving and encoding scheme when the size of the second transmission

is 10% of the number of information bits. For comparison, the performance of the convo-

lutional code, turbo code, and convolutional code with regular RB-HARQ is shown. Of the

CTC approaches, RB-HARQ with the separate interleaving and encoding offers the best

Page 69: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

58

−5 −4 −3 −2 −1 0 1 2 310

−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

convolutional codeconvolutional code RB−HARQCTC: random HARQ, normalCTC: RB−HARQ, normalCTC: random HARQ, separateCTC: RB−HARQ, separateturbocode

Figure 4.3: Packet error probability for different schemes (10% retransmission).

performance. Random-HARQ with the separate scheme shows the worst performance.

RB-HARQ with normal interleaving and encoding offers worse performance than random-

HARQ with normal interleaving and encoding. Note that the convolutional code with reg-

ular RB-HARQ performs better than the CTC approaches based on random-HARQ, and

it performs better than the CTC approaches based on RB-HARQ with normal interleaving

and encoding.

The results in Figure 4.4 illustrate the packet error probability for the CTC approaches

when the second transmission corresponds to 50% of the information bits. For these results,

the random-HARQ CTC approach with normal interleaving and encoding performs best.

As before, if random-HARQ with separate interleaving and encoding is used, the perfor-

mance is very poor. The CTC approaches based on RB-HARQ offer performance close to

that of random-HARQ with normal interleaving and encoding.

We further investigate the performance of the random-HARQ CTC approach through

analysis in order to understand the huge performance differences between the normal and

separate schemes. We can treat the normal scheme as a punctured version of a regular

turbo code where only the parity bits from the second code are punctured. Let ρ denote the

Page 70: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

59

−5 −4 −3 −2 −1 0 1 2 310

−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

convolutional codeconvolutional code RB−HARQCTC: random HARQ, normalCTC: RB−HARQ, normalCTC: random HARQ, separateCTC: RB−HARQ, separateturbocode

Figure 4.4: Packet error probability for different schemes (50% retransmission).

puncturing probability (i.e., for 10% transmission, ρ= 0.9). Then an upper bound on the

packet error probability is given by

FER =∑

Ad,d2Pd,d2

where

Pd,d2 =

d2∑

dp=0

Q

(√2Es

N0

(d + d2 − dp)

) (d2

dp

)ρdp(1− ρ)d2−dp .

Here, Ad is the weight numerating function for weight d, d = w+d1 is the sum weight

of the input and output of decoder 1, d2 is the weight of the output of decoder 2, and dp is

the number of punctured bits in an event of weight d. We can approximate the upper bound

on packet error probability for the separate interleaving and encoding scheme as

FER ≈∑

w

d

Ad

(N2

w

)

(Nw

) Q

(√2Es

N0

d

).

Here, N is the number of information bits, N2 is the number of punctured information bits

and(

N2

w

)/(Nw

)is the probability that output weight of encoder 2 is punctured when input

weight is w.

Page 71: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

60

−5 −4 −3 −2 −1 0 110

−4

10−3

10−2

10−1

100

Es/N

0

Pac

ket e

rror

pro

babi

lity

10% retransmission simulation10% retransmission upper bound50% retransmission simulation50% retransmission upper bound

Figure 4.5: Upper bound of packet error probability for random-HARQ, normal interleav-ing and encoding scheme

−3 −2 −1 0 1 2 310

−3

10−2

10−1

100

Es/N

0

Pac

ket e

rror

pro

babi

lity

10% retransmission simulation10% retransmission upper bound50% retransmission simulation50% retransmission upper bound

Figure 4.6: Upper bound of packet error probability for random HARQ, separate interleav-ing and encoding scheme

Page 72: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

61

The results in Figure 4.5 and 4.6 show these performance bounds along with the

simulation results. The results show that the decrease in interleaver gain causes a much

more severe performance degradation than the reduction in parity weight in the second

code. The RB-HARQ approach does not suffer from the same performance degradation

because it targets those bits that are most likely to be in error.

4.4 CTC with Punctured Convolutional Codes

In this section, we consider the performance of the CTC approach with punctured

convolutional codes. The puncturing rates are selected in order to give both encoders ap-

proximately the same number of parity bits after the transmission. The packet size for the

simulation results is 2500 information bits. We use a memory-3 convolutional code with

feedforward polynomial 1 + D + D3 and feedback polynomial 1 + D2 + D3. Since the

RB-HARQ approach with separate interleaving and encoding and the random-HARQ ap-

proach with normal interleaving and encoding perform better than the other two schemes,

we only test those two schemes.

The results in Figure 4.7 illustrate the packet error probabilities for various initial

rates of the CTC when the final rate is 4/7. From this result, we observe that the CTC needs

an appropriate number of parity bits from encoder one to perform well. In order to achieve

the best performance, we need a balance of parity bits from both encoder. From the result,

we select 0.72 as the initial rate to achieve the best performance when the final rate is 4/7.

The performance of the RB-HARQ approach with separate interleaving and encoding

and the random-HARQ approach with normal interleaving and encoding is illustrated in

Fig 4.8. For Es/N0 < 2 dB, random-HARQ with normal interleaving and encoding per-

forms better than RB-HARQ with separate interleaving and encoding. Since the random-

HARQ with normal interleaving and encoding is almost identical to a punctured turbo

code, it’s performance is better than the RB-HARQ approach with separate interleaving

and encoding for low to mid Es/N0. In the RB-HARQ approach with separate interleaving

and encoding, the requested bits are concentrated in a small area, and the performance is

Page 73: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

62

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 310

−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

punc conv. rate 4/7punc tc rate 4/7CTC RB−HARQ separate, Ini R=0.8CTC RB−HARQ separate, Ini R=0.714CTC RB−HARQ separate, Ini R=0.666CTC RB−HARQ separate, Ini R=0.625

Figure 4.7: Performance of punctured symmetric CTC with different initial rate

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 310

−4

10−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

punc conv. rate 4/7punc tc rate 4/7CTC RB−HARQ separate, Ini R=0.72CTC random−HARQ, Ini R=0.72

Figure 4.8: Performance of punctured symmetric CTC

Page 74: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

63

not improved as much as the random-HARQ with normal interleaving and encoding. For

Es/N0 > 2 dB, the RB-HARQ approach with separate interleaving and encoding performs

better.

We compare the performance of using a punctured turbo code with ARQ to CTC

approach. We define throughput efficiency

η = Throughput/(Energy consumed by Decoder).

Here the energy consumed by the decoder is estimated by the expected value of the total

number of decoder states per bit that the decoder uses. For instance, the code we use has

eight states, so if the turbo code uses five fixed iterations (ten convolutional decodings)

then the energy consumed is estimated as 8 × 5 = 80. At first, the energy consumed by

the CTC decoder is just the energy consumed one convolutional code decoding. When a

retransmission is needed, the CTC evolves into a turbo code, and its energy consumed will

then depend on the number of iterations used in the turbo decoder. Figure 4.9 and Figure

4.10 illustrate the throughput efficiency as a function of Es/N0. The initial rate is 8/9 and

periodic puncturing is used for both the turbo code and the CTC. The results in Figure 4.9,

fixed five iterations are used for turbo decoder. The results show that the CTC approach

offers much higher throughput efficiency than the turbo code at high Es/N0. In Figure

4.10, maximum iteration of turbo decoder is five but the turbo decoder stop decoding at

any half iteration if the packet is decoded correctly. The results of this flexible iteration

scheme show that the CTC approach offers much higher throughput efficiency than the

turbo code from mid to high Es/N0 where the CTC is able to decode most of the packet

correctly using only convolutional code. The punctured turbo code has about half number

of parity bits from encoder 1 than the CTC and need more iteration to decode correctly. At

very high Es/N0, throughput efficiency for the CTC and turbo code are the same.

Page 75: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

64

1 2 3 4 5 6 7 8 90

0.02

0.04

0.06

0.08

0.1

0.12

Es/N

0

Thr

ough

put E

ffici

ency

Turbo codeCTC

Figure 4.9: Throughput efficiency of CTC and punctured turbo code with ARQ, fixednumber (5) of turbo decoder iterations.

1 2 3 4 5 6 7 8 90

0.02

0.04

0.06

0.08

0.1

0.12

Es/N

0

Thr

ough

put E

ffici

ency

Turbo codeCTC

Figure 4.10: Throughput efficiency of CTC and punctured turbo code with ARQ.

Page 76: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

65

−2 −1.5 −1 −0.5 0 0.5 1 1.5 210

−4

10−3

10−2

10−1

100

Es/N

0

Pac

ket E

rror

Pro

babi

lity

memory 6, 1itmemory 5, 2itmemory 4, 3itmemory 3, 6itmemory 2, 9it

Figure 4.11: Performance of punctured asymmetric CTC with different constituent code.

4.5 CTC with Asymmetric Constituent Codes

In this section, we consider the packet size of 1000 information bits, the optimal initial

code rate 0.72, and a final code rate of 4/7. Different memory-size constituent codes for the

second encoder are used. Memory-2, 3, 4, 5,and 6 codes are tested, and we match the total

decoder complexity for each code as closely as possible by allowing different numbers of

iterations for each code. Here the total decoder complexity is defined as the total number

of states that the decoder must pass through per information bit over all iterations. We

set the total decoder complexity at 68 and take the convolutional code used for the first

transmission to be the memory-2 (5,7) code. The selected constituent codes for the second

encoder and the total decoder complexities for the CTCs are shown in Table 4.1

Table 4.1: Total decoder complexity of CTC with different constituent code.

Memory Constituent Code Total decoder complexity Iteration2 (5, 7) 72 93 (13, 17) 72 64 (33, 23) 60 35 (67, 45) 72 26 (117, 155) 68 1

Page 77: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

66

Figure 4.11 illustrates the packet error probabilities for different asymmetric CTCs.

The memory-4 asymmetric CTC performs better than those with memory-2,3,5,or 6. The

memory-2 and 3 asymmetric CTCs don’t have as good a constituent code as the memory-

4 code and the memory-5 and 6 asymmetric CTCs don’t have enough iterations. The

asymmetric CTC performs the best when it has both a good constituent code and enough

iterations under the decoder complexity constraint.

Page 78: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

CHAPTER 5CONCLUSIONS

In this dissertation, we present two techniques to evaluate and improve the perfor-

mance of a coded communication system. In the first technique, the weight spectrum

of turbo and RPCC+turbo codes is utilized to evaluate and design codes. In the second

technique, the SNR improvement in iterative decoding of turbo and RPCC+turbo codes

is utilized to evaluate the performance of codes in terms of decoder convergence. Both

techniques provide useful performance evaluations for better code design.

We also present various retransmission schemes to optimize the performance of RB-

HARQ with RPCC+turbo codes based on the statistics of the soft outputs from the iterative

decoder. We showed that such techniques can offer a significant improvement in terms

of error probabilities. Moreover, we presented techniques that utilize rate adaption with

RB-HARQ. These techniques can offer a significant improvement in terms of error proba-

bilities and throughput by adapting only the size of the retransmission, which requires less

feedback.

Finally, we propose the convolutional/turbo code (CTC) approach for HARQ. Under

the CTC approach, the first transmission uses only convolutional coding, and the convolu-

tional code is evolved into a turbo code by a second transmission only if necessary. This

offers the advantages of non iterative convolutional decoding at high Eb/N0 with the pow-

erful error-correction capability of the turbo code when needed. We investigated the design

of CTC codes for several different scenarios.

67

Page 79: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

REFERENCES

[1] C. Berrou, A. Galvieux, and P. Thitimajshima, “Near Shannon limit error-correctingcoding and decoding: Turbo-codes,” in Proc. 1993 IEEE Int. Conf. Commun.,Geneva, Switzerland, 1993, vol. 2, pp. 1064–1070.

[2] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes forminimizing symbol error rates,” IEEE Trans. Inform. Theory, vol. IT-20, pp. 284–287,Mar. 1974.

[3] S. Dolinar and D. Divsalar, “Weight distributions for turbo codes using randomand nonrandom permutations,” Tech. Rep. TDA Progress Report 42-122, NASA JetPropulsion Laboratory, Aug. 1995.

[4] T. Richardson, “The geometry of turbo-decoding dynamics,” IEEE Trans. Inform.Theory, vol. 46, pp. 9–23, Jan. 2000.

[5] L. Duan and B. Rimoldi, “The iterative turbo decoding algorithm has fixed points,”IEEE Trans. Inform Theory, vol. 47, pp. 2993–2995, Nov. 2001.

[6] R. Pyndiah, A. Glavieux, A. Picart, and S. Jacq, “Near-optimum decoding of productcodes,” in Proc. IEEE Globecom’94 Conf., San Francisco, CA, Nov.-Dec. 1994, vol.1/3, pp. 339–343.

[7] R. M. Pyndiah, “Near-optimum decoding of product codes: Block turbo codes,” IEEETrans. Commun., vol. 46, pp. 1003–1010, Aug. 1998.

[8] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation ofinterleaved codes: Performance analysis, design and iterative decoding,” in Proc.1997 IEEE Int. Symp. Inform. Theory, Ulm, Germany, 1997, p. 106.

[9] J. D. Andersen, “‘Turbo’ coding for deep space applications,” in Proc. 1995 IEEEInt. Symp. Inform. Theory, Whistler, British Columbia, Canada, Sept. 1995, p. 36.

[10] D. J. Costello, Jr. and G. Meyerhans, “Concatenated turbo codes,” in Proc. 1996 IEEEInt. Symp. on Inform. Theory and Appl., Victoria, Canada, Sept. 1996, pp. 571–574.

[11] J. D. Andersen, “Turbo codes extended with outer BCH code,” IEE ElectronicsLetters, vol. 32, no. 22, pp. 2059–2060, Oct. 1996.

[12] K. R. Narayanan and G. L. Stuber, “Selective serial concatenation of turbo codes,”IEEE Comm. Letters, vol. 1, no. 5, pp. 136–139, Sept. 1997.

68

Page 80: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

69

[13] H. C. Kim and P. J. Lee, “Performance of turbo codes with a single-error correctingBCH outer code,” in Proc. 2000 IEEE Int. Symp. Inform. Theory, Sorrento, Italy, June2000, p. 369.

[14] O. Y. Takeshita, O. M. Collins, P. C. Massey, and D. J. Costello, Jr., “On the frame-error rate of concatenated turbo codes,” IEEE Trans. Commun., vol. 49, pp. 602–608,Apr. 2001.

[15] M. C. Valenti, “Inserting turbo code technology into the DVB satellite broadcastsystem,” in Proc. 2000 IEEE Military Commun. Conf., Los Angeles, Oct. 2000, pp.650–654.

[16] J. M. Shea, “Concatenated parity and turbo codes,” IEE Electronics Letters, vol. 37,no. 16, pp. 1029–1030, Aug. 2001.

[17] D. Divsalar, S. Dolinar, F. Pollara, and R.J. McEliece, “Transfer function bounds onthe performance of turbo codes,” Tech. Rep. TDA Progress Report 42-122, NASAJet Propulsion Laboratory, Aug. 1995.

[18] S. Benedetto and G. Montorsi, “Unveiling turbo codes: Some results on parallelconcatenated coding schemes,” IEEE Trans. Inform. Theory, vol. 42, pp. 409–428,Mar. 1996.

[19] T. Richardson and R. Urbanke, “The capacity of low-density parity-check codesunder message-passing decoding,” IEEE Trans. Information., vol. 47, pp. 599 – 618,Feb. 2001.

[20] T. Richardson and R. Urbanke, “Design of capacity-approaching irregular low-density parity check codes,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 599–618,Feb. 2001.

[21] T. Richardson and R. Urbanke, “Analysis and design of iterative decoding systems,”in 1999 IMA summer Program: Codes Systems and Graphical Models, Minesota,August 2-6 1999.

[22] S. ten Brink, “Convergence of iterative decoding,” IEE Electronics Letters, vol. 35,no. 13, pp. 1117–1119, June 1999.

[23] S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenatedcodes,” IEEE Trans. Commun., vol. 2001, no. 10, pp. 1727–1737, Oct. 2001.

[24] O. Y. Takeshita, M. P. C. Fossorier, and D. J. Costello, Jr., “A new technique forcomputing the weight spectrum of turbo-codes,” IEEE Commun. Letters, vol. 3, pp.251–253, Aug. 1999.

[25] H. O. Burton and D. D. Sullivan, “Errors and error control,” Proc. IEEE, vol. 60, pp.1293–1303, Nov. 1972.

Page 81: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

70

[26] E. Y. Rocher and R. L. Pickholtz, “An analysis of the effectiveness of hybrid trans-mission schemes,” IBM J. Res. Develop., pp. 426–433, July 1970.

[27] S. Lin and D. J. Costello, Error Control Coding: Fundamentals and Applications,Prentice-Hall, New Jersey, 1983.

[28] S. Lin and P. S. Yu, “A hybrid ARQ scheme with parity retransmission for errorcontrol of satellite channels,” IEEE Trans. Communication, vol. 30, pp. 1701–1719,July 1982.

[29] S. Kallel, “Complementary punctured convolutional (CPC) codes and their applica-tions,” IEEE Trans. Communication, vol. 43, pp. 2005–2009, June 1995.

[30] H. Yamamoto and K. Itoh, “Viterbi decoding algorithm for convolutional codes withrepeat request,” IEEE Trans. Inform. Theory, vol. IT-26, pp. 540–547, Sept. 1980.

[31] A. Drukarev and D. J. Costello Jr., “Hybrid ARQ error control using sequentialdecoding,” IEEE Trans. Inform. Theory, vol. IT-29, pp. 521–535, July 1983.

[32] M. B. Pursley and S. D. Sandberg, “Incremental redundancy transmission for meteorburst communications,” IEEE Trans. Communication, vol. 39, pp. 689–702, May1991.

[33] S. B. Wicker and M. Bartz, “Type-II hybrid-ARQ protocols using punctured MDScodes,” IEEE Trans. Communication, vol. 42, pp. 1431–1440, April 1994.

[34] S. B. Wicker and M. Bartz, “The design and implementation of type-I and type-IIhybrid-ARQ protocols based on first-order Reed-Muller codes,” IEEE Trans. Com-munication, vol. 42, pp. 979–987, March 1994.

[35] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) andtheir applications,” IEEE Trans. Commun., vol. 36, pp. 389–400, Apr. 1988.

[36] S. Kallel and D. Haccoun, “Generalized type ii hybrid ARQ scheme using pucnturedconvolutional coding,” in IEEE Trans. Comm., Nov. 1990, vol. 38, pp. 1938 – 1946.

[37] M. A. Kousa and M. Rahman, “An adaptive error control system using hybrid ARQschemes,” in IEEE Trans. Comm., July 1991, vol. 43, pp. 1049 – 1057.

[38] K. R. Narayanan and G. L. Stuber, “A novel ARQ technique using the turbo codingprinciple,” IEEE Commun. Letters, vol. 1, pp. 49–51, Mar. 1997.

[39] D. N. Rowitch and L. B. Milstein, “Rate compatible punctured turbo (RCPT) codesin a hybrid FEC/ARQ system,” in Proc. Globecom ’97, Phoenix, AZ, Nov. 1997,vol. 4, pp. 55–59.

[40] O. F. Acikel and W. E. Ryan, “Punctured turbo-codes for BPSK/QPSK channels,”IEEE Trans. Commun., vol. 47, pp. 1315–1323, Sept. 1999.

Page 82: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

71

[41] R. Mantha and F. R. Kschischang, “A capacity-approaching hybrid ARQ schemeusing turbo codes,” in Proc. 1999 IEEE Global Telecommun. Conf., Dec. 1999, vol. 5,pp. 2341–2345.

[42] T. Ji and W. E. Stark, “Concatenated punctured turbo Reed-Solomon codes in ahybrid FEC/ARQ DS/SSMA data network,” in Proc. 1999 IEEE Veh. Tech. Conf.,May 1999, vol. 2, pp. 1678–1682.

[43] A. Banerjee, D. J. Costello Jr, and T. E. Fuja, “Performance of hybrid ARQschemes using turbo trellis coded modulation for wireless channels,” in Proc. IEEEWCNC’00., Sept. 2000, vol. 3, pp. 1025 – 1029.

[44] Y. Wu and M. C. Valenti, “An ARQ technique using related parallel and serial con-catenated convolutional codes,” in Proc. 2000 IEEE Int. Conf. Commun., June 2000,vol. 3, pp. 1390–1394.

[45] J. M. Shea, “Reliability-based hybrid ARQ,” IEE Electronics Letter, vol. 38, no. 13,pp. 644–645, 2002.

[46] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “A soft-input soft-output APPmodule for iterative decoding of concatenated codes,” IEEE Commun. Letters, vol. 1,pp. 22–24, Jan. 1997.

[47] A. Roongta and J. M. Shea, “Reliability-based hybrid ARQ using convolutionalcodes,” in Proc. 2003 Int. Conf. Commun., Anchorage, AK, May 2003, vol. 4, pp.2889–2893.

[48] H. Kim and J. M. Shea, “New turbo-ARQ techniques based on estimated reliabilities,”in Proc. 2003 Wireless Communications and Networking Conference, New Orleans,LA, Mar. 2003, vol. 1, pp. 843–848.

[49] A. Roongta, J.-W. Moon, and J. M. Shea, “Reliability-based hybrid ARQ as an adap-tive response to jamming,” submitted to IEEE J. Select. Areas. Commun., 2004.

[50] A. Roongta and J. M. Shea, “Reliability-based hybrid ARQ and rate-compatible punc-tured convolutional codes,” in Proc. 2004 IEEE Wireless Commun. and NetworkingConf., Atlanta, GA, Mar. 2004.

[51] A. Roongta, J. M. Shea, and J.-W. Moon, “Reliability-based hybrid ARQ for partial-time jamming channels,” to appear in Proc. 2004 IEEE Military Commun. Conf.

[52] J. M. Shea, “Improving the performance of turbo codes through concatenation withrectangular parity check codes,” in Proc. 2001 IEEE Int. Symp. Information Theory,Washington, D.C., June 2001, p. 144.

[53] C. Berrou and A. Glavieux, “Near optimum error correcting coding and decoding:Turbo codes,” IEEE Trans. Commun., vol. 44, pp. 1261–1271, Oct. 1996.

Page 83: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

72

[54] J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block and convo-lutional codes,” IEEE Trans. Inform. Theory, vol. 42, pp. 429–445, Mar. 1996.

[55] J. Han and O. Y. Takeshita, “On the decoding structure for multiple turbo codes,” inProc. 2001 IEEE Int. Symp. Inform. Theory, Washington, D.C., June 2001, p. 98.

[56] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation ofinterleaved codes: Performance analysis, design and iterative decoding,” IEEE Trans.Inform. Theory, vol. 44, pp. 909–926, May 1998.

[57] P. C. Massey, O. Y. Takeshita, and D. J. Costello, Jr., “Contradicting a myth: Goodturbo codes with large memory order,” in Proc. 2000 IEEE Int. Symp. Inform. Theory,Sorrento, Italy, June 2000, p. 122.

[58] D. Divsalar and F. Pollara, “On the design of turbo codes,” Tech. Rep. TDA ProgressReport 42-123, NASA Jet Propulsion Laboratory, Nov. 1995.

[59] T. M. Duman and M. Salehi, “New performance bounds for turbo codes,” IEEETrans. Commun., vol. 46, no. 6, pp. 717–723, June 1998.

[60] D. Divsalar, S. Dolinar, and F. Pollara, “Iterative turbo decoder analysis based ondensity evolution,” IEEE J. Select. Areas Commun., vol. 19, pp. 891–907, May 2001.

[61] N. Wiberg, Codes and Decoding on General Graphs, Ph.d. dissertation, Departmentof Electrical Engineering,Linkoping University, Linkoping, Sweden, 1996.

[62] H. El Gamel and R. Hammons, “Analyzing the turbo decoder using the Gaussianapproximation,” IEEE Trans. Information., vol. 47, pp. 671–686, Feb. 2001.

[63] J. M. Shea and T. F. Wong, “Concatenated codes based on multidimensional parity-check codes and turbo codes,” in Proc. 2001 IEEE Military Commun. Conf., Wash-ington, D.C., Oct. 2001, vol. 2, pp. 1152–1156.

[64] 3rd Generation Partnership Project, “Technical specification TS 25.212 v4.1.0: Radioaccess network: Multiplexing and channel coding (FDD),” Tech. Rep., Availableon the web at ftp://ftp.3gpp.org/Specs/2001-06/Rel-4/25 series/25212-410.zip, June2001.

[65] 3rd Generation Partnership Project 2, “Physical layer standard for cdma2000 spreadspectrum systems-release 0-version 3.0,” Tech. Rep., Available on the web at:http://www.3gpp2.org/Public html/specs/C.S0002-0 v3.0.pdf, July 2001.

[66] S. Benedetto and G. Montorsi, “Design of parallel concatenated convolutional codes,”IEEE Trans. Commun., vol. 44, pp. 591–600, May 1996.

[67] D. N. Rowitch and L. B. Milstein, “On the performance of hybrid FEC/ARQ systemsusing rate compatible punctured turbo (RCPT) code,” IEEE Trans. Commun., vol. 48,pp. 948–959, June 2000.

Page 84: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

73

[68] V. Tripathi, E. Visotsky, R. Peterson, and M. Honig, “Reliability-based type II hybridARQ schemes,” in Proc. 2003 IEEE Intl. Conf. on Commun., Anchorage, Alaska,May 2003, vol. 4, pp. 2899–2903.

Page 85: IMPROVING TURBO CODES THROUGH CODE DESIGN AND HYBRID …ufdcimages.uflib.ufl.edu/UF/E0/01/21/69/00001/kim_h.pdf · concatenated codes that utilize turbo code as inner codes and rectangular

BIOGRAPHICAL SKETCH

Han Jo Kim received the B.S and M.S. in materials science and engineering from

Yonsei University in Korea in 1994 and 1997 and the M.S. degrees in electrical and com-

puter engineering from the University of Florida in 2001. He is currently in Ph.D. program

in electrical and computer engineering at University of Florida. His research interest is

wireless communications/CDMA, with emphasis on turbo coding and iterative decoding,

hybrid ARQ, rate adaptation code, collaborative communications, and ad hoc networks.

74