利用HARQACK/NACK的RLCPDU发送方法及装置与流程

文档序号:12621976阅读:786来源:国知局
利用HARQ ACK/NACK的RLC PDU发送方法及装置与流程

本发明涉及通信技术领域,特别涉及一种利用混合自动重传请求(HARQ)确认否认反馈信息(ACK/NACK)的无线链路控制(RLC)协议数据单元(PDU)方法及装置。



背景技术:

3G中的RLC(无线链路控制)协议AM模式(确认模式)通过重传和超时建立可靠的传输机制。但是AM PDU(协议数据单元)重传(本文以后用RLC重传特指AM PDU重传)纠错有着很高的时延。

针对RLC重传的高时延,HSUPA(高速上行链路分组接入)中HARQ-III(混合自动重传请求-III)技术较好的解决了这一问题。它采用了停等重传方式进行,HARQ基于确认/非确认(简称ACK/NACK)在物理层快速重传NACK(非确认)数据,降低了时延(HARQ是定义在MAC层协议,其多实现在物理层,无论是实现在MAC(介质访问控制)层还是物理层,都会根据协议实现快速重传)。但是物理层对ACK/NACK都存在着一定概率的误检测,也就是下面两种情况(本文以后将该简称误检1,误检2):

误检1:网络发送ACK时,UE(终端)把它误检测为NACK,会重传该包MAC PDU。

误检2:网络DTX(不连续发送)或发送NACK时,UE把它误检测为ACK,UE物理层会将MAC PDU内存释放等RLC重传相应的RLC PDU。

物理层协议25.101.10.2对以上两种误检都提出了性能要求。在一定的信号噪声条件下,误检1的概率为0.01,误检2中UE发送完数据但网络DTX 虽然有着0.5的概率,但这种场景比较少见,可以通过测量导频信噪比来滤除,误检2中网络发NACK,UE误检为ACK,概率相对于误检1概率更低,算法仿真结果通常在0.01到0.001之间。这种误检概率不能满足FTP(文件传输协议)等Qos(服务质量)要求较高的业务。而RLC AM PDU是通过映射复用到传输信道组成MAC PDU,再经过CRC(循环冗余校验)校验后通过一定的物理层技术(信道编码,交织,调制)传送到对端。对端在物理层解码后通过进行CRC校验检查MAC PDU正确与否,如果CRC对才递交的RLC层AM实体。这样RLC层接收到PDU是建立在CRC校验的基础上的。而CRC校验对应低于3比特的误码有100%的检测率,对于较多比特的误码的误检率仅为1/2N(N为添加的CRC比特位数)。在HSPA中,N为24比特,也就是CRC误检率为6*10-8,在AM实体再通过SN(序列号)检查与重传保证了更低的误码率。也就是说RLC的ARQ实体保证了更高的Qos,但有更高的时延,HSPA中的HARQ有很低的时延,也能保证一定的Qos,两种技术互为补充。

RLC层和HSUPA层都有重传机制,在一定程度上存在冗余信息,这为进一步优化数据传输提供了可能。

在现有技术中,协议25.322规定的状态包括触发机制包括发送端触发和接收端触发。其中,发送端触发包含以下内容:

(1)发送缓存中的最后一个PDU(Last PDU in buffer,缓存器中最后一个PDU),必须配置。

(2)发送缓存中的最后一个PDU(Last PDU in Retransmission buffer,重传缓存器中最后一个PDU)必须配置。

(3)Timer_Poll(轮询失败重发定时器)定时器超时,网络可以选配。在UE(终端)中,当低层指示一个包含轮询的AMD(回应模式下数据类型)PDU发送成功或不成功时,启动该定时器。在UE中,当低 层指示一个包含轮询的AMD PDU发送成功或不成功时,启动该定时器。在UTRAN(第三代无线接入系统)中,当一个包含轮询的AMD PDU被传送给低层时,启动该定时器。该轮询被传送给低层后,如果x是状态变量VT(S)的值,那么该定时器应在收到下面之一时停止:

(A)序列号一直到x-1(包括x-1)的所有的AMD PDUs的肯定的确认;或者

(B)关于序列号为x-1的AMD PDU的否定的确认。

如果定时器溢出或没有收到满足上述规则的STATUS(状态)PDU时:

(i)接收方应再一次被轮询;

(ii)该定时器应被重启动;并且

(iii)VT(S)的新的值应被保存。

(4)每发送Poll_PDU(触发轮询的PDU个数)个PDU,网络可以选配。

