CN102237966A - 基于度2和高度编码包的喷泉码解码方法 - Google Patents
基于度2和高度编码包的喷泉码解码方法 Download PDFInfo
- Publication number
- CN102237966A CN102237966A CN2011101928540A CN201110192854A CN102237966A CN 102237966 A CN102237966 A CN 102237966A CN 2011101928540 A CN2011101928540 A CN 2011101928540A CN 201110192854 A CN201110192854 A CN 201110192854A CN 102237966 A CN102237966 A CN 102237966A
- Authority
- CN
- China
- Prior art keywords
- degree
- decoding
- encoded packets
- packets
- encoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于度2和高度编码包的喷泉码解码方法,采用传统解码与求解多度编码包相结合的方法,针对具有传输时延大、丢包率大、链路易断等特点的应用背景提出改进的喷泉编译码技术。相比传统喷泉码只有在出现度为1的编码符号后才能解码的方法,利用度2分类求解高度编码包的解码方案,提前了解码的时间,并且可以在传统译码出现死锁状态停止译码的情况下利用冗余信息进行再解码,而不需要接收更多的编码符号,提高了译码的效率。
Description
技术领域
本发明涉及一种喷泉码解码方法,尤其涉及一种在具有传输时延大、丢包率大、链路易断等特点的应用背景下的喷泉码解码方法。
背景技术
标准的文件传输协议中,将一个文件简单的分成k个等大小的数据包,然后重复发送每一个数据包,知道接收端成功接收每一个数据包,通常需要有一个反馈信道来通知发送端那些信息还收到,需要重发。在Luby提出的喷泉码中,每个发送的编码数据包随机地包含了全局信息,发送端只需发送数据包,而不需要知道那些数据包丢失,而收端只需收集齐一定数量的编码数据包,设为N,只需N略大于源文件的分类k,收端就能以一定的概率还原源文件。
最早提出的喷泉码只使用于删除信道,如网络通信中,经过众人的研究,有学者提出了喷泉码在非删除信道中的使用方式,使喷泉码的有用更广泛,如今喷泉码已被应用于数据广播、多元下载、分布式存储、协同通信等多个方面。Digital Fountain 公司设计的系统Raptor码已经被3GPP MBMS标准采用。
随着喷泉码的发展,将喷泉码引入了具有传输时延大、丢包率大、链路易断等特点的应用背景,并提出将LDPC码与喷泉码级联的方案。在这些应用背景中使用喷泉码既不需要握手过程,也不需要反馈信道,简化了通信协议,只要保证收端接收到一定数量的编码数据包,就能高概率还原原始文件。然而现有喷泉码解码技术面临的问题是:由于链路易断,通常接收不到足够的编码包,从接收端的角度考虑,如果链路断开,又无法接收到足够冗余的数据包,这样就就无法完成译码,导致通信失败。
发明内容
本发明解决的技术问题是:提供一种喷泉码解码方法,克服现有喷泉码解码技术在具有传输时延大、丢包率大、链路易断等特点的应用环境中接收不到足够的编码包的技术问题。本发明的技术方案是:提供一种基于度2和度3编码包的喷泉码解码方法,包括如下步骤:本发明的技术方案是:提供一种基于度2和高度编码包的喷泉码解码方法,包括如下步骤:
步骤A:解码准备:初始化解码数据包的个数X1=0,接收喷泉码编码包,当接收的编码包大于需要解码的编码包数量时准备解码;
步骤B:解码度为1的编码包,即:查找度为1的编码包,根据异或运算还原度为1的编码包;
步骤C:解码度为2的编码包,即:对于度为2的编码包,根据编码包的位数,假设编码包中的任意一个原始数据包的每一位假设为1或0,解出度为2的编码包中的原始数据包,对求解的原始数据包归为一类;
步骤D:解码度大于2的编码包,即:对于含有偶数个原始数据包在步骤B的分类中的度大于2的编码包,根据步骤B的结果解出编码包中每个分类中偶数个原始数据包的异或结果,然后根据这个解出的结果进行降度操作解码;
步骤E:循环解码,即:记录步骤B、步骤C、步骤D中解码数据包的数量X2,当X1不等于X2时,则令x1=x2,将解码后的数据包代入编码包,进行降度,对降度后的编码包重复步骤B、步骤C、步骤D的过程,反复更新x1,x2的值,直到x1=x2,译码结束。
本发明的进一步技术方案是:还包括匹配校正:对步骤C中求解的原始数据包与解码度为2的编码包中假设的值进行匹配校正,获得该分类中的所有正确的原始数据包。
本发明的进一步技术方案是:在步骤E中,将解码后的数据包代入编码包进行降度的过程为:将获解的原始数据包与其参与的编码包进行异或运算后,求解相关的原始数据包。
本发明的技术效果是:本发明一种基于度2和高度编码包的喷泉码解码方法,采用传统解码与求解多度编码包相结合的方法,针对具有传输时延大、丢包率大、链路易断等特点的应用环境,提出改进的喷泉编译码技术,相比传统喷泉码只有在出现度为1的编码符号后才能解码的方法,利用度2分类求解高度编码包的解码方案,提前了解码的时间,并且可以在传统译码出现死锁状态停止译码的情况下利用冗余信息进行再解码,而不需要接收更多的编码符号,提高了译码的效率。
附图说明
图1为本发明的译码过程图。
图2为本发明的流程图。
具体实施方式
下面结合具体实施例,对本发明技术方案进一步说明。
本发明的具体实施方式是:对于喷泉码,假设要发送的文件大小为lkbit,将该文件分为k个数据包 ,其中每个是数据传输的最小单位,这里为lbit。喷泉码并不直接发送,而是选取其中的个作为邻居做异或运算后发送,相当于每次发送一个关于的线性方程,发送次后相当于发送了一个线性方程组:
Robust孤波分布为:
如图2所示,本发明的具体实施方式是:提供一种喷泉码解码方法,包括如下步骤:
步骤A:解码准备,即:初始化解码数据包的个数X1=0,接收喷泉码编码包,当接收的编码包大于需要解码的编码包数量时准备解码。
步骤B:解码度为1的编码包,即:查找度为1的编码包,根据异或运算还原度为1的编码包。对于度为1的编码包,采用传统的方法。传统的喷泉码译码,从度1开始译码。过程如下图1所示:第一步,即:找出一个度为1的编码包,这个编码包有如下的特性,即它只与一个原始数据包相关,也就是说相应的编码方程只含有一个未知数,编码方程为,或者说,就是的简单复制。令,即可以得到sk,然后再将已知的加到所有包含的编码包中,也就是说对于有参与的编码方程中,所有的编码结果加上,使得,例如:将加到所有参与的编码包中,也就是将加到t4中,使得t4’= t4+s2;最后,如图1所示,除去所有的编码包与的连接关系,也就是说使编码方程中的系数都变为0。其中,上述文件中的“+”表示的都是异或运算。 第二步,重复第一步的操作,直到所有的都被还原。
步骤C:解码度为2的编码包,即:对于度为2的编码包,根据编码包的位数,假设编码包中的任意一个原始数据包的每一位假设为1或0,解出度为2的编码包中的原始数据包;对求解的原始数据包归为一类;
第一步:任选度为2的码字,这里不妨设其中一个码元为,另一个码元为,即。不妨假设,那么令与做异或运算得。即,这个假设是任意的,这可能与实际不符,但在后续的过程中,这个值的真伪并不影响之后的判断。上例是针对一维码元而言,对于多维码元,比如s1为二维码元,则可以假设为s1为11、10、01、00四种,然后令与做异或运算得,其它更多维数的,则依次类推。以下通过举例进行说明:选择与构成度2的所有码字,比如
第二步,依次选出与中元素构成度2的码元,判断新的度2方程中的值,并将他们纳入,作为的新的元素。比如与中的元素构成度2的编码方程,判断出,并将归入中,这样中的元素求解为。由此,对于中的每个元素,本来是只与其中的几个元素有关构成度2的关系,现在使他们两两之间都可获得度2关系,通过上述运算还能够得到 ,并且只要能获知中任一元素的值,就可解得中所有元素的值。
本发明的优选实施方式是:还包括匹配校正:对步骤C中求解的原始数据包与解码度为2的编码包中假设的值进行匹配校正,获得该分类中的所有正确的原始数据包。
对于度为2的编码包的求解,由的正确值进行后续判断,如果属于某个类,不妨设。由于前述得到了一个的假设值,如果这个假设的与正确的值是一致的,则中所有元素的值都正确了;如果不一致,则将假设的中的所有元素的值反转,即为它们的正确值。
以下举例说明:上例中,相应的即为,由之前的分类看到,并且已经有假设得到一个的假设值,假设,对比我们由第二步中得到的的真实值,,我们可以退出之前的假设是错误的,反转中每个元的值,也就是将反转得到每个元素的正确值即。
由于在高度编码包的译码过程中,不同的高度编码包所解出的第三个信息包可能属于同一分组,那么经过第一个高度编码包的处理就已经还原了该分组中的所有原始信息包,所以第二个高度编码包的对分组的匹配校正的过程就是重复的,可以省略。因此补充一个步骤:在每一个高度编码包的解码校正后,删除获解信息包所处的分组,以避免重复。
步骤D:解码度大于2的编码包,即:对于含有偶数个原始数据包在步骤B的分类中的度大于2的编码包,根据步骤B的结果解出编码包中每个分类中偶数个原始数据包的异或结果,然后根据这个解出的结果进行降度操作解码。
步骤E:循环解码,即:记录步骤B、步骤C、步骤D中解码数据包的数量X2,当X1不等于X2时,表示有新的信息包获解,则令x1=x2,将解码后的数据包代入编码包,进行降度,对降度后的编码包重复步骤B、步骤C、步骤D的过程,反复更新x1,x2的值,直到x1=x2,表示无法解出新的信息包,译码结束。
本发明的具体实施过程为:记录步骤B、步骤D中解码数据包的数量X2,当X1不等于X2时,则令X1=X2,将解码后的数据包代入编码包,进行降度,对降度后的编码包重复步骤B、步骤C、步骤D的过程。即,将已知的加到所有包含的编码包中,使。这样处理后可以得到了许多度为1的码字,并且降低了编码包的度,然后再按照传统的解码方法则可进行译码,重复上述操作,直到求解出所有能解码的编码包。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.一种基于度2和高度编码包的喷泉码解码方法,包括如下步骤:
步骤A:解码准备:初始化解码数据包的个数X1=0,接收喷泉码编码包,当接收的编码包大于需要解码的编码包数量时准备解码;
步骤B:解码度为1的编码包,即:查找度为1的编码包,根据异或运算还原度为1的编码包;
步骤C:解码度为2的编码包,即:对于度为2的编码包,根据编码包的位数,假设编码包中的任意一个原始数据包的每一位假设为1或0,解出度为2的编码包中的原始数据包,对求解的原始数据包归为一类;
步骤D:解码度大于2的编码包,即:对于含有偶数个原始数据包在步骤B的分类中的度大于2的编码包,根据步骤B的结果解出编码包中每个分类中偶数个原始数据包的异或结果,然后根据这个解出的结果进行降度操作解码;
步骤E:循环解码,即:记录步骤B、步骤C、步骤D中解码数据包的数量X2,当X1不等于X2时,则令x1=x2,将解码后的数据包代入编码包,进行降度,对降度后的编码包重复步骤B、步骤C、步骤D的过程,反复更新x1,x2的值,直到x1=x2,译码结束。
2.根据权利要求1所述基于度2和高度编码包的喷泉码解码方法,其特征在于,还包括匹配校正:对步骤C中求解的原始数据包与解码度为2的编码包中假设的值进行匹配校正,获得该分类中的所有正确的原始数据包。
3.根据权利要求1所述基于度2和高度编码包的喷泉码解码方法,其特征在于,在步骤E中,将解码后的数据包代入编码包进行降度的过程为:将获解的原始数据包与其参与的编码包进行异或运算后,求解相关的原始数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110192854.0A CN102237966B (zh) | 2011-07-11 | 2011-07-11 | 基于度2和高度编码包的喷泉码解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110192854.0A CN102237966B (zh) | 2011-07-11 | 2011-07-11 | 基于度2和高度编码包的喷泉码解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102237966A true CN102237966A (zh) | 2011-11-09 |
CN102237966B CN102237966B (zh) | 2014-07-09 |
Family
ID=44888231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110192854.0A Active CN102237966B (zh) | 2011-07-11 | 2011-07-11 | 基于度2和高度编码包的喷泉码解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102237966B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638332A (zh) * | 2012-03-22 | 2012-08-15 | 西安电子科技大学 | 一种改进的lt译码方法 |
US9369920B2 (en) | 2013-06-12 | 2016-06-14 | Qualcomm Incorporated | Degree reduction and degree-constrained combining for relaying a fountain code |
CN107347000A (zh) * | 2017-07-27 | 2017-11-14 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
CN107947804A (zh) * | 2017-12-14 | 2018-04-20 | 厦门理工学院 | 一种lt码的译码方法及其装置 |
CN109933033A (zh) * | 2019-04-23 | 2019-06-25 | 深圳镭霆激光科技有限公司 | Pcb全程追溯的压合工艺段追溯方法 |
CN110535562A (zh) * | 2019-08-22 | 2019-12-03 | 青海师范大学 | 一种过滤式降维译码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252413A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 去除喷泉码生成矩阵中长度为4的小环的方法及其应用 |
CN101814923A (zh) * | 2009-02-20 | 2010-08-25 | 华为技术有限公司 | 一种喷泉码解码方法及装置 |
CN101826940A (zh) * | 2010-04-19 | 2010-09-08 | 中兴通讯股份有限公司 | 一种对喷泉码中预译码集优化的方法和系统 |
-
2011
- 2011-07-11 CN CN201110192854.0A patent/CN102237966B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252413A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 去除喷泉码生成矩阵中长度为4的小环的方法及其应用 |
CN101814923A (zh) * | 2009-02-20 | 2010-08-25 | 华为技术有限公司 | 一种喷泉码解码方法及装置 |
CN101826940A (zh) * | 2010-04-19 | 2010-09-08 | 中兴通讯股份有限公司 | 一种对喷泉码中预译码集优化的方法和系统 |
Non-Patent Citations (2)
Title |
---|
JIAO JIAN, ZHANG QINYU, LI HUI: "Design of Concatenated Fountain Code in Deep Space Communication", 《WIRELESS COMMUNICATIONS,NETWORKING AND MOBILE COMPUTING,2009》, 26 September 2009 (2009-09-26), pages 1 - 5, XP031553077 * |
焦健,张钦宇,李安国: "面向深空通信的喷泉码编码技术", 《宇航学报》, vol. 31, no. 4, 30 April 2010 (2010-04-30), pages 1156 - 1161 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638332A (zh) * | 2012-03-22 | 2012-08-15 | 西安电子科技大学 | 一种改进的lt译码方法 |
US9369920B2 (en) | 2013-06-12 | 2016-06-14 | Qualcomm Incorporated | Degree reduction and degree-constrained combining for relaying a fountain code |
CN107347000A (zh) * | 2017-07-27 | 2017-11-14 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
CN107347000B (zh) * | 2017-07-27 | 2020-05-26 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
CN107947804A (zh) * | 2017-12-14 | 2018-04-20 | 厦门理工学院 | 一种lt码的译码方法及其装置 |
CN109933033A (zh) * | 2019-04-23 | 2019-06-25 | 深圳镭霆激光科技有限公司 | Pcb全程追溯的压合工艺段追溯方法 |
CN109933033B (zh) * | 2019-04-23 | 2022-04-19 | 深圳镭霆激光科技有限公司 | Pcb全程追溯的压合工艺段追溯方法 |
CN110535562A (zh) * | 2019-08-22 | 2019-12-03 | 青海师范大学 | 一种过滤式降维译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102237966B (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102237966B (zh) | 基于度2和高度编码包的喷泉码解码方法 | |
US10003356B2 (en) | Devices and methods of source-encoding and decoding of data | |
WO2014021837A1 (en) | Entropy coding and decoding using polar codes | |
EP3193472A1 (en) | Data packet processing method and device | |
Halloush et al. | Network coding with multi-generation mixing: A generalized framework for practical network coding | |
US10425192B2 (en) | Loss-resilient protocols for communication networks | |
CN109525368A (zh) | 基于线性网络编码的混合传输方法、电子设备和存储介质 | |
US9116827B2 (en) | System and method for optimizing luby transform (LT) codes to facilitate data transmission over communication network | |
CN102255690A (zh) | 基于度2和度3编码包的喷泉码解码方法 | |
CN109361492B (zh) | 一种联合物理层网络编码和极化码的高性能译码方法 | |
US20170085275A1 (en) | Path compression of a network graph | |
CN115811381B (zh) | 网络通信方法、网络通信装置、电子设备及存储介质 | |
CN102130690A (zh) | 一种喷泉码编码方法及装置 | |
CN102638332A (zh) | 一种改进的lt译码方法 | |
US10404288B2 (en) | Packet decoding device, packet decoding method, and storage medium in which program is stored | |
Yan et al. | Rank deficient decoding of linear network coding | |
US20160135085A1 (en) | Compression Method Featuring Dynamic Coding for Wireless Communication in Wireless Networks | |
WO2021213219A1 (zh) | 编码、译码方法、装置及设备 | |
US20110093483A1 (en) | Method and apparatus for data exchange in a distributed system | |
US9059832B2 (en) | Rank deficient decoding of linear network coding | |
CN104184545A (zh) | 一种传输数据的方法及解码端、编码端 | |
US10437854B2 (en) | Method for reconciling similar data sets | |
US20190020743A1 (en) | Data transmitting apparatus, data receiving apparatus and method thereof | |
EP2485420A1 (en) | Data transmitting apparatus, data generating program and data transmitting/receiving method | |
WO2024065119A1 (zh) | 非有限域下的译码方法及通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |