CN114900273B - A continuous reliable transmission method based on covering window and non-uniform sampling fountain code - Google Patents

A continuous reliable transmission method based on covering window and non-uniform sampling fountain code Download PDF

Info

Publication number
CN114900273B
CN114900273B CN202210329462.2A CN202210329462A CN114900273B CN 114900273 B CN114900273 B CN 114900273B CN 202210329462 A CN202210329462 A CN 202210329462A CN 114900273 B CN114900273 B CN 114900273B
Authority
CN
China
Prior art keywords
data
sampling
block
codes
source code
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
CN202210329462.2A
Other languages
Chinese (zh)
Other versions
CN114900273A (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.)
Shanghai Jiao Tong University
Original Assignee
Shanghai Jiao Tong University
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 Shanghai Jiao Tong University filed Critical Shanghai Jiao Tong University
Priority to CN202210329462.2A priority Critical patent/CN114900273B/en
Publication of CN114900273A publication Critical patent/CN114900273A/en
Application granted granted Critical
Publication of CN114900273B publication Critical patent/CN114900273B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signalling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention relates to a continuous and reliable transmission method based on a coverage window and non-uniform sampling fountain codes, which comprises the following steps: 1) Dividing the data blocks of the transmitted data according to the time delay requirement; 2) Equalizing sampling times of each source code based on a coding strategy of non-uniform sampling, and generating codes according to a coding mode of fountain codes; 3) And (3) continuously transmitting the source data based on the codes generated in the step (2) by adopting a transmission mode of covering windows according to the division mode of the step (1). Compared with the prior art, the method has the advantages of reducing redundancy, reducing average influence of lost partial codes and the like.

Description

一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法A continuous reliable transmission method based on covering window and non-uniform sampling fountain code

技术领域Technical Field

本发明涉及网络编码与传输技术领域,尤其是涉及一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法。The present invention relates to the field of network coding and transmission technology, and in particular to a continuous reliable transmission method based on a covering window and a non-uniform sampling fountain code.

背景技术Background technique

对于传输信道来说,尤其在无线自组网场景下,传输可靠性是重要的考察指标之一。通信系统通常采用ARQ机制来应对有损信道。在ARQ机制中,发送端根据接收端的反馈来重传信息,以保证数据的可靠传输。但是当发生网络拥塞或者丢包时,发送端等待反馈超时并重传信息,这会浪费带宽资源并增加时延。为避免这样的问题,另一种思路是使用具有纠错能力的信道编码来对抗数据丢失,其中典型的信道纠错编码为FEC技术。在基于FEC的发送中,发送端通过信道编码的方式,为传输的数据增加了一些冗余,接收端由于丢包,接收到的信息并不完整。但是根据接收的冗余信息,能够恢复丢失掉的信息,避免了ARQ机制对于带宽资源的浪费。传统的FEC编码有Turbo码、RS码、LDPC码等,是具有固定码率的编码。但是由于信道状态的不确定性,采用固定码率的FEC编码后通常还会有部分数据无法成功恢复,因此如果期望完全接收发送数据,还需要少量的ARQ请求来确保其可靠传输。另一种FEC编码思路是无速率编码,例如喷泉码。其编码器理论上可以产生任意数量的编码,不需要指定码率,所以被称为无速率码。接收端根据接收到的数据尝试解码,如果解码成功,结束当前源码块的传输。由香农第二定理可知,当码块无限长时,吞吐量可以达到香农极限。但是在实际系统中,由于时延要求,需要将源码块切分成多个短块,然后连续传输。对于单个短块,喷泉码的编码冗余度随着码块变短而显著增加。因此,如何改善短码长喷泉码的冗余度是目前需要解决的重要问题之一。For transmission channels, especially in wireless ad hoc network scenarios, transmission reliability is one of the important evaluation indicators. Communication systems usually use the ARQ mechanism to deal with lossy channels. In the ARQ mechanism, the sender retransmits information based on the feedback from the receiver to ensure reliable data transmission. However, when network congestion or packet loss occurs, the sender waits for the feedback timeout and retransmits the information, which wastes bandwidth resources and increases latency. To avoid such problems, another idea is to use channel coding with error correction capabilities to combat data loss, among which the typical channel error correction coding is FEC technology. In FEC-based transmission, the sender adds some redundancy to the transmitted data through channel coding. Due to packet loss, the received information at the receiver is incomplete. However, based on the received redundant information, the lost information can be restored, avoiding the waste of bandwidth resources by the ARQ mechanism. Traditional FEC codes include Turbo codes, RS codes, LDPC codes, etc., which are codes with fixed code rates. However, due to the uncertainty of the channel state, some data cannot be successfully recovered after using fixed-rate FEC encoding. Therefore, if you want to receive the transmitted data completely, you need a small number of ARQ requests to ensure its reliable transmission. Another FEC encoding idea is rateless coding, such as fountain codes. Its encoder can theoretically generate any number of codes without specifying a code rate, so it is called rateless code. The receiver attempts to decode based on the received data. If the decoding is successful, the transmission of the current source code block is terminated. According to Shannon's second theorem, when the code block is infinitely long, the throughput can reach the Shannon limit. However, in actual systems, due to delay requirements, the source code block needs to be divided into multiple short blocks and then transmitted continuously. For a single short block, the coding redundancy of the fountain code increases significantly as the code block becomes shorter. Therefore, how to improve the redundancy of short-code-length fountain codes is one of the important issues that need to be solved at present.