(5)每发送Poll_SDU(触发轮询的SDU个数)个SDU,网络可以选配。其中,Poll_SDU指示了当上层配置了"polling every Poll_SDU SDU"时发送方应以怎样的频率轮询接收方。该参数代表了状态变量VT(SDU)的上限,当VT(SDU)等于Poll_SDU的值时,则向对等实体发送一个轮询。

<mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mi>J</mi> <mo>&GreaterEqual;</mo> <mi>P</mi> <mi>o</mi> <mi>l</mi> <mi>l</mi> <mo>_</mo> <mi>W</mi> <mi>i</mi> <mi>n</mi> <mi>d</mi> <mi>o</mi> <mi>w</mi> <mo>,</mo> <mi>J</mi> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <mn>4096</mn> <mo>+</mo> <mi>V</mi> <mi>T</mi> <mi>S</mi> <mo>+</mo> <mn>1</mn> <mo>-</mo> <mi>V</mi> <mi>T</mi> <mi>A</mi> <mo>)</mo> <mi>M</mi> <mi>O</mi> <mi>D</mi> <mn>4096</mn> <mo>+</mo> <mn>100</mn> </mrow> <mrow> <mi>V</mi> <mi>T</mi> <mi>W</mi> <mi>S</mi> </mrow> </mfrac> <mo>,</mo> </mrow>其中,VTS为确认状态变量,MOD为取余函数,VTWS为发送窗口大小状态变量,网络可以选配。

(7)周期性状态定时器超时,网络可以选配。

接收端触发包含以下内容:

(1)检测到PDU丢失,必须配置。

(2)Timer_Status_Periodic(周期性触发状态包定时器)超时,网络可以选配。其中,当定时器溢出,则触发以传送一个状态报告,并且定时器应该被重启动。

协议为了避免多个不同触发源触发过于频繁的状态包又规定了状态包禁止机制,具体如下:

发送端禁止:在Timer_Poll_Prohibit(特定时期内禁止传送轮询定时器)未超时内,网络可以选配。

接收端禁止:在Timer_Status_Prohibit(特定时间内防止接收方发送连续的确认状态报告定时器)未超时内,在Timer_Reordering(特定时间内防止接收方发送确认或丢失PDU的状态报告定时器)未超时内,网络可以选配。

在触发和禁止机制的共同作用下可以保证状态报告按需触发且又不会太频繁。

现有技术中,RLC PDU的发送方法,具体如图1所示,包含步骤101~109,此处仅介绍步骤102、103、107、109:

步骤102,会判断所有类型发送端触发源,只要有一种满足触发。

步骤103,会根据VTS(发送状态变量)、VTA(确认状态变量)看是否满窗。判断公式为(VTS-VTA+4095)MOD 4096≤VTWS。

步骤107,会根据状态包置位VTA,并记录丢失数据包SN。

步骤109,根据步骤107的记录,重传丢失的数据包。

由于RLC层有发送窗口的限制,必须及时的得到状态包的反馈才能滑动 发送窗口。

现有HSUPA下RLC重传跟没有HSUPA下的RLC重传没有什么区别,都是要等到对端的状态包后才能知道哪些包没有收到,需要重传。

但是,RLC的ARQ(自动重传请求)是选择性重传,并且在多数情况下给上层提供了按顺序提交的功能。在不清楚信道环境好坏时,网络会配置UE触发对端提供较频繁的状态报告进行窗口滑动来保证较高的速率,且对端在收错某一SN的情况下,即使后面连续收到很多PDU,任然要通过发状态报告等前面收错的SN正确重传后才能向上层提交,有较大的时延。

RLC的ARQ是在完全不知道对端接收状况下设计的,在信道条件较好的情况下也要传输一定数量的状态包来滑动发送窗口。

例如,通过目前HSUPA时网络对UE的典型配置如下:

transmissionWindowSize tw2047

pollingInfo

{

timerPollProhibit tpp20,

timerPoll tp250,

poll-PDU pdu64,

poll-SDU sdu1,

lastTransmissionPDU-Poll TRUE,

lastRetransmissionPDU-Poll TRUE

}

