一种在衰落信道中重传丢失分组的方法 本发明涉及一种有效可靠的传输技术,更确切地说是涉及一种在相关衰落信道(correlated fading channels)中重传丢失分组的方法。
目前,国际互联网(因特网)与移动通信网技术都取得了长足的发展,且呈相互交融(convergence)的趋势,要求原本仅提供话音传输服务的移动通信业务还要同时提供数据传输服务。但由于无线信道的相关衰落特性,会造成数据分组丢失,产生不可靠传输问题。可靠的链路层传输协议,如自动请求重传(ARQ),就是一种用于解决在不可靠传输系统中进行可靠传输的方法。
ARQ方案可粗分为:停止与等待(SW)、返回丢失分组处重传(GN)和选择重传(SR)。其中的SR-ARQ方案是最有效的,并已被广泛应用于实际的移动通信系统中,如IS-99(TIA/EIA/IS-99,“Data services option standard forwideband spread spectrum digital cellular system”,1995.)
图1示出一种选择性自动请求重传(SR-ARQ)的工作过程。发送端通过接收端反馈的确认(ACK)或否定确认(NACK)信号来判断特定的数据分组(如#1)是否发生丢失并进一步进行选择重传。在发送端接收到ACK信号时,表示该#1分组已被接收端成功接收,无需再重传;若发送端接收到NACK信号时,表示该#1分组未被接收端成功接收,属于发送失败,判断为丢失分组,需对其进行重传。重传时,每次只重传该丢失#1分组的一个副本(copy),图中所示的#1分组副本重传了两次才成功。即,在传统的SR-ARQ方案中,当发生数据分组丢失时,每次只重传丢失分组的一个副本。显然,传输环境越恶劣,需要重传的次数就越多,则数据分组在发送端缓存单元中驻留(persistence)的时间就越长,将严重影响数据业务的服务质量。
当然,也可在发生数据分组丢失时,每次重传丢失分组地多个副本,但在移动通信系统中,由于相关衰落信道固有的突发丢失特性,一方面会导致数据分组的连续丢失,另一方面仍会发生每次重传的多个副本同时遭遇到信道的衰落期,而使重传失败,即重传的效率不高。因此,如何在相关衰落信道中,减少重传次数和提高重传效率就成了重传丢失分组时需要同时兼顾的两大问题。
本发明的目的是设计一种在衰落信道中重传丢失分组的方法,在相关衰落信道中,在减少重传次数的同时,提高每次重传的效率。
本发明的目的是这样实现的:一种在衰落信道中重传丢失分组的方法,其特征在于:是在发送端接收到来自接收端的针对某一特定数据分组的否定确认(NACK)信号后,对该特定的数据分组进行多个副本并在相邻的两个副本间插入延时地重传。
所述的多个副本,其副本数是根据当前的该特定数据分组的重传次数进行计算得到,并随重传次数的增加而增长。
本发明的一种在衰落信道中重传丢失分组的方法,其特征在于包括以下步骤:
A.在发送端建立至少二个队列,包括发送队列和重传队列;
B.将新发送数据分组存放在发送队列中,根据当前重传数据分组的次数确定副本数并将其存放在重传队列中;
C.判断当前重传队列为空或不空的状态,在当前的重传队列为空时,按先进先出的原则发送发送队列中的数据分组,在当前的重传队列为不空时,对重传队列中的数据分组副本进行交织发送;
D.由定时器设置一个交织重传区间的时间长度最小值,从重传队列中选出每个重传数据分组的一个副本,按先进先出的原则在每一个交织重传区间的时间长度内发送;若在不足最小值的交织重传区间的时间长度内,已发送完重传队列中每个重传数据分组的一个副本,则按先进先出的原则发送发送队列中的数据分组,直至定时器设置的最小值交织重传区间的时间长度到时结束该交织重传区间,并开始下一个交织重传区间;若在不足最小值的交织重传区间的时间长度内,已发送完重传队列中每个重传数据分组的一个副本,且发送队列为空时,则停止发送,直至定时器设置的最小值交织重传区间的时间长度到时结束该交织重传区间,并开始下一个交织重传区间;在一个交织重传区间结束,且重传队列为空时,按先进先出的原则发送发送队列中的数据分组。
本发明的一种在衰落信道中重传丢失分组的方法,其特征在于包括以下步骤:
A.在发送端建立至少二个队列,包括发送队列和重传队列;
B.将新发送数据分组存放在发送队列中,根据当前重传数据分组的次数确定副本数并将其存放在重传队列中;
C.判断当前重传队列为空或不空的状态,在当前的重传队列为空时,按先进先出的原则发送发送队列中的数据分组,在当前的重传队列为不空时,对重传队列中的数据分组副本进行多队列轮询发送;
D.设置按顺序编号的副本队列,一个副本队列含有不同数据分组的一个副本,从第一个副本队列开始,按先进先出的原则依次发送每一个副本队列中的各数据分组副本,发送完前一个副本队列才可发送后一个副本队列,直到最后一个副本队列,在所有的副本队列都为空时结束轮询发送,开始发送所述的发送队列。
本发明的一种在衰落信道中重传丢失分组的方法,其特征在于:是由移动通信系统中的收发器向接收器发送数据分组,和提供某一特定数据分组的多个副本;在收发器接收到接收器未能接收到某个特定数据分组的指示时,按预定间隔有序地重发该特定分组的多个副本。
本发明的一种在衰落信道中重传丢失分组的方法,是一种多副本加延时的重传方法,通过在每次重传中发送丢失数据分组的多个副本,而不是如传统SR-ARQ那样只发送一个副本,从而提高了每一次重传的成功概率;同时通过在发送特定的丢失数据分组的多个副本时,在同一丢失数据分组的两个相邻副本间插入适当的延时,从而减少了该丢失数据分组的多个副本同时遭遇信道衰落期的概率,也即提高了每一次重传的成功概率,从而有效提高了重传的效率,减少了重传的次数。
下面结合实施例及附图进一步说明本发明的技术。
图1是典型的SR-ARQ的工作过程原理示意图。
图2是本发明按线性增长方法确定每次重传副本数的过程示意图。
图3是本发明按指数增长方法确定每次重传副本数的过程示意图。
图4是本发明交织重传方法中的交织过程原理示意图。
图5是本发明交织重传方法的第一种实施过程示意图。
图6是本发明重传方法的第二种实施过程示意图。
图7是对本发明交织重传方法有益效果的分析示意图。
图8至图10分别是仿真的延时时间与有效吞吐量、重传数均值与重传数方差的关系曲线图。
图11是仿真的使用本发明方法后对传输性能的改进曲线图。
图1说明前已述及,不再赘述。
参见图2、图3,分别示出本发明的两种确定每次重传特定的丢失数据分组副本数的方案,包括如图2中所示的按线性增长的方案,和如图3中所示的按指数增长的方案,都与本次(当前的)重传次数有关。
按线性增长的方案可归结为第i次重传的副本数为i+1,按指数增长的方案可归结为第i次重传的副本数为2i。
图2中,当发送端就#号数据分组第1次收到NACK信号时,重传2个#号数据分组的副本,且每个#号数据分组的相邻两个副本间插入延时d;当发送端就#号数据分组第2次收到NACK信号时,重传3个#号数据分组的副本,且每个#号数据分组的相邻两个副本间插入延时d;依次类推,若当发送端就#号数据分组第3次收到NACK信号时,将重传4个#号数据分组的副本,且在每个#号数据分组的相邻两个副本间插入延时d(该状态未在图中示出)。图2中示出第2次重传时的第3个副本被正确接收。
图3中,当发送端就#号数据分组第1次收到NACK信号时,重传2个#号数据分组的副本,且每个#号数据分组的相邻两个副本间插入延时d;当发送端就#号数据分组第2次收到NACK信号时,重传4个#号数据分组的副本,且每个#号数据分组的相邻两个副本间插入延时d;依次类推,若当发送端就#号数据分组第3次收到NACK信号时,将重传8个#号数据分组的副本,且在每个#号数据分组的相邻两个副本间插入延时d(该状态未在图中示出)。图3中示出第2次重传时的第3个副本被正确接收。
很明显,由于指数的增长将使副本数随着重传次数的增加而急剧增加,因此效率比较低,但却能换来重传次数与驻留时间的减少,因此更适合在信道条件很差并且传播延时较长的环境中运用。
需要说明的是,以上所涉及的相邻两个副本间的延时d,应是一个随机变量。从原则上说,该延时应长于突发的信道衰落周期长度,但又不能太长,因为太长会增加数据分组的传输时间,降低SR-ARQ的性能。然而,对于时变信道来说,要确定随机突发的信道衰落周期长度是一件极其困难的事。
参见图4,图中示意出本发明方法的交织(interleaving)过程,用于解决在同一丢失数据分组的各副本间插入延时的问题。交织前队列中顺序排列着第#1号数据分组的3个副本&1、&1、&1,第#2号数据分组的2个副本&2、&2,和第#3号数据分组的2个副本&3、&3,相同数据分组的副本间没有延时,发送原则是先进先出。交织后,在同一#数据分组的各&副本间插入另2个#数据分组的各1个&副本,如在每2个&1副本间插入&2、&3共2个副本,每2个&2副本间插入&3、&1共2个副本,每2个&3副本间插入&1、&2共2个副本,所形成的同一丢失数据分组的各副本间的延时时间就是3。
本发明的交织方法从原理上说与信道编码的交织方法相同,但本发明交织的对象是数据分组,而不是比特,且仅对重传的丢失数据分组的多个副本进行交织,是在重传发送前进行交织,为交织发送。图4所示表明:交织后,属于同一丢失数据分组的多个副本是经延时后再一一发送的,该延时时间就是交织队列中所排列的不同序号数据分组个数的时间长度,若突发的信道衰落周期长度长,则交织队列中排列的不同序号数据分组的个数就多,则时延就长。
参见图5,示意出本发明交织重传(interleaving retransmission)方法的第一种实施方案。发送端需要设置三个队列,包括用于存放新发送数据分组的发送队列,用#作标记;用于存放需要重传的各特定数据分组的多个副本的重传队列,用&作标记;和用于存放已发送但还未收到确认信号的数据分组的缓存队列(不属于本发明方法的范围)。假设当前发送队列在队首依次排列的是#6、#7、#8,重传队列中依次排列的是#1数据分组的2个副本&1、&1,#2数据分组的2个副本&2、&2,和#3数据分组的3个副本&3、&3、&3。由该重传队列可知,其不同的重传分组数为3。重传队列中同一数据分组的各副本数,是根据当前的重传次数再按线性增长原则或指数增长原则计算获得的,同一数据分组的各副本连续存放。
步骤1,首先需要判断重传队列空与不空的状态,若重传队列为空,则按先进先出的原则发送发送队列中的各数据分组,若重传队列不空,则进入交织发送状态。
进入交织发送状态是通过设置交织重传区间长度来实现的,为了控制特定数据分组的多副本发送延时的最小值,应设定交织重传区间长度的最小值ds(可由具体的移动通信系统决定),图中分别设定ds=5和ds=1两种情况,而交织重传区间的长度应选择等于交织重传区间长度的最小值(ds)和重传队列中不同数据分组个数(图中实例为3)两者间的最大值。
步骤2,进行交织发送,开始形成每一个交织重传区间。
在ds=5的条件下,定时器设定为5,从重传队列中选出每个重传数据分组的一个副本&1、&2、&3,按先进先出的原则发送,由于在发送完毕时定时器还未超时,故将发送队列中的数据分组#6、#7按先进先出的原则发送,直至定时器超时,则该第一个交织重传区间结束;由于此时重传队列不空,又开始下一个交织重传区间,再从重传队列中选出每个重传数据分组的一个副本&1、&2、&3,按先进先出的原则发送,由于在发送完毕时定时器还未超时,继续发送发送队列中的数据分组#8,因定时器还未超时,则停止发送直至定时器超时,第二个交织重传区间结束;由于此时重传队列仍不空,又开始下一个交织重传区间,再从重传队列中选出重传数据分组#3的一个副本&3发送,由于在发送完毕时定时器还未超时,且发送队列已空,则停止发送直至定时器超时,第三个交织重传区间结束。由于重传队列已空,将结束交织发送,按先进先出的原则开始发送发送队列中的新数据分组(如果发送队列中有新的数据分组)。
在ds=1的条件下,定时器设定为1,从重传队列中选出每个重传数据分组的一个副本&1、&2、&3,按先进先出的原则发送,由于在发送完毕时定时器已超时,则该第一个交织重传区间结束;由于此时重传队列不空,开始下一个交织重传区间,再从重传队列中选出每个重传数据分组的一个副本&1、&2、&3,按先进先出的原则发送,由于在发送完毕时定时器已超时,则该第二个交织重传区间结束;由于此时重传队列仍不空,又开始下一个交织重传区间,再从重传队列中选出重传数据分组#3的一个副本&3发送,由于在发送完毕时定时器已超时,则第三个交织重传区间结束。
步骤3,重传队列空时离开交织重传状态,按先进先出的原则发送发送队列中的数据分组,如图中ds=1时,在第三个交织重传区间结束时开始发送发送队列中的数据分组#6、#7、#8。
图5中的两个实例,可以说明交织重传区间的长度即为每个丢失分组的多个副本间的重传延时,该值实际上是由ds和丢失的数据分组数决定的,ds=1则是一个特例,即交织区间的长度仅由连续丢失的分组数决定。
结合参见图7,本发明的交织重传过程,实际上就是用上一次发送时连续丢失的数据分组数来预测当前信道衰落期长度,若在理想状态下,信道衰落期长度不变,则只需进行一次交织重传,即对每个丢失数据分组只发送两个副本。
图7中示出上一次发送时连续丢失的数据分组数是4(#3、#4、#5、#6),预测信道衰落期长度为4,经过一次交织重传,即对每个丢失数据分组只发送两个副本&3、&4、&5、&6与&3、&4、&5、&6,接收端就可成功接收重传的数据分组&3、&4、&5、&6。
因此,基于上次传送的连续丢失的数据分组数,或者基于测量信道衰落期长度技术所测量出的结果,可以确定定时器的值。
参见图6,图中示出本发明多副本加延时重传方法的第二种实施过程,是一种多队列轮询重传方案。与图5所示第一种实施方案的不同之处是交织发送的方法不同。
发送端也需要设置三个队列,包括用于存放新发送数据分组的发送队列;用于存放需要重传的各特定数据分组的多个副本的重传队列;和用于存放已发送但还未收到确认信号的数据分组的缓存队列(不属于本发明方法的范围)。
在重传队列为不空时,进入交织重传状态,开始轮询发送。
步骤1,设置N个副本队列,顺序编号为副本队列1、副本队列2、副本队列3、……、副本队列i、……、副本队列N,将各特定的重传数据分组的一个副本依序放入各副本队列中,如#1重传数据分组的两个副本&1、&1分别进入副本队列1、副本队列2中,#2重传数据分组的两个副本&2、&2分别进入副本队列1、副本队列2中且位于副本&1后,#3重传数据分组的三个副本&3、&3、&3分别进入副本队列1、副本队列2、副本队列3中且位于副本&2后,……,即,若某一个重传数据分组有k个副本,则这k个副本分别进入副本队列1、副本队列2、……、副本队列k中;
步骤2,从副本队列1开始依序发送至副本队列N,且只要副本队列不空则再从副本队列1开始依序发送至副本队列N,直到N个副本队列都为空时,结束轮询发送过程。发送时只有当前一个副本队列为空时才可发送下一个副本队列,即只有当第i个副本队列空时才可发送第i+1个副本队列,且不管第i个副本队列至第N个副本队列实际是否为空,也必须依序发送到第N个副本队列;
步骤3,在N个副本队列都为空时,结束轮询发送过程,开始发送发送队列中的新数据分组。
考虑到在许多移动通信系统中,实际操作是控制重传次数的,如在IS-99中,重传次数不能超过3,也就是说,一次重传的副本数不会超过某个固定值,如采用本发明线性增长的方法,一次重传的副本数不会超过4,如采用本发明指数增长的方法,一次重传的副本数不会超过8,采用第二种多队列轮询发送的实施方案时,就可将副本队列分别设为4和8,而可使实施过程大为简化。
因此,在限制重传次数的条件下,第二种多队列轮询重传方案的效果与第一种方案中ds=1时的效果是相同的,但多队列轮询重传方案的实施更为简单。
参见图8、图9、图10,在信噪比(S/N)为20dB的条件下,通过取不同的信道衰落速度fd(Hz),如5Hz(用空心三角表示)、10Hz(用空心菱形表示)、50Hz(用*表示),分别用仿真手段示出延时时间(Tdelay)与有效吞吐量(effectivethroughput)、重传数均值(mean of number of retransmissions)与重传数方差(variance of number of retransmissions)间的关系。图中用花线表示出延时-线性-多副本重传方案(D-Linear-MCR),用点划线表示延时-指数-多副本重传方案(D-Expo-MCR)。
图示的结果表明,慢衰落速度会导致有效吞吐量的减小,和重传数均值及重传数方差的加大,这是因为慢衰落信道具有较大的相关性和较长的衰落期长度,使连续丢失数据分组的概率增加。
此外,针对传统的选择重传(SR)方案、延时-线性-多副本重传(D-Linear-MCR)方案、延时-指数-多副本重传(D-Expo-MCR)方案,还可进一步获得信道环路时间(round trip time)对有效吞吐量(effective throughput)、重传数均值(mean of number of retransmissions)、重传数方差(variance ofnumber of retransmissions)的影响。其结果是:随着信道环路时间的增加,本发明的延时多副本重传方法将会获得更好的性能,这是因为在通过较长的信道环路时间后,连续重传的相关性减小。
另外,仍针对传统的选择重传方案、延时-线性-多副本重传、延时-指数-多副本重传方案,也可在不同的信道衰落速度fd(如10或100Hz)下,获得信噪比(SNR-dB)对有效吞吐量、重传数均值与重传数方差的影响,其结果是:随着信噪比的减小,特别是当信噪比小于25dB时,延时多副本重传的性能将大大下降。
图11是模拟的使用本发明方法后对传输性能的改进曲线图。在一个典型的移动通信系统中,仿真不同的ARQ方案所获得的传输控制协议(TCP)性能。仿真中,有线网容量取为100Mbps,无线网容量取为2Mbps,有线网的传播时延为50ms,无线网的传播时延为10ms,链路层的数据分组长度为53字节,TCP的分组长度为576字节,基站缓冲器能存储最多384个链路层的数据分组,重传的最大次数是2(副本数为3或4),取交织重传区间最小值ds为1,用两态马尔可夫(Markovian)模型模拟衰落信道。
图中对不同ARQ方案的端到端TCP吞吐量作了比较,横轴为信道衰落速度fd(Hz),纵轴为吞吐量。用空菱形块连接的虚线示出不限制重传次数(无限重传)的理想(ideal)情况,用实心方块连接的实线表示传统的选择重传(SR-ARQ)方案性能,用实心菱形块连接的实线示出线性-多副本重传(Linear-MCR)方案的性能,用加号(+)连接的实线表示指数-多副本重传(Expo-MCR)方案的性能,用实心三角形连接实线表示延时-线性-多副本重传(D-Linear-MCR),用*形连接实线表示延时-指数-多副本交织重传(D-Expo-MCR)。结果表明:本发明方案与传统的SR-ARQ方案相比,可获得更好的TCP端到端吞吐量。实验还表明:D-MCR方案的性能优于MCR方案,而不同的多副本方案(Linear与Expo)间则无太大区别。
通常,在快衰落信道中,因平均数据分组的丢失率较高,用指数方案的性能优于用线性方案,吞吐量大;而在慢衰落信道中,较长的衰落期长度将大大降低多副本方案的有效性,因此在低下的有效吞吐量情况下,指数方案的吞吐量将低于线性方案,在不同的需求下,应选择不同的多副本方案。