发明内容Summary of the invention

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法。The purpose of the present invention is to overcome the defects of the above-mentioned prior art and provide a continuous reliable transmission method based on covering window and non-uniform sampling fountain code.

本发明的目的可以通过以下技术方案来实现:The purpose of the present invention can be achieved by the following technical solutions:

一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法,该方法包括:A continuous reliable transmission method based on a cover window and a non-uniform sampling fountain code, the method comprising:

S1:根据时延要求将发送数据进行数据块划分。S1: Divide the transmitted data into data blocks according to the delay requirements.

S2:基于非均匀采样的编码策略均衡各个源码的采样次数,并按喷泉码的编码方式生成编码。S2: The coding strategy based on non-uniform sampling balances the sampling times of each source code and generates the code according to the encoding method of fountain code.

S3:基于S2生成的编码发送源数据,并根据S1的划分方式,采用覆盖窗的传输方式进行连续传输。S3: Send source data based on the code generated by S2, and transmit continuously using a covering window transmission method according to the division method of S1.

进一步地,S1的具体内容为:Furthermore, the specific content of S1 is:

首先将发送数据划分为大小相同的数据块,随后对划分后的每一数据块独立进行编码后进行分块传输;每一数据块传输结束后接收端发送一个ACK信息,通知发送端停止本数据块的发送;发送端接收到ACK之后,停止本数据块的发送,转而发送下一数据块,并重复以上过程;其中,覆盖窗将前后数据进行重合,编码时,将覆盖部分作为本数据块的一部分加入编码。First, the transmitted data is divided into data blocks of the same size, and then each divided data block is independently encoded and transmitted in blocks; after each data block is transmitted, the receiving end sends an ACK message to notify the sending end to stop sending this data block; after receiving the ACK, the sending end stops sending this data block and sends the next data block instead, and repeats the above process; among them, the overlay window overlaps the previous and next data, and when encoding, the overlay part is included in the encoding as part of this data block.

进一步地,S2的具体内容为:Furthermore, the specific content of S2 is:

首先从度函数中采样度值d,并对度值与阈值d*进行比较,当度值d≤d*时,直接从源码集中采样,否则,从源码集中依次选取d个源码,并根据其被采样的次数计算加入编码集的概率,随后依据此概率决定是否加入,并不断重复,直至从源码集中选取到了d个源码后,依据源码集合按喷泉码中XOR编码方式,生成编码。First, sample the degree value d from the degree function and compare it with the threshold d * . When the degree value d≤d * , sample directly from the source code set. Otherwise, select d source codes from the source code set in turn, and calculate the probability of adding them to the encoding set based on the number of times they are sampled. Then decide whether to add them based on this probability, and repeat this process until d source codes are selected from the source code set. Then generate the code based on the source code set according to the XOR encoding method in the fountain code.

进一步地,在基于非均匀采样的编码策略均衡各个源码的采样次数中,利用当前源码的被采样次数,计算是否加入采样的概率,并依据计算的概率决定源码是否加入编码,随后不断重复此过程,直至采样到符合要求的源码个数。Furthermore, in the coding strategy based on non-uniform sampling to balance the sampling times of each source code, the number of times the current source code is sampled is used to calculate the probability of whether to add sampling, and whether the source code is added to the encoding is determined based on the calculated probability. This process is then repeated until the number of source codes that meet the requirements is sampled.

进一步地,S3的具体内容为:Furthermore, the specific content of S3 is:

基于S2生成的编码发送源数据,并根据S1中的划分方式采用覆盖窗的传输方式,使每段数据之间首尾依赖,并将上一块解码完成的数据作为下一块数据的先置信息加入解码,利用喷泉码分块编码后的码元进行发送;接收端只保留当前数据包的分块信息及编码信息,并依据已接收的包不断尝试进行解码,当接收端完全解码完成,则接收端停止接收此数据块的数据包,发送端发送下一数据块,实现连续数据传输。The source data is sent based on the code generated by S2, and the covering window transmission method is adopted according to the division method in S1, so that each segment of data is dependent on each other, and the data of the previous decoded block is added to the decoding as the prerequisite information of the next block of data, and the code elements after block encoding are sent using the fountain code; the receiving end only retains the block information and coding information of the current data packet, and continuously tries to decode according to the received packets. When the receiving end completes the decoding, the receiving end stops receiving the data packet of this data block, and the sending end sends the next data block to realize continuous data transmission.

进一步地,覆盖窗的传输方式中,将下一块编码中加入上一块解码成功的源码,作为本块解码的先置信息,即在解码时作为度为1的节点加入解码。Furthermore, in the transmission mode of the covering window, the source code of the previous successfully decoded block is added to the encoding of the next block as the pre-information of the decoding of this block, that is, it is added to the decoding as a node with a degree of 1 during decoding.

本发明提供的基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法,相较于现有技术至少包括如下有益效果:The continuous reliable transmission method based on cover window and non-uniform sampling fountain code provided by the present invention has at least the following beneficial effects compared with the prior art:

1)本发明方法通过基于覆盖窗的连续传输策略,提升了解码端的性能表现;通过在编码过程中依据采样次数动态更新采样概率,提升了源码被采样次数的均匀性,降低了短码长喷泉码的冗余度。1) The method of the present invention improves the performance of the decoding end through a continuous transmission strategy based on a covering window; by dynamically updating the sampling probability according to the sampling number during the encoding process, the uniformity of the number of source code samplings is improved, and the redundancy of the short code and long fountain code is reduced.

2)本发明改进了采样策略,使得源码的被编码平均次数显著提高,并且相互之间差异更小,编码更公平;从解码端来看,丢失部分编码的平均影响较小。2) The present invention improves the sampling strategy, so that the average number of times the source code is encoded is significantly increased, and the difference between them is smaller, and the encoding is fairer; from the decoding end, the average impact of the lost part of the encoding is small.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1为实施例中基于覆盖窗的分窗传输策略的分块传输示意图;FIG1 is a schematic diagram of block transmission based on a window transmission strategy of a covering window in an embodiment;

图2为实施例中基于非均匀采样的编码策略的流程示意图;FIG2 is a schematic diagram of a flow chart of a coding strategy based on non-uniform sampling in an embodiment;

图3为实施例中可靠传输协议报文设计;FIG3 is a reliable transmission protocol message design in an embodiment;

图4为实施例中源码包索引报文段设计;FIG4 is a design of a source code packet index message segment in an embodiment;

图5为实施例中网络数据封装过程;FIG5 is a diagram showing a network data encapsulation process in an embodiment;

图6为实施例中网络协议栈设计;FIG6 is a network protocol stack design according to an embodiment;

图7为实施例中基于喷泉码可靠传输协议的收发缓存设计。FIG. 7 is a design of a transceiver cache based on a fountain code reliable transmission protocol in an embodiment.

具体实施方式Detailed ways

下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。The present invention is described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work should belong to the scope of protection of the present invention.

实施例Example

本发明涉及一种基于覆盖窗和非均匀采样喷泉码的连续可靠传输方法,用于解决多跳网络中网络传输可靠性的问题。该方法的具体方案在于:The present invention relates to a continuous reliable transmission method based on a covering window and a non-uniform sampling fountain code, which is used to solve the problem of network transmission reliability in a multi-hop network. The specific scheme of the method is:

步骤一、本发明方法采用基于覆盖窗的分窗传输策略。根据时延要求将发送数据进行分块;在具体通信场景中,根据时延的要求,需要将数据进行划分,并在划分之后按覆盖窗的方式连续传输,当前一块编解码完成之后,移动到下一数据块。此时,编码时延正比于窗长大小,编码源按照任务的不同可以设置为比特数据或者单个包的数据。Step 1. The method of the present invention adopts a window transmission strategy based on a covering window. The transmitted data is divided into blocks according to the delay requirements; in a specific communication scenario, according to the delay requirements, the data needs to be divided, and after the division, it is continuously transmitted in a covering window manner. After the current block is encoded and decoded, it moves to the next data block. At this time, the coding delay is proportional to the window length, and the coding source can be set to bit data or single packet data according to different tasks.

具体地:在传输中,首先将数据划分成大小相同的数据块,然后每一块独立进行编码,并按图1进行分块传输,每一块传输结束之后接收端发送一个ACK信息,通知发送端停止本块发送;发送端接收到ACK之后,停止本块发送,转而发送下一块数据,并重复以上过程。其中,覆盖窗将前后数据进行一定程度的重合,编码时,覆盖部分也作为本块的一部分加入编码。Specifically: during transmission, the data is first divided into blocks of the same size, and then each block is encoded independently and transmitted in blocks as shown in Figure 1. After each block is transmitted, the receiving end sends an ACK message to notify the sending end to stop sending this block; after receiving the ACK, the sending end stops sending this block and sends the next block of data, and repeats the above process. Among them, the coverage window overlaps the previous and next data to a certain extent. When encoding, the coverage part is also included in the encoding as part of this block.

步骤二、本发明方法采用基于非均匀采样的编码策略。即在编码中,改进了原有喷泉码确定度之后完全随机的采样策略,提出了基于被采样次数更新的非均匀采样策略,该策略能够优化短码长情况下喷泉码的性能表现,降低冗余度。Step 2: The method of the present invention adopts a coding strategy based on non-uniform sampling. That is, in coding, the original fountain code completely random sampling strategy after the certainty is improved, and a non-uniform sampling strategy based on the number of sampling times is proposed. This strategy can optimize the performance of the fountain code under the condition of short code length and reduce redundancy.

