基于LDPC编译码的空间DTN网络Bundle前向纠错方法与流程

文档序号:12133411阅读:274来源:国知局
基于LDPC编译码的空间DTN 网络Bundle前向纠错方法与流程

本发明涉及空天通信传输技术领域,尤其涉及一种基于LDPC编译码的空间DTN网络Bundle前向纠错方法。



背景技术:

DTN(Delay Tolerant Network)最初提出是应用于行星际网络,以解决可预测性的中断问题以及长距离通信中的长延时等问题。后来又扩展到了其他的网络中,包括地面无线网络。空天DTN网络就是其中的一种,在常见的卫星通信中,源端和目的端之间的链路时断时连。从链路的特性上来说,空天DTN网络主要有长延时、链路中断频繁以及误码率高等三个特点。

长延时主要指的是长的传播延时和长的排队时间。卫星通信,尤其是在中轨卫星和同步卫星中,传播时间比较长。而在某些网络的多跳路径中,与传播延时相比,排队时间起主导作用。空天网络另一个特点链路中断频繁。在许多DTN网络中,端到端断开可能比端到端连接更加普遍。

空天DTN网络链路易受差错影响,误码率较高。卫星通信线路上无线电波经过长距离的空间传播后,信号功率衰减很大,同时在传播过程中还会引入各种噪声。

随着空天网络要求越来越复杂,对互操作性的需求越强烈。空间数据系统咨询委员会(CCSDS)以及一些其他的研究组织正致力于提供一个通信领域的互操作平台,这样能够开发更多的地球数据中继系统,提供更多的通信机会,增加数据传输量,减少任务的操控开销。而DTN体系结构则是作为一种异构网络区域互联的方式提出的,用于解决长延迟和链路间断导致的问题,本质上是将底层协议面临的问题隐藏以实现数据的交互。空天通信的资源是有限的,为了有效的利用宝贵的资源,空天通信的一个重要目标是实现数据的可靠传输。

BP(Bundle Protocol)协议是DTN协议中的最为重要的一个协议,能够运行于不同的协议之上。BP层协议中数据包的最小单位叫束(Bundle)。BP协议包含两个功能:存储-转发和托管传输。存储—携带—转发机制用于克服链路的中断。托管传输(Custody Transfer)是DTN网络协议中可选的一个机制,它让DTN网络中的节点充当数据的保管,作用保证了数据传输的可靠性。

BP协议运行于应用层之下传输层之上,可以使用在传感网络、空天网络和ad-hoc网络中。由于每种网络的特点不一样,因此很难找到一个普遍都适用的网络结构。DTN结构中的BP协议提出了一种通用的消息格式。BP协议层包括应用代理(Application Agent)、BP协议代理(Bundle Protocol Agent)和汇聚层适配器(Convergence Layer Adapter)这三个组件。应用代理组件包括管理和应用两个。管理元素用于发出传输管理记录的请求、接收交付以及处理节点接收到的托管信号。应用元素可以提供传输请求、接收数据角度以及处理与应用相关的数据单位的功能。BP协议提供两种可选的服务来保证数据的可靠传输:基于存储转发的托管传输机制与端到端的确认。当发生链路中断时,托管传输机制可以加强端到端可靠性传输。有效应对受限网络的频繁中断、长延时问题。端到端的确认保证了发送与收端之间的相互通信,实现了可靠性传输。BP层主要解决的是一种端到端可靠传输的问题。

但是,在端到端BP协议中,可靠性传输导致传输时延太长。BP协议具有存储-携带-转发、托管传输和端到端确认机制,空天网络环境中的信道误码率可能会随时变化,当误码率变大时,同一个尺寸的数据包丢包率增大。要想让发送端的数据包全部可靠传输到接收端,势必发送端和接收端之间的交互往返次数会增多。发送端重传的次数增大,需要的传输轮数增加,这样传输时延太大。这样整个数据传输的传输性能较低。

