开发者

RaptorQ FEC Implementation Obstacle

开发者 https://www.devze.com 2023-03-16 01:43 出处:网络
I am trying to implement the RaptorQ Forward Error Correction Schem开发者_StackOverflowe in java as specified here:

I am trying to implement the RaptorQ Forward Error Correction Schem开发者_StackOverflowe in java as specified here:

https://datatracker.ietf.org/doc/html/draft-ietf-rmt-bb-fec-raptorq-04#section-5.3.3

The core of the problem is actually to execute gaussian elimination on a matrix A in a smart way to be fast.

The matrix A is composed of submatrices, among others these are G_LDPC,1 and G_LDPC,2. (Generator matrices for Low Density Parity Checks)

On page 22 in section "5.3.3.3. Pre-coding relationships" it is stated that this matrices can be decuced from the code snippet on the same page.

My Problem: I am not able to derive the structure of these two submatrices from the code snipped.

Does someone see how to do that, or how the structure looks like?

Thanks for any kind of help!

Max


I'm also trying to implement RaptorQ, and ran into this exactly same problem. My suggestion is this book:

Raptor Codes (Foundations and Trends(R) in Communications and Information Theory) [Paperback] Amin Shokrollahi (Author), Michael Luby (Author)

It has a better explanation on constructing the constraint matrix in section 3.3.3 (I'd quote it, but I don't have it digital).

@Max anyway we can chat or you can share your RFC5053 implementation? I really could use someone familiar with these difficulties to talk to and share some doubts/ideas.


After being stuck with the problem, I decided to implement the Raptor codec according to RFC 5053 as described here: https://www.rfc-editor.org/rfc/rfc5053

This is actually the predecessor version of RaptorQ. The general working principle seems to be the same, but it is less optimized and therefore has worse properties, especially in sense of reception efficiency. But on the other hand it was less complex and more intuitive to me, and therefore I was able to code a working implementation in Java. And after all, I have to admit that I'm very astonished by the capabilities of the created codec!

With the deeper understanding gained during coding the RFC 5053 implementation I was probably also able to realize the RaptorQ codec now.

0

精彩评论

暂无评论...
验证码 换一张
取 消