具体地,本发明基于非均匀采样的编码策略通过均衡各个源码的采样次数提高解码成功率。在每次采样时,通过当前源码已被采样的次数,计算相应的采样概率,然后决定是否采样该源码。在具体的算法设计中,采样次数越高,计算所得的采样概率越低,使得新产生的编码更多地采样还未被充分编码的源码。基于非均匀采样的编码策略的流程如图2所示,图中,阈值d*的作用是去除低度数编码的非均匀采样,只关注较大度数的编码采样优化,可以减少接下来基于概率的选取次数,加快编码速率。计算被采样概率的公式为:Specifically, the coding strategy based on non-uniform sampling of the present invention improves the decoding success rate by balancing the sampling times of each source code. At each sampling, the corresponding sampling probability is calculated by the number of times the current source code has been sampled, and then a decision is made whether to sample the source code. In the specific algorithm design, the higher the sampling times, the lower the calculated sampling probability, so that the newly generated code samples more source codes that have not been fully encoded. The process of the coding strategy based on non-uniform sampling is shown in Figure 2. In the figure, the role of the threshold d * is to remove the non-uniform sampling of low-degree codes, and only focus on the sampling optimization of codes with larger degrees, which can reduce the number of subsequent probability-based selections and speed up the coding rate. The formula for calculating the probability of being sampled is:

π(ds)=exp(-c*ds)π(d s )=exp(-c*d s )

其中,π(ds)为被采样概率,c为常数并且c>0,保证了0<π(ds)<1。ds为每个源码的被采样次数,ds需要在采样结束后在中源码集不断更新。Where π(d s ) is the sampling probability, c is a constant and c>0, which ensures 0<π(d s )<1. d s is the number of times each source code is sampled, and d s needs to be continuously updated in the source code set after sampling.

进一步地,改进的采样策略中,主要的差别是要对度值和阈值d*进行判断,即首先基于度函数通过完全随机采样确定度值d,当d≤d*时,则直接从源码集中随机采样d个源码后,完成采样;当度值d>d*时,从源码集中依次选取d个源码,并根据其被采样的次数计算加入编码集的概率,然后依据此概率决定是否加入,并不断重复,直到从源码集中选取到了d个源码。然后依据源码集合按喷泉码中XOR编码方式,生成编码。具体内容为:当度值d>d*时,令计数器λ=0,然后使用π(ds)=exp(-c*ds)来决定是否用来编码,即:生成决策概率p~U(0,1),然后进行判断,若p>π(ds),则重新选取源码并计算采样概率;若p≤π(ds),则保留源码并令采样次数λ=λ+1,然后执行采样次数λ的判断;若λ<ds,则重新选取源码计算采样概率,若λ≥ds,则结束采样。Furthermore, in the improved sampling strategy, the main difference is to judge the degree value and the threshold d * , that is, first determine the degree value d through completely random sampling based on the degree function. When d≤d * , directly randomly sample d source codes from the source code set to complete the sampling; when the degree value d>d * , select d source codes from the source code set in turn, and calculate the probability of adding to the encoding set according to the number of times it is sampled, and then decide whether to add it according to this probability, and repeat it continuously until d source codes are selected from the source code set. Then, according to the source code set, the code is generated according to the XOR encoding method in the fountain code. The specific content is: when the degree value d>d * , set the counter λ=0, and then use π( ds )=exp(-c* ds ) to decide whether to use it for encoding, that is: generate a decision probability p~U(0,1), and then make a judgment. If p>π( ds ), reselect the source code and calculate the sampling probability; if p≤π( ds ), retain the source code and set the sampling number λ=λ+1, and then execute the judgment of the sampling number λ; if λ< ds , reselect the source code to calculate the sampling probability. If λ≥ds , end the sampling.

由于π(d+1)<π(d),当前编码次数少的源码有更高的被采样概率,优先采样编码。全部编码完成后,各个源码的采样次数差异越小越有利于解码。相比于原始的编码,改进采样策略之后,源码的被编码平均次数显著提高,并且相互之间差异更小,编码更公平。从解码端来看,丢失部分编码的平均影响较小。Since π(d+1)<π(d), the source code with fewer current encoding times has a higher probability of being sampled, and is sampled and encoded first. After all encoding is completed, the smaller the difference in the number of sampling times of each source code, the more conducive it is to decoding. Compared with the original encoding, after improving the sampling strategy, the average number of times the source code is encoded is significantly increased, and the difference between them is smaller, and the encoding is fairer. From the decoding end, the average impact of the lost part of the encoding is small.

