数字喷泉码概念由Luby等人于1998年首次提出,但当时并未给出实用数字喷泉码设计方案。2002年,Luby提出了第一种实用数字喷泉码——LT码。之后,Shokrollahi又提出了性能更佳的Raptor码,实现了近乎理想的编译码性能。在学术理论日渐完善的同时,数字喷泉码也日益受到产业界的关注,获得了越来越多的应用。 

所谓数字喷泉码,是指这种编码的发送端可以由k个原始分组生成任意数量的编码分组,接收端只要收到其中任意(1+ε)k个编码分组,即可通过译码以高概率成功恢复全部原始分组,精心设计的数字喷泉码不仅拥有很小的译码开销ε,而且具有简单的编译码方法和很小的编译码复杂度。可以看到,上述编码过程就如同源源不断产生水滴的喷泉码,而我们只要用杯子接收足够数量的水滴,即可达到饮用的目的。正因为如此,这种编码被称为数字喷泉码(Digital Fountain Code)。需要特别指出的,数字喷泉码与LDPC码的最大区别在于其中不存在码长n的定义,或者说码长趋于无穷;相应地,码率R=k/n的定义也不存在,因此数字喷泉码也被称为无率码(Rateless Codes)

Rateless Code是一种无速率约束码,它与传统的信道编码有很大差异。传统的信道编码在设计时,通常先根据信道状态信息(CSI)估计信道参数,根据这个参数设计一个码率固定为R的信道纠错编码。当估计的信道参数大于实际的信道参数时,虽然可以实现可靠传输,但是造成了传输的浪费,因为此时可以使用更高码率的信道纠错编码;当估计的信道参数小于实际的信道参数时,不能实现可靠传输,此时需要更低码率的信道纠错编码。如何在不知道信道准确的状态信息情况下自适应的选择合适的码率进行传输,以自适应适配链路速率,Rateless Code为我们提供了一种解决问题的新思路。Rateless Code与传统固定码率编码方式最大的不同在于它在发送端不设定固定码率。Rateless Code的发送端可以根据输入的数据包以某种方式源源不断的产牛编码包并发送出去,它的接收端则可以接收这些编码包然后尝试译码,如果译码失败,接收端可以再多接收一些编码包然后继续尝试译码,接收端可以一直重复这个过程直到译码成功,一旦译码成功,接收端只需要发送一个非常简单的反馈信号告知发送端译码成功,然后发送端停止发送即可,这样就完成了整个传输过程,此时,实际传输的码率取决于实际发送的编码包数目,而需要发送的编码包数目则取决于当时的信道状况。

从Rateless Code的描述中不难看出它的三个重要属性:自适应链路速率适配、Rateless属性(流属性)、以及桶积水效应。正是因为它的这些属性,使得它可以广泛应用于广播、中继、认知等无线通信系统中,也适合于存储、压缩编码和网络传输。Rateless的思想可以推广到现有几乎所有固定速率的编码系统中,带来现代无线通信体制的根本变化。

rateless code 与喷泉码(Fountain code)相关推荐

  1. 键盘的扫描码Scan Code,通码Make code,断码Break Code

    http://bbs.chinaunix.net/thread-3609756-1-1.html [键盘的构造及历史] 对于键盘,如果想要表示某个按键,硬件上对应着某个点,有两种方法,一种是对于每个按 ...

  2. gray code java_格雷码Gray Code详解

    格雷码简介 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又 ...

  3. 汉信码(Hanxin Code)与QR码(QR Code)的终极对决

    汉信码是"十五"期间中国物品编码中心主导开发出的不同于QR码的二维马码,主要针对汉字的编码方式进行了优化和扩展.但是从技术上讲与QR码的差别并不是很大,他们之间既有区别又有联系. ...

  4. 二维码QR Code简介及其解码实现(zxing-cpp)

    二维码QR Code(Quick Response Code)是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种 ...

  5. 小师妹学JVM之:java的字节码byte code简介

    文章目录 简介 Byte Code的作用 查看Byte Code字节码 java Byte Code是怎么工作的 总结 简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码 ...

  6. QR code 二维码基础入门教程(二)

    QR code 二维码基础入门教程(二) 承接上文,让我们继续下面的步骤 纠错码编码 先说说纠错容量 纠错码可以纠正两种错误: 拒读错误(错误码位置已知),是一个没有扫到或者无法译码的符号字符,需要一 ...

  7. QR code 二维码基础入门教程

    QR code 二维码基础入门教程 本文为 QR Code Tutorial: Introduction 的总结,详细内容请查看原文 Introduction History and Informat ...

  8. http status code —— http 状态码

    0. 网络连接的问题 vs 域名解析的问题 测试的方法主要有两个, 如果是域名解析出了问题,浏览器将会很快给出响应 如果将域名转换为对应的ip地址,浏览器能对其该ip进行响应的话,则证明是网络连接的问 ...

  9. SAP 针对国家 country, 维护税码 tax code

    SAP 针对国家 country, 维护税码 tax code T-code: FTXP *&------------------------------------------------- ...

最新文章

  1. erlang的进程池。
  2. 知乎赴美上市为缓解商业化瓶颈,下一步网络推广知乎想怎么做?
  3. 对三层架构的简单改进
  4. 使用过这么多年Hibernate,对底层原理你知多少?
  5. IDEA添加mybatis-mapper的模板
  6. 实时帧数手机_ROG游戏手机评测:小老弟让我教教你什么叫电竞
  7. 29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?
  8. Symbian 项目
  9. cactiez v11使用配置mysql_安装cactiez v11对windows和linux系统进行监控
  10. 示波器在Multisim仿真中如何看信号周期频率
  11. 基于RS的沈阳土地利用情况
  12. 2019银保监计算机类真题,2019中国银保监会招聘考试全真模拟卷(计算机类)
  13. Linux的进程优先级NI和PR到底有什么区别
  14. 在线翻译PDF文件用什么方法
  15. (Emitted value instead of an instance of Error) Do not use v-for index as key on <transition-group>
  16. MySQL高级--2--黑马
  17. MATLAB---构造一个插值三次样条曲线
  18. 平面设计简化布局的要点是什么
  19. 基于C++的UKF代码示例,跟踪三次多项式曲线
  20. Hotmail Smtp邮箱发送的端口

热门文章

  1. Educoder–Java抽象类和接口 第1关:Fruit类
  2. 大学生应该具备哪些计算机知识,大学生电脑知识是必备
  3. 软件测试基本理论知识
  4. jQuery事件与特效
  5. 独享服务器与共享服务器的带宽概念分析
  6. 提高记忆力的唯一方法是进行记忆力训练
  7. 彻底搞明白,python升级后,为什么会导致yum不可用
  8. 跟我学习Spring Security--在线宠物商店开发(四)
  9. 基于51单片机的直流电机转速显示+加速减速启停
  10. 博图v15编程手册_西门子PLC博图V15编写程序