improving turbo codes through code design and hybrid...
TRANSCRIPT
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
Copyright 2005
by
Han Jo Kim
I dedicate my dissertation to all of my family members...
father Muho, mother Hwabong, sister Suyeon, brother Hanjin
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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],
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
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
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.
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
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,
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
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.
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)
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
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.
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.
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.
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
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
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.
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.
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
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
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)).
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.
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)).
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)).
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
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
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
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.
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)).
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
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.
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
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
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
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).
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
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
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
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
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.
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
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
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.
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.
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
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
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).
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
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.
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
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
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
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
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.
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
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
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
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.
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.
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
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.
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
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
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.
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.
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.
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.
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.
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