步骤三、基于上述改进的喷泉码,连续发送源数据。并根据步骤一中的划分方式采用覆盖窗的传输方式,每段数据之间首尾依赖,上一块解码完成的数据可以作为下一块数据的先置信息加入解码,以提高编码效率,并依据喷泉码前向纠错的能力在无需ARQ的机制下保证可靠传输。利用喷泉码分块编码后的码元进行发送,接收端只保留当前数据包的分块信息及编码信息,对于传输导致的信道丢包并不进行请求重传,而是依据已接收的包不断尝试进行解码。当接收端完全解码完成,则接收端停止接收此块的数据包。发送端发送下一数据块,实现连续数据传输。即根据步骤一中的划分方式采用覆盖窗的传输方式,使每段数据之间首尾依赖,并将上一块解码完成的数据作为下一块数据的先置信息加入解码,利用喷泉码分块编码后的码元进行发送;接收端只保留当前数据包的分块信息及编码信息,并依据已接收的包不断尝试进行解码,当接收端完全解码完成,则接收端停止接收此数据块的数据包,发送端发送下一数据块,实现连续数据传输。优选地,覆盖窗的传输方式中,将下一块编码中加入上一块解码成功的源码,作为本块解码的先置信息,即在解码时作为度为1的节点加入解码。Step 3: Based on the improved fountain code, the source data is continuously sent. According to the division method in step 1, a covering window transmission method is adopted. Each segment of data is dependent on each other. The decoded data of the previous block can be added to the decoding as the pre-information of the next block of data to improve the coding efficiency, and based on the forward error correction capability of the fountain code, reliable transmission is guaranteed without the ARQ mechanism. The code elements encoded by the fountain code are sent in blocks. The receiving end only retains the block information and coding information of the current data packet. It does not request retransmission for channel packet loss caused by transmission, but continuously attempts to decode based on the received packets. When the receiving end completes the decoding, it stops receiving the data packets of this block. The sending end sends the next data block to achieve continuous data transmission. That is, according to the division method in step 1, a covering window transmission method is adopted, so that each data segment is dependent on the head and tail, and the data of the previous decoded block is added to the decoding as the pre-information of the next block of data, and the code elements after block encoding are sent using the fountain code; the receiving end only retains the block information and encoding information of the current data packet, and continuously attempts to decode according to the received packets. When the receiving end completely completes the decoding, the receiving end stops receiving the data packet of this data block, and the sending end sends the next data block to achieve continuous data transmission. Preferably, in the covering window transmission method, the source code of the previous successfully decoded block is added to the next block of encoding as the pre-information of the decoding of this block, that is, it is added to the decoding as a node with a degree of 1 during decoding.

在本发明方法的实际实施的应用中,传输报文的设计从基础的UDP协议报文格式出发,结合基于LT码编解码所需的信息,本发明重新设计了发送报文,其中主要是加入了对于编码块的标识和源码包的标识。如图3所示,图中描述了可靠传输协议的报文格式。在具体的格式设计中,第一部分是UDP协议中原本的头信息,包括:源端口(Source Port)、目标端口(Destination Port)、报文长度(Length)和校验和(Checksum)。长度字段指示了UDP报文段中的字节数,包括了首部和数据,在本协议设计中也包括保证RDT的头部信息。校验和是接收方用来检验和检查该报文段中是否出现了差错。对于使用喷泉码来实现RDT的协议来说,本发明加入了两个字段,分别是:源码块索引(Fountain Block Index)和编码包索引(Encoding Source Index)。源码块索引标识的是该编码产生的数据包处于所有数据块中的位置,便于接收端依据该索引恢复全部数据,占用了16位比特,最大值为65535。编码包索引标识的是在该源码块中,编码本包所使用的源码,并用0/1分别标识是否使用该源码包。为了保证字段对齐,加入了保留字段(Reserved Field),并且可以在传输更长数据时作为源码块索引的扩展部分。报文中剩余部分为应用层数据(Message),具体的大小根据上层应用的打包大小决定。In the actual implementation of the method of the present invention, the design of the transmission message starts from the basic UDP protocol message format, and combines the information required for LT code encoding and decoding. The present invention redesigns the transmission message, which mainly adds the identification of the encoding block and the identification of the source code packet. As shown in Figure 3, the figure describes the message format of the reliable transmission protocol. In the specific format design, the first part is the original header information in the UDP protocol, including: source port (Source Port), destination port (Destination Port), message length (Length) and checksum (Checksum). The length field indicates the number of bytes in the UDP message segment, including the header and data, and the header information to ensure RDT is also included in the protocol design. The checksum is used by the receiver to check and check whether an error has occurred in the message segment. For the protocol that uses fountain codes to implement RDT, the present invention adds two fields, namely: source block index (Fountain Block Index) and encoding packet index (Encoding Source Index). The source block index identifies the position of the data packet generated by the encoding in all data blocks, which is convenient for the receiving end to recover all data based on the index, occupying 16 bits, and the maximum value is 65535. The code packet index identifies the source code used to encode this packet in the source code block, and uses 0/1 to indicate whether the source code packet is used. In order to ensure field alignment, a reserved field (Reserved Field) is added, and it can be used as an extension of the source code block index when transmitting longer data. The rest of the message is the application layer data (Message), and the specific size is determined by the packaging size of the upper layer application.