poll-PDU pdu64通常是用来滑窗的,poll-SDU sdu1通常是保证尽快按顺序递交的。其他选配的触发源都没配置。timerPollProhibit(特定时期内禁止传送轮询定时器)为20ms,由于e-dch(增强专用信道)配置了10ms TTI (发送时间间隔),所以是polling bit(轮询比特位)不能出现在连续两个mac-e PDU中。假设网络授权比较大,每次能传输32个336bit的RLC PDU,按照发送窗口为2048的情况下,2048/32=64次发送就能把窗口用完,在这过程里面对端需要发送了32个状态包来滑窗,如果再考虑poll-SDU突发源的情况下,特别是小的IP(网路互联协议)包比较多时,授权又没有这么大时,状态包的个数可能比这个还要多不少。在基本不丢包的情况下,很多状态包的作用只是用来滑动窗口的。且在无捎带情况下,在每个336bit的状态包中只有利用了几十比特填写ACK SUFI(超域),浪费了空口资源。

等接收到对端的状态包后才知道哪个SN的数据包丢失,再组织重传,有很大的时延。



技术实现要素:

本发明解决的问题在于提供一种利用HARQ ACK/NACK的RLC PDU发送方法及装置,在信道环境好时减少状态包的发送与接收,在信道环境变坏时,不需要等收到对端状态包,提前重传失败数据,降低时延。

为解决上述技术问题,本发明的实施方式提供了一种利用HARQ ACK/NACK的RLC PDU发送方法,包含以下步骤:

由物理层向RLC层反馈本次HARQ的ACK/NACK;

若接收到ACK,则更新HARQ的确认状态变量VTAharq,并根据更新的VTAharq判断RLC层是否满窗;其中,所述VTAharq记录按顺序排在最后一个的ACK的序列号SN;

若未接收到ACK,且达到了最大HARQ重传次数MaxDATharq,通知RLC层进行重传;其中,所述MaxDATharq小于预设阈值;

所述RLC层接收到通知后优先重传NACK数据。

本发明的实施方式还提供了一种利用HARQ ACK/NACK的RLC PDU发送装置,包含:反馈模块、更新模块、判断模块、通知模块与重传模块;

所述反馈模块,用于由物理层向RLC层反馈本次HARQ的ACK/NACK;

所述更新模块,用于在所述RLC层接收到ACK时更新HARQ的确认状态变量VTAharq;其中,所述VTAharq记录按顺序排在最后一个的ACK的序列号SN;

所述判断模块,用于根据更新的VTAharq判断RLC的窗口是否满窗;其中,所述VTAharq记录按顺序排在最后一个的ACK的序列号SN;

所述通知模块,用于在所述RLC层未接收到ACK且达到了最大HARQ重传次数MaxDATharq时,通知RLC层进行重传;其中,所述MaxDATharq小于预设阈值;

所述重传模块,用于在所述RLC层接收到通知时优先重传NACK数据。

本发明实施方式相对于现有技术而言,是基于HARQ信息,在信道环境较好时,修改滑动窗口的条件,这样,可以减少状态包的发送与接收,提前滑动窗口,减少RLC层对对端状态包的依赖;而且,在信道环境变坏、HARQ重传达到最大次数后,提前重传RLC PDU,这样,可以降低按序提交的时延。

另外,所述RLC层接收到所述通知后进行重传的步骤中,所述RLC层根据所述NACK提前获知丢失数据的SN,优先重传该SN对应的数据。这样,可以将poll-SDU(触发轮询的PDU个数)的状态包触发源省略掉。

另外,在所述根据更新的VTAharq判断RLC的窗口是否满窗的步骤中,采用如下公式进行判断:(VTS-VTAharq+4095)MOD 4096≤VTWS;若所述公式成立,RLC的窗口为未满窗,则继续发送数据,否则,为满窗,等待对端发送状态包;其中,VTS为发送状态变量,MOD为取余函数,VTWS为发送窗口大小状态变量。这样,保证了本发明实施的可行性。

另外,在所述继续发送数据的步骤与所述等待对端发送状态包之后,还包含以下步骤:接收对端发送的状态包,并将VTAharq同步为VTA。这样,由于对端的状态包经过了CRC校验(循环冗余校验码),有极低的误检率,可以防止由于HARQ ACK/NACK误检跟对端的窗口不一致。

另外,在所述将VTAharq同步为VTA的步骤之前,若所述PDU始终未丢失,则将poll-PDU设置为预设阈值,或者调大禁止传送轮询定时器(timerPollProhibit)的值;poll-PDU为触发轮询的PDU个数。这样,可以减少状态包的传送。

附图说明

图1是根据现有技术中的RLC PDU发送方法的流程图;

