CN103532674A - 一种基于复杂网络的文件传输编码方法 - Google Patents
一种基于复杂网络的文件传输编码方法 Download PDFInfo
- Publication number
- CN103532674A CN103532674A CN201310507723.6A CN201310507723A CN103532674A CN 103532674 A CN103532674 A CN 103532674A CN 201310507723 A CN201310507723 A CN 201310507723A CN 103532674 A CN103532674 A CN 103532674A
- Authority
- CN
- China
- Prior art keywords
- grouping
- coded identification
- original
- limit
- another
- 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)
- Mobile Radio Communication Systems (AREA)
Abstract
一种基于复杂网络的文件传输编码方法,涉及无线网络数据的可靠性传输领域。过程为:统计待传输文件大小,对待传输的文件进行分组;选定一个度分布;在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;本发明建立了LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。
Description
技术领域
本发明涉及无线网络数据的可靠性传输领域,特别涉及一种采用基于复杂网络的短环检测和规避算法的LT码编码方案进行传输文件的方法。
背景技术
Luby Transform码(简称LT码)是由Luby在2002年提出的一类具有***率特性的数字喷泉码。它的编译码性能直接取决于其编码符号的度分布。理想孤子分布在理论上能够实现最优的LT码编译码性能,即恢复K个输入符号需要的编码符号数为K。然而,由于基于理想孤子分布的LT码并不能保证在整个译码过程中预处理集的元素个数始终为1,预处理集微小的波动造成整个译码过程失败。为了解决上述问题,Luby进一步提出了基于稳健孤子分布的LT码,它使得在整个译码过程中,预处理中元素个数稳定在一个大于1的范围内。基于稳健孤子分布的LT码的性能优于基于理想孤子分布的LT码的性能,成为目前LT码的一个标准设计方法。现有的LT码编码方案大都是以基于稳健孤子分布的LT码为基础所作的改进,如基于次优度分布的LT码、多目标优化LT码、采用混沌理论设计的LT码等。2012年,赵等利用无标度网络的最短平均路径长度特性,提出了一类具有无标度特性的LT码,使得LT码的编译码效率和译码成功概率都有了较大的改善。并以此为基础,结合理想孤子分布在度释放概率方面的优势,提出了一类具有稳健无标度特性的LT码,进一步改进了LT码的编译码性能。
最近几年的研究发现短环的出现对LT码的编(译)码性能具有一定的影响。对于编码过程来说,编码符号期望得到更多输入符号传递的信息,然而,短环的存在使得输入符号的信息重复传递给编码符号,造成编码符号的浪费。Zhang等在2008年在《Little Cycle elimination ofFountain codes using Distilling Correlative Columns》一文中提出采用抽取相关列方法规避LT码中的短环结构,Zhou等在《A cycle elimination algorithm for construction of LT codes》一文将PEG算法用于LT码的短环检测及规避算法中,使得数据在理想信道中得到了更好的译码成功概率。
上述两种方法均只针对Tanner图中出现的四环结构提出的,并没有考虑大于等于六环的短环结构对LT码的影响。另外,由于LT码的编码符号是按需生成的,当信道条件较差时,度的随机生成将不可避免的产生四环和六环结构,此时,这两种方案改变了原始编码符号的度分布。造成译码相同数量的输入符号需要传输更多的编码符号,占用更多的信道带宽。因此,LT码的最大化短环问题仍然是一个亟待解决的问题。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种基于复杂网络的文件传输编码方法,在检测过程中规避LT码的四环和六环结构,以克服LT码的最大化短环的问题。
本发明的技术方案是这样实现的:一种基于复杂网络的文件传输编码方法,包括以下步骤:
步骤1:统计待传输文件大小,对待传输的文件进行分组;
所述的分组过程为:将待传输文件按比特顺序平均分成k组,其中,k为正整数,且k>103,若最后一个分组内的数据量少于平均数据量,则将该分组内的剩余比特位补零;
步骤2:根据k值来选定一个度分布;
步骤3:在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;
步骤3.1:生成第一个编码符号;
步骤3.1.1:由步骤2选择的度分布随机生成一个值d,在原输出文件中随机选择d个不同的分组,其中,d为自然数;
步骤3.1.2:这d个不同的分组进行异或运算,形成一个新的分组,该分组就为生成的第一个编码符号;
步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构;
步骤3.1.4:把这个编码符号放在信道中传输;
步骤3.2:生成下一个编码符号;
步骤3.2.1:根据步骤2的度分布,由该度分布随机生成另一个正整数d′,随机从原文件的k个分组中选择一个分组,该分组为生成下一个编码符号选择的第一个已选过的原文件的分组,也是生成下一个编码符号的第一个可选分组。在网络结构中加入一个新节点。若选择的原文件的一个分组是生成其它某个或某些已存在编码符号的一个分组,那么,这个新节点与上述某个或某些已存在的编码符号在网络结构中对应的节点之间有连边,且边的权值为选择的原文件的一个分组在所有k个原文件的分组中的序号;若d′=1,则执行步骤3.2.2;否则执行步骤3.2.3;
步骤3.2.2:步骤3.2.1选择的一个原文件的分组与其等长的全零比特序列进行异或,形成一个新的分组,该分组为生成的下一个编码符号,将这个编码符号放在信道中传输,到步骤3.3继续执行;
步骤3.2.3:在原文件的所有分组中除为生成下一个编码符号已选过的分组外,剩下的分组中选择原文件的另一个分组,该分组为生成下一个编码符号的另一个已选过的分组;
步骤3.2.4:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看步骤3.2.1中的新节点是否与这些对应的节点存在连边。若不存在连边,表明选择的另一个分组不会造成LT码的四环结构,则从步骤3.2.5继续执行;若存在连边,则表明该另一个分组将造成LT码的四环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在为生成下一个编码符号未被选过的原文件的分组,则回到步骤3.2.3继续执行,否则到步骤3.2.9继续执行;
步骤3.2.5:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看在网络结构中与新节点存在连边的节点是否与另一分组参与生成的已存在编码符号在网络结构中对应的节点存在连边。若不存在连边或者存在连边并且边的权值等于另一个分组在原文件的所有分组中的序号,那么表明另一个分组不会造成LT码的六环结构,该另一分组为生成下一个编码符号的可选分组,到步骤3.2.6继续执行;若存在连边,并且连边的权值不等于另一个分组在原文件的分组中的序号,则表明存在六环结构,即该另一分组将造成LT码的六环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在未被选过的原文件的分组,则回到步骤3.2.3继续执行;否则,从步骤3.2.9继续执行;
步骤3.2.6;找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,在网络结构中添加这些对应的节点与新节点的连边,边的权值为另一个分组在原文件的所有分组中的序号;
步骤3.2.7:如果可选分组数目等于d′从步骤3.2.8继续执行,如果可选分组数目少于d′个,则从步骤3.2.9继续执行;
步骤3.2.8:这d′个分组进行异或得到一个新的分组,这个新的分组为下一个编码符号。将该编码符号放在信道中进行传输;执行步骤3.3;
步骤3.2.9:如果仍然存在未被选过的原文件的分组,则重复步骤3.2.3;若没有未被选过的分组,那么从可选分组以外任意选择原文件的分组,直到被选择的分组数为d′为止。这d′个分组进行异或生成一个新的分组,即下一个编码符号,并将该编码符号放在信道中进行传输;
步骤3.3:重复执行步骤3.2的过程,生成其余的编码符号,直到发送端接收到接收端返回给的文件已经正确恢复的反馈信息为止。
本发明的有益效果:本发明建立了LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。
附图说明
图1为本发明实施方式将比特数为N=k·L的文件平均划分成k个分组示意图;
图2为本发明实施方式将比特数为N=k·L-δ(δ<L)的文件划分成k个分组示意图;
图3为本发明实施方式随机产生度值d的示意图;
图4为本发明实施方式在原文件中选择d=3个不同的分组示意图;
图5为本发明实施方式只有一个节点的网络G示意图;
图6为本发明实施方式生成第2个编码符号后的网络结构示意图;
图7为本发明实施方式若选择生成第3个编码符号的一个分组为S2,造成四环结构的网络结构示意图;
图8为本发明实施方式选择生成第4个编码符号的一个分组为S4,造成六环结构的网络结构示意图;
图9为本发明实施方式生成第5个编码符号后构成的网络结构示意图;
图10为本发明实施方式基于复杂网络的文件传输编码方法流程图;
图11为本发明实施方式第一个编码生成过程流程图;
图12为本发明实施方案构成的LT码与传统LT码在译码成功概率方面的比较曲线,其中分组数为104。
具体实施方式
下面结合附图对本发明实施方式作进一步详细的说明。
本实施方式中采用的基于复杂网络的文件传输编码方法,如图10所示。具体步骤如下:
步骤1:统计待传输文件大小,对待传输的文件进行分组。
若待传输的数据为文件,则先要统计文件大小,在本实施方式中采用C语言的fopen()函数打开文件,采用fseek()函数将指针定位到文件的位置,用ftell()函数通过识别最后字节的位置获得文件的大小。若待传输的数据为比特流,则直接对待传输比特流进行分组即可。所述的分组过程为:将待传输文件按比特顺序平均分成K组,其中,K为正整数,且K>103。假设待传输文件可转化为2KB的比特流,可采用上述方法将该比特流分成K=2000组,其中每个分组包含L=8个比特。如图1所示,其中
第一个分组:共有8bits,内容为01011000;
第二个分组:共有8bits,内容为10110011;
……
第K=2000个分组:共有8bits,内容为11100101。
在本实施方式中,2KB(16000bit)的文件正好可以被分成2000个8bit的分组。然而对于某些文件,并不能将其正好划分为多个分组,即,划分后的最后一个分组的数据量小于分组平均数据量。此时,需要在最后一个分组的末尾补零,使得最后一个分组包含的比特数等于每个分组的平均比特数。例如:假设对一个15994bit的文件进行分组,仍然将比特流分成2000组,每组包含L=8比特数据,那么最后一个分组将不足8位,我们需要在其后补0。如图2所示,其中
第一个分组:共有8bits,内容为01011000;
第二个分组:共有8bits,内容为10110011;
……
第K=2000个分组:共有8bits,内容为11000000。其中最后6bit为填充位。
经过上述过程我们可以将一个2KB的文件划分为2000组。
步骤2:根据分组数K的值来选定一个度分布;
所述的度分布可以采用稳健的孤子分布、也可采用无标度分布和稳健的无标度分布等现有的常见LT码的编码符号的度分布,用户可以根据自己的需要自行选择分布函数。本实施方式中以稳健的孤子分μ(d)布为例,说明度分布的确定过程如下:
μ(d)的定义如下,
其中
且
式中,S为译码过程的每一步中期望的剩余的度为1的编码符号数:
式中,β∈(0,1)是一个自由变量,δ表示接收端收到K个编码符号时,可容忍的译码出错概率。
对于所有的K值,稳健的孤子分布需要满足如下公式:
研究发现当稳健孤子分布的参数β=0.1,δ=1.0时,基于稳健孤子分布的LT码具有较好的性能。将β=0.1,δ=1.0,K=10000代入公式(2),可得S=92.10。进而可得K=10000时,编码符号的度分布。
同理,可以采用相似的方法,求得无标度分布和稳健的无标度分布中的参数,确定给定K值的LT码的度分布。
以本实施方式中2KB文件分成的K=2000个分组为例,将β=0.1,δ=1.0,K=2000代入公式(2)得到S的值为33.99。把S、δ的值代入公式(1)就可得到分组个数为2000的基于稳健孤子分度的度分布。
步骤3:在待输出大小为2KB的原文件的2000个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;原文件的2000个分组被称为输入符号。本实施过程为了描述简单,只选择了2000个输入符号中的5个输入符号为例介绍其部分编码符号的生成过程。这5组输入符号分别记为S1,S2,S3,S4,S5,其中S1=01011000,S2=10110011,S3=11100101,S4=01011000,S5=10110010。
步骤3.1:生成第一个编码符号,如图11所示。
步骤3.1.1:在本实施方式中,根据步骤2选择的度分布随机生成一个值d1,拟作为第一个编码符号的度。在从S1,S2,S3,S4,S5这5组输入符号中选择d1组用来生成第一个编码符号。值d1的选择过程如下:
根据步骤2选择的度分布,式(1)中的变量d分别取1,…,K不同值可得度为1,…,K编码符号所占的概率。因为本实施方案中以2000组中的5组的编码过程进行示例,因此,此处我们假设K=5,并且限定d取[1,5]之间的整数。首先,将0-1.0范围根据这个概率划分为5段;然后用C语言中的rand()函数产生一个随机数,判断该随机数在0-1.0这5个分段的第几个分段,在第几个分段,那么步骤3.1.1所选的第一个编码符号的度值就为几。如图3所示,假设度为1的概率为0.1,度为2的概率0.4,度为3的概率为0.3,度为4的概率为0.15,度为5的概率为0.05。应用累积分布,若随机数的大小介于0~0.1之间,则选择的度值为1;若随机数的大小介于2~0.5之间,则选择的度值为2;以此类推。
此时,假设产生一个值为0.51的随机数,如图3所示,可知0.51大于0.5,小于0.8,即落在第三个分段内,因此,拟将第一个编码符号的度d1赋值为2。
在原文件的5个分组中随机选择3个不同的分组,选择原文件的任一分组的概率相同,在本实施方式中,该概率为1/5。
本实施方式中采用C语言中的rand()函数产生2个随机数,分别为0.29,0.17。它们落在如图4所示的第2个分段和第1个分段内,因此,通过本步骤选择的2个用来生成第一个编码符号的原文件的分组分别为第1个分组和第2个分组。
步骤3.1.2:本实施方式中的第一个分组记为C1,C1的值等于步骤3.1.1选出的2个不同的原文件分组的异或。即,C1=S1⊕S2=11101011;
步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构G,如图5所示。在本实施方式中,是指以编码符号C1对应的节点V0生成网络结构G,该步骤主要是为了对G进行初始化,涉及的内容主要包括采用C语言中的malloc()函数初始化G的节点和边。
步骤3.1.4:把编码符号C1放在信道中传输;
步骤3.2:在本实施方式中,生成第2个编码符号;
步骤3.2.1:根据步骤2的度分布,由该度分布随机第二个编码符号的度d2=1,随机从S1,S2,S3,S4,S5这5个分组中选择1个分组,假设该被选分组为S1。在网络结构G中加入一个新的节点V1,因为S1是生成C1的一个分组,那么,C2和C1在G上对应的节点V1,V0间存在连边,并且边的权重为S1,如图6所示。
由于第2个编码符号的度值为1,且所选的唯一分组为S1,因此,由步骤3.2生成第二个编码符号C2=S1=01011000。并将C2放在信道中进行传输。
步骤3.3:在本实施方式中,生成第3个编码符号;
步骤3.3.1:根据步骤2的度分布随机选择第3个编码符号的度,假设其值为d3=3,此时我们需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的3个分组。其过程如下:
随机从S1,S2,S3,S4,S5这5个分组中选择生成第3个编码符号的第1个分组,假设该被选分组为S1。在网络结构G中加入一个新的节点V2,由于S1是生成C1和C2的一个原文件的分组,那么在G中增加一条连接节点V2和节点V0的权值为S1的连边,以及一条连接节点V2与节点V1的权值为S1的连边。
随机从S2,S3,S4,S5这4个原文件的分组中选择一个分组作为生成第3个编码符号的第2个已选分组,假设其为S2。S2参与生成了编码符号C1,同时新节点V2已与C1对应的节点V0存在权值为S1的连边,如图7所示。因因,此处选择S2将会造成四环结构,它不是一个可选分组。
随机从余下的分组S3,S4,S5这3个分组中选择一个分组S3,由于其不构成四环和六环结构,所以S3可以作为生成第3个编码符号的一个可选分组。再从余下的分组S4,S5中随机选择一个分组,假设为S4,同时发现若将S4放在复杂网络结构中也不构成四环或六环结构,因此S4也可作为生成第3个编码符号的一个可选分组。
因此,第3个编码符号C3可有S1,S3,S4这三个编码符号异或而得,即C3=S1⊕S3⊕S4=01100101,将编码符号C3放在信道中进行传输。
步骤3.4:在本实施方式中,生成第4个编码符号C4;
步骤3.4.1:根据步骤2的度分布随机选择第4个编码符号的度,假设其值d4=2,此时我们需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的2个分组。过程如下:
随机从S1,S2,S3,S4,S5这5个分组中选择生成第4个编码符号的第1个分组,假设该被选分组为S2。在网络结构G中加入一个新的节点V3,由于S2是生成编码符号C1的一个原文件的分组,因此,在G中添加一条连接节点V3和节点V0的权值为S2的连边。
随机从余下的4个分组S1,S3,S4,S5中选择一个分组S4作为生成第4个编码符号的第2个已选分组。由于在网络结构G中,新节点V3相连的节点V0,与分组S4参与生成的已存在编码符号C3对应的节点V2间存在连边,且连边的权值为S1≠S4,如图8所示。所以,此处选择S4会造成六环结构,即,S4不是生成C4的一个可选分组。
随机从余下的3个分组S1,S3,S5中选择一个分组,假设被选分组为S5,即,S5作为生成第4个编码符号的下一个已选分组。由于S5不会构成四环结构和六环结构,因此,S5是生成编码符号C4的另一个可选分组。
通过步骤3.4,在本实施方式中生成第4个编码符号C4=S2⊕S5=00000001。把编码符号C4放入信道进行传输。
步骤3.5:在本实施方式中,生成第5个编码符号C5;
根据步骤2的度分布随机选择第5个编码符号的度,假设其值d5=2,此时需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的2个分组。过程如下:
随机从S1,S2,S3,S4,S5这5个分组中选择一个分组作为生成第5个编码符号的一个可选分组,假设该分组为S3。在G中加入一个新的节点V4,由于S3参与生成了编码符号C3,因此,在G中加入一条连接节点V2和V4的权值为S3的边。
随机从余下的4个分组S1,S2,S4,S5这4个分组中选择1个分组,假设为S2。由于G中与新节点V4存在连边的节点V2与S2参与生成的编码符号C1在G中对应的节点V0存在连边,且边的权值为S1≠S2,因此,若此处将S2作为可选分组将造成六环结构。
随机从余下的3个分组S1,S4,S5这3个分组中选择1个分组,假设为S1,作为已选分组。由于S1参与生成的编码符号C3在G中对应的节点V2已与新节点V4存在权值为S3的连边,因此,S1作为可选分组将造成四环结构。
随机从余下的2个分组S4,S5中选择1个分组,作为生成编码符号C5的下一个已选分组,假设为S4。由于S4参与生成的编码符号C3在G中对应的节点V2已与新节点V4存在权值为S3的连边,因此,若S4作为可选分组将造成四环结构。
随机从余下的1个分组S5中选择1个分组,该分组为S5,若此处选择S5即不会造成四环结构也不会造成六环结构,所以,S5是生成编码符号C5的一个可选分组。由于S5参与生成了编码符号C4,所以,在G中加入一条连接节点V3和V4的权值为S5的连边。如图9所示。
通过步骤3.5,在本实施方式中生成第5个编码符号C5=S3⊕S5=01010111,把C5放在信道中传输。
步骤3.6:在本实施方式中,生成第6个编码符号C6;
根据步骤2的度分布随机选择第6个编码符号的度,假设其值d6=3。此时需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的3个分组。过程如下:
随机从S1,S2,S3,S4,S5这5个分组中选择一个分组作为生成第6个编码符号的1个可选分组,假设该分组为S2。在G中加入一个新的节点V5,由于S2参与生成了编码符号C1和C4,因此,在G中加入连接V5,V0的权值为S2的连边和连接V5,V3的权值为S2的连边。
随机从S1,S3,S4,S5这4个分组中选择1个分组作为生成第6个编码符号的第2个已选分组,假设该分组为S1。由于在网络结构G中,S1参与生成的编码符号C1在G中对应的节点V0已与新节点V5存在权值为S2的连边,因此,若此处选择S1将会造成四环结构。
随机从剩下的3个分组S3,S4,S5中选择1个分组作为生成C6的第3个已选分组,假设该分组为S3。由于G中与新节点V5存在连边的节点V0与S3参与生成的编码符号C3在G中对应的节点V2间存在连边且连边的权值为S1≠S3,因此,此处S3不是一个可选分组。
随机从剩下的2个分组S4,S5中选择一个分组作为生成C6的第4个已选分组,假设为S4。由于G中与新节点V5存在连边的节点V0与S4参与生成的编码符号C3在G中对应的节点V2间存在连边且连边的权值为S1≠S4,因此,若此处S4作为可选分组将构成六环结构。
分析最后一个分组S5,由于S5参与生成的编码符号C4在G中对应的节点V3已与新节点V5存在权值为S2的连边,因此,S5作为可选分组将造成四环结构。
综上可知,若生成第6个编码符号所选的第一个分组为S2,那么无论选择S1,S3,S4还是S5都会造成短环结构。此时,从除S2外的S1,S3,S4,S5这4个分组随机选择2个分组,假设为S1,S4,作为生成编码符号C6的另外两个可选分组。
通过步骤3.6得到第6个编码符号C6=S2⊕S1⊕S4=10110011,将C6放在信道中进行传输。
通过上述过程生成了6个编码符号,它们都是由原文件中的5个分组生成的。在本实施方式中,对于包含2000个分组的原文件,也可以采用相同的方法,生成编码符号序列。在接收端根据编码符号的值以及编码符号与原文件的多个分组的关系,将原文件恢复出来。
本发明可以直接应用于视频、图像等大数据量数据在无线信道中的可靠传输,为了便于验证所述方法的可行性及优势,此处仅从译码成功概率角度与传统LT码的编码方案进行对比分析。
本发明以1000组输入符号数目为104,分组长度为1比特的具有稳健无标度特性的LT码和基于稳健孤子分布的LT码为例对本发明的有效性进行验证,其中参与对比的LT码包括;
(1)RD-SF(cycle-6priority):参数选择P1=0.1,λ=1.9,尽量减少四环和六环结构的具有稳健无标度特性的LT码;
(2)RD-SF(cycle-4priority):参数选择P1=0.1,λ=1.9,尽量减少四环,不考虑六环的具有稳健无标度特性的LT码;
(3)RD-SF(random):参数选择P1=0.1,λ=1.9,不考虑四环和六环的具有稳健无标度特性的LT码;
(4)RSD(cycle-6priority):参数选择c=0.1,δ=1,尽量减少四环和六环结构的基于稳健孤子分布的LT码;
(5)RSD(cycle-4priority):参数选择c=0.1,δ=1,尽量减少四环,不考虑六环的基于稳健孤子分布的LT码;
(6)RSD(random):参数选择c=0.1,δ=1,不考虑四环和六环的基于稳健孤子分布的LT码。
该发明并没有改变编码符号的度分布,因此,生成编码符号需要的平均异或次数与原始编码方案相差不大,但是由于四环和六环出现概率降低,恢复相同输入符号需要的编码符号数将有所降低,使得该方案译码过程的平均异或次数减少。如表1所示为不同编码方案中冗余因子的对比关系,冗余因子越低,表明恢复原始输入符号需要的编码符号数越少,所需的译码延时越低:
表1本实施方案构造的LT码与传统LT码的性能比较
分析表1可知,应用六环优先算法的LT码的平均冗余因子小于应用四环优先算法的LT的平均冗余因子,它们都小于未进行短环优化的LT码的平均冗余因子,因此采用短环规避算法的LT码恢复相同数目的输入符号需要的编码符号数小于未进行短环优化的LT码。
由于每个编码符号的度是独立产生的,而且具有稳健无标度特性的LT码和基于理想孤子分布的LT码只要接收到足够的编码符号就能够保证接收方能够完全译码,与传输数据的信道条件无关,因此,此处仅考虑应用基于复杂网络理论的短环规避算法的LT码在理想信道条件下的译码成功概率。
图12为输入符号个数为104,分别构造1000组上述六种LT码,得到它们的译码成功概率与冗余因子之间的关系。
分析图12可知,冗余因子相同的前提下,应用短环规避算法生成的具有稳健无标度特性的LT码的译码成功概率高于不考虑短环结构的具有稳健无标度特性的LT码和另外三种基于稳健孤子分布的LT码。而应用短环规避算法生成的基于稳健孤子分布的LT码,接收端接收到相同数目的编码符号N=(1+α)K的译码成功概率高于不考虑短环结构的基于稳健孤子分布的LT码。
上述研究表明,应用短环规避算法设计的LT码能够在保证编(译)码效率的前提下,使得译码成功概率得到较大改善。
虽然以上描述了本发明的具体实施方式,但是本领域内的熟练的技术人员应当理解,这些仅是举例说明,可以对这些实施方式做出多种变更或修改,而不背离本发明的原理和实质。本发明的范围仅由所附权利要求书限定。
Claims (2)
1.一种基于复杂网络的文件传输编码方法,其特征在于:包括以下步骤:
步骤1:统计待传输文件大小,对待传输的文件进行分组;
步骤2:根据k值来选定一个度分布;
步骤3:在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;
步骤3.1:生成第一个编码符号;
步骤3.1.1:由步骤2选择的度分布随机生成一个值d,在原输出文件中随机选择d个不同的分组,其中,d为自然数;
步骤3.1.2:这d个不同的分组进行异或运算,形成一个新的分组,该分组就为生成的第一个编码符号;
步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构;
步骤3.1.4:把这个编码符号放在信道中传输;
步骤3.2:生成下一个编码符号;
步骤3.2.1:根据步骤2的度分布,由该度分布随机生成另一个正整数d′,随机从原文件的k个分组中选择一个分组,该分组为生成下一个编码符号选择的第一个已选过的原文件的分组,也是生成下一个编码符号的第一个可选分组。在网络结构中加入一个新节点。若选择的原文件的一个分组是生成其它某个或某些已存在编码符号的一个分组,那么,这个新节点与上述某个或某些已存在的编码符号在网络结构中对应的节点之间有连边,且边的权值为选择的原文件的一个分组在所有k个原文件的分组中的序号;若d′=1,则执行步骤3.2.2;否则执行步骤3.2.3;
步骤3.2.2:步骤3.2.1选择的一个原文件的分组与其等长的全零比特序列进行异或,形成一个新的分组,该分组为生成的下一个编码符号,将这个编码符号放在信道中传输,到步骤3.3继续执行;
步骤3.2.3:在原文件的所有分组中除为生成下一个编码符号已选过的分组外,剩下的分组中选择原文件的另一个分组,该分组为生成下一个编码符号的另一个已选过的分组;
步骤3.2.4:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看步骤3.2.1中的新节点是否与这些对应的节点存在连边。若不存在连边,表明选择的另一个分组不会造成LT码的四环结构,则从步骤3.2.5继续执行;若存在连边,则表明该另一个分组将造成LT码的四环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在为生成下一个编码符号未被选过的原文件的分组,则回到步骤3.2.3继续执行,否则到步骤3.2.9继续执行;
步骤3.2.5:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看在网络结构中与新节点存在连边的节点是否与另一分组参与生成的已存在编码符号在网络结构中对应的节点存在连边。若不存在连边或者存在连边并且边的权值等于另一个分组在原文件的所有分组中的序号,那么表明另一个分组不会造成LT码的六环结构,该另一分组为生成下一个编码符号的可选分组,到步骤3.2.6继续执行;若存在连边,并且连边的权值不等于另一个分组在原文件的分组中的序号,则表明存在六环结构,即该另一分组将造成LT码的六环结构,该另一个分组下是生成下一个编码符号的可选分组。此时,若仍然存在未被选过的原文件的分组,则回到步骤3.2.3继续执行;否则,从步骤3.2.9继续执行;
步骤3.2.6:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,在网络结构中添加这些对应的节点与新节点的连边,边的权值为另一个分组在原文件的所有分组中的序号;
步骤3.2.7:如果可选分组数目等于d′从步骤3.2.8继续执行,如果可选分组数目少于d′个,则从步骤3.2.9继续执行;
步骤3.2.8:这d′个分组进行异或得到一个新的分组,这个新的分组为下一个编码符号。将该编码符号放在信道中进行传输;执行步骤3.3;
步骤3.2.9:如果仍然存在未被选过的原文件的分组,则重复步骤3.2.3;若没有未被选过的分组,那么从可选分组以外任意选择原文件的分组,直到被选择的分组数为d′为止。这d′个分组进行异或生成一个新的分组,即下一个编码符号,并将该编码符号放在信道中进行传输;
步骤3.3:重复执行步骤3.2的过程,生成其余的编码符号,直到发送端接收到接收端返回给的文件已经正确恢复的反馈信息为止。
2.根据权利要求1所述的基于复杂网络的文件传输编码方法,其特征在于:所述的分组过程为:将待传输文件按比特顺序平均分成k组,其中,k为正整数,且k>103,若最后一个分组内的数据量少于平均数据量,则将该分组内的剩余比特位补零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310507723.6A CN103532674B (zh) | 2013-10-23 | 2013-10-23 | 一种基于复杂网络的文件传输编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310507723.6A CN103532674B (zh) | 2013-10-23 | 2013-10-23 | 一种基于复杂网络的文件传输编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103532674A true CN103532674A (zh) | 2014-01-22 |
CN103532674B CN103532674B (zh) | 2016-08-17 |
Family
ID=49934391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310507723.6A Active CN103532674B (zh) | 2013-10-23 | 2013-10-23 | 一种基于复杂网络的文件传输编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103532674B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929275A (zh) * | 2014-04-30 | 2014-07-16 | 电子科技大学 | 具有无标度特性的分布式sf-lt码编码方法 |
CN107612897A (zh) * | 2017-09-07 | 2018-01-19 | 唐冬香 | 一种数据传输方法 |
CN108259930A (zh) * | 2018-01-16 | 2018-07-06 | 深圳市力沃信息科技有限公司 | 一种电子班牌的传输控制方法及*** |
CN108267950A (zh) * | 2018-01-19 | 2018-07-10 | 东北大学 | 简单的分数阶复杂网络外部混合同步方法 |
CN115333673A (zh) * | 2022-07-29 | 2022-11-11 | 南京信息工程大学 | 一种区块链网络中基于ilt的区块编码传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011139122A2 (en) * | 2010-05-07 | 2011-11-10 | Samsung Electronics Co., Ltd. | Apparatus and method for channel coding in a communication system |
CN102324998A (zh) * | 2011-05-11 | 2012-01-18 | 浙江大学 | 适合于加性白高斯噪声信道的中短码长的Raptor Codes编译码方法 |
CN103023937A (zh) * | 2011-09-26 | 2013-04-03 | 北大方正集团有限公司 | 一种网络文件的分发方法及*** |
CN103078707A (zh) * | 2013-01-03 | 2013-05-01 | 北京理工大学 | 一种深空通信中的文件传输方法 |
-
2013
- 2013-10-23 CN CN201310507723.6A patent/CN103532674B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011139122A2 (en) * | 2010-05-07 | 2011-11-10 | Samsung Electronics Co., Ltd. | Apparatus and method for channel coding in a communication system |
CN102324998A (zh) * | 2011-05-11 | 2012-01-18 | 浙江大学 | 适合于加性白高斯噪声信道的中短码长的Raptor Codes编译码方法 |
CN103023937A (zh) * | 2011-09-26 | 2013-04-03 | 北大方正集团有限公司 | 一种网络文件的分发方法及*** |
CN103078707A (zh) * | 2013-01-03 | 2013-05-01 | 北京理工大学 | 一种深空通信中的文件传输方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929275A (zh) * | 2014-04-30 | 2014-07-16 | 电子科技大学 | 具有无标度特性的分布式sf-lt码编码方法 |
CN103929275B (zh) * | 2014-04-30 | 2017-10-03 | 电子科技大学 | 具有无标度特性的分布式sf‑lt码编码方法 |
CN107612897A (zh) * | 2017-09-07 | 2018-01-19 | 唐冬香 | 一种数据传输方法 |
CN108259930A (zh) * | 2018-01-16 | 2018-07-06 | 深圳市力沃信息科技有限公司 | 一种电子班牌的传输控制方法及*** |
CN108259930B (zh) * | 2018-01-16 | 2020-08-14 | 深圳市力沃信息科技有限公司 | 一种电子班牌的传输控制方法及*** |
CN108267950A (zh) * | 2018-01-19 | 2018-07-10 | 东北大学 | 简单的分数阶复杂网络外部混合同步方法 |
CN115333673A (zh) * | 2022-07-29 | 2022-11-11 | 南京信息工程大学 | 一种区块链网络中基于ilt的区块编码传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103532674B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1620760B (zh) | 用于通信***的多级码发生器和解码器 | |
CN101019326B (zh) | 文件下载和流*** | |
CN103023618B (zh) | 一种任意码长的极化编码方法 | |
CN1836394B (zh) | 在移动通信***中编码/解码分块低密度奇偶校验码的装置和方法 | |
CN102164026B (zh) | 基于深空通信环境下的喷泉码编译方法 | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN101425871B (zh) | 多元纠错码发射接收装置及数据传输***以及相关方法 | |
CN103532674A (zh) | 一种基于复杂网络的文件传输编码方法 | |
CN105991227A (zh) | 数据编码方法及装置 | |
CN102770911A (zh) | 用于编码信息对象的方法以及使用该方法的编码器 | |
CN106209302B (zh) | 数据传输处理方法及装置 | |
CN108282265A (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN106059712A (zh) | 一种高误码的任意码率卷积码编码参数盲识别方法 | |
JP2015520990A (ja) | 放送及び通信システムにおけるパケット送受信装置及び方法 | |
CN111447160A (zh) | 基于神经网络的大规模mimo无源随机接入的信号检测方法 | |
CN108494527A (zh) | 一种基于LoRa的数据发送和接收方法 | |
CN107124251A (zh) | 一种基于任意内核的极化码编码方法 | |
CN102938682A (zh) | 用于提供线性擦除码的方法和装置 | |
CN104378122B (zh) | 一种可变长度Turbo码的编译方法 | |
CN103152652A (zh) | 一种基于柯西rs编码的视频帧数据网络传输方法 | |
CN107437976B (zh) | 一种数据处理方法及设备 | |
CN102195743B (zh) | 动态实时喷泉码编码方案 | |
CN101645753B (zh) | 一种无速率码的编译码方法 | |
CN109150397B (zh) | 一种构造极化码序列的方法及装置 | |
CN104219032A (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 |