数据通信中的重发系统
本发明涉及数据通信系统中一种ARQ系统,或一种用于自动请求(或重复)发送的系统,具体地说,涉及这样一种系统,可用在主要出现脉冲串差错的移动通信系统中提供无差错、高效率的传送。
在具有反馈通道的数据通信系统中现有技术的ARQ系统是一种选择重复(SR)系统。
图5显示一种现有SR系统的运行时间图,其中假设接收器具有理想的无限大的缓冲存储器容量。图5中,符号Si(i是一个整数)表示发送端赋予每一数据帧的帧号,及Ri表示自接收端通过反馈通道送回至发送端的帧号。当发送端收到帧号Ri后,知道接收端正确地收到了帧Si—1,同时接收端要求发送端发送下一个帧Si。为简化解释,假设图5中反馈通道没有差错。图5中符号O表示正确收到帧,而符号X表示没有正确收到帧。
现有SR系统的特征是发送端只将接收端所请求的帧重复发送。此外,由于要求发送端重复的正确帧很可能接收端尚未收到,因此发送端对循环延迟时间(RTF)内发送端收到的重复请求Ri置之不理。每个系统中在系统的设计阶段内考虑发送端与接收端之间的延迟时间后预先确定RTF值。在图5实施例中,RTF值是4帧所需时间。
图5中,接收端(RX)正确地收到帧So,因此送回请求帧R1,要求发送帧S1。帧S1也正确地收到。然而,帧S2没有正确收到,因此送回请求帧R2给发送端。请求帧R2不停地送至发送端,直至帧S2正确收到时止。发送端在发送帧S5之后识别到R2,因此在S5之后重发S2,接着跟随S6、S7和S8。虽然在重发S2后发送端在S6和S7时序上收到请求帧S2,但由于它是在重发S2之后的RTF时间之内,所以这些请求帧就被置之不理。重发的S2正确地收到。由于S5没有正确收到,所以,接收端请求R5,因此在帧S8之后发送端重发帧S5。
虽然现有SR系统的优点是很好的传送效率,但现有SR系统的缺点是发送端和接收端中每一端必须安装无限大的缓冲存储器容量,及/或无限大数据帧数,以便在接收端保证接收帧的正确顺序,这是因为在发送端确认正确收到每一帧之前,发送端和接收端都必须存放每一帧。
然而,在实际的发送器和实际的接收器中,缓冲存储器和/或帧数不是无限大的,而是按模数M重复的有限数,例如M为8。因此,绝对不可能实施图5中所示的理想ARQ系统。
图6显示另一个现有SR系统的运行时间图,其中模数是8,其中Si和Ri分别表示第一模道中发送端和接收端中的帧,及Si+和Ri+分别表示下一模道中发送端和接收端中的帧号。注意到图6中帧数(Si,Ri,Si+,Ri+的i)是0至7中的一个数,因模数值是8。
理论上讲,一个SR ARQ系统中允许发送端在未收到接收端确认信号又能保持接收端帧序情况下发送的最大帧数是(模数—1)帧。(模数-1)这个数称为未用数。当模数为8时,未用数是7。
应注意接收端无法区别接收端中的帧Si和帧Si+,因为这些帧具有彼此相同的帧号(i),它们在图中区别开是为了便于解释。如发送端发送的帧数超过未用数,则接收端无法识别具有彼此相同帧号的两帧,无法区别每一帧属于哪个模道,因此接收端无法保持帧序。
在接线的电路中,在系统设计时将模数值设计得足够大,以便考虑到传送质量,不传送其帧号接近于未用数的帧。另一方面,在无线电电路中,尤其在移动通信电路中,不可能采用大模数,因为要考虑由于通道切换和/或换局而引起的电路中断和移动终端所允许的功率消耗。
以上问题的一个解决办法是将SR ARQ系统和GBN(Go—back—N)ARQ系统组合起来,GBN ARQ系统的传送效率比SRARQ系统低,但不存在区别模道的问题。
图7显示一个将SR ARQ系统与GBN ARQ系统组合起来的现有系统的运行时间图。现有GBN系统的特点是发送端将接收端请求重发的第一帧与发送端所发送的最新帧之间的所有帧都重新发送。图7中,在A时刻发送端发送了帧S0+,接收到R2就确认了S1,但并未确认S4,因用于R5的反馈通道出了差错。在时刻A可发送的帧数为(2+6)modulo8=0。这意味着不能再发送帧,因为在最旧的未经确认的帧S2之后已经又发送了6帧(S3,S4,S5,S6,S7,S0+)。因此传送系统由SR ARQ系统切换到GBN ARQ系统,因为如发送端再发送更多帧,则将超过未用数(=7)。其次,在GBNARQ系统下进行传送操作时,在时刻B可发送的帧数为(5+6)modulo8=3,其中帧S5是未经确认的最旧的帧,以及由于该数(=3)等于或大于1,传送系统又切换到比GBN ARQ系统更有效的SR ARQ系统。
图7操作所用现有系统的缺点是帧结构中必须包括至少一位供标志用,用于标明SR系统和GBN系统中哪一个当前正在使用,该标志的存在减低了传送效率,同时将该标志加入现有通信系统的通信系统设计是复杂的。
另外,如希望只用SR ARQ系统而不切换到GBN ARQ系统,则接收端必须区别具有彼此相同帧号而又在每一模道中,至少在两上模道中,出现的两个帧。
所以另一现有技术具有帧结构中的模道标识符,以识别该帧属于哪个模道。
图8显示现有技术中具有帧结构中的模道标志或模道标识符的两侧。图中数字A是用于显示帧中用户数据字数的区域,B是用于显示通信用的用户数据的区域,C是在发送端填入的、按模数M重复的帧号,D显示接收端请求发送的帧号,E是在发送端填入的测试位(例如CRC位),以使接收端能检测到传送差错。符号F是用在图7实施例中,用于显示当前运行系统是SR ARQ系统和GBN ARQ系统中哪一个的标志,以及符号G是模道标识符,用于显示该帧属于哪个模道。由于假设反馈通道使用与前向帧结构相同的帧结构,所以用于显示请求帧的区域D包括在帧结构中。
图9显示具有图8B的模道标识符的现有ARQ系统的框图,包括发送端和接收端两者都在内。图中接收端中将接收信号送至差错检测器40,后者通过检查区域E中由发送端填入的差错检测码,以确定是否出现传送差错。如没有检测到传送差错,则将接收信号送至帧分析电路42,而当检测到传送差错时,即丢弃接收信号。帧分析电路42获取接收信号中接收帧的帧号,并将所述帧号送至发送帧决策电路52。与此同时,帧分析电路42将整个接收帧向前送至模道识别检测器44,后者获取帧结构中的帧号C和模道标识符G,并判别现有收到的帧是新收到的帧还是重发的以前收到过的帧。当它是重发帧时,它即被丢弃,而当它是新收到的帧时,它即被送到接收器数据缓存46,以及同时模道识别检测器44,将被确认为安全收到的帧号送至请求帧决策电路54和接收数据提取控制电路48。
由于图9中是SR ARQ系统,在接收端不保证接收帧顺序。因此接收数据提取控制电路48对自数据缓存46至输出接口缓存50的数据传送加以控制,以便保持接收数据的顺序。
发送帧决策电路52根据请求的帧号D决定下一个送出的帧,并通知发送数据缓存62下一个送出的帧。同时,电路52将由新数据帧更新的帧号通知发送数据产生控制电路56。请求帧决策电路54根据收到的请求帧C决定请求帧,并将此请求帧通知请求号赋值电路64。发送数据产生控制电路56将携带新数据帧的帧号通知模道标识符赋值电路60。模道标识符赋值电路60将模道标识符赋予输入接口缓存58的输出数据,以便识别该帧属于哪一模道,以及模道标识符连同用户数据一起存放于发送数据缓存62中。发送数据缓存62根据发送帧决策电路52的指令将一个数据帧送给请求数赋值电路64。
请求数赋值电路64将自请求帧决策电路54送来的值赋予帧结构的请求帧号区域D中,并将该帧送至差错检测码赋值电路66。差错检测码赋值电路66填入一个差错检测码(例如一个奇偶位或一个CRC(循环冗余检查)码),接着整个帧向前送至通信线。
然而,一个现有ARQ系统,SR ARQ系统和GBN ARQ系统的组合,和/或一个具有模道标识符的SRARQ系统具有如下缺点。
在SR ARQ系统和GBN ARQ系统的组合的情况下,当由于移劝通信系统中的强衰落而出现很多脉冲串差错时,它常切换至GBN ARQ系统,而切换会造成不希望的通过量的减少。此外,由于用于标明所用是SR ARQ系统还是GBN ARQ系统的标志必须包括在帧结构中,用户可用数据区的量也减少了。还有,SR ARQ系统和GBN ARQT系统这两个系统都工作,装置的结构就复杂了。
图10显示现有ARQ系统的运行时间图,其中图10显示SRARQ系统和GBN ARQ系统组合情况下的时间图,而图10B显示模道标识符类型的情况。
假设在图10A和图10B中模数都是8。
将图10A与图10B比较,图10A中由于连续出错而切换到GBN ARQ系统,接收器在时刻B确认正确收到帧5(帧6由R6所请求),而在图10B中接收器在时刻B确认正确收到帧0+。因此表面上看图10B的模道标识符类型比图10A的情况好。
然而图10B的模道标识符类型的缺点是它在帧结构中必须具备用于标明模道的标识符,而所述标识符的存在减少了通过量。此外,由于硬件中的控制是由具有8位的字节执行的,因此虽然标识符本身只有1位,但它们仍占据至少8位。
本发明的目的是提供一种用于克服现有ARQ系统的缺点和限制的新的、改进的ARQ系统。
本发明还有一个目的是提供一种ARQ系统,它在SR ARQ系统下运行而不切换到GBN ARQ系统。
本发明还有一个目的是提供一种ARQ系统,它在一种具有无限大帧数的SR ARQ系统下运行,不用模道标识符而保持接收帧的顺序。
以上和其它目的是通过一种具有前向通道和反馈通道发送端和接收端的用于数据帧的数据通信电路中的选择重复系统的重发系统达到的;所述数据帧包括至少一个用于携带用户数据的第一区(B),一个用于携带每帧的帧号的第二区(C),所述帧号对每一帧按预定模数M逐一增加,一个用于携带重复请求号的第三区(D),该重复请求号由接收端送至发送端,用于请求发送一帧,一个用于携带帧的差错检测码的第四区(E),以及用于携带填入所述第一区(B)的用户数据的数量值的第五区(A);所述发送端包括至少一个用于存放其数量为至少一个模数的帧的发送缓冲存储器(62),用于在预定循环延迟时间内丢弃请求帧的装置(52),用于自所述存储器(62)获取一帧以便发送至接收端的装置(64),所述装置(64)将对每一帧特定的帧号填入所述区域(C),其中如不出现传送差错则从最近发送帧的下一个帧中选择要读出的帧,如有传送差错并检测到来自接收端的请求帧,则选择请求帧作为要读出的帧以及用于将差错检测码填入所述第四区(E)并将组装帧发送给接收端的装置(66);接收端包括:利用所述第四区(E)中的差错码用于检测帧中传送差错的装置(40),一个用于存放其数量为至少一个模数的接收帧的接收缓冲存储器(46),以及装置(52),用于在没有传送差错时向发送端发送一个带有请求帧号的请求帧,所述请求帧号是最近接收帧的下一帧,而当检测到差错时发送出错帧号;其中改善之处在于所述发送端进一步包括用于组装一个带有用户数据的帧和修改所述第一区(B)中一部分(Bn)的帧组装装置(70),所述第一区(B)中所述部分(Bn)如此修改,使它与前一模道中和现有帧的帧号相同的帧的相应部分有所不同,及所述帧组装装置(70)将组装的帧存放于所述存储器(62)内,所述接收端进一步包括用于将现有接收帧内第一区(B)内所述部分(Bn)与所述缓冲存储器(46)中所存前一模道中具有与所述现有接收帧相同帧号的相应帧中相应部分(Bn)进行比较的比较装置(68),及所述比较装置(68)决定是在比较结果相同时丢弃所述现有接收帧,还是在比较结果不同时获取所述现有接收帧并用所述现有接收帧将所述接收缓冲存储器(46)的内容加以更新。
利用下面结合附图进行的描述将能更好地理解本发明的上述和其它目的、特征和伴随的优点,附图中:
图1是根据本发明的数据帧的结构,
图2是根据本发明的发送端中组装一个数据帧的运行流程图,
图3显示根据本发明的接收端中的运行流程图,
图4显示根据本发明的数据通信中重发系统的框图,
图5显示理想SR ARQ系统的运行时间图,
图6显示实际的具有模数8的SR ARQ系统的运行时间图,
图7显示现有技术中SR ARQ系统和GBN ARQ系统的组合的运行时间图。
图8显示现有技术中数据帧结构的两个例子。
图9是用于数据通信的现有重复请求系统的框图,以及
图10显示现有技术中的运行时间图。
本发明的基本概念是一种具有无限大模数、但没有模道标识符的SR ARQ系统的改善。模道标识符的功能通过修改用户数据本身加以实现。
图1显示根据本发明的数据帧的结构。图1的结构基本上和现有SR ARQ系统的结构相同。图中符号A是一个用于携带用户数据区B中所携带的字数的值的区域,B是一个用于携带进行通信的用户数据的用户数据区。用户数据区B具有保存n个字数据(n是大于2的整数)的容量,其中数据B的末字Bn用于本发明的特定目的。符号C是用于显示帧的帧号的帧号区。帧号每隔模数M重复,因此帧号总是在0与M—1之间。帧号配属于发送端。符号D是配属于接收端的请求帧区。当检测到传送差错时,它是一个重复请求,而当未检测到差错时,它是对下一帧的请求。当发送端自接收端收到请求帧请求帧区D的内容是例如p时(p的范围在0与M—1之间),发送端知道帧p—1以前的帧都已正确收到,同时接收端请求帧号为p的帧。或当帧p—1以前的帧都已正确收到时,或当帧p中出现传送差错时,接收端都会请求帧p。符号E是用于携带一个用于检测帧的传送差错的差错检测码的差错检测区。差错检测码是例如一个奇偶校验位或一个CRC码。假设图1中在从接收端至发送端的反馈通道中使用同样帧结构。
图2显示发送端组装帧时用于确定帧结构中用户数据区B中末字Bn的运行流程图。末字Bn用于确定本发明中帧的模道。
图2中当运行开始时,盒10确定用于传送的用户数据是否具有n字,其中n值是每帧中用户数据区B中包含的最大字数。
当现有帧中要送出的用户字数小于n时,它进主盒12,执行盒28。盒28填入现有帧中用户数据区B的末字区Bn的数据是上一模道中与现有帧相同帧号的帧中用户数据区B中末字Bn所有位的反相位。盒14填入区域A的值显示区域B中携带的用户字数。由于区域B的容量是n个字,同时末字Bn并不携带用户字,因此区域A中的值等于或小于n—1。
当盒10知道用于传送的用户数据有n字时,盒16检查上一模道中与现有帧的帧号相同的帧中末数据字Bn中所有位是否完全与现有模道中现有帧中末数据字(第n个字)中的位相同。当前者(上一模道中同一帧号的帧中末数据字中所有位)完全与后者(现有模道中现有帧中末数据字中所有位)相同时,控制交给路经E,因此盒22将末字(第n个字)传送至下一帧,换言之,现有帧携带n—1个字及在下一帧中发送末字(第n个字)。接着盒24执行盒28,其中将上一模道中与现有帧的帧号相同的帧的用户数据区B中末字Bn的反相数据填入现有帧中用户数据区B中末字Bn中。盒26将值n—1填入区域A,因为在区域B中保存了n—1个用户字。
当盒16知道现有帧的用户数据区B中末数据字Bn中所有位并不与上一模道中和现有帧的帧号相同的帧的用户数据区B中末数据字Bn相同时,盒18将全部n个数据字插入用户数据区B。以及,盒20将值n填入区域A。
在上述操作中,应该知道上一模道中相应的帧中用户数据区B中末字Bn并不完全与现有模道中现有帧中用户数据区B中末字Bn一致。这个特征用于在接收端区别另一模道中的帧只须将现有帧中末字Bn与上一模道中具有相同帧号的相应的帧中末字Bn相比较即可。
图2中当路径E出现时,用户数据区B中末字只用于区别模道。然而出现路径E的概率很小,假设每字具有为8位的一个字节,则在理论分析中它小于0.3%。
图3显示根据本发明在接收端区别模道的运行流程图。当它开始时,盒30在区域C中读取一帧的帧号。接着盒32将接收缓存46中(它存放上一模道中的帧)相应帧的用户数据区B中末字Bn与现有模道中现有帧中数据区B中末字Bn进行比较。当它们彼此重合时,这意味着现有帧是重发的,因此现有帧丢弃不用。
当它们不是彼此重合时,盒34将现有帧作为正确帧加以处理,及盒36用现有接收帧将接收缓存46中现有帧区的内容加以更新。
应该知道,接收端只需将现有帧中用户数据区中末字与上一模道中具有相同帧号的相应帧中末字进行比较,即可区别模道,同时可以确定该帧是重发的还是新发送的帧。
还有,应该知道,缓冲存储器62和缓冲存储器46必须具有存放一个模数的帧的容量。如模数M是8,这些存储器中每一个都必须存放8帧。
本发明的运行时间图与图10B中现有模道标识符类型的运行时间图是相同的。
图10B中,发送端送出帧S0至帧S5,由于S2有差错,发送端收到请求帧R2,后者请求发送S2,于是发送端在S5之后送出S2,接着送出S6、S7及S0+,其中S0+是下一模道中帧号为0的帧。然而由于S2又出差错,它在S0+之后又被重发。接着S3、S4和S5被送出。由于接收端送回请求帧R2而没有确认S3、S4和S5的安全接收,因此虽然它们已正确地送出,但帧S3、S4和S5仍被送出。然而由于S2仍有差错,S2在S5之后又重发。接着发送S6、S7和S0+。该帧S2正确无误地收到,因此接收端停止送回请求S2的请求帧R2,而是送回请求S6的请求帧R6。然而由于出错,发送端没有收到请求帧R6,因此发送端不知道S2已正确地收到,而在S0+之后送出S2。
在此时刻,接收端弄不清楚收到的帧S2是S2(=Y)还是S2+,因它早已收到S0+。根据本发明,接收端执行图3的操作,并发现现有帧S2(=X)的末字与存放于存储器46中的相应帧(Y)末字相同,因而知道现有S2(=X)是重发的帧,应丢弃不用。
本发明中,虽然每帧有能力发送n个字,但能够在一帧内发送的用户的数量减至n—1个字,然而本发明是有用的,因为上述情况(图3中路径E)的概率很小。现有技术中,帧结构中必须有一位用于区别模道,或SR系统与GBN系统,而一位的存在就需要一个具有8位的字。
图4显示现有ARQ系统的框图。与图9比较,图4的特征在于图9的模道标识符赋值电路60由发送帧组装电路70所配代,以及图9的模道识别检测器44由数据比较器68所取代。还有,图4中提供了从发送数据缓存62到发送帧组装电路70的信号线,及从接收数据缓存46到数据比较器68的信号线。发送帧组装电路70的运行如图2所示,及信号比较器68的运行如图3所示。
如上面详细描述,本发明提供用于具有很多脉冲串差错的通信电路中的无差错、高传送效率的传送,其结构简单同时在帧结构中并无附加位。
对熟悉技术的人讲,当然可能做一些修改。例如,用于比较的字不限于末字Bn,用户数据区的任何部分都可用来代替末字。
从上所述可知已找到新的改进的ARQ系统。应该理解此处公开的实施例只供解释用,而不是为了限制本发明的范围。应以所附权利要求书而不是以用于标明本发明范围的说明书为根据。