混合自动重传请求中检测反馈消息正确性的方法和装置
技术领域
本发明涉及无线通信技术领域,特别涉及混合自动重传请求中检测反馈消息正确性的方法和装置。
背景技术
混合自动重传请求(Hybrid Automatic Repeat reQuest,HARQ)是通信中为了保障数据包的可靠传输而在物理层建立的一种数据包重传机制。例如在包括WCDMA、TS-SCDMA的3G标准中,和HSUPA、HSDPA中,及正在制定标准中的长期演进(Long Term Evolution,LTE)计划中,都采用了HARQ技术。
HARQ的基本原理是:数据包的重传在发送端和接收端之间进行,发送端和接收端中一个是基站,另一个是终端。反馈消息包括正确应答(ACK)和错误应答(NACK)。接收端接收发送端发来的数据包,如果正确接收,则反馈正确应答(ACK)消息到发送端,表明当前数据包已正确发送接收,进而发送端进行下一数据包的发送;如果接收端没有正确接收,则反馈错误应答(NACK)消息到发送端,发送端根据该消息可以重传接收端没有正确接收的数据包。
上述过程中,还可以引入冗余增量技术。该技术是在重传时发送初始传输数据的冗余备份,这样,不同重传次数的数据包,冗余备份不同,表示其冗余的冗余版本(Redundant Version,RV)随之不同。接收端接收到多个冗余版本的重传数据包后,将这些数据包合并,可以获得合并增益。
以下以LTE中的异步HARQ为例进行说明。值得注意的是,目前对LTE的研究中,决定采用双层ARQ结构,即在包括HARQ层的基础上,还包括ARQ层,且ARQ层位于HARQ层之上。发送端的双层ARQ结构具体为,在负责向接收端重传数据包的HARQ层之上设置ARQ层,该ARQ层负责向HARQ层传输数据包,该数据包可以是HARQ没有传输成功的数据包,也可以是新传输的数据包。以下的所涉及例子中,终端和基站中的相关实体分别记为UE ARQ、UE HARQ和eNB ARQ、eNB HARQ。其中,eNB代表LTE中的演进型基站(evolved NodeB)。另外,LTE中,在HARQ传输之前,具体的可以包括数据包的初传和重传之前,通过下行调度信令(Downlink SchedulingSignaling,DL SS)指示HARQ的进程。而且,还采用新数据指示(New DataIndicator,NDI),取值为0或1,用于在HARQ传输新数据时,通过将本次传输的NDI设置为与前次不同的值(0变为1,或1变为0)来指示本次传输是上层新发来的数据;相反地,如果NDI保持不变,则表示本次传输的数据与前次相同。LTE中在HARQ之前发送的下行调度信令中可以包括NDI和RV。
LTE中的异步HARQ流程一般可以如图1示例性的说明。如图1中所示,包括如下步骤:
101:eNB ARQ发送ARQ层的数据包,此处为协议数据单元(Protocol DataUnit,PDU)1,到eNB HARQ。
102:eNB HARQ发送下行调度信令DL SS到UE HARQ,其中初始NDI设为0,RV=1表示第一次发送的冗余版本。
103:eNB ARQ发送RV为1的HARQ PDU1到UE HARQ。
104:UE没有正确接收PDU1,因此反馈NACK消息到eNB HARQ。
105:eNB HARQ发送下行信令DL SS到UE HARQ,其中NDI仍为0,RV=2,表示发送的PDU与前次相同,但调整了冗余增量,因此以冗余版本增加1表示。
106:eNB ARQ发送RV为2的HARQ PDU1到UE HARQ。
107:UE正确接收PDU1,将该PDU1发送到UE ARQ层。
108:UE HARQ反馈ACK消息到eNB HARQ,表示UE正确接收了PDU1。
109:eNB ARQ发送新的数据包,即PDU2,到eNB HARQ。
110:eNB HARQ发送下行信令DL SS到UE HARQ,其中NDI设为1,表示此次将发送的是ARQ层新传输的PDU,且RV=1,表示第一次发送的冗余版本。
111:eNB ARQ发送RV为1的HARQ PDU2到UE HARQ。
以上步骤104到112示例出了异步HARQ的一般的过程。而在实际的异步HARQ过程中,UE向eNB反馈接收情况时,可能由于某种错误导致eNB得到的结果与UE反馈的相反,例如UE反馈NACK,而eNB接收到的为ACK。考虑到这种情况,HARQ还存在对该类错误的检测机制。该检测机制可以如图1中所示,在步骤101到103之后执行的步骤104′到109′的过程,具体如下:
104′:UE没有正确接收PDU1,因此反馈NACK消息,但是eNB接收到的是ACK。
105′:eNB ARQ发送PDU2到eNB HARQ。
106′:eNB HARQ发送DL SS到UE HARQ,其中NDI=1,表示此次将发送的是ARQ层新传输的PDU,且首次发送该PDU,其RV=1。
107′:eNB ARQ发送RV为1的HARQ PDU2到UE HARQ。
108′:UE ARQ由于之前PDU1没有正确接收,仍在等待接收PDU1,而此次接收的PDU,其NDI=1,与前次的NDI不同,据此,UE ARQ判断104′步骤中发生了NACK变为ACK的错误,因此,发送错误指示(Error Indicator,EI)到eNB HARQ。
109′:eNB HARQ错误指示后,发送Local NACK到eNB ARQ,指示本次PDU传输失败。
这样,eNB HARQ可以知道之前发送的PDU1在UE HARQ中并没有正确接收,因此,eNB HARQ将在之后的过程中再次发送PDU1到UE HARQ。
但是,在某些情况下,在没有发生NACK变为ACK的情况下,UE和eNB仍会认为发生了该变化,这样,就对传输过程进行了错误的判断。以下例举一个例子加以说明这种情况,该例子是当前HARQ进程被更高优先级的HARQ进程抢占,而使eNB错误的判断发生了NACK变为ACK。该例子的信令流程如图2所示:
201到203是初始时eNB正常的发送NDI=0、RV=1的PDU1到UE HARQ。
204:此时,eNB ARQ发送更高优先级的PDU2到eNB HARQ。
这样,发送PDU2的进程具有更高的优先级,将抢占之前的发送进程,即抢占PDU1的发送进程。
205:UE接收PDU1失败,反馈NACK消息到eNB HARQ。
206:由于PDU2具有比PDU1更高的优先级,因此该步骤中断对前次发送失败的PDU1的重传,而开始进行PDU2的发送进程,该步骤中,eNB HARQ发送PDU2相应的下行调度信令DL SS到UE HARQ,其中,NDI与前次不同,此次的NDI=1,RV=1。
207:eNB HARQ发送Local NACK消息到eNB ARQ;
该步骤相应于之前UE HARQ反馈PDU1没有正确接收的消息。
208:eNB HARQ发送PDU2。
209:UE HARQ由于之前没有成功接收PDU1,一直在等待再次接收PDU1,但是收到了前述步骤206中新数据传输的调度,此时,UE HARQ按照现有的检测机制,错误的判断在步骤205中反馈给eNB HARQ的NACK变为了ACK,才导致eNB HARQ不再重传HARQ PDU1,而是重传新的PDU,因此,在本步骤209中,发送错误指示EI到eNB HARQ,以通知发生了NACK到ACK的变化。
210:eNB HARQ发送错误指示到eNB ARQ。
从上述过程可见,在步骤205中,并没有发生NACK到ACK的转变,但是,步骤209中却认为发生了该变化,即产生了错误判断,并发送指示发生该变化的错误信息发送给eNB,这样,后续的过程中,eNB会多发送一次PDU1,该多发送的进程会占用有限的系统资源。而现有技术中,还没有检测该类错误的方案。
上述内容给出了现有技术中异步HARQ的反馈信息过程及发生错误判断的过程。
同步HARQ中,也存在类似的问题。
这里仍以LTE中确定的同步HARQ为例进行说明。同步HARQ与异步HARQ不同之处在于,特定HARQ进程的重传操作发生在预定义的时刻,所以在进行重传之前不需要显式的信令来指示HARQ进程ID。目前的LTE研究中倾向于取消上行伴随信令,所以上行同步HARQ具有如下特点:
(1)基站的上行调度信令(UL Scheduling Signaling,UL SS)同时为UE的HARQ初始传输和M次重传分配了资源,M为最大重传次数;
(2)由于没有上行伴随信令,基站无法获知当前HARQ PDU可能的最大重传次数,采用如下机制:①为所有HARQ PDU确定相同的最大重传次数;②为所有HARQ PDU确定重传次数的上限。
换句话说,同步HARQ的重传不需要上行调度信令,二是按照固定的时间进行的。为简单起见,本申请中的设最大传出次数为4,即1次初始传输和3次重传。
首先介绍上行同步HARQ一般过程。仍以LTE中的上行同步HARQ为例,所涉及的实体与前述异步HARQ例子中的相同。则同步HARQ的一般过程可以如图3所示,包括:
301:eNB发送上行调度信令到UE。
302:UEARQ层发送ARQ PDU1到UE HARQ层。
303:UE HARQ层发送HARQ PDU1到eNB。其中,由于是第一次传输,RV=1。
304:eNB没有成功接收数据包,反馈NACK到UE。
305:UE重传HARQ PDU1到eNB,是第一次重传,其RV=2。
306:eNB成功接收了重传的数据包,eNB HARQ层发送ARQ PDU1到eNB ARQ。
307:eNB反馈ACK消息到UE。
308:UE HARQ层发送Local ACK到UE ARQ层。
309:eNB发送上行调度心里到UE。
310:UE ARQ层发送ARQ PDU2到UE HARQ层。
311:UE HARQ层发送HARQ PDU2到eNB。其中RV=1。
上述过程示例出了上行同步HARQ的一般过程。而在实际的上行同步HARQ过程中,eNB向UE反馈接收情况时,可能由于某种错误导致UE得到的结果与eNB反馈的相反,例如eNB反馈NACK,而UE接收到的为ACK。考虑到这种情况,HARQ还存在对该类错误的检测机制。该检测机制可以如图3中步骤304′到312′的过程,具体如下:
304′:eNB没有成功接收数据包,反馈NACK到UE。
305′:UE重传HARQ PDU1到eNB,是第一次重传,其RV=2。
306′:eNB没有成功接收数据包,反馈NACK到UE,但是由于某种原因,UE收到的是ACK,即反馈的消息发生了错误。
由于UE收到的是ACK,因此不再重传HARQ PDU1到UE,但是eNB没有成功接收,仍然在等待重传的HARQ PDU1,但是在步骤307′上UE并没有重传数据包,因此图中用虚线表示,eNB认为还是没有成功接收数据包,因此执行308′。
308′:eNB反馈NACK到UE。
由于UE之前收到的是ACK,因此在步骤309′中不重传数据包,因此该步骤在图中用虚线表示。
310′:eNB仍然没有成功接收数据包,因此反馈NACK到UE。
311′:eNB检测到已到达最大重传次数而仍然没有成功接收,因此,发送错误指示EI到UE。
312′:UE HARQ层发送Local NACK到UE ARQ层,指示该数据包发送失败。
这样,UE HARQ可以知道之前发送的PDU1在eNB HARQ中并没有正确接收,因此,UE HARQ可以在之后的过程中再次发送PDU1到eNB HARQ。
但是,在某些情况下,在没有发生NACK变为ACK的情况下,UE和eNB仍会认为发生了该变化,这样,就对传输过程进行了错误的判断。以下例举一个例子加以说明这种情况,该例子是重传达到最大次数而使eNB错误的判断发生了NACK变为ACK。该例子的信令流程如图4所示:
401:eNB发送上行调度信令到UE。
402:UEARQ层发送ARQ PDU1到UE HARQ层。
403:UE HARQ层发送HARQ PDU1到eNB。其中,由于是第一次传输,RV=1。
404:eNB没有成功接收数据包,反馈NACK到UE。
405:UE重传HARQ PDU1到eNB,是第一次重传,其RV=2。
406:eNB没有成功接收数据包,反馈NACK到UE。
407:UE重传HARQ PDU1到eNB,是第二次重传,其RV=3。
408:eNB没有成功接收数据包,反馈NACK到UE。
409:UE重传HARQ PDU1到eNB,是第三次重传,其RV=4。
410:eNB没有成功接收数据包,反馈NACK到UE。
411:UE重传已达到最大次数,仍没有收到ACK消息,因此UE HARQ层发送Local NACK消息到UEARQ层。
412:eNB在最后一次重传中都没有成功接收数据包,根据现有方案,eNB认为反馈消息发生了NACK→ACK的错误,因此,HARQ层发送错误指示消息到UE。
413:UE根据收到的EI,发送Local NACK消息到UE ARQ层。
从上述过程可见,在重传数据包过程中,并没有发生NACK→ACK,但是,步骤412中eNB却认为发生了该变化,即产生了错误判断,并发送指示发生该变化的错误信息发送给UE,这样,后续的过程中,eNB会多发送一次PDU1,该多发送的进程会占用有限的系统资源。而现有技术中,还没有检测该类错误的方案。
发明内容
本发明的目的是提供一种异步混合自动重传请求中的检测反馈消息正确性的方法和装置,以检测异步混合自动重传请求过程中反馈消息的正确性。
本发明的另一目的是提供一种同步混合自动重传请求中的检测反馈消息正确性的方法和装置,以检测同步混合自动重传请求过程中反馈消息的正确性。
为解决上述技术问题,本发明提供一种混合自动重传请求中的检测反馈消息正确性的方法和装置错误检测方法和装置是这样实现的:
一种异步混合自动重传请求中检测反馈消息正确性的方法,包括:
发送端接收前一数据包的错误应答反馈消息,并对新数据包的首次传输进行调度之后,根据是否收到接收端发来的针对前一数据包的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误。
所述对新数据包的首次传输可以是高优先级的数据包传输进程抢占而进行的首次传输,或发送端重传数据包达到最大次数而进行的新数据包的传输。
所述对新数据包的首次传输进行调度之后,根据是否收到接收端发来的针对前一数据包的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误由以下方式实现:
设置预定时长的定时器;
对新数据包的首次传输进行调度之后,在定时器预定的时长之内,根据是否收到接收端发来的针对前一数据包的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误。
所述判断错误应答反馈消息是否在反馈过程中发生错误由以下方式实现:
发送端如果收到接收端发来的针对前一数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误;
发送端如果没有收到接收端发来的针对前一数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中发生错误。
所述方法进一步包括:
如果确定所述错误应答反馈消息在反馈过程中没有发生错误,发送端通知高层接收端没有成功接收的数据包;
所述发送端为基站或终端,相应地接收端为终端或基站。
一种异步混合自动重传请求中检测反馈消息正确性的装置,位于发送端中,包括信令接收单元81、调度信令发送单元82和判断单元83,其中:
信令接收单元81,用于接收反馈信息和错误指示;
调度信令发送单元82,用于发送传输数据包对应的调度信令;
判断单元83,用于在信令接收单元81接收前一数据包的错误应答反馈消息,并且调度信令发送单元82发送对新数据包首次传输的调度信息之后,根据信令接收单元81是否收到前一数据包对应的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误。
所述信令接收单元81包括反馈信息接收单元811和错误指示信息接收单元812,其中,
反馈信息接收单元811用于接收反馈信息;
错误指示信息接收单元812用于接收错误指示信息。
所述判断单元83包括定时器831和确定单元832,其中,
定时器831,用于设置预定时长;
确定单元832,如果在定时器831预定的时长之内信令接收单元81收到发来的针对前一数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误;如果定时器831预定的时长之内信令接收单元81没有收到接收端发来的针对前一数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中发生错误。
所述发送端为基站。
一种同步混合自动重传请求中检测反馈消息正确性的方法,包括:
发送端在重传数据包达到最大次数后,根据是否收到针对该数据包的错误指示判断收到的错误应答反馈消息是否在反馈过程中发生错误。
所述判断收到的错误应答反馈消息是否在反馈过程中发生错误由以下方式实现:
发送端发送数据包达到最大重传次数仍收到错误应答反馈消息后,如果收到针对该数据包的错误指示,则判断所述收到的错误应答反馈消息在反馈过程中没有发生错误;或,
如果没有收到针对该数据包的错误指示,则判断所述收到的错误应答反馈消息在反馈过程中发生错误。
所述判断收到的错误应答反馈消息是否在反馈过程中发生错误由以下方式实现:
设置预定时长的定时器;
发送端在重传数据包达到最大次数后,根据是否在定时器预定的时长内收到针对该数据包的错误指示判断收到的错误应答反馈消息是否在反馈过程中发生错误。
所述方法进一步包括:
如果判断收到的错误应答反馈消息没有发生错误,发送端通知高层接收端没有成功接收的数据包。
一种同步混合自动重传请求中检测反馈消息正确性的装置,位于发送端中,包括信令接收单元111、数据包传输单元112和判断单元113,其中:
信令接收单元111,用于接收反馈信息和错误指示;所述反馈消息包括错误应答反馈消息;
数据包传输单元112,用于传输数据包;所述传输数据包包括初传数据包和重传数据包;
判断单元112,用于数据包传输单元112重传数据包达到最大次数后,根据信令接收单元111是否收到针对该数据包的错误指示判断信令接收单元111收到的错误应答反馈消息是否在反馈过程中发生错误。
所述信令接收单元111包括反馈信息接收单元1111和错误指示信息接收单元1112,其中,
反馈信息接收单元1111,用于接收反馈信息;
错误指示信息接收单元1112,用于接收错误指示信息。
所述判断单元113包括定时器1131和确定单元1132,其中,
定时器1131,用于设置预定时长;
确定单元1132,如果数据包传输单元112重传数据包达到最大次数后,且在定时器1131预定的时长之内信令接收单元111收到针对所述数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误;如果数据包传输单元112重传数据包达到最大次数后,且在定时器1131预定的时长之内信令接收单元111没有收到针对所述数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中发生错误。
所述发送端为终端。
由以上本发明提供的异步混合自动重传请求中检测反馈消息正确性技术方案可见,本发明中发送端接收前一数据包的错误应答反馈消息,根据是否收到接收端发来的针对前一数据包的错误指示EI判断所述错误应答反馈消息是否在反馈过程中发生错误,从而可以正确判断前一数据包在接收端的接收状态,进而后续操作可以正确进行。
由以上本发明提供的同步混合自动重传请求中检测反馈消息正确性技术方案可见,本发明中发送端传输数据包,在重传数据包达到最大次数后,根据是否收到针对该数据包的错误指示判断收到的错误应答反馈消息是否在反馈过程中发生错误,从而可以正确判断所述数据包在接收端的接收状态,进而后续操作可以正确进行。
附图说明
图1为现有技术异步混合自动重传请求的一般过程;
图2为现有技术异步混合自动重传请求中发生错误判断的一种情况的过程;
图3为现有技术同步混合自动重传请求的一般过程;
图4为现有技术同步混合自动重传请求中发生错误判断的一种情况的过程;
图5为现有技术异步混合自动重传请求中发生错误判断的另一情况的过程;
图6为本发明异步混合自动重传请求一种情况下检测反馈消息正确性的方法实施例;
图7为本发明异步混合自动重传请求另一情况下检测反馈消息正确性的方法实施例;
图8为本发明异步混合自动重传请求中检测反馈消息正确性的装置实施例;
图9为现有技术同步混合自动重传请求中发生错误判断的另一情况的过程;
图10为本发明同步混合自动重传请求中检测反馈消息正确性的方法实施例;
图11为本发明同步混合自动重传请求中检测反馈消息正确性的装置实施例。
具体实施方式
本发明提供异步混合自动重传请求中的检测反馈消息正确性的方法和装置及基站错误检测方法和装置,基本思想是,发送端接收前一数据包的错误应答反馈消息,并对新数据包的首次传输进行调度之后,发送端根据是否收到接收端发来的针对前一数据包的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误。
本发明提供同步混合自动重传请求中的检测反馈消息正确性的方法和装置及基站错误检测方法和装置,基本思想是,发送端在重传数据包达到最大次数后,根据是否收到针对该数据包的错误指示判断收到的错误应答反馈消息是否在反馈过程中发生错误。
以下先介绍异步混合自动重传请求的情况。
前述异步混合自动重传请求的过程中给出的错误判断的例子是在有高优先级进程抢占的情况下产生的。另外,在数据包达到最大重传次数仍未成功传输的情况下,也会发生类似的错误判断。以下给出该情况的例子,其流程可以如图5所示:
501至503是初始传输数据包PDU1,与前面的201之203类似。
504:最后一次重传PDU1前发送下行调度信令DL SS,其中NDI与该PDU1之前重传过程中的NDI相同,RV为最大值,这里设为m。
该步骤之前,PDU1经过多次重传,RV递增,该步骤中,对PDU1的重传次数RV将达到最大次数m,即将要进行最后一次重传PDU1。
505:eNB最后一次重传PDU1。
506:最后一次重传后UE仍然没有成功接收,反馈NACK到eNB HARQ。
507:eNB HARQ向eNB ARQ发送Local NACK消息,指示ARQ PDU1发送失败。
508:eNB ARQ再次发送ARQ PDU1到eNB HARQ,在eNB HARQ中对应的将发送HARQ PDU2。
509:eNB HARQ发送HARQ PDU2对应的下行调度信令DL SS到UEHARQ,其中,NDI与前次不同,这里为NDI=1,RV=1。
510:eNB发送HARQ PDU2到UE HARQ。
511:UE HARQ由于之前没有成功接收HARQ PDU1,一直在等待再次接收HARQ PDU1,但是收到了前述步骤509中新数据传输的调度,此时,按照现有技术的检测机制,UE HARQ错误的判断在步骤506中反馈给eNB HARQ的NACK变为了ACK,才导致eNB HARQ不再重传HARQ PDU1,而是重传新的PDU,因此,在本步骤中,发送错误指示EI到eNB HARQ,以通知发生了NACK到ACK的变化。
512:eNB HARQ反馈Local NACK到eNB ARQ,以通知HARQ PDU1对应的ARQ PDU1没有成功发送。
进一步地,eNB会产生错误操作,如再次重传ARQ PDU1,从而,这些多次发送进程会占用有限的系统资源。
与该过程类似的,如果在最后一次重传时UE成功接收,而UE HARQ反馈的ACK在eNB HARQ中错误的接收为NACK,则eNB也会产生再次重传ARQ PDU1之类的错误操作。
其过程可以如图5中的步骤506′到508′,之前的步骤如图5中的501到505。步骤506′到508′具体如下:
506′:在最后一次重传中,UE成功接收,反馈ACK到eNB HARQ,但是由于某种原因,例如解码错误等,eNB HARQ接收到的是NACK。
507′:eNB HARQ发送Local NACK到eNB ARQ。
508′:eNB ARQ再次发送ARQ PDU1到eNB HARQ,在eNB HARQ中对应的将发送HARQ PDU2。
可见,UE已经成功接收了HARQ PDU1,但是由于ACK变为NACK,以致发生HARQ PDU1的重传,会造成资源的浪费。同样的,在高优先级数据包传输进程抢占的情况下,如果之前收到的反馈信息由ACK变为NACK,也会造成同样问题。
以下提出本发明异步混合自动重传请求下的技术方案。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
本发明实施例提供的方法可以概况如下:
发送端接收前一数据包的错误应答反馈消息,并对新数据包的首次传输进行调度之后,根据是否收到接收端发来的针对前一数据包的错误指示(ErrorIndicator,EI)判断所述错误应答反馈消息是否在反馈过程中发生错误。
具体的,发送端接收前一数据包的错误应答反馈消息,并对新数据包的首次传输进行调度之后,如果收到接收端发来的针对前一数据包的EI,则确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误;如果没有收到接收端发来的针对前一数据包的EI,则确定所述前一数据包的错误应答反馈消息在反馈过程中发生错误。
如前所述的,发送端对新数据包的首次传输过程,可以是由于高优先级的数据包传输进程抢占,因此发送端首次传输该高优先级的数据包到接收端,所述高优先级的数据包即新数据包;也可以是由于发送端重传数据包达到最大次数而进行的新数据包的传输。所述的两种情况只是为了举例说明本发明实施例提供的方法,而并非限制本发明的应用。
具体地,所述接收端在新数据包之前反馈的消息在以下实施例中为错误应答(NACK)消息。
之所以可以判断错误应答反馈消息是正确的,是因为发送端收到前一数据包的反馈消息NACK,之后又收到针对该前次数据包的错误指示EI,如前所述,EI是指示所述前次数据包的反馈发生了NACK→ACK的转变,即在发送端接收的是ACK,但是,发送端之前接收的前次数据包反馈是NACK,并不是ACK,因此可以确定前一数据包的错误应答反馈消息在反馈过程中没有发生错误,即前次反馈是正确的,而收到的EI是接收端的误判断。
进一步地,发送端通知高层接收端没有成功接收的数据包,以在后续过程中发送端对所述接收端没有成功接收的数据包再次重传。
优选地,可以在收到前一数据包相应的反馈消息NACK之后,在进行新数据包的调度时,启动一个定时器,记为TNACK,该定时器在预定时长内检测是否收到EI。启动定时器后,如果在预定时长内收到EI,则判断前次收到的前一数据包的错误应答反馈消息在反馈过程中没有发生错误,即没有发生NACK→ACK的变化。
根据定时器TNACK预定的时长进行检测和判断,易于实现,且通过合理设置预定时长,可以提高系统的运行效率。则,预定时长可以根据经验值预先设定。
另外,也可能在预定时长内没有收到EI。没有收到EI的一种情况是,所述前一数据包反馈的是ACK消息,但是由于某种原因,例如传输过程发生错误或发送端的解码错误,发送端接收的该反馈消息是NACK,即反馈的消息在反馈过程中发生了错误。接收端反馈的ACK消息表明接收端对前一数据包进行了正确的接收,因此不会在接收新数据包时反馈EI,这样,发送端也不会收到EI。
如果在预定时长内没有收到EI,则发送端判断前次接收的针对前一数据包的反馈消息NACK是错误的。换句话说,发送端认为前一数据包发送后,接收端已经正确接收。进一步地,发送端不会在后续过程中重传所述前一数据包。
以下列举两个具体实施例加以说明。
图6示出了本发明第一实施例的完整流程,该实施例是有高优先级的数据包传输进程抢占的情况。
步骤601至605与前面图2中的步骤201之205类似,是为了说明在发送数据包时,有更高优先级的数据包传输进程将要抢占,在此不再赘述。以下从步骤606开始介绍:
606:PDU2具有比PDU1更高的优先级,因此该步骤中断对前次发送失败的PDU1的重传,而开始进行PDU2的发送进程,该步骤中,eNB HARQ发送PDU2相应的下行调度信令DL SS到UE HARQ,其中,此次的NDI=1,RV=1。
并且,该步骤中eNB启动定时器TNACK,以检测在预定时长内是否收到UE发送的错误指示EI。
607:eNB HARQ发送PDU2。
608:该步骤与前面图2中的步骤209类似,是UE HARQ由于之前没有成功接收PDU1,一直在等待再次接收PDU1,但是收到了前面步骤606中新数据传输的调度,此时,UE HARQ错误的判断在步骤605中反馈给eNB HARQ的NACK变为了ACK,才导致eNB HARQ不再重传HARQ PDU1,而是重传新的PDU2,因此,在本步骤608中,发送错误指示EI到eNB HARQ,以通知发生了NACK到ACK的变化。
609:eNB在TNACK超时前接收到UE发送的错误指示EI,被通知在步骤605中发生了NACK→ACK的错误,但是,eNB可以检测之前步骤605中收到的是NACK,并不是ACK,因此,可以确定步骤605中并没有发生NACK→ACK,也就是说,步骤608中发来的EI是UE的误判断。在该步骤中,eNB ARQ发送Local NACK到eNB ARQ。该Local NACK相应于步骤605中收到的NACK消息。可以说,eNB对UE发来的反馈消息进行确认后才向高层发送相应的消息。
上述发送端收到接收端发来的针对前一数据包的EI,确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误。以下介绍没有收到接收端发来的针对前一数据包的EI,则确定前一数据包的错误应答反馈消息在反馈过程中发生错误的情况。
该情况的流程可以如图6中步骤601至604和步骤605′至608′所示的内容,具体如下:
步骤601之604与上面提到的相同,在此不再描述。
605′:UE成功接收了数据包PDU1,反馈ACK消息到eNB,但是反馈过程发生错误,导致eNB收到的是NACK消息。
606′:该步骤与606中的描述相同,在发送高优先级数据包传输的调度时,启动定时器TNACK,以检测在预定时长内是否收到UE发送的错误指示EI。
607′:该步骤与606中的描述相同,eNB HARQ发送PDU2。
608′:eNB在定时器TNACK预定的时长内没有收到UE反馈的EI,则判断在步骤605′中发生了ACK→NACK,在TNACK超时后,发送Local ACK到eNB,以通知eNB之前的PDU1在接收端正确接收。
图6描述的实施例是有高优先级数据包传输抢占的情况,以下给出第二实施例,即数据包重传达到最大次数仍未成功传输的情况,如图6所示:
步骤701至709描述的是eNB不断的重传数据包PDU1到UE,直到重传达到最大次数。
710:直到重传达到最大次数,UE仍未成功接收数据包,反馈NACK到eNB HARQ。
711:eNB ARQ发送新数据包PDU2到eNB eHARQ。
712:eNB HARQ发送HARQ PDU2对应的下行调度信令DL SS到UEHARQ,其中,NDI与前次不同,这里为NDI=1,RV=1。
同时,该步骤中启动eNB启动定时器TNACK,以检测在预定时长内是否收到UE发送的错误指示EI。
713:eNB ARQ发送数据包PDU2到eNB eHARQ。
714:该步骤是UE HARQ由于之前没有成功接收PDU1,一直在等待再次接收PDU1,但是收到了前面步骤712中新数据传输的调度,此时,UE HARQ错误的判断在步骤710中反馈给eNB HARQ的NACK变为了ACK,才导致eNB HARQ不再重传HARQ PDU1,而是重传新的PDU2,因此,在本步骤714中,发送错误指示EI到eNB HARQ,以通知发生了NACK到ACK的变化。
715:eNB在TNACK超时前接收到UE发送的错误指示EI,被通知在步骤710中发生了NACK→ACK的错误,但是,eNB可以检测之前步骤710中收到的是NACK,并不是ACK,因此,可以确定步骤710中并没有发生NACK→ACK,也就是说,步骤714中发来的EI是UE的误判断。在该步骤中,eNB ARQ发送Local NACK到eNB ARQ。该Local NACK相应于步骤710中收到的NACK消息。可以说,eNB对UE发来的反馈消息进行确认后才向高层发送相应的消息。
上述发送端收到接收端发来的针对前一数据包的EI,确定所述前一数据包的反馈消息在反馈过程中没有发生错误。以下介绍没有收到接收端发来的针对前一数据包的EI,则确定前一数据包的反馈消息在反馈过程中发生错误的情况。
该情况的流程可以如图7中步骤701至709和步骤710′至714′所示的内容,具体如下:
步骤701之709与上面提到的相同,在此不再描述。
710′:重传达到最大次数时,即最后一次重传时,UE成功接收了数据包PDU1,反馈ACK消息到eNB,但是反馈过程发生错误,导致eNB收到的是NACK消息。
711′:eNB ARQ发送数据包PDU2到eNB eHARQ。
712′:eNB HARQ发送HARQ PDU2对应的下行调度信令DL SS到UEHARQ,其中,NDI与前次不同,这里为NDI=1,RV=1。
同时,该步骤中启动eNB启动定时器TNACK,以检测在预定时长内是否收到UE发送的错误指示EI。
713′:eNB HARQ发送PDU2。
714′:eNB在定时器TNACK预定的时长内没有收到UE反馈的EI,则判断在步骤710′中发生了ACK→NACK,在TNACK超时后,发送Local ACK到eNB,以通知eNB之前的PDU1在接收端正确接收。
至此,图7描述了数据包重传达到最大次数仍未成功传输的情况。
对于发送端来讲,较简单地,根据是否收到接收端发来的针对前一数据包的错误指示(Error Indicator,EI)判断所述反馈消息是否在反馈过程中发生错误,可以如下表中所示的规则:
|
超时前收到EI |
超时后仍未收到EI |
调度新数据包之前接收到NACK |
之前收到的NACK没有发生错误 |
之前收到的反馈信息发生ACK→NACK的错误 |
表1.异步混合自动重传请求中反馈消息正确性的判断规则表
根据本申请文件上述实施例提供的方法,进一步的,发送端可以依据判断得到的正确结果执行后续操作,如反馈上层相应的信令或发送新数据包等。
以上为提供的本发明的方法实施例。
由以上实施例可见,发送端接收前一数据包的错误应答反馈消息,并对新数据包的首次传输进行调度之后,根据是否收到接收端发来的针对前一数据包的错误指示EI判断所述错误应答反馈消息是否在反馈过程中发生错误,从而可以正确判断前一数据包在接收端的接收状态,进而后续操作可以正确进行。
以下介绍本发明的装置实施例。图8示出了该实施例的框图。
如图所示,检测反馈消息正确性的装置,位于发送端中,包括信令接收单元81、调度信令发送单元82和判断单元83,其中:
信令接收单元81,用于接收反馈信息和错误指示;
调度信令发送单元82,用于发送传输数据包对应的调度信令;
判断单元83,用于在信令接收单元81接收前一数据包的反馈消息,并且调度信令发送单元82发送对新数据包首次传输的调度信息之后,根据信令接收单元81是否收到前一数据包对应的错误指示判断所述反馈消息是否在反馈过程中发生错误。
所述信令接收单元82包括反馈信息接收单元811和错误指示信息接收单元812,其中,
反馈信息接收单元811用于接收反馈信息;
错误指示信息接收单元812用于接收错误指示信息。
所述判断单元83包括定时器831和确定单元832,其中,
定时器831,用于设置预定时长;
确定单元832,如果在定时器831预定的时长之内信令接收单元81收到发来的针对前一数据包的错误指示,则确定所述前一数据包的反馈消息在反馈过程中没有发生错误;如果定时器831预定的时长之内信令接收单元81没有收到接收端发来的针对前一数据包的错误指示,则确定所述前一数据包的反馈消息在反馈过程中发生错误。
所述发送端为基站。
利用图8所示的装置检测反馈消息正确性的方法与前述方法类似,在此不再赘述。
以上为本发明装置实施例的介绍。
上述的方法实施例和装置实施例是针对异步混合自动重传请求情况的。
以下介绍同步混合自动重传请求的情况。
前述同步混合自动重传请求的过程中给出的错误判断的例子是在数据包重传达到最大次数仍没有正确接收的情况下产生的。另外,在数据包重传达到最大重传次数时,eNB成功接收的情况下,也会发生类似的错误判断。以下给出该情况的例子,其流程可以如图9所示:
901:eNB发送上行调度信令到UE。
902:UE ARQ层发送ARQ PDU1到UE HARQ层。
903:UE HARQ层发送HARQ PDU1到eNB。其中,由于是第一次传输,RV=1。
904:eNB没有成功接收数据包,反馈NACK到UE。
905:UE重传HARQ PDU1到eNB,是第一次重传,其RV=2。
906:eNB没有成功接收数据包,反馈NACK到UE。
907:UE重传HARQ PDU1到eNB,是第二次重传,其RV=3。
908:eNB没有成功接收数据包,反馈NACK到UE。
909:UE重传HARQ PDU1到eNB,是第三次重传,其RV=4。
910:eNB成功接收数据包,eNB HARQ层发送ARQ PDU1到eNB ARQ层。
911:eNB发送ACK到UE,但是由于某种错误,UE接收到的是NACK。
912:UE重传已达到最大次数,仍没有收到ACK消息,因此UE HARQ层发送Local NACK消息到UEARQ层。
912:UE重传已达到最大次数,UE HARQ层发送Local NACK消息到UEARQ层。
913:UEARQ层发送ARQ PDU2到UEARQ层,即开始下一数据包的发送。
从上述过程可见,在最后一次重传中,eNB成功接收了数据包,但是由于反馈的消息发生了ACK→NACK的变化,UE仍认为eNB没有成功接收,并且由于是已达到最大重传次数,UE将在后续的过程中再次发送ARQ PDU1到eNB。可见,现有技术的方法没有在该情况下没有能对反馈消息的正确性做出正确的判断。
以下提出本发明同步混合自动重传请求下的技术方案。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
本发明实施例提供的方法可以概况如下:
发送端在重传数据包达到最大次数后,根据是否收到针对该数据包的错误指示判断收到的反馈消息是否在反馈过程中发生错误。
具体的,发送端发送数据包达到最大重传次数仍收到NACK消息后,如果收到针对该数据包的错误指示,则判断所述收到的NACK消息在反馈过程中没有发生错误。
发送端发送数据包达到最大重传次数仍收到NACK消息后,如果没有收到针对该数据包的错误指示,则判断所述收到的NACK消息在反馈过程中发生错误。
优选地,可以在收到数据包在达到最大重传次数时的反馈消息NACK之后,启动一个定时器,记为TNACK,该定时器在预定时长内检测是否收到EI。启动定时器后,如果在预定时长内收到EI,则判断收到的所述数据包的反馈消息NACK在反馈过程中没有发生错误,即没有发生NACK→ACK的变化。相应地,如果在预定时长内没有收到EI,则判断收到的所述数据包的反馈消息NACK在反馈过程中发生错误,即发生ACK→NACK的变化。
根据定时器TNACK预定的时长进行检测和判断,易于实现,且通过合理设置预定时长,可以提高系统的运行效率。则,预定时长可以根据经验值预先设定。
进一步地,如果UE判断收到的NACK没有发生错误,则UE HARQ层发送Local NACK到UE ARQ层;如果UE判断收到的NACK发生错误,则UEHARQ层发送Local ACK到UE ARQ层。
以下例举具体实施例加以说明。
图10示出了本发明实施例的完整流程。
步骤1001至步骤1009是UE对数据包进行初传和重传,收到的反馈都是NACK,并在步骤1009中重传达到最大次数。
1010:eNB仍然没有成功接收数据包,因此反馈NACK到UE。UE收到ANCK时启动定时器TNACK,以检测在预定时长内是否收到UE发送的错误指示EI。
1011:eNB在最大重传次数时都没有成功接收数据包,UE认为发送过程中发生了NACK→ACK的错误,因此发送EI到UE。
1012:UE收到eNB发来的错误指示EI,判断收到的NACK没有发生错误,UE HARQ发送Local NACK到UE ARQ层。
或是发送端最后一次接收的反馈消息发生了ACK→NACK的错误。则如步骤1010′和1011′所示:
1010′:eNB在最大重传次数时成功接收数据包,UE发送ACK的错误,因此发送EI到UE。
1011′:在TNACK超时后,UE HARQ层发送Local ACK到UE ARQ层。
有以上实施例可见,发送端在重传数据包达到最大次数后,根据是否收到针对该数据包的错误指示判断收到的反馈消息是否在反馈过程中发生错误,从而检测了收到的反馈消息的正确性。
对于发送端来讲,较简单地,根据是否收到发来的针对所述数据包的错误指示判断所述错误应答反馈消息是否在反馈过程中发生错误,可以如下表中所示的规则:
|
超时前收到EI |
超时后仍未收到EI |
重传数据包达到最大重传次数后仍接收到NACK |
之前收到的NACK没有发生错误 |
之前收到的反馈信息发生ACK→NACK的错误 |
表2.同步混合自动重传请求中反馈消息正确性的判断规则表
以下介绍本发明装置的实施例。图11示出了该装置实施例的框图。
如图所示,同步混合自动重传请求中检测反馈消息正确性的装置,位于发送端中,包括信令接收单元111、数据包传输单元112和判断单元113,其中:
信令接收单元111,用于接收反馈信息和错误指示;所述反馈消息包括错误应答反馈消息;
数据包传输单元112,用于传输数据包;所述传输数据包包括初传数据包和重传数据包;
判断单元112,用于数据包传输单元112重传数据包达到最大次数后,根据信令接收单元111是否收到针对该数据包的错误指示判断信令接收单元111收到的错误应答反馈消息是否在反馈过程中发生错误。
所述信令接收单元111包括反馈信息接收单元1111和错误指示信息接收单元1112,其中,
反馈信息接收单元1111,用于接收反馈信息;
错误指示信息接收单元1112,用于接收错误指示信息。
所述判断单元113包括定时器1131和确定单元1132,其中,
定时器1131,用于设置预定时长;
确定单元1132,如果数据包传输单元112重传数据包达到最大次数后,且在定时器1131预定的时长之内信令接收单元111收到针对所述数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中没有发生错误;如果数据包传输单元112重传数据包达到最大次数后,且在定时器1131预定的时长之内信令接收单元111没有收到针对所述数据包的错误指示,则确定所述前一数据包的错误应答反馈消息在反馈过程中发生错误。
所述发送端为终端。
利用图11所示的装置检测反馈消息正确性的方法与前述方法类似,在此不再赘述。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。