一种基于复杂网络的文件传输编码方法
【专利摘要】一种基于复杂网络的文件传输编码方法,涉及无线网络数据的可靠性传输领域。过程为:统计待传输文件大小,对待传输的文件进行分组;选定一个度分布;在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;本发明建立了LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。
【专利说明】一种基于复杂网络的文件传输编码方法
【技术领域】
[0001]本发明涉及无线网络数据的可靠性传输领域,特别涉及一种采用基于复杂网络的短环检测和规避算法的LT码编码方案进行传输文件的方法。
【背景技术】
[0002]Luby Transform码(简称LT码)是由Luby在2002年提出的一类具有无码率特性的数字喷泉码。它的编译码性能直接取决于其编码符号的度分布。理想孤子分布在理论上能够实现最优的LT码编译码性能,即恢复K个输入符号需要的编码符号数为K。然而,由于基于理想孤子分布的LT码并不能保证在整个译码过程中预处理集的元素个数始终为1,预处理集微小的波动造成整个译码过程失败。为了解决上述问题,Luby进一步提出了基于稳健孤子分布的LT码,它使得在整个译码过程中,预处理中元素个数稳定在一个大于I的范围内。基于稳健孤子分布的LT码的性能优于基于理想孤子分布的LT码的性能,成为目前LT码的一个标准设计方法。现有的LT码编码方案大都是以基于稳健孤子分布的LT码为基础所作的改进,如基于次优度分布的LT码、多目标优化LT码、采用混沌理论设计的LT码等。2012年,赵等利用无标度网络的最短平均路径长度特性,提出了一类具有无标度特性的LT码,使得LT码的编译码效率和译码成功概率都有了较大的改善。并以此为基础,结合理想孤子分布在度释放概率方面的优势,提出了一类具有稳健无标度特性的LT码,进一步改进了 LT码的编译码性能。
[0003]最近几年的研究发现短环的出现对LT码的编(译)码性能具有一定的影响。对于编码过程来说,编码符号期望得到更多输入符号传递的信息,然而,短环的存在使得输入符号的信息重复传递给编码符号,造成编码符号的浪费。Zhang等在2008年在《Little Cycleelimination of Fountain codes using Distilling Correlative Columns)) 一文中提出采用抽取相关列方法规避LT码中的短环结构,Zhou等在《A cycle elimination algorithmfor construction of LT codes)) 一文将PEG算法用于LT码的短环检测及规避算法中,使得数据在理想信道中得到了更好的译码成功概率。
[0004]上述两种方法均只针对Tanner图中出现的四环结构提出的,并没有考虑大于等于六环的短环结构对LT码的影响。另外,由于LT码的编码符号是按需生成的,当信道条件较差时,度的随机生成将不可避免的产生四环和六环结构,此时,这两种方案改变了原始编码符号的度分布。造成译码相同数量的输入符号需要传输更多的编码符号,占用更多的信道带宽。因此,LT码的最大化短环问题仍然是一个亟待解决的问题。
【发明内容】
[0005]针对现有技术存在的不足,本发明的目的是提供一种基于复杂网络的文件传输编码方法,在检测过程中规避LT码的四环和六环结构,以克服LT码的最大化短环的问题。
[0006]本发明的技术方案是这样实现的:一种基于复杂网络的文件传输编码方法,包括以下步骤:[0007]步骤1:统计待传输文件大小,对待传输的文件进行分组;
[0008]所述的分组过程为:将待传输文件按比特顺序平均分成k组,其中,k为正整数,且k>103,若最后一个分组内的数据量少于平均数据量,则将该分组内的剩余比特位补零;
[0009]步骤2:根据k值来选定一个度分布;
[0010]步骤3:在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;
[0011]步骤3.1:生成第一个编码符号;
[0012]步骤3.1.1:由步骤2选择的度分布随机生成一个值d,在原输出文件中随机选择d个不同的分组,其中,d为自然数;
[0013]步骤3.1.2:这d个不同的分组进行异或运算,形成一个新的分组,该分组就为生成的第一个编码符号;
[0014]步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构;
[0015]步骤3.1.4:把这个编码符号放在信道中传输;
[0016]步骤3.2:生成下一个编码符号;
[0017]步骤3.2.1:根据步骤2的度分布,由该度分布随机生成另一个正整数d',随机从原文件的k个分组中选择一个分组,该分组为生成下一个编码符号选择的第一个已选过的原文件的分组,也是生成下一个编码符号的第一个可选分组。在网络结构中加入一个新节点。若选择的原文件的一个分组是生成其它某个或某些已存在编码符号的一个分组,那么,这个新节点与上述某个或某些已存在的编码符号在网络结构中对应的节点之间有连边,且边的权值为选择的原文件的一个分组在所有k个原文件的分组中的序号;若(^ =1,则执行步骤3.2.2 ;否则执行步骤3.2.3 ;
[0018]步骤3.2.2:步骤3.2.1选择的一个原文件的分组与其等长的全零比特序列进行异或,形成一个新的分组,该分组为生成的下一个编码符号,将这个编码符号放在信道中传输,到步骤3.3继续执行;
[0019]步骤3.2.3:在原文件的所有分组中除为生成下一个编码符号已选过的分组外,剩下的分组中选择原文件的另一个分组,该分组为生成下一个编码符号的另一个已选过的分组;
[0020]步骤3.2.4:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看步骤3.2.1中的新节点是否与这些对应的节点存在连边。若不存在连边,表明选择的另一个分组不会造成LT码的四环结构,则从步骤3.2.5继续执行;若存在连边,则表明该另一个分组将造成LT码的四环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在为生成下一个编码符号未被选过的原文件的分组,则回到步骤3.2.3继续执行,否则到步骤3.2.9继续执行;
[0021]步骤3.2.5:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看在网络结构中与新节点存在连边的节点是否与另一分组参与生成的已存在编码符号在网络结构中对应的节点存在连边。若不存在连边或者存在连边并且边的权值等于另一个分组在原文件的所有分组中的序号,那么表明另一个分组不会造成LT码的六环结构,该另一分组为生成下一个编码符号的可选分组,到步骤3.2.6继续执行;若存在连边,并且连边的权值不等于另一个分组在原文件的分组中的序号,则表明存在六环结构,即该另一分组将造成LT码的六环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在未被选过的原文件的分组,则回到步骤3.2.3继续执行;否则,从步骤3.2.9继续执行;
[0022]步骤3.2.6 ;找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,在网络结构中添加这些对应的节点与新节点的连边,边的权值为另一个分组在原文件的所有分组中的序号;
[0023]步骤3.2.7:如果可选分组数目等于d'从步骤3.2.8继续执行,如果可选分组数目少于d'个,则从步骤3.2.9继续执行;
[0024]步骤3.2.8:这d'个分组进行异或得到一个新的分组,这个新的分组为下一个编码符号。将该编码符号放在信道中进行传输;执行步骤3.3 ;
[0025]步骤3.2.9:如果仍然存在未被选过的原文件的分组,则重复步骤3.2.3 ;若没有未被选过的分组,那么从可选分组以外任意选择原文件的分组,直到被选择的分组数为d'为止。这d'个分组进行异或生成一个新的分组,即下一个编码符号,并将该编码符号放在信道中进行传输;
[0026]步骤3.3:重复执行步骤3.2的过程,生成其余的编码符号,直到发送端接收到接收端返回给的文件已经正确恢复的反馈信息为止。
[0027]本发明的有益效果:本发明建立了 LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。
【专利附图】
【附图说明】
[0028]图1为本发明实施方式将比特数为N=k.L的文件平均划分成k个分组示意图;
[0029]图2为本发明实施方式将比特数为N=k *L_ δ ( δ <L)的文件划分成k个分组示意图;
[0030]图3为本发明实施方式随机产生度值d的示意图;
[0031]图4为本发明实施方式在原文件中选择d=3个不同的分组示意图;
[0032]图5为本发明实施方式只有一个节点的网络G示意图;
[0033]图6为本发明实施方式生成第2个编码符号后的网络结构示意图;
[0034]图7为本发明实施方式若选择生成第3个编码符号的一个分组为S2,造成四环结构的网络结构示意图;
[0035]图8为本发明实施方式选择生成第4个编码符号的一个分组为S4,造成六环结构的网络结构示意图;
[0036]图9为本发明实施方式生成第5个编码符号后构成的网络结构示意图;
[0037]图10为本发明实施方式基于复杂网络的文件传输编码方法流程图;
[0038]图11为本发明实施方式第一个编码生成过程流程图;
[0039]图12为本发明实施方案构成的LT码与传统LT码在译码成功概率方面的比较曲线,其中分组数为IO4
【具体实施方式】
[0040]
[0041]如下:
[0042]
[0043]
下面结合附图对本发明实施方式作进一步详细的说明。
本实施方式中采用的基于复杂网络的文件传输编码方法,如图10所示。具体步骤
步骤1:统计待传输文件大小,对待传输的文件进行分组。
若待传输的数据为文件,则先要统计文件大小,在本实施方式中采用C语言的fopenO函数打开文件,采用fseek()函数将指针定位到文件的位置,用ftell()函数通过识别最后字节的位置获得文件的大小。若待传输的数据为比特流,则直接对待传输比特流进行分组即可。所述的分组过程为:将待传输文件按比特顺序平均分成K组,其中,K为正整数,且K>103。假设待传输文件可转化为2ΚΒ的比特流,可采用上述方法将该比特流分成Κ=2000组,其中每个分组包含L=8个比特。如图1所示,其中
第一个分组:共有8bits,内容为01011000 ;第二个分组:共有8bits,内容为10110011 ;
[0044]
[0045]
[0046]......[0047]第K=2000 个分组:共有 8bits,内容为 11100101。
[0048]在本实施方式中,2KB(16000bit)的文件正好可以被分成2000个8bit的分组。然而对于某些文件,并不能将其正好划分为多个分组,即,划分后的最后一个分组的数据量小于分组平均数据量。此时,需要在最后一个分组的末尾补零,使得最后一个分组包含的比特数等于每个分组的平均比特数。例如:假设对一个15994bit的文件进行分组,仍然将比特流分成2000组,每组包含L=S比特数据,那么最后一个分组将不足8位,我们需要在其后补
O。如图2所示,其中
[0049]第一个分组:共有8bits,内容为01011000 ;
[0050]第二个分组:共有8bits,内容为10110011 ;
[0051]......[0052]第K=2000个分组:共有8bits,内容为11000000。其中最后6bit为填充位。
[0053]经过上述过程我们可以将一个2KB的文件划分为2000组。
[0054]步骤2:根据分组数K的值来选定一个度分布;
[0055]所述的度分布可以采用稳健的孤子分布、也可采用无标度分布和稳健的无标度分布等现有的常见LT码的编码符号的度分布,用户可以根据自己的需要自行选择分布函数。本实施方式中以稳健的孤子分μ (d)布为例,说明度分布的确定过程如下:
[0056]
[0057]
[0058]
[0059]
【权利要求】
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个原文件的分组中的序号;若(1, =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继续执行,如果可选分组数目少于(T个,则从步骤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,若最后一个分组内的数据量少于平均数据量,则`将该分组内的剩余比特位补零。
【文档编号】H04L29/08GK103532674SQ201310507723
【公开日】2014年1月22日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】赵玉丽, 于海, 朱志良, 周福才 申请人:东北大学