在国外,已经尝试将LEC(Long Erasure Code)引入到CCSDS(Consultative Committee for Space Data Systems)遥测链路有关协议,分别研究了LEC与SPP(Simplified Parallel Process)和CFDP(CCSDS File Delivery Protocol)结合的方案,同时给出了所用的LEC码的编码译码算法。也有提出将LEC与BP协议结合的方法,提出了将LDPC(Low Density Parity Check Code)码应用到BP协议中的可行性,分析了优点和一些缺点。提出了端到端传输,传输时延大的一种解决方法。

在国内的相关研究工作中,有提出LTP(Licklider Transmission Protocol)协议与信道编码如RS、LDPC码结合的方案,也有提出将喷泉码与CFDP协议相结合的方案。

将信道编码合理应用到协议中,使得在保证可靠传输的同时,减少重传的轮数,减小重传数据包个数,最终传输时延降低,提高传输性能。

现有国内优化方法中大部分是解决点到点传输性能不高的问题。对于端到端之间传输性能提高的解决方案也需要提出和实现。此外之前提出的解决方案偏向于传输距离极远、光程很大的情况。对于光程比较小的空天网络环境,考虑的比较少。另外之前提出的优化方法中,关于信道编码和协议结合后的传输模型研究的比较小。

综上所述,本发明提出的在端到端传输过程中,将LDPC结合到BP协议中,来研究光程比较短时(ms)传输情况将是十分有意义的,并且还推导出了结合后的数据包传输模型。这对于理论分析是是十分有帮助的。



技术实现要素:

本发明的目的在于通过对传统的空天网络环境中端到端传输进行了研究分析,提供一种将长纠删码LDPC和DTN通信网络中的BP协议相结合的方法,把LDPC码优良的编码译码性能运用到DTN网络中,使得整个传输的轮数在同样的参数配置下,会大大的降低,往返时间减低。对于空天通信网络来说,链路资源十分有限宝贵,这样就可以节省出更多的空间供其他信息的传输。

为达上述目的,本发明通过以下技术方案实现:

一种基于LDPC编译码的空间DTN网络Bundle前向纠错方法,所述方法将长纠删码LDPC应用到BP协议中去,所述方法包括:通过接口读入高层数据单元,按照当前网络的设置将数据单元ADU划分为多个Bundle,对于每个Bundle的前端都会携带有一个包头,里面包含着相关的控制信息;将这些Bundle送到LDPC编码器中,所述编码器按照码率R得到待发送的一批数据包;给每个数据包封装包头,接着送入信道进行传输;在接收端进行数据包的接收、译码,对于未丢失的数据包,在接收端通过LDPC译码器恢复回原来的数据包,并且发送反馈信号给发送端;对于丢失的数据包,在迭代次数上限之内通过LDPC迭代译码恢复功能恢复,如果丢失的数据包恢复出了原始的数据包,则此数据包无需下一轮发送端重传,并将相应的反馈信息传输给发送端;如果丢失的数据包,超过迭代次数上限通过LDPC迭代译码恢复未能恢复出原数据包,或者是恢复出的数据包是错误的,则这个数据包就被认为是丢失的数据包,发送端在下一轮传输时,需要重传,此时托管传输未释放;根据重传的内容将重传机制分为:收端反馈重传一切丢失的数据包,既包括原始包也包括冗余包;收端只反馈重传迭代译码恢复失败的原始数据包。

进一步地,所述方法还包括:根据传输时延来选择是否采用BP与LDPC结合的传输方式,具体地,当传输时延T<T”时,采用传统的BP层传输方式;当T>T”时,采用BP与LDPC结合的传输方式,所述T”为临界时延。

进一步地,所述LDPC码为度数32、码率7/8、编码后的码长8176的准循环码。

进一步地,所述方法对包头进行修改,先将能压缩的部分去掉,之后再将编译码信息携带到字典阵列中,所述编译码信息包括:LDPC码的度值、码率、编码后的数据包编号。

进一步地,在接收端,采用BP迭代译码方法进行译码。

附图说明

图1是Bundle基本块格式示意图;

图2是本发明对字典元素及其表示的含义的改进示意图;

图3是BP层中数据包的传输过程示意图;

图4是BP与LDPC结合后的传输模式a的传输过程示意图;

图5是BP与LDPC结合后的传输模式b的传输过程示意图;

图6是bundle尺寸、译码恢复概率固定时,三种传输方法的传输时延与丢包率的关系;

图7是译码恢复概率对两种重传机制的影响;

图8是本发明的数据包传输模式状态流程图;

图9是本发明的两种重传模式的状态流程图。

具体实施方案

下面通过具体实施方式结合附图对本发明作进一步详细说明。

大部分的Bundle块由三部分组成。其中基本块是其中最重要的组成部分,在Bundle中唯一存在。数据块(载荷块)是Bundle进行传输的根本目标,个数最多为1。此外还有多个扩展块方便对Bundle协议的扩展。如附图1所示,bundle基本块的格式,其中斜线部分表示可以压缩的,这样可以适当减小bundle开销。

本发明将LDPC码的度值、码率、编码后的数据包编号这几部分值放入字典阵列中,因为字典部分是长度可变的。而字典是基本块的重要组成部分,占用最多的字节数。研究场景是数据包在单跳中的传输,所以每个节点的Scheme offset都是同一个,这里只用一个dtn:表示即可。而对于目的端点SSP在字典中的offset总是0,这部分可以去掉。本发明对包头的修改就是先将能压缩的部分去掉,之后再将编译码信息携带到字典阵列中,这样不至于占用太多的协议开销。

以附图2为例,从图2中可以明确地计算出对应链路中各字符的分布情况。在未进行压缩之前,字典占用了29字节的大小(每一字符占用1字节)。字典本身带来一定程度的压缩,剔除掉字典中重复的部分以及空字符,则压缩之后的字典大小为19字节。如果仅仅压缩字典,整个bundle头减小了10字节。本发明采用的LDPC码的度数为32、码率为7/8,编码后的码长为8176的准循环码。经计算需要3字节。经过压缩之后的字典,将编码信息加入,并不会增加多的开销。

修改后的协议工作流程如下:首先,协议通过接口读入高层数据单元,按照当前网络的设置将数据单元(ADU)划分为多个Bundle。对于每个Bundle的前端都会携带有一个包头,里面包含着相关的控制信息。协议将这些Bundle送到编码器中,编码器按照码率R就会得到待发送的一批数据包。本发明使用的LDPC码是一种系统码。在编码后的数据包中可清楚的分出原始数据包和冗余数据包。可以通过编号的方式更加清楚的分辨。此时协议给每个数据包封装包头,接着送入信道进行传输。在接收端进行数据包的接收,因为信道存在误码率,所以在传输过程就会产生丢数据包的现象。

下面提到的几种情况,假设是在反馈信号CA(Custody Acknowledge)未丢失的情况下,会出现下面的几种情况。

①对于未丢失的数据包,在接收端通过译码器恢复回原来的数据包。并且发送反馈信号给发送端。发端收到此信号后,就会将相应的托管传输内存释放。此数据包已正常接收,无需重传。此数据包根据头部的控制信息(offset和length),找到相应的位置,传回高层数据单元中。

②对于丢失的数据包,在迭代次数上限之内通过LDPC迭代译码恢复功能恢复。如果丢失的数据包恢复出了原始的数据包,则此数据包无需下一轮发送端重传。并将相应的反馈信息传输给发端的托管。释放内存空间。接下来的过程和上面未丢失数据包的一样。

③如果丢失的数据包,超过迭代次数上限通过LDPC迭代译码恢复未能恢复出原数据包,或者是恢复出的数据包是错误的。则这个数据包就被认为是丢失的数据包。发送端在下一轮传输时,需要重传。此时托管传输未释放。

根据重传的内容可以分为2种重传模式。

①收端反馈重传一切丢失的数据包。这种重传模式发送端重传一切译码恢复失败的数据包。这些数据包中既包括原始包也包括冗余包。重发的数据包中冗余数据包占用一定的内存带宽,但收端利用冗余数据包能加快译码恢复出所有数据包的速度。

②收端只反馈重传迭代译码恢复失败的原始数据包。其在后续的译码过程还会产生新的冗余包。这些新的冗余包会促进接收端迭代译码恢复速率。对于发送端也节省了发送数据包的带宽。

