# LDPC codes - GSOC 2013

**URL:** <https://www.ruby-forum.com/t/ldpc-codes-gsoc-2013/228354>\
**Category:** GNU Radio\
**Created:** [April 19, 2013, 12:22am UTC](https://www.ruby-forum.com/t/ldpc-codes-gsoc-2013/228354 "2013-04-19T00:22:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maria\_Christopoulou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/71e660/32.png) [@Maria\_Christopoulou](https://www.ruby-forum.com/u/Maria_Christopoulou)\
**Post date:** [April 19, 2013, 12:22am UTC](https://www.ruby-forum.com/t/ldpc-codes-gsoc-2013/228354/1 "2013-04-19T00:22:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Maria\_Christopoulou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/71e660/32.png) [@Maria\_Christopoulou](https://www.ruby-forum.com/u/Maria_Christopoulou)\
**Post date:** [April 19, 2013, 9:46am UTC](https://www.ruby-forum.com/t/ldpc-codes-gsoc-2013/228354/2 "2013-04-19T09:46:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Maria\_Christopoulou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/71e660/32.png) [@Maria\_Christopoulou](https://www.ruby-forum.com/u/Maria_Christopoulou)\
**Post date:** [April 19, 2013, 11:35am UTC](https://www.ruby-forum.com/t/ldpc-codes-gsoc-2013/228354/3 "2013-04-19T11:35:15Z")

</div>

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
