discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Trying to build a DVB-S2 LDPC decoder


From: Tracie Perez
Subject: Re: [Discuss-gnuradio] Trying to build a DVB-S2 LDPC decoder
Date: Tue, 5 Apr 2016 16:10:47 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

Hi Jose,

There are 2 LDPC decoders in gr-fec. One is a hard decision bit flip decoder, and I've only tested it on code lengths up to n=2400. The other one is a message passing decoder but I'm not sure of its capabilities/limits.

There's no special reason that the biggest matrix is size n=2400. Those matrices in the ldpc directory (with "gap" in the filename) are of a particular format required for a LDPC encoding method described by Richardson and Urbanke in their book Modern Coding Theory. It's a bit of trial and error to create these matrices, and 2400 was just the biggest I could create.

Anyway, some general thoughts for you in regards to creating a decoder: Consider using the "dummy" decoder as a template for how to "plug into" the FEC API. Also, I used the matrix structure of the GSL, so you will see GSL function calls if you poke around some of the LDPC code, but ultimately we'd like to remove these dependencies on GSL and use the VOLK library instead. GSL does have routines for sparse matrices [1]; maybe that will help you speed things up? And from my understanding, the decoder used for LDPC is not dependent on the encoder used, so you may have some options for the decoder algorithm? Sorry, I'm not familiar with the DVB-S2 standard to make any smarter replies to your questions about what will work beyond "give it a try."

Also, if you haven't found your way to the FEC API page in the manual [2], I think it gives a great high-level introduction to gr-fec.

Good luck, and let us know how it goes,
~ tracie

[1] www.gnu.org/software/gsl/manual/html_node/Overview-of-Sparse-Matrices.html
[2] gnuradio.org/doc/doxygen/page_fec.html


On 04/05/2016 03:07 PM, Jose Ruvalcaba wrote:
Hi Martin,

In fact I did take a look into the gr-FEC folder and the different .cc and .h files available in GNU radio. I was actually looking at the ldpc_decoder .cc and .h files and took note on how it did its decoding process. In fact I had some questions regarding the implementation of the ldpc decoder which maybe can help me in the construction of my block. Is there a specific reason why the sizes of the available alist parity check matrices go up as high as N = 2400 ? Would this LDPC decoder be able to handle large codeword lengths? Also is would this code work with different parity check matrix constructions such as with repeat accumulate codes?
Thanks,
Jose

On Mon, Apr 4, 2016 at 10:20 PM, Martin Braun <address@hidden> wrote:
Jose,

we have a *lot* of smart FEC stuff, including LDPC codes, in gr-fec. I
suggest you take a look there.

Cheers,
M

On 04/04/2016 04:41 PM, Jose Ruvalcaba wrote:
> Hello,
>
> I am new to GNU radio and to SDR's and I am trying to implement a DVB-S2
> LDPC decoder block that can be used with the LDPC DVB-S2 encoder
> available in GNU radio. I have been able to write an LDPC decoder which
> uses a 16,200 long parity check matrix used only for a DVB-S2  short
> frame, rate = 1/4 code. The problem is that when running my written
> block it's taking a long time to decode one iteration of data(about an
> hour long). I was wondering if anyone has any advice in how to go about
> writing code for FEC blocks, especially LDPC codes, which will be used
> in GNU radio and eventually in an SDR? In other words, are there certain
> libraries that should be used when trying to write FEC decoders in gnu
> radio? How could I make a GNU radio FEC block which takes in a codeword
> length 16,200, like the one in DVB-s2, to work in a USRP? Is it smart to
> make my large (12960 x 16,200) parity check matrix using the standard
> 'vector' library in C++?   Any advice, tips and suggestions will be
> greatly appreciated.
>
> Thanks,
> Jose
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]