CN106788886A - 一种lt码编解码方法 - Google Patents
一种lt码编解码方法 Download PDFInfo
- Publication number
- CN106788886A CN106788886A CN201611127429.2A CN201611127429A CN106788886A CN 106788886 A CN106788886 A CN 106788886A CN 201611127429 A CN201611127429 A CN 201611127429A CN 106788886 A CN106788886 A CN 106788886A
- Authority
- CN
- China
- Prior art keywords
- symbol
- output symbol
- incoming
- output
- yards
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
Abstract
本发明涉及一种LT码编解码方法,包括:步骤S1:将文件均分为K个输入符号;步骤S2:进行LT编码;还包括:步骤S3:接收一定数量的输出符号;步骤S4:根据输出符号和输入符号间的对应关系建立双向图;步骤S5:判断是否存在度数为1的输出符号,若为是,则还原与之相连的唯一的输入符号的值并执行步骤S7,若为否,则执行步骤S6;步骤S6:将已经还原的输入符号保存为输出符号,继续接收少量的输出符号返回步骤S4;步骤S7:将已经还原的输入符号模二和到与其相连的所有其他输出符号中,并将双向图中对应的边删除;步骤S8:判断是否所有的输入符号已还原,若为是,则解码结束,若为否,则返回步骤S5。与现有技术相比,本发明具有提高工作效率等优点。
Description
技术领域
本发明涉及通信编解码技术,尤其是涉及一种LT码编解码方法。
背景技术
随着科学技术的发展,通信已在人们的日常生活中发挥越来越重要的作用。小到一个房间中的Wi-Fi,大到遍及全国的3G网络,都需要通信技术的支持。而在不同的应用环境中,又对所采用的通信编码技术有不同的要求。在互联网上经常有点对点传输文件的需求。信息由一个发送方发给一个接收方。这时要求通信算法具有非常高的传输效率和较强的纠错效率。对于产生的少数错误可以通过重传的方式弥补。而在类似电视这样的广播网络中,相同的信息由一个发送方发给许许多多个接收方。在这样的情景下使用的通信算法需要有非常强的自我纠错能力。否则若每个接收端都将自己遇到的错误向发送端反馈然后重发,这样将对通信资源造成极大的浪费。综上所述,在不同的网络环境下,需要采用不同的通信编码技使实际系统的工作效率更高。
喷泉码是20世纪初提出的一种编码概念。相较于传统的编码技术,它有着反馈少,效率高,网络环境适应性强等特点。这些特点使得喷泉码在广播,高延迟网络等领域有着传统编码技术无法比拟的优势。而LT码作为首个具有实用意义(编解码时间复杂度较低)的喷泉码算法,已经被应用于广播网络,深空通信等许多领域,并取得了非常好的效果。
现有的LT码编解码方法如下:
在数据传输时,将长为N的文件分割成k=N/l个数据包(即每个数据包的长为l),并称每个数据包为输入符号,称每个编码包为输出符号。
编码算法(如图1所示):
在1~k范围内按某一分布Ω(称为编码度分布)随机选取一个整数d,其中k称为该码的码长,d称为输出符号的度;
在输入符号中均匀地随机且不重复地选取d个,将这d个输入符号相异或得到一个输出符号。
传输时,将每个输出符号和随机选取出的d个输入符号的序号一并发送给接收端。
解码算法:
1、接收一定数量的输出符号,根据输出符号和输入符号间的对应关系建立双向图,顶层实心节点代表输入符号,底层空心节点代表编输出符号,连接它们的边代表该输出符号是该输入符号的模二和分量(图2为一个简单的示例)。
2、任意选取一个度数为1的输出符号。如果不存在,则解码停止;如果存在,则通过简单的复制运算,即可恢复与之相连的唯一输入符号。
3、将已经恢复的输入符号模二和到与其相连的所有其他输出符号中,相应地,将双向图中对应的边删除,使得这些编码分组的度数减1。
4、重复步骤2、3直到所有输入符号都被恢复。
很明显,解码过程若一次解码失败,则第二次解码需要在接收到更多传输符号后重新开始。这中间有非常多重复的运算,极大影响了系统的工作效率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种LT码编解码方法。
本发明的目的可以通过以下技术方案来实现:
一种LT码编解码方法,包括:
步骤S1:将长为N的文件均分为K个输入符号;
步骤S2:选取设定的编码度分布函数对所述K个输入符号进行LT编码得到多个输出符号,并对外发送;
还包括:
步骤S3:接收第一设定数量的输出符号;
步骤S4:根据输出符号和输入符号间的对应关系建立双向图;
步骤S5:判断是否存在度数为1的输出符号,若为是,则还原与之相连的唯一的输入符号的值为该输出符号的值,并执行步骤S7,若为否,则执行步骤S6;
步骤S6:将所有已经还原的输入符号保存为仅与该输入符号相连的输出符号,继续接收第二设定数量的输出符号并返回步骤S4;
步骤S7:将已经还原的输入符号模二和到与其相连的所有其他输出符号中,并将双向图中对应的边删除,使这些输出符号的度数减1;
步骤S8:判断是否所有的输入符号已还原,若为是,则解码结束,若为否,则返回步骤S5。
所述第一设定数量具体为一次解码成功概率为50%的所需输出符号的数量。
所述第二设定数量为:
k2=k'-k
其中:k2为第二设定数量,k'为一次解码成功概率为95%的所需输出符号的数量,k为一次解码成功概率为50%的所需输出符号的数量。
所述编码度分布函数具体为:
其中:μ(d)为编码度分布函数,ρ(d)为理想状态下的孤波分布,τ(d)为提高算法鲁棒性的鲁棒分布,s为鲁棒分布的临界点,δ为1与一次解码成功概率的差,c为鲁棒分布在总分布中所占的比例,可当做自由变量。
c取0.1。
与现有技术相比,本发明具有以下优点:
改进后的解码算法即使一次解码失败,也可以将此次解码的一部分结果保存起来,等到继续接收少量的传输符号后,在第一次解码结果的基础上再进行第二次解码,通过以上步骤实现二次解码的可能后,就可以在调整参数时将一次解码的成功率降低,即使一次解码失败,进行二次解码额外接收的输出符号与相应所带来的额外运算量仍小于因Ω平均值下降带来的收益,进而提高运行效率。
附图说明
图1为现有的LT码解码过程的流程示意图;
图2为双向图的简单示意图;
图3为本发明方法解码过程的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种LT码编解码方法,分为编码和解码两个过程,。
其中编码过程大致与现有的方式相同,包括:
步骤S1:将长为N的文件均分为K个输入符号;
步骤S2:选取设定的编码度分布函数对K个输入符号进行LT编码得到多个输出符号,并对外发送;
本申请方案对解码算法做出一些改进,首先使一次解码的成功率降低,改进后的解码算法即使一次解码失败,也可以将此次解码的一部分结果保存起来,等到继续接收少量的传输符号后,在第一次解码结果的基础上再进行第二次解码,这样一来就省去了大量的重复计算。
如图3所示,本申请提供了一种独特的解码算法,即编解码方法还包括:
步骤S3:接收第一设定数量的输出符号;
步骤S4:根据输出符号和输入符号间的对应关系建立双向图;
步骤S5:判断是否存在度数为1的输出符号,若为是,则还原与之相连的唯一的输入符号的值为该输出符号的值,并执行步骤S7,若为否,则执行步骤S6;
步骤S6:将所有已经还原的输入符号保存为仅与该输入符号相连的输出符号,继续接收第二设定数量的输出符号并返回步骤S4;
步骤S7:将已经还原的输入符号模二和到与其相连的所有其他输出符号中,并将双向图中对应的边删除,使这些输出符号的度数减1;
步骤S8:判断是否所有的输入符号已还原,若为是,则解码结束,若为否,则返回步骤S5。
为方便说明,本节的全部数据都以要传输的文件长度K=10000为例,目标为使最后解码的成功率为在95%以上。
编码度分布函数具体为:
其中:μ(d)为编码度分布函数,ρ(d)为理想状态下的孤波分布,τ(d)为提高算法鲁棒性的鲁棒分布,s为鲁棒分布的临界点,δ为1与一次解码成功概率的差,c为鲁棒分布在总分布中所占的比例,可当做自由变量、取0.1。
参量δ亦是接收到指定个确知的输出符号后无法解码的概率的极限。
另外,进行一次解码时需要接收的输出符号数量ki为ki=KZ,令一次解码的成功率为50%,即δ=0.5,然后c取0.1。经过计算可得k=11000。此为进行一次解码需要接收的输出符号数。再令一次解码的成功率为95%,即δ=0.05,然后c取0.1。经过计算可得k'=11600。取二者的差值11600-11000=600为进行二次解码需要继续接收的输出符号数。
即:第一设定数量k1具体为一次解码成功概率为50%的所需输出符号的数量。
第二设定数量为:
k2=k'-k
其中:k2为第二设定数量,k'为一次解码成功概率为95%的所需输出符号的数量,k为一次解码成功概率为50%的所需输出符号的数量。
所有参数确定后,可以得出最后的编码与解码具体步骤如下。
首先按照上文的步骤计算得出编码度分布μ(d)
编码步骤:
(1)在1~10000范围内按分布μ(d)随机选取一个整数d。
(2)在输入符号中均匀地随机且不重复地选取d个,将这d个输入符号相异或得到一个输出符号。
传输时,将每个输出符号和随机选取出的d个输入符号的序号一并发送给接收端。
解码步骤:
(1)接收11000个输出符号。
(2)根据输出符号和输入符号间的对应关系建立双向图。
(3)任意选取一个度数为1的输出符号。如果不存在,则进入步骤(6);如果存在,则通过简单的复制运算,即可恢复与之相连的唯一输入符号。
(4)将已经恢复的输入符号模二和到与其相连的所有其他输出符号中。相应地,将双向图中对应的边删除,使得这些输出符号的度数减1。
(5)重复步骤(3),(4)直到所有输入符号都被恢复。
(6)将所有已经还原的输入符号转换为仅与该输入符号相连的输出符号。然后将这些输出符号和已接收到并处理了一半的输入符号放到一起,并清空已经还原的输入符号。
(7)继续接收600个输出符号,然后进入步骤(2)。
Claims (5)
1.一种LT码编解码方法,包括:
步骤S1:将长为N的文件均分为K个输入符号;
步骤S2:选取设定的编码度分布函数对所述K个输入符号进行LT编码得到多个输出符号,并对外发送;
其特征在于,还包括:
步骤S3:接收第一设定数量的输出符号;
步骤S4:根据输出符号和输入符号间的对应关系建立双向图;
步骤S5:判断是否存在度数为1的输出符号,若为是,则还原与之相连的唯一的输入符号的值为该输出符号的值,并执行步骤S7,若为否,则执行步骤S6;
步骤S6:将所有已经还原的输入符号保存为仅与该输入符号相连的输出符号,继续接收第二设定数量的输出符号并返回步骤S4;
步骤S7:将已经还原的输入符号模二和到与其相连的所有其他输出符号中,并将双向图中对应的边删除,使这些输出符号的度数减1;
步骤S8:判断是否所有的输入符号已还原,若为是,则解码结束,若为否,则返回步骤S5。
2.根据权利要求1所述的一种LT码编解码方法,其特征在于,所述第一设定数量具体为一次解码成功概率为50%的所需输出符号的数量。
3.根据权利要求2所述的一种LT码编解码方法,其特征在于,所述第二设定数量为:
k2=k'-k
其中:k2为第二设定数量,k'为一次解码成功概率为95%的所需输出符号的数量,k为一次解码成功概率为50%的所需输出符号的数量。
4.根据权利要求1-3中任一所述的一种LT码编解码方法,其特征在于,所述编码度分布函数具体为:
其中:μ(d)为编码度分布函数,ρ(d)为理想状态下的孤波分布,τ(d)为提高算法鲁棒性的鲁棒分布,s为鲁棒分布的临界点,δ为1与一次解码成功概率的差,c为鲁棒分布在总分布中所占的比例。
5.根据权利要求2所述的一种LT码编解码方法,其特征在于,c取0.1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127429.2A CN106788886B (zh) | 2016-12-09 | 2016-12-09 | 一种lt码编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127429.2A CN106788886B (zh) | 2016-12-09 | 2016-12-09 | 一种lt码编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106788886A true CN106788886A (zh) | 2017-05-31 |
CN106788886B CN106788886B (zh) | 2019-12-03 |
Family
ID=58882068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611127429.2A Active CN106788886B (zh) | 2016-12-09 | 2016-12-09 | 一种lt码编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106788886B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347000A (zh) * | 2017-07-27 | 2017-11-14 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
CN108055108A (zh) * | 2017-07-17 | 2018-05-18 | 大连大学 | Lt码的编码算法 |
US11722245B2 (en) | 2022-04-26 | 2023-08-08 | Qinghai Normal University | Data encoding and decoding method for underwater acoustic networks (UANs) based on improved online fountain code |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110274202A1 (en) * | 2010-05-07 | 2011-11-10 | Postech Academy Industry Foundation | Apparatus and method for channel coding in a communication system |
CN103944676A (zh) * | 2014-04-10 | 2014-07-23 | 重庆邮电大学 | 一种基于深空通信环境的lt码编译码方法 |
CN104243096A (zh) * | 2014-09-15 | 2014-12-24 | 重庆邮电大学 | 一种基于喷泉码的深空多文件传输方法 |
CN104363074A (zh) * | 2014-11-04 | 2015-02-18 | 大连大学 | 一种基于lt码的扩频通信抗干扰方法 |
CN105846954A (zh) * | 2016-03-17 | 2016-08-10 | 重庆邮电大学 | 增强安全性的lt码编译码方法 |
-
2016
- 2016-12-09 CN CN201611127429.2A patent/CN106788886B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110274202A1 (en) * | 2010-05-07 | 2011-11-10 | Postech Academy Industry Foundation | Apparatus and method for channel coding in a communication system |
CN103944676A (zh) * | 2014-04-10 | 2014-07-23 | 重庆邮电大学 | 一种基于深空通信环境的lt码编译码方法 |
CN104243096A (zh) * | 2014-09-15 | 2014-12-24 | 重庆邮电大学 | 一种基于喷泉码的深空多文件传输方法 |
CN104363074A (zh) * | 2014-11-04 | 2015-02-18 | 大连大学 | 一种基于lt码的扩频通信抗干扰方法 |
CN105846954A (zh) * | 2016-03-17 | 2016-08-10 | 重庆邮电大学 | 增强安全性的lt码编译码方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055108A (zh) * | 2017-07-17 | 2018-05-18 | 大连大学 | Lt码的编码算法 |
CN108055108B (zh) * | 2017-07-17 | 2020-06-16 | 大连大学 | Lt码的编码方法 |
CN107347000A (zh) * | 2017-07-27 | 2017-11-14 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
CN107347000B (zh) * | 2017-07-27 | 2020-05-26 | 哈尔滨工业大学 | 一种基于arm的数字喷泉码的编译码实现方法 |
US11722245B2 (en) | 2022-04-26 | 2023-08-08 | Qinghai Normal University | Data encoding and decoding method for underwater acoustic networks (UANs) based on improved online fountain code |
Also Published As
Publication number | Publication date |
---|---|
CN106788886B (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101359981B (zh) | 一种数据包冗余编解码的方法、装置及系统 | |
CN108649965B (zh) | 编码、译码方法及设备 | |
CN101425871B (zh) | 多元纠错码发射接收装置及数据传输系统以及相关方法 | |
CN106664288A (zh) | 突发丢失的RoHC优化 | |
CN101714915A (zh) | 一种数据重传方法及系统 | |
CN106788886A (zh) | 一种lt码编解码方法 | |
CN102111242B (zh) | 一种降低电力线载波通信中窄带噪声干扰的方法 | |
CN101826935B (zh) | 一种基于低密度校验码的中继协作传输方法 | |
CN105306166B (zh) | 码块的接收处理方法及装置 | |
CN104852788A (zh) | 基于最大-最小网络编码的数据广播arq方法 | |
CN101552661B (zh) | 一种差错控制方法 | |
CN103152652A (zh) | 一种基于柯西rs编码的视频帧数据网络传输方法 | |
WO2018082816A1 (en) | Retransmission technique | |
CN102195743B (zh) | 动态实时喷泉码编码方案 | |
CN102447667B (zh) | 基于网络编码的数据处理方法和系统 | |
CN102244561B (zh) | 用于多址接入中继网络的中继传输方法 | |
CN109474405A (zh) | 多载波系统中的计数方法、装置及系统 | |
EP3338370A1 (en) | Tail-biting convolutional codes with very short information blocks | |
CN104540147B (zh) | 一种协作压缩感知量化转发方法 | |
CN107483154A (zh) | 一种网络层喷泉码与信道联合编码的度分布函数设计方法 | |
WO2013134357A1 (en) | Efficient broadcasting via random linear packet combining | |
CN102386998B (zh) | 一种pucch编解码方法及其装置 | |
CN103346859B (zh) | 分布式不等差错保护lt码的编码译码方法 | |
CN103067130B (zh) | 基于联合行列校验码和rs码的丢包恢复技术的无线通信方法 | |
CN109245850A (zh) | 基于媒体内容的自适应系统码fec编译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |