Top Banner
DOCTORAL THESIS Sara Sandberg Luleå University of Technology Low-Density Parity-Check Codes - Unequal Error Protection and Reduction of Clipping Effects
206

Low-density parity-check codes : unequal error protection ...

Jan 31, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Low-density parity-check codes : unequal error protection ...

DOCTORA L T H E S I S

Department of Computer Science and Electrical EngineeringDivision of Systems and Interaction

Sara Sandberg

ISSN: 1402-1544 ISBN 978-91-86233-14-3

Luleå University of Technology 2009

Sara Sandberg Low-D

ensity Parity-Check C

odes - Unequal E

rror Protection and Reduction of C

lipping Effects

ISSN: 1402-1544 ISBN 978-91-86233-XX-X Se i listan och fyll i siffror där kryssen är

Luleå University of Technology

Low-Density Parity-Check Codes -Unequal Error Protection andReduction of Clipping Effects

Page 2: Low-density parity-check codes : unequal error protection ...
Page 3: Low-density parity-check codes : unequal error protection ...

Low-Density Parity-Check Codes -

Unequal Error Protection and

Reduction of Clipping Effects

Sara Sandberg

Division of Systems and Interaction

Department of Computer Science and Electrical Engineering

Lulea University of TechnologyLulea, Sweden

Supervisor:

Professor James P. LeBlanc

Page 4: Low-density parity-check codes : unequal error protection ...

Tryck: Universitetstryckeriet, Luleå

ISSN: 1402-1544 ISBN 978-91-86233-14-3

Luleå

www.ltu.se

Page 5: Low-density parity-check codes : unequal error protection ...

To Marcus, Miriam, and Jakob

Page 6: Low-density parity-check codes : unequal error protection ...

iv

Page 7: Low-density parity-check codes : unequal error protection ...

Abstract

The invention of low-density parity-check (LDPC) codes made reliable communication

possible at transmission rates very close to the theoretical limit predicted by Shannon.

However, communication close to the Shannon limit requires very long codes and results

in long delay and high encoder and decoder complexity. In many communication scenar-

ios, constraints on delay, complexity and power prohibit communication with arbitrarily

low error probability. To achieve good performance it is then important that the code is

appropriately matched to the other parts of the communication system. In this thesis,

LDPC codes for two different communication scenarios are studied.

A common scenario is communication of information bits with unequal importance

for the perceptual quality after source decoding. This is the case for example in many

networks and for transport of multimedia data, where one frame may consist of a header,

some payload and additional payload for increased quality. Errors in the header data may

cause the whole frame to be useless, while errors in the additional payload generally cause

only a small quality reduction. A code with unequal error protection (UEP) is designed

to protect some bits more than others, thus providing a reduced bit-error rate (BER) for

the important bits. This work studies design of LDPC codes with UEP capability for

bandwidth-efficient higher order constellations. A flexible design algorithm for irregular

UEP-LDPC codes is proposed, which is applicable to arbitrary signal constellations, an

arbitrary number of classes of bits with different importance and arbitrary sizes of the

classes. Simulations using 8-PSK modulation show that the overall BER is reduced if

codes are properly designed for the modulation scheme, compared to the BER achieved

by standard UEP codes designed for BPSK modulation. Codes designed by the proposed

algorithm also provide more UEP capability, especially at high SNR. Moreover, further

work shows that the UEP capability of an irregular LDPC code is not only dependent on

the variable node degrees as is widely believed. The LDPC construction algorithms, that

place the edges in the graph according to the degree distributions, also play a critical role

for the UEP behavior of an LDPC code. The differences in UEP capability are explained

by introduction of detailed check node degree distributions that describe differences in

the code structure.

v

Page 8: Low-density parity-check codes : unequal error protection ...

vi

LDPC codes for the orthogonal frequency division multiplexing (OFDM) system are

also studied. OFDM enables simple equalization and has been adopted in several stan-

dards. However, OFDM is sensitive to frequency-selective fading and introduces a large

peak-to-average power ratio (PAPR) of the transmitted signal. These problems can be

alleviated by pre-multiplying the OFDM block with a spreading matrix that both reduces

the PAPR of the transmitted signal and increases the frequency diversity. Simulation of

an OFDM system with clipping shows that the performance gain by spreading is substan-

tial also when an LDPC code, which on its own improves the performance significantly, is

applied to the OFDM system. PAPR reduction may also be achieved by deliberate clip-

ping of the signal, prior to the transmitter high-power amplifier. Clipping will however

introduce losses and receiver methods to mitigate such clipping losses are investigated.

We consider Bayesian estimation of the unclipped signal as well as statistical character-

ization of the clipping distortion, that is fed to the LDPC decoder. The results show

that for an LDPC coded OFDM system, the improvement by these clipping mitigation

methods is minimal.

Page 9: Low-density parity-check codes : unequal error protection ...

Contents

Part I - General Introduction xiii

Chapter 1 – Thesis Introduction 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 A Digital Communication System . . . . . . . . . . . . . . . . . . . . . . 3

Chapter 2 – Error Control Coding 9

2.1 Historical Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Linear Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Convolutional Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4 Turbo Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5 Coded Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.6 Performance Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapter 3 – Low-Density Parity-Check Codes 33

3.1 Fundamentals of LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Decoding of LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 Density Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Part II - Introduction to the Specific Research Topics 47

Chapter 4 – Overview of Clipping Mitigation Strategies in OFDM 49

4.1 OFDM Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2 Reduction of the Peak-To-Average Power Ratio . . . . . . . . . . . . . . 52

4.3 Reduction of Clipping Effects in the Receiver . . . . . . . . . . . . . . . . 54

4.4 Spread OFDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.5 Coded OFDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Chapter 5 – Overview of Unequal Error Protection Codes 59

5.1 UEP Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2 UEP-LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3 Irregular UEP-LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . 63

vii

Page 10: Low-density parity-check codes : unequal error protection ...

viii

Chapter 6 – Research Contributions 67

6.1 Clipping Mitigation in LDPC Coded OFDM Systems . . . . . . . . . . . 67

6.2 Design of Unequal Error Protection LDPC Codes . . . . . . . . . . . . . 69

Part III - Research Papers 87

Paper A - Performance of LDPC Coded Spread OFDM with Clipping 89

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

2 The OFDM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3 LDPC codes for OFDM and SOFDM . . . . . . . . . . . . . . . . . . . . 95

4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Paper B - Receiver-oriented Clipping-effect Mitigation in OFDM -

A Worthy Approach? 105

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

2 System Description and Channel Model . . . . . . . . . . . . . . . . . . . 108

3 Characterization of Clipping Noise . . . . . . . . . . . . . . . . . . . . . 110

4 Bayesian Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

5 Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Paper C - Design of Unequal Error Protection LDPC Codes for

Higher Order Constellations 119

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

3 Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4 UEP-LDPC Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

5 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Paper D - Design of Bandwidth-Efficient Unequal Error Protection

LDPC Codes 137

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

2 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

3 UEP-LDPC Codes for Higher Order Constellations . . . . . . . . . . . . 147

4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Page 11: Low-density parity-check codes : unequal error protection ...

ix

Paper E - On the UEP Capabilities of Several LDPC Construction

Algorithms 165

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

2 Construction Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

4 Relevant Graph Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 175

5 Modified PEG-ACE Construction with Increased UEP Capability . . . . 184

6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Page 12: Low-density parity-check codes : unequal error protection ...

x

Page 13: Low-density parity-check codes : unequal error protection ...

Acknowledgements

The first person I would like to express my gratitude to is my supervisor Professor James

LeBlanc. Thank you for convincing me that I would find the Ph.D. studies fun and

for the guidance and support that you have given me. Because of your enthusiasm and

dedication to my education, becoming a Ph.D. student is a choice I have never regretted.

Also, many thanks go to my assistant advisor, Professor Bane Vasic from the Univer-

sity of Arizona, that has supported me with his coding expertise and interesting ideas.

Thanks also for giving me the opportunity to visit you and your group for three months

and the hospitality you all showed me and my family. Magnus Lundberg Nordenvaad

has been my assistant advisor since 2007. Thank you for your valuable support.

During the M-Pipe project, I got to know Neele von Deetzen from Jacobs University

Bremen, Germany. Since then we have written three papers together. I have really

enjoyed our discussions and collaboration, from which I think both of us have learned

a lot. Thanks also for being a good friend. It has been a pleasure to get to know you

Neele!

I would also like to thank all my colleagues at the department of computer science

and electrical engineering. All together you make up a friendly and inspiring atmosphere

that makes it enjoyable to go to work. I would especially like to thank my friends in the

A3200-corridor for joining me in the coffee room and Johan Carlson for providing the

LATEX template for this thesis. Acknowledgments also to the European Commission for

co-funding this work, that is part of the FP6/IST project M-Pipe, and to the PCC++

graduate school.

Finally, I would like to express my sincere gratitude to my husband Marcus. Thank

you for everything!

Sara Sandberg

Lulea, February 2009

xi

Page 14: Low-density parity-check codes : unequal error protection ...

xii

Page 15: Low-density parity-check codes : unequal error protection ...

Part I

General Introduction

Page 16: Low-density parity-check codes : unequal error protection ...

xiv

Page 17: Low-density parity-check codes : unequal error protection ...

Chapter 1

Thesis Introduction

1.1 Motivation

Error control coding is a critical part of many of the tools everyone uses today, for

example mobile phones, CDs, DVDs and hard drives. The main idea of error control

coding is to add redundancy to the information bits, which makes error detection and

error correction possible. Coding theory started with the pioneering work of Shannon

in 1948, [1]. He developed fundamental limits on the efficiency of communication over

noisy channels and his channel coding theorem states that if the signaling rate is less

than the channel capacity, arbitrarily low error probabilities can be achieved by applying

error control codes. Since then, the focus of much coding research has been to find good

encoding and decoding techniques to make reliable communication possible at rates close

to the capacity. With the invention of iterative decoding algorithms for code structures

well suited for this type of decoding, the performance achieved by practically usable codes

took a huge step closer to the performance limit. In this work, the focus is on low-density

parity-check (LDPC) codes, which are described by a very sparse parity-check matrix.

LDPC codes are decoded by a simple iterative decoding algorithm and the performance

of these codes approaches the Shannon limit.

The question then arises, why bother with coding research when it is already possible

to achieve arbitrarily low error probabilities for rates very close to the theoretical limit?

One answer is that there are still many error control applications where an arbitrarily

low error probability is a luxury or not even possible. Coding research is of importance

to improve performance in such applications. To achieve capacity, Shannon proposed

infinitely long random codes. However, in practice the length of the code is limited by

delay constraints and complexity issues. Power constraints and bad channel conditions

can also degrade the error probability and make reliable communication difficult.

1

Page 18: Low-density parity-check codes : unequal error protection ...

2 Thesis Introduction

Many communication systems involve transmission of bits of unequal importance, for

example transmission of source coded video or speech, or transmission over a network

where protocol data is more important than the payload. If reliable transmission of all

data can not be achieved, it is desirable that the important bits have more redundancy

than less important bits and thus are reconstructed with less errors. A code with unequal

error protection (UEP) provides such differentiation in the error protection. In this work

we study how to design LDPC codes with UEP for bandwidth-efficient higher order

modulations. We also investigate how different LDPC construction algorithms affect a

code’s capability of providing UEP. The differences in UEP capability are explained by

the introduction of detailed check node degree distributions, that describe differences in

the code structure.

A specific communication technique considered in this work is the orthogonal fre-

quency division multiplexing (OFDM) system. The main advantage of OFDM is that it

converts a frequency selective channel into a number of flat subchannels that are easily

equalized. However, the drawback is that the signal to be transmitted usually has a very

high peak-to-average power ratio (PAPR), that causes problems in the transmitter high-

power amplifier. An LDPC coded OFDM system is considered and we study spreading

(also called linear precoding) as a way to reduce the PAPR and increase the frequency

diversity. Simulations show that there is a significant gain due to spreading also when

LDPC codes are applied, especially in systems with clipping in the high-power amplifier.

A simple way to reduce the high PAPR is deliberate amplitude clipping prior to the

high-power amplifier, which causes clipping distortion. Two different methods for reduc-

ing the deleterious effects of clipping in the receiver have been investigated. However,

the study suggests that in an LDPC coded OFDM system there is little to be gained by

these receiver-oriented methods.

The thesis is divided into three parts. Part I (including Chapters 1, 2 and 3) contains

a general introduction to digital communication and error control coding. In the next

section, we take a step back and describe the context of the two communication scenarios

by presenting a typical digital communication system. Chapter 2 gives a brief history

of coding theory and presents both linear block codes, convolutional codes, turbo codes,

and coded modulation. Since the focus of this work is on LDPC codes, they are covered

in more detail in Chapter 3. Part II (including Chapters 4, 5 and 6) focuses on the two

research topics covered in this work. In chapter 4, the OFDM system is described and

the benefits and drawbacks of this modulation scheme are discussed. An overview of

state of the art methods to reduce the PAPR and mitigate clipping effects is presented.

UEP codes are considered in Chapter 5, where both a brief history and state of the art

Page 19: Low-density parity-check codes : unequal error protection ...

1.2. A Digital Communication System 3

Demodulator

Noise

Modulator

Linearfilter

Channel

Channel

decoder

Channel

encoder

bits

information

bits

codeword

Destinationdecoder

Source

Informationencoder

Source

Figure 1.1: Block diagram of a typical digital communication system.

of UEP code design are presented. Chapter 6 presents the main results of this work

and summarizes the appended papers. Finally, Part III contains the appended research

papers.

1.2 A Digital Communication System

A simplified model of a digital communication system is shown in Figure 1.1 and the

different blocks are briefly described below. There are many textbooks on the subject of

digital communication that the reader can refer to for a thorough introduction, e.g. [2–4].

The information source is assumed to be in digital form and the data is usually

encoded by a source encoder to achieve data compression. We assume that the source

coded information bits are equally likely 0 or 1. They may also be of unequal importance

for the perceptive performance of the overall communication system. The information

bits are fed to the channel encoder, which introduces redundancy in the information

sequence. This redundancy can be used by the channel decoder to reduce the impact of

channel effects such as noise and interference. The result is increased reliability of the

received data. In this work, the main focus is on channel coding, that is, on the design

and implementation of channel encoders and decoders.

The codeword bits from the channel encoder are passed to the digital modulator,

which maps the bits to appropriate signal waveforms. The simplest form of modulation

is to map each binary zero to one waveform and each binary one to some other waveform

that is easy to distinguish from the waveform representing the zero. This is called binary

modulation and is one form of single-carrier modulation. In the last decade, multi-carrier

Page 20: Low-density parity-check codes : unequal error protection ...

4 Thesis Introduction

modulation has become more popular and especially OFDM has received much attention.

In multi-carrier systems, the superposition of several waveforms representing several bits

are transmitted in each time interval.

The communication channel model represents the physical medium that connects the

transmitter with the receiver. This medium can be the atmosphere as well as wire lines,

optical fibers, etc, but it could also be a storage medium. All received waveforms will be

more or less corrupted due to thermal noise from electronic devices, non-linear distortion

in the high-power amplifier, interference from other transmissions, atmospheric noise,

fading, etc. Two different channel models are mainly used in this work. The simplest

model is the additive white Gaussian noise (AWGN) model, where the noise, denoted

by w, is a Gaussian random process with one-sided power spectral density N0 and the

linear filter in the block diagram of Figure 1.1 is assumed to be only a unity gain. The

noise samples are independent and belong to the distribution N (0, σ2w), where N (μ, σ2)

denotes the Gaussian distribution with mean μ and variance σ2. The probability density

function (pdf) of the AWGN is

fw(w) =1√

2πσ2w

exp

(− w2

2σ2w

). (1.1)

This is a commonly used channel model, since AWGN is present in any communica-

tion system. The second model considered is the linear filter channel model, which is

characterized as a linear filter with AWGN. The linear filter is often time-varying.

The demodulator transforms the channel-corrupted transmitted waveforms to a se-

quence of numbers that represents estimates of the transmitted data symbols. These

numbers can be either a binary sequence of hard decisions or it can be numbers quan-

tized to more than two levels (or even continuous values), so called soft decisions. Hard

decisions are often used because of the resulting simplicity of the demodulator and the

channel decoder. Soft-decision decoding is more difficult to implement, but it offers a

significant performance improvement compared to hard-decision decoding. The demod-

ulated signal (also called the received sequence) is passed to the channel decoder, which

uses the redundancy added by the channel encoder to reconstruct the information se-

quence. With more redundancy added, the decoded output signal is more likely to equal

the transmitted information sequence. Finally, the source decoder attempts to recon-

struct the original information from the output of the channel decoder and knowledge

of the source encoding method. The following examples will concretize the concepts of

modulation, transmission over an AWGN channel, and error correcting coding.

Example: Phase Modulation In phase modulation, usually called phase-shift

keying (PSK), the phase of the carrier signal is modulated and the choice of the carrier

Page 21: Low-density parity-check codes : unequal error protection ...

1.2. A Digital Communication System 5

10

11

01

00

101

111

110

010

011

000

001

100

0

1

BPSK (M = 2) QPSK (M = 4)

8-PSK (M = 8)

Figure 1.2: Constellation diagrams for BPSK, QPSK and 8-PSK.

phase conveys the information. In M-PSK, M distinct signal waveforms with different

phases are assigned unique patterns of bits. They are represented by

sm(t) = g(t) cos

[2πfct +

M(m − 1)

]m = 1, . . . , M , (1.2)

where g(t) is the signal pulse shape. The signal waveforms may be represented as linear

combinations of two orthonormal basis functions (see for example [2] for more details).

Each signal waveform can be determined by the coefficients of these basis functions,

which correspond to a point in the plane. Figure 1.2 shows constellation diagrams for

M-PSK (M = 2, 4 and 8). If two different signal waveforms are considered (M=2), the

modulation is called binary PSK (BPSK) and the constellation is one-dimensional. With

four different signal waveforms (M=4), the scheme is called quadrature PSK (QPSK) and

corresponds to a two-dimensional constellation. Each point in an M-PSK constellation

corresponds to a signal waveform with a distinct phase. In this example, the mapping

of bits to signal waveforms is chosen according to Gray encoding, so that the most likely

errors will only result in a single bit error. M-PSK carries log2(M) bits of information in

each signaling interval. �

Page 22: Low-density parity-check codes : unequal error protection ...

6 Thesis Introduction

−2 −1 0 1 2 3 4 5 6 7−0.1

0

0.1

0.2

0.3

0.4

fr|0 sent(r)

r√Eb

Figure 1.3: Probability density function of the received value, given that a 0 was transmitted

using BPSK. The shaded area corresponds to the probability of bit error.

Example: Uncoded BPSK Transmission in AWGN We consider uncoded

BPSK transmission in AWGN, since this is a benchmark that any coded system is typ-

ically compared to. Two signal waveforms, both with energy Eb, correspond to the

transmission of 0 and 1, respectively. The Euclidean distance between the two constella-

tion points is 2√

Eb, [2]. Assuming that a 0 is transmitted and that the 0 is mapped to

the constellation point +√

Eb, the received signal is

r =√

Eb + w . (1.3)

The AWGN w belongs to N (0, σ2w), that is, it has a Gaussian distribution with zero

mean and variance σ2w = N0/2. The received signal, given that a 0 is sent, thus belongs

to N (√

Eb, σ2w). Figure 1.3 shows the pdf of r given that a 0 was sent. The decision

threshold is chosen to be zero and we assume that a 0 was sent if r > 0 and that a 1 was

sent if r < 0. The area of the shaded region in the figure corresponds to the probability

that r < 0 and a 1 is erroneously assumed to be sent. The total probability of bit error is

an average of the probability of bit error given that a 0 was sent and the probability of bit

error given that a 1 was sent. Assuming that both bit-values are equally likely and are

transmitted using the same energy, the total probability of error equals the probability

of error given that a 0 was sent. Thus, the total probability of bit error is given by

Pe =

∫ 0

−∞fr|0 sent(r)dr . (1.4)

Page 23: Low-density parity-check codes : unequal error protection ...

1.2. A Digital Communication System 7

This probability can be written as

Pe = Q

(√2Eb

N0

), (1.5)

where the Q function

Q(x) =1√2π

∫ ∞

x

exp

(−y2

2

)dy (1.6)

is the integral of the unit-variance zero-mean Gaussian pdf. The probability of error

is reduced if the signal-to-noise ratio (SNR) given by Eb/N0 is increased, which can be

achieved by increasing the transmitted energy Eb. �

Example: Error Correction by a Repetition Code Let us now consider a very

simple error-correcting code, the repetition code. The idea is straightforward. Instead of

transmitting only a single 0 or 1, the information bit is repeated a prearranged number

of times, for example three, in order to reduce the probability of bit error after decoding.

Imagine that we transmit the information 1 0 0 1 0 1 1 using the length three repetition

code. Each information bit is mapped to a codeword by the encoding rule 0 → 000 and

1 → 111. The codewords 000 and 111 can be seen as a concatenation of the information

bit and two redundant bits, called parity bits, which equal the information bit. The

codeword bits are transmitted and hard decisions on the received bits, which are affected

by noise, are fed to the decoder.

The decoder considers one received word at a time and attempts to correct any

bit errors by finding the closest codeword, which differs from the received word in the

minimum number of bits, through majority voting. If two or three bits in a received

word of length three are 0, it is assumed that the codeword 000, corresponding to the

information 0, was sent. On the other hand, if two or three bits in a received word are

1, it is assumed that a 1 was sent.

An example transmission is given in Table 1.1. The table shows 7 information bits

and their corresponding codewords. The received words, which are affected by noise, are

also given. The estimated information bits, which are the output from the decoder, are

given in the last column. Because of the two added parity bits, a length three repetition

code has the ability to correct one error or detect two errors in each received word. As

seen in the example transmission, the third received word contains one bit error, which

is corrected. Received word 6 contains two bit errors, which can be detected but not

corrected. The decoder detects errors in the received word, but assumes by majority

voting that a 0 was sent.

Page 24: Low-density parity-check codes : unequal error protection ...

8

Table 1.1: An example transmission using the repetition code of length three.

Codeword Information Codeword Received Decoder

number bit word output

1 1 111 111 1

2 0 000 000 0

3 0 000 010 0

4 1 111 111 1

5 0 000 000 0

6 1 111 001 0

7 1 111 111 1

The repetition code can reduce the probability of bit error, but it is not for free. The

cost is a loss in the information transfer rate. Instead of transmitting only one bit, three

bits need to be transmitted, which consumes three times more power. Therefore, for a

code to be useful, it needs to perform better than uncoded transmission using the same

power per information bit. In this case, it means that uncoded transmission of one bit

should be compared to transmission of three codeword bits with only one third of the

power for each bit. It turns out that the very simple repetition codes are not a good

choice and more advanced codes need to be considered. �

The overall aim of a digital communication system is to transmit as much information

as possible from the transmitter side to the receiver side with as few errors as possible.

The performance measure of the digital communication system is the average frequency

or rate with which errors occur (the bit-error rate) and the rate with which information

can be transmitted. Shannon showed that reliable communication can not be achieved at

rates greater than the channel capacity [1]. For continuous AWGN channels, the capacity

C in bits per second is defined by [5]

C = B log2

(1 +

S

BN0

), (1.7)

where B is the bandwidth in hertz and S is the signal power. The capacity increases

monotonically with increasing SNR (S/N0). Thus, for a fixed bandwidth, the capacity

increases with an increase in the transmitted signal power. On the other hand, if the

signal power is fixed, the capacity can be increased by increasing the bandwidth.

Page 25: Low-density parity-check codes : unequal error protection ...

Chapter 2

Error Control Coding

This chapter reviews some of the most important developments of error control codes. A

brief historical overview is given in Section 2.1. Section 2.2 introduces linear block codes

and discusses three important linear block codes in particular. Convolutional codes are

considered in Section 2.3 and turbo codes in Section 2.4. We also briefly introduce

coded modulation in Section 2.5. While the focus of this thesis is concentrated on LDPC

codes, a review of history allows us to view the progress of development from simple low-

performing codes to today’s advanced iterative coding schemes. By introducing some

well-known classes of codes, important concepts of error control coding are revealed. It

is also interesting to see how the focus of research has shifted over the years.

2.1 Historical Development

Research in the field of error control coding started with the pioneering work of Claude

Shannon in 1948 [1] on reliable communication over noisy transmission channels. He

demonstrated that with proper encoding and decoding techniques the errors induced

by a noisy channel can be reduced to any desired level without sacrificing the rate of

information transmission, as long as the information rate is less than the capacity of the

channel. However, the proof is non-constructive, since it does not give explicit encoders

and decoders that can achieve this theoretical limit. Shannon’s results initiated large

efforts by many researchers in design of good codes and practical decoding algorithms.

Hamming codes, which belong to the class of linear block codes, were proposed already

in the late 1940s, [6].

During the 1950s and 1960s, much coding research focused on developing the theory

of efficient encoders and decoders. Especially linear block codes and convolutional codes,

9

Page 26: Low-density parity-check codes : unequal error protection ...

10 Error Control Coding

first introduced by Elias [7] in 1955, gained much interest. Gallager invented low-density

parity-check (LDPC) codes already in 1962 [8], but his work was largely forgotten until

the rediscovery of LDPC codes in the mid 1990s. LDPC codes are discussed in detail in

Chapter 3.

After a number of years of coding research for binary-input channels, research in

the 1970s and 1980s lead to new bandwidth-efficient coding schemes. In fact, in the

early 1970s it was believed that coding gain could only be achieved through bandwidth

expansion and that coding would therefore not be a good solution for strongly bandwidth-

limited communication systems [9]. A bandwidth-efficient combination of coding and

modulation, called coded modulation, was proposed by Ungerboeck and Csajka in 1976.

Ungerboeck extended the idea further in [10–12]. Another coded modulation scheme was

proposed around the same time by Imai and Hirakawa [13].

In the 1990s, a period of much interest in concatenated codes lead to the discovery of

turbo codes. Berrou et al. [14] combined parallel concatenation including an interleaver

with iterative decoding by soft-in soft-out (SISO) decoders. Simulations revealed the

amazing performance of this coding scheme, which could approach the Shannon limit

within less than one decibel. A few years after the discovery of turbo codes, Gallager’s

LDPC codes were reinvented independently by MacKay and Neal [15] and Wiberg [16].

However, the ideas of iterative decoding were present already in Gallager’s original work.

If simulation techniques had been more advanced when Gallager presented his work, the

history of coding theory could have been very different.

Research in the 2000s has lead to new methods for analyzing iterative coding schemes,

like turbo and LDPC codes. Ten Brink [17] proposed a technique to aid the construction

of good iteratively-decoded error-correcting codes, called extrinsic information transfer

(EXIT) chart. Around the same time, Richardson and Urbanke [18] developed a gen-

eral method for determining the thresholds of LDPC codes, called density evolution.

The density evolution algorithm was simplified by Chung et al. [19], who introduced a

Gaussian approximation of the message densities.

A detailed overview of the historical development of coding theory can be found

in [20]. In the remaining sections of this chapter, some important classes of codes are

introduced. For more details the reader is referred to textbooks in error control coding,

e.g. [9, 21, 22].

Page 27: Low-density parity-check codes : unequal error protection ...

2.2. Linear Block Codes 11

2.2 Linear Block Codes

Let the row vector u = [u1 u2 . . . uk] of length k denote a block of information bits, called

the information word. There are, in total, qk different information words, where q ≥ 2 is

the size of the alphabet. In the following, only binary codes with q = 2 are considered

and the arithmetic will be done modulo-2. The encoder maps each information word to

a distinct codeword v = [v1 v2 . . . vn], represented by a row vector of length n, where

n ≥ k. In other words, while there are 2n possible bit patterns, only a small subset of 2k

bit patterns are selected to be codewords. Such a code with length n and 2k codewords is

called an (n, k) block code. The n−k redundancy bits, called parity bits, that are added

to the information word are determined by linear functions of the original k information

bits. A binary block code is linear if and only if the sum of any two codewords (modulo-2)

is also a codeword. The code rate is defined by the ratio R = k/n, which is bounded by

0 ≤ R ≤ 1.

The mapping from an information word to a codeword may be performed by mul-

tiplication with a generator matrix. The generator matrix G is a k × n matrix, which

specifies k vectors from which all codewords can be built. The encoding process can be

represented by

v = u ·G. (2.1)

If the generator matrix consists of a k × k identity matrix followed by a k × (n − k)

matrix, it has the special form corresponding to a systematic code. The codewords of a

systematic code consist of the corresponding information word followed by n − k parity

bits.

A linear block code may also be specified by its parity-check matrix H of size (n −k) × n. The parity-check matrix is defined such that any row in G is orthogonal to any

row in H, that is,

G ·HT = 0, (2.2)

where 0 represents a zero vector or matrix of suitable size. An n-tuple v is a codeword

in the code generated by G if and only if v ·HT = 0.

Example: The (7,4) Hamming Code The (7,4) Hamming code is a linear block

code of length n = 7, which transmits 7 codeword bits for every block of k = 4 in-

formation bits. Assuming that the code is in systematic form, each codeword consists

of four information bits followed by three parity bits, that is, [v1 v2 v3 v4 v5 v6 v7] =

[u1 u2 u3 u4 v5 v6 v7]. The parity bits v5, v6 and v7 are determined by linear functions of

the information bits. These linear functions may be described by the generator matrix or

Page 28: Low-density parity-check codes : unequal error protection ...

12 Error Control Coding

1

0 01

10 0

b)a)

u1

u2

u3

u4

v5 v6

v7

Figure 2.1: Graphical representation of encoding for the (7,4) Hamming code.

by the graphical description shown in Figure 2.1, where the codeword bits are arranged

in three intersecting circles. The parity bits should be chosen such that the (modulo-2)

sum of all bits within each circle is 0 , that is, the parity bit should equal the parity of

the information bits included in each circle. From Figure 2.1a), the encoding rule for a

(7,4) Hamming code is found to be

v5 = u1 + u2 + u3

v6 = u1 + u3 + u4

v7 = u2 + u3 + u4 . (2.3)

As an example, Figure 2.1b) shows the encoding of the information u = [1 0 1 0]. The

parity bits should be v5 = 0, v6 = 0, and v7 = 1, so that the sum of bits within each circle

is zero. This yields the codeword v = [1 0 1 0 0 0 1]. Now, assume that this codeword

is transmitted over a noisy channel and received as the word r = [1 1 1 0 0 0 1]. It is

easy to verify that r does not correspond to a valid codeword, that is, the sum within

each circle is not equal to zero and it does not fulfill the rules given by (2.3). The (7,4)

Hamming code is capable of correcting one bit error and we may ask the question: is it

possible to find one unique bit that lies inside all circles with bits not summing to zero,

and outside all circles with bits summing to zero? If so, this bit is probably in error and

the error may be corrected by flipping this bit.

Stronger codes, with higher error-correcting capabilities, may be constructed by con-

sidering longer codewords. In this case, it is easier to represent the codes by their gen-

erator and parity-check matrices. The basic ideas of encoding and decoding remains the

same nonetheless. The generator matrix corresponding to the graphical representation

Page 29: Low-density parity-check codes : unequal error protection ...

2.2. Linear Block Codes 13

of encoding shown in Figure 2.1 is

G =

⎡⎢⎢⎢⎣

1 0 0 0 1 1 0

0 1 0 0 1 0 1

0 0 1 0 1 1 1

0 0 0 1 0 1 1

⎤⎥⎥⎥⎦ . (2.4)

2.2.1 Decoding of Linear Block Codes

Let r = [r1 r2 . . . rn] denote hard decisions on the received values at the output of the

channel. The received vector r may be different from the codeword v and the vector sum

e = [e1 e2 . . . en] = r + v (2.5)

is called the error vector. The easiest way to decode a linear block code is by syndrome

decoding. When a vector is received, the decoder calculates the syndrome

s = [s1 s2 . . . sn−k] = r · HT . (2.6)

The syndrome s = 0 if and only if r is a codeword. If r is a codeword, it is assumed that

the information word corresponding to r was transmitted. If s �= 0, it is desired that the

decoder finds the codeword that differs from r in the minimum number of bits. Since

r = v + e and v · HT = 0, the syndrome can be written

s = e · HT . (2.7)

Among all possible error vectors that solve this system of equations, the most probable

error vector is chosen as the true error vector. For binary symmetric channels the most

probable error vector is the vector with the smallest number of ones. Thus, syndrome

decoding corresponds to maximum-likelihood (ML) decoding, since the most likely code-

word is found by the decoder. There are 2n−k possible distinct syndromes and each

syndrome is mapped to the lowest weight error vector solving (2.7). However, since the

number of distinct syndromes grows exponentially with n − k, an exhaustive search is

practically impossible for long codes. Already for n − k = 20, the number of distinct

syndromes are more than one million.

Page 30: Low-density parity-check codes : unequal error protection ...

14 Error Control Coding

2.2.2 Error Detecting and Correcting Capabilities

The number of nonzero digits in a sequence is called the (Hamming) weight of the se-

quence. The minimum (Hamming) distance, denoted by dmin, of a linear block code

is defined as the smallest number of bits by which any two codewords differ. It can

be shown, for a linear code, that the minimum distance is equal to the weight of the

minimum weight codeword (excluding the all-zero codeword). The minimum distance is

connected to a code’s capabilities of detecting and correcting random errors.

Considering a block code with minimum distance dmin, no error vector with weight

less than dmin can change one codeword into another. All such errors can be detected. If

the error vector has weight equal to dmin, there exist at least one pair of codewords that

differs only by dmin bits. An error vector with non-zero digits in exactly these positions

can not be detected, but if the code is long there may still be many other detectable

error vectors of weight dmin or more. Let t denote the error correcting capability of the

code, that is, assume that the code can correct any error vectors of weight less than or

equal to t. It can be shown that

t =

⌊dmin − 1

2

⌋. (2.8)

Syndrome decoding maps each distinct syndrome to the lowest weight error vector cor-

responding to that syndrome. The number of correctable error patterns thus equals the

number of distinct syndromes. For a t-error correcting code it is required that all possible

error vectors of weight t or less are fewer or equal to the number of distinct syndromes,

that is,

1 +

(n

1

)+

(n

2

)+ . . . +

(n

t

)≤ 2n−k . (2.9)

Many block codes with error correction capability t can also correct some error vectors

of weight higher than t. The only exception is the so-called perfect codes, where all errors

of weight t or less can be corrected but any error of higher weight is mapped to another

codeword. For perfect codes, the inequality (2.9) becomes an equality.

During the development of linear block codes the focus of many researchers has been

to search for codes of a given length that have the largest possible distance, which implies

that a large number of errors can be guaranteed to be corrected. However, many codes

can in fact correct a large fraction of error vectors with much higher weight than t.

MacKay [5] stated that the minimum distance of a code, although widely worshiped by

coding theorists, is not of fundamental importance to Shannon’s mission of achieving

reliable communication over noisy channels. He also explained that state of the art

Page 31: Low-density parity-check codes : unequal error protection ...

2.2. Linear Block Codes 15

decoders that approach the Shannon limit need to correct errors of much higher weight

than t.

2.2.3 Important Linear Block Codes

Three important linear block codes are briefly introduced in this section: Hamming codes,

cyclic codes, and binary BCH codes.

Hamming Codes

Hamming codes [6] with codeword length n = 2m − 1 and k = 2m − 1 − m information

bits exist for all integers m ≥ 3. All Hamming codes have a minimum distance dmin = 3,

which implies that every Hamming code can correct one error or detect two errors. The

parity-check matrix contains binary vectors describing the decimal numbers 1 to n as

columns in any order. The systematic parity-check matrix may be written in matrix

partitioned form as

H = [P Im] , (2.10)

where P contains all length m binary vectors of weight two or more and Im denotes the

identity matrix of size m × m. The generator matrix is given by

G =[Ik PT

]. (2.11)

Hamming codes are perfect codes and fulfill (2.9) with equality.

Example: The (15,11) Hamming Code A linear block code of length n = 15

and k = 11 has the parity-check matrix

H =

⎡⎢⎢⎢⎣

1 1 0 1 0 0 1 1 1 0 1 1 0 0 0

1 0 1 0 1 0 1 1 0 1 1 0 1 0 0

0 1 1 0 0 1 1 0 1 1 1 0 0 1 0

0 0 0 1 1 1 0 1 1 1 1 0 0 0 1

⎤⎥⎥⎥⎦ . (2.12)

Since the last four columns equal the identity matrix, the code is in systematic form.

Also, all distinct vectors of length four (except the zero vector) are found as columns in

H and therefore the code is a Hamming code. The first 11 columns may be arranged

in any order and the parity-check matrix will still describe a systematic Hamming code.

The BER performance of this code is shown in Figure 2.7. �

Page 32: Low-density parity-check codes : unequal error protection ...

16 Error Control Coding

Cyclic Codes

Cyclic codes are popular due to their special structure that simplifies the logic required

for encoding and decoding and their ability to detect bursts of errors, that is, a number

of consecutive errors in an otherwise error-free word. A code is cyclic if a cyclic shift of

any codeword is also a codeword. All codewords in a cyclic code can be generated from

one special codeword by shifting and addition (since the code is cyclic and linear). The

special codeword that is used to generate the other codewords is usually called a generator

sequence. By treating the bits in a codeword v = [v1 v2 . . . vn] as the coefficients of a

polynomial, any codeword can be written as a code polynomial

v(X) = v1 + v2X + v3X2 + . . . + vnXn−1 . (2.13)

The generator sequence is denoted by a generator polynomial g(X). The cyclic shift of the

generator sequence that gives the polynomial with the lowest degree is typically chosen

as the generator polynomial. The lowest possible degree of the generator polynomial is

n − k.

Any cyclic codeword can be considered to be the product of the generator polynomial

and some polynomial representing the information content of the codeword, which we

denote by u(X). This multiplication v(X) = g(X)u(X) also corresponds to convolution

of the sequences g = [g1 g2 . . . gn−k+1] and u = [u1 u2 . . . uk]. Non-systematic encoding

can be accomplished by a linear shift register with n−k stages and feedback connections,

while systematic encoding requires a few more steps.

Decoding of cyclic codes consists of the same three steps as decoding of any linear

block code; compute the syndrome, associate the syndrome with an error vector and

correct the error by addition of the presumed error vector to the received vector. The

syndrome of a systematic cyclic code can easily be calculated by dividing the received

polynomial r(X) by the generator polynomial g(X). The remainder s(X) is the syn-

drome. The division can be accomplished efficiently by a shift register with feedback,

similar to the encoder circuit. The mapping from syndrome to error vector may be

performed by a lookup-table, but the structure of the cyclic code can also be used to

implement a simplified logic at the cost of speed.

Cyclic codes are often used for error detection and are especially good at detect-

ing bursts of errors. Since the syndrome is calculated through division of the received

polynomial by the generator polynomial, the error polynomial must have the generator

polynomial as a factor to give a zero syndrome, corresponding to undetected errors. Thus,

any error bursts of weight less than n − k (the degree of the generator polynomial) are

detected. A commonly used cyclic redundancy check (CRC) code has a generator poly-

Page 33: Low-density parity-check codes : unequal error protection ...

2.2. Linear Block Codes 17

nomial of degree 12 and codeword length n = 2047, of which 2035 bits carry information.

It has minimum distance 4, but can detect any error bursts of length 11 or less.

Binary BCH Codes

Bose-Chaudhuri-Hocquenghem (BCH) codes were invented by Hocquenghem in 1959

and independently by Bose and Chaudhuri [23] in 1960. BCH codes are a class of cyclic

codes and may be specified by a generator polynomial g(X). The generator polynomial

is determined by its roots and can be constructed as the least common multiple of the

minimum polynomials of the specified roots. The roots are chosen in such a way that

the columns of the parity-check matrix have a high degree of linear independence, which

gives a large distance, while also ensuring a good code rate. The following description

of BCH codes assumes that the reader is somewhat familiar with finite fields and finite

field arithmetics. Tutorials on this subject can be found in almost any textbook on error

control coding, see for example [9, 22].

Fix a finite field GF (2m). There exist binary BCH codes with length n = 2m − 1 and

n − k ≤ mt parity bits. Let α be a primitive element in GF (2m), such that the powers

of α, α0 to α2m−2, form all the nonzero elements of the field. The generator polynomial

of a t-error correcting BCH code is the lowest-degree polynomial that has the 2t roots

αm0 , αm0+1, . . . , αm0+2t−1 . (2.14)

A common choice is m0 = 1, which is also assumed here for simplicity. These roots of

the generator polynomial will be denoted consecutive roots for short. Note that Reed-

Solomon codes are a special class of non-binary BCH codes, with m = 1 and m0 = 1.

The BCH codes can also be represented by their parity-check or generator matrix.

The parity-check matrix may be derived in a straightforward way from the roots of the

generator polynomial. If γ is a root of the generator polynomial it is also a root of any

of the codeword polynomials, that is,

v(γ) = v1 + v2γ + v3γ2 + . . . + vnγn−1 = 0 . (2.15)

The consecutive roots are roots of the generator polynomial and therefore also roots of

any codeword polynomial v(X). Each root corresponds to one parity-check equation

like (2.15), which can be combined to give the parity-check matrix. If there are j roots

Page 34: Low-density parity-check codes : unequal error protection ...

18 Error Control Coding

Table 2.1: Binary polynomial representation of GF (16).

Element Value Element Value

0 0000 α7 1011

α0 0001 α8 0101

α1 0010 α9 1010

α2 0100 α10 0111

α3 1000 α11 1110

α4 0011 α12 1111

α5 0110 α13 1101

α6 1100 α14 1001

γ1, . . . , γj, the parity-check matrix may be written

H =

⎡⎢⎢⎢⎢⎣

1T γ1T γ2

1T · · · γn−1

1T

1T γ2T γ2

2T · · · γn−1

2T

......

1T γjT γ2

jT · · · γn−1

jT

⎤⎥⎥⎥⎥⎦ . (2.16)

It is not necessary to include all conjugate roots in the parity-check constraints, since

v(γ) = 0 also implies that v(γ2) = 0 and so on. The roots may be considered simply

as elements in GF (2m), but they may also be given a binary representation. The binary

representation is typically a binary row vector, which needs to be transposed to a column

vector when inserted in (2.16). The following example explains how to construct a BCH

code and the corresponding parity-check matrix.

Example: Single-error correcting BCH code We construct a code with the

parameters m = 4, t = 1, and n = 2m − 1 = 15. The code is defined in GF (16), which is

constructed from the minimal polynomial p(X) = X4 +X +1. Thus, a primitive element

α of the field must fulfill α4+α+1 = 0 and any power of α can through this constraint be

rewritten as a polynomial of degree three or less. The binary polynomial representation

of the powers of α in GF (16) is given in Table 2.1, where the binary value corresponds

to the coefficients of a degree three polynomial in α. Polynomial representations of the

finite fields GF (2m), 3 ≤ m ≤ 10 can be found in [9, Appendix A].

The consecutive roots of this single-error correcting code are α1 and α2. These roots

have the conjugate roots α4 and α8, since the next conjugate root α16 = α1 is already

Page 35: Low-density parity-check codes : unequal error protection ...

2.2. Linear Block Codes 19

included. The generator polynomial is

g(X) = (X + α1)(X + α2)(X + α4)(X + α8) (2.17)

= X4 + X + 1 . (2.18)

This code has 4 parity-checks, since the degree of the generator polynomial is 4, and

defines a (15, 11) cyclic block code. The parity-check matrix is defined by (2.16) and

the consecutive roots α1 and α2. Since α2 is a conjugate root of α1, only the root α1 is

needed to define H. The binary representations of the powers of α from Table 2.1 are

inserted into (2.16) and we get

H =

⎡⎢⎢⎢⎣

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1

0 0 1 0 0 1 1 0 1 0 1 1 1 1 0

0 1 0 0 1 1 0 1 0 1 1 1 1 0 0

1 0 0 0 1 0 0 1 1 0 1 0 1 1 1

⎤⎥⎥⎥⎦ . (2.19)

From the parity-check matrix we see that this is a cyclic (15, 11) Hamming code. In fact,

cyclic Hamming codes are just single-error correcting binary BCH codes. �

The decoding of binary BCH codes can be divided into three main steps.

1. Calculate the syndrome of the received sequence r.

2. Calculate the error locator polynomial.

3. Calculate the roots of the error locator polynomial, to get error location positions.

The syndrome can be calculated by evaluating the received polynomial at all consecutive

roots. If there are no errors, we have r(αi) = 0 for all consecutive roots αi, 1 ≤ i ≤ 2t.

Again, it is not necessary to check all conjugate roots. If the syndromes are nonzero,

the locations of the errors may be found through the error locator polynomial, at least

if there are not more than t errors. Assume that there are l ≤ t errors in positions

j1, . . . , jl. It can be shown that

Si = r(αi) = v(αi) + (αi)j1 + . . . + (αi)jl, 1 ≤ i ≤ 2t, (2.20)

where v(αi) = 0. Solving the syndrome equations of (2.20) is the main part of the BCH

decoding and any method for solving these equations is a BCH decoding algorithm.

Let Λ(X) = 1+λ1X+. . .+λtXt denote the error locator polynomial. The polynomial

is defined by

Λ(X) = (1 + αj1)(1 + αj2) · · · (1 + αjl) (2.21)

Page 36: Low-density parity-check codes : unequal error protection ...

20 Error Control Coding

and the roots of the error locator polynomial are α−j1, . . . , α−jl. The coefficients of Λ(X)

can be determined from the equations (also called the Newton’s identities)

St+i + λ1St+i−1 + . . . + λt−1Si+1 + λtSi = 0, 1 ≤ i ≤ t . (2.22)

When the coefficients have been determined, the roots of Λ(X) are calculated and the

errors can be corrected. The calculations in step 2 of the above decoding algorithm may

be performed by Berlekamp’s iterative algorithm.

2.3 Convolutional Codes

Convolutional codes were introduced by Elias in 1955, [7]. They are different from block

codes in the sense that the encoder contains memory. The encoder output at a given

time is therefore dependent on a number of previous information bits.

2.3.1 Encoding

The encoder of a convolutional code is easily implemented by a number of shift registers.

A rate R = k0/n0 convolutional encoder processes a block of k0 information bits at a time

to produce a block of length n0, called a frame, that is one part of the code sequence.

Let M denote the encoder memory order, that is, the maximum number of shift register

stages in the path to any output bit. The memory constraint length, denoted by μ, defines

the total number of shift register stages in the encoder. The encoding operation can be

described by generator polynomials, where one polynomial represents the generation of

one output bit from one information bit. For example, a simple convolutional code of

rate R = 1/2 (n0 = 2, k0 = 1) has the generator polynomials

g(1)(D) = D2 + 1 , (2.23)

g(2)(D) = D2 + D + 1 , (2.24)

where D can be interpreted as a delay operator. The generator polynomials represent

the impulse response of the encoder. Given an information sequence u = [u1, u2, u3, . . .],

the two output sequences v(1) = [v(1)1 , v

(1)2 , v

(1)3 , . . .] and v(2) = [v

(2)1 , v

(2)2 , v

(2)3 , . . .] can

be obtained as the convolution of u with the two generator polynomials.

The encoder described by the above generator polynomials is non-recursive and does

not employ feedback in the encoding operation. The code is also non-systematic. Such an

encoder is commonly referred to as a non-systematic convolutional (NSC) encoder. An-

other common type of encoder is the recursive systematic convolutional (RSC) encoder.

Page 37: Low-density parity-check codes : unequal error protection ...

2.3. Convolutional Codes 21

01

10

11

000/00

0/11

1/11

1/00

0/10

0/10

0/01

1/01

0/00

0/11

1/11

1/00

0/10

0/10

0/01

1/01

0/00

0/11

1/11

1/00

0/10

0/10

0/01

1/01

0/00

0/11

1/11

1/00

0/10

0/10

0/01

1/01

Figure 2.2: Trellis diagram of the rate 1/2 convolutional code described by the generator poly-

nomials (2.23) and (2.24). The states are written on the left and the input/output bits corre-

sponding to each transition are written close to each edge in the graph.

The generator polynomials of a RSC encoder are rational functions in D with binary co-

efficients. Every recursive systematic encoder can be transformed into a non-systematic

non-recursive encoder. Both encoders generate the same code, that is, the same set of

code sequences. The difference lies in the mapping of messages to code sequences. In

particular, weight 1 information sequences are mapped to finite weight sequences by the

NSC encoder, but to sequences of infinite weight by the RSC encoder.

2.3.2 Decoding

The decoding of a convolutional code is conveniently described by a code trellis. The

trellis contains all 2μ possible states on the vertical axis and uses time on the horizontal

axis to show the possible paths through the states. The edges in the trellis correspond

to possible state transitions. Figure 2.2 shows the trellis for the generator polynomials

given in (2.23) and (2.24). The states are written on the left and the input/output bits

corresponding to each transition are written in the graph.

Convolutional codes with short constraint length are generally decoded by the Viterbi

algorithm or the BCJR algorithm. These algorithms are both optimal, but according

to different criteria. The Viterbi algorithm is a maximum-likelihood (ML) decoding

algorithm, that is, the decoder selects the codeword that maximizes the conditional

probability of the received sequence. Thus, decoding by the Viterbi algorithm leads to

the lowest possible codeword error rate. On the other hand, the BCJR algorithm is a

maximum a posteriori probability (MAP) algorithm, which maximizes the a posteriori

probability that an information bit is correctly decoded, given the received sequence.

Page 38: Low-density parity-check codes : unequal error protection ...

22 Error Control Coding

Therefore, the BCJR algorithm minimizes the probability of information bit error.

If longer constraint lengths are desired, a suboptimal sequential decoding algorithm

may be used instead of the Viterbi or BCJR algorithm. In sequential decoding, only the

most likely paths through the trellis are stored. The decoder considers only extensions of

these paths, which reduces the decoding complexity considerably. Two commonly used

sequential decoding algorithms are the Fano algorithm [24] and the stack algorithm [25].

Similar to block codes, convolutional codes have a concept of distance that deter-

mine the error-correcting capabilities of the code. The most important distance measure

for convolutional codes is the minimum free distance (dfree), that defines the minimum

number of bits in which any two different paths differ.

The Viterbi Algorithm

ML decoding of a convolutional code implies that the received sequence should be com-

pared with every possible code sequence, that is, the sequences corresponding to every

possible path through the trellis. Fortunately, Viterbi [26] realized how to simplify the

ML decoding without sacrificing performance. In principle, the Viterbi algorithm relies

on the fact that a path to a certain state that is non-optimal in one stage can never be

optimal in the future. This means that only one path reaching each state needs to be

stored. The complexity of the decoder is thereby largely reduced, since the number of

states is only 2μ. In general, Viterbi decoding is employed for memory constraint lengths

in the range 2 ≤ μ ≤ 10 [22].

The steps of the Viterbi algorithm performed for each received frame (n0 bits) are:

1. For each path (one incident to each state) at the start of the frame, compute the

distance between the received frame and the n0 bits corresponding to each of the

2k0 extensions of the path. This distance, for example calculated as the Hamming

distance, is called the branch metric.

2. For each of the states at the end of the frame, construct the 2k0 paths which

terminate in that state. Calculate the sum of branch metrics (the overall path

metric) for each of those paths. Store the path with the lowest overall path metric.

If several paths have the same metric, one of them is chosen arbitrarily.

Usually, any non-recursive encoder is cleared after each sequence by transmission of μ

zeros, such that the encoder shift register ends in the zero state. For recursive encoders,

the clearing data depends on the state of the encoder. If the encoder is cleared, the

decoder chooses the path with the lowest metric, that also ends in the zero state, as the

Page 39: Low-density parity-check codes : unequal error protection ...

2.3. Convolutional Codes 23

optimal path. The information bits corresponding to the optimal path may be stored

during calculation of the path metrics or they can be found by following the optimal path

through the trellis.

If the received sequence r contains soft decisions (possibly quantized values) instead

of hard decisions, the Viterbi algorithm performs better. A metric that takes the soft

information into account should then be used instead of the Hamming distance.

The BCJR Algorithm

A MAP decoding algorithm for convolutional and linear block codes was proposed by

Bahl et al. [27] and called the BCJR algorithm after its inventors. In the same paper, the

authors also pointed out that linear block codes could be given a trellis representation.

The complexity of the BCJR algorithm is however significantly higher than the complex-

ity of the Viterbi algorithm, while giving only a minimal BER reduction. Due to the

high complexity, the BCJR algorithm initially received very little attention. Later, with

the invention of turbo codes (see Section 2.4), the MAP decoder gained much interest

as a component decoder in the iterative turbo decoding scheme. The main ideas of the

BCJR algorithm are presented in this section and the reader is referred to [28] for a good

tutorial and to [9] for more details.

We consider a binary-input continuous-output AWGN channel. Assume that the

bits vi of the code sequence are represented by BPSK signals through the mapping

vi = 0 → +1 and vi = 1 → −1. The received sequence r is real-valued. The BCJR

algorithm calculates the log a posteriori probability (LAPP) ratio of the code sequence

bits, defined by

L(vi) = log

(P (vi = +1|r)P (vi = −1|r)

). (2.25)

The decoder makes a decision on the bits by

vi =

{0 if L(vi) > 0

1 if L(vi) < 0. (2.26)

By incorporating the code structure through the trellis, (2.25) may be written [28]

L(vi) = log

⎛⎜⎜⎝∑S+

P (si−1 = s′, si = s, r)/P (r)

∑S−

P (si−1 = s′, si = s, r)/P (r)

⎞⎟⎟⎠ , (2.27)

where si is the state of the encoder at time i, S+ is the set of state transitions (s′, s)

caused by an information bit ui = 0 (mapped to +1) and S− is the set of state transitions

Page 40: Low-density parity-check codes : unequal error protection ...

24 Error Control Coding

(s′, s) caused by an information bit ui = 1 (mapped to −1). The probabilities in (2.27)

are determined by a recursive calculation similar to the Viterbi algorithm. The main

difference is that when two paths merge, a joint metric for arriving at the state by either

route is calculated. The following steps summarize the BCJR algorithm.

1. Forward recursion: Compute a forward metric for each state at all time instances

in the trellis.

2. Backward recursion: Compute a backward metric for each state at all time instances

in the trellis.

3. Find bit values: For each time i in the trellis and for each transition in S−, add

the forward metric to the metric of state s, and add the transition metric and

the backward metric to the metric of state s′. Do the same calculation for each

transition in S+. These metrics are combined by (2.27) to find the bit value.

2.4 Turbo Codes

Turbo codes, first presented in 1993 by Berrou et al. [14], have exceptionally good per-

formance and vastly outperformed previously known codes. Two fundamental ideas were

combined in the development of turbo codes. The authors considered a parallel concate-

nation of two convolutional codes, separated by a pseudorandom interleaver, and they

also introduced an iterative decoding scheme for this parallel concatenation. The result

is an almost capacity-achieving code with moderate decoding complexity.

2.4.1 Encoding of Turbo Codes

Turbo codes are encoded by a parallel concatenation of convolutional component en-

coders. Figure 2.3 shows a schematic description of a parallel concatenated encoder.

The information bits u are encoded by a component encoder to create a sequence of

parity bits p1. The information bits are also interleaved by a random interleaver Π and

encoded by a second component encoder, to produce a second sequence of parity bits p2.

The function of the interleaver is to decorrelate the inputs to the component encoders,

so that the parity bits are independent. The two component encoders are often identical.

The information bits and the two parity sequences are multiplexed to create the code-

word v. Recursive systematic convolutional (RSC) component codes have been shown to

perform much better than non-recursive codes in turbo coding schemes. Typically, the

RSC encoders have rate R = 1/2 and then the parallel concatenated encoder has rate

Page 41: Low-density parity-check codes : unequal error protection ...

2.4. Turbo Codes 25

RSC encoder

information

RSC encoder

Π

u

p1

p2

v = [u p1 p2]

Figure 2.3: A parallel concatenated encoder.

R = 1/3. If a higher rate is desired, puncturing of the parity bits (a number of bits are

periodically deleted) to reduce coding overhead is often employed.

The component encoders generally have a small memory constraint length μ. Good

performance at moderate BERs is achieved with μ = 4 or less, [9]. To achieve performance

close to the Shannon limit the interleaver should be large, typically several thousand bits

or more. Pseudorandom interleavers give the best performance. Note that the interleaver

makes the number of possible states in the overall code extremely large. Therefore, it is

not possible to decode the parallel concatenation by trellis-based ML or MAP algorithms.

2.4.2 Turbo Decoding

Turbo codes are decoded iteratively and the bit level soft decisions calculated by one com-

ponent decoder are used to improve the soft decisions calculated by the second component

decoder. The best performance is achieved if a MAP decoder, e.g. the BCJR algorithm,

is used as component decoder. The iterative decoding algorithm to be described here is

suboptimal, but achieves near-ML performance nonetheless.

Using Bayes’ rule, the LAPP ratio L(vi) from (2.25) can be written

L(vi) = log

(P (r|vi = +1)

P (r|vi = −1)

)+ log

(P (vi = +1)

P (vi = −1)

). (2.28)

The second term represents a priori information about the codeword bits. The bit-values

are typically equally likely, resulting in zero a priori information. However, in an iterative

decoding scheme, the first decoder outputs soft information regarding the information

bits u, which serves as a priori information for the second decoder. In the same way,

the first decoder receives soft information from the second decoder. The soft information

that one decoder passes to the other is extrinsic information, meaning that one decoder

only passes information that is not available to the other decoder. The first decoder

Page 42: Low-density parity-check codes : unequal error protection ...

26 Error Control Coding

information

a priori

+

+−

parity sequence 2 parity sequence 1

informationBCJR

decoderBCJR

decoder Π

Π−1

Figure 2.4: Iterative decoding of turbo codes, [22].

passes information about u that comes from the parity sequence p1, while the second

decoder passes information coming from the parity sequence p2. The LAPP L(vi) after

decoding may be written as a sum of three terms,

L(vi) = Lchannel + La priori + Lextrinsic , (2.29)

where Lchannel corresponds to the received channel log-likelihood ratio (LLR), La priori is

the a priori LLR and Lextrinsic is the extrinsic part of the LAPP. The extrinsic information

passed to the next decoder can be calculated by subtracting Lchannel and La priori from

L(vi).

Figure 2.4 describes the iterative decoding scheme for turbo codes. In the first itera-

tion, the a priori information to the first BCJR decoder is zero, since it is assumed that

the bit-values are equally likely. The first decoder uses the channel LLR values of the

information bits and parity sequence 1 to calculate LAPPs of these bits. The input to

the first decoder is subtracted from its output LAPPs of the information bits to produce

extrinsic information, which is a priori information to the second decoder. The a priori

LLRs and the channel LLRs of the information bits are interleaved by the interleaver Π

to arrange the information bits in the right order. The second decoder calculates LAPPs

from the a priori LLRs and the channel LLRs of the information bits and parity sequence

2. The input to the second decoder is subtracted to produce extrinsic information. This

information is deinterleaved and fed to the first decoder. The steps described here con-

stitute one decoding iteration. The iterative decoding can be interrupted after a given

number of iterations (typically on the order of 10-20) or when the LAPP estimates are

assumed to be sufficiently reliable. The hard decisions on the information bits are found

from the last estimate of LAPPs.

Page 43: Low-density parity-check codes : unequal error protection ...

2.5. Coded Modulation 27

2.5 Coded Modulation

It is well-known that coding combined with binary modulation requires bandwidth ex-

pansion by a factor of 1/R, if the information rate should be the same as for uncoded

transmission. By a combination of coding and modulation, called coded modulation,

it is possible to achieve coding gain without bandwidth expansion. Coded modulation

involves signal set expansion rather than bandwidth expansion. In principle, coded mod-

ulation applies more redundancy to bits in a symbol that are more likely to be in error,

due to the mapping of symbols to the constellation points. Coded modulation may be

implemented by convolutional codes, called trellis coded modulation, or by linear block

codes, called block coded modulation.

2.5.1 Trellis Coded Modulation

Ungerboeck and Csajka introduced trellis coded modulation (TCM) in 1976, but the

method was not widely reckoned until the publication of Ungerboeck’s more detailed

follow-up paper [10] in 1982. Ungerboeck has also summarized the general principles of

TCM in [11, 12]. The main idea of TCM is to find a good convolutional code for higher

order modulations by maximizing the minimum squared Euclidean distance (instead of

Hamming distance) between code sequences. To achieve a large minimum squared Eu-

clidean distance, the parity checks are applied on a per-symbol basis instead of applied to

the bitstream before modulation. This allows construction of codes with a minimum Eu-

clidean distance between code sequences that significantly exceeds the minimum distance

between uncoded modulation signals, at the same rate, bandwidth and signal power.

Ungerboeck’s approach to map the symbol values to the constellation points was to

use set partitioning of the bit values within a symbol. For example, consider the 8-

PSK constellation shown in Figure 2.5, where the symbols are labeled by binary vectors

d = [d3 d2 d1]. Let bit d1 correspond to the principal set partition, with bits from adjacent

constellation points separated into different sets. This step may be seen as a conversion

from one 8-PSK constellation into two QPSK constellations, emphasized by dotted lines

connecting their elements. Bit d2 partitions the closest points in each of these sets into

different subsets, which corresponds to further partitioning of each QPSK constellation

into two BPSK signal sets. Finally, bit d3 determines the point within the subset. Note

that in this case the set partitioning mapping corresponds to natural mapping, which

assigns labels in the order of their integer equivalents.

After set partitioning, a convolutional code is designed to protect the set partition.

The first TCM schemes were designed in a heuristic manner, but later Ungerboeck de-

Page 44: Low-density parity-check codes : unequal error protection ...

28 Error Control Coding

100

101

110

111

000

010

001

011

d1d2d3

Figure 2.5: 8-PSK constellation with set partitioning.

duced a general structure of multilevel encoders followed by mapping of symbols to con-

stellation points by set partitioning. This general structure allowed a computer search

for the best TCM schemes and Ungerboeck showed improvements in the order of 6 dB

compared to uncoded QPSK.

Example: Trellis Coded 8-PSK This example considers Ungerboeck’s first TCM

scheme for 8-PSK [11]. A rate R = 2/3 TCM scheme is designed that can easily be com-

pared with uncoded QPSK, since both systems allow transmission at the same rate and

bandwidth. Consider the 8-PSK constellation with set partitioning shown in Figure 2.5.

Bit d3 is left uncoded, since the Euclidean distance between two constellation points that

differ only in bit d3 is the largest possible within this constellation. A rate R = 1/2

convolutional code determines the two other bits that have smaller uncoded Euclidean

distance. This coded modulation scheme achieves a 3 dB coding gain compared to un-

coded QPSK. �

2.5.2 Block Coded Modulation

Block coded modulation (BCM) considers a combination of block coding and channel

signal sets to construct bandwidth-efficient codes. Imai and Hirakawa [13] were the first

to consider BCM in 1976. They proposed a multilevel coding technique to construct

BCM codes and a multistage decoding algorithm for these codes. The block diagram of

a multilevel encoder for a modulation scheme with 2lm symbols is shown in Figure 2.6.

The information bits are partitioned into lm blocks with lengths corresponding to the

Page 45: Low-density parity-check codes : unequal error protection ...

2.6. Performance Comparison 29

partition signalmapper

ofinformation

v1

v2

vlm

v

u1

u2

ulm

u

E1

E2

Elm

Figure 2.6: Block diagram of an encoder for multilevel signal transmission.

possibly different rates of the component encoders E1 to Elm . The information blocks

u1, . . . ,ulm are encoded by the component encoders and each component code Ci is a

(n, ki) linear block code. The signal mapper combines one bit from each of the codewords

v1, . . . ,vlm to one symbol with lm bits.

Short BCM codes may be decoded by ML decoding algorithms based on the code

trellis. Multilevel codes may also be decoded by a multistage decoding procedure that

provides a good trade-off between error performance and decoding complexity. The

multistage decoding algorithm decodes each component code with a soft-decision ML

algorithm, one at a time. The decoded information from one component code is passed

to the next decoding step. In principle, the Euclidean distance between possible words of

one component decoder depends on the bits estimated in the earlier component decoders.

Since errors may propagate from one component decoder to the next, the multistage

decoding algorithm is suboptimal even though each component decoder is a ML decoder.

2.6 Performance Comparison

Reduced error probability may be achieved by adding redundancy to the information

word, but adding redundancy implies that more bits need to be transmitted. For a fair

comparison between codes of different rates and uncoded transmission, the signal to noise

ratio (SNR) is measured in energy per information bit over the one-sided noise power

spectral density, that is, Eb/N0. Therefore, the benefits of the code must at least com-

pensate for the Eb/N0 loss, otherwise the overall performance is reduced. Typically, the

bit-error rate (BER) or frame-error rate (FER) performance is plotted as a function of

Eb/N0. Coded communication systems can also be compared in terms of coding gain,

Page 46: Low-density parity-check codes : unequal error protection ...

30 Error Control Coding

which defines the reduction of the Eb/N0 required to achieve a specific error probability,

compared to uncoded transmission. When comparing different systems, it is also im-

portant to remember that a coded system with good performance generally requires a

complex encoder and decoder.

Figure 2.7 shows a comparison between the (15,11) Hamming code, an often used

convolutional code with memory constraint length 6, and turbo and LDPC codes of

different length. The BER of uncoded BPSK is also shown. The excellent performance

of LDPC codes is shown here to motivate the more detailed description of these codes

in Chapter 3. All codes except the (15, 11) Hamming code have rate R = 1/2. The

BER performance for LDPC codes and turbo codes of length 103, 104 and 106 are taken

from [29, Fig. 3]. The minimum required SNR to achieve reliable communication (the

Shannon limit) with a coded system of rate R = 1/2 over a continuous-output AWGN

channel and BPSK modulation is 0.188 dB, [9].

The figure shows that the short Hamming code gives only a moderate coding gain

even for high Eb/N0 (around 1 dB at a BER of 10−4), compared to uncoded BPSK. The

Hamming code is also the only code shown here that is decoded by hard decisions. In

general, unquantized soft-decision ML decoding achieves an asymptotic coding gain of

3 dB compared to hard-decision ML decoding. The performance of the convolutional

code is significantly better than the performance of the Hamming code. However, the

introduction of turbo codes and LDPC codes revolutionized the coding performance.

Even for short turbo and LDPC codes the BER performance is largely improved. Figure

2.7 shows that the coding gain of the LDPC code of length 103 is 6.5 dB at a BER of

10−4, compared to uncoded BPSK. This means that transmission at the BER of 10−4

can be achieved by LDPC codes of length 103 using less than 25% of the power needed

to achieve the same BER in uncoded transmission. The turbo code outperforms the

LDPC code for short codeword lengths. On the other hand, for very long codewords, the

performance of the LDPC code comes very close to the Shannon limit and outperforms

the turbo code. In fact, it can be shown that turbo codes are just special cases of LDPC

codes [5, p. 581].

Figure 2.8 shows the general form of turbo and LDPC performance curves. At Eb/N0

above a certain value, the BER falls rapidly with increased Eb/N0. The range of Eb/N0

values that has this rapid reduction of BER is called the waterfall region. However,

both turbo codes and LDPC codes have been shown to reach a region where the BER

curve flattens, called the error floor region. Turbo codes usually reach the error floor at

BERs around 10−5−10−6 and the error floor typically arises from low-weight codewords.

Appropriate interleaver design may reduce the number of low-weight codewords and thus

Page 47: Low-density parity-check codes : unequal error protection ...

2.6. Performance Comparison 31

0 1 2 3 4 5 6 7 8 910

−6

10−5

10−4

10−3

10−2

10−1

Eb/N

0 (dB)

BE

R

Uncoded BPSK

Hamming(15,11)

Convolutional

Shannonlimit

LDPC n = 103

Turbo n = 103

LDPC n = 104

Turbo n = 104

LDPC n = 106

Turbo n = 106

Figure 2.7: Comparison between bit-error rates of several different codes. The figure shows the

excellent performance of LDPC codes. All codes except the (15, 11) Hamming code have rate

R = 1/2.

lower the error floor. LDPC codes also exhibit error floors, but generally they appear at

lower BERs than for turbo codes. The error floor of an LDPC code has been shown to

arise from certain combinatorial structures of the code, called trapping sets [30].

Page 48: Low-density parity-check codes : unequal error protection ...

32

regionwaterfall

regionerror floor

BER

Eb/N0

Figure 2.8: General performance curve of turbo and LDPC codes.

Page 49: Low-density parity-check codes : unequal error protection ...

Chapter 3

Low-Density Parity-Check Codes

Low-density parity-check (LDPC) codes were originally discovered by Gallager in 1962 [8].

He introduced linear block codes specified by a very sparse parity-check matrix created

in a random manner. The main contribution of Gallager was however a non-optimum

but simple iterative decoding scheme for the LDPC codes, with complexity increasing

only linearly with block length, that showed promising results. In the following years

there were very few papers in this field, but Tanner introduced the bipartite graph to

this problem in 1981 and used it both for code construction and for decoding (with a

generalization of Gallager’s iterative algorithm), [31]. Around 1996, LDPC codes were

independently rediscovered by MacKay and Neal [15] and Wiberg [16]. Sipser and Spiel-

man [32] are sometimes also mentioned as reinventors of Gallager’s work. In the last

decade much research has been devoted to this area. However, the practical performance

of Gallager’s original work from 1962 would have broken practical coding records up to

1993, [33]. A tutorial coverage of LDPC codes can be found for example in [34, 35].

3.1 Fundamentals of LDPC Codes

LDPC codes are specified by a very sparse parity-check matrix, that is, the parity-check

matrix should have a very small number of ones in each row and column compared to the

codeword length. The codeword length and the number of information bits are denoted

by n and k, respectively. The dimensions of the parity-check matrix are m × n, where

m ≥ n − k denotes the number of parity bits and m equals n − k if the rows of H are

linearly independent. The design code rate is R = k/n. As suggested by Tanner [31],

an LDPC code can also be represented by a bipartite graph, called Tanner graph. The

bipartite graph consists of two types of nodes and edges may only connect two nodes

33

Page 50: Low-density parity-check codes : unequal error protection ...

34 Low-Density Parity-Check Codes

of different types. One type of nodes, called variable nodes, corresponds to the bits

of the codeword, while the other type, called check nodes, corresponds to the parity-

check constraints. Every edge in the graph connecting a variable node with a check

node corresponds to a one in the parity-check matrix. The m rows of the parity-check

matrix specify the m check node connections, and the n columns of the parity-check

matrix specify the n variable node connections. The number of edges connected to a

node is called the degree of the node. LDPC codes where all nodes of the same type

have the same degree are called regular LDPC codes, while LDPC codes where variable

nodes and/or check nodes have different degrees are called irregular. Figure 3.1 shows an

example of a Tanner graph for a regular LDPC code of length 10, with the parity-check

matrix given by

H =

⎛⎜⎜⎜⎜⎜⎜⎝

1 1 1 1 0 0 0 0 0 0

1 0 0 0 1 1 1 0 0 0

0 1 0 0 1 0 0 1 1 0

0 0 1 0 0 1 0 1 0 1

0 0 0 1 0 0 1 0 1 1

⎞⎟⎟⎟⎟⎟⎟⎠

. (3.1)

Note that the parity-check matrix given by (3.1) for the example code of length 10 is not

sparse. In practice the codeword length ranges from at least a few hundred to several

thousand bits or more, while the degrees of the nodes (corresponding to the column and

row weights of the parity-check matrix) are only slightly higher than those shown in the

example graph.

Both the Tanner graph and the parity-check matrix give a full specification of one

instance of an LDPC code on its own. By defining a degree distribution pair (λ(x), ρ(x)),

an ensemble of LDPC codes may be described, [36]. The variable node and check node

degree distributions are polynomials defined by

λ(x) =

dvmax∑i=2

λixi−1 (3.2)

and

ρ(x) =

dcmax∑i=2

ρixi−1 , (3.3)

respectively. The maximum variable (check) node degree is denoted by dvmax (dcmax). The

coefficients of the variable (check) node degree distribution λi (ρi) represent the fraction

of edges incident to variable (check) nodes of degree i. Since the degree distributions

describe fractions of edges, the coefficients λi and ρi must be non-negative and the sum

of the coefficients must equal one (∑dvmax

i=2 λi = 1 ,∑dcmax

i=2 ρi = 1). The regular code

Page 51: Low-density parity-check codes : unequal error protection ...

3.1. Fundamentals of LDPC Codes 35

v1

v2

v3

v4

v5

v6

v7

v8

v9

v10

c1

c2

c3

c4

c5

Variable Checknodes nodes

Figure 3.1: Bipartite graph describing a regular LDPC code of length 10.

shown in Figure 3.1 is a realization of the code ensemble described by λ(x) = x and

ρ(x) = x3. The number of variable nodes and check nodes of degree i are given by

n · λi/i∑dvmaxj=2 λj/j

(3.4)

and

m · ρi/i∑dcmaxj=2 ρj/j

, (3.5)

respectively. The code rate may also be expressed by the degree distributions as

R =n − m

n= 1 −

∑dcmaxj=2 ρj/j∑dvmaxi=2 λi/i

. (3.6)

Irregular LDPC codes have been shown to approach the Shannon limit closely, [29,37].

In the search for good irregular LDPC codes, it is typical to first search for an asymp-

totically good code ensemble. A specific code from this ensemble is then constructed

according to the specified degree distributions. Usually, effort is spent to avoid short

cycles in the bipartite graph, since cycles in the graph affects the performance under

iterative decoding negatively. The length of the shortest cycle in the graph is called the

girth.

The construction algorithms for regular and/or irregular LDPC codes can be divided

into two main categories: construction of random-like LDPC codes and construction of

Page 52: Low-density parity-check codes : unequal error protection ...

36 Low-Density Parity-Check Codes

structured LDPC codes. Random-like (pseudo-random) constructions include the first

construction suggested by Gallager in [8] as well as [29, 33,38–42]. Most random graphs

are constructed under certain constraints on girth, degree distributions, etc. For example,

the medium length codes constructed in [29] contain no cycles involving only degree-two

variable nodes. In general, long random-like LDPC codes perform better than structured

LDPC codes with comparable parameters. However, the encoding complexity is usually

higher than for structured LDPC codes. A large amount of information is also required

to specify the positions of the non-zero elements in a pseudo-random parity-check matrix.

One drawback with LDPC codes has been the relatively high encoding complexity.

While turbo codes can be encoded in linear time, LDPC encoding in general has quadratic

complexity in the block length. However, Richardson and Urbanke showed that the

constant factor in the complexity expression is very low, and therefore practically feasible

encoders exist even for large block lengths, [43]. They also gave examples of optimized

codes that can be encoded in linear time.

Many algebraic and combinatorial constructions of structured LDPC codes have been

suggested to reduce the encoding complexity and storage requirements, for example [44–

53]. Especially cyclic or quasi-cyclic LDPC codes are popular since the encoding can

be implemented using simple shift registers and the complexity is linearly proportional

to the number of parity bits of the code [44–49]. Algebraic constructions based on

balanced incomplete block designs are presented in [51]. It has also been shown that for

practical codeword lengths, well-designed structured LDPC codes can perform as well as

random-like LDPC codes, [51]. An extensive reference list containing both random-like

and structured LDPC codes is given in [53].

3.2 Decoding of LDPC Codes

The main advantage of LDPC codes is the simple iterative decoding algorithms that are

available. LDPC codes may be decoded by a variety of decoding algorithms ranging from

the low-complexity bit-flipping decoding algorithm proposed by Gallager, [8], to the more

complex sum-product algorithm. The complexity of these decoding algorithms is linear

in block length. In the following, we focus on the sum-product algorithm (SPA). It is very

efficient for decoding LDPC codes, see for example [9, 33] or the tutorial paper on the

sum-product algorithm written by Kschischang et al., [54]. The sum-product algorithm

gives the same result as MAP decoding in the special case where the Tanner graph

contains no cycles and the received symbols are independent of each other. However,

sum-product decoding of LDPC codes in which the underlying graph has cycles, has also

Page 53: Low-density parity-check codes : unequal error protection ...

3.2. Decoding of LDPC Codes 37

been shown to perform very well for long codes, see for example [15].

In short, the sum-product algorithm iteratively updates the a posteriori probabilities

that a given bit in the codeword equals 0 or 1, given the received word. In the initialization

each variable node is assigned the conditional probability of the codeword bit being a

0 or 1, given only the received value corresponding to that node. In order to calculate

the conditional probabilities, the distribution of the noise must be known. The initial

probabilities are then updated according to the sum-product rule to incorporate the

structure of the code. In cycle-free graphs, the sum-product algorithm yields the correct

a posteriori probabilities, that a given bit in the codeword equals 0 or 1 given the whole

received word, when the algorithm terminates.

The sum-product algorithm may be described either in the probability or the log-

probability domain. The latter is usually chosen since it is numerically stable and may

be more favorable for hardware implementation. Below, the sum-product algorithm in

the log-probability domain is summarized. The conventional, flooding-schedule iterative

decoder is considered.

Let v = [v1 v2 . . . vn] be a codeword, where vi ∈ {0, 1} for 1 ≤ i ≤ n. We

assume that the received channel samples are given by r = x + w, where xi = (−1)vi

and w = [w1 w2 . . . wn] are samples of white Gaussian noise with wi coming from the

distribution N (0, σ2w) for 1 ≤ i ≤ n. Furthermore, let {dv(i)}n

i=1 and {dc(j)}mj=1 denote

the degrees of the variable nodes and check nodes, respectively, where dv(i) is the degree

of the ith variable node and dc(j) is the degree of the jth check node. Figure 3.2 shows

the message flow through a variable node and a check node. The sum-product algorithm

calculates approximations of the variable node LLRs

Lv(i) = log

(P (xi = +1|r)P (xi = −1|r)

). (3.7)

1. Initialization:

Compute the channel bit LLRs for each variable node as

Lch(i) = log

(Pr(xi = +1|ri)

Pr(xi = −1|ri)

)=

2ri

σ2w

. (3.8)

2. Check node update:

Compute the messages from each variable node to all its neighboring check nodes.

The message from variable node i to check node j is given by

Lvc(i, j) = Lch(i) +∑j′ �=j

Lcv(j′, i) , (3.9)

Page 54: Low-density parity-check codes : unequal error protection ...

38 Low-Density Parity-Check Codes

where Lcv(j′, i) is the incoming message from check node j′ to variable node i. The

summation is over the dv(i)− 1 check node neighbors of variable node i, excluding

check node j.

3. Variable node update:

Compute the messages from each check node to all its neighboring variable nodes.

The message from check node j to variable node i is given by

Lcv(j, i) = 2 tanh−1

(∏i′ �=i

tanh

[1

2Lvc(i

′, j)])

, (3.10)

where Lvc(i′, j) is the incoming message from variable node i′ to check node j. The

product is over the dc(j) − 1 variable node neighbors of check node j, excluding

variable node i.

4. Verify parity checks:

Compute the LLR of each variable node as

Lv(i) = Lch(i) +∑

j

Lcv(j, i) , (3.11)

where the summation is over all dv(i) check node neighbors of variable node i. If

Lv(i) > 0, it is assumed that the corresponding codeword bit is vi = 0, otherwise

vi = 1. If v is a valid codeword, that is, v · HT = 0, the algorithm is halted.

Otherwise, repeat the check node and variable node update (steps 2-3) and verify

the parity checks again, until a valid codeword is found or a preset maximum

number of iterations is reached.

As described in step 4, the decoding of LDPC codes is typically stopped when a valid

codeword is found. This stopping criterion may save computation time and gives a clear

distinction of detected or undetected errors. Undetected errors occur if the decoder finds

a valid codeword v that is not equal to the true v. Detected errors occur if the algorithm

runs for the maximum number of iterations (typically on the order of 100) without finding

a valid codeword. In practice, undetected errors are rare.

The error performance of an LDPC code under SPA decoding depends on several

important parameters, [9]. The girth of the Tanner graph should be large enough so

that short cycles are avoided. With many short cycles in the graph, the decoder may

not converge to a codeword close to that found by the ML decoder. However, the girth

should not be too large either. As shown in [55], codes with cycle-free Tanner graphs have

a very poor tradeoff between rate and minimum distance for each fixed length. In [41],

Page 55: Low-density parity-check codes : unequal error protection ...

3.2. Decoding of LDPC Codes 39

a) b)

cj

cj

cj′1 cj′2cj′

dv(i)−1

vi

vi

dv(i) − 1

Lch(i)

Lvc(i, j)

Lcv(j′1, i)

Lcv(j′2, i)

Lcv(j′dv(i)−1, i)

vi′1 vi′2vi′

dc(j)−1

dc(j) − 1

Lcv(j, i)

Lvc(i′1, j)

Lvc(i′2, j)

Lvc(i′dc(j)−1, j)

Figure 3.2: Message flow through a) variable node i and b) check node j.

the authors argue that the negative effect of short cycles on performance is much less if

the cycle is well connected, that is, if the cycle involves variable nodes of high degree.

It has also been shown that the error-floor performance of the decoder is governed by

a small number of likely error events related to certain structures in the Tanner graph,

called trapping sets or near codewords, [30]. Known trapping sets have short cycles, and

it is tempting to conjecture that avoiding short cycles is the best solution. However, it

may be better to avoid the trapping sets directly in order to lower the error floors, [56].

Another parameter to consider is the minimum distance of the code. LDPC codes with a

large minimum distance tend to have a low error floor. The number of minimum-weight

codewords also affects the performance. Finally, the column and row weights of the

parity-check matrix affect the error performance and the speed of decoding convergence.

Page 56: Low-density parity-check codes : unequal error protection ...

40 Low-Density Parity-Check Codes

3.3 Density Evolution

LDPC codes exhibit a threshold for many channels and iterative decoders of interest,

[8, 29, 36]. When the block length tends to infinity and the noise variance is less than

a certain threshold, an arbitrarily small BER may be achieved. On the other hand,

if the noise variance is above the threshold, the BER will be larger than a positive

constant even if the number of decoder iterations approaches infinity. Richardson et

al. used the expected behavior in the limit of infinitely long codes to determine the

expected performance of LDPC codes, since it is difficult to analyze for codes of finite size,

[18]. They developed an algorithm to iteratively calculate probability density functions

(densities) of the messages, called density evolution. The algorithm may be used to

analyze the performance of LDPC codes with given degree distributions by calculating

their thresholds.

Density evolution is applicable to memoryless binary-input output-symmetric chan-

nels [18], where the input is X ∈ {±1} and the output Y depends only on the current

input symbol and fulfills the symmetry condition

P (y|X = 1) = P (−y|X = −1) . (3.12)

If these conditions are satisfied, the performance of the LDPC code is independent of the

encoded data. For simplicity, the density evolution algorithm was derived assuming that

the all-one codeword was transmitted, [18]. The density evolution algorithm was also

derived under the assumption that the Tanner graph of the LDPC code is cycle-free, or

at least has girth g > 2l, if the performance after l decoder iterations is considered. A

random graph can be considered to be cycle-free if the block length approaches infinity.

Using the density evolution theory, Richardson et al. proved several important properties

of infinitely long LDPC codes that are also very useful in practice when designing LDPC

codes of finite size [18]:

1. Concentration: “Let P ne (l) be the expected fraction of incorrect messages which

are passed in the lth iteration, where the expectation is over all instances of the

code, the choice of the message, and the realization of the noise. For any δ > 0, the

probability that the actual fraction of incorrect messages which are passed in the lth

iteration for any particular such instance lies outside the range (P ne (l)−δ, P n

e (l)+δ)

converges to zero exponentially fast in n.”

2. Convergence to cycle-free case: “P ne (l) converges to P∞

e (l) as n tends to in-

finity, where P∞e (l) is the expected fraction of incorrect messages passed in the lth

Page 57: Low-density parity-check codes : unequal error protection ...

3.3. Density Evolution 41

decoding round assuming that the graph does not contain cycles of length 2l or

less.”

3. Density evolution and threshold determination: “P∞e (l) is computable by

a deterministic algorithm. Furthermore, there exists a channel parameter σ∗, the

threshold, with the following property: if σ < σ∗ then liml→∞ P∞e (l) = 0; if, on the

other hand, σ > σ∗ then there exists a constant γ(σ) > 0 such that P∞e (l) > γ(σ)

for all l ≥ 1.”

The concentration statement tells us that all codes belonging to the same ensemble have

almost the same performance. The important consequence is that for long codes it is

enough to analyze the average behavior of the code ensembles of interest. However,

for shorter LDPC codes the difference in performance is significant for different code

realizations from the same ensemble [40–42].

Density evolution may be used to calculate thresholds and optimize degree distri-

butions, but the computational complexity is very high (except for the binary erasure

channel where density evolution becomes one-dimensional). However, Chung et al. pre-

sented an approximation of the density evolution algorithm [19], that is summarized in

the following section. Since this approximation is generally employed in analysis of LDPC

codes, a detailed description of the original density evolution algorithm is omitted here.

3.3.1 The Gaussian Approximation

The density evolution algorithm tracks densities of messages, representing each density

by an infinite-dimensional vector. However, with only a relatively small loss in accuracy,

the message density can be assumed to be a Gaussian density, simply represented by its

mean and variance, [19]. Density evolution under the Gaussian approximation is easier to

analyze and has much lower computational complexity than density evolution. It is there-

fore useful for the optimization of LDPC codes. With the Gaussian approximation, good

irregular LDPC codes may be found using linear programming. The following deriva-

tion of density evolution under the Gaussian approximation for irregular LDPC codes

follows that of [19]. Note that this derivation assumes that only the all-zero codeword is

transmitted, corresponding to a sequence of ones after modulation.

Assume that the density of an LLR message L(l)cv from a check node to a variable

node in the lth iteration is approximated by a Gaussian density specified by its mean

(m(l)cv ) and variance ([σ2

cv](l)). For output-symmetric channels, all message densities must

fulfill the symmetry condition f(x) = f(−x)ex, where f(x) is the density of an LLR

message, [29, Theorem 3]. This gives a relation between the mean and the variance,

Page 58: Low-density parity-check codes : unequal error protection ...

42 Low-Density Parity-Check Codes

[σ2cv]

(l) = 2m(l)cv , which implies that only the mean of the messages needs to be tracked.

Furthermore, let m(l)vc and mch denote the mean of an LLR message from a variable node

to a check node, and the mean of the channel bit LLR, respectively. The density of an

LLR message from a variable node to a check node in the lth iteration is approximated

by a Gaussian mixture

fvc(l) =

dvmax∑i=2

λiN (m(l)vc,i, 2m

(l)vc,i) , (3.13)

where m(l)vc,i is the mean of the messages from variable nodes of degree i, given by

m(l)vc,i = mch + (i − 1)m(l−1)

cv , (3.14)

and N (m, σ2) is a Gaussian density with mean m and variance σ2.

The density of the messages from check nodes to variable nodes is determined from

(3.10), which may be rewritten as

tanh

[L

(l)cv (j, i)

2

]=∏i′ �=i

tanh

[L

(l)vc (i′, j)

2

], (3.15)

where the product is over the dc(j)−1 variable node neighbors of check node j, excluding

variable node i. For irregular LDPC codes, the LLR messages from variable/check nodes

of the same degree are assumed to be independent and identically distributed (i.i.d.).

Therefore, by taking the expected value of both sides, (3.15) simplifies to

E

[tanh

L(l)cv,j

2

]= E

[tanh

L(l)vc

2

]j−1

. (3.16)

where j now denotes the degree of the check node instead of the check node number

itself.

Now, assume that the random variable Z ∈ N (mz, 2mz). Then the expectation

E[tanh z/2] depends only on the mean mz, that is,

E[tanh

z

2

]=

1√4πmz

∫R

tanhz

2e−

(z−mz)2

4mz dz . (3.17)

For convenience, define the function

φ(x) =

{1 − 1√

4πx

∫R

tanh z2e−

(z−x)2

4x dz, if x > 0

1, if x = 0 .(3.18)

Note that φ(x) is continuous and monotonically decreasing on [0,∞) and has an inverse

φ−1(x).

Page 59: Low-density parity-check codes : unequal error protection ...

3.3. Density Evolution 43

Using (3.13) together with (3.17) and (3.18), we get

E

[tanh

L(l)vc

2

]= 1 −

dvmax∑i=2

λiφ(m

(l)vc,i

). (3.19)

By inserting (3.19) into (3.16), the mean m(l)cv,j of the Gaussian message from a check

node of degree j to a variable node in the lth iteration is found to be

m(l)cv,j = φ−1

⎛⎝1 −

[1 −

dvmax∑i=2

λiφ(m

(l)vc,i

)]j−1⎞⎠ . (3.20)

The average mean of all messages from check nodes to variable nodes is a weighted

average of the mean values m(l)cv,j with ρj as weights,

m(l)cv =

dcmax∑j=2

ρjm(l)cv,j (3.21)

=

dcmax∑j=2

ρjφ−1

⎛⎝1 −

[1 −

dvmax∑i=2

λiφ(m(l)vc,i)

]j−1⎞⎠ . (3.22)

Using (3.14), (3.22) can be written as a recursive equation

m(l)cv =

dcmax∑j=2

ρjφ−1

⎛⎝1 −

[1 −

dvmax∑i=2

λiφ(mch + (i − 1)m(l−1)

cv

)]j−1⎞⎠ , (3.23)

which is the fundamental equation of many designs of LDPC codes. For error-free de-

coding, when the noise variance is below the threshold, the recursive equation converges

to ∞ as l → ∞.

3.3.2 Mutual Information and EXIT Charts

Instead of tracking the mean of the Gaussian messages, one may track the mutual in-

formation (MI) that corresponds to the Gaussian approximation of the message density.

Tracking MI generally gives the most accurate prediction of the decoding threshold and

MI is also a good metric for many different channels, [57] [58, Ch. 4.10.1]. The MI

transfer characteristics have been used in [17, 59] to analyze the convergence of iterative

decoding schemes. We derive a recursive equation, similar to (3.23), for tracking the

MI evolution. The reader is referred to the tutorial introduction in [57] for a detailed

derivation.

Page 60: Low-density parity-check codes : unequal error protection ...

44 Low-Density Parity-Check Codes

Let IA,V be the average a priori MI between the input messages and the codeword

bits associated to the corresponding variable nodes. IE,V is the average extrinsic MI

between the output messages and the corresponding codeword bits. Similarly on the

check node side, define IA,C (IE,C) to be the average a priori (extrinsic) MI between the

check node input (output) messages and the codeword bits corresponding to the variable

nodes providing (receiving) the message. The evolution is initialized by the average MI

between the received messages and the corresponding codeword bits, denoted by Ich. For

the AWGN channel, it is given by Ich = J(σch), where

σ2ch = 8R

Eb

N0(3.24)

and Eb/N0 is the signal-to-noise ratio at which the analysis is performed. The function

J(·) is defined by

J(σ) = 1 −∫ ∞

−∞

1√2πσ2

e−(y−σ2/2)2

2σ2 log2(1 + e−y)dy (3.25)

and computes the MI of a Gaussian random variable y ∈ N(

σ2

2, σ2

). An approximation

of the J-function and its inverse, which simplifies the implementation of the MI evolution,

is found in [59].

For irregular LDPC codes, the MI evolution functions are given by [57]

I(l)E,V =

dvmax∑i=2

λiJ

(√(i − 1)

[J−1

(I

(l)A,V

)]2

+ σ2ch

)(3.26)

and

I(l)E,C = 1 −

dcmax∑j=2

ρjJ

(√(j − 1)

[J−1

(1 − I

(l)A,C

)]2)

. (3.27)

Note that the extrinsic MI from the variable nodes is the a priori MI for the check nodes,

that is, I(l)A,C = I

(l)E,V . Similarly, we have that I

(l+1)A,V = I

(l)E,C . The recursion is initialized by

I(1)A,V = 0.

The exchange of extrinsic information may also be visualized in an extrinsic informa-

tion transfer chart (EXIT chart), [17, 59]. An EXIT chart shows the characteristics of

both the variable node and check node update and the functions (3.26) and (3.27) are

plotted in the same diagram. However, when plotting the characteristics of the check

node update, the axes are swapped. The MI evolution can now be visualized as a decoding

trajectory.

Figure 3.3 shows the EXIT chart for an irregular LDPC code with rate R = 1/2,

maximum variable node degree dvmax = 20, and a constant check node degree dc = 8,

Page 61: Low-density parity-check codes : unequal error protection ...

3.3. Density Evolution 45

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

IA,V

or IE,C

I E,V

or

I A,C

IA,C (IE,C)

IE,V (IA,V , Eb/N0)

Figure 3.3: EXIT chart for a rate R = 1/2 irregular LDPC code at Eb/N0 = 2 dB.

at Eb/N0 = 2 dB. The arrows show the decoding trajectory, starting with zero a priori

information in the point (0, 0). A vertical and a horizontal arrow correspond to one

decoder iteration. If the decoding process converges successfully, the trajectories reach

the point (1, 1). To achieve convergence, there must be a tunnel between the two curves,

that is, the characteristics of the variable node update IE,V (IA,V , Eb/N0) must lie above

the characteristics of the check node update IA,C (IE,C). The code threshold corresponds

to the Eb/N0 at which the tunnel opens and the decoding converges faster the wider the

tunnel is.

Page 62: Low-density parity-check codes : unequal error protection ...

46 Low-Density Parity-Check Codes

Page 63: Low-density parity-check codes : unequal error protection ...

Part II

Introduction to the Specific Research Topics

Page 64: Low-density parity-check codes : unequal error protection ...

48

Page 65: Low-density parity-check codes : unequal error protection ...

Chapter 4

Overview of Clipping Mitigation

Strategies in OFDM

Multi-carrier transmission is a method of transmitting data by splitting it into several

components and sending each of these components over separate carrier signals. The

available channel bandwidth is divided into a number of equal-bandwidth subchannels,

where the bandwidth of each subchannel is sufficiently narrow so that the frequency

response characteristics of the subchannels are nearly flat. Multi-carrier transmission

techniques started evolving already in the 1960’s and have received much interest over

the years. Multi-carrier transmission is also known as orthogonal frequency-division

multiplexing (OFDM) or discrete multitone (DMT). For a detailed introduction to multi-

carrier transmission systems, the reader is referred to any of the textbooks on the subject,

for example [60]. In this chapter, the basics of the OFDM system are presented. Then

the clipping problem is discussed and an overview of current clipping mitigation methods

is provided.

4.1 OFDM Basics

The main idea of OFDM is to convert an intersymbol interference (ISI) channel into par-

allel ISI-free subchannels, [61,62]. Each subchannel will have gain equal to the channel’s

frequency response at the corresponding subchannel frequency. OFDM is implemented

by an inverse fast Fourier transform (IFFT) at the transmitter side and an FFT at the

receiver side. Let {Xi}N−1i=0 denote the N message subsymbols of one data block, typically

called the frequency-domain signal, where N is the number of subchannels in the OFDM

49

Page 66: Low-density parity-check codes : unequal error protection ...

50 Overview of Clipping Mitigation Strategies in OFDM

NN NP/S S/P FFT

NNIFFT

AWGN

Linear equalizerfilter

Channel

X x Yy X

Figure 4.1: The conventional OFDM system.

system. The baseband signal, called the time-domain signal, can be written

xn =1√N

N−1∑i=0

Xi · ej2πni/N n = 0, . . . , N − 1 . (4.1)

Thus, the modulated OFDM vector can be expressed as

x = IFFT{X}. (4.2)

A cyclic prefix of length no less than the order of the channel is generally inserted between

successive blocks. The cyclic prefix makes the linear convolution with the channel appear

as circular convolution, which corresponds to multiplication in the FFT domain. The

cyclic prefix also prevents interblock interference. For simplicity, the cyclic prefix is

omitted in this presentation and it is assumed that there is no interblock interference. A

block diagram describing the conventional OFDM system is shown in Figure 4.1. Figure

4.2 shows a sample of an OFDM block with N = 64 subcarriers and BPSK modulation.

The frequency-domain signal Xn is shown in Figure 4.2a) and the absolute value of the

complex time-domain signal xn is shown in Figure 4.2b).

OFDM has already been included in several standards, e.g. digital audio/video broad-

casting (DAB/DVB) and the local area mobile wireless networks (802.11a). The tech-

niques have also been adopted by the ETSI broadcast radio access network commit-

tees, [63]. OFDM enables simple equalization since each subchannel can be assumed to

have a frequency-flat impulse response. However, there are several drawbacks with the

OFDM system, such as large peak-to-average power ratio (PAPR) of the transmitted

signal and sensitivity to channel fades due to reduced diversity, [60]. The PAPR is often

very high for OFDM signals, since the peak of the complex envelope of the time-domain

signal may be up to√

N times higher than the maximum absolute value of a message

subsymbol Xi.

A large PAPR makes power backoff necessary, otherwise the transmitter high-power

amplifier (HPA) will be working in its non-linear region, resulting in non-linear distortions

of the transmitted signal. It is important to use the linear region of the HPA to prevent

Page 67: Low-density parity-check codes : unequal error protection ...

4.1. OFDM Basics 51

0 10 20 30 40 50 60 70−1.5

−1

−0.5

0

0.5

1

1.5

0 10 20 30 40 50 60 700

1

2

3

a)

n

Xn

b)

n

|x n|

Figure 4.2: A sample OFDM block with N = 64 subcarriers.

spectral growth that may result in interference between the subchannels and out-of-

band radiation. However, with a large power backoff, the range of the transmission is

reduced. Also, the power consumption of a HPA depends largely on its peak power

output rather than the average output power [64]. Occasional large peaks imply low

power efficiency, which is a drawback especially in mobile applications where the battery

lifetime is important. To avoid these problems, PAPR-reduction algorithms or deliberate

time-domain amplitude clipping can be employed.

The instantaneous PAPR of the kth OFDM block and the overall PAPR are defined

by

PAPRk =‖xk‖2

∞E{‖xk‖2

2}/N(4.3)

and

PAPR =maxk‖xk‖2

∞E{‖xk‖2

2}/N, (4.4)

respectively, where xk is the kth block of the time-domain signal vector. However, in

Page 68: Low-density parity-check codes : unequal error protection ...

52 Overview of Clipping Mitigation Strategies in OFDM

practice it is more useful to know the distribution of the instantaneous PAPR. The

complementary cumulative distribution function (CCDF) of the PAPR is commonly used

as a performance measure, [63]. The instantaneous PAPR of the sample OFDM block

shown in Figure 4.2b) is 7.7. Note also that the PAPR of the frequency-domain signal,

shown in Figure 4.2a), is only 1.

4.2 Reduction of the Peak-To-Average Power Ratio

A number of methods for dealing with the high PAPR of the OFDM signal have been

proposed. These techniques include clipping and filtering [65–69], tone reservation [70,71],

active constellation extension [64], multiple signal representation [72–75], etc. A tutorial

overview of PAPR reduction techniques for OFDM can be found in [63]. A few of the

available techniques are summarized here.

The simplest method for PAPR reduction is probably digital clipping and filtering of

the time-domain signal, [65–69]. The amplitude of the time-domain signal is clipped and

the signal after clipping is

[xn]clipped =

{xn, |xn| ≤ A

Aejφ(x), |xn| < A(4.5)

where φ(xn) is the phase of xn and A is the maximum allowed amplitude. The clipping

distortion falls both in-band and out-of-band, but the out-of-band distortion can be

reduced by filtering [65,66]. However, in-band distortion and some out-of-band distortion

will always remain. In [67], the performance of clipped OFDM signals is analyzed. The

authors calculate the capacity of the channel including clipping and show that the clipping

distortion considerably limits the achievable capacity. The peak regrowth after digital-

to-analog (D/A) conversion can be reduced by clipping the oversampled OFDM signal,

resulting in less in-band distortion [67]. The negative effects of clipping on transmission

over frequency-selective fading channels have on the other hand been shown to be small

[68]. Unexpectedly, it has recently been shown that clipping may increase the diversity

on such channels under maximum-likelihood sequence detection (MLSD), with reduced

bit-error-rates as a consequence [69]. When the time-domain signal is deliberately clipped

in the transmitter to reduce the PAPR, it is of interest to mitigate the clipping effects in

the receiver. Several clipping mitigation methods are discussed in Section 4.3.

Another efficient PAPR reduction technique is tone reservation, developed by Tellado

and Cioffi [70]. The main idea is to reserve a number of subchannels (tones) for PAPR

reduction. Given the data block to be transmitted, optimal values for transmission over

Page 69: Low-density parity-check codes : unequal error protection ...

4.2. Reduction of the Peak-To-Average Power Ratio 53

these subchannels are calculated. The values should be chosen such that the resulting

time-domain signal, which is a superposition of the original time-domain signal and the

time-domain signal corresponding to the values chosen for the reserved subchannels, has

the lowest possible PAPR. For wireline systems, there are typically subchannels with

SNRs too low for sending any information. These subchannels may be used for PAPR

reduction without any loss in bandwidth. In wireless systems on the other hand, a set of

subchannels must be reserved for PAPR reduction regardless of their SNRs, since channel

information is typically not available. When subchannels with high SNRs are reserved

for PAPR reduction instead of carrying information, bandwidth is sacrificed. The tone

reservation technique was further developed in [71].

The active constellation extension (ACE) technique reduces the PAPR without sacri-

ficing bandwidth or requiring side information [64]. Instead, the transmit signal power for

the data block is increased slightly. The main ide of the ACE method is to intelligently

extend outer constellation points so that the time-domain signal gets a lower PAPR.

Any constellation point that is farther from the decision boundaries than the nominal

constellation point (in the proper region) will offer increased margin and a reduced BER.

Therefore, any outer constellation points may be modified to reduce the PAPR, while

the interior points must remain in the same position. Good constellation points may be

found by gradient-descent methods [64].

Multiple signal representation techniques include, for example, partial transmit se-

quence (PTS) [72] and selected mapping (SLM) [73]. The main idea of multiple signal

representation is to construct several sequences describing the same data block and then

choose the sequence with the lowest PAPR for transmission. In the PTS technique, the

data block is divided into subblocks and the subcarriers in each subblock are weighted

by a phase factor, assigned to minimize the PAPR. The idea of SLM is to multiply each

data block by a number of different phase sequences, each of the same length as the

data block. The modified data block with the lowest PAPR is chosen for transmission.

The drawback with the multiple signal representation techniques is that they require

side information to be transmitted and increase the transmitter and receiver complexity.

However, a method for SLM without explicit side information was presented in [74]. Still

another method for recovering the original data block in the receiver for both PTS and

SLM without any side information was developed in [75].

PAPR-reduction algorithms often require side information to be transmitted and the

resulting PAPRs are still higher than those of serial single-carrier transmission. Time-

domain clipping on the other hand introduces clipping noise to the system. In [76], Wang

et al. compare OFDM and single-carrier block transmission over frequency-selective

Page 70: Low-density parity-check codes : unequal error protection ...

54 Overview of Clipping Mitigation Strategies in OFDM

fading channels. They conclude that single-carrier block transmission is superior to

OFDM in the uncoded case, at the cost of slightly increased complexity. In the coded

case, OFDM is to be preferred for low code rates.

4.3 Reduction of Clipping Effects in the Receiver

When the OFDM signal has been intentionally clipped to reduce the PAPR, receiver-side

signal processing may be necessary to reduce the loss due to clipping. This is possible

since the clipping noise is usually generated by a known process that can be recreated

in the receiver, since the nonlinear clipping distortion is a deterministic function of the

data. Therefore, by estimating the clipping noise, the receiver can partly remove the

clipping distortion. Reduction of clipping effects in the receiver has been considered in a

number of papers, for example [69, 77–86].

The idea of decision-aided reconstruction (DAR) of the clipped signal is introduced

in [77] and a low complexity algorithm is derived. The DAR method is further devel-

oped in [78], where a maximum-likelihood detector for an uncoded OFDM system is

proposed. Furthermore, decision-aided reconstruction methods for OFDM systems with

convolutional coding were developed in [79, 81, 84]. In [79], the classical DAR proce-

dure is combined with an iterative decoding of the channel code in a turbo-like fashion.

Likelihoods of the noisy codeword bits are calculated and used in the Viterbi decoder to

compute an estimate of the information bits. The clipped samples are then estimated by

comparing the time-domain OFDM signal calculated from the estimation of the informa-

tion bits with the maximum allowed time-domain signal amplitude. New likelihoods of

the codeword bits are calculated from the estimate of the clipped samples. In [81], the

classical DAR proposed in [77] is combined with the receiver methods of [78] and [84].

The proposed algorithm is applied to scalable video transmission. The work in [80] also

builds on [77] and [78] and considers decision-aided reconstruction of clipped turbo-coded

OFDM signals. A method based on iterative detection and soft decoding in the receiver,

similar to [79], is developed.

Bayesian theory is also employed for reconstruction of clipped OFDM signals [82,

83]. A Bayesian inference method is developed in [82], based on prior densities on the

information symbols in the frequency domain, the noise and a binary variable indicating

whether a sample is clipped or not. Using the Bayesian model, a maximum a posteriori

estimator for the information symbols is derived. A minimum mean-square error (MMSE)

estimator of a clipped Gaussian process is derived in closed form in [83]. This estimator

can for example be applied to clipped OFDM signals in an AWGN channel.

Page 71: Low-density parity-check codes : unequal error protection ...

4.4. Spread OFDM 55

NN N

Linearfilter

Channel

AWGN

IFFTSpreading FFTN filter

Wiener

Figure 4.3: The spread OFDM system.

Another iterative method for reconstruction of clipped OFDM signals is proposed

in [85]. An approximation of the distortion signal is first calculated using an assumed

statistical model of the clipping distortion. The approximated distortion is subtracted

from the received signal and the resulting signal is clipped and filtered to provide an

approximation of the remaining distortion. The last step is repeated to give a better

approximation. In [86], clipped OFDM signals with insufficient cyclic prefix are recovered

iteratively. ISI and intercarrier interference caused by the insufficient cyclic prefix is

removed in the same iteration as the clipped signal is reconstructed.

4.4 Spread OFDM

In a multipath environment, some OFDM subcarriers may be completely lost due to

deep fades. Therefore, even though most subcarriers may be detected without errors,

the overall BER is usually dominated by a few subcarriers with bad SNR. To avoid

this domination by the weakest subcarriers, it is of interest to increase the diversity.

Extra diversity can be added by introducing dependence among symbols on different

subcarriers. This is performed by spreading, also called linear precoding, which was

initially introduced by Wornell, [87].

In spread OFDM (SOFDM), the vector to be modulated by the IFFT is first multi-

plied by a spreading matrix, see Figure 4.3. Wiener filtering may be implemented at the

receiver side to reduce the intercarrier interference introduced by the precoder, resulting

in a minimum mean square error (MMSE) receiver. For a unitary spreading matrix, the

Wiener filter is shown to be simply scalar channel equalization followed by the inverse of

the spreading matrix, [88].

Spreading may also reduce the PAPR of the time-domain OFDM signal [89–91]. Since

spreading is data-independent, no block-based optimization is performed, which yields

low-complexity implementation, and no side information is needed.

In [92], channel independent precoders that minimize the uncoded bit error rate

(BER) in an OFDM system are derived. It is shown, for QPSK signaling and an MMSE

Page 72: Low-density parity-check codes : unequal error protection ...

56 Overview of Clipping Mitigation Strategies in OFDM

receiver, that the class of optimal precoders is the unitary matrices with all elements

having the same magnitude. Examples of this class are the discrete Fourier transform

(DFT) matrix and the Walsh-Hadamard (WH) matrix. Using the DFT matrix as a

precoder gives back the single-carrier system, but with a cyclic prefix. This system still

enables simple equalization, but to the cost of implementing both the IFFT and FFT in

the receiver.

The WH matrix has been shown to reduce the PAPR of the signal, [89], as well as

increasing the frequency diversity. Debbah et al. proposed a new method to reduce

the intercarrier interference in the receiver for WH spreading, [93]. They achieve near

maximum-likelihood performance, still with a reasonably low complexity. However, three

different spreading matrices are compared in [90] and it is shown that WH spreading gives

the smallest PAPR reduction compared to conventional OFDM.

Joint coding-precoding is suggested in [94]. The authors show that high orders of di-

versity can be achieved at a reasonably low complexity by combining coding and spread-

ing. They also state that maximum likelihood decoding is necessary to achieve maximum

diversity gain from spreading. Small sized precoders may however be used, without a sig-

nificant performance loss, to reduce the complexity. In [95], the subcarriers are grouped

into subsets of less correlated subchannels and each group has its own small spreading

matrix. However, optimal subcarrier grouping and precoder design as suggested in [95]

requires channel state information, which may not be available.

4.5 Coded OFDM

The application of error-correction coding to the OFDM system is essential to reduce

the BER. Several codes, such as trellis coded modulation, Reed-Solomon codes and BCH

codes, have been suggested for use with OFDM, see for example the overview of coded

OFDM (COFDM) in [96]. Figure 4.4 shows the block diagram of a coded OFDM system.

Typically, the channel encoder produces a codeword with n bits, where n is a multiple

of N , the number of OFDM subchannels. The codeword is divided into blocks of length

N , that are serially fed to the OFDM IFFT modulator. Prior to the channel decoder,

several received OFDM blocks are buffered to produce a received word.

Several coding techniques to reduce the PAPR have been presented, [97–102]. The

basic idea of these techniques is to avoid the use of codewords with high PAPR. The

coding techniques that achieve both PAPR reduction and error correction are attractive.

However, there are still no good solutions available on how to obtain low PAPR and error

correction with a reasonable coding rate for a large number of subcarriers, [102].

Page 73: Low-density parity-check codes : unequal error protection ...

4.5. Coded OFDM 57

IFFT Channel

AWGN

Channeldecoder

Linearfilter

FFT

Channel

encoder

Figure 4.4: Block diagram of a coded OFDM system.

After the invention of turbo codes, these codes were suggested also for COFDM

systems, [80, 103–106]. An overview of COFDM is given in [103] together with a com-

parison of turbo coded OFDM to already existing COFDM schemes. A turbo coded

OFDM system with PAPR reduction through SLM without side information is proposed

in [106]. The turbo encoder uses different interleavers to generate different sequences and

the sequence with the lowest PAPR is transmitted. In the receiver, no side information

about the interleaver is available, but the decoder calculates the reliability of each pos-

sible sequence (corresponding to the different interleavers) and chooses the most reliable

candidate. Another scheme for PAPR reduction using random-like codes is suggested

in [105].

In [80], deliberate amplitude clipping of the OFDM signal is combined with turbo

coding to achieve an OFDM system with low PAPR and good performance in terms of

BER. The clipping distortion is modeled as an attenuation and additive noise and this

model is incorporated into the initial calculation of channel LLRs, as described in the

earlier paper [107] by the same authors. However, although this modification significantly

improves the performance, there is still a substantial performance degradation compared

to the performance of the system in an ideal AWGN channel without clipping. The

performance of the turbo coded OFDM system with clipping is further improved by a

recursive reconstruction of the clipped signal [80].

LDPC coded OFDM was first considered in [108,109]. It was shown [108] that LDPC

COFDM outperforms turbo COFDM on a frequency-selective fading channel, while the

turbo COFDM performs better on an AWGN channel. The LDPC COFDM scheme was

further developed in [109]. LDPC COFDM has been considered for optical communi-

cation systems, [110]. It is suggested as a universal coded modulation technique that is

suitable for use in a variety of optical channels.

Optimization of LDPC codes for OFDM is discussed in [111–113]. In order to opti-

mize the LDPC code according to the quality of the different subchannels, channel state

information is needed at the transmitter side. It is also important that the channel does

not change or changes very slowly, since a redesigned code must also be transmitted to

Page 74: Low-density parity-check codes : unequal error protection ...

58

ChanneldecoderN

Linearfilter

Channel

AWGN

IFFTSpreading FFTN filter

WienerChannelencoder

Figure 4.5: Block diagram of a coded spread OFDM system.

the receiver. However, for some wireline applications, like xDSL transmissions [111] or

power-line DMT transmissions [113], the channel variations may be small enough. The

main idea is to specify which bits of the codeword that should be sent through each

subchannel. In [112], the degree distributions are optimized as in [19] (see Section 3.3.1),

and good positions for the information bits are then found according to the quality of

the subchannels. The variable node degree distribution may also be optimized in con-

junction with the bit positions, by dividing the variable node degree distribution into

subdegree distributions [111,113]. By building a rectangular approximation of the chan-

nel spectrum, the frequency tones can be grouped into subbands according to their SNR.

The subdegree distributions can be optimized by linear programming. The main differ-

ences between the approaches in [111] and [113] are in the optimization of the subdegree

distributions.

In [114], linear precoding and error-correction are compared in terms of their ability to

deal with channel fades. The increase in diversity by linear precoding and coded OFDM is

discussed. The authors conclude that coded OFDM often incurs high complexity and/or

large decoding delay, while the diversity gain is rather small. On the other hand, the

complexity added by linear precoding is small compared to the gains in diversity that

may be achieved. However, today the complexity added by error-correction is usually

not a problem and the best solution may be a combination of linear precoding and error

correction, as shown in Figure 4.5. Such a combination was first considered in [104],

where it was shown that the diversity of the combined system is the product of the

individual diversities of the component coder and precoder. The decoding complexity of

the system is only a linear multiple of the sum of their individual complexities.

Serener et al. have investigated LDPC coded spread OFDM in [115–118]. The per-

formance of spread OFDM with LDPC coding in outdoor and indoor environments was

analyzed in [115] and [116], respectively. In [117,118], the same authors extend their work

further and optimize LDPC codes for OFDM and SOFDM in correlated channels. They

show that the error floors of LDPC COFDM may be lowered by introducing spreading

to the system.

Page 75: Low-density parity-check codes : unequal error protection ...

Chapter 5

Overview of Unequal Error

Protection Codes

In many communication scenarios, such as wireless networks and transport of multimedia

data, sufficient error protection is often a luxury. In these systems it may be wasteful or

even infeasible to provide uniform protection for all information bits. Instead, it is more

efficient to protect the most important information more than the rest. This implies

improving the performance of the more important bits by sacrificing some performance

of the less important bits. There are several examples where unequal error protection

(UEP) is desired.

• In wireless networks, protocol information is often more important than the payload

data, even though the final objective is to deliver payload data. The protocol

information should therefore be more protected than the payload data.

• Source coded multimedia data, such as video or speech, often has different impor-

tance levels. It is of interest to have better protection of the coarse resolution than

the fine resolution. If the channel conditions are good, it is desired that all data is

recovered. However, under bad channel conditions, it may still be possible to have

a coarse reconstruction of the data. This is typical for one-way broadcast media,

such as terrestrial broadcasting of digital high-definition television (HDTV), where

a reverse link used to adjust the protection according to the channel conditions is

not possible.

To achieve UEP, the most obvious method is to use separate codes with different pro-

tection for the different classes of bits, depending on their importance. This approach

is called the time-sharing method. However, in most applications, the number of im-

portant bits is low compared to the total number of bits. If separate codes are used,

59

Page 76: Low-density parity-check codes : unequal error protection ...

60 Overview of Unequal Error Protection Codes

the most important bits are protected by a short code. This may not be efficient, since

longer codes generally have better performance and a code with very low rate might be

needed to get low enough BER for the most important bits. Another drawback of the

time-sharing method is the increased complexity introduced by separate encoders and

decoders for the different classes of bits.

Some fundamental limits of unequal error protection are presented in [119, 120]. For

example, it is shown in [119] that for data-rates approaching capacity, even a single bit

cannot achieve a positive error exponent, that is, it is not possible to make the error

probability of a particular bit decay exponentially fast with block length. However, [120]

shows that good UEP codes exist when only a small fraction (approaching zero in the

limit) of bits are highly protected. These codes have perfect protection in the sense that

even when the channel capacity is arbitrary close to zero, it is possible to get arbitrarily

small error probability of the important bits without increased error probability of the

other bits.

With today’s capacity achieving codes one might argue that UEP codes are not of

interest when the SNR is above the threshold, because the average BER (the probability

that a bit is not recovered when the decoding stops) goes to zero if the code is long

enough and the number of decoder iterations is large enough. Thus, capacity achieving

codes are asymptotically better than UEP codes, since all bits have an asymptotically

vanishing BER. However, UEP is desired for codes with short or moderate length that

are usable in practice, since error-free communication of all bits requires a relatively high

SNR when using such codes.

This chapter gives an overview of UEP codes from the first developments in the 1960’s

until today’s achievements. Error control codes achieving UEP may be constructed in

many different ways, such as coded modulation with UEP, UEP turbo codes, etc. The

last section focuses particularly on irregular UEP-LDPC codes, which are the UEP codes

considered in the appended papers. In the following sections it is assumed that the

codeword bits are divided into groups with different protection, called protection classes.

5.1 UEP Codes

UEP codes were first studied by Masnick and Wolf in 1967, [121]. They described the

properties of linear UEP codes, derived bounds on the number of parity bits needed

and proved that systematic cyclic codes could not have UEP. Cyclic UEP codes were

desired due to their low-complexity encoding and decoding. However, shortly thereafter

it was shown through an example that non-systematic cyclic codes with UEP exist, [122].

Page 77: Low-density parity-check codes : unequal error protection ...

5.1. UEP Codes 61

This paper was followed up by a more thorough description of a class of non-systematic

UEP codes that may be easily decoded by majority-logic, [123]. Another early UEP

scheme was developed in [124]. A typical application of UEP codes at this time, which is

mentioned in several papers, is the unequal importance of the bits representing decimal

numbers. When transmitting digital data, errors in the higher order digits of numbers

are usually more costly than errors in the lower order digits. Therefore, unequal error

protection of the bits would better correspond to their importance and thereby improve

the perceived quality of the data.

Linear UEP codes were further studied by Boyarinov and Katsman, [125]. They

suggested iterative and concatenated designs of UEP codes and provided fast decod-

ing algorithms for these codes. Another class of UEP codes based on cyclic codes was

developed in [126] and further investigated in [127].

Hagenauer proposed a family of rate-compatible punctured convolutional codes, [128].

Starting from low-rate convolutional codes, periodic puncturing produces codes of differ-

ent rates that perform well relative to the best known codes of comparable complexity.

The code rate can also be changed within a data frame, which makes these codes suitable

for applications requiring UEP.

Another popular way of achieving UEP is coded modulation. In a band-limited

environment, coding and modulation should be integrated to use the available bandwidth

more efficiently. UEP codes may be integrated with modulation solely for this purpose,

but the modulation may also be employed to enhance the UEP capability of the system.

One common and simple way to achieve UEP by modulation is to use constellations

with non-uniformly spaced signal points, [129–131]. Typically, neighboring signal points

are assigned the same bit pattern for the important bits and different patterns for the

less important bits. After the invention of capacity-achieving codes, turbo codes have

also been used in coded modulation to obtain powerful UEP codes without sacrificing

bandwidth [132, 133]. The appended papers C and D are the first papers that consider

design of bandwidth-efficient UEP-LDPC codes.

Turbo UEP codes for binary modulation were invented and further investigated

by [134–136]. The main idea is to use a standard turbo code as a basis and perform

non-uniform puncturing of the parity bits from the parallel encoders. Typically, turbo

codes use uniform puncturing of the parity bits, which leads to almost equal error protec-

tion of all information bits. UEP capability may be achieved by increasing the number

of redundancy bits correlated with the most important bits and reducing the number of

redundancy bits correlated with the less important bits, using non-uniform puncturing.

By UEP capability we mean reduced BER of the most important bits, while the BER

Page 78: Low-density parity-check codes : unequal error protection ...

62 Overview of Unequal Error Protection Codes

of other bits is only slightly increased. It is shown in [136] that to increase the UEP ca-

pability, the encoder interleavers should be chosen to guarantee isolation of the different

protection classes. Iterative decoding was also proposed in [137] to increase the per-

formance of a UEP coding scheme based on a product-like combination of Reed-Muller

codes.

5.2 UEP-LDPC Codes

The outstanding performance of LDPC codes makes them an interesting choice for UEP

schemes and LDPC codes with UEP started to evolve in parallel with UEP turbo codes.

Several methods for constructing UEP-LDPC codes have been presented, [120,138–147].

Many of these methods are based on the irregularity of the variable and/or check node

degree distributions and we treat them in a separate section. The other methods are all

different.

Vasic et al. proposed a class of UEP-LDPC codes based on cyclic difference families,

[138]. The resulting LDPC codes are irregular, but we consider them here since the

codes have a special structure that is different from the other irregular UEP-LDPC

codes. However, the performance of this class of codes was shown to be outperformed by

the codes suggested in [140].

In [141], UEP capability is achieved by a combination of two Tanner graphs of different

rates. A high-rate LDPC code gives extra protection to the more important bits, while

a lower-rate LDPC code protects all bits. Density evolution formulas for the binary

erasure channel are derived for the combination of codes, which allows the design of high

performance UEP-LDPC codes. Combinations of an LDPC code with Reed-Solomon

codes have been considered in [148] and [149], which both apply the proposed codes

to image transmission applications. UEP may also be provided by non-binary LDPC

codes, [145].

Another completely different UEP scheme was proposed in [146]. The UEP-LDPC

codes are based on the algebraic Plotkin construction and are decoded in multiple stages.

Both the irregularity of the resulting parity-check matrix as well as the multistage decod-

ing algorithm provide UEP capability. This UEP scheme was further developed in [150]

and applied to JPEG2000 image transmission. It is also argued in [146] that irregular

UEP-LDPC codes will not provide UEP unless a very small number of decoder iterations

is performed.

Page 79: Low-density parity-check codes : unequal error protection ...

5.3. Irregular UEP-LDPC Codes 63

5.3 Irregular UEP-LDPC Codes

It is explained in [39] that from the point of view of a variable node, it is best to have high

degree, because the more information it gets from its check nodes the more accurately it

can judge what its correct value should be. On the contrary, from the point of view of a

check node, it is best to have low degree, since the lower the degree of a check node is, the

more valuable is the information it can transmit back to its neighboring variable nodes.

It has also been widely observed that the connection degrees of the variable nodes affect

the bit-error rate. These observations are the basis for the design of irregular UEP-LDPC

codes.

All irregular LDPC codes can in principle be UEP-LDPC codes. By mapping the

more important bits to the higher degree variable nodes of a standard LDPC code,

some UEP behavior is achieved. However, the UEP capability may be enhanced by

modification of the code ensemble degree distributions. The following irregular UEP-

LDPC design schemes are all variants of the standard code design, which enhance the

UEP properties of the code. Note that only the design of the degree distributions together

with mapping of information bits to certain variable nodes are considered to enhance the

UEP capability of these codes. The encoding and decoding operations are performed

exactly as for non-UEP LDPC codes. Irregular UEP-LDPC codes have been studied

in [120,139,140,142–144,147]. The designs considered in [139,140,142,143,147] rely solely

on irregular degrees of the variable nodes, while the check nodes have a concentrated

degree distribution.

Partially regular ensembles with a constant check node degree (dc) are considered

in [139, 140]. The variable nodes are divided into several protection classes according

to their degrees, such that the variable nodes in one class all have the same degree. A

schematic description of a partially regular ensemble with 4 protection classes is shown

in Figure 5.1. A more protected class has a higher variable node degree than a less

protected class, that is, dC1v > dC2

v > dC3v > dC4

v . Only two classes of information bits and

one class of parity bits are considered in [139,140]. The authors derive density evolution

formulas for the binary erasure channel and use them to optimize the degrees, so that

the important classes have low error rates, while the overall performance is comparable

to other codes.

Another UEP-LDPC code design based on irregular variable node degrees is proposed

in [142,143]. An extended parameterization of the LDPC code irregularity is considered

and a distinct variable node degree distribution for each protection class is allowed. A

hierarchical optimization procedure is suggested to optimize the degree distributions.

Page 80: Low-density parity-check codes : unequal error protection ...

64 Overview of Unequal Error Protection Codes

n − k

dc

dC1v dC2

vdC3

vdC4

v

nC1nC2

nC3nC4

Figure 5.1: Tanner graph of partially regular ensembles with 4 protection classes.

The optimization procedure starts with the most protected class and tries to find degree

distributions for all classes for which density evolution under the Gaussian approximation

converges, while keeping the minimum degree of the class under optimization as high as

possible. The optimization criterion is to maximize the average variable node degree

of the class. When a good degree distribution has been found for the most protected

class, the degree distribution of this class is fixed. Only degree distributions of the

other classes may be changed when optimizing for the second most protected class. The

optimization performed in each step may be achieved by linear programming and is

thus easily calculated even though the number of parameters is much higher than for

standard non-UEP code design. The structure of these UEP-LDPC codes can be seen

as an irregular version of the partially regular code shown in Figure 5.1. Instead of a

constant check node degree, the check node degrees are defined by a check node degree

distribution, which is usually chosen among good check node degree distributions for

non-UEP LDPC codes. The variable nodes follow a sub-degree distribution for each

protection class instead of having a constant degree. UEP capability is achieved by the

different average variable node degrees of each class. The average variable node degrees

are similar to the constant degrees given by the design for partially regular LDPC codes.

However, by considering only partially regular LDPC codes, the search space is limited.

In [147], no new design approach is suggested. The authors consider one specific

degree distribution and show by simulations that this degree distribution gives UEP

capability. The specific code is also employed for transmission of images, where the UEP

scheme is used to better protect the bits in a byte affecting its value most.

Irregular UEP-LDPC codes have also been designed with an irregular check node

degree distribution, [144]. In this design, the variable node degrees are constant, while

the check node degrees are optimized to give UEP. In contrast to variable nodes, the most

Page 81: Low-density parity-check codes : unequal error protection ...

5.3. Irregular UEP-LDPC Codes 65

protected check nodes should have the lowest possible average degree. The most protected

check nodes are connected to the most important variable nodes to give UEP capability.

Considering Figure 5.1, we have that dC1

v = dC2

v = dC3

v = dC4

v = dv, since the variable

node degree is constant. Instead, the check nodes are divided into separate classes with

certain check node degree distributions. The check node degrees may be optimized by a

linear programming algorithm similar to that proposed in [143], but the authors of [144]

propose a sequential pruning procedure of a mother code. One possible drawback of this

scheme is that the check node degree distribution is no longer concentrated. As shown

in [19], a concentrated check node degree distribution maximizes the convergence speed

of the overall code. On the other hand, an irregular variable node degree distribution

has been shown to push the code threshold very close to capacity, [29]. This suggests

that it is better to use a concentrated check node degree distribution while achieving

UEP behavior through variable node irregularities. Interestingly, the results in [144] for

a short code (n = 2000) show that the overall BER is not degraded by the irregular check

node degree distribution.

The results presented so far suggest irregular degree distributions of both variable

nodes and check nodes to enhance the UEP behavior further. Such a scheme was pre-

sented in [120], which is one of the first papers on UEP-LDPC codes. In [120], a tree

is spanned from the most important variable nodes to a certain depth h. The degrees

of the most protected variable nodes as well as all other variable nodes within the tree

have a fixed high value, while the degrees of the check nodes within the tree have a fixed

low value. The degree distribution of the remaining nodes may be found by constrained

standard code design algorithms. The design algorithm presented in [120] is an ad hoc al-

gorithm that is probably possible to enhance by proper optimization of the fixed degrees

of variable and check nodes connected to important variable nodes.

The work in the appended papers C, D and E build on the UEP-LDPC code design

proposed in [143]. The advantages of this method are that

• The design algorithm is very general and allows an arbitrary number as well as

arbitrary sizes of the protection classes.

• Optimal degree distributions are easily calculated using linear programming.

• The degree distributions are optimized for the AWGN channel.

• There is little loss in overall performance even though the most protected classes

have improved performance. For some parameter settings, improvements of all

protection classes have been reported.

Page 82: Low-density parity-check codes : unequal error protection ...

66

• Only the design of the degree distributions and the construction of the code ac-

cording to these distributions differ from standard LDPC codes. This means that

the same encoder and decoder may be used even though a UEP-LDPC code is

employed, which keeps the system complexity low.

When designing irregular UEP-LDPC codes, the UEP capability increases with the

maximum variable node degree. However, [29] states that with larger degrees, the code-

word needs to be longer in order to approach the asymptotic performance predicted by

density evolution. This means that the maximum degree should be limited when opti-

mizing the degree distributions. There is a trade off between the UEP capability that can

be achieved by high variable node degrees and the performance loss when the codeword

is not long enough for the high degrees.

Page 83: Low-density parity-check codes : unequal error protection ...

Chapter 6

Research Contributions

This thesis contributes to two different research areas within coding theory through the

research presented in Part III. This chapter summarizes the appended research papers

and discusses the contributions made. The work is related to contributions by other

authors, presented in Chapters 4 and 5.

6.1 Clipping Mitigation in LDPC Coded OFDM Sys-

tems

As discussed in Chapter 4, the main drawbacks of the OFDM system are the high peak-

to-average power ratio (PAPR) and the sensitivity to channel fades. Channel coding is

critical to reduce the error probabilities and a coded OFDM system is generally employed.

An LDPC coded OFDM system is considered in Papers A and B.

Paper A - Performance of LDPC Coded Spread OFDM with

Clipping

Authors: S. Sandberg, C. de Frein, J. P. LeBlanc, B. Vasic and A. D. Fagan

Reproduced from: Proceedings of the 8th International Symposium on Communication Theory and

Applications (ISCTA) 2005, UK, pp. 156-161.

Paper A presents the performance of an LDPC coded spread OFDM system. The aim of

spreading is to reduce the effects of frequency-selective fading by introducing dependency

among the bits transmitted over different subchannels. The presented system employs

Walsh-Hadamard spreading, that also reduces the PAPR [89]. Joint implementation of

67

Page 84: Low-density parity-check codes : unequal error protection ...

68 Research Contributions

the IFFT and the Walsh-Hadamard spreading matrix in the transmitter can also be per-

formed with a smaller number of operations than if the transformations were computed

separately [151].

Simulations for an ETSI indoor wireless channel model show that the gain by spread-

ing is substantial in an LDPC coded OFDM system, thereby confirming the results by

Serener et al. [115, 116]. The contribution of Paper A is the investigation of an LDPC

coded spread OFDM system with clipping. If clipping is considered, the reduced PAPR

leads to lower BERs, since the probability of clipping is reduced and there is less clip-

ping noise. Simulation results show that the coding gain by joint LDPC coding and

Walsh-Hadamard spreading is larger in a system with clipping than without.

A later paper, [90] (2007), compared the PAPR reduction achieved by three different

spreading matrices and among these the Walsh-Hadamard spreading matrix achieved the

least PAPR reduction. Therefore, if a slightly higher complexity can be tolerated, the

performance may be further increased by choosing another spreading matrix.

Paper B - Receiver-oriented Clipping-effect Mitigation in OFDM

- A Worthy Approach?

Authors: S. Sandberg, J. P. LeBlanc and B. Vasic

Reproduced from: Proceedings of the 10th International OFDM-Workshop 2005, Hamburg.

Paper B analyzes the performance of two different methods to reduce the clipping dis-

tortion effects in the receiver. In the first method, the clipping noise is characterized as

in [107] and the channel bit LLRs fed to the LDPC decoder are modified accordingly.

The second method is Bayesian estimation of the signal before clipping [83]. Simulations

on an LDPC coded OFDM system show unexpectedly that the methods, which signifi-

cantly improve the BER performance in uncoded OFDM systems at high SNRs [83,107],

achieve almost no performance improvement when LDPC codes are applied. The re-

dundancy added by the LDPC code seem to be effective also in mitigating the clipping

distortion. These results suggest that clipping mitigation in LDPC coded OFDM should

be concentrated to the transmitter.

A similar paper [80] appeared only a few months after the submission of Paper B.

The authors proposed an iterative method, combining a modification of channel bit LLRs

fed to a turbo decoder with recursive reconstruction of the clipped signal. This iterative

scheme improves the performance significantly, but there is still a substantial performance

degradation compared to an ideal AWGN channel without clipping.

Page 85: Low-density parity-check codes : unequal error protection ...

6.2. Design of Unequal Error Protection LDPC Codes 69

6.2 Design of Unequal Error Protection LDPC Codes

The second research area of this work is design of UEP-LDPC codes. Papers C and D

consider design of UEP-LDPC codes for higher order constellations (HOCs). Paper E

analyzes the UEP behavior of LDPC codes constructed by different construction algo-

rithms.

Paper C - Design of Unequal Error Protection LDPC Codes for

Higher Order Constellations

Authors: N. von Deetzen and S. Sandberg

Reproduced from: Proceedings of the IEEE International Conference on Communications, 2007,

Scotland, pp. 926-931.

Paper C presents a UEP-LDPC code design for HOCs based on optimization of the

variable node degree distribution. This is the first work on design of UEP-LDPC codes

for HOCs and it can be seen as a combination of the UEP-LDPC code design proposed

in [143] and the design of LDPC codes for HOCs presented in [113,152]. In higher order

modulation, different bits in a symbol may have different error probabilities. The variable

node degree distribution to be optimized is divided into sub-degree distributions both for

the protection classes and for the classes of bits with different inherent protection result-

ing from the modulation. This allows for a flexible code design allowing any modulation

scheme and arbitrary number and sizes of the protection classes.

Typically, HOCs provide inherent UEP. Design of LDPC codes for HOCs (e.g. [113,

152]) aim at reducing the overall BER by providing overall equal error protection through

channel coding. The design strategy presented in Paper C and extended in Paper D pro-

vides a method that uses the UEP from the modulation to create a code with other UEP

properties, usually specified by the source coding unit. Simulations with 8-PSK modula-

tion show that the proposed design method improves the overall BER performance, while

slightly reducing the UEP capability compared to UEP-LDPC code design for BPSK.

Furthermore, it should be noted that the UEP-LDPC code design for HOCs may also

be directly applied to another problem, even though it was not the aim of the code design

and is not mentioned in the paper. Design of LDPC codes for OFDM channels [111,112]

and DMT channels [113] has been considered, under the assumption that the channel is

constant or varies very slowly (see Section 4.5). Both [111] and [113] divide the variable

node degree distribution into sub-degree distributions in the same way as is done in Paper

C. The design algorithm proposed in Paper C accounts for differences in error probability

Page 86: Low-density parity-check codes : unequal error protection ...

70 Research Contributions

between the received bits before decoding. Such differences may arise from different error

probabilities of bits in a symbol (as in design for HOCs) or from different subchannels

in an OFDM system having different SNRs. The design algorithm proposed in Papers C

and D may therefore also be used to design UEP-LDPC codes for OFDM channels.

Paper D - Design of Bandwidth-Efficient Unequal Error Protec-

tion LDPC Codes

Authors: S. Sandberg and N. von Deetzen

Accepted for publication in IEEE Transactions on Communications, Jan. 29, 2009

Paper D is an extension of Paper C. An important addition is that the effects of one

of the design-parameters, the threshold offset ε, on BER performance and UEP capa-

bility have been investigated. Simulation results for 8-PSK show that the proposed

algorithm gives the best performance and UEP capability if the threshold offset is chosen

to ε = 0.1 dB. This contradicts the assumption in Paper C that a higher ε gives more

UEP capability. Paper D also shows that the UEP capability does not vanish after a

large number of decoder iterations, as has been claimed by several authors.

Moreover, Paper D compares the BER performance of the proposed design with an

existing LDPC code design for HOCs without UEP capability. Simulations with ε = 0.1

dB show that the proposed design slightly reduces the overall BER, while also increasing

the UEP capability. Finally, simulations for 64-QAM show that a higher modulation

index yields greater performance gain of the HOC-UEP scheme compared to the UEP

scheme.

Paper E - On the UEP Capabilities of Several LDPC Construc-

tion Algorithms

Authors: N. von Deetzen and S. Sandberg

Submitted to: IEEE Transactions on Communications, Nov. 18, 2008

It is commonly known that the connection degree of a variable node affects its error

probability and this is the basis for design of irregular UEP-LDPC codes. However, some

authors argue that this holds only for a very small number of decoding iterations [146],

while others show good UEP capability also after a large number of iterations, as in Pa-

per D. Paper E analyzes construction algorithms for the parity-check matrices of LDPC

Page 87: Low-density parity-check codes : unequal error protection ...

6.2. Design of Unequal Error Protection LDPC Codes 71

codes, with respect to their capabilities of providing UEP. By construction of several

codes with identical degree distributions, it is shown that the choice of code construction

algorithm is critical and highly affects the performance and the UEP properties of the

code. These results explain disagreements in earlier research.

The differences in UEP capability are explained by structural differences in the parity-

check matrices. Detailed check node degree distributions for the protection classes are

introduced to describe the number of connections between different protection classes.

The UEP capability of an LDPC code is enhanced by addition of constraints on the

detailed check node degree distributions during the code construction. However, the

trade off between UEP capability and overall BER performance is clearly seen in the

simulation results. When the number of connections between different protection classes

is reduced by addition of constraints on the detailed check node degree distributions, the

UEP capability is increased, while the overall BER performance is reduced.

Page 88: Low-density parity-check codes : unequal error protection ...

72 Research Contributions

Page 89: Low-density parity-check codes : unequal error protection ...

References

[1] C. E. Shannon, “A mathematical theory of communication,” Bell System Technical

Journal, 1948.

[2] J. G. Proakis, Digital Communications. New York: McGraw-Hill, 4th ed., 2001.

[3] J. B. Anderson, Digital transmission engineering. New York: IEEE Press, Prentice

Hall, 1999.

[4] E. A. Lee and D. G. Messerschmitt, Digital Communication. Massachusetts:

Kluwer Academic Publishers, 2nd ed., 1996.

[5] D. J. C. MacKay, Information theory, inference and learning algorithms. Cambridge

University Press, 2003.

[6] R. W. Hamming, “Error detecting and error correcting codes,” Bell System Tech-

nical Journal, vol. 26, pp. 147–160, April 1950.

[7] P. Elias, “Coding for noisy channels,” IRE Convention Record, no. 4, pp. 37–46,

1955.

[8] R. G. Gallager, “Low density parity check codes,” IRE Transactions on Information

Theory, pp. 21–28, Jan. 1962.

[9] S. Lin and D. J. Costello, Error control coding, second edition. Upper Saddle River,

NJ, USA: Prentice-Hall, Inc., 2004.

[10] G. Ungerboeck, “Channel coding with multilevel/phase signals,” IEEE Transac-

tions on Information Theory, vol. 28, pp. 55–67, Jan. 1982.

[11] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part I: In-

troduction,” IEEE Communications Magazine, vol. 25, pp. 5–11, Feb. 1987.

73

Page 90: Low-density parity-check codes : unequal error protection ...

74 References

[12] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part II: State

of the art,” IEEE Communications Magazine, vol. 25, pp. 12–21, Feb. 1987.

[13] H. Imai and S. Hirakawa, “A new multilevel coding method using error correcting

codes,” IEEE Transactions on Information Theory, vol. 23, pp. 371–377, May 1977.

[14] C. Berrou, A. Glavieux, and T. Thitimajshima, “Near Shannon limit error-

correcting coding and decoding: turbo codes,” in Proc. ICC 1993, pp. 1064–1070,

May 1993.

[15] D. J. C. MacKay and R. M. Neal, “Good codes based on very sparse matrices,” 5th

IMA Conference on Cryptography and Coding. (Lecture notes in computer science),

pp. 100–111, 1995.

[16] N. Wiberg, Codes and decoding on general graphs. Linkoping, Sweden: Dissertation

no. 440, Dept. of Elect. Eng. Linkoping Univ., 1996.

[17] S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenated

codes,” IEEE Transactions on Communications, vol. 49, pp. 1727–1737, Oct. 2001.

[18] T. Richardson and R. Urbanke, “The capacity of low-density parity-check codes un-

der message-passing decoding,” IEEE Transactions on Information Theory, vol. 47,

pp. 599–618, Feb 2001.

[19] S.-Y. Chung, T. Richardson, and R. Urbanke, “Analysis of sum-product decoding

of low-density parity-check codes using a Gaussian approximation,” IEEE Trans-

actions on Information Theory, vol. 47, pp. 657–670, Feb. 2001.

[20] A. Calderbank, “The art of signaling: fifty years of coding theory,” IEEE Trans-

actions on Information Theory, vol. 44, pp. 2561–2595, Oct 1998.

[21] S. B. Wicker and S. Kim, Fundamentals of codes, graphs, and iterative decoding.

Norwell, MA, USA: Kluwer Academic Publishers, 2002.

[22] P. Sweeney, Error control coding, from theory to practice. Wiley, 2002.

[23] R. C. Bose and D. K. Ray-Chaudhuri, “On a class of error-correcting binary group

codes,” Information and Control, vol. 3, pp. 68–79, 1960.

[24] R. Fano, “A heuristic discussion of probabilistic decoding,” IEEE Transactions on

Information Theory, vol. 9, pp. 64–74, Apr 1963.

Page 91: Low-density parity-check codes : unequal error protection ...

References 75

[25] F. Jelinek, “A fast sequential decoding algorithm using a stack,” IBM J. Res. Dev.,

vol. 13, pp. 675–685, Nov. 1969.

[26] A. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum

decoding algorithm,” IEEE Transactions on Information Theory, vol. 13, pp. 260–

269, Apr 1967.

[27] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes

for minimizing symbol error rate (corresp.),” IEEE Transactions on Information

Theory, vol. 20, pp. 284–287, Mar 1974.

[28] W. E. Ryan, “A turbo code tutorial,” in Proc. IEEE Globecom’98, [Online]. Avail-

able: http://www.ece.arizona.edu/∼ryan, 1998.

[29] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching

irregular low-density parity-check codes,” IEEE Transactions on Information The-

ory, vol. 47, pp. 619–637, Feb. 2001.

[30] T. Richardson, “Error floors of LDPC codes,” in Proc. 41st Annual Allerton Conf.

on Commun., Control, and Computing, vol. 41, pp. 1426–1435, Oct. 2003.

[31] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions

on Information Theory, pp. 533–547, Sep. 1981.

[32] M. Sipser and D. Spielman, “Expander codes,” IEEE Transactions on Information

Theory, vol. 42, pp. 1710–1722, Nov 1996.

[33] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,”

IEEE Transactions on Information Theory, pp. 399–431, March 1999.

[34] W. E. Ryan, “An introduction to LDPC codes,” 2003. Available online at http:

//www.ece.arizona.edu/∼ryan/NewFolder/ryan-crc-ldpc-chap.pdf.

[35] A. Shokrollahi, “LDPC codes: An introduction,” 2003. Available online at http:

//ipm.ac.ir/swc/2002/amin/Amin2.pdf.

[36] M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, D. A. Spielman, and V. Ste-

mann, “Practical loss-resilient codes,” in STOC ’97: Proceedings of the twenty-

ninth annual ACM symposium on Theory of computing, (New York, NY, USA),

pp. 150–159, ACM, 1997.

Page 92: Low-density parity-check codes : unequal error protection ...

76 References

[37] S.-Y. Chung, J. Forney, G.D., T. Richardson, and R. Urbanke, “On the design

of low-density parity-check codes within 0.0045 dB of the Shannon limit,” IEEE

Communications Letters, vol. 5, pp. 58–60, Feb 2001.

[38] M. Yang, W. Ryan, and Y. Li, “Design of efficiently encodable moderate-length

high-rate irregular LDPC codes,” IEEE Transactions on Communications, vol. 52,

pp. 564–571, April 2004.

[39] M. Luby, M. Mitzenmacher, M. Shokrollahi, and D. Spielman, “Improved low-

density parity-check codes using irregular graphs,” IEEE Transactions on Infor-

mation Theory, vol. 47, pp. 585–598, Feb 2001.

[40] X.-Y. Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregular progressive

edge-growth Tanner graphs,” IEEE Transactions on Information Theory, vol. 51,

pp. 386–398, Jan. 2005.

[41] T. Tian, C. Jones, D. Villasenor, and R. Wesel, “Selective avoidance of cycles

in irregular LDPC code construction,” IEEE Transactions on Communications,

vol. 52, pp. 1242–1247, Aug. 2004.

[42] D. Vukobratovic and V. Senk, “Generalized ACE constrained progressive edge-

growth LDPC code design,” IEEE Communications Letters, vol. 12, pp. 32–34,

Jan. 2008.

[43] T. J. Richardson and R. L. Urbanke, “Efficient encoding of low-density parity-check

codes,” IEEE Transactions on Information Theory, pp. 638–656, Feb. 2001.

[44] Y. Kou, S. Lin, and M. Fossorier, “Low-density parity-check codes based on finite

geometries: a rediscovery and new results,” IEEE Transactions on Information

Theory, vol. 47, pp. 2711–2736, Nov 2001.

[45] M. Fossorier, “Quasicyclic low-density parity-check codes from circulant permuta-

tion matrices,” IEEE Transactions on Information Theory, vol. 50, pp. 1788–1793,

Aug. 2004.

[46] J. Chen, R. Tanner, J. Zhang, and M. Fossorier, “Construction of irregular

LDPC codes by quasi-cyclic extension,” IEEE Transactions on Information The-

ory, vol. 53, pp. 1479–1483, April 2007.

[47] S. Kim, J.-S. No, H. Chung, and D.-J. Shin, “Quasi-cyclic low-density parity-

check codes with girth larger than 12,” IEEE Transactions on Information Theory,

vol. 53, pp. 2885–2891, Aug. 2007.

Page 93: Low-density parity-check codes : unequal error protection ...

References 77

[48] G. Liva, W. Ryan, and M. Chiani, “Quasi-cyclic generalized LDPC codes with low

error floors,” IEEE Transactions on Communications, vol. 56, pp. 49–57, January

2008.

[49] L. Zeng, L. Lan, Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar, “Transactions

papers - Constructions of nonbinary quasi-cyclic LDPC codes: A finite field ap-

proach,” IEEE Transactions on Communications, vol. 56, pp. 545–554, April 2008.

[50] B. Vasic and O. Milenkovic, “Combinatorial constructions of low-density parity-

check codes for iterative decoding,” IEEE Transactions on Information Theory,

pp. 1156–1176, June 2004.

[51] B. Ammar, B. Honary, Y. Kou, J. Xu, and S. Lin, “Construction of low-density

parity-check codes based on balanced incomplete block designs,” IEEE Transac-

tions on Information Theory, vol. 50, pp. 1257–1269, June 2004.

[52] J. Xu, L. Chen, L. Zeng, L. Lan, and S. Lin, “Construction of low-density parity-

check codes by superposition,” IEEE Transactions on Communications, vol. 53,

pp. 243–251, Feb. 2005.

[53] J. Xu, L. Chen, I. Djurdjevic, S. Lin, and K. Abdel-Ghaffar, “Construction of

regular and irregular LDPC codes: Geometry decomposition and masking,” IEEE

Transactions on Information Theory, vol. 53, pp. 121–134, Jan. 2007.

[54] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[55] T. Etzion, A. Trachtenberg, and A. Vardy, “Which codes have cycle-free tanner

graphs?,” IEEE Transactions on Information Theory, vol. 45, pp. 2173–2181, Sep

1999.

[56] M. Ivkovic, S. K. Chilappagari, and B. Vasic, “Eliminating trapping sets in low-

density parity-check codes by using Tanner graph covers,” IEEE Transactions on

Information Theory, vol. 54, pp. 3763–3768, Aug. 2008.

[57] G. Liva, S. Song, L. Lan, Y. Zhang, S. Lin, and W. E. Ryan, “Design of LDPC

codes: A survey and new results,” J. Comm. Software and Systems, 2006. Available

at http://elib.dlr.de/47266/.

Page 94: Low-density parity-check codes : unequal error protection ...

78 References

[58] T. Richardson and R. Urbanke, Modern Coding Theory. Cambridge University

Press, March 2008.

[59] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density parity-check

codes for modulation and detection,” IEEE Transactions on Communications,

vol. 52, pp. 670–678, April 2004.

[60] A. R. S. Bahai, B. R. Saltzberg, and M. Ergen, Multi-carrier digital communica-

tions: theory and applications of OFDM (2nd ed.). Springer, New York, USA.,

2004.

[61] J. Cimini, L., “Analysis and simulation of a digital mobile channel using orthogonal

frequency division multiplexing,” IEEE Transactions on Communications, vol. 33,

pp. 665–675, Jul 1985.

[62] J. Bingham, “Multicarrier modulation for data transmission: an idea whose time

has come,” IEEE Communications Magazine, vol. 28, pp. 5–14, May 1990.

[63] S. H. Han and J. H. Lee, “An overview of peak-to-average power ratio reduction

techniques for multicarrier transmission,” IEEE Wireless Communications, vol. 12,

pp. 56–65, April 2005.

[64] B. S. Krongold and D. L. Jones, “PAR reduction in OFDM via active constellation

extension,” IEEE Transactions on Broadcasting, pp. 258–268, Sep. 2003.

[65] X. Li and J. Cimini, L.J., “Effects of clipping and filtering on the performance of

OFDM,” IEEE Communications Letters, vol. 2, pp. 131–133, May 1998.

[66] J. Armstrong, “Peak-to-average power reduction for OFDM by repeated clipping

and frequency domain filtering,” Electronics Letters, vol. 38, pp. 246–247, Feb 2002.

[67] H. Ochiai and H. Imai, “Performance analysis of deliberately clipped OFDM sig-

nals,” IEEE Transactions on Communications, vol. 50, pp. 89–101, Jan 2002.

[68] K. R. Panta and J. Armstrong, “Effects of clipping on the error performance of

OFDM in frequency selective fading channels,” IEEE Transactions on Wireless

Communications, pp. 668–671, March 2004.

[69] F. Peng and W. Ryan, “MLSD bounds and receiver designs for clipped OFDM

channels,” IEEE Transactions on Wireless Communications, vol. 7, pp. 3568–3578,

Sep. 2008.

Page 95: Low-density parity-check codes : unequal error protection ...

References 79

[70] J. Tellado and J. Cioffi, “Efficient algorithms for reducing PAR in multicarrier sys-

tems,” IEEE International Symposium on Information Theory, 1998. Proceedings.

1998, pp. 191–, Aug 1998.

[71] H. Entekhabi, M. Sharif, and V. Tarokh, “On the peak to average power reduction

of OFDM signals using reserved subcarriers,” Personal, Indoor and Mobile Radio

Communications, 2008. PIMRC 2008. IEEE 19th International Symposium on,

pp. 1–5, Sep. 2008.

[72] S. Muller and J. Huber, “OFDM with reduced peak-to-average power ratio by

optimum combination of partial transmit sequences,” Electronics Letters, vol. 33,

pp. 368–369, Feb 1997.

[73] R. Bauml, R. Fischer, and J. Huber, “Reducing the peak-to-average power ra-

tio of multicarrier modulation by selected mapping,” Electronics Letters, vol. 32,

pp. 2056–2057, Oct 1996.

[74] M. Breiling, S. H. Muller-Weinfurtner, and J. B. Huber, “Peak-power reduction

in OFDM without explicit side information,” 5th International OFDM-Workshop

2000, Hamburg, Germany, Sep. 2000.

[75] A. Jayalath and C. Tellambura, “SLM and PTS peak-power reduction of OFDM

signals without side information,” IEEE Transactions on Wireless Communica-

tions, vol. 4, pp. 2006–2013, Sep. 2005.

[76] Z. Wang, X. Ma, and G. B. Giannakis, “OFDM or single-carrier block transmis-

sions?,” IEEE Transactions on Communications, pp. 380–394, March 2004.

[77] D. Kim and G. Stuber, “Clipping noise mitigation for OFDM by decision-aided

reconstruction,” IEEE Communications Letters, vol. 3, pp. 4–6, Jan 1999.

[78] J. Tellado, L. Hoo, and J. Cioffi, “Maximum-likelihood detection of nonlinearly

distorted multicarrier symbols by iterative decoding,” IEEE Transactions on Com-

munications, vol. 51, pp. 218–228, Feb 2003.

[79] G. Gelle, M. Colas, and D. Declercq, “Turbo decision aided reconstruction of clip-

ping noise in coded OFDM,” IEEE 5th Workshop on Signal Processing Advances

in Wireless Communications, 2004, pp. 591–595, July 2004.

[80] H. Nikopour, A. Khandani, and S. Jamali, “Turbo-coded OFDM transmission

over a nonlinear channel,” IEEE Transactions on Vehicular Technology, vol. 54,

pp. 1361–1371, July 2005.

Page 96: Low-density parity-check codes : unequal error protection ...

80 References

[81] H. Zhang, X.-G. Xia, Q. Zhang, and W. Zhu, “Iterative decision-aided clipping

compensation and its application to scalable video transmission with multiband

OFDM,” IEEE Transactions on Vehicular Technology, vol. 56, pp. 756–765, March

2007.

[82] D. Declercq and G. Giannakis, “Recovering clipped OFDM symbols with Bayesian

inference,” IEEE International Conference on Acoustics, Speech, and Signal Pro-

cessing, 2000. ICASSP ’00. Proceedings. 2000, vol. 1, pp. 157–160 vol.1, 2000.

[83] P. Banelli, G. Leus, and G. B. Giannakis, “Bayesian estimation of clipped Gaus-

sian processes with application to OFDM,” Proceedings of the European Signal

Processing Conference (EUSIPCO), Sep. 2002.

[84] H. Chen and A. Haimovich, “Iterative estimation and cancellation of clipping noise

for OFDM signals,” IEEE Communications Letters, vol. 7, pp. 305–307, July 2003.

[85] R. AliHemmati and P. Azmi, “Iterative reconstruction-based method for clipping

noise suppression in OFDM systems,” IEE Proceedings- Communications, vol. 152,

pp. 452–456, Aug 2005.

[86] U.-K. Kwon, G.-H. Im, and E.-S. Kim, “An iteration technique for recovering in-

sufficient cyclic prefix and clipped OFDM signals,” IEEE Signal Processing Letters,

vol. 14, pp. 317–320, May 2007.

[87] G. W. Wornell, “Spread-response precoding for communication over fading chan-

nels,” IEEE Transactions on Information Theory, pp. 488–501, March 1996.

[88] M. Debbah, P. Loubaton, and M. de Courville, “Spread OFDM performance with

MMSE equalization,” IEEE International Conference on Acoustics, Speech, and

Signal Processing, 2001., pp. 2385–2388, May 2001.

[89] M. Park, H. Jun, and J. Cho, “PAPR reduction in OFDM transmission using

Hadamard transform,” ICC 2000 - IEEE International Conference on Communi-

cations, pp. 430–433, June 2000.

[90] Y. K. Min and V. Jeoti, “PAPR analysis of precoding-based OFDM systems,”

International Conference on Intelligent and Advanced Systems, 2007. ICIAS 2007.,

pp. 457–461, Nov. 2007.

[91] S. Slimane, “Reducing the peak-to-average power ratio of OFDM signals through

precoding,” IEEE Transactions on Vehicular Technology, vol. 56, pp. 686–695,

March 2007.

Page 97: Low-density parity-check codes : unequal error protection ...

References 81

[92] Y.-P. Lin and S.-M. Phoong, “BER minimized OFDM systems with channel inde-

pendent precoders,” IEEE Transactions on Signal Processing, pp. 2369–2380, Sep.

2003.

[93] M. Debbah, M. de Courville, and P. Maille, “Multiresolution decoding algorithm

for Walsh-Hadamard linear precoded OFDM,” 7th International OFDM-Workshop

2002, Hamburg, Germany, Sep. 2002.

[94] Z. Wang, S. Zhou, and G. B. Giannakis, “Joint coding-precoding with low-

complexity turbo-decoding,” IEEE Transactions on Wireless Communications,

pp. 832–842, May 2004.

[95] Z. Liu, Y. Xin, and G. Giannakis, “Linear constellation precoding for OFDM with

maximum multipath diversity and coding gains,” IEEE Transactions on Commu-

nications, vol. 51, pp. 416–427, March 2003.

[96] W. Zou and Y. Wu, “COFDM: an overview,” IEEE Transactions on Broadcasting,

vol. 41, pp. 1–8, Mar 1995.

[97] A. Jones, T. Wilkinson, and S. Barton, “Block coding scheme for reduction of peak

to mean envelope power ratio of multicarrier transmission schemes,” Electronics

Letters, vol. 30, pp. 2098–2099, Dec 1994.

[98] A. Jones and T. Wilkinson, “Combined coding for error control and increased

robustness to system nonlinearities in OFDM,” IEEE 46th Vehicular Technology

Conference, 1996. ’Mobile Technology for the Human Race’.,, vol. 2, pp. 904–908

vol.2, Apr-1 May 1996.

[99] S. Shepherd, J. Orriss, and S. Barton, “Asymptotic limits in peak envelope power

reduction by redundant coding in orthogonal frequency-division multiplex modu-

lation,” IEEE Transactions on Communications, vol. 46, pp. 5–10, Jan 1998.

[100] M. Sharif and B. Hassibi, “Existence of codes with constant PMEPR and related

design,” IEEE Transactions on Signal Processing, vol. 52, pp. 2836–2846, Oct.

2004.

[101] M. Olfat and K. Liu, “Low peak to average power ratio cyclic Golay sequences

for OFDM systems,” IEEE International Conference on Communications, 2004,

vol. 2, pp. 993–997 Vol.2, June 2004.

Page 98: Low-density parity-check codes : unequal error protection ...

82 References

[102] O. Muta and Y. Akaiwa, “Peak power reduction method based on structure of

parity-check matrix for LDPC coded OFDM transmission,” IEEE 65th Vehicular

Technology Conference, 2007. VTC2007-Spring., pp. 2841–2845, April 2007.

[103] B. Le Floch, M. Alard, and C. Berrou, “Coded orthogonal frequency division mul-

tiplex [TV broadcasting],” Proceedings of the IEEE, vol. 83, pp. 982–996, Jun 1995.

[104] S. Zhou, Z. Wang, N. Bapat, and G. Giannakis, “Turbo decoding of error control

coded and unitary precoded OFDM,” Vehicular Technology Conference, 2002. VTC

Spring 2002. IEEE 55th, vol. 3, pp. 1237–1241 vol.3, 2002.

[105] G. Yue and X. Wang, “A hybrid PAPR reduction scheme for coded OFDM,” IEEE

Transactions on Wireless Communications, vol. 5, pp. 2712–2722, Oct. 2006.

[106] Y.-C. Tsai, S.-K. Deng, K.-C. Chen, and M.-C. Lin, “Turbo coded OFDM for

reducing PAPR and error rates,” IEEE Transactions on Wireless Communications,

vol. 7, pp. 84–89, Jan. 2008.

[107] H. Nikopour and S. H. Jamali, “On the performance of OFDM systems over a

cartesian clipping channel - a theoretical approach,” IEEE Transactions on Wire-

less Communications, pp. 2083–2096, Nov. 2004.

[108] H. Futaki and T. Ohtsuki, “Low-density parity-check (LDPC) coded OFDM sys-

tems,” IEEE Vehicular Technology Conference, 2001. VTC 2001 Fall. VTS 54th,

vol. 1, pp. 82–86 vol.1, 2001.

[109] H. Futaki and T. Ohtsuki, “Performance of low-density parity-check (LDPC) coded

OFDM systems,” IEEE International Conference on Communications, 2002. ICC

2002., vol. 3, pp. 1696–1700 vol.3, 2002.

[110] I. Djordjevic, B. Vasic, and M. Neifeld, “LDPC-coded OFDM for optical communi-

cation systems with direct detection,” IEEE Journal of Selected Topics in Quantum

Electronics, vol. 13, pp. 1446–1454, Sep.-Oct. 2007.

[111] V. Mannoni, G. Gelle, and D. Declercq, “A linear criterion to optimize irregular

LDPC codes for OFDM communications,” Vehicular Technology Conference, 2005.

VTC 2005-Spring. 2005 IEEE 61st, vol. 1, pp. 678–682 Vol. 1, May-1 June 2005.

[112] A. de Baynast, A. Sabharwal, and B. Aazhang, “LDPC code design for OFDM

channel: graph connectivity and information bits positioning,” International Sym-

posium on Signals, Circuits and Systems, 2005. ISSCS 2005., vol. 2, pp. 649–652

Vol. 2, July 2005.

Page 99: Low-density parity-check codes : unequal error protection ...

References 83

[113] A. Sanaei and M. Ardakani, “LDPC code design for nonuniform power-line chan-

nels,” EURASIP Journal on Advances in Signal Processing, vol. 2007, pp. Article

ID 76146, 9 pages, 2007. doi:10.1155/2007/76146.

[114] Z. Wang and G. Giannakis, “Linearly precoded or coded OFDM against wireless

channel fades?,” IEEE Third Workshop on Signal Processing Advances in Wireless

Communications, 2001. (SPAWC ’01). 2001, pp. 267–270, 2001.

[115] A. Serener, B. Natarajan, and D. M. Gruenbacher, “Performance of spread OFDM

with LDPC coding in outdoor environments,” IEEE Vehicular Technology Confer-

ence, pp. 318–321, Oct. 2003.

[116] A. Serener and D. M. Gruenbacher, “LDPC coded spread OFDM in indoor envi-

ronments,” Proceedings of the 3rd IEEE International Symposium on Turbo Codes

& Related Topics, France, pp. 549–552, Sep. 2003.

[117] A. Serener, B. Natarajan, and D. Gruenbacher, “Optimized LDPC codes for OFDM

and spread OFDM in correlated channels,” IEEE 65th Vehicular Technology Con-

ference, 2007. VTC2007-Spring., pp. 2276–2280, April 2007.

[118] A. Serener, B. Natarajan, and D. Gruenbacher, “Lowering the error floor of opti-

mized short-block-length LDPC-coded OFDM via spreading,” IEEE Transactions

on Vehicular Technology, vol. 57, pp. 1646–1656, May 2008.

[119] S. Borade, B. Nakiboglu, and L. Zheng, “Some fundamental limits of unequal error

protection,” IEEE International Symposium on Information Theory, 2008. ISIT

2008., pp. 2222–2226, July 2008.

[120] H. Pishro-Nik, N. Rahnavard, and F. Fekri, “Nonuniform error correction using low-

density parity-check codes,” IEEE Transactions on Information Theory, vol. 51,

pp. 2702–2714, July 2005.

[121] B. Masnick and J. Wolf, “On linear unequal error protection codes,” IEEE Trans-

actions on Information Theory, vol. 13, pp. 600–607, Oct 1967.

[122] W. Gore and C. Kilgus, “Cyclic codes with unequal error protection,” IEEE Trans-

actions on Information Theory, vol. 17, pp. 214–215, Mar 1971.

[123] C. Kilgus and W. Gore, “A class of cyclic unequal error protection codes,” IEEE

Transactions on Information Theory, vol. 18, pp. 687–690, Sep 1972.

Page 100: Low-density parity-check codes : unequal error protection ...

84 References

[124] D. Mandelbaum, “Unequal error protection codes derived from difference sets,”

IEEE Transactions on Information Theory, vol. 18, pp. 686–687, Sep 1972.

[125] I. Boyarinov and G. Katsman, “Linear unequal error protection codes,” IEEE

Transactions on Information Theory, vol. 27, pp. 168–175, Mar 1981.

[126] M.-C. Lin and S. Lin, “Cyclic unequal error protection codes constructed from

cyclic codes of composite length,” IEEE Transactions on Information Theory,

vol. 34, pp. 867–871, Jul 1988.

[127] M.-C. Lin, C.-C. Lin, and S. Lin, “Computer search for binary cyclic UEP codes of

odd length up to 65,” IEEE Transactions on Information Theory, vol. 36, pp. 924–

935, Jul 1990.

[128] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) and

their applications,” IEEE Transactions on Communications, vol. 36, pp. 389–400,

Apr 1988.

[129] L.-F. Wei, “Coded modulation with unequal error protection,” IEEE Transactions

on Communications, vol. 41, pp. 1439–1449, Oct 1993.

[130] A. Calderbank and N. Seshadri, “Multilevel codes for unequal error protection,”

IEEE Transactions on Information Theory, vol. 39, pp. 1234–1248, Jul 1993.

[131] M. Sajadieh, F. Kschischang, and A. Leon-Garcia, “Modulation-assisted unequal

error protection over the fading channel,” IEEE Transactions on Vehicular Tech-

nology, vol. 47, pp. 900–908, Aug 1998.

[132] S. Olivieri and M. Martini, “Dynamic bit-interleaved turbo-coded modulation for

unequal error protection,” IEEE Global Telecommunications Conference, 2001.

GLOBECOM ’01., vol. 6, pp. 3267–3271, 2001.

[133] M. Aydinlik and M. Salehi, “Turbo coded modulation for unequal error protection,”

IEEE Transactions on Communications, vol. 56, pp. 555–564, April 2008.

[134] A. Barbulescu and S. Pietrobon, “Rate compatible turbo codes,” Electronics Let-

ters, vol. 31, pp. 535–536, Mar 1995.

[135] F. Burkert, G. Caire, J. Hagenauer, T. Hindelang, and G. Lechner, “Turbo decoding

with unequal error protection applied to GSM speech coding,” Global Telecommu-

nications Conference, 1996. GLOBECOM ’96., vol. 3, pp. 2044–2048, Nov 1996.

Page 101: Low-density parity-check codes : unequal error protection ...

References 85

[136] G. Caire and E. Biglieri, “Parallel concatenated codes with unequal error protec-

tion,” IEEE Transactions on Communications, vol. 46, pp. 565–567, May 1998.

[137] G. Buch and F. Burkert, “Concatenated Reed-Muller codes for unequal error pro-

tection,” IEEE Communications Letters, vol. 3, pp. 202–204, Jul 1999.

[138] B. Vasic, A. Cvetkovic, S. Sankaranarayanan, and M. Marcellin, “Adaptive error

protection low-density parity-check codes for joint source-channel coding schemes,”

IEEE International Symposium on Information Theory 2003. ISIT 2003. Proceed-

ings., pp. 267–267, July 2003.

[139] N. Rahnavard and F. Fekri, “Unequal error protection using low-density parity-

check codes,” International Symposium on Information Theory, 2004. ISIT 2004.

Proceedings., pp. 449–, July 2004.

[140] N. Rahnavard, H. Pishro-Nik, and F. Fekri, “Unequal error protection using par-

tially regular LDPC codes,” IEEE Transactions on Communications, vol. 55,

pp. 387–391, Mar. 2007.

[141] N. Rahnavard and F. Fekri, “New results on unequal error protection using LDPC

codes,” IEEE Communications Letters, vol. 10, pp. 43–45, Jan 2006.

[142] C. Poulliat, D. Declercq, and I. Fijalkow, “Optimization of LDPC codes for UEP

channels,” in Proc. ISIT 2004, p. 451, June 2004.

[143] C. Poulliat, D. Declercq, and I. Fijalkow, “Enhancement of unequal error protection

properties of LDPC codes,” EURASIP Journal on Wireless Communications and

Networking, vol. 2007, pp. Article ID 92659, 9 pages, 2007. doi:10.1155/2007/92659.

[144] L. Sassatelli, W. Henkel, and D. Declercq, “Check-irregular LDPC codes for un-

equal error protection under iterative decoding,” in 4th International Symposium

on Turbo-codes and related topics (D. D. L. Sassatelli, W. Henkel, ed.), 2006.

[145] A. Goupil and D. Declercq, “UEP non-binary LDPC codes: A promising framework

based on group codes,” IEEE International Symposium on Information Theory,

2008. ISIT 2008., pp. 2227–2231, July 2008.

[146] V. Kumar and O. Milenkovic, “On unequal error protection LDPC codes based

on Plotkin-type constructions,” IEEE Transactions on Communications, vol. 54,

pp. 994–1005, June 2006.

Page 102: Low-density parity-check codes : unequal error protection ...

86 References

[147] W. Ruihua, Y. Liuguo, Y. Quan, and L. Jianhua, “Design of irregular LDPC

code with unequal error protection property and its performance analysis on image

transmissions,” Journal of Electronics (China), vol. 22, pp. 658–662, Nov 2005.

[148] N. Thomos, N. Boulgouris, and M. Strintzis, “Product code optimization for deter-

minate state LDPC decoding in robust image transmission,” IEEE Transactions

on Image Processing, vol. 15, pp. 2113–2119, Aug. 2006.

[149] C. Zhong and J. Havlicek, “LDPC codes for robust transmission of images over

wireless channels,” Conference Record of the Thirty-Fifth Asilomar Conference on

Signals, Systems and Computers, 2001., vol. 1, pp. 797–800 vol.1, 2001.

[150] L. Pu, M. W. Marcellin, B. Vasic, and A. Bilgin, “Unequal error protection and pro-

gressive decoding for JPEG2000,” Image Communications, vol. 22, no. 3, pp. 340–

346, 2007.

[151] P. Marti-Puig and J. Sala-Alvarez, “A fast OFDM-CDMA user demultiplexing

architecture,” Proceedings of IEEE International Conference on Acoustics, Speech,

and Signal Processing, 2000. ICASSP ’00., pp. 3358–3361, June 2000.

[152] H. Sankar, N. Sindhushayana, and K. Narayanan, “Design of low-density parity-

check (LDPC) codes for high order constellations,” in Proc. Globecom 2004,

pp. 3113–3117, Nov. 2004.

Page 103: Low-density parity-check codes : unequal error protection ...

Part III

Research Papers

Page 104: Low-density parity-check codes : unequal error protection ...

88

Page 105: Low-density parity-check codes : unequal error protection ...

Paper A

Performance of LDPC Coded

Spread OFDM with Clipping

Authors:

Sara Sandberg, Cormac de Frein, James P. LeBlanc, Bane Vasic and Anthony D. Fagan

Reformatted version of paper originally published in:

Proceedings of the 8th International Symposium on Communication Theory and Appli-

cations (ISCTA) 2005, UK, pp. 156-161.

c© 2005, ISCTA 2005. Reprinted with permission.

89

Page 106: Low-density parity-check codes : unequal error protection ...

90

Page 107: Low-density parity-check codes : unequal error protection ...

PERFORMANCE OF LDPC CODED SPREAD

OFDM WITH CLIPPING

Sara Sandberg, Cormac de Frein, James P. LeBlanc, Bane Vasic and Anthony D. Fagan

Abstract

We present the performance of OFDM systems with coding, spreading, and clipping.

Low-Density Parity-Check (LDPC) codes give coding gains and spreading by the Walsh

Hadamard transform gives gains in terms of increased frequency diversity as well as

reduced peak-to-average power ratio (PAPR) of the transmitted OFDM signal. By eval-

uating both the IFFT transform (OFDM) and the Walsh Hadamard transform in a single

step, the number of operations needed for the spread OFDM system is actually less than

for the conventional OFDM system. Reducing the PAPR is important in systems with

clipping since it is related to the probability of clips. Each clip introduces clipping noise

to the system which reduces the performance. Results of a clipped OFDM system with

LDPC coding and spreading for an ETSI indoor wireless channel model are presented

and compared with other systems. It is shown that there is a gain by spreading for LDPC

coded OFDM systems, and especially for systems with clipping.

1 Introduction

In wireless communications, the channel is often time-varying due to relative transmitter-

receiver motion and reflections. This time-variation, called fading, reduces system perfor-

mance. With a high data rate compared to the channel bandwidth, multipath propaga-

tion becomes frequency-selective and causes intersymbol interference (ISI). A multicarrier

OFDM system is known to transform a frequency-selective fading channel into parallel

flat-fading subchannels if a cyclic prefix is used for preventing inter-block interference.

The receiver complexity is thereby significantly reduced, since the equalizer can be im-

plemented as a number of one-tap filters. In such a system, the data transmitted on some

of the carriers might be strongly attenuated and could be unrecoverable at the receiver.

Lately, spread spectrum techniques have been combined with the conventional OFDM to

better exploit frequency diversity, [1,2]. This combination implies spreading information

across all (or some of) the carriers by precoding with a unitary matrix and is in the

Page 108: Low-density parity-check codes : unequal error protection ...

92 Paper A

following referred to as spread OFDM (SOFDM).

Another way to resist data corruption on fading subchannels is to use error-correcting

codes. In [3], joint precoding and coding of the OFDM system is suggested with con-

volutional codes or turbo-codes and it is shown that there is a significant performance

gain offered by introducing precoding to the coded transmission. In the last decade low-

density parity-check (LDPC) codes, first invented by Gallager in 1962 [4], have attracted

attention, see e.g. [5]. Serener et al. investigate the performance of SOFDM with LDPC

coding in [6, 7].

One of the major drawbacks with the OFDM system is its high peak-to-average

power ratio (PAPR). A high PAPR corresponds to a high probability of clipping in the

power amplifier in the transmitter or, alternatively, a large input power backoff. This

implies reduced signal power, degrading bit error rate and for clipping even spectral

spreading. There has been much research in the area of reducing the PAPR for OFDM

systems, [8, 9]. It is shown in [10] that precoding by the Walsh Hadamard (WH) matrix

reduces the PAPR of the OFDM signal and the associated reduced probability of clipping

distortion will increase the performance of the system. This precoding scheme has also

been suggested for spreading, [1]. Surprisingly, the joint WH spreading and OFDM

modulation can be performed by one single transformation that requires less operations

than the IFFT alone, [11]. In this paper, the total performance gain of the WH spreading

is investigated for an OFDM system with LDPC coding and clipping. In particular, the

gain in bit-error-rate performance is analyzed for an ETSI channel model and results for

clipped OFDM signals are provided.

The conventional and SOFDM system as well as the channel model are described in

Section 2 and the application of LDPC codes to OFDM in Section 3. Results of the WH

spreading applied to clipped and non-clipped OFDM signals follow in Section 4. Finally,

Section 5 gives some concluding remarks.

2 The OFDM System

The OFDM modulation is obtained by applying Inverse FFT (IFFT) to N message

subsymbols, where N is the number of subchannels in the OFDM system. The baseband

signal can be written

xn =1√N

N−1∑k=0

Xk · ej2πnk/N , n = 0, . . . , N − 1 (1)

Page 109: Low-density parity-check codes : unequal error protection ...

Paper A 93

N NP/S EQFFT

Y

N N Nh yx

IFFTX

S/PX

v

Figure 1: Conventional OFDM.

where Xk is symbol number k in a random message stream, also called the frequency

domain signal. Thus the modulated OFDM vector can be expressed as

x = IFFT{X} (2)

A block diagram describing the conventional OFDM system is shown in Figure 1. h is

the channel impulse response and v is a vector of uncorrelated complex Gaussian random

variables with variance σ2. The output from the FFT is

Y = CX + W (3)

where the diagonal matrix C = diag(c1, c2, . . . , cN) gives the frequency domain channel

attenuations and W is the FFT of the noise v. The elements of W are still uncorrelated

complex Gaussian random variables with variance σ2 due to the unitary property of

the FFT. The zero-forcing equalizer is considered for conventional OFDM, but Wiener

equalizers are also used. A practical implementation of OFDM usually uses a cyclic prefix

in order to avoid inter-symbol interference (ISI).

In SOFDM, the frequency domain signal is multiplied by a spreading matrix Θ before

it is fed to the IFFT, Figure 2. The spreading considered here is the WH matrix that

can be generated recursively for sizes a power of two [12]. The (2 × 2) WH matrix is

given by

WH2 =1√2

(1 1

1 −1

). (4)

The (2m × 2m) WH matrix is given in terms of the (m × m) WH matrix,

WH2m =1√2

(WHm WHm

WHm −WHm

). (5)

In the following Θ is assumed to be the (N × N) WH matrix. The WH transform is

an orthogonal linear transform that can be implemented by a butterfly structure as the

IFFT and since the WH and IFFT transforms can be combined and calculated with less

complexity than the IFFT alone this means that the transmitter complexity is reduced

Page 110: Low-density parity-check codes : unequal error protection ...

94 Paper A

X

N N N N

FFTIFFT GhΘX x y Y X

v

Figure 2: Spread OFDM.

by applying WH spreading. At the receiver side, Wiener filtering is performed and the

output of the Wiener filter is the vector X given by X = GY. G is defined as

G = argminW‖W HX − X‖2 = ΘT F (6)

where F is a diagonal matrix,

F = diag

(c∗1

|c1|2 + σ2, . . . ,

c∗N|cN |2 + σ2

)(7)

and (·)∗ denotes conjugation. This means that the receiver consists of scalar channel

equalization followed by the transpose of the spreading matrix, which in the case of uni-

tary spreading equals the inverse. In the following, the noise power σ2 and the frequency

domain channel attenuations ci are assumed to be known.

The wireless channel model used in this work is the ETSI indoor wireless channel

model for HIPERLAN/2, [13]. Wireless channels can be modeled as Rayleigh fading

channels. When a signal is sent from the transmitter across a wireless channel, it trav-

els via many paths (due to reflections, refractions or diffractions) to the receiver. The

different path lengths result in time delays or phase differences between the multipath

components, which leads to constructive and destructive interference. The received signal

y can be written y = ryejφy where ry is the amplitude and φy is the phase. The received

amplitude is Rayleigh distributed with the probability density function

p(ry) =ry

δexp(− ry

2δ) 0 ≤ ry < ∞ (8)

and the received phase is uniformly distributed with

p(φy) =1

2π0 ≤ φy < 2π (9)

where δ is the mean power of the waveform. A sample wireless channel response is shown

in Figure 3. Two deep spectral nulls are apparent in this example.

In Conventional OFDM, each subchannel is assigned one subsymbol. In the example

channel given above, the subsymbols transmitted on the subchannels in the close vicinity

of the two deep spectral nulls, will have a high probability of error. However, using the

Page 111: Low-density parity-check codes : unequal error protection ...

Paper A 95

8 16 24 32 40 48 56 64−30

−20

−10

0

10

Sub

chan

nel P

ower

Gai

n (d

B)

Subchannel Index

Figure 3: Example of a wireless channel response following the ETSI indoor wireless channel

model for HIPERLAN/2.

spreading employed in this work, the information transmitted on each subchannel will

be a linear combination of the original N subsymbols. This means that instead of a

few subsymbols being severely affected by spectral nulls, several subsymbols are lightly

affected. This approach leads to improved BER.

3 LDPC codes for OFDM and SOFDM

Error control codes used in this paper belong to a class known as low-density parity-check

(LDPC) codes [4]. An LDPC code is a linear block code and it can be conveniently

described through a graph commonly referred as a Tanner graph [14]. Such a graphical

representation facilitates a decoding algorithm known as the message-passing algorithm.

A message-passing decoder has been shown to virtually achieve Shannon capacity when

long LDPC codes are used. In the next paragraph we will describe a specific class of

LDPC codes used here. For more details on message passing decoding the reader is

referred to an excellent introduction by Kschischang et al. [15].

Consider a linear block code C of length n defined as the solution-space (in F2) of the

system of linear equations Hx = 0, where H is an m × n binary matrix. The bipartite

graph representation of C is denoted by G. G contains a set of n variable nodes and a

Page 112: Low-density parity-check codes : unequal error protection ...

96 Paper A

N N N NEncoding

LDPC FFTIFFT GhXModu−

lation Decoding

LDPCΘ

X x y Y Xm c c

v

Figure 4: SOFDM with LDPC coding.

set of m check nodes, i.e. nodes corresponding to equations in Hx = 0. A variable node

is connected with a check node if it belongs to a corresponding equation. More precisely,

the i-th column of H corresponds to a variable node xi of the graph G, and the j-th row of

the matrix corresponds to a check node Sj of G. The choice of a parity check matrix that

supports the message-passing algorithm is a problem that has been extensively studied

in recent years, and many random [16] and structured codes have been found [17]. We

have chosen codes from a family of rate-compatible array codes, [18, 19], because they

support a simple encoding algorithm and have low implementation complexity.

The general form of the parity check matrix can be written as

H =

⎛⎜⎜⎜⎜⎜⎜⎝

I I I . . . P1,m/k I . . . I

0 I P2,3 . . . P2,m/k P2,(m+1)/k . . . P2,n/k

0 0 I P3,m/k P3,(m+1)/k . . . P3,n/k

0 0 0... . . .

......

...

0 0 0 0 I Pm/k,(m+1)/k . . . Pm/k,n/k

⎞⎟⎟⎟⎟⎟⎟⎠

(10)

where each of submatrices Pi,j, is a power of a k×k permutation matrix (see [19]). Notice

that the row and column weights of H vary, i.e. the code is irregular. A column j in a

set of m/k leftmost columns has the weight j, while the rest of the columns have weight

m/k.

Figure 4 shows a block diagram describing the SOFDM system with LDPC coding,

denoted by LDPC-SOFDM. The message bits are first encoded to codewords of length n

and modulated to n/2 QPSK symbols. The modulation symbols are ±√Es/2± j√Es/2,

where Es is the symbol energy. The modulated codeword is partitioned into blocks

of N samples, where we assume that n ≥ 2N , and each block is multiplied by the

spreading matrix Θ. The spread signal is sent through the OFDM system and the

Wiener filter. Both soft information from the output of the Wiener filter and the SNR

for each subchannel are fed to the decoder. Since spreading averages SNR of different

subchannels, a theoretical SNR taking the spreading into account is computed and used

for the decoding. The theoretical SNR can be calculated from the output of the Wiener

filter, which is

X = GY = ΘT FCΘX + ΘTFW. (11)

Page 113: Low-density parity-check codes : unequal error protection ...

Paper A 97

Component k of X can be written

Xk = αXk + βk + δk (12)

where

α =1

N

N∑i=1

μi (13)

βk =N∑

i=1,i�=k

(N∑

j=1

ΘjkΘjiμj

)Xi (14)

and

δk =N∑

i=1

Θikc∗i

|ci|2 + σ2Wi. (15)

Θij is element (i, j) in the WH matrix, Θij = ±1/√

N , and μi = |ci|2/(|ci|2 + σ2). For

large N the interference-plus-noise at the output of the Wiener filter (βk + δk) can be

considered to be Gaussian, [2], and approximated as noise. The theoretical SNR of

subchannel k with spreading is

SNRk =Var{αXk}

Var{βk} + Var{δk} = (16)

=α2Es∑N

i=1,i�=k

(∑Nj=1 ΘjkΘjiμj

)2

Es + σ2

N

∑Ni=1

|ci|2(|ci|2+σ2)2

(17)

For conventional OFDM (Θ = I), the SNR is simply

SNRk =Var{ciXk}

σ2=

|ci|2Es

σ2(18)

4 Results

To show the performance of LDPC-SOFDM, simulations are performed with rate 0.8

lattice codes and a codeword length of 1024. The maximum column weight of the parity-

check matrix is 3. The performance is an average over different channel realizations of

the ETSI indoor wireless channel model and the channel realizations are normalized to

have energy N , that is,N∑

i=1

|ci|2 = N (19)

Figure 5 shows the BER performance of different OFDM systems without clipping. The

OFDM system has 64 subchannels and the channel is assumed to be constant during

Page 114: Low-density parity-check codes : unequal error protection ...

98 Paper A

10 15 20 2510

−6

10−5

10−4

10−3

10−2

10−1

SNR (dB)

BE

RConv. OFDMSOFDMLDPC−OFDMLDPC−SOFDM

Figure 5: Performance of conventional OFDM, SOFDM, LDPC-OFDM, and LDPC-SOFDM

for the case of 64 subchannels.

the transmission of one codeword. Both SOFDM and LDPC coding give a large gain

compared with conventional OFDM, but there is also a gain by spreading of about 2.7 dB

of the LDPC coded system at 10−5 bit-error-rate. Figure 6 shows that the performance

does not change much with the number of subcarriers, which is also the size of the

precoder. However, with a large number of subchannels, like 512, interleaving is necessary

for LDPC-OFDM to get this performance.

A comparison to the work in [2] for convolutional codes is shown in Figure 7. The

frequency domain channel attenuations ci in [2] are assumed to be independent identically

distributed circular complex Gaussian random variables with variance 1. A convolutional

encoder with constraint length 7 is used and the code rate is 3/4. The spreading and

equalizer is the same as in this paper and an OFDM system with 64 subchannels is used.

We compare this with our LDPC-SOFDM system with rate 0.8 for the same channel

parameters as in [2]. Figure 7 shows that the LDPC-SOFDM system performs better

than the system with the convolutional code.

Figure 8 shows the reduction of PAPR that is the result of the WH spreading. The

instantaneous PAPR for the kth OFDM block, and the overall PAPR are defined, re-

Page 115: Low-density parity-check codes : unequal error protection ...

Paper A 99

10 11 12 13 14 1510

−6

10−5

10−4

10−3

10−2

SNR (dB)

BE

RN=64 LDPC−OFDMN=64 LDPC−SOFDMN=512 LDPC−OFDMN=512 LDPC−SOFDM

Figure 6: Performance of LDPC-OFDM and LDPC-SOFDM for both 64 and 512 subchannels.

5 6 7 8 9 10 1110

−5

10−4

10−3

10−2

10−1

100

SNR (dB)

BE

R

Conv−SOFDMLDPC−SOFDM

Figure 7: Comparison with a convolutional coded SOFDM system.

Page 116: Low-density parity-check codes : unequal error protection ...

100 Paper A

spectively, by

PAPRk =‖x(k)‖2

∞E{‖x(k)‖2

2}/N(20)

PAPR =maxk‖x(k)‖2

∞E{‖x(k)‖2

2}/N(21)

where x(k) is the kth block of the time domain signal vector. However, in practice it is

more useful to know the distribution of the instantaneous PAPR. In Figure 8 the overall

PAPR has decreased by 1.1 dB and the mean instantaneous PAPR has decreased by 0.8

dB by spreading.

In many systems clipping occurs in the power amplifier and a reduction of PAPR

reduces the number of clips. If xi = riejφi denotes the input complex signal, the clipping

of the baseband signal can be modeled as si = riejφi, with

ri =

{ri, for ri ≤ Amax

Amax, for ri > Amax

(22)

where Amax is the maximum output amplitude. The clipping ratio γ is defined as

γ =Amax√Es

. (23)

Figure 9 shows the BER in a case where the signal is clipped with a clipping ratio of 2

dB. The total gain of spreading is around 4 dB at 10−5 bit-error-rate, compared to 2.7

dB when there is no clipping, since the PAPR reduction by spreading has reduced the

number of clips. The effect of clipping noise to the SNR is not taken into account in the

decoder. This result suggests that spreading is of extra value in systems where there is

a high probability of clipping.

5 Conclusions

In this paper the BER performance of LDPC-SOFDM is investigated. The spreading

considered is the WH transform which actually can reduce the complexity of the system.

Results for the ETSI indoor wireless channel model show that using LDPC-SOFDM

instead of LDPC-OFDM in a system with clipping gives a gain of 4 dB at a bit-error-rate

of 10−5. The gain is due to increased frequency diversity as well as reduced PAPR. The

performance is also investigated for different number of subchannels and the results show

that systems with different number of subchannels perform almost the same. However, a

large number of subchannels increases the PAPR which in turn increases the probability of

Page 117: Low-density parity-check codes : unequal error protection ...

Paper A 101

0 5 10 15 20 25 30 350

2

4

6

(a) PAPR

log 10

(his

t(P

AP

R))

0 5 10 15 20 25 30 350

2

4

6

(b) PAPR

log 10

(his

t(P

AP

R))

Figure 8: Histograms of the PAPR for an OFDM system with 64 subchannels, with (a) and

without (b) spreading.

10 11 12 13 14 15 1610

−6

10−5

10−4

10−3

10−2

SNR (dB)

BE

R

LDPC−OFDMLDPC−SOFDMLDPC−OFDM 2 dB clipLDPC−SOFDM 2 dB clip

Figure 9: Performance of LDPC-OFDM and LDPC-SOFDM with 64 subchannels. The perfor-

mance is shown both for no clipping and for a clipping ratio of 2 dB.

Page 118: Low-density parity-check codes : unequal error protection ...

102 Paper A

clips. Our results confirm that spreading enhances the performance of the OFDM system

for the ETSI channel model and show that especially the performance in a system with

clipping is increased, while the complexity is reduced.

References

[1] Y.-P. Lin and S.-M. Phoong, “BER minimized OFDM systems with channel inde-

pendent precoders,” IEEE Transactions on Signal Processing, pp. 2369–2380, Sep.

2003.

[2] M. Debbah, P. Loubaton, and M. de Courville, “Spread OFDM performance with

MMSE equalization,” IEEE International Conference on Acoustics, Speech, and Sig-

nal Processing, 2001., pp. 2385–2388, May 2001.

[3] Z. Wang, S. Zhou, and G. B. Giannakis, “Joint coding-precoding with low-

complexity turbo-decoding,” IEEE Transactions on Wireless Communications,

pp. 832–842, May 2004.

[4] R. G. Gallager, “Low density parity check codes,” IRE Transactions on Information

Theory, pp. 21–28, Jan. 1962.

[5] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,”

IEEE Transactions on Information Theory, pp. 399–431, March 1999.

[6] A. Serener, B. Natarajan, and D. M. Gruenbacher, “Performance of spread OFDM

with LDPC coding in outdoor environments,” IEEE Vehicular Technology Confer-

ence, pp. 318–321, Oct. 2003.

[7] A. Serener and D. M. Gruenbacher, “LDPC coded spread OFDM in indoor envi-

ronments,” Proceedings of the 3rd IEEE International Symposium on Turbo Codes

& Related Topics, France, pp. 549–552, Sep. 2003.

[8] P. V. Eetvelt, G. Wade, and M. Tomlinson, “Peak to average power reduction for

OFDM schemes by selective scrambling,” Electronics Letters, pp. 1963–1964, Oct.

1996.

[9] K. Yang and S.-I. Chang, “Peak-to-average power control in OFDM using standard

arrays of linear block codes,” IEEE Communications Letters, pp. 174–176, April

2003.

Page 119: Low-density parity-check codes : unequal error protection ...

Paper A 103

[10] M. Park, H. Jun, and J. Cho, “PAPR reduction in OFDM transmission using

Hadamard transform,” ICC 2000 - IEEE International Conference on Communi-

cations, pp. 430–433, June 2000.

[11] P. Marti-Puig and J. Sala-Alvarez, “A fast OFDM-CDMA user demultiplexing archi-

tecture,” Proceedings of IEEE International Conference on Acoustics, Speech, and

Signal Processing, 2000. ICASSP ’00., pp. 3358–3361, June 2000.

[12] N. Ahmed and K. R. Rao, Orthogonal transforms for digital signal processing.

Springer Verlag, 1975.

[13] ETSI, “Channel models for HIPERLAN/2 in different indoor scenarios,” COST 256

TD(98), April 1998.

[14] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on

Information Theory, pp. 533–547, Sep. 1981.

[15] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[16] D. J. C. MacKay, “Relationships between sparse graph codes,” Proc. of IBIS 2000,

Japan, 2000. Available online at http://www.inference.phy.cam.ac.uk/mackay/

abstracts/ibis.html.

[17] B. Vasic and O. Milenkovic, “Combinatorial constructions of low-density parity-

check codes for iterative decoding,” IEEE Transactions on Information Theory,

pp. 1156–1176, June 2004.

[18] E. Eleftheriou and S. Olcer, “Low-density parity-check codes for digital subscriber

lines,” Proceedings, IEEE International Conference on Communications, pp. 1752–

1757, Apr. 2002.

[19] A. Dholakia and S. Olcer, “Rate-compatible low-density parity-check codes for dig-

ital subscriber lines,” Proc., IEEE International Conference on Communications,

pp. 415–419, Jun. 2004.

Page 120: Low-density parity-check codes : unequal error protection ...

104

Page 121: Low-density parity-check codes : unequal error protection ...

Paper B

Receiver-oriented Clipping-effect

Mitigation in OFDM - A Worthy

Approach?

Authors:

Sara Sandberg, James P. LeBlanc and Bane Vasic

Reformatted version of paper originally published in:

Proceedings of the 10th International OFDM-Workshop 2005, Hamburg.

c© 2005, OFDM-Workshop 2005. Reprinted with permission.

105

Page 122: Low-density parity-check codes : unequal error protection ...

106

Page 123: Low-density parity-check codes : unequal error protection ...

RECEIVER-ORIENTED CLIPPING-EFFECT

MITIGATION IN OFDM - A WORTHY

APPROACH?

Sara Sandberg, James P. LeBlanc and Bane Vasic

Abstract

The high peak-to-average power ratio (PAR) in Orthogonal Frequency Division Multi-

plexing (OFDM) modulation systems can significantly reduce performance and power

efficiency. A number of methods exist that combat large signal peaks in the transmit-

ter. Recently several methods have emerged that alleviate the clipping distortion in the

receiver. We analyze the performance of two receiver clipping mitigation methods in

an OFDM system with Cartesian clipping and low-density parity-check (LDPC) coding.

Surprisingly, the cost of completely ignoring clipping in the receiver is minimal, even

though we assume that the receiver has perfect knowledge of the channel. The results

suggest that clipping mitigation strategies should be concentrated to the transmitter.

1 Introduction

It is well known that OFDM signals may suffer from a high peak-to-average power ratio

(PAR), tending towards a Gaussian distribution for a large number of sub-carriers. There

is a vast research literature on transmit-oriented signal processing and coding methods

to mitigate problems associated with clipping due to these high PAR values, see [1–3].

However, many such methods aimed at lowering PAR come at the cost of increased

transmitter complexity or lowering transmission rate. Thus, one may consider allowing

such occasional clips due to high PAR transmit signals and suffer the associated loss due

to clipping. Of course, one would still seek receiver methods to minimize such clipping

loss.

A number of recent papers document the loss of untreated clipping, for example [4,5].

Furthermore, there is on-going research on understanding the clipping effects in the

received signal, as well as ways to mitigate their effects, [6, 7].

In this paper we make an attempt to quantify in the best practical sense how much

the clipping loss can be mitigated. Surprisingly, even when using near optimal methods

Page 124: Low-density parity-check codes : unequal error protection ...

108 Paper B

NEncoding

LDPC

NModu−

QPSK

lation

QPSK

Demodu−FFTxIFFT

y zXm Z

lationDecoding

LDPCrc m

v

Figure 1: LDPC coded OFDM system with clipping.

which involve significant calculations (i.e. they lie beyond near-term practicality) we

find that the mitigation ability of such extreme processing is rather limited. To evaluate

the limits of receiver oriented processing, we choose to combine best known practical

coding methods, low-density parity-check (LDPC) codes, with the exact distribution

of the clipping distortion. This combination could be expected to represent the best

practically achievable system performance. It is assumed throughout the paper that the

variance of the additive white Gaussian noise (AWGN) is perfectly known.

Another way to combat the clipping distortion in the receiver is to estimate the signal

before clipping from the clipped signal. In [7], a Bayesian estimator for the Cartesian

clipper is derived. In this paper we show that for an OFDM system with LDPC coding,

the ability to counter clipping gives an improvement of only 0.1 dB at 10−6 bit-error-rate.

To wit, the cost of completely ignoring clipping in the receiver appears to be minimal.

These results are intended to give insight into the potentially unrecoverable nature of the

clipping phenomena and imply directing attention to transmit-oriented strategies.

2 System Description and Channel Model

The system model used throughout the paper is an OFDM system with Cartesian clipping

and AWGN. LDPC codes are utilized for error-correction and the encoded bits are QPSK-

modulated, see Figure 1. In this section the OFDM system, the channel model and the

LDPC codes will be discussed in turn.

The OFDM modulation is obtained by applying Inverse FFT (IFFT) to N QPSK

modulated message (or codeword) subsymbols, where N is the number of subchannels in

the OFDM system. The complex baseband signal (also called the time-domain signal)

can be written

xn =1√N

N−1∑k=0

Xk · ej2πnk/N , n = 0, . . . , N − 1 (1)

where Xk is subsymbol number k in the message stream, also called the frequency domain

signal. Thus the OFDM modulated signal vector can be expressed as

x = IFFT{X}. (2)

Page 125: Low-density parity-check codes : unequal error protection ...

Paper B 109

The time-domain signal xn can be represented by xIn + jxQ

n , where xIn and xQ

n are the

in-phase/quadrature (I/Q) components. A practical implementation of OFDM usually

uses a cyclic prefix in order to avoid inter-symbol interference (ISI).

In this paper we focus on the Cartesian clipper that clips xIn and xQ

n separately and

in the following xn denotes either xIn or xQ

n , so that xn is always a real sequence. The

distorted signal is modeled as the output from the ideal clipper

yn = g(xn) =

⎧⎪⎨⎪⎩

−x0, xn ≤ −x0

xn, −x0 < xn < +x0

+x0, xn ≥ +x0

(3)

where x0 is the clipping level and yn is the clipped I or Q component. The complex

clipped signal is yn = yIn + jyQ

n = g(xIn) + jg(xQ

n ). Following the clipper, complex white

Gaussian noise v with variance 2σ2v (each noise component has variance σ2

v) is added to

the signal. In the receiver, the clipped and noisy signal is demodulated by the OFDM

FFT demodulator.

Error control codes used in this paper belong to a class known as LDPC codes [8]. An

LDPC code is a linear block code and it can be conveniently described through a graph

commonly referred to as a Tanner graph [9]. Such a graphical representation facilitates a

decoding algorithm known as the message-passing algorithm. A message-passing decoder

has been shown to virtually achieve Shannon capacity when long LDPC codes are used.

In the next paragraph we will describe a specific class of LDPC codes used here. For more

details on message passing decoding the reader is referred to an excellent introduction

by Kschischang et al. [10].

Consider a linear block code C of length n defined as the solution-space (in F2) of

the system of linear equations Hx = 0, where H is an m × n binary matrix. The

choice of a parity check matrix that supports the message-passing algorithm is a problem

that has been extensively studied in recent years, and many random [11] and structured

codes have been found [12]. We have chosen codes from a family of rate-compatible

array codes, [13, 14], because they support a simple encoding algorithm and have low

implementation complexity.

The general form of the parity check matrix can be written as

H =

⎛⎜⎜⎜⎜⎜⎜⎝

I I I . . . P1,m/k I . . . I

0 I P2,3 . . . P2,m/k P2,(m+1)/k . . . P2,n/k

0 0 I P3,m/k P3,(m+1)/k . . . P3,n/k

0 0 0... . . .

......

...

0 0 0 0 I Pm/k,(m+1)/k . . . Pm/k,n/k

⎞⎟⎟⎟⎟⎟⎟⎠

(4)

Page 126: Low-density parity-check codes : unequal error protection ...

110 Paper B

where each of the submatrices Pi,j is a power of a k × k permutation matrix, see [14].

Notice that the row and column weights of H vary, i.e. the code is irregular.

In the message-passing decoder, log-likelihood ratios (LLRs) are updated and passed

between nodes. The wanted LLRs are the a posteriori probabilities that a given bit in

c equals 0 or 1 given the whole received word r. The initial LLR for the ith node (or

codeword bit) is calculated as

LLRi = logPr(ci = 0|ri)

Pr(ci = 1|ri)(5)

where Pr(A|B) denotes the conditional probability of A given B. When the LLRs are

updated by the message-passing algorithm, they will better approximate the wanted

LLRs.

3 Characterization of Clipping Noise

The description of the clipping distortion in this section mainly follows the characteriza-

tion given in the recent paper [6]. The time-domain OFDM signal xn is the sum of several

statistically independent subcarriers and the I/Q components can be approximated by

Gaussian processes, invoking the central limit theorem, if the number of subcarriers is

large. The pdf of xn is therefore assumed to be Gaussian with mean zero and variance

σ2x, where 2σ2

x is the power of each complex frequency-domain symbol Xn.

Knowing that the time-domain signal is approximately Gaussian, the Bussgang the-

orem can be applied, [15]. It states that the output of the clipper can be expressed as

yn = αxn + wn, where wn is uncorrelated with the clipper input signal xn and α is an at-

tenuation. The notation (·)n denotes as before either the I or Q component of a complex

signal. The attenuation α is dependent only on the input backoff (ibo) of the clipper and

for the Cartesian clipper defined in (3) the attenuation is given by

α = 1 − 2Q(√

ibo) (6)

where the Q-function and the ibo is defined as

Q(x) =

∫ ∞

x

1√2π

e−x2/2 (7)

ibo =x2

0

σ2x

(8)

The part of the clipped signal that has no correlation with the input signal, wn, is called

the clipping noise. The pdf of the I/Q component of the time-domain clipping noise is

Page 127: Low-density parity-check codes : unequal error protection ...

Paper B 111

derived in [6] and is given by

pw(w) =

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

G(w; +x0, α2σ2

x), w ≤ −βx0

G(w;−x0, α2σ2

x)

+G(w; 0, β2σ2x)

+G(w; +x0, α2σ2

x), −βx0 < w < +βx0

G(w;−x0, α2σ2

x), w ≥ +βx0

(9)

where β = 1 − α and

G(x, μ, σ2) =1√

2πσ2exp

{−(x − μ)2

2σ2

}(10)

is the Gaussian pdf with mean μ and variance σ2. The pdf pw(w) of the I/Q component

of the clipping noise can be re-written as a function of the clipping parameters ibo and

x0 only.

Before LDPC decoding, the clipped and noisy received signal zn is demodulated by

the FFT. The AWGN after the FFT will have the same variance as before the FFT, due

to the unitary property of the FFT. This will not be the case for the clipping noise since

it is not assumed to be Gaussian. The frequency-domain clipping noise over the kth

subchannel, which is the output of the FFT when the input is the time-domain clipping

noise, is

Wk =1√N

N−1∑n=0

(wIn + jwQ

n )e−j2πkn/N (11)

The Wk (I or Q component) is a sum of 2N approximately i.i.d. random variables and

its pdf is the convolution of 2N probability density functions. To avoid the convolutions

the pdf of Wk can be calculated as the product of the characteristic function of wn in

different points. The characteristic function of wn (the Fourier transform of its pdf) is

given by, [6],

Φw(ω) = e−β2σ2xω2/2�

{1 − 2Q(

√ibo + jωβσx)

}

+ e−α2σ2xω2/2�

{ejωx02Q(

√ibo + jωβσx)

}(12)

where �{·} denotes the real part. The characteristic function of the frequency-domain

clipping noise can now be written as

ΦWk(ω) =

N−1∏n=0

[Φw

( |cos(2πkn/N)|√N

ω

)

Φw

( |sin(2πkn/N)|√N

ω

)](13)

Page 128: Low-density parity-check codes : unequal error protection ...

112 Paper B

using (11) and (12), [6]. The pdf of Wk is the inverse Fourier transform of ΦWk(ω), but

it is usually easier to find the cumulative distribution function by a numerical method

called the Fourier series method, [16].

Since the clipping noise pdf is only dependent on the ibo of the clipper, this pdf must

be calculated only once for a system with a given ibo and then a lookup table can be

created. In the system discussed here, the clipping noise pdf is convolved with the AWGN

pdf to give the pdf of the total noise for subchannel j, denoted puj(uj). If the channel is

frequency flat, the pdf of the total noise will be the same for all subchannels. The initial

log-likelihood ratios for the decoder are calculated from this pdf according to (5), while

accounting for the attenuation α. The conditional probability Pr(ci = c|ri) where c is

either 0 or 1 can be written

Pr(ci = c|ri) =pri|c(ri|ci = c)Pr(ci = c)

pri(ri)

(14)

where pri(ri) is the pdf of the received signal and pri|c(ri|ci = c) is the conditional density

of the received signal given the corresponding codeword bit. In the case where 0 and 1

are equally likely to be transmitted, the LLR for the ith node is

LLRi = log

(pri|c(ri|ci = 0)

pri|c(ri|ci = 1)

). (15)

The LLRs can be calculated from the pdf of the total noise and the attenuation α by

LLRi = log

(puj

(ri − ασx)

puj(ri + ασx)

)(16)

since each codeword bit is represented by (−1)ci before applying the IFFT.

4 Bayesian Estimation

Another way to counter the clipping in the receiver is to estimate the time-domain signal

xn from the clipped and noisy signal zn. In [7], a Bayesian estimator for signals clipped

by the Cartesian clipper and distorted by AWGN is derived. The Bayesian estimator is

the optimal estimator of xn given zn in the Minimum Mean-Square Error (MMSE) sense,

given by

ˆxopt = E{x|z} =

∫ ∞

−∞xpx|z(x, z)dx (17)

where px|z is the conditional pdf of the I/Q component xn given zn. A straight for-

ward derivation (see [7]) leads to a closed form expression of the Bayesian estimator for

Page 129: Low-density parity-check codes : unequal error protection ...

Paper B 113

Gaussian input signals,

ˆxopt =1

pz(z)

{σx

2πσve− x2

02σ2

x

(e− (z−x0)2

2σ2v − e

− (z+x0)2

2σ2v

)

+σ2

x√2π(σ2

v + σ2x)3

ze− z2

2(σ2v+σ2

x) [Q(√

2γ2) − Q(√

2γ1)]

+σxσv

2π(σ2v + σ2

x)e− z2

2(σ2v+σ2

x)

(e−γ2

2 − e−γ21

)}(18)

where

γ1 =σ2

x(x0 − z) + σ2vx0

σxσv

√2(σ2

x + σ2v)

(19)

γ2 =−σ2

x(x0 + z) − σ2vx0

σxσv

√2(σ2

x + σ2v)

. (20)

The time-domain signal xn is estimated from the clipped and noisy zn and the output

from the estimator xopt is then demodulated by the FFT. The log-likelihood ratios that

are needed for LDPC decoding should be calculated from the pdf of the estimation error

after the FFT (X−Xopt) and the power of the AWGN, but in this case we assume that the

log-likelihood ratios can be approximated by the ratios calculated only from the AWGN.

It will be shown in the next section that the performance loss of ignoring the clipping

effects when calculating the LLRs is minor, and this validates the approximation.

5 Results and Discussion

The performance of the LDPC coded OFDM system with Cartesian clipping is shown in

Figure 2 for an ibo of 4 dB. The rate of the LDPC code is 0.8, the codeword length is

1024 and 64 OFDM subchannels are used. The simulation shows that the performance

gains of the two investigated receiver clipping mitigation methods are negligible. The

best performance is obtained for the Bayesian estimation, but the improvement is only

around 0.1 dB at 10−6 bit-error-rate and it seems like the LDPC decoder is not very

sensitive to having the exact log-likelihood ratios. The signal-to-noise ratio (SNR) used

in this paper is the ratio of transmitted signal power (after clipping) per message bit to

the power of the AWGN, that is,

SNR =1

r

σ2y

σ2v

(21)

Page 130: Low-density parity-check codes : unequal error protection ...

114 Paper B

1 2 3 4 5 6 710

−6

10−5

10−4

10−3

10−2

10−1

SNR (dB)

BE

RClipping ignoredExact noise dist.Bayesian est.No clipping

Figure 2: Performance of LDPC coded OFDM with Cartesian clipping (ibo = 4 dB).

where r is the rate of the LDPC code and the power of the transmitted clipped signal is

σ2y = 2σ2

y , with ( [6])

σ2y =

x20

ibo

[1 − 2Q(

√ibo) −

√2ibo

πe−

ibo2 + 2iboQ(

√ibo)

]. (22)

Figure 3 shows the pdf of the clipping noise, the pdf of the AWGN and the pdf of

the total noise (the convolution) for an SNR of 6 dB and an ibo of 4 dB. It is seen in the

figure that the clipping noise does not affect the total noise much, and the total noise

has almost the same pdf as the AWGN. The log-likelihood ratios that are the input to

the LDPC decoder are calculated from the total noise pdf and the attenuation according

to (16), and in this case where the total noise pdf and the AWGN pdf looks almost the

same, there will be a minor improvement in performance when the exact LLRs are used

instead of just ignoring the effect of the clipping noise. The attenuation α is 0.89 for this

example. The reason why the effect of the attenuation is minimal is that with a scaling,

all LLRs are affected in the same manner.

In systems without error correction, an improvement by the receiver clipping mitiga-

tion methods is observed for high SNR, see [6, 7]. When using LDPC codes, these high

SNRs are never used since even a moderate SNR gives low enough bit-error-rate, at least

in a wireless system. It seems like the redundancy added by the LDPC code is effective

also in mitigating the clipping distortion. The results suggest that at the receiver side in

Page 131: Low-density parity-check codes : unequal error protection ...

Paper B 115

−2 −1.5 −1 −0.5 0 0.5 1 1.5 20

0.5

1

1.5

2

2.5

3

Noise value

Prob

abili

ty d

ensi

tyClipping noiseAWGNClipping noise + AWGN

Figure 3: Pdf of clipping noise, AWGN and the sum of the clipping noise and the AWGN for

an ibo of 4 dB and an SNR of 6 dB.

a system with LDPC coding, the clipping distortion can be assumed to be more AWGN

with just a negligible performance loss.

6 Conclusions

Unexpectedly, it is shown that for bit-error-rates of down to 10−6 that are reasonable

in a wireless system, the clipping mitigation methods using extensive calculations and a

priori information give little improvement on the performance of an LDPC coded OFDM

system, compared to just ignoring the clipping effects. These results can be explained in

part by noticing that the changes in the initial log-likelihood ratios due to the clipping

mitigation methods are small. Our results should imply directing attention to transmit-

oriented clipping mitigation strategies.

References

[1] B. S. Krongold and D. L. Jones, “PAR reduction in OFDM via active constellation

extension,” IEEE Transactions on Broadcasting, pp. 258–268, Sep. 2003.

Page 132: Low-density parity-check codes : unequal error protection ...

116 Paper B

[2] M. Breiling, S. H. Muller-Weinfurtner, and J. B. Huber, “Peak-power reduction

in OFDM without explicit side information,” 5th International OFDM-Workshop

2000, Hamburg, Germany, Sep. 2000.

[3] M. Park, H. Jun, and J. Cho, “PAPR reduction in OFDM transmission using

Hadamard transform,” ICC 2000 - IEEE International Conference on Communi-

cations, pp. 430–433, June 2000.

[4] K. R. Panta and J. Armstrong, “Effects of clipping on the error performance of

OFDM in frequency selective fading channels,” IEEE Transactions on Wireless

Communications, pp. 668–671, March 2004.

[5] H. Ochiai and H. Imai, “Performance analysis of deliberately clipped OFDM sig-

nals,” IEEE Transactions on Communications, vol. 50, pp. 89–101, Jan 2002.

[6] H. Nikopour and S. H. Jamali, “On the performance of OFDM systems over a

cartesian clipping channel - a theoretical approach,” IEEE Transactions on Wireless

Communications, pp. 2083–2096, Nov. 2004.

[7] P. Banelli, G. Leus, and G. B. Giannakis, “Bayesian estimation of clipped Gaussian

processes with application to OFDM,” Proceedings of the European Signal Process-

ing Conference (EUSIPCO), Sep. 2002.

[8] R. G. Gallager, “Low density parity check codes,” IRE Transactions on Information

Theory, pp. 21–28, Jan. 1962.

[9] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on

Information Theory, pp. 533–547, Sep. 1981.

[10] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[11] D. J. C. MacKay, “Relationships between sparse graph codes,” Proc. of IBIS 2000,

Japan, 2000. Available online at http://www.inference.phy.cam.ac.uk/mackay/

abstracts/ibis.html.

[12] B. Vasic and O. Milenkovic, “Combinatorial constructions of low-density parity-

check codes for iterative decoding,” IEEE Transactions on Information Theory,

pp. 1156–1176, June 2004.

Page 133: Low-density parity-check codes : unequal error protection ...

Paper B 117

[13] E. Eleftheriou and S. Olcer, “Low-density parity-check codes for digital subscriber

lines,” Proceedings, IEEE International Conference on Communications, pp. 1752–

1757, Apr. 2002.

[14] A. Dholakia and S. Olcer, “Rate-compatible low-density parity-check codes for dig-

ital subscriber lines,” Proc., IEEE International Conference on Communications,

pp. 415–419, Jun. 2004.

[15] A. Papoulis, Probability, random variables, and stochastic processes. McGraw-Hill,

3rd ed., 1991.

[16] J. Abate and W. Whitt, “Fourier-series method for inverting transforms of proba-

bility distributions,” Queuing Systems, vol. 10, pp. 5–88, 1992.

Page 134: Low-density parity-check codes : unequal error protection ...

118

Page 135: Low-density parity-check codes : unequal error protection ...

Paper C

Design of Unequal Error Protection

LDPC Codes for Higher Order

Constellations

Authors:

Neele von Deetzen and Sara Sandberg

Reformatted version of paper originally published in:

Proceedings of the IEEE International Conference on Communications, 2007, Scotland,

pp. 926-931.

c© 2007, IEEE. Reprinted with permission.

119

Page 136: Low-density parity-check codes : unequal error protection ...

120

Page 137: Low-density parity-check codes : unequal error protection ...

DESIGN OF UNEQUAL ERROR PROTECTION

LDPC CODES FOR HIGHER ORDER

CONSTELLATIONS

Neele von Deetzen and Sara Sandberg

Abstract

We present an optimization method for unequal error protection (UEP)-LDPC codes

with higher order constellations. By modifying the density evolution algorithm under

the Gaussian approximation, we propose a flexible code design algorithm for a variable

number of protection classes and arbitrary modulation schemes with Gray mapping.

Our results show that appropriate code design for higher order constellations reduces the

overall bit-error rate. Furthermore, the influence on the UEP capability of the code, that

is, the difference in bit-error rate between the protection classes, is investigated.

1 Introduction

Coded modulation is a well-known technique which optimizes the coding scheme given the

modulation in order to improve the performance of transmission systems [1–4]. Usually,

the modulation alphabet is successively partitioned into smaller subsets, where each

partitioning level is assigned a label. These labels are protected by separate channel codes

with certain protection capabilities. The codes have to be designed carefully depending

on the modulation scheme and its partitioning or labeling strategy. According to [5], the

optimal way of designing the codes is to match the different code rates to the capacities of

the partitioning steps. This means that, for a given signal-to-noise ratio (SNR) and given

modulation scheme and partitioning, the code rates of the single codes are fixed. However,

there are also other design approaches with similar results, [6, 7]. The corresponding

channel codes can be block codes, convolutional codes, or concatenated codes.

In our approach, we use low-density parity-check (LDPC) codes, which were presented

by Gallager in [8]. LDPC codes are block codes with a sparse parity-check matrix H that

can be conveniently described through a graph commonly called a Tanner graph [9]. Such

a graphical representation facilitates a decoding algorithm known as the message-passing

Page 138: Low-density parity-check codes : unequal error protection ...

122 Paper C

algorithm. For more details on message-passing decoding, the reader is referred to an

introduction by Kschischang et al. [10]. Optimization of LDPC codes as separate codes

for each level in multilevel coding has been investigated in [11] amongst others.

In this paper, only one code is used for all levels instead of separate codes. A longer

code (with better performance) can then be used while keeping the delay fixed. The task

is to design certain local properties of the code to match the higher order constellations

and assign bit positions of the modulation scheme to the codeword bits. Achieving local

properties in the codeword may be done by designing the variable and/or check node

degree distribution of the code in an irregular way [12–15]. The connection degree of

the variable nodes affects the bit-error rate (BER). The message bits are divided into

several classes depending on the connection degree and each class has different BER after

decoding, that is, the code provides unequal error protection (UEP). In [16], bits from the

most protected modulation level are mapped to variable nodes with the best protection,

that is, the variable nodes with highest connection degrees. No other optimization is

performed. In [7], the different amount of protection for each modulation level is taken

into account in the initialization of the density evolution algorithm that is employed to

optimize the degree distribution of the code. In our approach, we design UEP-LDPC

codes while accounting for the unequal error protection which is already inherent in

modulation. Regarding the modulation schemes, any conventional scheme like M-QAM

or M-PSK as well as more complex schemes called hierarchical constellations [17] with

Gray labeling may be used.

The paper is organized as follows. Section 2 presents the overall system model, while

models for the modulator are given in Section 3. Section 4 contains the main part of this

paper which includes a general description of irregular LDPC codes and the standard

code optimization as well as extensions for UEP. We also explain the optimization of

the degree distribution for higher order constellations and give an algorithm for the code

design. In Section 5, some simulation results are discussed.

2 System Model

In this section, we describe the system model of the transmission scheme. Usually, in

multilevel coding, the information bits are demultiplexed into lm parallel streams, where

2lm = M is the constellation size of the modulation scheme. The different bit streams

are encoded separately and are assigned to the lm partitioning steps of a modulation

scheme. In our case, each independent and identically distributed (i.i.d.) information bit

is assigned to one of Nc − 1 protection classes, which are usually defined by the source

Page 139: Low-density parity-check codes : unequal error protection ...

Paper C 123

RE

MU

XUEP−

LDPC

ui ∈ Ck

k = 1, . . . , Nc − 1

C1

CNc−1

CNc

M1

MNs

s

Figure 1: UEP-LDPC coded modulation scheme.

coding unit and do not have to be of equal size. We apply only one code C, providing

Nc protection classes at its output (see Figure 1), where all parity bits correspond to

the least protected class CNc . The bits of the protection classes are remultiplexed and

assigned to certain bit positions of the modulator, which correspond to modulation classes

M1, . . . , MNs. The bit assignment will be described in Section 4.1. In the following we

assume an additive white Gaussian noise (AWGN) channel with noise variance σ2.

3 Modulation

Let us assume a modulation scheme with M = 2lm signal points, labeled by binary

vectors d = (dlm−1, . . . d1, d0). In order to design codes for higher order constellations,

we investigate the error probabilities of the individual bits. The example of 8-PSK is

chosen here, but the scheme can also be designed for any other constellation.

Using the union bound, the approximate symbol-error rate expression for 8-PSK is

given as [18],

Ps,8−PSK = erfc(√

3 · Eb/N0 sinπ

8

), (1)

where erfc(·) is the complementary error function. The individual and average bit-error

probabilities depend on the partitioning and labeling strategy. We will only consider

Gray labeling, since it leads to the lowest overall bit-error probability. Furthermore, the

bits are almost independent of each other which is important for the LDPC decoder

performance.

For Gray labeling, a symbol error typically results in only one bit error and, thus,

one can assume that the average bit-error rate is Pb ≈ Ps/ log2(M). The expressions for

Page 140: Low-density parity-check codes : unequal error protection ...

124 Paper C

the bit-error probabilities of the individual bits in the symbol are

Pb,d0 ≈ 1

2· erfc

(√3 · Eb/N0 sin

π

8

), (2)

Pb,d1 = Pb,d2 ≈ 1

4· erfc

(√3 · Eb/N0 sin

π

8

). (3)

From these different bit-error probabilities, one can determine equivalent noise variances

of the single bit positions corresponding to the case of BPSK. We define the noise vector

σ2 = [σ21 . . . σ2

Ns] to be a vector that contains the equivalent noise variances for each

separate bit-error rate ordered with the lowest variance first. We assume that there are

Ns distinct equivalent noise variances, where Ns ≤ lm. The equivalent noise variances

may be calculated from the individual bit-error rates by

σ2j =

1

2(erfc−1(2Pb,dj

))2 . (4)

Note that these expressions are obtained by applying the union bound. The approxima-

tions are assumed to be appropriate for our purposes but can be replaced by more exact

formulas. In the following, we assume that Ns equivalent BPSK channels are employed

instead of the higher order constellation channel. We claim that this approximation

meets our requirements since the system employs Gray mapping.

4 UEP-LDPC Codes

As a channel code, we choose a UEP-LDPC code. There are different methods for

achieving UEP with LDPC codes, the probably most obvious one is puncturing a certain

amount of the code bits before modulation. The receiver does not have any knowledge

about these bits and assumes all signals of the input alphabet with equal probability.

Two other possibilities for obtaining UEP were presented in [14] and [15]. Both ap-

proaches use irregular LDPC codes and optimize the irregularities of the code in order

to obtain several classes of protection within the codeword. More precisely, the authors

in [14] optimize the irregular variable node (also called bit node) degree distribution while

keeping the check node degree distribution fixed, whereas in [15], the check node degree

distribution is adapted, keeping the variable node degree distribution fixed. We will fol-

low the approach from [14]. The next section gives a general description of UEP-LDPC

codes by considering degree distributions.

Page 141: Low-density parity-check codes : unequal error protection ...

Paper C 125

4.1 General Description

LDPC codes are block codes with a sparse parity-check matrix H of dimension (n−k)×n,

where R = k/n denotes the code rate and k and n are the lengths of the information

word and the codeword. The codes can be represented as a bipartite graph, called Tan-

ner graph. The graph consists of two types of nodes, variable nodes and check nodes,

which correspond to the bits of the codeword and to the parity-check constraints, re-

spectively. A variable node is connected to a check node if the bit is included in the

parity-check constraint. For regular LDPC codes, all variable nodes and check nodes

have fixed variable node degree and check node degree, respectively. However, irregular

LDPC codes are known to approach capacity closer than regular LDPC codes. The irreg-

ular variable node and check node degree distributions may be defined by the polynomials

λ(x) =

dvmax∑i=2

λixi−1 and ρ(x) =

dcmax∑i=2

ρixi−1

where dvmax and dcmax are the maximum variable and check node degree [19]. The degree

distributions describe the proportion of edges connected to nodes with a certain degree.

In order to optimize the degree distribution of an irregular LDPC code, the decoding

behavior has to be investigated. Using a message-passing algorithm, the messages along

the edges of the graph are updated iteratively. The mutual information messages at the

input of a variable node and a check node at iteration l can be computed by means of

density evolution using the Gaussian approximation [20] to be

x(l−1)u = 1 −

dcmax∑j=2

ρjJ((j − 1)J−1(1 − x(l−1)v )) , (5)

x(l)v =

dvmax∑i=2

λiJ(2

σ2+ (i − 1)J−1(x(l−1)

u )) , (6)

with J(·) computing the mutual information x = J(m) by

J(m) = 1 − E{log2(1 + e−z)} (7)

= 1 − 1√4πm

∫R

log2(1 + e−z) · e− (z−m)2

4m dz

for a consistent Gaussian random variable z ∼ N (m, 2m). These update rules are valid

only when all bits belong to one modulation class with noise variance σ2.

Page 142: Low-density parity-check codes : unequal error protection ...

126 Paper C

For the case of UEP-LDPC codes, we follow the approach from [14] and define an

overall check node degree distribution and different variable node degree distributions for

the Nc protection classes, i.e.,

λCk(x) =

dvmax∑i=2

λCki xi−1 for k = 1 . . . Nc . (8)

Since the variable node degree distributions give proportions of edges connected to vari-

able nodes of certain degrees, the constraint

Nc∑k=1

dvmax∑i=2

λCki = 1 (9)

must be fulfilled. Different variable node degree distributions lead to a modified update

rule for the messages from variable nodes to check nodes

x(l)v =

Nc∑k=1

dvmax∑i=2

λCki J(

2

σ2+ (i − 1)J−1(x(l−1)

u )) . (10)

The update rule for the messages from check nodes to variable nodes stays the same since

the check node degree distribution is constant.

This paper considers the design of UEP-LDPC codes for higher order constellations,

where the individual bits in the symbol may have different error probabilities. The

aim of the code design is to reduce the overall BER by taking these different error

probabilities into account. The design algorithm should also give the possibility to trade

overall BER for UEP capability. The natural way of assigning bits from modulation

classes to protection classes to achieve UEP, is to use the best protected bits from the

modulation, that is, modulation class M1, for protection class C1 and continue like that

until all bits have been assigned to a protection class. However, this assignment is not

necessarily expected to give a degree distribution with the lowest possible threshold,

where the threshold is defined as the lowest Eb/N0 for which density evolution converges.

As is discussed later on, there is always a tradeoff between a low threshold and good

UEP capability. By introducing different variable node degree distributions also for each

modulation class, linear programming may be used to assign bits from the modulation

classes to the protection classes.

4.2 Notations

We consider a UEP-LDPC code with Nc protection classes. The proportions of each class

are given by the normalized lengths of each class corresponding to the information bits,

Page 143: Low-density parity-check codes : unequal error protection ...

Paper C 127

α = [α1, . . . , αNc−1]. The proportion distribution of the bits in the codeword belonging

to the protection classes is given by p = [α1R, . . . , αNc−1R, (1 − R)]. Ns is the number

of different bit-error rates for the bits in a symbol and we will describe the bits with a

distinct bit-error rate as belonging to one modulation class. β = [β1, . . . , βNs] defines the

proportion of bits that belongs to each modulation class.

The vector λ contains the overall variable node degree distribution, both for dif-

ferent protection classes and different modulation classes. Let λCkMj ,i be the propor-

tion of edges connected to variable nodes of degree i that belongs to modulation class

Mj and protection class Ck. We also define λCkMj

= [λCkMj ,2, . . . , λ

CkMj ,dvmax

]T and λ =[λC1

M1

T, . . . , λ

CNcM1

T, . . . , λC1

MNs

T, . . . , λ

CNcMNs

T]T

, where (·)T denotes the transpose. λCkMj

is a

(dvmax − 1 × 1) vector and λ is a vector of size ((dvmax − 1) · Nc · Ns × 1). The vector

ρ = [ρ2, . . . , ρdcmax]T describes the check node degree distribution. For later purposes, we

also define 1/dv = [1/2, 1/3, . . . , 1/dvmax ]T , 1/dc = [1/2, 1/3, . . . , 1/dcmax]

T and 1 to

be an all-ones vector of appropriate length.

4.3 Optimization of the Degree Distribution for Higher Order

Constellations

For higher order constellations (HOC), the update rule (10) has to be modified to take

different noise variances for different variable nodes into account. Similar to [7], the

update rule may be written

x(l)v =

Nc∑k=1

Ns∑j=1

dvmax∑i=2

λCkMj ,iJ(

2

σ2j

+ (i − 1)J−1(x(l−1)u )) . (11)

Equations (5) and (11) can now be combined to yield the mutual information evolution

of the LDPC code

x(l)v = F (λ, ρ, σ2, x(l−1)

v ) . (12)

If x(l)v > x

(l−1)v for any x

(l−1)v , then λ and ρ describe a code for which density evolution

converges for the noise variance vector σ2.

UEP capability may be obtained by optimizing each protection class after another

by linear programming, starting with the best protected class and fixing the degree

distributions of the already optimized classes during the optimization of the following

classes, [14]. It is well-known that a higher connectivity of a variable node leads to better

protection. Thus, the optimization target is to find a variable node degree distribution

for the whole code that maximizes the average variable node degree of the class being

Page 144: Low-density parity-check codes : unequal error protection ...

128 Paper C

optimized. The target function for protection class Ck can be formulated as

maxλ

Ns∑j=1

dvmax∑i=2

λCkMj ,i . (13)

This target function results in a degree distribution with UEP capability, but the only

requirement on the assignment of the code bits to the modulation classes is that density

evolution must converge for the given degree distribution. In order to achieve UEP, one

would assign as many bits as possible from better modulation classes to the protection

class being optimized. This can be done by introducing a scaling factor kj for the modu-

lation classes, where the only requirement is k1 > k2 > . . . > kNs > 0. For simplicity, kj

might be chosen as kj = Ns − j +1. The factor kj will appear later in the target function

(16) of the algorithm where it has the effect that the linear programming algorithm, if

possible while fulfilling all constraints, will use modulation classes with low noise variance

for the best protected classes.

When designing good LDPC code ensembles, the stability condition which ensures

convergence of the density evolution for mutual information close to one should be fulfilled

[19]. The stability condition gives an upper bound on the number of degree-2 variable

nodes. For a BPSK scheme, where all bits are affected by the same noise variance, we

have [19]1

λ′(0)ρ′(1)> e−r =

∫R

P0(x)e−x2 dx = e−

12σ2 (14)

with P0(x) being the message density corresponding to the received values and λ′(x) and

ρ′(x) being the derivatives of the degree polynomials. It is straightforward to see that

λ′(0) =∑Ns

j=1

∑Nc

k=1 λ(Ck)j,2 and ρ′(1) =

∑dcmaxm=2 ρm ·(m−1). In our case, the bits are affected

by channel noise with different variances σ2j (see (4)) and, thus, different densities. We

use the average density, which is given by utilizing the modulation class proportions β,

e−r =

∫R

Ns∑j=1

βj · P0,j(x)e−x2 dx =

Ns∑j=1

βj · e− 1

2σ2j . (15)

We are very well aware that this is an approximation but assume appropriateness for the

ensemble of code constructions with given β.

4.4 Optimization Algorithm

The optimization algorithm proposed here is a modification of the hierarchical optimiza-

tion algorithm presented in [14] for higher order constellations. The optimization is

Page 145: Low-density parity-check codes : unequal error protection ...

Paper C 129

performed at Eb/N0 = δ + ε (this will be the threshold of the optimized code), where δ is

the lowest possible threshold in dB for the given ρ and dvmax , and ε is the offset from the

lowest threshold that gives freedom in the choice of λ to enable design of a UEP code.

The algorithm can be divided into two parts, global optimization and local optimiza-

tion. In the global optimization, the local optimization is executed class after class for

a given Eb/N0. In the local optimization, λ is optimized to maximize the scaled average

variable node degree of class Ck while using the best possible modulation class, assuming

that classes C1, . . . , Ck−1 have already been optimized and that λC1Mj

, ..., λCk−1

Mj, ∀j, are

fixed. In order to find a maximum average degree of the class being optimized, the algo-

rithm starts by setting the minimum variable node degree of this class to some maximum

value, conveniently the maximum variable node degree of the code, and tries to find a

solution. In case of failure, the minimum variable node degree is successively reduced

until the algorithm succeeds in finding an overall degree distribution which fulfills the

constraints.

The global optimization can be stated as follows.

1) Fix Eb/N0 = δ + ε and calculate σ2.

2) Find λ by performing local optimization for each protection class.

For the local optimization of class Ck, a linear programming routine is executed,

which requires definition of the check node degree distribution ρ, Eb/N0 = δ + ε in dB,

and the maximum variable node degree dvmax .

1) Initialization d(k)vmin = dvmax

2) While optimization failure

a) Optimize

maxλ

Ns∑j=1

kj

dvmax∑i=2

λCkMj ,i (16)

under the constraints [C1] − [C6].

[C1] Rate constraint

Ns∑j=1

Nc∑k=1

λCkMj

T1/dv =

1

1 − RρT 1/dc (17)

[C2] Proportion distribution constraints

Page 146: Low-density parity-check codes : unequal error protection ...

130 Paper C

i)Ns∑j=1

Nc∑k=1

λCkMj

T1 = 1 (18)

ii) ∀k ∈ {1, . . . , Nc − 1},Ns∑j=1

λCkMj

T1/dv = αk

R

1 − RρT 1/dc (19)

iii) ∀j ∈ {1, . . . , Ns − 1},Nc∑k=1

λCkMj

T1/dv = βj

1

1 − RρT 1/dc (20)

[C3] Convergence constraints, see (12)

F (λ, ρ, σ2, x) > x (21)

[C4] Stability condition, see (14) and (15)

Ns∑j=1

Nc∑k=1

λCkMj ,2 <

⎡⎣ Ns∑

j=1

βje−1/2σ2

j ·dcmax∑m=2

ρm(m − 1)

⎤⎦−1

(22)

[C5] Minimum variable node degree constraint

∀i < d(k)vmin

, ∀j, λCkMj ,i = 0 (23)

[C6] Previous optimization constraints

∀k′ < k, ∀j, λCk′

Mjis fixed (24)

b) d(k)vmin = d

(k)vmin − 1

End

4.5 Code Construction

When the optimal degree distribution of the variable nodes is found, a parity-check matrix

is constructed by the Approximate Cycle Extrinsic message degree (ACE) algorithm [21].

The ACE algorithm constructs a parity-check matrix following a given variable node

degree distribution while selectively avoiding small cycle clusters that are isolated from

the rest of the graph. The ACE algorithm has good performance in the error-floor region

for irregular LDPC codes.

Page 147: Low-density parity-check codes : unequal error protection ...

Paper C 131

5 Simulation Results

In this section, simulation results for an example with 8-PSK are presented. We denote

our scheme by higher order constellation UEP (”HOC-UEP”), which is a UEP-LDPC

code optimized for the different σ2j from the modulation. The noise vector σ2 is calculated

according to (4), with Ns = 2 and β = [2/3, 1/3] for Gray-labeled 8-PSK. The HOC-

UEP scheme is compared to a UEP-LDPC code optimized for BPSK [14], but used

for 8-PSK. This scheme, that is denoted by “UEP”, designs the code for an average

σ2 and assigns the bits following the natural bit assignment. The variable node degree

distributions are optimized for R = 1/2, Nc = 3, α = [0.3, 0.7], dvmax = 30 and

ρ(x) = 0.00749x7 + 0.99101x8 + 0.00150x9, which is found by numerical optimization

in [19] to be a good check node degree distribution for dvmax = 30.

Table 1 shows the degree distributions given by the two design algorithms. For

the UEP scheme, we arbitrarily choose ε = 0.1 dB to allow for some unequal error

protection. The resulting degree distributions λCk are given for each protection class

Ck. The minimum threshold δ of the HOC-UEP code is 0.27 dB lower than of the

corresponding UEP code. Thus, we design the HOC-UEP code for ε = 0.37 dB in order

to have the same thresholds for both schemes. The degree distributions of the HOC-UEP

scheme, λCkMj

, are also given in Table 1. For comparison, the degree distributions for both

algorithms are also shown for the minimum thresholds, that is, ε = 0 dB.

Finite length codeword simulations with n = 4096 and 50 decoding iterations are per-

formed using the equivalent BPSK channels. Simulations verify that 8-PSK modulation

and demodulation give almost exactly the same results as simulations with the equivalent

BPSK channels. We assume that a soft demapper provides the message passing decoder

with the channel log-likelihood ratios (LLRs) in any case using higher order constellation

modulation and demodulation. Note that the channel LLRs are computed using the

appropriate noise variances σ2j of the modulation classes.

Figure 2 shows the overall BER after 50 decoding iterations. By design, the overall

BERs for the codes with ε �= 0 dB are higher than for the corresponding codes with

ε = 0 dB. This is because the thresholds of the codes are increased in order to allow

an increased average variable node degree of the most protected classes. Figure 2 also

shows that for high Eb/N0, the overall BERs of the HOC-UEP codes are lower than for

the UEP codes. The overall BER of the HOC-UEP ε = 0.37 dB code is lower than the

overall BER of the UEP ε = 0.1 dB code, even though they are designed for the same

threshold. For an overall BER of 10−5, there is a gain of around 0.7 dB by the HOC-UEP

scheme.

Page 148: Low-density parity-check codes : unequal error protection ...

132 Paper C

Table 1: Degree distributions for the UEP and HOC-UEP schemes.

C1 C2 C3

ε = 0 dB

UEP λ7 = 0.0799 λ3 = 0.1790 λ2 = 0.2103

λ8 = 0.0948 λ6 = 0.0737 λ3 = 0.0181

λ30 = 0.3029 λ7 = 0.0414

HOC-UEP M1 λ9 = 0.1703 λ3 = 0.1673 λ2 = 0.1240

λ10 = 0.0555

λ30 = 0.1811

HOC-UEP M2 λ30 = 0.0854 λ4 = 0.0225 λ2 = 0.0878

λ5 = 0.0738 λ3 = 0.0022

λ7 = 0.0117 λ4 = 0.0183

ε = 0.1 dB

UEP λ11 = 0.1783 λ3 = 0.2041 λ2 = 0.1841

λ12 = 0.1184 λ4 = 0.0393 λ3 = 0.0575

λ30 = 0.2183

ε = 0.37 dB

HOC-UEP M1 λ16 = 0.5255 λ3 = 0.0187 λ2 = 0.2174

λ17 = 0.0088

HOC-UEP M2 λ3 = 0.1929 λ3 = 0.0075

λ4 = 0.0293

The BER performances of the individual protection classes C1 and C2 for the UEP

scheme are shown in Figure 3. The UEP capability, that is, the difference in BER between

class C1 and C2, is increased with increasing ε. For ε = 0 dB, the UEP capability is

accomplished by assignment of high degree variable nodes to the most protected classes.

Figure 4 shows the BER performance of protection classes C1 and C2 for the HOC-

UEP scheme. The results show that the HOC-UEP ε = 0.37 dB code has more UEP

capability than the HOC-UEP ε = 0 dB code.

A comparison of the UEP capability for the UEP scheme and the HOC-UEP scheme

suggests that a high ε is needed for the HOC-UEP scheme in order to achieve UEP.

However, a high ε does not seem to affect the overall BER of the HOC-UEP scheme

much for high Eb/N0, see Figure 2.

Comparing the individual protection classes of the HOC-UEP ε = 0.37 dB and the

UEP ε = 0.1 dB scheme at BER 10−5, we gain 0.1 dB for protection class C1 and

Page 149: Low-density parity-check codes : unequal error protection ...

Paper C 133

1 1.5 2 2.5 3 3.510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

Ove

rall

BE

RUEP ε = 0 dBUEP ε = 0.1 dBHOC−UEP ε = 0 dBHOC−UEP ε = 0.37 dB

Figure 2: Overall bit-error rate performance.

1 1.5 2 2.5 3 3.510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

R

UEP C1 ε = 0 dBUEP C2 ε = 0 dBUEP C1 ε = 0.1 dBUEP C2 ε = 0.1 dB

Figure 3: Bit-error rate performance of protection class C1 and C2 for the UEP scheme.

Page 150: Low-density parity-check codes : unequal error protection ...

134 Paper C

1 1.5 2 2.5 3 3.510

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

RHOC−UEP C1 ε = 0 dBHOC−UEP C2 ε = 0 dBHOC−UEP C1 ε = 0.37 dBHOC−UEP C2 ε = 0.37 dB

Figure 4: Bit-error rate performance of protection class C1 and C2 for the HOC-UEP scheme.

(expected) 0.7 dB for class C2. These gains are expected to be even higher for lower

BERs.

6 Conclusions

In this paper, we present a flexible design method for UEP-LDPC codes with higher order

constellations which is applicable to arbitrary signal constellations and arbitrary number

and proportions of the protection classes. For an example with 8-PSK, it is shown that

the overall BER is reduced by the proposed method and there is a gain of 0.7 dB at BER

10−5. The results for the individual protection classes show only slightly reduced UEP

capability for the new design method, but lower bit-error rates for all protection classes

corresponding to information bits.

References

[1] G. Ungerboeck, “Channel coding with multilevel/phase signals,” IEEE Transactions

on Information Theory, vol. 28, pp. 55–67, Jan. 1982.

Page 151: Low-density parity-check codes : unequal error protection ...

Paper C 135

[2] H. Imai and S. Hirakawa, “A new multilevel coding method using error correcting

codes,” IEEE Transactions on Information Theory, vol. 23, pp. 371–377, May 1977.

[3] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part I: Intro-

duction,” IEEE Communications Magazine, vol. 25, pp. 5–11, Feb. 1987.

[4] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part II: State

of the art,” IEEE Communications Magazine, vol. 25, pp. 12–21, Feb. 1987.

[5] U. Wachsmann, R. Fischer, and J. Huber, “Multilevel codes: Theoretical concepts

and practical design rules,” IEEE Transactions on Information Theory, vol. 45,

pp. 1361 – 1391, July 1999.

[6] G. Caire, G. Taricco, and E. Biglieri, “Bit-interleaved coded modulation,” IEEE

Transactions on Information Theory, vol. 44, pp. 927–946, May 1998.

[7] H. Sankar, N. Sindhushayana, and K. Narayanan, “Design of low-density parity-

check (LDPC) codes for high order constellations,” in Proc. Globecom 2004,

pp. 3113–3117, Nov. 2004.

[8] R. Gallager, “Low-density parity-check codes,” IEEE Transactions on Information

Theory, vol. 8, pp. 21 – 28, Jan. 1962.

[9] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on

Information Theory, pp. 533–547, Sep. 1981.

[10] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[11] J. Hou, P. Siegel, L. Milstein, and H. Pfister, “Capacity-approaching bandwidth-

efficient coded modulation schemes based on low-density parity-check codes,” IEEE

Transactions on Information Theory, vol. 49, pp. 2141 – 2155, Sept. 2003.

[12] K. Kasai, T. Shibuya, and K. Sakaniwa, “Detailed representation of irregular LDPC

code ensembles and density evolution,” in Proc. ISIT 2003, p. 121, June 2003.

[13] C. Poulliat, D. Declercq, and I. Fijalkow, “Optimization of LDPC codes for UEP

channels,” in Proc. ISIT 2004, p. 451, June 2004.

Page 152: Low-density parity-check codes : unequal error protection ...

136

[14] C. Poulliat, I. Fijalkow, and D. Declercq, “Scalable image transmission using

UEP optimized LDPC codes,” in Proc. ISIVC 2004, July 2004. http://publi-

etis.ensea.fr/2004/PFD04a.

[15] L. Sassatelli, W. Henkel, and D. Declercq, “Check-irregular LDPC codes for un-

equal error protection under iterative decoding,” in 4th International Symposium on

Turbo-codes and related topics (D. D. L. Sassatelli, W. Henkel, ed.), 2006.

[16] Y. Li and W. Ryan, “Bit-reliability mapping in LDPC-coded modulation systems,”

IEEE Commununications Letters, vol. 9, pp. 1–3, Jan. 2005.

[17] K. Fazel and M. Ruf, “Combined multilevel coding and multiresolution modulation,”

in Proc. ICC 1993, pp. 1081–1085, May 1993.

[18] J. G. Proakis, Digital Communications. New York: McGraw-Hill, 4th ed., 2001.

[19] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching ir-

regular low-density parity-check codes,” IEEE Transactions on Information Theory,

vol. 47, pp. 619–637, Feb. 2001.

[20] S.-Y. Chung, T. Richardson, and R. Urbanke, “Analysis of sum-product decoding of

low-density parity-check codes using a Gaussian approximation,” IEEE Transactions

on Information Theory, vol. 47, pp. 657–670, Feb. 2001.

[21] T. Tian, C. Jones, D. Villasenor, and R. Wesel, “Selective avoidance of cycles in

irregular LDPC code construction,” IEEE Transactions on Communications, vol. 52,

pp. 1242–1247, Aug. 2004.

Page 153: Low-density parity-check codes : unequal error protection ...

Paper D

Design of Bandwidth-Efficient

Unequal Error Protection LDPC

Codes

Authors:

Sara Sandberg and Neele von Deetzen

Reformatted version of paper submitted to:

IEEE Transactions on Communications, accepted for publication Jan. 29, 2009.

c© 2008, IEEE. Reprinted with permission.

137

Page 154: Low-density parity-check codes : unequal error protection ...

138 Paper D

Page 155: Low-density parity-check codes : unequal error protection ...

DESIGN OF BANDWIDTH-EFFICIENT

UNEQUAL ERROR PROTECTION LDPC CODES

Sara Sandberg and Neele von Deetzen

Abstract

This paper presents a strategy for the design of bandwidth-efficient LDPC codes with

unequal error protection. Bandwidth efficiency is obtained by appropriately designing the

codes for higher order constellations, assuming an AWGN channel. The irregularities of

the LDPC code are designed, using the Gaussian approximation of the density evolution,

to enhance the unequal error protection property of the code as well as account for the

different bit error probabilities given by the higher order constellation. The proposed

code design algorithm is flexible in terms of the number and proportions of protection

classes. It also allows arbitrary modulation schemes. Our method combines the design of

unequal error protection LDPC codes for the binary input AWGN channel with the code

design for higher order constellations by dividing the variable node degree distribution

into sub-degree distributions for each protection class and each level of protection from the

modulation. The results show that appropriate code design for higher order constellations

reduces the overall bit-error rate significantly. Furthermore, the unequal error protection

capability of the code is increased, especially for high SNR.

1 Introduction

Multimedia applications require large amounts of data to be transmitted through net-

works and wireless transmission systems with reasonable delay and error performance.

Therefore, resources like power, time, or bandwidth have to be used economically. Mul-

timedia data usually have heterogeneous sensitivity against transmission errors. They

often contain a header for data management in higher layers, some essential payload

as well as additional payload used for enhanced quality. Hence, the transmission sys-

tem should provide unequal error protection (UEP) in order to account for the different

Page 156: Low-density parity-check codes : unequal error protection ...

140 Paper D

properties. Suitable UEP may increase the perceived performance for applications where

different bits have different sensitivity to errors, such as transmission of progressively

encoded images or a frame with header information. For packet-based transmissions

with no possibility of retransmission, an error in the header is critical and may lead to

rejection of the packet or even a crash of the source decoder, while errors in the payload

are often tolerable.

In order to allow for bandwidth-efficient transmission, it is desirable to use higher

order modulation techniques, such as M-QAM, M-PSK, M > 2, or more advanced con-

stellations. Modulation with higher order constellations (HOCs) may imply that different

bits in the symbol have different error probabilities, i.e., the modulation already provides

some UEP. Coded modulation is a well-known strategy to optimize the coding scheme

given the modulation to improve the performance of transmission systems in terms of

overall bit-error rate (BER), [1–4]. In multilevel coding [5], the modulation alphabet

is successively partitioned into smaller subsets, where each partitioning level is assigned

a label. These labels are protected by separate channel codes with certain protection

capabilities. In such a strategy, the codes have to be designed carefully depending on

the modulation scheme and its partitioning or labeling strategy. However, applying a

shorter code on each level may have drawbacks (e.g. higher BER) compared to designing

one long code whose output bits are appropriately assigned to the levels. Therefore, we

employ the latter, taking advantage of the longer code.

This paper focuses on low-density parity-check (LDPC) codes, originally presented

by Gallager in [6]. They exhibit a performance very close to the capacity for the binary-

input additive white Gaussian noise (BI-AWGN) channel, [7]. The close-to-optimal per-

formance of LDPC codes for the BI-AWGN channel suggests the use of LDPC codes

also for other channels. The aim of this paper is to design LDPC codes for transmissions

using HOCs in applications where the source bits have different sensitivities to errors and

UEP is desired. As far as we know, such a code design has not been proposed before.

However, a code design using turbo codes for coded modulation with UEP has recently

been suggested, [8].

LDPC codes are block codes with a sparse parity-check matrix H of dimension

(n − k) × n, where R = k/n denotes the code rate and k and n are the lengths of

the information word and the codeword. The codes can be represented by a bipartite

graph, called a Tanner graph [9], which facilitates a decoding algorithm known as the

message-passing algorithm [10]. The graph consists of two types of nodes, variable nodes

and check nodes, which correspond to the bits of the codeword and to the parity-check

Page 157: Low-density parity-check codes : unequal error protection ...

Paper D 141

constraints, respectively. A variable node is connected to a check node if the bit is in-

cluded in the parity-check constraint. For regular LDPC codes, all variable nodes have

the same degree and all check nodes have another common degree. However, irregular

LDPC codes are known to approach capacity more closely than regular LDPC codes.

The irregular variable node and check node degree distributions may be defined by the

polynomials [7] λ(x) =∑dvmax

i=2 λixi−1 and ρ(x) =

∑dcmaxi=2 ρix

i−1 respectively, where

dvmax is the maximum variable node degree and dcmax is the maximum check node degree

of the code. The coefficients of the degree distributions describe the proportion of edges

connected to nodes with a certain degree. In order to optimize the degree distribution of

an irregular LDPC code, the decoding behavior has to be investigated. Using a message-

passing algorithm, the messages along the edges of the graph are updated iteratively.

The messages at the input of a variable node and a check node at each iteration rep-

resent mutual information and can be computed by means of density evolution using a

Gaussian approximation [11] and thereby, the decoding behavior of a code ensemble with

a specific degree distribution may be predicted. Density evolution is an asymptotic tool,

but is commonly used to design codes of finite length.

LDPC codes have been designed for larger constellation sizes in previous works. In

[12], separate codes were designed for each level in a multilevel coding scheme. On the

other hand, bit-interleaved coded modulation (BICM), [13,14] employs only one code for

all levels of the modulation. A design method for discrete multitone modulation (DMT)

is proposed in [15]. This method may also be directly applied to HOCs and is very

similar to the design approach suggested in [14]. In [14] and [15], the codes are designed

to have local properties that match the HOCs and bit positions of the modulation scheme

are assigned to the codeword bits. Reliability mappings of bits from the modulation to

codeword bits have also been suggested, [16, 17].

In many applications, the desired UEP properties are low BER within one or several

classes of bits, while the performance of the remaining classes should be comparable

to non-UEP codes. In the following we address such codes as codes with good UEP

capability. UEP is commonly provided by multilevel coding or adapted code rates, for

example by puncturing. These methods have in common that different codes are used

for each level of protection. However, for most applications the more important bits

are fewer than the less important bits. This implies that even if the coderate used

for the more important bits is low, this codeword will usually be short. To avoid the

use of short codewords (or a very long delay), LDPC codes that provide UEP within

one codeword may be designed instead. Such codes can for example be constructed

Page 158: Low-density parity-check codes : unequal error protection ...

142 Paper D

by an algebraic method based on the Plotkin construction, [18]. However, since it is

widely observed that the connection degree of the variable nodes affects the bit-error

rate for a limited number of decoder iterations, it is more typical to design the variable

and/or check node degree distribution of the code in an irregular way using density

evolution, [19–23]. In this case the codeword bits are divided into several protection

classes with different protection depending on the connection degrees of their bits. In

[21], the check node degree distribution is adapted, keeping the variable node degree

distribution fixed, whereas the authors of [22] optimize the irregular variable node degree

distribution while keeping the check node degree distribution fixed. The basic idea in

[21–23] is to achieve UEP by dividing the degree distributions into sub-distributions. Such

sub-distributions have also been employed for systems without UEP capability to account

for HOCs [14, 15, 24]. In [14], the different amount of protection for each modulation

level is taken into account in the initialization of the density evolution algorithm that

is employed to optimize the sub-degree distributions of the code. Both [15] and [24]

designed LDPC codes for a set of parallel subchannels.

In this paper, we propose a UEP-LDPC code design for HOCs that is based on op-

timizing the variable node degree distribution λ(x). Apart from designing the code to

account for the UEP provided by the modulation itself and thereby reducing the overall

BER, the aim is to provide a flexible design method that can use the UEP from the

modulation to create a code with other UEP properties which are usually specified by

the source coding unit. We design UEP-LDPC codes using sub-degree distributions both

for the protection classes and for the classes of bits with different protection resulting

from the modulation. This allows for a very flexible code design where any conventional

modulation scheme, like M-QAM or M-PSK as well as more complex schemes like hi-

erarchical constellations [25], may be used. The separation of the variable node degree

distribution into sub-degree distributions significantly increases the number of design pa-

rameters. Therefore it is important to note that the code design is solved by iterative

linear programming (LP), which enables an efficient optimization of the sub-degree distri-

butions. Our code design is based on the design method for UEP-LDPC codes suggested

in [22] that employs iterative LP.

The paper is organized as follows. Section 2 presents the overall system and modu-

lator models. Section 3 contains the main part of this paper which introduces the code

optimization of UEP capable codes used with HOCs and provides an algorithm for the

code design. In Section 4, some simulation results for 8-PSK and 64-QAM are presented

and compared to BPSK-optimized codes. Section 5 concludes the paper.

Page 159: Low-density parity-check codes : unequal error protection ...

Paper D 143

RE

MU

XUEP−

LDPC

ui ∈ Ck

k = 1, . . . , Nc − 1

C1

CNc−1

CNc

M1

MNs

s

Figure 1: Schematic description of the proposed scheme. The source bits are encoded by a

UEP-LDPC code and the coded bits are assigned to modulation classes before modulation.

2 System Model

2.1 Model Description

Each codeword bit is assigned to a protection class and a modulation class. We apply

only one UEP-LDPC code, providing Nc protection classes at its output (see Figure 1).

The independent and identically distributed (i.i.d.) information bits ui are divided into

Nc − 1 protection classes C1 . . . CNc−1. The least protected class CNc contains the parity

bits. Each bit is protected by the UEP-LDPC code according to the protection class it

belongs to, where C1 has the best protection. The sizes of the protection classes (they

do not have to be of equal size) as well as the allocation of information bits to protection

classes are usually defined by the source coding unit.

The bits of the protection classes are remultiplexed and assigned to certain bit posi-

tions of the modulator, corresponding to modulation classes M1, . . . , MNs . A bit that

belongs to modulation class Mj will be mapped to the bit position in the symbol that

corresponds to that modulation class, i.e., it will be naturally protected according to

modulation class Mj . Bits belonging to one modulation class are affected by the same

(channel) bit error probability. The bit assignment will be described in Section 3.1. In

the following, we assume an AWGN channel with noise variance σ2.

2.2 Modulation

Let us assume a modulation scheme with M = 2lm symbols, labeled by binary vec-

tors d = (dlm, . . . d2, d1). In order to design codes for HOCs, we investigate the error

probabilities of the individual bit positions in the symbol. Depending on the signal con-

stellation and the labeling strategy, the error probabilities of the individual bit positions

Page 160: Low-density parity-check codes : unequal error protection ...

144 Paper D

may be determined.

One may use traditional constellations like 8-PSK or 64-QAM as well as non-uniform

constellations, so-called hierarchical modulation [26] or multiresolution modulation [25].

When UEP is desired, non-uniform constellations have the advantage that they can

provide greater differentiation in error probabilities of the bit positions in the symbol

than traditional constellations. Furthermore, the design methods in the above references

allow for a controllable amount of UEP through variations of the distances between the

signal points.

Generally, one can approximate the symbol-error probability Ps as well as the bit-

error probabilities Pb,d1 . . . Pb,dlmof a constellation using the union bound. For Gray

labeling, the average bit-error probability is often assumed to be equal for all bit positions,

i.e., Pb,di≈ 1

log2(M)· Ps. However, it is important to be aware of the different bit-error

probabilities when designing codes for HOCs. In this work we only consider Gray labeling,

since the bit-errors have low statistical dependencies and can thus be assumed to be

independent [27]. This is very important for the message-passing decoder. However,

for labelings other than Gray, the differences in BER may be more significant. If such

labelings are of interest, we suggest the use of the improved decoding algorithm proposed

in [28] that combines decoding and demodulation and takes into account the statistical

dependencies among bit errors originating in the same symbol.

In [5], it was stated that a symmetric channel with an input alphabet of size 2lm can

be represented by lm equivalent binary-input channels. Depending on the labeling, the

equivalent channels may not be symmetric. Since the symmetry of the channel is an

important property for the density evolution of LDPC code ensembles, we use a method

called i.i.d. channel adapters [29]. In order to force symmetric component channels, i.i.d.

binary vectors t = [t1 . . . tn] are added modulo-2 to the codeword. At the receiver, the

log-likelihood ratio Lj is multiplied by −1 if tj = 1. Since the equivalent component

codes are now symmetric, one can assume their behavior being equal to BPSK signaling.

From the known bit-error probabilities of the binary component channels, it is easy to

determine their equivalent noise variances σ2i which are required for density evolution

later on. We define the noise vector σ2 = [σ21 . . . σ2

Ns] to be a vector that contains the

equivalent noise variances for each separate bit-error rate, i.e., for each modulation class,

ordered with the lowest variance first. We assume that there are Ns distinct equivalent

noise variances, where Ns ≤ lm.

Page 161: Low-density parity-check codes : unequal error protection ...

Paper D 145

100

101

111

110

010

011

000

001

d1d2d3

Figure 2: 8-PSK modulation with Gray labeling.

Example: 8-PSK 8-PSK modulation with Gray labeling is shown in Figure 2.

Considering only neighboring signal points, the approximate symbol-error rate expression

for this modulation is given as [30],

Ps,8−PSK = 2Q(√

6Eb/N0 sinπ

8

), (1)

where Q(·) is the Gaussian probability Q function. The average bit-error rate is Pb ≈Ps/ log2(M).

The expressions for the bit-error probabilities of the individual bits in the symbol are

Pb,d1 ≈ Q(√

6Eb/N0 sinπ

8

), (2)

Pb,d2 = Pb,d3 ≈ 1

2Q(√

6Eb/N0 sinπ

8

). (3)

Note that the above expressions are obtained by applying approximations. The approx-

imations are assumed to be appropriate for our purposes, but can be replaced by more

exact formulas. �

The equivalent noise variances of each modulation class may be determined from the

different bit-error probabilities by means of an equivalent BPSK channel,

σ2j =

1(Q−1(Pb,dj

))2 . (4)

Usually, LDPC codes are designed for one noise variance and it is assumed that all bits

are transmitted over the corresponding channel. In this paper we design codes using the

Page 162: Low-density parity-check codes : unequal error protection ...

146 Paper D

d1

d1

d2

d2

d3

d3

Pb ∼ σ2BPSK

Pb,d1∼ σ2

1

Pb,d2∼ σ2

2

Pb,d3∼ σ2

3

a) Standard code design

b) Design for HOCs

Figure 3: Channel assumptions for a) standard code design b) design for HOCs.

equivalent noise variances from (4). To compare the standard code design with our new

design in a fair way, we calculate an equivalent average BPSK noise variance, denoted

by σ2BPSK . This is the noise variance of a BPSK channel that would give a bit-error

probability equal to the average bit-error probability of the HOC. Thus, we compare our

new design for HOCs with a standard code design with σ2BPSK and use both with HOCs.

Figure 3 shows a schematic explanation of the channel assumptions made by the receiver.

In the following, we claim that approximating the HOC channel by Ns equivalent

BPSK channels together with i.i.d. channel adapters meets our requirements.

2.3 Notations

We consider a UEP-LDPC code with Nc protection classes. The proportions of each

information class, α = [α1, . . . , αNc−1], are given by the normalized lengths of each

class corresponding to the information bits. αi equals the number of bits belonging to

protection class Ci divided by the total number of information bits k. The proportion

distribution of the bits in the codeword belonging to the protection classes is thus given

by p = [α1R, . . . , αNc−1R, (1 − R)]. Ns is the number of different bit-error rates for

the bits in a symbol. We will describe the bits with a distinct bit-error rate as belonging

to one modulation class Mj , j = 1, . . . , Ns. β = [β1, . . . , βNs] defines the proportion of

bits in the codeword that belongs to each modulation class.

Page 163: Low-density parity-check codes : unequal error protection ...

Paper D 147

The vector λ contains the overall variable node degree distribution, both for different

protection classes and different modulation classes. Let λCkMj ,i be the proportion of edges

connected to variable nodes of degree i that belong to modulation class Mj and protection

class Ck. Define

λCkMj

= [λCkMj ,2, . . . , λ

CkMj,dvmax

]T

and

λ =[λC1

M1

T, . . . , λ

CNcM1

T, . . . , λC1

MNs

T, . . . , λ

CNcMNs

T]T

,

where (·)T denotes the transpose. λCkMj

is a column vector of length dvmax − 1 and λ is

a column vector of length (dvmax − 1)NcNs. The vector ρ = [ρ2, . . . , ρdcmax]T describes

the check node degree distribution. We define 1 to be an all-ones vector of appropriate

length.

3 UEP-LDPC Codes for Higher Order Constella-

tions

3.1 Optimization of the Degree Distribution for HOCs

The mutual information messages from a check node to a variable node (xcv) and from a

variable node to a check node (xvc) at iteration l, computed by means of density evolution

using the Gaussian approximation [11], are given by

x(l−1)cv = 1 −

dcmax∑j=2

ρjJ((j − 1)J−1(1 − x(l−1)vc )) , (5)

x(l)vc =

Ns∑j=1

Nc∑k=1

dvmax∑i=2

λCkMj ,iJ(

2

σ2j

+ (i − 1)J−1(x(l−1)cv )) , (6)

with J(·) computing the mutual information x = J(m) by

J(m) = 1 − E{log2(1 + e−z)} (7)

= 1 − 1√4πm

∫R

log2(1 + e−z) · e− (z−m)2

4m dz

for a consistent Gaussian random variable z ∼ N (m, 2m) with mean m and variance 2m.

In the special case with only one protection class and one modulation class (corresponding

Page 164: Low-density parity-check codes : unequal error protection ...

148 Paper D

to standard LDPC code design), i.e., Nc = Ns = 1, the update rule for the messages

from variable nodes to check nodes is given by

x(l)vc =

dvmax∑i=2

λiJ(2

σ2+ (i − 1)J−1(x(l−1)

cv )) . (8)

The update rule for the messages from check nodes to variable nodes is not affected by the

division of the variable node degree distribution into sub-distributions since the check

node degree distribution is constant for all protection classes and modulation classes.

Equations (5) and (6) can be combined to yield the mutual information evolution of the

LDPC code

x(l)vc = F (λ, ρ, σ2, x(l−1)

vc ) . (9)

If x(l)vc > x

(l−1)vc for any x

(l−1)vc , then λ and ρ describe a code ensemble for which density

evolution converges for the noise variance vector σ2. Since the variable node degree

distributions give proportions of edges connected to variable nodes of certain degrees,

the constraintNs∑j=1

Nc∑k=1

dvmax∑i=2

λCkMj ,i = 1 (10)

must be fulfilled.

When optimizing a degree distribution, there are different strategies. One could for

example maximize the code rate given a certain threshold, where the threshold is defined

as the lowest Eb/N0 for which density evolution converges. In this paper, we choose to

minimize the threshold given a fixed code rate. In order to do so, we rerun a linear

programming routine while increasing the SNR, until the SNR is high enough so that it

is possible to find a degree distribution for which density evolution converges.

The aim of the code design is to reduce the BERs of the protection classes by tak-

ing the different error probabilities of the modulation levels into account. The design

algorithm should also give the possibility to trade overall BER for UEP capability. The

natural way of assigning bits from modulation classes to protection classes to achieve

UEP, is to use the best protected bits from the modulation, that is, modulation class

M1, for protection class C1 and continue like that until all bits have been assigned to a

protection class. However, this assignment is not guaranteed to give a degree distribution

with the lowest possible threshold. As discussed later, there is always a trade-off between

a low threshold and good UEP capability. By distinguishing not only between degree

distributions of different protection classes but also of different modulation classes, linear

programming may be used to assign bits from the modulation classes to the protection

classes.

Page 165: Low-density parity-check codes : unequal error protection ...

Paper D 149

It is well-known that a higher connectivity of a variable node leads to better protec-

tion. Thus, the optimization target is to find a variable node degree distribution for the

whole code that maximizes the average variable node degree of the class being optimized.

UEP capability may be obtained by running the optimization algorithm sequentially, one

protection class at a time, for an Eb/N0 slightly higher than the threshold. When the

proportion of edges in the Tanner graph that are associated with a specific class is high,

many messages will be passed and the local convergence of the graph is fast. However,

in the limit when the number of decoder iterations tends to infinity, all messages have

transited the whole graph and there should be no UEP capability left, [22]. This implies

that the UEP capability theoretically should be decreasing with increasing number of

iterations. However, our results show that for a reasonable number of iterations the UEP

capability is not affected much by the number of decoder iterations. Ongoing research

shows that the choice of code construction algorithm is critical for remaining UEP capa-

bility after a reasonable number of iterations. However, these findings are too extensive

to be included here1. Figure 8 in Section 4 shows the BER as a function of the number

of decoder iterations for the code design and code construction algorithm suggested in

this paper.

The target function for protection class Ck can be formulated as

maxλ

Ns∑j=1

dvmax∑i=2

λCkMj ,i . (11)

This target function only concerns the bits of the current protection class. The optimiza-

tion constraints, such as the convergence constraint (9) or the proportion distribution

constraint (10), will involve the whole set of code bits. In every step, the degree distri-

butions of lower protection class bits are fixed and only degree distributions of higher

protection classes may be changed, [22]. The target function will ensure a maximized

average variable node degree, since a high value of the above sum implies that a large

proportion of the edges is connected to variable nodes belonging to class Ck. In [22],

the authors show that it is not only the average connection degree to be maximized but

also the minimum variable node degree. Therefore, the second optimization target of our

code design is the maximization of the minimum variable node degree of each protection

class. Therefore, the optimization is first performed for a high minimum variable node

degree. If no degree distribution for which density evolution converges can be found, the

optimization is repeated for a lower minimum variable node degree as in [22].

1A paper on the UEP capabilities of several LDPC construction algorithms has been submitted to

TCOM

Page 166: Low-density parity-check codes : unequal error protection ...

150 Paper D

Repeated optimization with the target function (11) results in a degree distribution

with UEP capability. However, this target function does not account for the fact that

variable nodes connected to the first modulation class have lower error probability after

demodulation than those from worse modulation classes. Therefore, we introduce a

scaling factor kj for each modulation class which decreases with increasing modulation

class index, i.e., k1 > k2 > . . . > kNs > 0.

maxλ

Ns∑j=1

kj

dvmax∑i=2

λCkMj ,i (12)

The choice of this scaling factor affects how valuable a better modulation class is com-

pared to a modulation class with higher equivalent noise variance. We choose kj =

Ns − j + 1. This choice of kj has the effect that the linear programming algorithm, if

possible while fulfilling all constraints, will use modulation classes with low noise variance

for the protection class being optimized.

Besides the optimization constraints given in (9) and (10), there are some more con-

straints which have to be fulfilled by the optimized λ. The variable node degree distri-

bution is connected to the check node degree distribution and the code rate by

R = 1 −∑dcmax

j=2 ρj/j∑dvmaxi=2 λi/i

. (13)

Furthermore, the proportion vectors α and β impose the following two constraints on λ,

where nCkand nMj

denote the total number of variable nodes belonging to protection

class Ck and to modulation class Mj, respectively,

nCk= αk · R · n k = 1, . . . , Nc − 1 , and (14)

nMj= βj · n j = 1, . . . , Ns . (15)

Moreover, nCkand nMj

are connected to λ by

nCk=

Ns∑j=1

dvmax∑i=2

λCkMj ,i

i· n · (1 − R)/

(dcmax∑i=2

ρi

i

)(16)

and

nMj=

Nc∑k=1

dvmax∑i=2

λCkMj ,i

i· n · (1 − R)/

(dcmax∑i=2

ρi

i

), (17)

respectively.

Page 167: Low-density parity-check codes : unequal error protection ...

Paper D 151

When designing good LDPC code ensembles, the stability condition which ensures

convergence of the density evolution for mutual information close to one should be fulfilled

[7]. The stability condition gives an upper bound on the number of degree-2 variable

nodes. For a BPSK scheme, where all bits are affected by the same noise variance σ2, we

have [7]1

λ′(0)ρ′(1)> e−r =

∫R

P0(x)e−x2 dx = e−

12σ2 (18)

with P0(x) being the message density corresponding to the received values and λ′(x) and

ρ′(x) being the derivatives of the degree polynomials. It is straightforward to see that,

for our scheme, λ′(0) =∑Ns

j=1

∑Nc

k=1 λCkMj ,2 and ρ′(1) =

∑dcmaxm=2 ρm · (m − 1). In our case,

the bits are affected by channel noise with different equivalent noise variances σ2j (see

(4)) and thus different densities P0,j(x). The density of the whole set of bits is equivalent

to the (weighted) sum of the individual densities, i.e.,∑

j βj · P0,j(x). This gives the

stability condition

e−r =

∫R

Ns∑j=1

βj · P0,j(x)e−x2 dx =

Ns∑j=1

βj · e− 1

2σ2j . (19)

All the above given constraints are rewritten to contain only λ, ρ, α, β, σ2, and R,

i.e., without using n and k. This makes the algorithm independent of the code length.

3.2 Optimization Algorithm

The optimization algorithm proposed here is a modification of the hierarchical optimiza-

tion algorithm presented in [22] for HOCs. The optimization is performed at Eb/N0 =

δ + ε, which will be the threshold of the optimized code, where δ is the lowest possible

threshold in dB for the given ρ and dvmax , and ε is an offset from the lowest threshold

that provides more flexibility in the choice of λ. An irregular LDPC code always provides

some inherent UEP capability. This is achieved by mapping higher degree variable nodes

to the more protected classes. For ε = 0 this is the only UEP capability available. On

the other hand, by introducing ε > 0, we allow for more freedom in the code design. The

LP algorithm will assign higher degrees or larger fractions of edges to the high degrees

of the first protection class and accept worse properties for the less important classes.

Hence, ε > 0 leads to increased UEP capability compared to the inherent UEP capability

of the ’minimum threshold code’.

The algorithm can be divided into an inner and an outer loop. For a given Eb/N0,

the outer loop runs over the protection classes, starting with the first. At this point, the

degree distribution of the code is designed while optimizing the corresponding protection

Page 168: Low-density parity-check codes : unequal error protection ...

152 Paper D

class. As mentioned before, there are two target functions to be maximized, i.e., the

average connection degree and the minimum connection degree of the class’ variable

nodes. Since we are using LP with only a single-objective function, we choose it to be

the maximization of the average connection degree. The maximization of the minimum

variable node degree is performed by the inner loop which runs over different values for

the minimum degree, starting from some maximum value and successively reducing it

during the procedure. Once a valid solution is found for the current protection class,

the next protection class Ck is optimized. At this point, the classes C1, . . . , Ck−1 have

already been optimized and λC1Mj

, ..., λCk−1

Mj, ∀j, are fixed. The optimization algorithm

can be stated as follows.

I) Fix Eb/N0 = δ + ε and calculate σ2.

II) Find λ by performing the inner optimization loop for each protection class.

For the optimization of class Ck, a linear-programming routine is executed. It requires

the definition of the check node degree distribution ρ, Eb/N0 = δ + ε, the maximum vari-

able node degree dvmax , the code rate R, and the proportion vectors α and β.

1) Initialization d(k)vmin = dvmax

2) While optimization failure

a) Optimize

maxλ

Ns∑j=1

kj

dvmax∑i=2

λCkMj ,i (20)

under the constraints [C1] − [C6].

[C1] Rate constraint, see (13)

Ns∑j=1

Nc∑k=1

dvmax∑i=2

λCkMj ,i

i=

1

1 − R

dcmax∑i=2

ρi

i(21)

[C2] Proportion distribution constraints

i) See (10)Ns∑j=1

Nc∑k=1

λCkMj

T1 = 1 (22)

ii) ∀k ∈ {1, . . . , Nc − 1}, see (14) and (16)

Ns∑j=1

dvmax∑i=2

λCkMj ,i

i= αk

R

1 − R

dcmax∑i=2

ρi

i(23)

Page 169: Low-density parity-check codes : unequal error protection ...

Paper D 153

iii) ∀j ∈ {1, . . . , Ns − 1}, see (15) and (17)

Nc∑k=1

dvmax∑i=2

λCkMj ,i

i= βj

1

1 − R

dcmax∑i=2

ρi

i(24)

[C3] Convergence constraint, see (9)

F (λ,ρ,σ2, x) > x (25)

[C4] Stability condition, see (18) and (19)

Ns∑j=1

Nc∑k=1

λCkMj ,2 <

⎡⎣ Ns∑

j=1

βje−1/2σ2

j ·dcmax∑m=2

ρm(m − 1)

⎤⎦−1

(26)

[C5] Minimum variable node degree constraint

∀i < d(k)vmin

, ∀j : λCkMj ,i = 0 (27)

[C6] Previous optimization constraints

∀k′ < k, ∀j : λCk′

Mjis fixed (28)

b) If failure, d(k)vmin = d

(k)vmin − 1

End (While)

3.3 Code Construction

When the optimal degree distribution of the variable nodes is found, a parity-check matrix

is constructed by a modification of the approximate cycle extrinsic (ACE) message degree

algorithm [31]. The ACE algorithm constructs a parity-check matrix following a given

variable node degree distribution while selectively avoiding small cycle clusters that are

isolated from the rest of the graph. For irregular LDPC codes, the ACE algorithm has

good performance in the error-floor region.

The original ACE algorithm [31] only ensures a certain variable node degree distri-

bution. However, the design algorithm optimizes the variable node degree distribution

given a certain check node degree distribution and a parity-check matrix with degrees

given by λ and ρ is desired. The modified ACE construction of the parity-check matrix

used here also ensures that the check node degree distribution equals ρ. Whereas the

ones in a column are located at random positions in the original ACE algorithm, we

allow only those positions where a one does not violate the defined check node degree

distribution.

Page 170: Low-density parity-check codes : unequal error protection ...

154 Paper D

Generally, the recently proposed ACE constrained progressive edge growth (PEG)

code construction algorithm [32] has been shown to perform well compared to the ACE

algorithm, especially in the error-floor region. Despite this good performance, it is unsuit-

able for UEP applications, since it entirely looses its UEP capability after a few decoder

iterations.

4 Simulation Results

In this section, simulation results for examples with 8-PSK and 64-QAM are presented.

We denote our scheme by ”HOC-UEP”, which is a UEP-LDPC code optimized for the

different σ2j from the modulation. We compare the HOC-UEP scheme to two other

schemes. The first one is a UEP-LDPC code optimized for BPSK [22] which is denoted

by “UEP”, designs the code for a BPSK channel with the comparable σ2BPSK (see Section

2.2) and assigns the best bits from the modulation to the first protection class and vice

versa. The second comparison is a design without UEP similar to the design proposed

in [14]. The variable node degree distributions are optimized for R = 1/2, Nc = 3,

α = [0.3, 0.7], dvmax = 30, and ρ(x) = 0.00749x7 + 0.99101x8 + 0.00150x9, which is

found by numerical optimization in [7] to be a good check node degree distribution for

dvmax = 30.

4.1 Results for 8-PSK

For Gray-labeled 8-PSK, the noise vector σ2 is calculated according to (4), with Ns = 2

and β = [2/3, 1/3]. Table 1 shows the degree distributions of the UEP scheme. We

choose ε = 0.1 dB to allow for some increased UEP capability. The resulting degree

distributions λCk are given for each protection class Ck. For comparison, the degree

distribution for the minimum threshold, that is ε = 0 dB, is also shown. This degree

distribution corresponds to the code design with inherent UEP only. The degree distri-

butions of the HOC-UEP scheme, λCkMj

, are given in Table 2.

For comparison, we also optimize a code for HOCs but without UEP capability,

which is similar to the approach in [14]. Note that we separate the degree distributions

for information bits and parity bits which is not done in [14]. The degree distributions

are shown in Table 3.

Finite-length codeword simulations with n = 4096 and 50 decoding iterations are

performed using the equivalent BPSK channels. A soft demapper provides the message

Page 171: Low-density parity-check codes : unequal error protection ...

Paper D 155

Table 1: Degree distributions of the UEP scheme.

C1 C2 C3

ε = 0 dB λ7 = 0.0799 λ3 = 0.1790 λ2 = 0.2103

λ8 = 0.0948 λ6 = 0.0737 λ3 = 0.0181

λ30 = 0.3029 λ7 = 0.0414

ε = 0.1 dB λ11 = 0.1783 λ3 = 0.2041 λ2 = 0.1841

λ12 = 0.1184 λ4 = 0.0393 λ3 = 0.0575

λ30 = 0.2183

Table 2: Degree distributions of the HOC-UEP scheme.

C1 C2 C3

ε = 0 dB M1 λ9 = 0.1703 λ3 = 0.1673 λ2 = 0.1240

λ10 = 0.0555

λ30 = 0.1811

M2 λ30 = 0.0854 λ4 = 0.0225 λ2 = 0.0878

λ5 = 0.0738 λ3 = 0.0022

λ7 = 0.0117 λ4 = 0.0183

ε = 0.1 dB M1 λ12 = 0.3290 λ3 = 0.1070 λ2 = 0.1585

λ30 = 0.1782

M2 λ3 = 0.0396 λ2 = 0.0547

λ4 = 0.1026 λ3 = 0.0137

λ5 = 0.0165

ε = 0.2 dB M1 λ15 = 0.4840 λ3 = 0.0848 λ2 = 0.1733

λ30 = 0.0327

M2 λ3 = 0.0782 λ2 = 0.0414

λ4 = 0.0940 λ3 = 0.0115

ε = 0.3 dB M1 λ16 = 0.4993 λ3 = 0.0268 λ2 = 0.2163

M2 λ16 = 0.0345 λ3 = 0.1849 λ2 = 0.0092

λ4 = 0.0291

Page 172: Low-density parity-check codes : unequal error protection ...

156 Paper D

Table 3: HOC design without UEP similar to [14].

Information bits Parity bits

ε = 0 dB M1 λ3 = 0.1474 λ4 = 0.0008 λ2 = 0.1237

λ5 = 0.0021 λ6 = 0.0008 λ3 = 0.0154

λ7 = 0.0023 λ8 = 0.0005

λ9 = 0.2204 λ10 = 0.0040

λ11 = 0.0008 λ12 = 0.0004

λ13 = 0.0002 λ14 = 0.0002

λ15−25 = 0.0013 λ26 = 0.0002

λ27 = 0.0003 λ28 = 0.0004

λ29 = 0.0011 λ30 = 0.1751

M2 λ3 = 0.0019 λ4 = 0.0509 λ2 = 0.0881

λ5 = 0.0581 λ6 = 0.0049 λ3 = 0.0005

λ7 = 0.0008 λ8 = 0.0057

λ9 = 0.0017 λ10 = 0.0006

λ11 = 0.0003 λ12 = 0.0002

λ13 = 0.0001 λ14 = 0.0001

λ15−25 = 0.0008 λ26 = 0.0001

λ27 = 0.0002 λ28 = 0.0003

λ29 = 0.0005 λ30 = 0.0869

passing decoder with the channel log-likelihood ratios (LLRs) which are computed using

the appropriate noise variances σ2j of the modulation classes.

Figure 4 shows the overall BER after 50 decoder iterations averaged over all protection

classes for both ε = 0 dB and ε = 0.1 dB. It is seen that the overall BERs of the HOC-

UEP codes are lower than for the UEP codes. For an overall BER of 10−4, there is a

gain of around 0.7 dB by the HOC-UEP scheme. This is due to the consideration of

the different σ2j in contrast to only assuming the average σ2

BPSK . The overall BER for

the design similar to the approach in [14] (HOC without UEP) is shown for comparison,

even though this scheme has no UEP capability. It is expected that the overall BERs

for the codes with ε > 0 dB are higher than for the corresponding codes with ε = 0 dB,

because the thresholds of the codes are increased in order to allow an increased average

variable node degree of the most protected classes. However, at high Eb/N0 the HOC-

UEP scheme shows a slightly lower overall BER for the case with ε = 0.1 dB compared

to ε = 0 dB. Reasons for this are discussed later in this section.

Page 173: Low-density parity-check codes : unequal error protection ...

Paper D 157

1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.210

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/N

0 (dB)

Ove

rall

BE

R

UEP ε=0 dBUEP ε=0.1 dBHOC−UEP ε=0 dBHOC−UEP ε=0.1 dBApproach similar to [14]

Figure 4: Overall bit-error rate performance of the UEP scheme and the HOC-UEP scheme for

ε = 0 dB and ε = 0.1 dB.

The BER performance of the individual protection classes C1 and C2 for the UEP

scheme are shown in Figure 5. Note that we do not show protection class C3 because it

contains parity bits only and is of little interest for possible applications. As expected,

the UEP capability is increased with increasing ε.

Figure 6 shows the BER performance of protection classes C1 and C2 for the HOC-

UEP scheme. The results show that the HOC-UEP ε = 0.1 dB code has lower BER for

both information classes than the HOC-UEP ε = 0 dB code. Note that the differences in

BER are partly balanced by protection class C3 which is not shown here. By comparing

Figure 5 and Figure 6, we see that the BERs of the HOC-UEP scheme are much lower than

those of the UEP scheme at high Eb/N0. The gain of the HOC-UEP scheme compared

to the UEP scheme is 0.8 dB for protection classes C1 and C2, at a BER of 10−6 and

10−4, respectively. We also see that the difference in performance between the protection

classes is higher for the HOC-UEP scheme than for the UEP scheme, especially at high

Eb/N0. Because of the large difference in BER of the protection classes and also the

knowledge of the proportion of bits in the classes, we know that it is mainly C2 that

governs the performance in terms of the overall BER. By comparing also with Figure 4,

it is seen that the overall BER of the approach similar to [14] without UEP is almost

equal to the overall BER of the HOC-UEP scheme with ε = 0 dB and worse than the

Page 174: Low-density parity-check codes : unequal error protection ...

158 Paper D

1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.210

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/N

0 (dB)

BE

R

UEP C1

ε=0 dB

UEP C2

ε=0 dB

UEP C1

ε=0.1 dB

UEP C2

ε=0.1 dB

Figure 5: Bit-error rate performance of protection class C1 and C2 for the UEP scheme and

8-PSK.

HOC-UEP scheme with ε = 0.1 dB. When comparing these schemes, remember also that

the HOC-UEP scheme provides a BER significantly lower than the overall BER for C1.

Figure 7 shows the effect of different threshold offsets in the HOC-UEP scheme, with

BER as a function of ε for Eb/N0 = 2.4 dB. It shows that ε = 0.1 dB is a good choice

for our example, since the BERs for both classes are lower than for code design without

increased UEP capability (ε = 0 dB). For higher values of ε, the first class is assigned

even more edges and the second and third classes have concentrated low degrees. With

increasing ε, which implies increasing the code threshold, the global convergence of the

code becomes worse and this affects the performance of all classes. Please note that for

short-length codes, the degree distribution with the lowest threshold may not yield the

best performance [7].

Figure 8 shows the BER of the HOC-UEP scheme as a function of the number of

decoder iterations for Eb/N0 = 2.4 dB. The UEP capability is not affected much with

increasing number of decoder iterations, at least up to a maximum of 200 iterations.

Page 175: Low-density parity-check codes : unequal error protection ...

Paper D 159

1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.210

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/N

0 (dB)

BE

R

HOC−UEP C1

ε=0 dB

HOC−UEP C2

ε=0 dB

HOC−UEP C1

ε=0.1 dB

HOC−UEP C2

ε=0.1 dB

Figure 6: Bit-error rate performance of protection class C1 and C2 for the HOC-UEP scheme

and 8-PSK.

0 0.05 0.1 0.15 0.2 0.25 0.310

−7

10−6

10−5

10−4

10−3

10−2

10−1

ε (dB)

BE

R

HOC−UEP C1

HOC−UEP C2

Figure 7: Performance of the HOC-UEP scheme for Eb/N0 = 2.4 dB for various values of ε

and 8-PSK.

Page 176: Low-density parity-check codes : unequal error protection ...

160 Paper D

0 50 100 150 20010

−7

10−6

10−5

10−4

10−3

10−2

10−1

Number of iterations

BE

RUEP C

1ε=0.1 dB

UEP C2

ε=0.1 dB

HOC−UEP C1

ε=0.1 dB

HOC−UEP C2

ε=0.1 dB

Figure 8: Bit-error rate performance as a function of the number of decoder iterations for

Eb/N0 = 2.4 dB and 8-PSK.

4.2 Results for 64-QAM

In this section, we give an example of a UEP-LDPC code designed for and used with

64-QAM. We design a code with the parameters n, k, R, Nc, α, ρ, and dvmax as in

the previous section. 64-QAM yields three modulation classes of equal size, and thus,

Ns = 3 and β = [1/3, 1/3, 1/3]. Figure 9 shows the BER performance of protection

classes C1 and C2 of the 64-QAM HOC-UEP code compared to a UEP code designed

for BPSK, both with ε = 0.1 dB and transmitted over the 64-QAM modulated channel.

The plot shows that for very low SNR, the BERs of the HOC-UEP scheme are slightly

worse but outperform the UEP scheme for an SNR higher than approximately 1.7 dB.

For a BER of 10−5, HOC-UEP C1 has an Eb/N0 gain of almost 1.5 dB compared to UEP

C1. This result confirms the assumption that a higher modulation index yields greater

performance gain of the HOC-UEP scheme compared to the UEP scheme.

5 Conclusions

We present a flexible design method for UEP-LDPC codes with higher order constella-

tions. The design algorithm is applicable to arbitrary signal constellations, an arbitrary

Page 177: Low-density parity-check codes : unequal error protection ...

Paper D 161

1.5 2 2.5 3 3.5 410

−7

10−6

10−5

10−4

10−3

10−2

10−1

Eb/N

0 (dB)

BE

R

UEP C1

ε=0.1 dB

UEP C2

ε=0.1 dB

HOC−UEP C1

ε=0.1 dB

HOC−UEP C2

ε=0.1 dB

Figure 9: Bit-error rate performance of the UEP and HOC-UEP schemes for 64-QAM modu-

lation.

number of protection classes and arbitrary protection class sizes. For an example with

8-PSK, it is shown that the overall BER is reduced by the proposed method and there

is a gain of 0.7 dB at BER 10−4 compared to using the UEP-LDPC codes designed for

BPSK. An example with 64-QAM shows an even higher gain. The results also show

that the UEP capability is increased if codes are properly designed for the modulation

scheme. The proposed code design is compared to a design method for higher order

constellations without UEP and we show that the two methods have similar overall BER

even though our scheme provides a protection class with BER significantly lower than

the overall BER. The achieved UEP capability may be of major interest for a number of

applications, e.g., when header information must be transmitted.

References

[1] G. Ungerboeck, “Channel coding with multilevel/phase signals,” IEEE Transactions

on Information Theory, vol. 28, pp. 55–67, Jan. 1982.

[2] H. Imai and S. Hirakawa, “A new multilevel coding method using error correcting

codes,” IEEE Transactions on Information Theory, vol. 23, pp. 371–377, May 1977.

Page 178: Low-density parity-check codes : unequal error protection ...

162 Paper D

[3] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part I: Intro-

duction,” IEEE Communications Magazine, vol. 25, pp. 5–11, Feb. 1987.

[4] G. Ungerboeck, “Trellis-coded modulation with redundant signal sets Part II: State

of the art,” IEEE Communications Magazine, vol. 25, pp. 12–21, Feb. 1987.

[5] U. Wachsmann, R. Fischer, and J. Huber, “Multilevel codes: Theoretical concepts

and practical design rules,” IEEE Transactions on Information Theory, vol. 45,

pp. 1361 – 1391, July 1999.

[6] R. Gallager, “Low-density parity-check codes,” IEEE Transactions on Information

Theory, vol. 8, pp. 21 – 28, Jan. 1962.

[7] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching ir-

regular low-density parity-check codes,” IEEE Transactions on Information Theory,

vol. 47, pp. 619–637, Feb. 2001.

[8] M. Aydinlik and M. Salehi, “Turbo coded modulation for unequal error protection,”

IEEE Transactions on Communications, vol. 56, pp. 555–564, Apr. 2008.

[9] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on

Information Theory, pp. 533–547, Sep. 1981.

[10] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[11] S.-Y. Chung, T. Richardson, and R. Urbanke, “Analysis of sum-product decoding of

low-density parity-check codes using a Gaussian approximation,” IEEE Transactions

on Information Theory, vol. 47, pp. 657–670, Feb. 2001.

[12] J. Hou, P. Siegel, L. Milstein, and H. Pfister, “Capacity-approaching bandwidth-

efficient coded modulation schemes based on low-density parity-check codes,” IEEE

Transactions on Information Theory, vol. 49, pp. 2141 – 2155, Sept. 2003.

[13] G. Caire, G. Taricco, and E. Biglieri, “Bit-interleaved coded modulation,” IEEE

Transactions on Information Theory, vol. 44, pp. 927–946, May 1998.

[14] H. Sankar, N. Sindhushayana, and K. Narayanan, “Design of low-density parity-

check (LDPC) codes for high order constellations,” in Proc. Globecom 2004,

pp. 3113–3117, Nov. 2004.

Page 179: Low-density parity-check codes : unequal error protection ...

Paper D 163

[15] A. Sanaei and M. Ardakani, “LDPC code design for nonuniform power-line chan-

nels,” EURASIP Journal on Advances in Signal Processing, vol. 2007, pp. Article

ID 76146, 9 pages, 2007. doi:10.1155/2007/76146.

[16] Y. Li and W. Ryan, “Bit-reliability mapping in LDPC-coded modulation systems,”

IEEE Commununications Letters, vol. 9, pp. 1–3, Jan. 2005.

[17] R. Maddock and A. Banihashemi, “Reliability-based coded modulation with low-

density parity-check codes,” IEEE Transactions on Communications, vol. 54,

pp. 403–406, Mar. 2006.

[18] V. Kumar and O. Milenkovic, “On unequal error protection LDPC codes based

on Plotkin-type constructions,” IEEE Transactions on Communications, vol. 54,

pp. 994–1005, June 2006.

[19] K. Kasai, T. Shibuya, and K. Sakaniwa, “Detailed representation of irregular LDPC

code ensembles and density evolution,” in Proc. ISIT 2003, p. 121, June 2003.

[20] C. Poulliat, D. Declercq, and I. Fijalkow, “Optimization of LDPC codes for UEP

channels,” in Proc. ISIT 2004, p. 451, June 2004.

[21] L. Sassatelli, W. Henkel, and D. Declercq, “Check-irregular LDPC codes for un-

equal error protection under iterative decoding,” in 4th International Symposium on

Turbo-codes and related topics (D. D. L. Sassatelli, W. Henkel, ed.), 2006.

[22] C. Poulliat, D. Declercq, and I. Fijalkow, “Enhancement of unequal error protection

properties of LDPC codes,” EURASIP Journal on Wireless Communications and

Networking, vol. 2007, pp. Article ID 92659, 9 pages, 2007. doi:10.1155/2007/92659.

[23] N. Rahnavard, H. Pishro-Nik, and F. Fekri, “Unequal error protection using partially

regular LDPC codes,” IEEE Transactions on Communications, vol. 55, pp. 387–391,

Mar. 2007.

[24] H. Pishro-Nik, N. Rahnavard, and F. Fekri, “Nonuniform error correction using low-

density parity-check codes,” IEEE Transactions on Information Theory, vol. 51,

pp. 2702–2714, July 2005.

[25] K. Fazel and M. Ruf, “Combined multilevel coding and multiresolution modulation,”

in Proc. ICC 1993, pp. 1081–1085, May 1993.

Page 180: Low-density parity-check codes : unequal error protection ...

164

[26] Y. Liu and C. Heneghan, “Optimizing scalable media content delivery using hi-

erarchical modulation techniques,” in European Symp. on Mobile Media Delivery

(EuMob), Sept. 2006.

[27] A. Sezgin, D. Wubben, R. Bonke, and V. Kun, “On EXIT-charts for space-time

block codes,” in Proc. ISIT 2003, p. 64, June 2003.

[28] Y. Nana, E. Sharon, and S. Lytsin, “Improved decoding of LDPC coded modula-

tion,” IEEE Communications Letters, vol. 10, pp. 375–377, May 2006.

[29] J. Hou, P. Siegel, L. Milstein, and D. Pfister, “Multilevel coding with low-density

parity-check component codes,” in Proc. Globecom ’01, vol. 2, pp. 1016–1020, Nov.

2001.

[30] J. G. Proakis, Digital Communications. New York: McGraw-Hill, 4th ed., 2001.

[31] T. Tian, C. Jones, D. Villasenor, and R. Wesel, “Selective avoidance of cycles in

irregular LDPC code construction,” IEEE Transactions on Communications, vol. 52,

pp. 1242–1247, Aug. 2004.

[32] D. Vukobratovic and V. Senk, “Generalized ACE constrained progressive edge-

growth LDPC code design,” IEEE Communications Letters, vol. 12, pp. 32–34, Jan.

2008.

Page 181: Low-density parity-check codes : unequal error protection ...

Paper E

On the UEP Capabilities of Several

LDPC Construction Algorithms

Authors:

Neele von Deetzen and Sara Sandberg

Reformatted version of paper submitted to:

IEEE Transactions on Communications, Nov. 18, 2008.

c© 2008, IEEE. Reprinted with permission.

165

Page 182: Low-density parity-check codes : unequal error protection ...

166 Paper E

Page 183: Low-density parity-check codes : unequal error protection ...

ON THE UEP CAPABILITIES OF SEVERAL

LDPC CONSTRUCTION ALGORITHMS

Neele von Deetzen and Sara Sandberg

Abstract

Design of irregular low-density parity-check (LDPC) codes for enhanced unequal error

protection (UEP) properties has received much interest lately. Several authors show that

the connection degree of a variable node affects its bit-error probability. However, some

authors argue that this is valid only for a very small number of decoding iterations while

others show good UEP properties also after a large number of iterations. This paper an-

alyzes construction algorithms for the parity-check matrices of LDPC codes with respect

to their capabilities of providing UEP. We show that the choice of code construction

algorithm is critical and highly affects the performance and the UEP properties of the

code. Our results explain disagreements in earlier research. Furthermore, the differences

in UEP capability are explained by the introduction of detailed check node degree dis-

tributions. We further demonstrate that the UEP capability of a code may be enhanced

by modifying its detailed check node degree distribution.

1 Introduction

Unequal error protection (UEP) low-density parity-check (LDPC) codes that provide

more protection for certain bits within the codeword are important for applications where

the source bits have different sensitivities to errors. The desired UEP properties are a low

bit-error rate (BER) or frame-error rate (FER) within one or several classes of bits, while

the performance of the remaining classes should be comparable to non-UEP codes. Such

codes can, for example, be constructed by an algebraic method based on Plotkin-type

constructions [1]. However, since it is widely observed that the connection degree of a

variable node affects its BER, at least for a limited number of decoding iterations, it is

typical to design the variable and/or check node degree distribution of the code in an

irregular way using density evolution [2–4]. It should be noted though, that the results of

papers on irregular UEP-LDPC codes disagree. For example, [4] shows significant UEP

capabilities after 200 message-passing iterations, while [1] argues that no UEP gradation

Page 184: Low-density parity-check codes : unequal error protection ...

168 Paper E

can be detected for irregular UEP-LDPC codes after 50 iterations. In this paper we

explain the reasons behind the disagreeing results by analyzing different construction

algorithms with respect to how the graph properties of the corresponding codes affect

the UEP capabilities.

This paper focuses on low-density parity-check codes, originally presented by Gallager

in [5]. They exhibit a performance very close to the capacity for the binary-input additive

white Gaussian noise channel [6]. LDPC codes are block codes with a sparse parity-check

matrix H of dimension (n−k)×n, where k and n are the lengths of the information word

and the codeword, respectively, and R = k/n denotes the code rate. An LDPC code can

be represented by a bipartite graph, called Tanner graph [7], which facilitates a decoding

algorithm known as the message-passing algorithm [8]. The graph consists of two types

of nodes, variable nodes and check nodes, which correspond to the bits of the codeword

and to the parity-check constraints, respectively. A variable node is connected to a

check node if the bit is included in the parity-check constraint. For regular LDPC codes,

all variable nodes have degree dv and all check nodes have degree dc. However, irregular

LDPC codes are known to approach capacity more closely than regular LDPC codes. We

consider irregular LDPC codes with variable node and check node degree distributions

defined by the polynomials [6] λ(x) =∑dvmax

i=2 λixi−1 and ρ(x) =

∑dcmaxi=2 ρix

i−1, where

dvmax and dcmax are the maximum variable and check node degree of the code. The

coefficients of the degree distributions describe the proportion of edges connected to

nodes with a certain degree. UEP is usually obtained by assigning important bits to

high-degree variable nodes and less important bits to the lower-degrees. Good degree

distributions are commonly computed by means of density evolution using a Gaussian

approximation [9].

Once a degree distribution is obtained, a parity-check matrix H has to be constructed

according to the degree profile. Many construction algorithms, such as the approximate

cycle extrinsic message degree (ACE) algorithm [10], the progressive edge-growth (PEG)

algorithm [11], etc., have been developed. Random construction, following the approach

of [6], was typically used a few years ago. However, several authors have suggested

construction algorithms with better BER performance, especially in the error-floor region,

mainly by avoiding small cycles in the Tanner graph. We consider five different algorithms

for the construction of the parity-check matrix. All of the obtained codes belong to the

same code ensemble, i.e., they have the same variable and check node degree distributions.

In this paper we confirm by simulation that the design of an irregular variable node

degree distribution provides UEP capability for a low number of message-passing itera-

tions regardless of the construction algorithm used. However, the results also show that

Page 185: Low-density parity-check codes : unequal error protection ...

Paper E 169

the choice of the construction algorithm is critical when good UEP properties are desired

after a moderate or high number of iterations. UEP capability after many iterations is

important since this enables considerably lower error rates than a low number of iter-

ations. To ensure UEP capability of the code regardless of the choice of construction

algorithm, the decoder must typically be interrupted after only 10 iterations, resulting

in performance losses.

The paper is organized as follows. Several construction algorithms are presented in

Section 2. In Section 3, we shortly describe the ensemble design and discuss performance

results of the algorithms and their differences. Section 4 discusses properties of parity-

check matrices H which are relevant for the UEP behavior. In Section 5, we modify

one of the construction algorithms to enhance the UEP capability of the resulting code.

Finally, conclusions are drawn in Section 6.

2 Construction Algorithms

In this section, we will describe the basic concepts of several well-known construction

algorithms, such as random construction, the progressive edge-growth (PEG) algorithm,

zigzag construction, the approximate cycle extrinsic message degree (ACE) algorithm,

and an ACE-constrained PEG algorithm. For the sake of brevity, we only introduce the

algorithms. For details, the reader is referred to the references given in the respective

sections.

2.1 Random Construction

The random construction algorithm places the edges randomly in the graph, according

to the given variable node and check node degree distributions. We consider a random

construction where only length-4 cycles between degree-2 variable nodes are avoided.

The resulting Tanner graph has girth g = 4.

2.2 Progressive Edge-Growth (PEG) Construction

The PEG algorithm is an efficient algorithm for the construction of parity-check matrices

with large girth by progressively connecting variable nodes and check nodes [11]. Starting

with the lowest-degree variable nodes, edges are chosen according to an edge selection

procedure. The selection procedure aims at minimizing the impact of each new edge on

the girth. This is done by expanding a tree from the current variable node down to a

certain depth. If possible, the algorithm connects the variable node to a check node that

Page 186: Low-density parity-check codes : unequal error protection ...

170 Paper E

is not yet reached at this depth of the tree. If all check nodes are reached, the check

node that will create the largest cycle through the current variable node is selected. If

several possible choices exist, a check node with the lowest check node degree under the

current graph setting is chosen. Finally, if there is more than one possible lowest-degree

check node left, one of them is chosen randomly. Thereby, the resulting Tanner graph

automatically has a concentrated check node degree distribution. This is shown in [6] to

be advantageous for good convergence.

2.3 Zigzag Construction

The zigzag construction algorithm connects the edges of degree-two variable nodes in

a zigzag manner, according to [12]. In principle, the part of the parity-check matrix

corresponding to the degree-two variable nodes will be bi-diagonal. This algorithm avoids

all cycles involving only variable nodes of degree two, assuming that the number n2 of

degree-two variable nodes is smaller than the number of check nodes, i.e., n2 < n − k.

The remaining edges may be connected randomly in the same way as described for the

random algorithm (zigzag-random) or according to the PEG algorithm (zigzag-PEG).

The zigzag construction is of interest both due to the easy encoding, that is the result of

the almost diagonal shape of the part of the parity-check matrix that corresponds to the

parity bits, and the avoidance of cycles involving only degree-two variable nodes, which

have been shown to degrade the BER performance, see e.g. [10].

2.4 Approximate Cycle Extrinsic Message Degree (ACE) Con-

struction

For finite block lengths, Tian et al. [10] proposed an efficient graph conditioning algorithm

called the approximate cycle extrinsic message degree (ACE) algorithm. The aim of the

ACE construction is to lower the error floor by emphasizing both the connectivity as well

as the length of cycles. The ACE algorithm avoids small cycle clusters that are isolated

from the rest of the graph and is shown to lower the error-floors of irregular LDPC codes

significantly, while only slightly degrading the performance in the waterfall region. The

approximate cycle extrinsic message degree of a length-2d cycle is∑

i(di − 2), where

di is the degree of the ith variable node in the cycle. An LDPC code has parameters

(dACE, η) if all the cycles whose lengths are 2dACE or less have an ACE of at least η. The

ACE algorithm is an efficient Viterbi-like algorithm with linear complexity proposed to

detect and avoid harmful short cycles during code construction. Cycles with low ACE

are considered to be harmful, since these cycles include variable nodes with low degrees

Page 187: Low-density parity-check codes : unequal error protection ...

Paper E 171

and the cycles have low connectivity to nodes outside the cycle.

Given the variable node degree distribution λ(x), columns of the parity-check matrix

are generated one at a time starting from low-weight columns. The edges of every new

column are generated randomly and the ACE algorithm checks whether the (dACE, η)

requirement is met. If not, this column is generated again. This procedure is repeated

until the whole parity check matrix is generated. In our implementation, we add extra

constraints to construct a graph according to the given check node degree distribution

ρ(x).

The performance of highly irregular LDPC codes is of great interest when considering

irregular UEP-LDPC codes, since the UEP properties are obtained by assigning variable

nodes with high degree to the best protected class. However, with highly irregular codes

it is difficult to ensure a high girth and the ACE algorithm is of importance.

2.5 PEG-ACE Construction

The PEG-ACE algorithm is a generalization of the popular PEG algorithm, that is

shown to generate good LDPC codes with short and moderate block lengths having

large girth. In the PEG-ACE algorithm [13], the sequential methodology of the PEG

algorithm is employed with a modified check node selection procedure. If the creation

of cycles cannot be avoided while adding an edge, the PEG-ACE construction algorithm

chooses an edge that creates the longest possible cycle with the largest possible ACE

value. The algorithm constructs a code with the largest possible ACE constraints, which

is assumed to reduce the number of trapping sets significantly. As the PEG algorithm,

the PEG-ACE construction algorithm usually picks a check node among its candidates

which has the lowest check node degree. It has been shown that a PEG-ACE code

performs better than an ACE code in the error-floor region [13].

3 Simulation Results

3.1 Ensemble Design

We consider the UEP-LDPC ensemble design proposed in [3], which is based on a hierar-

chical optimization of the variable node degree distribution for each protection class. The

algorithm maximizes the average variable node degree within one class at a time while

guaranteeing a minimum variable node degree as high as possible. The optimization can

be stated as a linear programming problem and can, thus, be easily solved. To keep the

overall performance of the UEP-LDPC code reasonably good, the search for UEP codes

Page 188: Low-density parity-check codes : unequal error protection ...

172 Paper E

is limited to degree distributions whose convergence thresholds lie within a certain range

ε of the minimum threshold of a code with the same parameters. We fix ε to 0.1 dB,

which is shown in [3] to give a good trade-off between the performances of the protection

classes.

The UEP-LDPC ensemble design algorithm is initialized with a maximum variable

node degree dvmax , the code rate R, and a check node degree distribution. The bits

of the codeword are divided into protection classes Cj according to their protection

requirements. We design a UEP-LDPC code with Nc = 3 protection classes with rate 1/2,

dvmax = 30 and ρ(x) = 0.00749x7 + 0.99101x8 + 0.00150x9, which is found by numerical

optimization in [6] to be a good check node degree distribution for dvmax = 30. The

proportions of the classes are chosen such that C1 contains 20% of the information bits

and C2 contains 80%. The third class (C3) contains all parity bits. Therefore, we are

mainly interested in the performances of classes C1 and C2. The resulting variable node

degree distribution is defined by the coefficients λ(Cj)i which denote the fractions of edges

incident to degree-i variable nodes of protection class Cj. The overall degree distribution

is therewith given by λ(x) =∑Nc

j=1

∑dvmaxi=2 λ

(Cj)i xi−1. Table 1 summarizes the optimized

variable node degree distribution for the resulting UEP-LDPC code.

Table 1: Variable node degree distribution of the UEP-LDPC ensemble.

C1 C2 C3

λ(C1)18 = 0.2521 λ

(C2)3 = 0.0786 λ

(C3)2 = 0.2130

λ(C1)19 = 0.0965 λ

(C2)4 = 0.2511 λ

(C3)3 = 0.0141

λ(C1)30 = 0.0946

3.2 Performance Comparison

UEP-LDPC codes with length n = 4096 are constructed using the construction algo-

rithms described in Section 2. All codes belong to the ensemble described above. From

each construction algorithm, we consider one code realization in the following. It should

be noted that the differences between several code realizations constructed with the same

construction algorithm are small. We present simulation results for BPSK transmission

over the AWGN channel. Figure 1 shows the FER and the BER as a function of Eb/N0

for the random and ACE code after 100 decoder iterations. They both show good UEP

properties, but the ACE code outperforms the random code for C2 and C3. We also see

Page 189: Low-density parity-check codes : unequal error protection ...

Paper E 173

0 0.5 1 1.5 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

R /

FER

Random C1

Random C2

Random C3

ACE C1

ACE C2

ACE C3

Figure 1: FER and BER of the random code and the ACE code as a function of Eb/N0, after

100 iterations. The bold curves show FER and the thin curves show BER. Both codes show

good UEP capabilities, but the ACE code outperforms the random code for C2 and C3.

that the ACE code has a lower error-floor than the random code. Figure 2 shows the

FER and the BER for the zigzag-random and PEG-ACE code after 100 decoder itera-

tions. The zigzag-random code shows moderate UEP capabilities, while the PEG-ACE

code does not show any UEP at all in FER and very little in BER. Simulation results

for the PEG code and the zigzag-PEG code are omitted here since they show almost ex-

actly the same performance and UEP capability as the PEG-ACE code. For simplicity,

we will summarize the construction algorithms into the following two groups: non-UEP

algorithms and UEP-capable algorithms. The non-UEP construction algorithms are the

PEG, the zigzag-PEG, and the PEG-ACE construction. The UEP-capable construction

algorithms are the random, the ACE, and the zigzag-random construction.

For standard code design, i.e. without UEP, the PEG-ACE construction has been

shown to lower the error-floor while the loss in the waterfall-region is minimal [13]. The

results in Figure 2 show the same behavior. Remarkably, the PEG-ACE code shows

almost no difference in performance between the classes. The PEG-ACE construction

does not lower the error-floors of all classes compared to the random construction as may

Page 190: Low-density parity-check codes : unequal error protection ...

174 Paper E

0 0.5 1 1.5 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

R /

FER

Zigzag−random C1

Zigzag−random C2

Zigzag−random C3

PEG−ACE C1

PEG−ACE C2

PEG−ACE C3

Figure 2: FER and BER of the zigzag-random code and the PEG-ACE code as a function of

Eb/N0, after 100 iterations. The bold curves show FER and the thin curves show BER. The

zigzag-random code shows moderate UEP capabilities, while the PEG-ACE code does not show

any UEP at all in FER and very little in BER.

be expected, but it removes the UEP capability by improving C2 and C3 while degrading

C1. Also, the loss in the waterfall-region is slightly higher than shown for the standard

code design, while the gain in the error-floor region is substantial since all classes have

low error floors.

Figure 3 shows the BER as a function of decoder iterations at Eb/N0 = 1.25 dB for

one UEP-capable code and one non-UEP code, that is, the ACE and the PEG-ACE code.

The other algorithms in both groups show similar results, corresponding to the respective

group. Both groups have similar performance for the first 10 iterations where there is

a significant difference in BER between C1 and C2. However, limiting the number of

iterations to less than 10 would cause a huge performance loss. For a high number of

iterations, it is seen that the PEG-ACE code has almost no UEP. For low Eb/N0, all

classes of the PEG-ACE code perform fairly bad compared to the other codes, see Figure

2. However, in the error-floor region, C2 and C3 of the PEG-ACE code have much lower

error rates than the other codes.

Page 191: Low-density parity-check codes : unequal error protection ...

Paper E 175

0 50 100 150 20010

−5

10−4

10−3

10−2

10−1

100

Iteration

BE

RACE C1

ACE C2

ACE C3

PEG−ACE C1

PEG−ACE C2

PEG−ACE C3

Figure 3: BER as a function of the number of decoder iterations for the ACE and the PEG-

ACE code at Eb/N0 = 1.25 dB. Both codes show good UEP properties after a small number

of iterations (< 10), but after a large number of iterations all classes of the PEG-ACE code

perform almost the same.

The results presented in this section suggest the use of the PEG-ACE code for high

Eb/N0. At Eb/N0 = 1.6 dB, all classes of PEG-ACE have the same performance as the

best class of ACE. Good performance of all classes is of course even better than UEP

capability with only good performance of the most protected class. However, for low

Eb/N0, the PEG-ACE code performs badly and the ACE code with UEP capability is a

better choice.

4 Relevant Graph Properties

In this section, we present properties of the Tanner graph which are relevant for the UEP

behavior of the code. These properties concern the connectivities between variable nodes

of different protection classes. It should also be mentioned that the UEP capability is

mainly independent of finite-length issues. We investigated cycles and trapping sets and

found differences between the algorithms. However, later results will show that there is

Page 192: Low-density parity-check codes : unequal error protection ...

176 Paper E

Table 2: The number of cycles of length 4 and 6 involving at least one variable node from the

respective class.

Length 4 Length 6

C1 C2 C3 C1 C2 C3

Random 4 909 37 10 196 594 35 143 17 463

ACE 3 582 236 48 183 279 31 065 11 516

Zigzag-random 2 020 0 0 195 297 19 683 12 535

PEG 0 0 0 119 226 18 874 5 203

PEG-ACE 0 0 0 115 892 10 698 943

no direct connection between cycles and the UEP capability.

To compare the algorithms in terms of cycles we count the cycles encountered from

each variable node and sum over all variable nodes in the class. This means that each

cycle will be counted several times (2 times for cycles of length 4, etc.). Table 2 gives

the number of cycles of lengths 4 and 6 that involve at least one variable node from the

respective class.

The table shows that the UEP-capable codes (random, ACE and zigzag-random)

contain many cycles of length 4 in C1 and very few in the other classes. The non-UEP

codes all have girth 6 and thus contain no cycles of length 4. Interestingly, the cycles

in C1 do not seem to affect the performance of C1 much, since the BERs of C1 for the

UEP-capable codes are still lower than for the non-UEP codes. This is in agreement with

the observations in [10] that only isolated short cycles are harmful. Since the degrees

of variable nodes in C1 are relatively high, the cycles in C1 are not isolated but have

high ACE values. On the other hand, short cycles facilitate the existence of trapping

sets in a graph. Trapping sets have been shown to govern the error-floor performance

of LDPC codes [14]. The number of cycles is therefore of importance for the error-floor

performance.

4.1 Connectivity Between Protection Classes

Since the degree distributions λ(x) and ρ(x) are equal for all codes, we investigate how

the variable nodes of different protection classes are connected through the check nodes.

It is especially interesting to see how the incident variable nodes of a check node are

spread between the classes. Let us consider a certain check node and how the edges of

this check node are connected to the protection classes. We investigate if the edges are

Page 193: Low-density parity-check codes : unequal error protection ...

Paper E 177

uniformly distributed to the protection classes or if a majority of edges is connected to a

certain protection class.

Generally, a check node degree distribution may be defined from the node’s perspec-

tive as

ρ(x) =

dcmax∑i=2

ρixi−1 .

The coefficients ρi correspond to the fraction of degree-i check nodes. In order to ac-

count for connections to different protection classes, we define detailed check node degree

distributions for the protection classes Cj,

ρ(Cj)(x) =

dcmax∑i=0

ρ(Cj)i xi−1 , i = 1 . . .Nc . (1)

The coefficients ρ(Cj)i correspond to the fraction of check nodes with i edges connected

to class-Cj variables nodes. Note that i is not the overall degree of the check nodes but

only the number of edges which are connected to class-Cj variable nodes. For example,

ρ(C1)4 is the number of all check nodes with exactly 4 edges connected to C1, divided by

n − k, where the remaining edges of these check nodes may be arbitrarily connected to

the other classes. By definition we have∑dcmax

i=0 ρ(Cj)i = 1, j = 1, . . . , Nc . This detailed

check node degree distribution is similar to the detailed representation described in [15],

but we consider the degree distribution from the node’s perspective while [15] considers

the edge’s perspective. The representation in [15] is also more detailed than necessary

for our purpose since it defines connections to nodes of certain degrees instead of certain

protection classes. Table 3 presents the coefficients of the detailed check node degree

distributions for the ACE, the zigzag-random, and the PEG-ACE code. Note that the

maximum check node degree of the whole code is dcmax = 10.

Most of the coefficients of the ACE code are non-zero for all three protection classes,

while the PEG-ACE code has only a few non-zero coefficients. That is, the PEG-ACE

code only has a few different types of check nodes, and the numbers of connections to the

protection classes are very similar for all nodes: The PEG-ACE coefficients ρ(C1)4 , ρ

(C2)3

and ρ(C3)2 are all large, which shows that most check nodes have 4 edges connected to C1,

3 edges to C2, and 2 edges to C3. This means that the variable nodes of a protection

class are generally well connected to other protection classes through the check nodes. In

contrast, the ACE code exhibits many different kinds of check nodes. Some of the check

nodes are mainly connected to one protection class, having only one or two edges going

to other protection classes. There even exist check nodes having 10 edges to a protection

class, which means that they are solely connected to this class. This property seems

Page 194: Low-density parity-check codes : unequal error protection ...

178 Paper E

Table 3: Detailed check node degree distributions.ACE Zigzag-random PEG-ACE

C1 C2 C3 C1 C2 C3 C1 C2 C3

ρ(Cj)0 0.04102 0.02588 0 0.04248 0.06152 0 0 0 0

ρ(Cj)1 0.05273 0.12158 0.48193 0.05664 0.14258 0.04199 0 0.00537 0

ρ(Cj)2 0.10742 0.23584 0.24268 0.10889 0.23193 0.87842 0.00049 0.12109 0.95752

ρ(Cj)3 0.14795 0.27686 0.14648 0.14746 0.22363 0.07568 0.10498 0.77832 0.04248

ρ(Cj)4 0.23926 0.21289 0.06445 0.21240 0.14258 0.00342 0.79980 0.09473 0

ρ(Cj)5 0.21094 0.08594 0.03516 0.23145 0.10693 0.00049 0.09424 0.00049 0

ρ(Cj)6 0.14453 0.03027 0.01611 0.14258 0.05664 0 0.00049 0 0

ρ(Cj)7 0.05029 0.00879 0.00537 0.05566 0.03174 0 0 0 0

ρ(Cj)8 0.00586 0.00195 0.00391 0.00244 0.00244 0 0 0 0

ρ(Cj)9 0 0 0.00293 0 0 0 0 0 0

ρ(Cj)10 0 0 0.00098 0 0 0 0 0 0

to be important for the capability of providing UEP. With more non-zero coefficients

the classes are more isolated and the propagation of messages between the classes will

be slower. If most check nodes have several edges to all protection classes, reliable and

unreliable messages from different classes may proceed to other classes more easily and

affect their performance.

The detailed check node degree distributions of the zigzag-random code have few

non-zero coefficients for C3, while the distributions for C1 and C2 are similar to the

ACE code. Many check nodes have two edges connected to C3, while the connectivities

to the other classes vary. The connectivity between the classes is therefore higher than

for the ACE code, but lower than for the PEG-ACE code. This agrees with the UEP

capabilities, since the zigzag-random code shows less UEP than the ACE code and more

than the PEG-ACE code. The detailed distributions of the other codes are omitted here

since the distribution of the random code is very similar to that of the ACE code and all

non-UEP codes have almost the same detailed check node degree distributions. In order

to visualize the observations, Figure 4 shows the detailed check node degree distributions

of the ACE, the zigzag-random, and the PEG-ACE code.

4.2 Detailed Mutual Information Evolution

The effect of the connectivity between the classes on the performance may be analyzed

by calculating the mutual information (MI) functions of the different codes. By calcu-

lating the theoretical MI functions, the effect of connectivity is isolated from effects due

Page 195: Low-density parity-check codes : unequal error protection ...

Paper E 179

0 1 2 3 4 5 6 7 80

0.5

1ACE

0 1 2 3 4 5 6 7 80

0.5

1

1 2 3 4 5 6 7 8 90

0.5

1

0 1 2 3 4 5 6 7 80

0.5

1Zigzag−random

0 1 2 3 4 5 6 7 80

0.5

1

1 2 3 4 50

0.5

1

2 3 4 5 60

0.5

1PEG−ACE

1 2 3 4 50

0.5

1

2 30

0.5

1

ρ(C1)i

ρ(C2)i

ρ(C3)i

i

i

i

i

i

i

i

i

i

Figure 4: Detailed check node degree distributions of the ACE, the zigzag-random, and the

PEG-ACE code. The UEP-capable ACE code has many non-zero coefficients, while the non-

UEP PEG-ACE code has few non-zero coefficients and thereby better connectivity between the

classes.

to cycles, trapping sets, and codeword length, since the calculation is based on the cor-

responding cycle-free graph. Typically, the MI functions are calculated from the degree

distributions λ(x) and ρ(x) of a code. However, in our case all codes have the same

overall degree distributions λ(x) and ρ(x). To observe the differences between the algo-

rithms, a detailed computation of MI may be performed by considering the edge-based

MI messages traversing the graph instead of node-based averages. This has been done

for protographs in [16]. We follow the same approach, but use the parity-check matrix

instead of the protograph base matrix. See [17, 18] for more details on MI analysis.

Let IAv be the a priori MI between one input message and the codeword bit associated

to the variable node. IEv is the extrinsic MI between one output message and the

codeword bit. Similarly on the check node side, we define IAc (IEc) to be the a priori

(extrinsic) MI between one check node input (output) message and the codeword bit

corresponding to the variable node providing (receiving) the message. The evolution is

Page 196: Low-density parity-check codes : unequal error protection ...

180 Paper E

initialized by the MI between one received message and the corresponding codeword bit,

denoted by Ich, which corresponds to the channel capacity. For the AWGN channel, it is

given by Ich = J(σch), where

σ2ch = 8R

Eb

N0(2)

and Eb/N0 is the signal-to-noise ratio at which the analysis is performed. The function

J(·) is defined by

J(σ) = 1 −∫ ∞

−∞

1√2πσ2

e−(y−σ2/2)2

2σ2 log2(1 + e−y)dy (3)

and computes the MI based on the noise variance. For a variable node with degree dv,

the extrinsic MI between the s-th output message and the corresponding codeword bit

is [16]

IEv|s = J

⎛⎝√√√√ dv∑

l=1,l �=s

[J−1(IAv|l)]2 + [J−1(Ich)]2

⎞⎠ , (4)

where IAv|l is the a priori MI of the message received by the variable node on its l-th

edge. The extrinsic MI for a check node with degree dc may be written as

IEc|s = 1 − J

⎛⎝√√√√ dc∑

l=1,l �=s

[J−1(1 − IAc|l)]2

⎞⎠ , (5)

where IAc|l is the a priori MI of the message received by the check node on its l-th edge.

Note that the MI functions are subject to the Gaussian approximation (see [9]) and are

not exact.

The following algorithm describes the MI analysis of a given parity-check matrix. We

denote element (i, j) of the parity-check matrix by hi,j .

1) Initialization

Ich = J(σch)

2) Variable to check update

a) For i = 1, . . . , n − k and j = 1, . . . , n, if hi,j = 1, calculate

IEv(i, j) = J

⎛⎝√ ∑

s∈Ci,s �=i

[J−1(IAv(s, j))]2 + (J−1(Ich))2

⎞⎠ , (6)

where Ci is the set of check nodes incident to variable node i.

Page 197: Low-density parity-check codes : unequal error protection ...

Paper E 181

b) If hi,j = 0, IEv(i, j) = 0.

c) For i = 1, . . . , n − k and j = 1, . . . , n, set IAc(i, j) = IEv(i, j).

3) Check to variable update

a) For i = 1, . . . , n − k and j = 1, . . . , n, if hi,j = 1, calculate

IEc(i, j) = 1 − J

⎛⎝√ ∑

s∈Vj ,s �=j

[J−1(1 − IAc(i, s))]2

⎞⎠ , (7)

where Vj is the set of variable nodes incident to check node j.

b) If hi,j = 0, IEc(i, j) = 0.

c) For i = 1, . . . , n − k and j = 1, . . . , n, set IAv(i, j) = IEc(i, j).

4) A posteriori check node MI

For i = 1, . . . , n − k, calculate

IAPPc(i) = 1 − J

⎛⎝√∑

s∈Vj

[J−1(1 − IAc(i, s))]2

⎞⎠ . (8)

5) A posteriori variable node MI

For j = 1, . . . , n, calculate

IAPPv(j) = J

⎛⎝√∑

s∈Cj

[J−1(IAv(s, j))]2 + [J−1(Ich)]2

⎞⎠ . (9)

6) Repeat 2)-5) until IAPPv = 1 for j = 1, . . . , n.

The a posteriori MI of the check nodes IAPPc at Eb/N0 = 0.7dB is shown in Figure

5 for the ACE and PEG-ACE code. An average IAPPc of each class is calculated as an

average IAPPc of all edges incident to variable nodes of the corresponding class. The

figure shows that the average IAPPc of all classes are almost equal for the PEG-ACE

code, while they differ for the ACE code. This behavior may be explained by (8) and

the connections of the check nodes to the different protection classes described by the

detailed check node degree distributions in Table 3.

For the PEG-ACE code, almost all check nodes are connected to 4 variable nodes

from C1, 3 variable nodes from C2 and 2 variable nodes from C3. Even if the extrinsic

information from the variable nodes (IEv = IAc) differs (due to the irregular variable

Page 198: Low-density parity-check codes : unequal error protection ...

182 Paper E

node degree distribution), almost all check nodes combine the same number of nodes

from each class. This gives almost equal IEc for all check nodes according to (8), which

means that the performance of different classes will be averaged over the whole codeword

in this step.

For the ACE code on the other hand, the number of variable nodes from different

classes that are connected to a check node differs much more. This allows for having

some check nodes with higher MI than others and the difference in MI of the check nodes

will increase the UEP capability of the code.

0 10 20 30 40 50 600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Iteration

I APP

c

ACE C1

ACE C2

ACE C3

PEG−ACE C1

PEG−ACE C2

PEG−ACE C3

Figure 5: Check node a posteriori MI as a function of the number of decoder iterations at

Eb/N0 = 0.7 dB. The average IAPPc of all classes are almost equal for the PEG-ACE code,

while they differ for the ACE code.

Remember that for all codes we consider here, there will be some UEP capability

strictly depending on the irregularity of the LDPC code. In the first iteration, all IEc

will be almost equal (due to the concentrated check node degree distribution) and the

only difference in IAPPv between the classes will depend on the variable node degrees.

Figure 6 shows the variable node a posteriori MI IAPPv over the number of iterations. It

is shown in [17] that small differences in MI may lead to significant differences in BER for

MI values near to 1. Therefore, the figure shows the distance of the MI to its maximum

value, i.e. 1 − IAPPv, on a logarithmic scale.

Page 199: Low-density parity-check codes : unequal error protection ...

Paper E 183

0 10 20 30 40 50 60

10−8

10−6

10−4

10−2

100

Iteration

1−I A

PPv

ACE C1

ACE C2

ACE C3

PEG−ACE C1

PEG−ACE C2

PEG−ACE C3

Figure 6: Distance of variable node a posteriori MI to the maximum MI, as a function of the

number of decoder iterations, at Eb/N0 = 0.7 dB. Protection class C1 of the ACE code converges

faster than that of the PEG-ACE code, while the other classes take more iterations to converge

for the ACE code than for the PEG-ACE code.

The figure shows that the convergence speeds of the protection classes are farther

apart for the ACE algorithm. Protection class C1 of the ACE code converges faster than

that of the PEG-ACE code, while the other classes take more iterations to converge for the

ACE code than for the PEG-ACE code. Theoretically, the MI may approach 1 arbitrarily

close and there will still be UEP. The actual amount of UEP depends on the convergence

speeds of the classes, [3]. In practice, the accuracy is limited by the numerical precision

of the computations and, for example, approximations of the J-function. However, using

the approximation of the error probability based on mutual information from [17]

Pb ≈ 1

2erfc

⎛⎝√

8R Eb

N0+ J−1(IAv)2 + J−1(IEv)2

2√

2

⎞⎠ , (10)

the error probabilities of the protection classes may be estimated. Note that the results

are not exact for finite-length codes and become more inexact with lower error rates.

Nevertheless, we observe significant differences in BER between the classes if their MI

values are close to 1 and only differ in the fifth decimal position.

The above discussion shows that the connectivity of the protection classes, defined by

Page 200: Low-density parity-check codes : unequal error protection ...

184 Paper E

the detailed check node degree distribution in Table 3 plays an important role to the UEP

capability. However, in comparing the theoretical MI from above with the true values

obtained by measuring the actual decoding LLRs, we observe deviations. The measured

MI values are lower than the theoretical ones which is due to finite-length issues such as

cycles and trapping sets. Nevertheless, the UEP properties are valid for both theoretical

and measured observations.

5 Modified PEG-ACE Construction with Increased

UEP Capability

The above sections discussed the connectivity of check nodes to the protection classes

and differences between the UEP codes and the non-UEP codes were found. In order

to verify that the presented argument indeed is the reason for the differences in UEP

capability, we modify the (non-UEP) PEG-ACE construction algorithm to yield codes

with a similar detailed check node degree distribution as the UEP-capable ACE code.

The algorithm is modified in such a way that it only allows check nodes for the can-

didate list which do not violate certain detailed check node degree distributions ρ(Cj )(x).

Thereby, the parity-check matrix is forced to have detailed check node profiles similar to

the ACE code instead of its natural distribution. By doing so, the detailed check node

degree distribution given in Table 4 is obtained. Notice that this is very similar to the

detailed distributions of the ACE code given in Table 3.

Figure 7 shows the BER and FER of the modified PEG-ACE code in comparison

to the original PEG-ACE code. It shows that by changing the detailed check node

degree distribution of the original PEG-ACE algorithm, it is possible to enhance its

UEP capability significantly. Instead of equal error rates for all classes, the modification

has improved the BER of C1, while slightly degrading C2 and C3. Compared to the

ACE algorithm, the modified PEG-ACE even shows more UEP capability, since the

performance of C1 is better for the PEG-ACE code while C2 and C3 perform worse.

Furthermore, it should be mentioned that the modified PEG-ACE code is even capable

of increasing the differences in BER between C2 and C3 compared to the UEP-capable

codes presented in Section 2.

These results are meant to further support the above discussion that the differences

in UEP capability between different LDPC construction algorithms are due to the con-

nectivity between the classes, that is, the detailed check node degree distribution.

The modified PEG-ACE code has girth 6. Counting the cycles as in Section 4 yields

Page 201: Low-density parity-check codes : unequal error protection ...

Paper E 185

Table 4: Detailed check node degree distribution of the modified PEG-ACE code.

Modified PEG-ACE

C1 C2 C3

ρ(Cj)0 0 0.03711 0

ρ(Cj)1 0.03662 0.15137 0.48291

ρ(Cj)2 0.17529 0.23340 0.22510

ρ(Cj)3 0.16211 0.25098 0.14648

ρ(Cj)4 0.24707 0.16650 0.05908

ρ(Cj)5 0.20020 0.07666 0.08496

ρ(Cj)6 0.12939 0.05078 0.00146

ρ(Cj)7 0.04443 0.02686 0

ρ(Cj)8 0.00488 0.00635 0

ρ(Cj)9 0 0 0

ρ(Cj)10 0 0 0

177 122 cycles involving at least one variable node from C1, 8 931 cycles in C2 and 838

cycles in C3. The numbers of cycles in the modified PEG-ACE graph are similar to the

number of cycles in the PEG-ACE graph. Still the two algorithms have totally different

UEP behavior. These results suggest that cycles do not affect the UEP capability.

With the modified PEG-ACE algorithm, it is possible to enhance the UEP capability

of a code by modifying its detailed check node degree distribution. Optimization of the

detailed check node degree distribution is outside the scope of this paper. However, the

detailed check node degree distribution may be used as a tool to move between codes

with good UEP capability but lower overall performance and codes with good overall

performance but less UEP capability.

6 Conclusions

We have compared the UEP capabilities of several construction algorithms. Results show

that the considered algorithms may be divided into two groups: UEP-capable codes

are those constructed by the random, the ACE, and the zigzag-random construction

algorithm, while the non-UEP codes are constructed by the PEG, the PEG-ACE and

the zigzag-PEG construction algorithm. These findings explain why earlier literature on

irregular UEP-LDPC codes show disagreeing results.

Analysis of the parity-check matrices of the different codes shows that the connectivity

Page 202: Low-density parity-check codes : unequal error protection ...

186 Paper E

0 0.5 1 1.5 210

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

R /

FER

Mod. PEG−ACE C1

Mod. PEG−ACE C2

Mod. PEG−ACE C3

PEG−ACE C1

PEG−ACE C2

PEG−ACE C3

Figure 7: BER and FER of the modified PEG-ACE code in comparison to the original PEG-

ACE code. The modification of the PEG-ACE code has increased its UEP capability signifi-

cantly.

between the different classes is better for the non-UEP codes than for the UEP-capable

codes. By introducing the concept of a detailed check node degree distribution, we

have shown that the number of edges from a check node to variable nodes of different

classes affects the UEP capability. Furthermore, the PEG-ACE construction algorithm

has successfully been modified in order to construct good UEP-capable codes.

References

[1] V. Kumar and O. Milenkovic, “On unequal error protection LDPC codes based

on Plotkin-type constructions,” IEEE Transactions on Communications, vol. 54,

pp. 994–1005, June 2006.

[2] L. Sassatelli, W. Henkel, and D. Declercq, “Check-irregular LDPC codes for un-

equal error protection under iterative decoding,” in 4th International Symposium on

Turbo-codes and related topics (D. D. L. Sassatelli, W. Henkel, ed.), 2006.

Page 203: Low-density parity-check codes : unequal error protection ...

Paper E 187

[3] C. Poulliat, D. Declercq, and I. Fijalkow, “Enhancement of unequal error protection

properties of LDPC codes,” EURASIP Journal on Wireless Communications and

Networking, vol. 2007, pp. Article ID 92659, 9 pages, 2007. doi:10.1155/2007/92659.

[4] N. Rahnavard, H. Pishro-Nik, and F. Fekri, “Unequal error protection using partially

regular LDPC codes,” IEEE Transactions on Communications, vol. 55, pp. 387–391,

Mar. 2007.

[5] R. Gallager, “Low-density parity-check codes,” IEEE Transactions on Information

Theory, vol. 8, pp. 21 – 28, Jan. 1962.

[6] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching ir-

regular low-density parity-check codes,” IEEE Transactions on Information Theory,

vol. 47, pp. 619–637, Feb. 2001.

[7] M. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on

Information Theory, pp. 533–547, Sep. 1981.

[8] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-

product algorithm,” IEEE Transactions on Information Theory, pp. 498–519, Feb.

2001.

[9] S.-Y. Chung, T. Richardson, and R. Urbanke, “Analysis of sum-product decoding of

low-density parity-check codes using a Gaussian approximation,” IEEE Transactions

on Information Theory, vol. 47, pp. 657–670, Feb. 2001.

[10] T. Tian, C. Jones, D. Villasenor, and R. Wesel, “Selective avoidance of cycles in

irregular LDPC code construction,” IEEE Transactions on Communications, vol. 52,

pp. 1242–1247, Aug. 2004.

[11] X.-Y. Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregular progressive

edge-growth Tanner graphs,” IEEE Transactions on Information Theory, vol. 51,

pp. 386–398, Jan. 2005.

[12] X.-Y. Hu, E. Eleftheriou, and D. M. Arnold, “Progressive edge-growth Tanner

graphs,” in Proc. IEEE Global Telecommunications Conference 2001, vol. 2, pp. 995–

1001, Nov. 2001.

[13] D. Vukobratovic and V. Senk, “Generalized ACE constrained progressive edge-

growth LDPC code design,” IEEE Communications Letters, vol. 12, pp. 32–34, Jan.

2008.

Page 204: Low-density parity-check codes : unequal error protection ...

188 Paper E

[14] T. Richardson, “Error floors of LDPC codes,” in Proc. 41st Annual Allerton Conf.

on Commun., Control, and Computing, vol. 41, pp. 1426–1435, Oct. 2003.

[15] K. Kasai, T. Shibuya, and K. Sakaniwa, “Detailedly represented irregular low-

density parity-check codes,” IEICE Trans. on Fundamentals, vol. E86-A, pp. 2435–

2444, Oct. 2003.

[16] G. Liva and M. Chiani, “Protograph LDPC codes design based on EXIT analysis,”

in Proc. IEEE GLOBECOM 2007, pp. 3250–3254, Nov. 2007.

[17] S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenated

codes,” IEEE Transactions on Communications, vol. 49, pp. 1727–1737, Oct. 2001.

[18] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density parity-check

codes for modulation and detection,” IEEE Transactions on Communications,

vol. 52, pp. 670–678, April 2004.

Page 205: Low-density parity-check codes : unequal error protection ...
Page 206: Low-density parity-check codes : unequal error protection ...