编码包索引占用的数据长度需要根据实际编码块的长度调整。如图4所示,其展示了当采用8个字节长来标识源码包的情况,8个字节可以标识源码块最大的长度为64。在实际设计中,需要根据时延要求估计源码块的长度,并设定源码包索引字段的长度。在图中,某位为0表示编码时未使用该序号源码,为1表示编码时使用了该源码,图中表示编码时使用了码块中下标为0、8、24、47的源码来编码,编码的度为4。The data length occupied by the coding packet index needs to be adjusted according to the length of the actual coding block. As shown in Figure 4, it shows the case when 8 bytes are used to identify the source code packet. 8 bytes can identify the maximum length of the source code block of 64. In the actual design, it is necessary to estimate the length of the source code block according to the delay requirements and set the length of the source code packet index field. In the figure, a bit of 0 indicates that the source code with the serial number is not used during encoding, and a bit of 1 indicates that the source code is used during encoding. The figure shows that the source code with subscripts 0, 8, 24, and 47 in the code block is used for encoding, and the degree of encoding is 4.

从协议栈设计的角度,本发明中的可靠传输方法使用UDP作为运输层协议,并利用喷泉码实现前向纠错,两者结合之后代替原有网络中的可靠传输机制,如图5所示。图中省略协议栈的MAC层、物理层等其它固定部分。在发送端,从传输层发送的数据根据编码信息加入具体的头信息,然后转发给IP层进行传输。在接收端,对于IP层解析的数据首先根据包中的喷泉码编码信息进行解析,并进行相应的解码,直到当前编码块成功解码之后,传输给上层协议。网络中传输层协议使用UDP协议。网络IP层协议不需要特殊指定协议,可以根据具体的网络架构使用不同的协议。From the perspective of protocol stack design, the reliable transmission method in the present invention uses UDP as the transport layer protocol and uses fountain codes to implement forward error correction. The combination of the two replaces the reliable transmission mechanism in the original network, as shown in Figure 5. Other fixed parts of the protocol stack such as the MAC layer and physical layer are omitted in the figure. At the sending end, the data sent from the transport layer is added with specific header information according to the encoding information, and then forwarded to the IP layer for transmission. At the receiving end, the data parsed by the IP layer is first parsed according to the fountain code encoding information in the packet, and corresponding decoding is performed until the current encoding block is successfully decoded and transmitted to the upper layer protocol. The transport layer protocol in the network uses the UDP protocol. The network IP layer protocol does not require a special specified protocol, and different protocols can be used according to the specific network architecture.

在网络数据传输过程中,每一层协议会根据本层协议要求加入不同的包头。图6描述了本发明中协议涉及到的数据打包流程。应用层数据产生之后,发送到对应的端口。在可靠传输协议中:传输层的UDP协议将数据加上UDP的报文头,并加入实现喷泉码编解码的相关报文头,然后传输给下层路由协议;IP层接收到数据后也将头部信息加入并发送。在接收端,数据经过相反的流程逐层解析。During the network data transmission process, each layer of protocol will add different packet headers according to the requirements of the protocol of this layer. Figure 6 describes the data packaging process involved in the protocol of the present invention. After the application layer data is generated, it is sent to the corresponding port. In the reliable transmission protocol: the UDP protocol of the transport layer adds the UDP message header to the data, and adds the relevant message headers for implementing fountain code encoding and decoding, and then transmits it to the lower layer routing protocol; after the IP layer receives the data, it also adds the header information and sends it. At the receiving end, the data is parsed layer by layer through the opposite process.

如图7所示,上层业务产生具体的发送数据,存入发送缓存中。由于喷泉码编码需要已知分组内的全部信息,所以数据产生之后不能立刻编码发送。当缓存中的数据达到发送要求之后,将相应的分组读入编码缓存。编码器将缓存内的数据作为一个分组,开始不断产生编码并发送。接收端的缓存也分为接收缓存和解码缓存。接收端将成功接收到的数据包首先保存在接收缓存中。解码缓存依据当前需要解码的块序号,从缓存中读取对应的数据分组到解码缓存中,开始解码。由于喷泉码的解码结果是乱序的,所以解码端不断检查当前成功解码数据的状态。当检测到成功解码完整数据块时,控制器将全部数据包按索引排好并上传给上层接收端。接收端校验信息无误后发送信号,清空解码器缓存,在使用覆盖窗传输时需要依据设定的覆盖比例在缓存中保留上一分组末尾对应的数据包,最后向发送端发送ACK信息。发送端依据ACK信息结束本组发送,控制器清空编码缓存并根据发送缓存状态尝试进行下一组发送。As shown in Figure 7, the upper layer service generates specific transmission data and stores it in the transmission buffer. Since the fountain code encoding requires all the information in the known packet, the data cannot be encoded and sent immediately after it is generated. When the data in the buffer meets the transmission requirements, the corresponding packet is read into the encoding buffer. The encoder regards the data in the buffer as a packet and starts to continuously generate and transmit the code. The receiving end's buffer is also divided into a receiving buffer and a decoding buffer. The receiving end first saves the successfully received data packet in the receiving buffer. The decoding buffer reads the corresponding data packet from the buffer to the decoding buffer according to the block sequence number that needs to be decoded currently, and starts decoding. Since the decoding result of the fountain code is out of order, the decoding end constantly checks the status of the current successfully decoded data. When a complete data block is detected to be successfully decoded, the controller arranges all data packets according to the index and uploads them to the upper layer receiving end. After the receiving end verifies that the information is correct, it sends a signal and clears the decoder buffer. When using the coverage window transmission, it is necessary to keep the data packet corresponding to the end of the previous packet in the buffer according to the set coverage ratio, and finally send ACK information to the sending end. The sending end ends the current group transmission according to the ACK information, and the controller clears the encoding buffer and attempts to send the next group according to the status of the sending buffer.

本发明方法通过基于覆盖窗的连续传输策略,提升了解码端的性能表现;通过在编码过程中依据采样次数动态更新采样概率,提升了源码被采样次数的均匀性,降低了短码长喷泉码的冗余度。The method of the present invention improves the performance of the decoding end through a continuous transmission strategy based on a covering window; by dynamically updating the sampling probability according to the sampling number during the encoding process, the uniformity of the number of source code samplings is improved, and the redundancy of the short code and long fountain code is reduced.

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person familiar with the technical field can easily think of various equivalent modifications or substitutions within the technical scope disclosed by the present invention, and these modifications or substitutions should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims (5)

1. A continuous reliable transmission method based on a coverage window and non-uniformly sampled fountain codes, comprising:
1) Dividing the data blocks of the transmitted data according to the time delay requirement;
2) Equalizing sampling times of each source code based on a coding strategy of non-uniform sampling, and generating codes according to a coding mode of fountain codes;
3) Based on the code transmission source data generated in the step 2), adopting a transmission mode of a coverage window to carry out continuous transmission according to the division mode of the step 1);
the specific content of the step 2) is as follows:
Firstly, sampling a degree value d from a degree function, comparing the degree value d with a threshold d *, and directly sampling from a source code set when the degree value d is less than or equal to d *, otherwise, sequentially selecting d source codes from the source code set, calculating the probability of adding the code set according to the sampled times, then determining whether to add according to the probability, repeating continuously until d source codes are selected from the source code set, and generating codes according to the XOR coding mode in fountain codes according to the source code set;
The formula for calculating the sampled probability is:
π(ds)=exp(-c*ds)
Wherein pi (d s) is the sampling probability, c is a constant and c is more than 0, which ensures that 0 < pi (d s) < 1, which is the sampling frequency of each source code;
When the degree value d is larger than d *, the counter lambda=0 is made to generate decision probabilities p-U (0, 1), then judgment is carried out, if p is larger than pi (d s), the source codes are selected again, and the sampling probability is calculated; if p is less than or equal to pi (d s), reserving source codes, enabling sampling times lambda=lambda+1, and then executing judgment of the sampling times lambda; if lambda < d s, the source code is selected again to calculate the sampling probability, and if lambda is more than or equal to d s, the sampling is finished.
2. The continuous reliable transmission method based on the coverage window and the non-uniform sampling fountain codes as claimed in claim 1, wherein the specific contents of the step 1) are as follows:
Firstly, dividing the transmission data into data blocks with the same size, and then independently encoding each divided data block and then carrying out block transmission; after the transmission of each data block is finished, the receiving end sends an ACK message to inform the sending end to stop sending the data block; after receiving the ACK, the sending end stops sending the data block, and sends the next data block, and repeats the process; wherein, the cover window overlaps the front and back data, and when coding, the cover part is added into the coding as a part of the data block.
3. The continuous and reliable transmission method based on the coverage window and the non-uniform sampling fountain codes according to claim 1, wherein in the sampling times of each source code are balanced based on the coding strategy of non-uniform sampling, the sampling times of the current source code are utilized to calculate the probability of whether to add the sampling, whether to add the coding is determined according to the calculated probability, and then the process is repeated until the number of the source codes meeting the requirement is sampled.
4. The continuous reliable transmission method based on the coverage window and the non-uniform sampling fountain codes as claimed in claim 1, wherein the specific contents of the step 3) are as follows:
Based on the code transmission source data generated in the step 2), adopting a transmission mode of a coverage window according to the division mode in the step 1), enabling each section of data to depend from head to tail, adding the data of which the decoding is completed in the last block as the pre-information of the next block of data to be decoded, and transmitting code elements after the fountain code block coding; the receiving end only keeps the blocking information and the coding information of the current data packet, and continuously tries to decode according to the received packet, when the receiving end finishes decoding completely, the receiving end stops receiving the data packet of the data block, and the transmitting end transmits the next data block, so that continuous data transmission is realized.
5. The continuous and reliable transmission method based on the coverage window and the non-uniform sampling fountain codes as claimed in claim 4, wherein in the transmission mode of the coverage window, the source code of the successful decoding of the previous block is added to the next block code, and the source code is used as the pre-information of the decoding of the current block, namely, the source code is added to the decoding as a node with the degree of 1 during the decoding.
CN202210329462.2A 2022-03-30 2022-03-30 A continuous reliable transmission method based on covering window and non-uniform sampling fountain code Active CN114900273B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210329462.2A CN114900273B (en) 2022-03-30 2022-03-30 A continuous reliable transmission method based on covering window and non-uniform sampling fountain code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210329462.2A CN114900273B (en) 2022-03-30 2022-03-30 A continuous reliable transmission method based on covering window and non-uniform sampling fountain code

Publications (2)

Publication Number Publication Date
CN114900273A CN114900273A (en) 2022-08-12
CN114900273B true CN114900273B (en) 2024-05-24

Family

ID=82715275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210329462.2A Active CN114900273B (en) 2022-03-30 2022-03-30 A continuous reliable transmission method based on covering window and non-uniform sampling fountain code

Country Status (1)

Country Link
CN (1) CN114900273B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116847453B (en) * 2023-09-04 2023-11-14 四川轻化工大学 Satellite data transmission and satellite Internet of things access time management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026707A (en) * 2016-02-02 2017-08-08 华为技术有限公司 A kind of channel coding of adaptive sample rate, coding/decoding method and device
WO2017161122A1 (en) * 2016-03-16 2017-09-21 University Of Florida Research Foundation, Incorporated System for live video streaming using delay-aware fountain codes
CN109547165A (en) * 2019-01-25 2019-03-29 天府新区西南交通大学研究院 A kind of design method of sliding window BATS Codes
CN112543044A (en) * 2020-11-24 2021-03-23 电子科技大学 Millimeter wave beam alignment method based on sparse coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026707A (en) * 2016-02-02 2017-08-08 华为技术有限公司 A kind of channel coding of adaptive sample rate, coding/decoding method and device
WO2017161122A1 (en) * 2016-03-16 2017-09-21 University Of Florida Research Foundation, Incorporated System for live video streaming using delay-aware fountain codes
CN109547165A (en) * 2019-01-25 2019-03-29 天府新区西南交通大学研究院 A kind of design method of sliding window BATS Codes
CN112543044A (en) * 2020-11-24 2021-03-23 电子科技大学 Millimeter wave beam alignment method based on sparse coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于喷泉码和并行路径的深空通信无反馈协议;刘珩;王正欢;李祥明;安建平;;重庆邮电大学学报(自然科学版)(第05期);全文 *

Also Published As

Publication number Publication date
CN114900273A (en) 2022-08-12

Similar Documents

Publication Publication Date Title
RU2469482C2 (en) Method and system for data transfer in data transfer network
US9215082B2 (en) Method and apparatus for hop-by-hop reliable multicast in wireless networks
US9325513B2 (en) Method and apparatus for hop-by-hop reliable multicast in wireless networks
CN101061659B (en) Adaptive forward error correction method and device
JP4703310B2 (en) Communication method and communication system
CN102299899B (en) Method for accelerating TCP (Transmission Control Protocol) under severe channel
KR20040023568A (en) Forward error correction system and method for packet based communication systems
CN101282203B (en) A Switched Multicast Transmission Method
CN103580773A (en) Method and device for transmitting data frame
CN113055285B (en) Adaptive Data Transmission Method Based on MPTCP and Network Coding
CN109889308A (en) Hybrid automatic retransmission request method based on joint polarization coding and decoding in the Internet of Things
CN107249203B (en) A Relay Agent Method for Long-distance Data Communication of Internet of Vehicles Based on Fountain Code
Nguyen et al. Hybrid ARQ-random network coding for wireless media streaming
CN114900273B (en) A continuous reliable transmission method based on covering window and non-uniform sampling fountain code
JP2010539768A (en) Improved data structure boundary synchronization between transmitter and receiver
WO2009027301A1 (en) Method, system, and apparatus for reliable data packet recovery
CN103391164B (en) A kind of message based on linear network encoding sends redundancy dynamic adjusting method
EP2846469A1 (en) Rateless encoding
JP7814612B2 (en) Rateless erasure coding for multi-hop broadcast transmission in wireless IoT networks
KR20100112151A (en) Network card and information processor
CN103354490A (en) Coding packet adaptive retransmission mechanism combining compensation and foresight
Van Vu et al. Adaptive redundancy control with network coding in multi-hop wireless networks
Tsai et al. Dynamical combination of byte level and sub-packet level FEC in HARQ mechanism to reduce error recovery overhead on video streaming over wireless networks
CN101278514A (en) Method, device and system for error correction and selective retransmission
CN120935603A (en) Industrial wireless data transmission method, device and system

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