# LDPC codes - GSOC 2013

Hello,

My name is Maria Christopoulou and I’m a physics student in National and
Kapodistrian University of Athens in Greece.
My final year project is simulating an OFDM communications system, which
is
a relevant subject to the current LDPC codes project.

I have done some research and realized that the project should tackle
the
following aspects:

1. Code construction, based on desirable properties, such as the size,
rate
and weight.

There are many algorithms to construct the code, depending on whether
we
want a pseudorandom or structured construction.

It’s a question of mine about the appropriate code construction method
to
apply for a real-time application.

Also, would a visual representation of a Tanner graph be required ?

1. Optimization

The performance of the code could be increased by changing the code’s
parameters, such as the minimum distance and the girth.

I guess we should define the appropriate technique for this.

1. Encoding: The goal is to map the messages into the codewords.

I have found two methods for this:

a) We get the codeword by applying the equation c=u*G, where c is the
codeword, u is the message and G is the Generator Matrix of the above
code.
The Generator Matrix is found by performing Gauss-Jordan Elimination on
the above constructed matrix of the code, denoted H.

b) The above constructed matrix of the code H is transformed into lower
triangular form H_new, using the appropriate maths.
The codewords must satisfy the parity check equation c*H_new=0, from
which
we get the parity bits of the codeword.

I have read that a structured code can be used for (a), while for an
arbitrary matrix, (b) is more suitable.

So the approach depends on the type of the construction, which has to be
defined.

1. Decoding can be either hard or soft decision.

The hard decision can be implemented with a bit-flipping decoding.
The soft decision can be implemented with Sum-product decoding.

Matlab has a dedicated LDPC block decoder, that includes both methods,
so I
guess we have to define the methods in the project.

Apart from the above questions of mine, please let me know the way you
think we have to process the project, so that to submit my relevant
proposal.

Best Regards,

Maria Christopoulou

Hi Maria,

you should definitely contact the corresponding mentor soon–the
application period will begin next week!

On Fri, Apr 19, 2013 at 01:21:24AM +0300, Maria Christopoulou wrote:
[…]

1. Decoding can be either hard or soft decision.

The hard decision can be implemented with a bit-flipping decoding.

The soft decision can be implemented with Sum-product decoding.

Matlab has a dedicated LDPC block decoder, that includes both methods, so I
guess we have to define the methods in the project.

A piece of advice for you and all the other students planning to write a
proposal for this project: There are a lot LDPC implementations out
there; but we need something that is compatible with our licence.

Example: If code is available under the original BSD licence, you can’t
use snippets from there.

Apart from the above questions of mine, please let me know the way you think we
have to process the project, so that to submit my relevant proposal.

I like how you’ve split this up into several deliverables. You should
have a look at the successful proposals from last year to get an idea
how yours might look.

MB

Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

Hi Maria and everyone else interested in the LDPC code project!

The LDPC GSoC proposal has drawn quite some interest, and I’m very
happy about that. A few student have already discussed their proposals
with me offline.

A few points for all of you:

1. I’d like to keep the project practical, the outcome should be a set
of blocks that can be used in real-time data transmission and ideally
beat (in terms of coding gain) the currently available blocks.

2. Please do research on what’s been published (and the software
licenses) and what can be GNU Radio-fied and what needs to written. If
we don’t have to start from scratch, that’s great. Just give credit
where credit is due.

3. The proposals for the LDPC project will compete in the end and all
mentors will decide jointly which (of all) proposals have the best
chances of success. If you are really interested in another topic as
well, you might consider submitting two proposals to increase your
chances.

[…]

Apart from the above questions of mine, please let me know the way
you
think we have to process the project, so that to submit my relevant
proposal.

Draft a proposal and I’ll give you feedback off-list.

Best regards,
Jens