一种基于多播网络编码的动态线性组合重传方法与流程

文档序号:12477459阅读:308来源:国知局
一种基于多播网络编码的动态线性组合重传方法与流程
本发明属于无线通信
技术领域
,适用于所有的使用该网络模型的无线通信领域,具体涉及一种基于多播网络编码的动态线性组合重传方法。
背景技术
:传统的基于多播或广播的无线通行网络中,针对接收节点没有收到某些数据包的情况下,发送节点一般选择不使用网络的编码的重传和使用网络编码的重传方法。在不使用网络编码的重传方法中,发送节点会一直重传某个数据包,直到所有的接收节点都能够正确地接收到某个数据包,才开始一下个数据包的传输,这样的传输方法造成的就是传输效率十分低下,如果有某个节点的信道质量很差,则会对整个通信网络的质量产生严重的影响。使用网络编码的传输方法,这种重传过程采用的是异或编码的方法。使用这种方法时,在重传过程结束以后,仍然有部分接收节点不能解出全部丢失的数据包。因此还需要进行第二次的重传过程,这样也会导致传输效率不高。技术实现要素:本发明所要解决的技术问题在于针对上述现有技术中的不足,提供了一种基于多播网络编码的动态线性组合重传方法。在数据的重传阶段,利用随机线性组合的方式将原始相关的数据包组合为了一个编码包发送出去。然后再根据接收节点对此编码包的接收状态,动态地调整下一个编码包的组合方式。由于这种动态调整特性和线性编码的方法,使得整个通信系统中的所有节点在接收数据时互不干扰,并且可以完全避免第二次重传过程就可以解出全部的数据包。本发明采用以下技术方案:一种基于多播网络编码的动态线性组合重传方法,包括一个发送节点和M个接收节点,其中,M>1,每个所述接收节点将数据包的接收状态反馈给发送节点形成缓冲矩阵T,根据所述缓冲矩阵T得到每个接收节点的信道通信状态,将丢失的数据包编码后再次发送给接收节点完成重传。优选的,每个所述数据包采用随机线性网络编码方式进行编码组合成一个编码包后重传。优选的,所述发送节点利用N个时隙依次发送N个数据包,所述M个接收节点将N个数据包的接收状态反馈给发送节点形成M行和N列的缓冲矩阵T。优选的,所述缓冲矩阵T中用1表示数据包接收成功状态,0表示数据包接收失败状态。优选的,每个所述时隙的长度一致。优选的,所述接收节点的信道通信状态用丢失概率pi判断,根据所述丢失概率能够得到吞吐量的期望值E[X],具体为:E[X]=11-max{p1,p2,...,pM}=11-pK]]>其中,X表示传输一个数据包到第K个接收节点的随机变量,pi为数据包的丢失概率,pK为最大丢失概率。优选的,所述吞吐量由最大丢失概率pK决定,N个数据包传输完成后最差的丢包数为NpK,则总的重传次数等于单独传输NpK个数据包到第K个接收节点。优选的,所述丢失概率pi服从伯努力实验。优选的,所述反馈为即时无误信息。与现有技术相比,本发明至少具有以下有益效果:网络中的信道存在不可靠性,但是这种不可靠性只对发送卫星传输给接收卫星的编码包有影响,而对接收卫星对发送卫星的反馈信息没有影响。本发明通过缓冲矩阵动态反应信道传输特征,采用动态调整组合编码包,所有的用户之间解码互不相关,即使存在信道很差的用户也不影响整体其他用户解码,极大的减少了因为个别接收用户信道差而影响整体通信系统质量的问题,并且从传输效率上来讲,该方法完全避免二次重传过程,有效减少重传次数,提高网络的吞吐量性能。进一步的,由于采用的是随机线性网络编码,而且在重传编码包过程结束以后,每个接收节点接收到的编码包个数和他丢失的数据包的是一样的,所有的丢失的数据包可以全部被解出来。采用分时隙广播能够有效避免数据包传输的互相干扰,反馈的信息是即时且无误的,有效提升了传输性能,传输步骤简单,有效提高系统通信效率。通过吞吐量的理论公式推导和仿真实验验证了方法的可行性。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。【附图说明】图1为本发明的网络系统示意图;图2为本发明数据包发送包缓冲矩阵示意图;图3为本发明动态线性组合方法示意图;图4为本发明的丢包概率仿真示意图。【具体实施方式】本发明所述的重传方法采用的是随机线性组合的方法,其中给要组合的数据包随机的分配一个系数,这样可以使这些系数都是不相等的,因此根据线性代数理论,所有的这些编码包的系数形成的矩阵是满秩的,因此可以解出全部的丢失的数据包。请参阅图1所示,本发明一种基于多播网络编码的动态线性组合重传方法,包括一个发送节点和M个接收节点,其中,M>1,所述发送节点利用N个时隙依次发送N个数据包,每个所述时隙的长度一致。每个所述接收节点将数据包的接收状态反馈(反馈优选即时无误信息)给发送节点形成缓冲矩阵T,根据所述缓冲矩阵T得到每个接收节点的信道通信状态,将丢失的数据包采用随机线性网络编码后再次发送给接收节点完成重传。其中,S是发送节点,R1,R2,...,RM是M个接收节点。发送节点S要发送N个数据包,然后这个M个接收节点都能够接收到。由于信道的不可靠性,发送的数据可能会有丢失,本方法可以实现以最少的发送次数,保证全部的接收节点能够正确地接收到全部N个数据。具体为:在多播网络中,有一个发送的源节点,多个接收节点。当源节点需要发送一定数量的数据包时,先将这些数据包全部依次通过多播的方式发送出去,由于无线信道的不可靠性,有些接收节点将不会接收到某些数据包。为了使所有的用户都能接收到相应的数据包,就需要源节点重传相应的数据包。在这个重传过程中,我们提出了基于网络编码的动态线性组合的重传方法。源节点根据各个接收节点的接收状态,组合采用线性组合的方法编码相应的数据包,然后发送出去。在重传阶段,如果有节点仍然没有收到编码包,那么它对应丢失的原始数据包将会被重新编码到下一个编码包中被发送。在发送节点多播数据之前,需要确定要发送的数据包的个数N和接收节点的个数M,那么就会形成一个M×N维的缓冲矩阵T。当发送节点在N个时隙发送完N个数据包后,每个接收节点会根据自己的对每个数据包的接收状态反馈给发送节点0或者1(0表示此数据包没有被正确接收,1表示正确接收),那么就会在缓冲矩阵中对应的位置存放0或1。此时缓冲矩阵T中的数据为0和1,那么在重传阶段发送节点就可以根据T中的0来组合编码包。因此缓冲矩阵即反映了各个接收节点对每个数据包的接收状态,而且为组合重传方法提供了便利的条件。请参阅图2和图3所示,具体步骤如下:(1)在网络中只有一个发送节点,有M个(M>1)接收节点。让发送节点利用N个时隙依次发送N个数据包,每个数据包被发送在一个固定的时隙中。同时发送节点获得各个接收节点对所有N个数据包的接收状态,并形成一个缓冲矩阵T。(2)发送节点根据缓冲矩阵T,来进行重传数据包,为了减少重传次数,增加网络的吞吐量,我们使用网络编码的方法,传输来传输编码包。(3)首先在缓冲矩阵T中的每一行中寻找第一个为0的位置,找出其对应的数据包,然后把这些数据包通过随机线性编码的方式组合成一个编码包,然后利用一个时隙将此编码包发送出去。(4)每个数据包发送完毕以后,所有的接收节点通过发聩信息(ACK/NACK)报告给发送节点各自的接收状态,反馈信息是即时的且无误的。发送节点根据各个接收节点的对此编码包接收反馈信息来更新缓冲矩阵T,如果某用户成功接收到此编码包,则T矩阵中对应的行的第一个为零的位置变为1,否则,保持原来的0。(5)然后检查矩阵T中有没有为0的元素,如果没有,则数据包发送过程结束,否则继续从上名的步骤3开始执行。请参阅图4所示,该仿真图表示的传统的两种网络编码的重传方法和本方法提出的动态线性组合重传方法的传输性能(成功发送一个数据包到接收节点的需要的发送次数的期望值)的对比示意图,横坐标表示丢包概率,纵坐标表示成功发送一个数据包需要的发送次数的期望值,从图中可以看出,随着丢包概率的增加,三种方法成功发送一个数据包到接收节点需要的发送次数均在增加,但是本方法的期望值增长比较缓慢,而且明显低于传统的两种方法,由此可以证明我们提出的动态线性组合重传方法,具有比传统的传输方法更好的传输性能。其中,接收节点的信道通信状态用丢失概率pi判断,丢失概率pi服从伯努力实验。pi是第i个接收节点的包丢失概率。各个接收节点之间互不相关且相互独立。假定M个接收节点的信道包丢失概率分别是p1,p2,...,pM,根据我们提出的动态编码理论,在长远看来,在重传阶段重传编码包的次数主要取决于包丢失概率最大的接收节点。假设刚开始有N个原始数据包,那么这N个数据包传输完毕后,接收节点丢失的数据包个数为NpK(pK=max{p1,p2,...,pM}),pK为最大丢失概率,这样总的重传次数就等于单独传输NpK个编码包到接收节点RK。让X表示传输一个数据包到接收节点RK的随机变量,那么X服从以概率PK的几何分布,几何分布的期望计算公式具体为:具体推倒如下:E[X]=Σn=1∞npKn-1(1-pK)=(1-pK)Σn=1∞npKn-1=(1-pK)(pK+pK2+pK3+...)′=(1-pK)(pK1-pK)′=(1-pK)1(1-pK)2=11-pK]]>由此得出随机变量X的数学期望值,即平均发送一个数据包需要的发送次数为:E[X]=11-max{p1,p2,...,pM}=11-pK]]>X表示传输一个数据包到第K个接收节点的随机变量,pi为数据包的丢失概率,pK为最大丢失概率。所述吞吐量由最大丢失概率pK决定,因此在重传阶段,网络的吞吐量为:具体的算法流程如下所示:在此我们用具体的实例来说明,按照M=5个接收节点,N=10个数据包,在N个时隙之后形成的缓冲矩阵如图2所示。接下来要进行编码组合发送,按照图3所示的进行组合。在发送的过程中,前两个编码包成功地被所有相关的节点所接收,而当发送第三个编码包时,接收节点R3没有接收到这个编码包,本次重传后更新缓冲矩阵T时,R3和数据包α6对应的那个位置仍然保持为0,因此在组合第四个数据包时,R3丢失的那个数据包α6将继续会被组合到下一个编码包中。按此规律直到缓冲矩阵T中所有的元素都变为1,这样N个数据包的传输全部结束。根据图3所示的组合方式,重传阶段形成的编码包如下所示:c1=β11a1+β12a2c2=β21a2+β22a3+β23a4+β24a5c3=β31a4+β32a5+β33a6+β34a7c4=β41a6+β42a7+β43a9c5=β51a8+β52a9c6=β61a9+β62a10。其中βij是线性编码的系数,是随机的不相等的数。由上面的方法可知,当发送节点在依次传输完N个数据包时,如果一个接收节点丢失多少数据包,那个在重传编码包阶段结束以后,这个节点就会接收到多少编码包,并且这些编码包都是不相同的。而且,由于在编码组合数据包的时候,各个数据包的系数采用的都是随机数值,因此每个接收节点收到的编码包的系数形成的矩阵都是满秩的,根据线性代数理论知识可知,所有丢失的数据包都可以被解出来。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1