20 Introduction

trade-off between waterfall performance **and** error floor.

The first chapter is dedicated to introduce the useful notions about binary **and** nonbinary

**LDPC** **codes**, as well as the existing tools for their analysis.

In the second chapter, we introduce **and** study a new class of **LDPC** **codes** that we call

multi-binary hybrid **LDPC** **codes**. The class of hybrid **LDPC** **codes** is a generalization of

existing classes of **LDPC** **codes**, both binary **and** non-binary. For hybrid **LDPC** **codes**, we

allow the connectivity profile to be irregular **and** the orders of the symbols in the codeword

to be heterogeneous. The asymptotic analysis of this class of **codes** is performed

with a given detailed representation to derive stability condition **and** EXIT charts analysis.

The study is performed on the BIAWGN channel, whereas studies of generalized

**LDPC** **codes** usually consider the BEC [30, 29] where the one parameter approximation

of message densities is straightforward, unlike for the BIAWGN channel. Thus, for the

EXIT chart analysis, we have tried to provide an as complete as possible analysis of the

accuracy of the projection of message densities on only one scalar parameter. Distributions

are optimized **and** some thresholds computed. We show how the finite length

optimization method of [34] can be adapted **and** applied to get very low error floor. We finally

present experimental results for code rate one half, as well as for code rate one sixth.

The third chapter reviews the investigation done on the initial topic of this thesis: how

some machine learning **methods** might be applied to the bipartite graph of a code for finite

length optimization purpose? The final goal was to use hybrid **LDPC** **codes** as a tool for

building **codes** with good finite length properties by means of a learning algorithm to be

determined.

First, we are interested in code design. We look for a way to build the Tanner graph of

a code by means of a supervised learning process applied to the graph of a mother code in

order to decide which edges should be pruned away in order to lower the sub-optimality

of the BP decoder.

Then, we move towards decoder design for a given **LDPC** code. We investigate how

to modify the BP decoder by adapting it to the graph of a given code, in order to lower

its sensibility to graph cycles. For this purpose, the BP decoder has been considered as a

classifier with room for improvement.

The fourth chapter also aims at finding good decoders well performing on finite length

**LDPC** **codes**, but with good asymptotic behavior too. In this chapter, we switch from

continuous BP **decoding** to quantized **decoding**. The idea is still to find a **decoding** rule

adapted to topologies hard to decode, like trapping sets [35]. To do so, a class of two-bit

message passing decoders is proposed for the binary symmetric channel. The thresholds

for various decoders in this class are derived using density evolution. For a specific

decoder, the sufficient conditions for a column-weight-four **LDPC** code to correct all patterns

up to three errors are derived. A code satisfying the conditions is constructed **and**

numerical assessment of the code performance is provided via simulation results.