[go: up one dir, main page]

CN103532674B - The transmission coded method of a kind of file based on complex network - Google Patents

The transmission coded method of a kind of file based on complex network Download PDF

Info

Publication number
CN103532674B
CN103532674B CN201310507723.6A CN201310507723A CN103532674B CN 103532674 B CN103532674 B CN 103532674B CN 201310507723 A CN201310507723 A CN 201310507723A CN 103532674 B CN103532674 B CN 103532674B
Authority
CN
China
Prior art keywords
packet
coded identification
original
node
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.)
Active
Application number
CN201310507723.6A
Other languages
Chinese (zh)
Other versions
CN103532674A (en
Inventor
赵玉丽
于海
朱志良
周福才
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201310507723.6A priority Critical patent/CN103532674B/en
Publication of CN103532674A publication Critical patent/CN103532674A/en
Application granted granted Critical
Publication of CN103532674B publication Critical patent/CN103532674B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种基于复杂网络的文件传输编码方法,涉及无线网络数据的可靠性传输领域。过程为:统计待传输文件大小,对待传输的文件进行分组;选定一个度分布;在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;本发明建立了LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。

The invention discloses a file transmission encoding method based on a complex network, which relates to the field of reliable transmission of wireless network data. The process is: count the size of the files to be transmitted, and group the files to be transmitted; select a degree distribution; generate new groups based on multiple groups of the original files to be output, that is, encoding symbols, so that the original files are encoded in the sequence of symbols The form is transmitted in the network; the present invention establishes the mapping relationship between the short ring structure in the LT code and its corresponding complex network structure, detects and avoids the short ring structure in the LT code encoding process to the greatest extent according to the complex network structure, and improves its translation. Based on the success probability of encoding, an efficient and reliable file transfer encoding scheme based on complex network is constructed. Especially for data transmission in a wireless channel with time-varying characteristics, the invention enables the receiving end to recover the original data after receiving less data, effectively improving the bandwidth utilization rate of the channel and reducing the transmission delay.

Description

一种基于复杂网络的文件传输编码方法A File Transfer Encoding Method Based on Complex Network

技术领域technical field

本发明涉及无线网络数据的可靠性传输领域,特别涉及一种采用基于复杂网络的短环检测和规避算法的LT码编码方案进行传输文件的方法。The invention relates to the field of reliable transmission of wireless network data, in particular to a method for transmitting files by adopting an LT code coding scheme based on a complex network-based short loop detection and avoidance algorithm.

背景技术Background technique

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码的编译码性能。Luby Transform codes (abbreviated as LT codes) are a kind of digital fountain codes proposed by Luby in 2002 with no code rate. Its encoding and decoding performance directly depends on the degree distribution of its encoded symbols. The ideal soliton distribution can theoretically achieve optimal LT code encoding and decoding performance, that is, the number of encoding symbols required to recover K input symbols is K. However, since the LT code based on the ideal soliton distribution cannot guarantee that the number of elements in the preprocessing set is always 1 during the whole decoding process, the slight fluctuation of the preprocessing set causes the failure of the whole decoding process. In order to solve the above problems, Luby further proposed an LT code based on robust soliton distribution, which makes the number of elements in preprocessing stable within a range greater than 1 during the entire decoding process. The performance of LT codes based on robust soliton distribution is better than that of LT codes based on ideal soliton distribution, and has become a standard design method of LT codes. Most of the existing LT code coding schemes are improvements based on LT codes based on robust soliton distribution, such as LT codes based on suboptimal degree distribution, multi-objective optimized LT codes, and LT codes designed using chaos theory. In 2012, using the shortest average path length characteristic of scale-free networks, Zhao et al. proposed a class of LT codes with scale-free characteristics, which greatly improved the encoding and decoding efficiency and decoding success probability of LT codes. And on this basis, combined with the advantages of ideal soliton distribution in degree release probability, a class of LT codes with robust scale-free properties is proposed, which further improves the encoding and decoding performance of LT codes.

最近几年的研究发现短环的出现对LT码的编(译)码性能具有一定的影响。对于编码过程来说,编码符号期望得到更多输入符号传递的信息,然而,短环的存在使得输入符号的信息重复传递给编码符号,造成编码符号的浪费。Zhang等在2008年在《Little Cycleelimination of Fountain codes using Distilling Correlative Columns》一文中提出采用抽取相关列方法规避LT码中的短环结构,Zhou等在《A cycle elimination algorithmfor construction of LT codes》一文将PEG算法用于LT码的短环检测及规避算法中,使得数据在理想信道中得到了更好的译码成功概率。Researches in recent years have found that the appearance of short loops has a certain impact on the encoding (decoding) performance of LT codes. For the encoding process, the encoding symbols expect to obtain more information from the input symbols. However, the existence of short loops makes the information of the input symbols repeatedly transmitted to the encoding symbols, resulting in a waste of encoding symbols. In the article "Little Cycleelimination of Fountain codes using Distilling Correlative Columns" in 2008, Zhang et al proposed to use the method of extracting correlation columns to avoid the short cycle structure in LT codes, Zhou et al. The algorithm is used in the short loop detection and avoidance algorithm of the LT code, so that the data has a better decoding success probability in the ideal channel.

上述两种方法均只针对Tanner图中出现的四环结构提出的,并没有考虑大于等于六环的短环结构对LT码的影响。另外,由于LT码的编码符号是按需生成的,当信道条件较差时,度的随机生成将不可避免的产生四环和六环结构,此时,这两种方案改变了原始编码符号的度分布。造成译码相同数量的输入符号需要传输更多的编码符号,占用更多的信道带宽。因此,LT码的最大化短环问题仍然是一个亟待解决的问题。The above two methods are only proposed for the four-ring structure appearing in the Tanner diagram, and do not consider the influence of the short ring structure greater than or equal to six rings on the LT code. In addition, since the coded symbols of the LT code are generated on demand, when the channel condition is poor, the random generation of degrees will inevitably produce four-ring and six-ring structures. At this time, these two schemes change the original coded symbols degree distribution. As a result, decoding the same number of input symbols requires the transmission of more coded symbols and occupies more channel bandwidth. Therefore, the problem of maximizing the short cycle of LT codes is still an urgent problem to be solved.

发明内容Contents of the invention

针对现有技术存在的不足,本发明的目的是提供一种基于复杂网络的文件传输编码方法,在检测过程中规避LT码的四环和六环结构,以克服LT码的最大化短环的问题。In view of the deficiencies in the prior art, the purpose of the present invention is to provide a file transfer encoding method based on a complex network, which avoids the four-ring and six-ring structures of the LT code in the detection process, so as to overcome the problem of maximizing the short ring of the LT code. question.

本发明的技术方案是这样实现的:一种基于复杂网络的文件传输编码方法,包括以下步骤:The technical scheme of the present invention is achieved in that a kind of file transfer coding method based on complex network comprises the following steps:

步骤1:统计待传输文件大小,对待传输的文件进行分组;Step 1: Count the size of the files to be transferred, and group the files to be transferred;

所述的分组过程为:将待传输文件按比特顺序平均分成k组,其中,k为正整数,且k>103,若最后一个分组内的数据量少于平均数据量,则将该分组内的剩余比特位补零;The grouping process is: divide the files to be transmitted into k groups evenly according to the bit order, where k is a positive integer, and k>10 3 , if the amount of data in the last group is less than the average amount of data, then the group Fill the remaining bits with zeros;

步骤2:根据k值来选定一个度分布;Step 2: Select a degree distribution according to the value of k;

步骤3:在待输出原文件的多个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;Step 3: Generate a new group based on the multiple groups of the original file to be output, that is, the encoding symbol, so that the original file is transmitted in the network in the form of an encoding symbol sequence;

步骤3.1:生成第一个编码符号;Step 3.1: Generate the first encoding symbol;

步骤3.1.1:由步骤2选择的度分布随机生成一个值d,在原输出文件中随机选择d个不同的分组,其中,d为自然数;Step 3.1.1: Randomly generate a value d from the degree distribution selected in step 2, randomly select d different groups in the original output file, where d is a natural number;

步骤3.1.2:这d个不同的分组进行异或运算,形成一个新的分组,该分组就为生成的第一个编码符号;Step 3.1.2: XOR operation is performed on the d different groups to form a new group, which is the first coded symbol generated;

步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构;Step 3.1.3: Using the encoding symbol generated in step 3.1.2 as the initial node, generate a network structure consisting of one node;

步骤3.1.4:把这个编码符号放在信道中传输;Step 3.1.4: Put the coded symbol on the channel for transmission;

步骤3.2:生成下一个编码符号;Step 3.2: Generate the next encoding symbol;

步骤3.2.1:根据步骤2的度分布,由该度分布随机生成另一个正整数d′,随机从原文件的k个分组中选择一个分组,该分组为生成下一个编码符号选择的第一个已选过的原文件的分组,也是生成下一个编码符号的第一个可选分组。在网络结构中加入一个新节点。若选择的原文件的一个分组是生成其它某个或某些已存在编码符号的一个分组,那么,这个新节点与上述某个或某些已存在的编码符号在网络结构中对应的节点之间有连边,且边的权值为选择的原文件的一个分组在所有k个原文件的分组中的序号;若d′=1,则执行步骤3.2.2;否则执行步骤3.2.3;Step 3.2.1: According to the degree distribution in step 2, randomly generate another positive integer d′ from the degree distribution, randomly select a group from the k groups in the original file, and this group is the first choice for generating the next coding symbol The grouping of the selected original files is also the first optional grouping for generating the next encoding symbol. Add a new node to the network structure. If a grouping of the selected original file is a grouping that generates some or some existing coding symbols, then the relationship between this new node and the corresponding nodes of the above-mentioned one or some existing coding symbols in the network structure There are connected edges, and the weight of the edge is the serial number of a group of the selected original file in all the groups of k original files; if d'=1, then perform step 3.2.2; otherwise, perform step 3.2.3;

步骤3.2.2:步骤3.2.1选择的一个原文件的分组与其等长的全零比特序列进行异或,形成一个新的分组,该分组为生成的下一个编码符号,将这个编码符号放在信道中传输,到步骤3.3继续执行;Step 3.2.2: XOR the grouping of an original file selected in step 3.2.1 with its equal-length all-zero bit sequence to form a new grouping, which is the next coded symbol generated, and place this coded symbol in Transmission in the channel, proceed to step 3.3;

步骤3.2.3:在原文件的所有分组中除为生成下一个编码符号已选过的分组外,剩下的分组中选择原文件的另一个分组,该分组为生成下一个编码符号的另一个已选过的分组;Step 3.2.3: In all the groups of the original file, except for the selected group for generating the next encoding symbol, select another group of the original file in the remaining groups, which is another already selected group for generating the next encoding symbol. selected groups;

步骤3.2.4:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看步骤3.2.1中的新节点是否与这些对应的节点存在连边。若不存在连边,表明选择的另一个分组不会造成LT码的四环结构,则从步骤3.2.5继续执行;若存在连边,则表明该另一个分组将造成LT码的四环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在为生成下一个编码符号未被选过的原文件的分组,则回到步骤3.2.3继续执行,否则到步骤3.2.9继续执行;Step 3.2.4: Find out all existing coding symbols and their corresponding nodes in the network structure generated by another group participating in step 3.2.3, and check whether the new nodes in step 3.2.1 correspond to these corresponding nodes Edges exist. If there is no connecting edge, it shows that another grouping selected will not cause the four-ring structure of the LT code, then continue to perform from step 3.2.5; if there is a connecting edge, it shows that this other grouping will cause the four-ring structure of the LT code , this other packet is not an optional packet to generate the next encoded symbol. At this point, if there are still groups of unselected original files for generating the next coding symbol, then return to step 3.2.3 and continue to execute, otherwise continue to execute to step 3.2.9;

步骤3.2.5:找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,查看在网络结构中与新节点存在连边的节点是否与另一分组参与生成的已存在编码符号在网络结构中对应的节点存在连边。若不存在连边或者存在连边并且边的权值等于另一个分组在原文件的所有分组中的序号,那么表明另一个分组不会造成LT码的六环结构,该另一分组为生成下一个编码符号的可选分组,到步骤3.2.6继续执行;若存在连边,并且连边的权值不等于另一个分组在原文件的分组中的序号,则表明存在六环结构,即该另一分组将造成LT码的六环结构,该另一个分组不是生成下一个编码符号的可选分组。此时,若仍然存在未被选过的原文件的分组,则回到步骤3.2.3继续执行;否则,从步骤3.2.9继续执行;Step 3.2.5: Find out all existing coding symbols generated by another group in step 3.2.3 and their corresponding nodes in the network structure, and check whether the nodes that are connected to the new node in the network structure are connected to The existing coded symbols generated by another group are connected to the corresponding nodes in the network structure. If there is no connection or there is a connection and the weight of the side is equal to the sequence number of another group in all the groups of the original file, then it shows that another group will not cause the six-ring structure of the LT code, and this another group is to generate the next Optional grouping of encoding symbols, continue to step 3.2.6; if there is an edge, and the weight of the edge is not equal to the serial number of another group in the original file, it indicates that there is a six-ring structure, that is, the other The grouping will result in the six-ring structure of the LT code, this other grouping is not an optional grouping to generate the next encoded symbol. At this point, if there are still groups of unselected original files, then go back to step 3.2.3 and continue to execute; otherwise, continue to execute from step 3.2.9;

步骤3.2.6;找出所有由步骤3.2.3中的另一个分组参与生成的已存在编码符号及其在网络结构中对应的节点,在网络结构中添加这些对应的节点与新节点的连边,边的权值为另一个分组在原文件的所有分组中的序号;Step 3.2.6; find out all existing coding symbols generated by another group in step 3.2.3 and their corresponding nodes in the network structure, and add the edges connecting these corresponding nodes and new nodes in the network structure , the weight of the edge is the serial number of another group in all the groups of the original file;

步骤3.2.7:如果可选分组数目等于d′从步骤3.2.8继续执行,如果可选分组数目少于d′个,则从步骤3.2.9继续执行;Step 3.2.7: If the number of optional groups is equal to d', continue to execute from step 3.2.8, if the number of optional groups is less than d', then continue to execute from step 3.2.9;

步骤3.2.8:这d′个分组进行异或得到一个新的分组,这个新的分组为下一个编码符号。将该编码符号放在信道中进行传输;执行步骤3.3;Step 3.2.8: XOR these d′ groups to obtain a new group, which is the next coding symbol. Put the encoded symbol in the channel for transmission; perform step 3.3;

步骤3.2.9:如果仍然存在未被选过的原文件的分组,则重复步骤3.2.3;若没有未被选过的分组,那么从可选分组以外任意选择原文件的分组,直到被选择的分组数为d′为止。这d′个分组进行异或生成一个新的分组,即下一个编码符号,并将该编码符号放在信道中进行传输;Step 3.2.9: If there are still groups of original files that have not been selected, repeat step 3.2.3; if there is no group that has not been selected, then select any group of the original file from the optional group until it is selected The number of groups is d'. These d' groups are XORed to generate a new group, that is, the next coded symbol, and the coded symbol is placed in the channel for transmission;

步骤3.3:重复执行步骤3.2的过程,生成其余的编码符号,直到发送端接收到接收端返回给的文件已经正确恢复的反馈信息为止。Step 3.3: Repeat the process of step 3.2 to generate the rest of the encoding symbols until the sending end receives the feedback information that the file has been correctly restored returned by the receiving end.

本发明的有益效果:本发明建立了LT码中短环结构与其对应的复杂网络结构间的映射关系,根据复杂网络结构检测并且最大限度的规避LT码编码过程中的短环结构,提高其译码成功概率,构造了一种基于复杂网络的高效而可靠的文件传输编码方案。尤其对于具有时变特性的无线信道中的数据传输,该发明可以使得接收端接受到较少的数据就可以将原始数据恢复出来,有效提高了信道的带宽利用率,降低传输时延。Beneficial effects of the present invention: the present invention establishes the mapping relationship between the short ring structure in the LT code and its corresponding complex network structure, detects and avoids the short ring structure in the LT code encoding process to the greatest extent according to the complex network structure, and improves its translation. Based on the success probability of encoding, an efficient and reliable file transfer encoding scheme based on complex network is constructed. Especially for data transmission in a wireless channel with time-varying characteristics, the invention enables the receiving end to recover the original data after receiving less data, effectively improving the bandwidth utilization rate of the channel and reducing the transmission delay.

附图说明Description of drawings

图1为本发明实施方式将比特数为N=k·L的文件平均划分成k个分组示意图;Fig. 1 is that the file that the number of bits is N=k L is divided into k grouping diagrams on average in the embodiment of the present invention;

图2为本发明实施方式将比特数为N=k·L-δ(δ<L)的文件划分成k个分组示意图;Fig. 2 divides the file that the number of bits is N=k L-δ (δ<L) into k grouping schematic diagrams according to the embodiment of the present invention;

图3为本发明实施方式随机产生度值d的示意图;Fig. 3 is a schematic diagram of randomly generating degree value d according to an embodiment of the present invention;

图4为本发明实施方式在原文件中选择d=3个不同的分组示意图;Fig. 4 selects d=3 different grouping schematic diagrams in the original file according to the embodiment of the present invention;

图5为本发明实施方式只有一个节点的网络G示意图;FIG. 5 is a schematic diagram of a network G with only one node in the embodiment of the present invention;

图6为本发明实施方式生成第2个编码符号后的网络结构示意图;Fig. 6 is a schematic diagram of the network structure after the second encoding symbol is generated according to the embodiment of the present invention;

图7为本发明实施方式若选择生成第3个编码符号的一个分组为S2,造成四环结构的网络结构示意图;Fig. 7 is a schematic diagram of a network structure of a four-ring structure if a group that generates the third coded symbol is selected as S 2 in the embodiment of the present invention;

图8为本发明实施方式选择生成第4个编码符号的一个分组为S4,造成六环结构的网络结构示意图;FIG. 8 is a schematic diagram of a network structure of a six-ring structure that selects a group that generates the fourth coded symbol as S 4 according to an embodiment of the present invention;

图9为本发明实施方式生成第5个编码符号后构成的网络结构示意图;Fig. 9 is a schematic diagram of the network structure formed after the fifth coded symbol is generated according to the embodiment of the present invention;

图10为本发明实施方式基于复杂网络的文件传输编码方法流程图;FIG. 10 is a flowchart of a complex network-based file transfer encoding method according to an embodiment of the present invention;

图11为本发明实施方式第一个编码生成过程流程图;FIG. 11 is a flow chart of the first code generation process in the embodiment of the present invention;

图12为本发明实施方案构成的LT码与传统LT码在译码成功概率方面的比较曲线,其中分组数为104Fig. 12 is a comparison curve of the decoding success probability between the LT code and the traditional LT code according to the embodiment of the present invention, where the number of blocks is 10 4 .

具体实施方式detailed description

下面结合附图对本发明实施方式作进一步详细的说明。The embodiments of the present invention will be further described in detail below in conjunction with the accompanying drawings.

本实施方式中采用的基于复杂网络的文件传输编码方法,如图10所示。具体步骤如下:The complex network-based file transfer encoding method adopted in this embodiment is shown in FIG. 10 . Specific steps are as follows:

步骤1:统计待传输文件大小,对待传输的文件进行分组。Step 1: Count the size of the files to be transferred, and group the files to be transferred.

若待传输的数据为文件,则先要统计文件大小,在本实施方式中采用C语言的fopen()函数打开文件,采用fseek()函数将指针定位到文件的位置,用ftell()函数通过识别最后字节的位置获得文件的大小。若待传输的数据为比特流,则直接对待传输比特流进行分组即可。所述的分组过程为:将待传输文件按比特顺序平均分成K组,其中,K为正整数,且K>103。假设待传输文件可转化为2KB的比特流,可采用上述方法将该比特流分成K=2000组,其中每个分组包含L=8个比特。如图1所示,其中If the data to be transmitted is a file, the file size will be counted first. In this embodiment, the fopen () function of the C language is used to open the file, the fseek () function is used to locate the pointer to the position of the file, and the ftell () function is passed Identify the position of the last byte to get the size of the file. If the data to be transmitted is a bit stream, the bit stream to be transmitted can be directly grouped. The grouping process is: divide the files to be transmitted into K groups evenly according to the bit order, where K is a positive integer, and K>10 3 . Assuming that the file to be transmitted can be converted into a 2KB bit stream, the above method can be used to divide the bit stream into K=2000 groups, where each group contains L=8 bits. As shown in Figure 1, where

第一个分组:共有8bits,内容为01011000;The first group: a total of 8 bits, the content is 01011000;

第二个分组:共有8bits,内容为10110011;The second group: a total of 8 bits, the content is 10110011;

……...

第K=2000个分组:共有8bits,内容为11100101。K=2000th packet: 8 bits in total, the content is 11100101.

在本实施方式中,2KB(16000bit)的文件正好可以被分成2000个8bit的分组。然而对于某些文件,并不能将其正好划分为多个分组,即,划分后的最后一个分组的数据量小于分组平均数据量。此时,需要在最后一个分组的末尾补零,使得最后一个分组包含的比特数等于每个分组的平均比特数。例如:假设对一个15994bit的文件进行分组,仍然将比特流分成2000组,每组包含L=8比特数据,那么最后一个分组将不足8位,我们需要在其后补0。如图2所示,其中In this embodiment, a 2KB (16000bit) file can be divided into exactly 2000 8bit groups. However, for some files, it cannot be exactly divided into multiple groups, that is, the data volume of the last divided group is smaller than the average data volume of the groups. At this time, it is necessary to pad zero at the end of the last packet, so that the number of bits contained in the last packet is equal to the average number of bits in each packet. For example: suppose a 15994bit file is grouped, but the bit stream is still divided into 2000 groups, each group contains L=8 bits of data, then the last group will be less than 8 bits, and we need to add 0 after it. As shown in Figure 2, where

第一个分组:共有8bits,内容为01011000;The first group: a total of 8 bits, the content is 01011000;

第二个分组:共有8bits,内容为10110011;The second group: a total of 8 bits, the content is 10110011;

……...

第K=2000个分组:共有8bits,内容为11000000。其中最后6bit为填充位。K=2000th packet: 8 bits in total, the content is 11000000. Among them, the last 6 bits are padding bits.

经过上述过程我们可以将一个2KB的文件划分为2000组。After the above process, we can divide a 2KB file into 2000 groups.

步骤2:根据分组数K的值来选定一个度分布;Step 2: Select a degree distribution according to the value of the number of groups K;

所述的度分布可以采用稳健的孤子分布、也可采用无标度分布和稳健的无标度分布等现有的常见LT码的编码符号的度分布,用户可以根据自己的需要自行选择分布函数。本实施方式中以稳健的孤子分μ(d)布为例,说明度分布的确定过程如下:The degree distribution can be a robust soliton distribution, a scale-free distribution and a robust scale-free distribution, etc. The degree distribution of the coding symbols of the existing common LT codes can be used, and the user can choose the distribution function according to his own needs . In this embodiment, the robust soliton distribution μ(d) is taken as an example to illustrate the determination process of the degree distribution as follows:

μ(d)的定义如下,μ(d) is defined as follows,

&mu;&mu; (( dd )) == &rho;&rho; (( dd )) ++ &tau;&tau; (( dd )) &Sigma;&Sigma; ii == 11 KK (( &rho;&rho; (( ii )) ++ &tau;&tau; (( ii )) )) ,, &ForAll;&ForAll; dd == 1,21,2 .. .. .. ,, KK -- 11 ,, KK .. -- -- -- (( 11 ))

其中in

and

&rho;&rho; (( dd )) == 11 KK ,, dd == 11 11 dd (( dd -- 11 )) ,, dd == 2,32,3 ,, .. .. .. ,, KK

式中,S为译码过程的每一步中期望的剩余的度为1的编码符号数:In the formula, S is the expected number of remaining encoded symbols with degree 1 in each step of the decoding process:

SS == &beta;&beta; KK lnln KK // &delta;&delta; >> 11 -- -- -- (( 22 ))

式中,β∈(0,1)是一个自由变量,δ表示接收端收到K个编码符号时,可容忍的译码出错概率。In the formula, β∈(0,1) is a free variable, and δ represents the tolerable decoding error probability when the receiver receives K encoded symbols.

对于所有的K值,稳健的孤子分布需要满足如下公式:For all values of K, a robust soliton distribution needs to satisfy the following formula:

&Sigma;&Sigma; dd == 11 KK &mu;&mu; (( dd )) == 11

研究发现当稳健孤子分布的参数β=0.1,δ=1.0时,基于稳健孤子分布的LT码具有较好的性能。将β=0.1,δ=1.0,K=10000代入公式(2),可得S=92.10。进而可得K=10000时,编码符号的度分布。It is found that the LT code based on the robust soliton distribution has better performance when the parameters of the robust soliton distribution are β=0.1 and δ=1.0. Substituting β=0.1, δ=1.0 and K=10000 into formula (2), S=92.10 can be obtained. Furthermore, when K=10000, the degree distribution of coded symbols can be obtained.

同理,可以采用相似的方法,求得无标度分布和稳健的无标度分布中的参数,确定给定K值的LT码的度分布。Similarly, a similar method can be used to obtain the parameters in the scale-free distribution and the robust scale-free distribution, and determine the degree distribution of the LT code with a given K value.

以本实施方式中2KB文件分成的K=2000个分组为例,将β=0.1,δ=1.0,K=2000代入公式(2)得到S的值为33.99。把S、δ的值代入公式(1)就可得到分组个数为2000的基于稳健孤子分度的度分布。Taking K=2000 groups divided into 2KB files in this embodiment as an example, substituting β=0.1, δ=1.0, and K=2000 into the formula (2) obtains the value of S as 33.99. Substituting the values of S and δ into the formula (1) can obtain the degree distribution based on the robust soliton indexing with the group number of 2000.

步骤3:在待输出大小为2KB的原文件的2000个分组基础上生成新的分组,即编码符号,使原文件以编码符号序列的形式在网络中传输;原文件的2000个分组被称为输入符号。本实施过程为了描述简单,只选择了2000个输入符号中的5个输入符号为例介绍其部分编码符号的生成过程。这5组输入符号分别记为S1,S2,S3,S4,S5,其中S1=01011000,S2=10110011,S3=11100101,S4=01011000,S5=10110010。Step 3: On the basis of the 2000 groups of the original file to be output with a size of 2KB, a new group is generated, that is, an encoding symbol, so that the original file is transmitted in the network in the form of an encoding symbol sequence; the 2000 groups of the original file are called Enter the symbol. In order to simplify the description of this implementation process, only 5 input symbols out of 2000 input symbols are selected as an example to describe the generation process of part of the encoding symbols. These 5 sets of input symbols are recorded as S 1 , S 2 , S 3 , S 4 , and S 5 , where S 1 =01011000, S 2 =10110011, S 3 =11100101, S 4 =01011000, and S 5 =10110010.

步骤3.1:生成第一个编码符号,如图11所示。Step 3.1: Generate the first encoding symbol, as shown in Figure 11.

步骤3.1.1:在本实施方式中,根据步骤2选择的度分布随机生成一个值d1,拟作为第一个编码符号的度。在从S1,S2,S3,S4,S5这5组输入符号中选择d1组用来生成第一个编码符号。值d1的选择过程如下:Step 3.1.1: In this embodiment, a value d 1 is randomly generated according to the degree distribution selected in step 2, which is intended to be the degree of the first coded symbol. Select group d 1 from the 5 groups of input symbols S 1 , S 2 , S 3 , S 4 , and S 5 to generate the first encoding symbol. The selection process for the value d1 is as follows:

根据步骤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;以此类推。According to the degree distribution selected in step 2, the variable d in formula (1) takes different values of 1,...,K respectively to obtain the probability of encoding symbols with degrees 1,...,K. Since the encoding process of 5 out of 2000 groups is used as an example in this embodiment, here we assume K=5, and limit d to be an integer between [1,5]. First, divide the range of 0-1.0 into 5 segments according to this probability; then use the rand() function in C language to generate a random number, and determine which segment the random number is in the 5 segments of 0-1.0, In which segment, then what is the degree value of the first coding symbol selected in step 3.1.1. As shown in Figure 3, assume that the probability of degree 1 is 0.1, the probability of degree 2 is 0.4, the probability of degree 3 is 0.3, the probability of degree 4 is 0.15, and the probability of degree 5 is 0.05. Apply cumulative distribution, if the size of the random number is between 0 and 0.1, the selected degree value is 1; if the size of the random number is between 2 and 0.5, the selected degree value is 2; and so on.

此时,假设产生一个值为0.51的随机数,如图3所示,可知0.51大于0.5,小于0.8,即落在第三个分段内,因此,拟将第一个编码符号的度d1赋值为2。At this point, assume that a random number with a value of 0.51 is generated, as shown in Figure 3, it can be seen that 0.51 is greater than 0.5 and less than 0.8, that is, it falls in the third segment. Therefore, the degree d of the first coded symbol is proposed to be The assigned value is 2.

在原文件的5个分组中随机选择3个不同的分组,选择原文件的任一分组的概率相同,在本实施方式中,该概率为1/5。Three different groups are randomly selected from the 5 groups of the original file, and the probability of selecting any group of the original file is the same, and in this embodiment, the probability is 1/5.

本实施方式中采用C语言中的rand()函数产生2个随机数,分别为0.29,0.17。它们落在如图4所示的第2个分段和第1个分段内,因此,通过本步骤选择的2个用来生成第一个编码符号的原文件的分组分别为第1个分组和第2个分组。In this embodiment, the rand() function in the C language is used to generate two random numbers, which are 0.29 and 0.17 respectively. They fall in the 2nd segment and the 1st segment as shown in Figure 4, therefore, the groupings of the 2 original files used to generate the first encoding symbol selected by this step are respectively the 1st grouping and the 2nd grouping.

步骤3.1.2:本实施方式中的第一个分组记为C1,C1的值等于步骤3.1.1选出的2个不同的原文件分组的异或。即,C1=S1⊕S2=11101011;Step 3.1.2: The first group in this embodiment is denoted as C 1 , and the value of C 1 is equal to the XOR of the two different original file groups selected in step 3.1.1. That is, C 1 =S 1 ⊕S 2 =11101011;

步骤3.1.3:以步骤3.1.2所生成的编码符号为初始节点,生成一个由一个节点组成的网络结构G,如图5所示。在本实施方式中,是指以编码符号C1对应的节点V0生成网络结构G,该步骤主要是为了对G进行初始化,涉及的内容主要包括采用C语言中的malloc()函数初始化G的节点和边。Step 3.1.3: Take the encoding symbol generated in step 3.1.2 as the initial node, and generate a network structure G consisting of one node, as shown in Figure 5. In this embodiment, it refers to generating the network structure G with the node V0 corresponding to the coding symbol C1 . This step is mainly for initializing G, and the involved content mainly includes the initialization of G using the malloc() function in the C language. nodes and edges.

步骤3.1.4:把编码符号C1放在信道中传输;Step 3.1.4: Put the coded symbol C 1 in the channel for transmission;

步骤3.2:在本实施方式中,生成第2个编码符号;Step 3.2: In this embodiment, generate the second encoding symbol;

步骤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所示。Step 3.2.1: According to the degree distribution in step 2, the degree d 2 =1 of the second coded symbol is randomly selected from the 5 groups of S 1 , S 2 , S 3 , S 4 , and S 5 according to the degree distribution. Select 1 group, assuming that the selected group is S 1 . Add a new node V 1 to the network structure G, because S 1 is a group that generates C 1 , then there is an edge between the corresponding nodes V 1 and V 0 of C 2 and C 1 on G, and the edge The weight is S 1 , as shown in FIG. 6 .

由于第2个编码符号的度值为1,且所选的唯一分组为S1,因此,由步骤3.2生成第二个编码符号C2=S1=01011000。并将C2放在信道中进行传输。Since the degree value of the second coding symbol is 1, and the only group selected is S 1 , the second coding symbol C 2 =S 1 =01011000 is generated by step 3.2. And put C2 in the channel for transmission.

步骤3.3:在本实施方式中,生成第3个编码符号;Step 3.3: In this embodiment, generate the third encoding symbol;

步骤3.3.1:根据步骤2的度分布随机选择第3个编码符号的度,假设其值为d3=3,此时我们需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的3个分组。其过程如下:Step 3.3.1: Randomly select the degree of the third coding symbol according to the degree distribution in step 2 , assuming its value is d 3 = 3 , at this time we need Select 3 groups that meet the conditions from the 5 groups. The process is as follows:

随机从S1,S2,S3,S4,S5这5个分组中选择生成第3个编码符号的第1个分组,假设该被选分组为S1。在网络结构G中加入一个新的节点V2,由于S1是生成C1和C2的一个原文件的分组,那么在G中增加一条连接节点V2和节点V0的权值为S1的连边,以及一条连接节点V2与节点V1的权值为S1的连边。Randomly select the first group to generate the third coding symbol from the five groups S 1 , S 2 , S 3 , S 4 , and S 5 , assuming that the selected group is S 1 . Add a new node V 2 in the network structure G, since S 1 is a group of original files that generate C 1 and C 2 , then add a link in G that connects node V 2 and node V 0 with a weight of S 1 , and an edge connecting node V 2 and node V 1 with weight S 1 .

随机从S2,S3,S4,S5这4个原文件的分组中选择一个分组作为生成第3个编码符号的第2个已选分组,假设其为S2。S2参与生成了编码符号C1,同时新节点V2已与C1对应的节点V0存在权值为S1的连边,如图7所示。因因,此处选择S2将会造成四环结构,它不是一个可选分组。Randomly select a group from the four original file groups of S 2 , S 3 , S 4 , and S 5 as the second selected group for generating the third encoding symbol, assuming it is S 2 . S 2 participates in generating code symbol C 1 , and at the same time, new node V 2 has an edge with weight S 1 to node V 0 corresponding to C 1 , as shown in FIG. 7 . Because of this, choosing S2 here will result in a four - ring structure, which is not an optional grouping.

随机从余下的分组S3,S4,S5这3个分组中选择一个分组S3,由于其不构成四环和六环结构,所以S3可以作为生成第3个编码符号的一个可选分组。再从余下的分组S4,S5中随机选择一个分组,假设为S4,同时发现若将S4放在复杂网络结构中也不构成四环或六环结构,因此S4也可作为生成第3个编码符号的一个可选分组。Randomly select a group S 3 from the remaining groups S 3 , S 4 , and S 5. Since it does not form a four-ring and six-ring structure, S 3 can be used as an option for generating the third coded symbol grouping. Then randomly select a group from the remaining groups S 4 and S 5 , assuming it is S 4 , and find that if S 4 is placed in a complex network structure, it will not form a four-ring or six-ring structure, so S 4 can also be used as a generator An optional grouping of 3rd encoded symbols.

因此,第3个编码符号C3可有S1,S3,S4这三个编码符号异或而得,即C3=S1⊕S3⊕S4=01100101,将编码符号C3放在信道中进行传输。Therefore, the third coding symbol C 3 can be obtained by XOR of the three coding symbols S 1 , S 3 , and S 4 , that is, C 3 =S 1 ⊕S 3 ⊕S 4 =01100101, put the coding symbol C 3 Transmit in the channel.

步骤3.4:在本实施方式中,生成第4个编码符号C4Step 3.4: In this embodiment, generate the fourth coding symbol C 4 ;

步骤3.4.1:根据步骤2的度分布随机选择第4个编码符号的度,假设其值d4=2,此时我们需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的2个分组。过程如下:Step 3.4.1: Randomly select the degree of the fourth coding symbol according to the degree distribution in step 2, assuming its value d 4 =2, at this time we need to be in S 1 , S 2 , S 3 , S 4 , S 5 these 5 Select 2 groups that meet the criteria from the groupings. The process is as follows:

随机从S1,S2,S3,S4,S5这5个分组中选择生成第4个编码符号的第1个分组,假设该被选分组为S2。在网络结构G中加入一个新的节点V3,由于S2是生成编码符号C1的一个原文件的分组,因此,在G中添加一条连接节点V3和节点V0的权值为S2的连边。Randomly select the first group to generate the fourth coding symbol from the five groups S 1 , S 2 , S 3 , S 4 , and S 5 , assuming that the selected group is S 2 . Add a new node V 3 in the network structure G, since S 2 is a group of an original file that generates the coding symbol C 1 , therefore, the weight of adding a link between node V 3 and node V 0 in G is S 2 even side.

随机从余下的4个分组S1,S3,S4,S5中选择一个分组S4作为生成第4个编码符号的第2个已选分组。由于在网络结构G中,新节点V3相连的节点V0,与分组S4参与生成的已存在编码符号C3对应的节点V2间存在连边,且连边的权值为S1≠S4,如图8所示。所以,此处选择S4会造成六环结构,即,S4不是生成C4的一个可选分组。Randomly select a group S 4 from the remaining 4 groups S 1 , S 3 , S 4 , and S 5 as the second selected group for generating the fourth coding symbol. Because in the network structure G, there is an edge between the node V 0 connected to the new node V 3 and the node V 2 corresponding to the existing code symbol C 3 generated by the group S 4 , and the weight of the edge is S 1 ≠ S 4 , as shown in Fig. 8 . Therefore, choosing S4 here will result in a six - ring structure, that is, S4 is not an optional group to generate C4 .

随机从余下的3个分组S1,S3,S5中选择一个分组,假设被选分组为S5,即,S5作为生成第4个编码符号的下一个已选分组。由于S5不会构成四环结构和六环结构,因此,S5是生成编码符号C4的另一个可选分组。Randomly select a group from the remaining three groups S 1 , S 3 , and S 5 , assuming that the selected group is S 5 , that is, S 5 is the next selected group for generating the fourth coded symbol. Since S 5 does not form a four-ring structure and a six-ring structure, S 5 is another optional group for generating the coding symbol C 4 .

通过步骤3.4,在本实施方式中生成第4个编码符号C4=S2⊕S5=00000001。把编码符号C4放入信道进行传输。Through step 3.4, the fourth coding symbol C 4 =S 2 ⊕S 5 =00000001 is generated in this embodiment. Put coded symbol C 4 into the channel for transmission.

步骤3.5:在本实施方式中,生成第5个编码符号C5Step 3.5: In this embodiment, generate the fifth coding symbol C 5 ;

根据步骤2的度分布随机选择第5个编码符号的度,假设其值d5=2,此时需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的2个分组。过程如下:According to the degree distribution in step 2, the degree of the fifth coding symbol is randomly selected, assuming its value d 5 =2, at this time, it is necessary to select among the five groups of S 1 , S 2 , S 3 , S 4 , and S 5 to meet the conditions 2 groups of . The process is as follows:

随机从S1,S2,S3,S4,S5这5个分组中选择一个分组作为生成第5个编码符号的一个可选分组,假设该分组为S3。在G中加入一个新的节点V4,由于S3参与生成了编码符号C3,因此,在G中加入一条连接节点V2和V4的权值为S3的边。Randomly select a group from the five groups S 1 , S 2 , S 3 , S 4 , and S 5 as an optional group for generating the fifth code symbol, assuming that the group is S 3 . Add a new node V 4 in G, because S 3 participates in generating coded symbol C 3 , therefore, add an edge connecting nodes V 2 and V 4 whose weight is S 3 in G.

随机从余下的4个分组S1,S2,S4,S5这4个分组中选择1个分组,假设为S2。由于G中与新节点V4存在连边的节点V2与S2参与生成的编码符号C1在G中对应的节点V0存在连边,且边的权值为S1≠S2,因此,若此处将S2作为可选分组将造成六环结构。Randomly select one group from the remaining four groups S 1 , S 2 , S 4 , and S 5 , assuming it is S 2 . Since the node V 2 that has an edge with the new node V 4 in G has an edge with the node V 0 corresponding to the code symbol C 1 generated by S 2 in G, and the weight of the edge is S 1 ≠ S 2 , therefore , if S2 is used as an optional group here, a six - ring structure will be formed.

随机从余下的3个分组S1,S4,S5这3个分组中选择1个分组,假设为S1,作为已选分组。由于S1参与生成的编码符号C3在G中对应的节点V2已与新节点V4存在权值为S3的连边,因此,S1作为可选分组将造成四环结构。Randomly select one group from the remaining three groups S 1 , S 4 , and S 5 , assuming it is S 1 , as the selected group. Since the code symbol C3 that S1 participates in generating corresponds to the node V2 in G and the new node V4 has an edge with a weight of S3, therefore, S1 as an optional group will form a four - ring structure.

随机从余下的2个分组S4,S5中选择1个分组,作为生成编码符号C5的下一个已选分组,假设为S4。由于S4参与生成的编码符号C3在G中对应的节点V2已与新节点V4存在权值为S3的连边,因此,若S4作为可选分组将造成四环结构。Randomly select one group from the remaining two groups S 4 and S 5 as the next selected group for generating code symbol C 5 , assuming it is S 4 . Since the code symbol C3 that S4 participates in generating corresponds to the node V2 in G and the new node V4 has an edge with a weight of S3 , therefore, if S4 is used as an optional group, a four - ring structure will be formed .

随机从余下的1个分组S5中选择1个分组,该分组为S5,若此处选择S5即不会造成四环结构也不会造成六环结构,所以,S5是生成编码符号C5的一个可选分组。由于S5参与生成了编码符号C4,所以,在G中加入一条连接节点V3和V4的权值为S5的连边。如图9所示。Randomly select a group from the remaining group S 5 , which is S 5 , if S 5 is selected here, neither a four-ring structure nor a six-ring structure will be formed, so S 5 is to generate coding symbols An optional grouping of C 5 . Since S 5 participates in generating coded symbol C 4 , an edge connecting nodes V 3 and V 4 with a weight of S 5 is added to G. As shown in Figure 9.

通过步骤3.5,在本实施方式中生成第5个编码符号C5=S3⊕S5=01010111,把C5放在信道中传输。Through step 3.5, in this embodiment, the fifth encoded symbol C 5 =S 3 ⊕S 5 =01010111 is generated, and C 5 is transmitted in the channel.

步骤3.6:在本实施方式中,生成第6个编码符号C6Step 3.6: In this embodiment, generate the sixth coding symbol C 6 ;

根据步骤2的度分布随机选择第6个编码符号的度,假设其值d6=3。此时需要在S1,S2,S3,S4,S5这5个分组中选择满足条件的3个分组。过程如下:Randomly select the degree of the sixth coded symbol according to the degree distribution in step 2, assuming its value d 6 =3. At this time, it is necessary to select 3 groups satisfying the conditions among the 5 groups S 1 , S 2 , S 3 , S 4 , and S 5 . The process is as follows:

随机从S1,S2,S3,S4,S5这5个分组中选择一个分组作为生成第6个编码符号的1个可选分组,假设该分组为S2。在G中加入一个新的节点V5,由于S2参与生成了编码符号C1和C4,因此,在G中加入连接V5,V0的权值为S2的连边和连接V5,V3的权值为S2的连边。Randomly select a group from the five groups S 1 , S 2 , S 3 , S 4 , and S 5 as an optional group for generating the sixth code symbol, assuming that the group is S 2 . Add a new node V 5 in G, because S 2 participates in generating coded symbols C 1 and C 4 , therefore, add connection V 5 in G, the weight of V 0 is the edge connected with S 2 and connection V 5 , the weight of V 3 is the edge of S 2 .

随机从S1,S3,S4,S5这4个分组中选择1个分组作为生成第6个编码符号的第2个已选分组,假设该分组为S1。由于在网络结构G中,S1参与生成的编码符号C1在G中对应的节点V0已与新节点V5存在权值为S2的连边,因此,若此处选择S1将会造成四环结构。Randomly select one group from the four groups S 1 , S 3 , S 4 , and S 5 as the second selected group for generating the sixth code symbol, assuming that the group is S 1 . Since in the network structure G, the code symbol C 1 that S 1 participates in generating corresponds to the node V 0 in G and the new node V 5 has an edge with a weight of S 2 , therefore, if S 1 is selected here, it will resulting in a four-ring structure.

随机从剩下的3个分组S3,S4,S5中选择1个分组作为生成C6的第3个已选分组,假设该分组为S3。由于G中与新节点V5存在连边的节点V0与S3参与生成的编码符号C3在G中对应的节点V2间存在连边且连边的权值为S1≠S3,因此,此处S3不是一个可选分组。Randomly select one group from the remaining three groups S 3 , S 4 , and S 5 as the third selected group for generating C 6 , assuming that the group is S 3 . Since there is an edge between the node V 0 and S 3 in G that has an edge with the new node V 5 and the code symbol C 3 that is generated by the corresponding node V 2 in G, and the weight of the edge is S 1 ≠ S 3 , Therefore, S3 is not an optional packet here.

随机从剩下的2个分组S4,S5中选择一个分组作为生成C6的第4个已选分组,假设为S4。由于G中与新节点V5存在连边的节点V0与S4参与生成的编码符号C3在G中对应的节点V2间存在连边且连边的权值为S1≠S4,因此,若此处S4作为可选分组将构成六环结构。Randomly select a group from the remaining two groups S 4 and S 5 as the fourth selected group for generating C 6 , assuming it is S 4 . Since the code symbol C3 generated by the nodes V 0 and S 4 that have an edge with the new node V 5 in G has an edge between the corresponding node V 2 in G and the weight of the edge is S 1 S 4 , Therefore, if S4 is used as an optional group here, it will constitute a six - ring structure.

分析最后一个分组S5,由于S5参与生成的编码符号C4在G中对应的节点V3已与新节点V5存在权值为S2的连边,因此,S5作为可选分组将造成四环结构。Analyzing the last group S 5 , since the node V 3 corresponding to the coding symbol C 4 generated by S 5 in G already has an edge with the weight of S 2 to the new node V 5 , therefore, S 5 as an optional group will resulting in a four-ring structure.

综上可知,若生成第6个编码符号所选的第一个分组为S2,那么无论选择S1,S3,S4还是S5都会造成短环结构。此时,从除S2外的S1,S3,S4,S5这4个分组随机选择2个分组,假设为S1,S4,作为生成编码符号C6的另外两个可选分组。In summary, if the first group selected to generate the sixth coding symbol is S 2 , no matter whether S 1 , S 3 , S 4 or S 5 is selected, a short ring structure will result. At this time, randomly select 2 groups from the 4 groups of S 1 , S 3 , S 4 , and S 5 except S 2 , assuming that they are S 1 and S 4 , as the other two options for generating coded symbols C 6 group.

通过步骤3.6得到第6个编码符号C6=S2⊕S1⊕S4=10110011,将C6放在信道中进行传输。Obtain the sixth coded symbol C 6 =S 2 ⊕S 1 ⊕S 4 =10110011 through step 3.6, put C6 in the channel for transmission.

通过上述过程生成了6个编码符号,它们都是由原文件中的5个分组生成的。在本实施方式中,对于包含2000个分组的原文件,也可以采用相同的方法,生成编码符号序列。在接收端根据编码符号的值以及编码符号与原文件的多个分组的关系,将原文件恢复出来。Through the above process, 6 coding symbols are generated, all of which are generated by 5 groups in the original file. In this embodiment, for the original file containing 2000 groups, the same method can also be used to generate the encoding symbol sequence. At the receiving end, the original file is recovered according to the value of the encoding symbol and the relationship between the encoding symbol and multiple groups of the original file.

本发明可以直接应用于视频、图像等大数据量数据在无线信道中的可靠传输,为了便于验证所述方法的可行性及优势,此处仅从译码成功概率角度与传统LT码的编码方案进行对比分析。The present invention can be directly applied to the reliable transmission of large data volume data such as video and images in wireless channels. In order to facilitate the verification of the feasibility and advantages of the method, here only from the perspective of decoding success probability and the traditional LT code encoding scheme Conduct comparative analysis.

本发明以1000组输入符号数目为104,分组长度为1比特的具有稳健无标度特性的LT码和基于稳健孤子分布的LT码为例对本发明的有效性进行验证,其中参与对比的LT码包括;The present invention takes 1000 sets of LT codes with robust scale-free characteristics and LT codes based on robust soliton distribution with 1000 groups of input symbols as 10 4 and 1 bit as an example to verify the effectiveness of the present invention. The LT codes participating in the comparison Code includes;

(1)RD-SF(cycle-6priority):参数选择P1=0.1,λ=1.9,尽量减少四环和六环结构的具有稳健无标度特性的LT码;(1) RD-SF (cycle-6priority): parameter selection P 1 =0.1, λ=1.9, minimize LT codes with four-ring and six-ring structures with robust scale-free properties;

(2)RD-SF(cycle-4priority):参数选择P1=0.1,λ=1.9,尽量减少四环,不考虑六环的具有稳健无标度特性的LT码;(2) RD-SF (cycle-4priority): parameter selection P 1 =0.1, λ=1.9, reduce the fourth ring as far as possible, do not consider the LT code with robust scale-free characteristics of the six rings;

(3)RD-SF(random):参数选择P1=0.1,λ=1.9,不考虑四环和六环的具有稳健无标度特性的LT码;(3) RD-SF (random): parameter selection P 1 =0.1, λ=1.9, LT codes with robust scale-free properties regardless of four-ring and six-ring;

(4)RSD(cycle-6priority):参数选择c=0.1,δ=1,尽量减少四环和六环结构的基于稳健孤子分布的LT码;(4) RSD (cycle-6priority): parameter selection c=0.1, δ=1, minimize the LT code based on the robust soliton distribution of the four-ring and six-ring structure;

(5)RSD(cycle-4priority):参数选择c=0.1,δ=1,尽量减少四环,不考虑六环的基于稳健孤子分布的LT码;(5) RSD (cycle-4priority): parameter selection c=0.1, δ=1, minimize the fourth ring, and do not consider the LT code based on the robust soliton distribution of the six rings;

(6)RSD(random):参数选择c=0.1,δ=1,不考虑四环和六环的基于稳健孤子分布的LT码。(6) RSD (random): parameter selection c=0.1, δ=1, LT code based on robust soliton distribution without considering the fourth and sixth rings.

该发明并没有改变编码符号的度分布,因此,生成编码符号需要的平均异或次数与原始编码方案相差不大,但是由于四环和六环出现概率降低,恢复相同输入符号需要的编码符号数将有所降低,使得该方案译码过程的平均异或次数减少。如表1所示为不同编码方案中冗余因子的对比关系,冗余因子越低,表明恢复原始输入符号需要的编码符号数越少,所需的译码延时越低:This invention does not change the degree distribution of coded symbols, so the average number of XORs needed to generate coded symbols is not much different from the original coding scheme, but the number of coded symbols needed to recover the same input symbols is reduced due to the reduced probability of four-ring and six-ring occurrence will be reduced, so that the average number of exclusive OR times in the decoding process of this scheme is reduced. Table 1 shows the comparative relationship of redundancy factors in different coding schemes. The lower the redundancy factor, the fewer encoding symbols are needed to restore the original input symbols, and the lower the decoding delay is:

表1本实施方案构造的LT码与传统LT码的性能比较Table 1 Performance comparison between the LT code constructed in this embodiment and the traditional LT code

分析表1可知,应用六环优先算法的LT码的平均冗余因子小于应用四环优先算法的LT的平均冗余因子,它们都小于未进行短环优化的LT码的平均冗余因子,因此采用短环规避算法的LT码恢复相同数目的输入符号需要的编码符号数小于未进行短环优化的LT码。Analysis of Table 1 shows that the average redundancy factor of LT codes using the six-ring priority algorithm is smaller than the average redundancy factor of LT codes using the four-ring priority algorithm, and they are all smaller than the average redundancy factor of LT codes without short-ring optimization, so LT codes using short-cycle avoidance algorithm need less coding symbols to recover the same number of input symbols than LT codes without short-cycle optimization.

由于每个编码符号的度是独立产生的,而且具有稳健无标度特性的LT码和基于理想孤子分布的LT码只要接收到足够的编码符号就能够保证接收方能够完全译码,与传输数据的信道条件无关,因此,此处仅考虑应用基于复杂网络理论的短环规避算法的LT码在理想信道条件下的译码成功概率。Since the degree of each encoded symbol is generated independently, and the LT code with robust scale-free properties and the LT code based on the ideal soliton distribution can ensure that the receiver can completely decode as long as it receives enough encoded symbols, it is different from the transmitted data Therefore, only the decoding success probability of the LT code under the ideal channel condition is considered here by applying the short loop avoidance algorithm based on the complex network theory.

图12为输入符号个数为104,分别构造1000组上述六种LT码,得到它们的译码成功概率与冗余因子之间的关系。Fig. 12 shows that the number of input symbols is 10 4 , and 1000 groups of the above six kinds of LT codes are respectively constructed, and the relationship between their decoding success probability and redundancy factor is obtained.

分析图12可知,冗余因子相同的前提下,应用短环规避算法生成的具有稳健无标度特性的LT码的译码成功概率高于不考虑短环结构的具有稳健无标度特性的LT码和另外三种基于稳健孤子分布的LT码。而应用短环规避算法生成的基于稳健孤子分布的LT码,接收端接收到相同数目的编码符号N=(1+α)K的译码成功概率高于不考虑短环结构的基于稳健孤子分布的LT码。Analyzing Figure 12, it can be seen that under the premise of the same redundancy factor, the decoding success probability of the LT code with robust scale-free characteristics generated by applying the short-loop avoidance algorithm is higher than that of the LT code with robust scale-free characteristics without considering the short-loop structure. code and three other LT codes based on robust soliton distribution. However, for the LT code based on the robust soliton distribution generated by the short-loop avoidance algorithm, the receiving end receives the same number of coded symbols N=(1+α)K, and the decoding success probability is higher than that based on the robust soliton distribution without considering the short-loop structure. LT code.

上述研究表明,应用短环规避算法设计的LT码能够在保证编(译)码效率的前提下,使得译码成功概率得到较大改善。The above research shows that the LT code designed by using the short loop avoidance algorithm can greatly improve the decoding success probability under the premise of ensuring the encoding (decoding) efficiency.

虽然以上描述了本发明的具体实施方式,但是本领域内的熟练的技术人员应当理解,这些仅是举例说明,可以对这些实施方式做出多种变更或修改,而不背离本发明的原理和实质。本发明的范围仅由所附权利要求书限定。Although the specific embodiments of the present invention have been described above, those skilled in the art should understand that these are only examples, and various changes or modifications can be made to these embodiments without departing from the principles and principles of the present invention. substance. The scope of the invention is limited only by the appended claims.

Claims (1)

1. file based on a complex network transmission coded method, it is characterised in that: comprise the following steps:
Step 1: add up file size to be transmitted, is grouped file waiting for transmission;
Described grouping process is: by bit order, file to be transmitted is divided into k group, and wherein, k is positive integer, and k > 103If the data volume in last packet is less than average amount, then by the remaining bits position zero padding in this packet;
Step 2: select a degree distribution according to k value;
Step 3: generate new packet, i.e. coded identification in multiple packet by packet basis of original to be output, makes original to compile The form of code sign sequence is transmitted in a network;
Step 3.1: generate first coded identification;
Step 3.1.1: degree distribution one value d of stochastic generation selected by step 2, randomly chooses d not in former output file Same packet, wherein, d is natural number;
Step 3.1.2: this d different packet carries out XOR, forms one new packet, this packet is just for the of generation One coded identification;
Step 3.1.3: the coded identification that generated with step 3.1.2, as start node, generates one and is made up of a node Network structure;
Step 3.1.4: this coded identification is put and transmits in the channel;
Step 3.2: generate next coded identification;
Step 3.2.1: be distributed according to the degree of step 2, this degree be distributed stochastic generation another positive integer d ', at random from original K packet in select a packet, this is grouped into first original selected generating the selection of next coded identification Packet, be also first the optional packet generating next coded identification;Add a new node in the network architecture, if choosing One packet of the original selected be generate other certain or some there is a packet of coded identification, then, this is new Even limit, and the power on limit is had between the node that node is the most corresponding with above-mentioned certain or some already present coded identification Value is the sequence number in a packet being grouped in all k originals of the original selected;If d '=1, then perform step 3.2.2;Otherwise perform step 3.2.3;
Step 3.2.2: all zero bit sequence isometric with it that be grouped of the original that step 3.2.1 selects carries out XOR, Forming a new packet, this is grouped into the next coded identification of generation, this coded identification is put and transmits in the channel, arrives Step 3.3 continues executing with;
Step 3.2.3: in all packets of original in addition to for generating the packet that next coded identification had been selected, remaining Selecting another packet of original in packet, this is grouped into another packet selected generating next coded identification;
Step 3.2.4: find out that all another packets by step 3.2.3 participate in generating exist coded identification and Node corresponding in network structure, checks that the node that the new node in step 3.2.1 is the most corresponding with these exists even limit, if not There is even limit, show that another packet selected does not results in the tetracyclic structure of LT code, then continue executing with from step 3.2.5;If There is even limit, then show that this another packet will result in the tetracyclic structure of LT code, this another packet is not to generate the next one to compile The optional packet of code sign, now, if yet suffering from the packet of the original into generating the next the most selected mistake of coded identification, then Return to step 3.2.3 continue executing with, otherwise arrive step 3.2.9 and continue executing with;
Step 3.2.5: find out that all another packets by step 3.2.3 participate in generating exist coded identification and Node corresponding in network structure, checks whether the node that there is even limit in the network architecture with new node participates in another packet There is even limit in the node that there is coded identification correspondence in the network architecture of generation, if there is not even limit or existence to connect limit also And the weights on limit are grouped in the sequence number in all packets of original equal to another, then show that another packet does not results in Six ring structures of LT code, this another be grouped into the optional packet generating next coded identification, continue executing with to step 3.2.6; If there is even limit, and the weights connecting limit are not equal to another sequence number being grouped in the packet of original, then show to have six Ring structure, i.e. this another packet will result in six ring structures of LT code, and this another packet is not to generate next coded identification Optional packet, now, if yet suffering from the packet of the original of the most selected mistake, then returns to step 3.2.3 and continues executing with;Otherwise, Continue executing with from step 3.2.9;
Step 3.2.6: find out that all another packets by step 3.2.3 participate in generating exist coded identification and Node corresponding in network structure, adds the node of these correspondences and the company limit of new node in the network architecture, and the weights on limit are Another is grouped in the sequence number in all packets of original;
Step 3.2.7: if optional grouping number continues executing with from step 3.2.8, if optional grouping number is less than equal to d ' D ' is individual, then continue executing with from step 3.2.9;
Step 3.2.8: the individual packet of this d ' carries out XOR and obtains a new packet, what this was new is grouped into next coding symbol Number, this coded identification is put and is transmitted in the channel;Perform step 3.3;
Step 3.2.9: if yet suffering from the packet of the original of the most selected mistake, then repeat step 3.2.3;If it is the most selected The packet crossed, then arbitrarily select the packet of original beyond optional packet, until selected packet count is d ';This The individual packet of d ' carries out XOR and generates a new packet, i.e. next coded identification, and puts to enter in the channel by this coded identification Row transmission;
Step 3.3: the process of repeated execution of steps 3.2, generates remaining coded identification, until transmitting terminal receives receiving terminal and returns Back to the feedback information that the most correctly recovers of file till.
CN201310507723.6A 2013-10-23 2013-10-23 The transmission coded method of a kind of file based on complex network Active CN103532674B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310507723.6A CN103532674B (en) 2013-10-23 2013-10-23 The transmission coded method of a kind of file based on complex network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310507723.6A CN103532674B (en) 2013-10-23 2013-10-23 The transmission coded method of a kind of file based on complex network

Publications (2)

Publication Number Publication Date
CN103532674A CN103532674A (en) 2014-01-22
CN103532674B true CN103532674B (en) 2016-08-17

Family

ID=49934391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310507723.6A Active CN103532674B (en) 2013-10-23 2013-10-23 The transmission coded method of a kind of file based on complex network

Country Status (1)

Country Link
CN (1) CN103532674B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929275B (en) * 2014-04-30 2017-10-03 电子科技大学 Distributed SF-LT code coding method with scale-free characteristic
CN107612897A (en) * 2017-09-07 2018-01-19 唐冬香 A kind of data transmission method
CN108259930B (en) * 2018-01-16 2020-08-14 深圳市力沃信息科技有限公司 Transmission control method and system for electronic class board
CN108267950B (en) * 2018-01-19 2021-02-12 东北大学 Simple fractional order complex network external hybrid synchronization method
CN115333673A (en) * 2022-07-29 2022-11-11 南京信息工程大学 An ILT-based block coding transmission method in a blockchain network

Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2011-05-11 2012-01-18 浙江大学 A Raptor Codes Encoding and Decoding Method for Medium and Short Code Lengths Suitable for Additive White Gaussian Noise Channels
CN103023937A (en) * 2011-09-26 2013-04-03 北大方正集团有限公司 Method and system for distributing network files
CN103078707A (en) * 2013-01-03 2013-05-01 北京理工大学 File transmission method in deep space communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2011-05-11 2012-01-18 浙江大学 A Raptor Codes Encoding and Decoding Method for Medium and Short Code Lengths Suitable for Additive White Gaussian Noise Channels
CN103023937A (en) * 2011-09-26 2013-04-03 北大方正集团有限公司 Method and system for distributing network files
CN103078707A (en) * 2013-01-03 2013-05-01 北京理工大学 File transmission method in deep space communication

Also Published As

Publication number Publication date
CN103532674A (en) 2014-01-22

Similar Documents

Publication Publication Date Title
CN102164026B (en) Fountain code compiling method based on deep space communication environment
JP4971144B2 (en) File download and streaming system
KR101421286B1 (en) Methods and apparatus employing fec codes with permanent inactivation of symbols for encoding and decoding processes
CN101529775B (en) Forward error correction encoding for multiple link transmission compatible with 64b/66b scrambling
CN103532674B (en) The transmission coded method of a kind of file based on complex network
CN102355341B (en) A Network Coding Method for Hybrid Automatic Repeat Request for Long Term Evolution System
CN101427495A (en) Multiple-field based code generator and decoder for communications systems
WO2018196765A1 (en) Polar code transmission method and device
CN106209302B (en) Data transmission processing method and device
JP2015520990A (en) Packet transmitting / receiving apparatus and method in broadcasting and communication system
CN102684856A (en) Data retransmission method and device
CN106464432B (en) Low-latency packet erasure coding
CN103200088A (en) Improved type MMRS fixed relay node selection signal transmission method based on fountain encoding
CN109347777A (en) A High Frequency Band Utilization MT-MFSK Underwater Acoustic Communication Method
CN106998308A (en) A kind of frame hopping transmission method in Sparse Code multiple access access based on time-varying code book
CN102237966A (en) Digital fountain code decoding method based on degree 2 and high-degree encoding packets
CN107347000A (en) A kind of Encoding Realization method of the digital fountain code based on ARM
WO2019237624A1 (en) Scrambling method and device, and readable storage medium
KR20090010702A (en) An apparatus and method for constructing a generation matrix for linear block coding, and a coding apparatus and a decoding apparatus using the generation matrix generated by the method
CN104219032B (en) Minimum packet loss repeating method in multicast scene in WLAN
CN102195743A (en) Coding scheme of dynamic real-time fountain code
CN118041490A (en) Based on GF (2)m) Finite field large-scale multiple access method
CN103532666B (en) Improve the method for data transmission efficiency and LT code performance in distributed transmission
WO2023029880A1 (en) Data interleaving method and data interleaving apparatus
Rakesh et al. Efficient broadcasting in parallel networks using network coding

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