本发明将文件传输的交付时间作为性能指标。交付时间应该包括传输时间、传播时间、排队时间,处理时间。之前提到,在空天网络环境中,因为传输光程近,长延时主要是体现在传播时间和排队时间。而其中的排队时间,在节点之间进行多跳时,占主导作用。因为本发明只研究单跳情况下端到端传输。所以这里的排队时间占时不考虑。对于处理时间,本发明中主要体现在迭代译码处理。传统的方法中未涉及故不考虑其处理时间。所以,如附图3所示,采用BP层数据传输模型,文件交付时间可分为三部分:第一轮传输过程中L-1个bundle的传输时间Ttrans(1,l-1)、第L个bundle在所有K轮中传输的时间Ttrans(L),交付第L个bundle和相应的CA所有的传播时间Tprop-total。根据附图3分析可知,当L=1时,Ttrans(1,l-1)将会是最小值,这会导致整个文件的交付时间最小,记为Tfile-Min。同样当L=Nbundle时,整个文件的最后一个bundle传输了K轮,此时的传输时间是最大值。则:

BP层文件的整个交付时间可以表达为:

Tfile=Ttrans(1,l-1)+Ttrans(L)+Tprop-total+Tqueue+Tprocess (1)

设信道的误码率为P,可以得出bundle和CA的丢包率。即:

Pbundle=1-(1-P)8*(Lbundle-head+Lbundle) (2)

PCA=1-(1-P)8*LCA (3)

①第一轮传输过程中,L-1个bundle的传输时间的计算:

Ttrans(1,l-1)为从1到L-1个bundle的传输时间,考虑信道的速率Rdata,则Ttrans(1,l-1)可以表示为:

Ttrans(1,l-1)=Lbundle/Rdata*(L-1) (4)

L的最大值可以定义为Lmax,Lmax=Nbundle=Lfile/Lbundle。也就是说在第1轮传输中,L-1个bundle包传输时间与包数成线性关系,又因为存在着Lmin和Lmax,则在第一轮传输过程中,L-1个bundle的平均传输时间能够近似表达为:

Ttrans(1,l-1)=Lbundle/Rdata*1/2*(Lfile/Lbundle-1) (5)

②第L个bundle的整个传输时间的计算:

第L个bundle的整个传输时间的计算等于它在所有K轮的传输之和,包括第一次传输和所有的重传。

Ttrans(L)=Lbundle/Rdata*K (6)

③第L个bundle和相应的CA的整个传播时间:

第L个bundle在K轮的传输中成功的传递,意味着经历(K-1)个RTO(重传计时器),和一次的传播时间即第K次从发送端到接收端的时间。所以有:

Tprop-total=RTO*(K-1)+Towlt (7)

所以BP层整个文件的交付时间可以表示为:

Tfile=Ttrans(1,l-1)+Ttrans(L)+Tprop-total (8)

在这个表达式中K表示传输的轮数。接下来求K:对于第一次传输时发送端的bundle数可以表示为:

NB1=Nbundle (9)

如果在RTO计时器内收不到CA,则就要重传bundle。所以在第2轮传输中,需要重传的bundle数可以表示为:

以此类推,在第K+1传输中,需要重传的bundle总数为:

因为整个文件经过K轮的传输,成功传输时,表明在第(K+1)次重传时重传的包数小于1,即:

通过解不等式(12)有:

K>log[Pbundle+PCA*(1-Pbundle)]1/Nbundle (13)

这里取log[Pbundle+PCA*(1-Pbundle)]1/Nbundle的四舍五入后的整数,则带入上式就可以得Tfile

这种传输机制尽管确保可靠性传输,但需要经过往返多次传输才能将信息传输成功。而随着传输距离的不断增大,增加了交互的往返时延,降低了DTN网络的传输效率。特别是信道误码率恶劣导致数据包丢失数量增加,增加文件往返重传次数,从而增大了文件可靠传输时延。为了解决这一问题,本发明提出了将BP层协议和LDPC码相结合的方法对传统的方法进行了改进,下面对本发明提出的方法中两种不同的传输进行介绍分析,其中所用到的参数说明见表1。

