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 <[email protected]
<mailto:[email protected]>> 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
> [email protected] <mailto:[email protected]>
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected] <mailto:[email protected]>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio