我正在尝试在 java 中实现 RaptorQ 前向纠错方案,如下所示:
https://datatracker.ietf.org/doc/html/draft-ietf-rmt-bb-fec-raptorq-04#section-5.3.3
问题的核心实际上是对矩阵A进行高斯消去,以一种聪明的方式快速完成。
矩阵 A 由子矩阵组成,其中包括 G_LDPC,1 和 G_LDPC,2。 (用于低密度奇偶校验的生成矩阵)
第 22 页的“5.3.3.3. 预编码关系”部分指出,该矩阵可以从同一页面上的代码片段中推导出来。
我的问题:我无法从截取的代码中推导出这两个子矩阵的结构。
有人知道如何做到这一点,或者结构是什么样子吗?
感谢您的任何帮助!
最大
我也在尝试实现 RaptorQ,并遇到了完全相同的问题。我的建议是这本书:
Raptor 代码(通信和信息理论的基础和趋势(R))[平装本] 阿明·肖克罗拉希 (Amin Shokrollahi) (作者), 迈克尔·卢比 (Michael Luby) (作者)
第 3.3.3 节中对构造约束矩阵有更好的解释(我会引用它,但我没有数字化的)。
@Max 不管怎样我们可以聊天或者你可以分享你的 RFC5053 实现吗?我真的可以找熟悉这些困难的人来交谈并分享一些疑问/想法。
遇到问题后,我决定根据 RFC 5053 实现 Raptor 编解码器,如下所述: https://www.rfc-editor.org/rfc/rfc5053
这实际上是 RaptorQ 的前身版本。 总体工作原理看似相同,但优化程度较低,因此性能较差,尤其是在接收效率方面。 但另一方面,它对我来说不太复杂且更直观,因此我能够用 Java 编写一个有效的实现。 毕竟,我不得不承认我对所创建的编解码器的功能感到非常惊讶!
随着在编码 RFC 5053 实现过程中获得的更深入的理解,我现在可能也能够实现 RaptorQ 编解码器了。
我现在也在尝试实现这一点,我可以与你联系以消除一些疑问吗?