表1建模中参数及其参数说明

考虑到空天网络环境的链路时断时连、高丢包率、传输时延长等特点,当发生丢包时,因为重传往返次数多,造成传输时延大。传输性能变差。所以为了减少重传次数,进行BP与LDPC码结合。结合后,当发生丢包时,先利用迭代译码的方法尽可能的恢复出丢失的数据包。当达到迭代译码次数上限,仍恢复不出丢失的数据包,则发送进行重传数据包。这样,在一定的程度上,减少了往返次数从而降低了传输时延,传输性能提高。设译码恢复概率为Preco。T'为各数据包迭代译码时间,为一个变量。

(1)第1种重传机制的模型建立和数学推导

第1种重传机制,如附图4所示,只重传原始包。算法步骤如下:

1:将传输的文件数据按照实验的设置分成固定的M个bundle。

2:在发送端,对要发送的M个bundle包进行编码。编码后为N个数据包。

编码方法采用CCSDS标准编码算法。编码之后,待发送数据包为N个。将其进行编号,以便顺利的送入译码器。1~M表示原始包,M+1~N表示冗余包。

3:在固定的丢包率空天环境下,进行bundle的传输过程。

4:在接收端,采用BP迭代译码方法进行译码。

将成功译码恢复出数据包编号反馈回发送端的托管寄存中,释放空间资源。发送端设置一个RTO,当反馈信息超过此定时器或者未超过此时间数据丢包,发送端默认为丢包。下一轮时,发送端重传上一轮中丢失的原始数据包(1~M中)。

5:以此类推。直到发送端发送的数据包为零。停止发送。反馈信号将托管释放。

模型的推导:

因为对于第一次传输的数据包,传输的是编码后的数据包,包括原始包与冗余包。对于之后的重传,都是传输的是原始包,因为前后传输的情况不同,所以分为两个部分。即T1和T2

对于第一次传输分析可知:

对于第二次传输到最后一次传输成功,发送端发送的内容是:

N2=M*P';

N3=N2*P'=M*P'*P'=M*P'2

……

NK+1=M*P'K(15)

当满足约束条件NK+1<1时,表示重传成功,不再进行下一次重传。可以求出K,K表示重传次数。

M*P'K<1,得:K>logPbundle(1-Preco)+(1-Pbundle)PCA1/M (16)

其中,重传次数K取logPbundle(1-Preco)+(1-Pbundle)PCA1/M四舍五入后的整数。

T2=Ttrans+Tprop+Tdeco

=Ttrans(1,N2-1)+Ttrans(N2)+Ttotal-prop+Tdeco