图2是根据本发明第一实施方式的利用HARQ ACK/NACK的RLC PDU发送方法流程图;

图3是根据本发明第三实施方式的利用HARQ ACK/NACK的RLC PDU发送装置的原理框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

本发明的第一实施方式涉及一种利用HARQ ACK/NACK的RLC PDU发送方法,具体流程如图2所示,包含以下步骤:

步骤201,发送初始数据,并由物理层向RLC层反馈本次HARQ的ACK/NACK。其中,ACK为确认信息,NACK为否认信息。当确认PDU没有丢失,发送ACK,否则,发送NACK。

步骤202,判断是否收到物理层的HARQ的ACK。若是,则执行步骤203,否则,执行步骤204。

步骤203,更新VTAharq。其中,VTA为确认状态变量,该状态变量包含了一个序列号,该序列号紧随上一个按序被确认的AMD PDU的序列号。它成为可接收确认的发送窗口的下限。当收到一个包含一ACK SUFI和/或一个MRW ACK SUFI的状态PDU时,VTA应被更新。为了初始化协议,应假设该值为第一个紧随上一个按序被确认的AMD PDU的序列号。

VTAharq记录按顺序排在最后一个的ACK的序列号SN,与VTA意义相同,它的更新只根据HARQ ACK。不同的是,VTAharq可以被HARQ ACK/NACK来更新。通过记录本次MAC-E/I PDU中所有首次发送的RLC SN,当HARQ实体收到对端ACK时,就将VTAharq更新为本次HARQ发送的最后一个首次RLC SN。这种场景下VTAharq>VTA。

步骤204,判断是否达到最大HARQ重传次数(MaxDATharq)。若是,则执行步骤211,否则,执行步骤201。其中,MaxDATharq与MaxDAT意义相同,MaxDATharq不易设置过大,要小于预设阈值。

步骤205,判断是否满窗。若是,则执行步骤207,否则,执行步骤206。在本步骤中,根据更新的VTAharq判断RLC层是否满窗。具体地说,采用如下公式进行判断:

(VTS-VTAharq+4095)MOD 4096≤VTWS;

若上述公式成立,RLC的窗口为未满窗,则执行步骤206,否则,为满 窗,执行步骤207。其中,VTS为发送状态变量,MOD为取余函数,VTWS为发送窗口大小状态变量。

其中,VTS包含将被首次传送的下一个AMD PDU的序列号(也就是说不包括重传的AMD PDUs)。当前面提到的这一AMD PDU被传送后或者传送了一个包括SN_MRWLENGTH>VT(S)的MRW SUFI之后,VTS将被更新。VTS的初始值为0。

VTWS包含了发送窗口应使用的大小。当发送方收到一个包含一个WINDOW SUFI的STATUS PDU时,VTWS应被设为等同于WSN(窗口大小)字段。VTWS的初始值为Configured_Tx_Window_size(配置的发送窗口大小)。

通过修改RLC层发送窗口的判断公式,实现了RLC层的窗口滑动是基于HARQ信息的。在信道环境较好时,基于HARQ信息修改滑动窗口的条件,这样,可以减少状态包的发送与接收,提前滑动窗口,减少RLC层对对端状态包的依赖。

步骤206,继续发送数据。

步骤207,等待对端发送状态包。

步骤208,接收对端发送的状态包。

步骤209,更新VTA和VTDAT(PDU发送次数),并将VTAharq同步为VTA。即设置VTAharq=VTA。由于物理层的ACK存在一定概率的误检,所以当收到对端的状态包或MRW_ACK SUFI时,需要将VTAharq同步为VTA。这样,由于对端的状态包经过了CRC校验,有极低的误检率,可以防止由于HARQ ACK/NACK误检跟对端的窗口不一致。

步骤211,通知RLC层重传,RLC层接收到通知后记录所有丢失数据的SN。具体而言,若未接收到ACK,且达到了最大HARQ重传次数(MaxDATharq), 由于经过了最大次数的HARQ重传,网络依然没有收到,此处误检率为 ,x为一次的误检率,这个概率极小,表明信道环境变坏,就直接通知RLC层进行重传,由RLC层立即组织重传。这样,可以提前重传RLC PDU,降低按序提交的时延。

达到最大HARQ重传次数后立即由RLC组织重传,而不是简单的增加允许的HARQ NACK重传的最大次数,是因为虽然HARQ NACK后的数据比首传的数据优先级高,但是在网络授权足够的情况和不超过UE最大发射功率的情况下,UE通ETFC(增强传输格式选择)选择的TB(传输块)大小比重传的TB大,才能重传。MaxDATharq不易设置过大,因为这是对HARQ NACK重传的一种补充。

