Skip to content

foxsen/raptorQ

Repository files navigation

本软件包是RFC6330的一个实现。

这是高通提出的一个高效的喷泉码FEC算法,之前在一个无线通信项目里用到而实现了它。放在硬盘好久了,共享出来避免浪费。

大致组织如下:

   Symbol.h/Symbol.cpp 实现对RFC文档中symbol的抽象,初始化、异或、赋值等
   Helper.h/Helper.cpp 实现计算RFC6330的参数、分区等;可以不用,直接人工指定K、T等
   Generators.h/Generators.cpp 核心算法,根据K、T等参数初始化编解码器,生成矩阵,生成中间符号和修复符号等;提供了高斯消元和RFC6330推荐两种解码算法;
   也包括对矩阵离散表示的一个实现,希望减少内存需求提高效率,但实践发现计算量反而变大,因此没有真正使用。代码有一定的注释。
   encoder.*/decoder.* 对核心的一个包装。RFC6330有趣的一点是其编解码基本是同一个计算,编码时要先解码。
   Main.cpp 测试程序。调用编码器、模拟发送和丢包、接受和解码以及校验。
   

About

高通RaptorQ前向纠错码算法实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published