=Lbundle/Rdata*(M*P'-1)/2+Lbundle/Rdata*K+RTO(K-1)+Towlt+Tdeco (17)

对于第二部分中Tdeco的求解:

因为只有丢的包才会进行迭代译码。所以有:第二次从发送端发出的包是M*P',需要进行迭代译码的包是M*P'*Pbundle个。

第三次从发送端发出的包是M*P'2,需要进行译码的包是M*P'2*Pbundle个。

以此类推就有一共有:

M*Pbundle*(P'+P'2+P'3+...)=M*Pbundle*P'/(1-P') (18)

因为每个数据包的迭代次数的可能不同,所以迭代时间可能不同。设为T',

根据上面的推导可以得到交付时间(处理时间即迭代译码时间,单跳传输排队时间为零):

Tfile=T1+T2+Tqueue (20)

将上面的推导出的表达式带入(20)即可得到数据包的传输时延。

(2)第2种重传机制的模型建立和数学推导

第2种重传机制,如附图5所示,重传原始包和冗余包。算法如下:

1:将传输的文件数据单元按照实验设置分成固定的M个bundle。

2:在发送端,对要发送的M个bundle包进行编码,编码后为N个数据包。

编码方法采用CCSDS标准编码算法。编码之后,待发送数据包为N个。将其进行编号,以便顺利的送入译码器。1~M表示原始包,M+1~N表示冗余包。

3:在固定的丢包率空天环境下,进行bundle的传输过程。

4:在接收端,采用BP迭代译码方法进行译码。

将成功译码恢复出数据包编号反馈回发送端的托管寄存中,释放空间资源。发送端设置一个RTO,当反馈信息超过此定时器或者未超过此时间数据丢包,发送端默认为丢包。下一轮时,发送端重传上一轮中丢失的一切数据包(1~N中)。

5:以此类推。直到发送端发送的数据包为零。停止发送。反馈信号将托管释放。

模型的推导:

对于第二种传输机制,因为第一次发送端发送的是原始包和冗余包,后面的发送端重传,发送的也是原始包和冗余包。前后传输的情况相同所以不再分开讨论。

Tfile=Ttrans+Tprop+Tprocess+Tqueue=Ttrans(1,N-1)+Ttrans(N)+Ttotal-prop+Tdeco

=Lbundle/Rdata*(N-1)/2+Lbundle/Rdata*K+RTO*(K-1)+Towlt+Tdeco (21)

对于传输轮数K的求解:

第一轮发送端:N1=N;

第二轮发送端:N2=N*P';

第三轮发送端:N3=N2*P'=N*P'2

……

以此类推:

第K+1轮时,

NK+1=N*P'K (22)

当满足约束条件NK+1<1时,表示重传成功。可以求出K。

可以得到:

K>logPbundle(1-Preco)+(1-Pbundle)PCA1/N (23)

其中,K取logPbundle(1-Preco)+(1-Pbundle)PCA1/N四舍五入后的整数。

对于译码时间的计算:

第一次需要译码的包个数:N*Pbundle

第二次需要译码的包个数:N*P'*Pbundle

第三次需要译码的包个数:N*P'2*Pbundle

所以需要进行迭代译码的数据包总数为:

N*Pbundle*(1+P'+P'2+......)=N*Pbundle/(1-P')

Tfile=Ttrans+Tprop+Tprocess+Tqueue (25)

将上面推导出的(23)、(24)式带入(25)中即可得到总的传输时延。

数值与仿真分析

下面将分析讨论在端到端传输过程中,本发明的方法BP层与LDPC码结合后的传输机制性能,并与传统的方法进行了对比分析。讨论一些参数对方案性能的影响。主要包括:信道误码率、bundle尺寸大小、译码恢复概率等等。

实验1:实验中所需要测的数据即结果。

实验中采用的LDPC码是CCSDS标准中推荐的近空应用码。其码率为7/8,码长为8176,信息序列长度为7156。其校验矩阵为2*16个大小为511*511的循环矩阵组成。编码方法采用类下三角型方法。译码方法采用BP迭代译码方法,算法复杂度为O(n),迭代次数上限取30次。

实验中bundle尺寸取50KB、100KB进行测试。取光程为毫秒级别时,常用的信道误码率10-7,分别计算得丢包率为:0.0401、0.0787。

通过LDPC丢包率和迭代译码恢复概率仿真实验结果查得,当bundle尺寸为50KB、丢包率为4%时,此时选用的LDPC码的译码恢复概率为99.94%。

实验2:当bundle尺寸、Preco固定时,采用传统方法、发送端重传原始包与重传原始包和冗余包下,丢包率对传输时延的影响

将bundle尺寸设为50KB、Preco设为99.94%,光程为100ms时。研究丢包率对传输时延的影响。结果表明,随着丢包率越来越大,三种传输机制的传输时延都是不断增大。这是因为当丢包率不断变大时,数据包丢失多,而当译码恢复概率一定时,不管采用哪种传输机制,需要重传的轮数增加,所以传输时延都会变大。从附图6还可以看到,存在一个临界时延点或者临界丢包率点,如图中的0.23。当Pbundle>0.23时,如果采用BP与LDPC码结合后的传输方式,不管采用哪种重传模式,总的传输时延较传统的传输方法都有所下降。但是在丢包率比较低时,采用传统的传输方法性能更好些。这主要是因为当丢包率比较小时,此时信道传输性能比较好,需要重传的轮数小,采用传统的方法足以满足传输性能。

实验3:当bundle尺寸、丢包率固定时,译码恢复概率对两种重传机制的性能影响

如附图7所示,当bundle尺寸固定为50KB时,空天网络环境中丢包率分别为0.15与0.3时,译码恢复概率对于两种重传机制的性能影响。因为传统的传输方法中不涉及译码环节,所以这里只比较本发明提出的重传原始包与重传原始包和冗余包。从附图7中可以看出,当译码恢复性能不断增强时,不管是重传原始数据包还是重传原始包和冗余包,其传输时延均随着恢复性能增强而降低。这是因为,当传输过程中发生丢包时,接收端首先接收未丢的数据包,之后对丢失的数据包进行迭代译码恢复。当译码恢复概率大时,表明未传输成功的数据包恢复成功概率大,这样,发送端重传数据包数减少,往返次数减小,从而传输时延减小。当丢包率较大时,采用传统的方法时,只能采用每次不断的重传数据包,直至接收端成功接收到所有数据包。采用这种方法带来的代价就是传输时延极大,而且链路资源基本常常处于占用状态,甚至可能造成拥塞。而在这种情况下,采用结合前纠删码后,如果接收端的译码恢复概率能保持一个比较大的值时,将大大降低发送端重传数据包带来的压力。

数据包传输的流程图如附图8所示。发送端根据光程、信道译码恢复情况在三种传输机制进行选择,所述三种传输机制为传统的BP层传输机制、BP与LDPC结合的重传模式a和BP与LDPC结合的重传模式b;接收端进行综合统计数据包数目,通过发送反馈信号CA到接收端,以供接收端释放掉相应的数据包。重传仍未成功的恢复出的数据包。

附图9是两种重传模式的状态流程图,流程如下:判断文件是否发送完毕,若发送完毕,则本次传输完成,若未发送完毕,从发送端找到没有释放掉的数据包编号,在发端进行LDPC编码,发送数据包到信道,在固定的丢包率空天环境下,进行bundle的传输过程,接收端采用BP迭代译码方法进行译码;若译码成功,则发送译码成功的CA反馈到接收端,释放掉相应的内存,数据包成功传输。若译码失败,则发送译码失败的CA反馈到接收端,此时不释放发送端的相应内存。下一轮,发送端重传上一轮中丢失的原始数据包/一切数据包。

由以上的技术交底可知,本发明是基于信道编码和DTN网络通信协议相结合的基础上,重点解决了端到端传输,且传输光程为毫秒级别时传输性能不高的问题。而传统的方法中,尽管能够保证数据包在端到端传输中可靠传输,但是即便未考虑链路中断的情况下,传输时延偏大。本发明中提出的将长纠删码LDPC应用到BP协议中去,充分应用LDPC码接近香农信道特性,通过选用合适的LDPC码,当信道环境较差时,发生丢包时,仍然可以通过高性能的译码恢复能力,将其以恢复出来,减小重传的次数,实现了消息的重传次数降低,传输性能提升。

本发明通过对传统的空天网络环境中端到端传输进行了研究分析,提出将长纠删码LDPC和DTN通信网络中的BP协议相结合,把LDPC码优良的编码译码性能运用到DTN网络中,提出了基于此的两种结合模式。即对于发送端只重传原始数据包和发送端重传一切未接收到的数据包。如果采用本发明提出来的两种新的重传模式,整个传输的轮数在同样的参数配置下,会大大的降低。往返时间减低。对于空天通信网络来说,链路资源十分有限宝贵,这样就可以节省出更多的空间供其他信息的传输。同时在本实验的参数设置下,传输时延较传统的方法有10ms左右的时间缩减,大大提高了传输效率,对于网络传输来说,性能得到了提升。

通过对该方法的仿真结果,可以较清楚地看出,本发明所提出的两种新的重传机制,不管是模式a还是模式b,与传统的DTN端到端传输的模式BP传输相比,有效提高了消息的发送效率,降低了数据包重传次数,同时也降低了发送端的发射时间,传输性能得到了提高。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1