步骤212,更新VTAharq与VTDATharq。其中,VTDATharq与VTDAT意义相同,是记录由于HARQ NACK重传达到最大次数后立即由RLC组织重传的次数。VTDATharq的初始值为0,且VTDATharq<MaxDATharq

步骤213,在重传的最后一个数据包上增设P(轮询比特)位。其中,P位用来向接收方请求一个状态报告。在重传的最后一个数据包上增设P位的作用跟lastRetransmissionPDU-Poll(最后重传包轮询标志)TRUE一致,可以防止对端由于一直没有收到某SN,无法向上层递交数据(配置了按序递交)。

步骤210,优先重传NACK数据。在本步骤中,RLC层根据NACK可以提前获知丢失数据的SN,优先重传该SN对应的数据,由此可以将poll-SDU(触发轮询的PDU个数)的状态包触发源省略掉,减少了状态包传送。

下面举例说明HSUPA网络对UE的配置:

transmissionWindowSize tw2047

pollingInfo

{

timerPollProhibit tpp20,

timerPoll tp250,

lastTransmissionPDU-Poll TRUE,

lastRetransmissionPDU-Poll TRUE

}

对端RLC的配置missingPDU-Indicator TRUE,

UE通过控制J≥Poll_Window(基于窗口的状态包触发源),设置Poll_Window=70。

在信道条件好、无HARQ丢包的情形下,在一个2048的窗口期内1个状态包用来同步VTAharq和VTA就够用了。也就是说减少了状态包传送,提高了空口的利用效率。

与现有技术相比,是基于HARQ信息,在信道环境较好时,修改滑动窗口的条件,这样,可以减少状态包的发送与接收,提前滑动窗口,减少RLC层对对端状态包的依赖;而且,在信道环境变坏、HARQ重传达到最大次数后,提前重传RLC PDU,这样,可以降低按序提交的时延。

本发明的第二实施方式涉及一种利用HARQ ACK/NACK的RLC PDU发送方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第一实施方式中,包含PDU丢失的情况,且在HARQ重传达到最大次数后,提前重传RLC PDU,这样,可以降低按序提交的时延;而在本发明第二实施方式中,若PDU始终未丢失,则将poll-PDU设置为预设阈值,或者调大timerPollProhibit(禁止传送轮询定时器)的值。其中,poll-PDU指示了当上层配置了"polling every Poll_PDU PDU"时,发送方应以怎样的频率轮询接收 方。该参数代表了状态变量VT(PDU)的上限,当VT(PDU)等于Poll_PDU的值时,则向对等实体发送一个轮询。timerPollProhibit用来在一个特定时期内禁止传送轮询。这样,可以减少状态包的传送。

具体地说,在本实施方式中,若PDU始终未丢失,为了将VTAharq同步为VTA,可以将poll-PDU设置为最大的预设阈值,或者调大timerPollProhibit的值,这样,可以减少状态包的传送,提高空口的利用效率。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种利用HARQ ACK/NACK的RLC PDU发送装置,如图3所示,包含:发送模块、反馈模块、更新模块、判断模块、通知模块、重传模块、记录模块、接收模块、同步模块与设置模块。

发送模块,用于发送初始数据与对端状态包。

反馈模块,用于由物理层向RLC层反馈本次HARQ的ACK/NACK。

更新模块,用于在RLC层接收到ACK时更新HARQ的确认状态变量(VTAharq);其中,VTAharq记录按顺序排在最后一个的ACK的序列号SN。

判断模块,用于根据更新的VTAharq判断RLC的窗口是否满窗,且在判定满窗时触发接收模块等待对端发送状态包,在判定未满窗时,触发发送模块继续发送数据。

接收模块,还用于接收对端发送的状态包,并在接收到状态包时触发同步模块。

同步模块,用于将VTAharq同步为VTA。

设置模块,用于在判断模块判定PDU始终不丢失时,将poll-PDU设置为预设阈值,或者调大timerPollProhibit的值。

通知模块,用于在RLC层未接收到ACK且达到了最大HARQ重传次数(MaxDATharq)时,通知RLC层进行重传;其中,MaxDATharq小于预设阈值。

重传模块,用于在RLC层接收到通知时优先重传NACK数据。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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