17、随机线性网络码解码算法解析

随机线性网络码解码算法解析

1. 引言

在网络编码(NC)的实现与部署中,有两个重要的性能指标:一是编码带来的开销大小,二是编码、重编码和解码的执行速度。编码实现相对简单,能以最少的操作完成,重编码与编码类似,因此本文重点关注快速解码问题。

随机线性网络编码(RLNC)是一种流行的网络编码方法,它基于有限域,当使用二进制有限域时,能获得较高的编码吞吐量。由于从二进制域中随机抽取的元素有 50% 的概率为零,所以生成的代码较为稀疏。在解码时,由于数据是随机编码和重编码的,没有特殊结构或捷径可利用,只能确定编码/重编码操作的逆操作。为避免最终数据包到达时出现较大解码延迟,我们希望在数据包到达时就进行解码。基于代码的稀疏性,我们提出了一些简单的机制来优化解码过程。

2. 编码算法

我们考虑将数据从源发送到宿时的编码过程。这些数据被称为一代(generation),由 g 个大小为 m 比特的符号组成,g 称为代大小,因此一代包含 g · m 比特的数据。g 个符号排列成矩阵 M = [m1; m2; … ; mg],其中 mi 是列向量。在实际应用中,一个原始文件或数据流可能会被分割成多个代,但这里我们只考虑单个代。

为生成新的编码符号 x,将矩阵 M 与长度为 g 的随机生成的编码向量 g 相乘,即 x = M × g。由于该码是无速率的,我们可以构造 g + r 个编码符号和编码向量,其中 r 是任意数量的冗余符号。当编码符号在网络上传输时,会附带其编码向量,它们共同构成一个编码数据包。每个编码符号实际上是代中原始符号的组合,这样几乎可以创建无限个编码符号。

编码数据包结构如下:
| 部分 | 说明 |

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值