背景技术
LTE(Long Term Evolution,长期演进)项目是第三代移动通信技术的演进,它改进并增强了3G的空中接入技术,采用OFDM和MIMO作为其无线网络演进的唯一标准。在20MHz频谱带宽下能够提供下行326Mbit/s与上行86Mbit/s的峰值速率。改善了小区边缘用户的性能,提高小区容量和降低系统延迟。
3GPP标准TS36.321协议中规定了在LTE系统采用HARQ(Hybrid Automatic RepeatRequest)技术保证基站和用户之间数据的正确发送与接收。HARQ为ARQ(AutomaticRepeat Request)与FEC(Forward Error Correction)的混合。即通过自动重传请求协议和前向纠错技术保证数据的可靠传输。自动重传请求协议采用停等协议,即发送端每发送一个数据分组包就暂时停下来,等待接收端的确认信息。当数据包到达接收端时,对其进行检错,若接收正确,返回确认(ACK)信号,错误则返回不确认(NACK)信号。当发端收到ACK信号,就发送新的数据,否则重新发送上次传输的数据包。在发送端发送完数据等待接收端回复信息的时候信道为空闲状态不发送任何数据。为了避免这种信道资源的浪费,LTE中采用N通道的停等协议收发数据,即协议中规定的多进程HARQ处理机制。LTE协议中采用增量冗余的HARQ机制,信息比特经过编码后,将编码后的校验比特按照一定的周期打孔,根据码率兼容原则依次发送给接收端。接收端并不丢弃已收到的错误分组,而是与接收到的重传分组组合进行译码,将之前接收的所有比特组合形成更低码率的码字,从而可以获得更大的编码增益,达到递增冗余的目的。重传数据并不是已传数据的简单复制,而是附加了冗余信息,每一次重传的冗余量是不同的,而且重传数据不能单独译码,通常只能与先前传的数据合并后才能被解码。因此LTE中HARQ的每次数据发送需要对应一个相应的冗余版本值。
在3GPP LTE协议中,LTE系统中可以配置TDD或FDD两种不同的模式。针对这两种模式有不同的HARQ进程数,并且两种模式下发送端HARQ数据发送与接收端ACK/NACK反馈的时序间隔不同。另外两次HARQ数据发送之间也需要保持特定的时间间隔,即RTT(Round-Trip Time)。在FDD模式,接收端ACK/NACK反馈的时间与发送端HARQ数据发送的时间差为4个子帧,两次数据发送间隔即RTT为固定值8。LTE中TDD模式下的HARQ处理较FDD更复杂。在TDD模式下系统帧结构有多种配置,对应于不同的上下行帧配比。不同的帧配置情况下,基站HARQ数据发送与用户ACK/NACK反馈的时序间隔以及两次HARQ数据发送的间隔都不同。而且在下行子帧数目多于上行子帧的情况下会出现一个上行子帧回复多个下行子帧的HARQ反馈。在TDD模式下针对下行HARQ信息的反馈又分为Multiplexing和Bundling两种方式,TDD模式下对下行HARQ的Multiplexing方式的反馈是在上行反馈子帧分别反馈多个下行子帧的HARQ反馈信息;而Bundling方式的反馈是将多个下行子帧的HARQ反馈信息相与合成一个值反馈,即在Bundling方式下若反馈值为NACK时上行反馈帧对应所有下行帧的发送数据都要进行重传。因此,设计合理有效的LTE下行HARQ处理机制对LTE系统性能的提高有着重要影响。
虽然,3GPP协议规定了LTE中HARQ机制的功能,但并未规定和限制其具体的实现方法。
CN200610164907.7公开了一种多进程数据重传方法和系统,其中HARQ处理的方法为建立HARQ进程队列,并为每个HARQ进程设置等待时间,当发送端收到接收端的HARQ反馈信息为NACK反馈但发送数据块已经达到允许的最大传输次数后,标识相应的HARQ进程为空,并开始计算所述HARQ空闲进程的等待时间。发送端根据进程被转换为空闲进程的时间确定所述空闲进程的等待时间,在发送数据时,根据空闲HARQ进程的等待时间选择空闲HARQ进程,优先选择反馈了ACK信息并且等待时间最短的空闲HARQ进程,或优先选择未超过等待时间门限,并且等待时间最长的空闲HARQ进程,当所有空闲HARQ进程的等待时间均超过等待时间门限时,任意选择一个空闲HARQ进程,并利用所选择的空闲HARQ进程传输新数据块。以上方法在选择进程前需要计算所有空闲HARQ进程的等待时间,并且为了统计进程由占用转变为空闲时刻到当前时刻的等待时间,在收到HARQ的ACK反馈时需要保存反馈时刻的时间,会占用系统资源。在多用户基站系统中下行发送前若HARQ处理花费太长的时间可能无法满足系统实时性的要求。
CN201110118379.2公开了一种下行HARQ的实现系统及方法。系统中包含调度模块、状态机维护模块和回复处理模块。状态机维护模块中包含一个状态机其中包含空闲链表、等待回复链表和等待重传链表,所述链表分别用来存储空闲的、等待回复的和等待重传的HARQ进程。下行数据发送时调度模块判断等待重传链表是否为空,如果不空则发送等待重传的HARQ数据,并对状态机进行相应的状态维护。否则,调度模块发送HARQ数据,状态机维护模块对状态机进行相应的状态维护;判断是否还有需要发送的HARQ数据,如果有,则调度模块发送HARQ数据,状态机维护模块对状态机进行相应的状态维护,否则回复处理模块根据已发送的HARQ数据的反馈信息进行相应处理。其中状态机维护是指在下行HARQ空闲或重传进程由空闲状态转换为被占用即等待反馈状态后将HARQ进程从原来的进程链表删除并插入等待反馈的链表中。回复处理模块根据已发送的HARQ数据的反馈信息进行相应处理具体为,如果反馈信息为ACK,将HARQ进程从等待回复链表删除并插入空闲链表,同时清除原来的进程数据并;如果反馈信息为NACK,则判断反馈信息对应HARQ数据是否达到最大重传次数,如果达到了则将HARQ进程从等待回复链表中删除插入空闲链表,并删除HARQ缓存数据,如果未达到最大重传次数则HARQ进程从等待回复链表中删除插入等待重传链表。所述方法在下行数据发送和下行HARQ反馈处理中HARQ进程状态的变化需要基站对空闲、等待重传、等待回复三种链表进行维护,完成一个HARQ进程结点从其中一个链表删除插入到另外一个链表的操作,频繁的链表操作增加了时间开销。
CN201110054472.1公开一种终端上_下行HARQ反馈信息调度方法及装置。其中上行ACK/NACK信息调度的方法为终端确定当前需要接收的ACK/NACK的子帧的子帧号,以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息,根据获得的信息调度后续的PUSCH新传或重传;下行信息调度方法包括:终端接收TB并解码,产生ACK/NACK信息,确定接收ACK/NACK信息的子帧的子帧号,以子帧号为索引对子帧数据库进行数据库访问控制,根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。所述HARQ上下行ACK/NACK反馈信息调度的方法尽管是HARQ有关的处理,但只提到了终端收到下行数据后如何反馈HARQ ACK/NACK信息,并未给出基站如何进行下行HARQ发送如何处理接收到的下行HARQ反馈。虽然,给出终端发送上行数据及接收上行数据HARQ ACK/NACK的处理与基站发送下行数据及接收下行数据反馈的处理相对应,但是并未给出数据发送时具体的如何进行多进程HARQ的选择与处理。并且,所述方法在操作中需要维护子帧数据库,子帧数据库读写操作需要耗费较长时间。
200880117792中给出了半静态调度进程选择的方法,其方法只适应于半静态调度进程的选择,并且其查找进程的方法不能应用于TDD模式的处理。200980136760混合自动重传请求进程映射规则,给出了一种用于关联初始传输和重传的方法。但是其给出的进程选择方法与200880117792相似,也并不适应于TDD模式下多种配置的复杂情况。
发明内容
为克服上述缺陷,本发明的目的在于提供一种TDD模式下多种配置复杂情况下的HARQ处理的方法。
为达到上述目的,本发明HARQ数据处理的方法,包括:
配置HARQ进程号P;其中,
进程号P为:
P=(sys_fn*DL_NUM[CFG]+DL_LOC[CFG][sub_fn])%
MAX_DLPROC_NUM
其中sys_fn和sub_fn分别为下行发送帧号、子帧号;CFG表示系统的上下行帧配置;DL_NUM[CFG]表示帧配置CFG下总下行子帧数目;DL_LOC[CFG][sub_fn]表示配置CFG下,子帧sub_fn为第几个下行帧;MAX_DLPROC_NUM表示帧配置CFG时的最大下行进程数。
优选的,所述的方法具体为:
为用户U选择一个下行HARQ进程号P;
判断用户U的进程P为新传进程还是重传进程;若为新传进程则获得用户U进程发送数据和对应控制信息参数;若为重传进程,则根据用户U进程P中的等待重传数据,获得重传数据对应控制信息参数;
创建进程号为P的进程发送结点,将所述进程发送结点插入基站进程发送列表。
优选的,所述的方法在TDD模式下的具体步骤为:
步骤S101)、判断当前TDD模式选择的上下行帧配置CFG下当前子帧是否为下行帧,若当前为下行子帧则执行步骤S102),否则,结束当前子帧的HARQ数据发送处理;
步骤S102)、判断是否有未经过进程调度的用户,若有则执行步骤S103),否则结束当前调度子帧的HARQ数据发送处理;
步骤S103)、进程调度器根据当前调度帧号为用户U选择一个下行HARQ进程号P;
步骤S104)、判断HARQ信息存储器中用户U的进程P为新传还是重传进程,若为新传进程执行步骤S105),否则,若为重传进程需执行步骤S106);
步骤S105)、调用下行数据调度器得到用户U进程发送数据和对应控制信息参数;存储所述得到的用户U进程发送数据和对应控制信息参数到HARQ信息存储器中用户U进程实体的进程P,设置进程P的发送次数为1,设置冗余版本为初始值;
步骤S106)、根据用户U进程P中的等待重传数据,调用下行数据调度器得到重传数据对应控制信息参数;存储所述得到的用户U进程发送数据对应控制信息参数到HARQ信息存储器中用户U进程实体的进程P,设置进程P的发送次数加1,设置冗余版本为下一冗余版本;
步骤S107)、创建进程号为P的进程发送结点,将所述进程发送结点插入基站进程发送列表。
优选的,所述的步骤104)中,若进程P的发送次数为零或者大于进程实体中进程最大发送次数则进程P为新传进程;若进程P的发送次数大于零且小于进程最大发送次数则进程为重传进程。
优选的,所述HARQ数据处理的方法,其特征在于,所述的方法是TDD模式下HARQ反馈信息处理的方法。TDD模式下HARQ反馈信息的处理是在收到HARQ反馈信息以后,生成下行HARQ反馈信息队列,依次处理队列中每个用户的反馈信息,具体步骤为:
步骤S201)、从HARQ反馈信息队列中取出队首的HARQ反馈信息结点,假定,HARQ反馈信息结点对应用户U的反馈信息,发送反馈的上行帧为系统帧号ack_sys_fn和子帧号ack_sub_fn。初始化用户U的已确认发送子帧数目count为零;
步骤S202)、查表得到上下行帧配置CFG时,上行反馈的系统帧号ack_sys_fn/子帧号ack_sub_fn对应的最早下行发送帧m/n;
步骤S203)、查表判断下行帧m/n的HARQ反馈是否在HARQ反馈帧ack_sys_fn/ack_sub_fn发送,如果m/n的HARQ反馈在ack_sys_fn/ack_sub_fn发送,则执行步骤S204),否则执行步骤S209);
步骤S204)、确定下行发送帧m/n对应的下行进程号P;
步骤S205)、判断下行HARQ反馈模式;若HARQ下行反馈模式为multiplexing则转步骤S206),否则若反馈模式为bundling转步骤S207);
步骤S206)、若HARQ反馈信息中第count个HARQ反馈的反馈值为ACK,则清空用户U下行进程P的发送数据链表,并初始化发送数据大小以及所发送数据对应的控制信息参数;若为NACK则保留用户的HARQ进程结点信息不变;
步骤S207)、若下行HARQ反馈信息中绑定反馈的HARQ反馈值为ACK,则清空用户U下行进程P的发送数据链表,并初始化发送数据大小以及所发送数据对应的控制信息参数;若为NACK则保留用户的HARQ进程结点信息不变;
步骤S208)、将count加1,判断若count小于上行帧ack_sys_fn/ack_sub_fn最多包含的下行反馈数目则转步骤S209),否则转步骤S210);
步骤S209)、将当前所判断的下行子帧n加1,调整得到新帧号m/n,转步骤S203);
步骤S210)、从HARQ反馈信息队列中删除队首用户U的HARQ反馈信息,转步骤S201)。
优选的,所述步骤201)之前还包括下述步骤:判断下行HARQ反馈信息队列是否为空,若为空则结束当前子帧下行HARQ反馈信息的处理,若不为空则执行步骤S201)。
优选的,所述的m/n为帧ack_sys_fn/ack_sub_fn减K对应的系统帧/子帧号,K为表中帧配置CFG时上行子帧ack_sub_fn对应的最大K值。
为达到上述目的,本发明一种HARQ数据处理的系统,其特征在于,包括一配置设备,所述的配置设备用来配置HARQ进程号P;其中,
进程号P为:
P=(sys_fn*DL_NUM[CFG]+DL_LOC[CFG][sub_fn])%
MAX_DLPROC_NUM
其中sys_fn和sub_fn分别为当前系统帧号、子帧号;CFG表示当前系统的上下行帧配置;DL_NUM[CFG]表示帧配置CFG下总下行子帧数目;DL_LOC[CFG][sub_fn]表示配置CFG下,当前子帧sub_fn为第几个下行帧;MAX_DLPROC_NUM表示帧配置CFG时的最大下行进程数。
优选的,所述的系统为HARQ数据发送处理的系统,包括:
配置设备,为用户U选择一个下行HARQ进程号P;
选择设备,判断用户U的进程P为新传进程还是重传进程;若为新传进程则获得用户U进程发送数据和对应控制信息参数;若为重传进程,则根据用户U进程P中的等待重传数据,获得重传数据对应控制信息参数;
插入设备,创建进程号为P的进程发送结点,将所述进程发送结点插入基站进程发送列表。
优选的,所述的选择设备依据下述方法判断进程P为新传进程还是重传进程的:若进程P的发送次数为零或者大于进程实体中进程最大发送次数则进程P为新传进程;若进程P的发送次数大于零且小于进程最大发送次数则进程为重传进程。
本发明的LTE系统中基站下行HARQ处理的方法与系统,包括LTE中TDD模式下系统基站下行HARQ数据发送处理和下行HARQ反馈信息处理的方法与系统。给出了在TDD模式下LTE基站需要发送下行HARQ数据时,如何从多个HARQ进程以及空闲进程与重传进程中选择发送进程。以及满足LTE中两次下行数据发送之间的RTT间隔的一种下行HARQ处理方法与系统。另外,还区别给出了在选择TDD模式下Bundling或Multiplexing的下行反馈方式时,LTE基站收到下行数据的反馈后查找下行HARQ反馈对应的下行发送进程的方法,以及对ACK和NACK反馈信息的不同处理方法。在这些方法中,利用系统帧号、子帧号以及帧配置CFG做标识,能适应TDD模式各种帧配置的HARQ处理,并且恰好实现了进程的依次轮循,而且恰好使得进程能够按照固定间隔即RTT时间进行传输,简化了TDD模式下的处理。
具体实施方式
本发明是基于图1中给出的本发明的基站下行HARQ处理装置实现的,从图中可以看出基站下行HARQ处理装置包括下行进程调度器、下行HARQ反馈处理器、HARQ信息存储器。下面对上述装置的功能分别进行说明。
所述的下行进程调度器用于生成或维护发送的下行HARQ进程信息;
所述的下行HARQ反馈处理器负责处理基站接收到的终端对下行HARQ数据的反馈信息;
图2为下行HARQ信息储存器及其内部存储信息的子结构。所述下行HARQ信息存储器用于存储各用户的下行HARQ进程实体信息、下行HARQ反馈信息队列以及下行进程发送列表;
所述用户下行HARQ进程实体信息包括,用户的无线网络临时标识即RNTI(RadioNetwork Temporary Identifier)值,当前配置下总的下行进程数,下行进程最大发送次数,以及所有下行进程信息。所述下行进程信息包括进程发送数据大小、进程对应的发送数据、进程发送数据对应的控制信息参数。其中进程发送数据对应的控制信息参数包括进程发送次数、冗余版本、调制编码方式、DCI(Downlink Control Information)格式、发送机制、资源分配类型、资源分配编码、CCE(Control Channel Element)指示等下行数据调度时确定的控制参数。所述下行数据调度为LTE中媒体接入控制子层即MAC(Medium Access Control)子层的主要功能,这里不作重点介绍。
所述下行HARQ反馈信息队列包括基站接收到的所有用户下行HARQ反馈信息,所述用户下行HARQ反馈信息包含用户的RNTI值,用户发送反馈时刻的上行系统帧号和子帧号以及指示用户下行数据正确接收与否的ACK或NACK反馈值。
所述下行进程发送列表包含进程调度器所生成的下行发送用户的进程信息,具体包含调度子帧对应的系统帧号和子帧号,用户的RNTI值及进程调度产生的用户进程信息。
下面结合实施例对本发明TDD模式下基站下行HARQ数据发送处理的方法作进一步的说明。
实施例1
本实施例TDD模式下基站下行HARQ数据发送处理的方法的具体步骤包括:
根据下行发送帧号为用户U选择一个下行HARQ进程号P;
判断HARQ信息存储器中用户U的进程P为新传进程还是重传进程;若为新传进程则获得用户U进程发送数据和对应控制信息参数;若为重传进程,则根据用户U进程P中的等待重传数据,调用下行进程调度器获得重传数据对应控制信息参数;
创建进程号为P的进程发送结点,将所述进程发送结点插入基站进程发送列表;
其中,为用户选择HARQ进程号P的方法为:
P=(sys_fn*DL_NUM[CFG]+DL_LOC[CFG][sub_fn])%
MAX_DLPROC_NUM
其中sys_fn和sub_fn分别为下行发送帧号、子帧号;CFG表示系统的上下行帧配置;DL_NUM[CFG]表示帧配置CFG下总下行子帧数目;DL_LOC[CFG][sub_fn]表示配置CFG下,子帧sub_fn为第几个下行帧;MAX_DLPROC_NUM表示帧配置CFG时的最大下行进程数。
本发明宽带移动通信中TDD模式下基站下行HARQ数据发送处理的方法,通过下行系统帧号和HARQ下行进程的直接对应,加快了下行数据发送处理和下行HARQ反馈信息处理中的下行进程查找,简化了基站下行数据发送和下行HARQ反馈处理过程,提高了HARQ处理效率。
实施例1完毕。
实施例2
本实施例TDD模式下基站下行HARQ数据发送处理的方法,参考图3,其方法步骤包括:
步骤S101)、判断当前子帧是否需要进行下行HARQ数据发送。判断当前TDD模式选择的上下行帧配置CFG下当前子帧是否为下行帧,若当前为下行子帧则执行步骤S102),否则,结束当前子帧的HARQ数据发送处理;
步骤S102)、判断是否有未经过进程调度的用户,若有则执行步骤S103),否则结束当前调度子帧的HARQ数据发送处理;
步骤S103)、进程调度器根据当前调度帧号为用户U选择一个下行HARQ进程号P;
步骤S104)、判断HARQ信息存储器中用户U的进程P为新传还是重传进程。若进程P的发送次数为零或者大于进程实体中进程最大发送次数则进程P为新传进程执行步骤S105),否则,若进程P的发送次数大于零且小于进程最大发送次数则进程为重传进程需执行步骤S106);
步骤S105)、调用下行数据调度器得到用户U进程发送数据和对应控制信息参数。下行数据调度器可以得到用户U下行进程信息中除进程发送次数和冗余版本外的所有信息。存储所述得到的用户U进程发送数据和对应控制信息参数到HARQ信息存储器的进程P,设置进程P的发送次数为1,设置冗余版本为初始值;
步骤S106)、根据用户U进程P中的等待重传数据,调用下行数据调度器得到重传数据对应控制信息参数。所述重传数据对应控制信息参数与步骤S105)中进程发送数据对应控制信息参数相同。存储所述得到的用户U进程发送数据对应控制信息参数到HARQ信息存储器的进程P,设置进程P的发送次数加1,设置冗余版本为下一冗余版本;
步骤S107)、创建进程号为P的进程发送结点,将所述进程发送结点插入基站进程发送列表,执行步骤S102);
步骤S108)、将调度产生的进程发送列表发送到MAC层与物理层交互的子模块。
上述步骤S103)根据当前下行子帧号为用户选择HARQ进程号P的方法为如下:
P=(sys_fn*DL_NUM[CFG]+DL_LOC[CFG][sub_fn])%
MAX_DLPROC_NUM
其中sys_fn和sub_fn分别为当前系统帧号、子帧号;CFG表示当前系统的上下行帧配置;DL_NUM[CFG]表示帧配置CFG下总下行子帧数目;DL_LOC[CFG][sub_fn]表示配置CFG下,当前子帧sub_fn为第几个下行帧;MAX_DLPROC_NUM表示帧配置CFG时的最大下行进程数。其中DL_NUM[CFG],DL_LOC[CFG][sub_fn]可以根据3GPP36.211协议Table4.2-2LTE TDD上下行帧配置表得到,MAX_DLPROC_NUM可以根据36.213协议Table7-1LTE TDD不同配置的下行进程数表得到,设基站为半静态调度保留的进程数为N时,MAX_DLPROC_NUM为36.213协议Table7-1中系统帧配置对应下行进程数减去N。
本实施例在实施例1的基础上还给出了在TDD模式下LTE基站需要发送下行HARQ数据时,如何从多个HARQ进程以及空闲进程与重传进程中选择发送进程,以及满足LTE中两次下行数据发送之间的RTT间隔的一种下行HARQ处理方法。
实施例2完毕。
下面结合具体的帧配置情况对上述实施例中TDD模式进程号的选择方法进行说明。根据3GPP36.213协议Table7-1,即表1可以得到LTE TDD不同配置的下行进程数。根据3GPP36.211协议Table4.2-2LTE TDD上下行帧配置表,将从第0个子帧开始的第n个下行帧记为n-1,上行子帧记为-1,得到不同帧配置的下行帧号表2,并且可以得到TDD不同帧配置的下行子帧数表3。
设帧配置CFG为2,基站为半静态调度保留的进程数为N为0。由表2可以得到帧配置CFG为2时子帧对应第几个下行进程的变量DL_LOC[CFG][sub_fn]值,由表3得到下最大下行子帧数DL_NUM[CFG]为8。则设系统帧号sys_fn为1,子帧号sub_fn为5,由于帧配置CFG为2时子帧5对应第4个下行帧,根据上面介绍的公式得进程号为P=(1*8+4)%10=2。根据公式进程号公式依次计算得到部分系统帧子帧号对应的进程号值见表4。可以看出在每个子帧对应一个下行进程,并且恰好实现了进程的依次轮循。而且恰好使得进程能够按照固定间隔13即RTT时间进行传输。
设帧配置为CFG为5,基站为半静态调度保留的进程数为N为0。则根据表1得MAX_DLPROC_NUM为15。由表2可以得到帧配置CFG为5时子帧对应第几个下行进程的变量DL_LOC[CFG][sub_fn]值,由表3得到下最大下行子帧数DL_NUM[CFG]为9。则设系统帧号sys_fn为1,子帧号sub_fn为5,由于帧配置CFG为5时子帧5对应第4个下行帧,根据上面介绍的公式得进程号为P=(1*9+4)%15=13。根据公式进程号公式依次计算得到部分系统帧子帧号对应的进程号值见表5。可以看出在每个子帧对应一个下行进程,并且恰好实现了进程的依次轮循。而且恰好使得进程能够按照固定间17即RTT时间进行传输。
表1LTE TDD下行最大进程数
上下行帧配置 |
TDD最大下行进程数 |
0 |
4 |
1 |
7 |
2 |
10 |
3 |
9 |
4 |
12 |
5 |
15 |
6 |
6 |
表2LTE中TDD模式下行帧号
表3TDD不同帧配置的下行子帧数
上下行帧配置 |
TDD最大下行子帧数 |
0 |
4 |
1 |
6 |
2 |
8 |
3 |
7 |
4 |
8 |
5 |
9 |
6 |
5 |
表4帧配置2时设置的下行进程号值
表5帧配置5时设置的下行进程号值
下面结合实施例对本发明基站下行HARQ反馈信息在TDD模式的处理方法作进一步的说明。
实施例3
本实施例基站下行HARQ反馈信息在TDD模式的处理方法的具体步骤如下:
步骤S201)、从HARQ反馈信息队列中取出队首的HARQ反馈信息结点,假定,HARQ反馈信息结点对应用户U的反馈信息,发送反馈的上行帧为系统帧号ack_sys_fn和子帧号ack_sub_fn。初始化用户U的已确认发送子帧数目count为零;
步骤S202)查表(3GPP36.213协议Table10.1-1表)得到上下行帧配置CFG时,上行反馈的系统帧号ack_sys_fn/子帧号ack_sub_fn对应的最小下行发送帧m/n;m/n为帧ack_sys_fn/ack_sub_fn减K对应的系统帧/子帧号,K为3GPP36.213协议Table10.1-1表中帧配置CFG时上行子帧ack_sub_fn对应的最大K值。
步骤S203)、查表(3GPP36.213协议Table10.1-1表)判断下行帧m/n的HARQ反馈是否在HARQ反馈帧ack_sys_fn/ack_sub_fn发送,如果m/n的HARQ反馈在ack_sys_fn/ack_sub_fn发送,则执行步骤S204),否则执行步骤S209);
步骤S204)、根据步骤S103)确定下行发送帧m/n对应的下行进程号P;
步骤S205)、判断下行HARQ反馈模式;若HARQ下行反馈模式为multiplexing则转步骤S206),否则若反馈模式为bundling转步骤S207);
步骤S206)、若HARQ反馈信息中第count个HARQ反馈的反馈值为ACK,则清空用户U下行进程P的发送数据链表,并初始化发送数据大小以及所发送数据对应的控制信息参数;若为NACK则保留用户的HARQ进程结点信息不变;
步骤S207)、若下行HARQ反馈信息中绑定反馈的HARQ反馈值为ACK,则清空用户U下行进程P的发送数据链表,并初始化发送数据大小以及所发送数据对应的控制信息参数;若为NACK则保留用户U的HARQ进程结点信息不变;
步骤S208)、将count加1,判断若count小于上行帧ack_sys_fn/ack_sub_fn最多包含的下行反馈数目则转步骤S209),否则转步骤S210);
步骤S209)、将当前所判断的下行子帧n加1,调整得到帧号m/n,转步骤S203);
步骤S210)、从HARQ反馈信息队列中删除队首用户U的HARQ反馈信息,转步骤S201)。
上述实施例给出了在选择TDD模式下Bundling或Multiplexing的下行反馈方式时,LTE基站收到下行数据的反馈后查找下行HARQ反馈对应的下行发送进程的方法,以及对ACK和NACK反馈信息的不同处理方法;能够较好的适应TDD模式下多种配置的复杂情况。
实施例3完毕。
对步骤S202根据3GPP36.213协议Table10.1-1得到上行反馈子帧对应最小下行帧的方法说明如下:
3GPP36.213协议Table10.1-1,即表6,给出了在不同帧配置下下行子帧反馈的位置。根据此表可以得到每个上行子帧对下行HARQ进程的反馈所对应的下行子帧号。例如帧配置为2时第2个子帧(上行子帧)的HARQ反馈依次对应当前子帧往前数8/7/4/6个子帧时刻(下行子帧)的下行HARQ反馈。根据表6可得到上下行帧配置CFG时上行反馈的系统帧号ack_sys_fn/子帧号ack_sub_fn对应的最早下行发送帧m/n,即m/n为帧ack_sys_fn/ack_sub_fn减K对应的系统帧/子帧号,K为表6中帧配置CFG时上行子帧ack_sub_fn对应的最大K值。
为了便于得到上行子帧ack_sub_fn对应的最早下行子帧号根据表6设定上行反馈子帧对应的小早下行子帧号表,见表7,表7中值-1都为下行子帧位置的对应值为无效值;大于等于0的数表示不同帧配置时,上行反馈子帧对应的最小下行子帧号。具体处理时可以根据表7设置数组FIRST_ACK[CFG][sub_fn]表示帧配置CFG时上行子帧sub_fn反馈所对应的最小下行子帧。
表6LTE TDD下行反馈集合指示K:{k0,k1,…kM-1}
表7LTE TDD上行反馈子帧对应的起始下行子帧
对步骤S204根据3GPP36.213协议Table10.1-1表判断下行帧对应上行反馈帧的具体方法说明如下:
为了便于得到下行帧的ACK反馈应该在(未来)哪个上行帧接收,设置LTE TDD下行子帧对应的上行反馈子帧表,见表8,表8中值-1都为上行子帧位置的对应值为无效值;大于0小于10的数X表示下行子帧对应的上行反馈子帧号为X,表示下行子帧对应的上行反馈系统帧号与此下行子帧的系统帧号相同;大于等于10的数X表示下行子帧对应的上行反馈子帧号为X%10,大于10的数X隐含表示下行子帧对应的上行反馈系统帧号为此下行子帧系统帧号的下一个系统帧。
设在TDD模式下帧配置为2,系统帧号为3时,子帧号1在表8中值为7表示系统帧号3/子帧号1对应的上行反馈为帧3/7;子帧号4在表8中值为12表示帧3/4对应的上行反馈为帧4/2。具体处理时可以根据表8设置数组TDD_HARQ_ACK[CFG][sub_fn]指示帧配置CFG时下行子帧sub_fn所对应的上行反馈子帧号。因此,判断下行子帧sub_fn对应HARQ反馈是否在子帧2收到,直接判断TDD_HARQ_ACK[CFG][sub_fn]的值是否为2或12即可。
表8LTE TDD下行子帧对应的上行反馈子帧
上述步骤204中,确定下行进程号P的方法为如下:
P=(sys_fn*DL_NUM[CFG]+DL_LOC[CFG][sub_fn])%
MAX_DLPROC_NUM
其中sys_fn和sub_fn分别为下行发送帧号、子帧号;CFG表示系统的上下行帧配置;DL_NUM[CFG]表示帧配置CFG下总下行子帧数目;DL_LOC[CFG][sub_fn]表示配置CFG下,子帧sub_fn为第几个下行帧;MAX_DLPROC_NUM表示帧配置CFG时的最大下行进程数。
作为上述实施例的改进,在上述步骤201)之前还包括下述步骤:判断下行HARQ反馈信息队列是否为空,若为空则结束当前子帧下行HARQ反馈信息的处理,若不为空则执行步骤S201)。对应的,原‘步骤210)从HARQ反馈信息队列中删除队首用户U的HARQ反馈信息’完成后转本步骤。
综上,本发明提供了一种LTE系统中基站下行HARQ处理的方法与系统,包括LTE中TDD模式下系统基站下行HARQ数据发送处理和下行HARQ反馈信息处理的方法与系统。给出了在TDD模式下LTE基站需要发送下行HARQ数据时,如何从多个HARQ进程以及空闲进程与重传进程中选择发送进程。以及满足LTE中两次下行数据发送之间的RTT间隔的一种下行HARQ处理方法与系统。另外,还区别给出了在选择TDD模式下Bundling或Multiplexing的下行反馈方式时,LTE基站收到下行数据的反馈后查找下行HARQ反馈对应的下行发送进程的方法,以及对ACK和NACK反馈信息的不同处理方法。