具体实施方式
如背景技术所述,LTE系统中为了节省控制信令的开销,对于数据包大小基本相同且到达时间间隔比较固定的业务,引入了SPS技术。对于下行SPS调度,其使用的HARQ进程号是根据公式计算得到的。
但是,无论是对于FDD系统还是TDD系统,目前的下行HARQ进程号计算公式在SFN编号发生翻转的情况下,可能出现按照计算公式计算得到的下行HARQ进程号将会和期望使用的进程号不一致的情况,这样将导致数据包不能进行重传,从而造成数据包丢失。
例如:
假设SPS激活时刻为:SFN=1018,subframe=5。
基站RRC信令配置的DL SPS周期为32个子帧,预留的进程个数为3。
如图3所示,为按照现有技术进行处理的场景下,LTE FDD系统SFN编号翻转对DL SPS进程HARQ的影响的示意图。
由图3可知,对于FDD系统,SFN编号翻转后,第一个DL SPS资源期望使用的进程应该为进程2,但是,按照现有DL SPS HARQ计算公式计算出来的下行进程号的结果却为:
HARQ Process ID = [floor(5/32)] modulo 3 = 0。
如图4所示,为按照现有技术进行处理的场景下,LTE TDD系统SFN编号翻转对DL SPS进程HARQ的影响的示意图。
由图4可知,对于TDD系统,基站配置的DL SPS周期为32个子帧,而实际使用时要按照30个子帧使用,SFN编号翻转后,第一个DL SPS资源期望使用的进程应该为进程2,但是,按照现有DL SPS HARQ计算公式计算出来的下行进程号的结果却为:
HARQ Process ID = [floor(5/30)] modulo 3 = 0。
由此可知,对于以上的图3和图4所示的场景,当SFN编号翻转的时候,按照现有方案所确定的下行进程号均与期望使用的下行进程号不一致。
按照现有技术方案的上述结果,SFN编号翻转后进程0和进程1很快会被占用,而如果在SFN编号翻转之前进程0和/或进程1没有传输成功,那么由于进程0和进程1被占用,将可能造成进程0和1无法对SFN编号翻转之前没有传输成功的数据进行重传以及重传合并,因此可能造成丢包。
针对上述问题,为了降低数据传输的丢包率,提高传输质量,本发明实施例提出了一种下行HARQ进程号的确定方法,该方法可以保证合理分配进程号,减少数据丢包率。
如图5所示,为本发明实施例所提出的一种下行进程号的确定方法的流程示意图,该方法具体包括以下步骤:
步骤S501、基站为终端设备预配置下行SPS可使用的进程号个数和下行SPS资源。
步骤S502、基站从下行SPS激活子帧开始,依次轮流确定预配置给终端设备的进程号,作为预配置给所述终端设备的各下行SPS资源所对应的下行进程号。
在具体的处理场景中,具体的确定方法包括以下两种。
方法一、循环利用预配置的进程号作为下行进程号。
首先,所述基站确定下行SPS激活子帧所使用的下行进程号并通过用于激活下行SPS的PDCCH信令通知给所述终端设备,并以此作为预配置给所述终端设备的第一个进程号。
然后,所述基站按照预设的进程号分配顺序和预配置给所述终端设备的用于下行SPS传输的进程号个数,依次确定所述终端设备在所述下行SPS激活子帧之后的各预配置的下行SPS资源所对应的下行进程号。
其中,当所述基站确定预配置给所述终端设备的一个下行SPS资源所对应的下行进程号为预配置给所述终端设备的最后一个进程号时,所述基站重新从第一个进程号开始,按照所述预设的进程号分配顺序,将预配置给所述终端设备的各进程号,继续依次确定为所述终端设备后续各预配置的下行SPS资源所对应的下行进程号。
在实际应用中,基站可以直接配置具体的进程号,例如进程号0,进程号1,……进程号N,也可以只预配置下行SPS可使用的进程号个数,根据该进程号个数,按照相应的规则自行确定具体的进程号,例如,如果预配置进程号个数为1,那么一般来说对应的具体进程号即为0,如果预配置进程号个数为2,那么对应的具体进程号即为0和1,依次类推。具体采用哪种方式并不会影响本发明的保护范围。
需要指出的是,在上述处理过程中所提及的预设的进程号分配顺序可以根据实际需要进行设置,至少包括从小到大的顺序,或从大到小的顺序,当然,只要能够保证预配置的进程号能够依次被利用,其他顺序同样可以被用于本发明实施例所提出的技术方案,这样的变化并不影响本发明的保护范围。
方法二、结合SFN编号翻转次数确定下行进程号。
所述基站记录从下行SPS激活子帧开始的系统帧号SFN编号翻转次数。
所述基站根据预配置给所述终端设备的各下行SPS资源所对应的SFN编号翻转次数、系统帧号、子帧号、预配置给所述终端设备的各下行SPS资源之间的时间间隔,以及预配置给所述终端设备的用于下行SPS传输的进程号个数,确定相应的各下行SPS资源所对应的下行进程号。
在具体的处理场景中,所述基站具体根据以下公式确定相应的各下行SPS资源所对应的下行进程号:
HARQ Process ID = [floor(CURRENT_TTI/(Downlink Semi-Persistent Scheduling Interval))] modulo Number of Configured SPS Processes;
其中,CURRENT_TTI = (SFN×10 + 1024×10×M) + subframe number;
SFN表示当前预配置的下行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的下行SPS资源对应的子帧的子帧号;
M表示从下行SPS激活子帧开始到当前预配置的下行SPS资源为止的时间范围内SFN编号翻转次数;
Downlink Semi-Persistent Scheduling Interval表示所述基站通过RRC信令预配置给所述终端设备的各下行SPS资源之间的时间间隔;
Number of Configured SPS Processes表示所述基站通过RRC信令预配置给所述终端设备的用于下行SPS传输的进程号个数。
另一方面,考虑到当使用的SPS周期不能满足被10240整除时,SFN编号翻转前后预配置的SPS资源位置不一致的情况,本发明实施例进一步提出了上下行SPS资源的确定方法,可以应用与前述的处理方案中。
(1)预配置给所述终端设备的各下行SPS资源,具体通过以下公式进行确定:
10×(1024×M + SFN) + subframe = [(10×SFN
start time
+ subframe
start time
) + N×Downlink Semi-Persistent Scheduling Interval] modulo 10240;
其中,N表示大于0的整数,对于第一个预配置的下行SPS资源N取值为1,第二个预配置的下行SPS资源N取值为2,后续下行SPS资源对应的N值依次类推;
M表示从下行SPS激活子帧开始到当前预配置的下行SPS资源为止的时间范围内SFN编号翻转次数;
SFN表示当前预配置的下行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的下行SPS资源对应的子帧的子帧号;
SFN
start time
表示下行SPS激活子帧所属的无线帧的系统帧号;
subframe
start time
表示下行SPS激活子帧的子帧号;
Downlink Semi-Persistent Scheduling Interval表示所述基站通过RRC信令预配置给所述终端设备的各下行SPS资源之间的时间间隔。
(2)预配置给所述终端设备的各上行SPS资源,具体通过以下公式进行确定:
10×(1024×M + SFN) + subframe = [(10×SFN
start time
+ subframe
start time
) + N×Uplink Semi-Persistent Scheduling Interval + Subframe_Offset ×(N modulo 2)] modulo 10240;
其中,N表示大于0的整数,对于第一个预配置的上行SPS资源N取值为1,第二个预配置的下行SPS资源N取值为2,后续下行SPS资源对应的N值依次类推;
M表示从SPS激活信令所针对的上行子帧开始到当前预配置的上行SPS资源为止的时间范围内SFN编号翻转次数;
SFN表示当前预配置的上行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的上行SPS资源对应的子帧的子帧号;
SFN
start time
表示SPS激活信令所针对的上行子帧所属的无线帧的系统帧号;
subframe
start time
表示SPS激活信令所针对的上行子帧的子帧号;
Downlink Semi-Persistent Scheduling Interval表示基站通过RRC信令预配置给所述终端设备的各上行SPS资源之间的时间间隔。
上述的说明给出了本发明实施例所提出的技术方案在基站侧的实现流程,相应的,在终端设备侧,同样按照相应的规则确定基站预配置的各下行SPS资源所对应的下行进程号以及与配置的上下行SPS资源,在此不再重复说明。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,从下行SPS激活子帧开始,基站和终端设备分别依次确定各预配置的下行SPS资源所对应的下行进程号,从而,保证合理分配进程号,降低数据丢包率,避免因为SFN编号翻转的情况而导致计算得到的下行HARQ进程号和期望使用的进程号不一致,以及因此而导致的数据包不能进行重传而造成的丢包情况。
下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
本发明实施例所提出的技术方案的核心思想在于:根据为SPS预留的进程号个数N,从DL SPS激活子帧开始,对于每个预配置的SPS资源依次轮流使用0、1、……N-1作为DL SPS资源所使用的下行进程号。
与前述的步骤S502中的说明相对应,在实际应用中,本发明实施例所提出的技术方案具体包括如下两种方式:
方式一、设最大预留进程个数为N,SPS激活子帧使用的DL HARQ进程ID为0,则后续预配置的SPS资源使用的下行进程号按照进程号依次递增的原则确定,即从SPS激活子帧开始,后续预配置的SPS资源使用的下行进程号依次使用0、1、2、……N-1、0、1、2、……N-1、0、1……。
对于应用此方式的具体应用场景,通过以下实施例进行说明。
实施例一
以FDD系统为例,设预留的进程个数为N=3,SPS配置的周期为32个子帧,SPS激活时刻为SFN=1018,subframe=5,则各预配置的DL SPS资源对应的下行HARQ进程号根据预留进程个数循环使用,即循环使用进程0、进程1和进程2。
具体如下:
SPS激活时刻(SFN=1018, subframe=5)对应的HARQ下行进程号为0。
第一个预配置的DL SPS资源(SFN=1021, subframe=7)对应的HARQ下行进程号为1。
第二个预配置的DL SPS资源(SFN=0,subframe=9)对应的HARQ下行进程号为2。
第三个预配置的DL SPS资源(SFN=4,subframe=1)对应的HARQ下行进程号为0。
第四个预配置的DL SPS资源(SFN=7,subframe=3)对应的HARQ下行进程号为1。
第五个预配置的DL SPS资源(SFN=10,subframe=5)对应的HARQ下行进程号为2。
后续其他预配置的DL SPS资源对应的HARQ下行进程号按照进程号循环的规则确定即可。具体如图6所示,为本发明实施例一所提出的一种具体应用场景下的下行进程号的确定方法的流程示意图。
而对于TDD系统,相应的处理方式与前述处理方案相一致,在此不再重复说明,唯一需要注意的是对于TDD系统,如果配置的周期为32个子帧,那么基站和终端实际使用时应该按照30个子帧计算。
方式二、需要记录自SPS激活时刻开始,SFN编号翻转的次数M。仍然利用现有协议中的DL SPS HARQ进程号计算公式计算SPS资源对应的HARQ进程号,只不过公式中参数CURRENT_TTI 取值需要修改为CURRENT_TTI = (SFN×10+1024×10×M) + subframe number。
对于应用此方式的具体应用场景,通过以下实施例进行说明。
实施例二
以TDD系统为例,设预留的进程个数为N=3,SPS配置的周期为32个子帧,则对于TDD系统实际使用时SPS周期应该为30个子帧。
激活时刻为SFN=1018,subframe=5,则各预配置DL SPS资源使用如下DL SPS进程号计算公式计算得到:
HARQ Process ID = [floor(CURRENT_TTI/(Downlink Semi-Persistent Scheduling Interval))] modulo Number of Configured SPS Processes;
其中,CURRENT_TTI = (SFN×10 + 1024×10×M) + subframe number;
SFN表示当前预配置的下行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的下行SPS资源对应的子帧的子帧号;
M表示从下行SPS激活子帧开始到当前预配置的下行SPS资源为止的时间范围内SFN编号翻转次数;
Downlink Semi-Persistent Scheduling Interval表示所述基站通过RRC信令预配置给所述终端设备的各下行SPS资源之间的时间间隔;
Number of Configured SPS Processes表示所述基站通过RRC信令预配置给所述终端设备的用于下行SPS传输的进程号个数。
按照以上公式计算出来各预配置的DL SPS资源对应的下行HARQ进程号具体如下:
SPS激活时刻(SFN=1018, subframe=5)对应的HARQ下行进程号为[floor((1018×10 + 1024×10×0 + 5)/30)] modulo 3 = 0。
第一个预配置的DL SPS资源(SFN=1021, subframe=5)对应的HARQ下行进程号为[floor((1021×10 + 1024×10×0 + 5)/30)] modulo 3 = 1。
对于第二个预配置的DL SPS资源(SFN=0,subframe=5),已经发生了一次SFN编号翻转,则第二个预配置的DL SPS资源对应的HARQ下行进程号为[floor((0×10 + 1024×10×1 + 5)/30)] modulo 3 = 2。
第三个预配置的DL SPS资源(SFN=3,subframe=5)对应的HARQ进程号为[floor((3×10 + 1024×10×1 + 5)/30)] modulo 3 = 0;
第四个预配置的DL SPS资源(SFN=6,subframe=5)对应的HARQ进程号为[floor((6×10 + 1024×10×1 + 5)/30)] modulo 3 = 1。
第五个预配置的DL SPS资源(SFN=9,subframe=5)对应的HARQ进程号为[floor((9×10 + 1024×10×1 + 5)/30)] modulo 3 = 2。
后续其他预配置的DL SPS资源对应的HARQ下行进程号同样可以按照上述公式进行确定。具体如图7,为本发明实施例二所提出的一种具体应用场景下的下行进程号的确定方法的流程示意图。
而对于FDD系统,在预配置参数相一致的情况下,其具体的处理方式与前述处理方案的差别仅在于SPS配置的周期可以直接应用于具体的计算,例如,第三个预配置的DL SPS资源(SFN=3,subframe=5)对应的HARQ进程号为[floor((3×10 + 1024×10×1 + 5)/32)] modulo 3 = 0,在此不再重复说明。
此外,为了避免当使用的SPS周期不能满足被10240整除时,SFN编号翻转前后预配置的SPS资源位置不一致的情况发生,也可以考虑对SPS预配置资源公式进行修改,具体的修改方式可以参考前述的方式二。
在现有技术方案中,SPS预配置资源计算公式为:
DL:
(10×SFN + subframe) = [(10×SFNstart time + subframestart time) + N×semiPersistSchedIntervalDL] modulo 10240, for all N>0.
UL:
(10×SFN + subframe) = [(10×SFNstart time + subframestart time) + N×semiPersistSchedIntervalUL + Subframe_Offset×(N modulo 2)] modulo 10240, for all N>0.
则根据本发明实施例所提出的技术方案,相应的修改方式如下:
预配置的UL/DL SPS资源计算公式不变,只是将其中SFN变更为SFN=1024×M + SFN,其中,M为从SPS激活时刻到当前子帧,SFN编号的翻转次数,SFN为当前子帧归属的无线帧的SFN。
具体的,对于DL SPS资源,相应的计算公式调整为:
10×(1024×M + SFN) + subframe = [(10×SFN
start time
+ subframe
start time
) + N×Downlink Semi-Persistent Scheduling Interval] modulo 10240;
其中,N表示大于0的整数,对于第一个预配置的下行SPS资源N取值为1,第二个预配置的下行SPS资源N取值为2,后续下行SPS资源对应的N值依次类推;
M表示从下行SPS激活子帧开始到当前预配置的下行SPS资源为止的时间范围内SFN编号翻转次数;
SFN表示当前预配置的下行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的下行SPS资源对应的子帧的子帧号;
SFN
start time
表示下行SPS激活子帧所属的无线帧的系统帧号;
subframe
start time
表示下行SPS激活子帧的子帧号;
Downlink Semi-Persistent Scheduling Interval表示所述基站通过RRC信令预配置给所述终端设备的各下行SPS资源之间的时间间隔。
对于UL SPS资源,相应的计算公式调整为:
10×(1024×M + SFN) + subframe = [(10×SFN
start time
+ subframe
start time
) + N×Uplink Semi-Persistent Scheduling Interval + Subframe_Offset ×(N modulo 2)] modulo 10240;
其中,N表示大于0的整数,对于第一个预配置的上行SPS资源N取值为1,第二个预配置的下行SPS资源N取值为2,后续下行SPS资源对应的N值依次类推;
M表示从SPS激活信令所针对的上行子帧开始到当前预配置的上行SPS资源为止的时间范围内SFN编号翻转次数;
SFN表示当前预配置的上行SPS资源对应的子帧所属的无线帧的系统帧号;
subframe number表示当前预配置的上行SPS资源对应的子帧的子帧号;
SFN
start time
表示SPS激活信令所针对的上行子帧所属的无线帧的系统帧号;
subframe
start time
表示SPS激活信令所针对的上行子帧的子帧号;
Downlink Semi-Persistent Scheduling Interval表示基站通过RRC信令预配置给所述终端设备的各上行SPS资源之间的时间间隔。
上述的UL/PL SPS资源的确定方式可以应用于前述的技术方案中,当然,在本发明实施例所提出的下行进程号的确定方案中,也可以采用其他的UL/PL SPS资源的确定方式。
在本发明实施例所提出的下行进程号的确定方案中,UL/PL SPS资源的确定方式的变化并不影响本发明的保护范围。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,从下行SPS激活子帧开始,基站和终端设备分别依次确定各预配置的下行SPS资源所对应的下行进程号,从而,保证合理分配进程号,降低数据丢包率,避免因为SFN编号翻转的情况而导致计算得到的下行HARQ进程号和期望使用的进程号不一致,以及因此而导致的数据包不能进行重传而造成的丢包情况。
为了实现本发明实施例的技术方案,本发明实施例还提供了一种基站,其结构示意图如图8所示。
配置模块81,用于向各终端设备预配置下行SPS可使用的进程号个数和下行SPS资源;
确定模块82,用于从下行SPS激活子帧开始,依次轮流确定预配置给终端设备的进程号作为所述配置模块81预配置给所述终端设备的各下行SPS资源所对应的下行进程号。
其中,所述确定模块82,具体用于:
确定下行SPS激活子帧所使用的下行进程号并通过用于激活下行SPS的PDCCH信令通知给所述终端设备;
按照预设的进程号分配顺序和预配置给所述终端设备的用于下行SPS传输的进程号个数,依次确定为所述终端设备在所述下行SPS激活子帧之后的各预配置的下行SPS资源所对应的下行进程号;
其中,当所述基站确定预配置给所述终端设备的一个下行SPS资源所对应的下行进程号为预配置给所述终端设备的最后一个进程号时,所述基站重新从第一个进程号开始,按照预设的进程号分配顺序,将预配置给所述终端设备的各进程号,继续依次确定为所述终端设备后续各预配置的下行SPS资源所对应的下行进程号。
进一步的,该基站还包括记录模块83,用于记录从下行SPS激活子帧开始的SFN编号翻转次数。
在此场景下,所述确定模块82,具体用于:
根据预配置给所述终端设备的各下行SPS资源所对应的SFN编号翻转次数、系统帧号、子帧号、预配置给所述终端设备的各下行SPS资源之间的间隔,以及预配置给所述终端设备的用于下行SPS传输的进程号个数,确定相应的各下行SPS资源所对应的下行进程号。。
进一步的,所述配置模块81,还用于根据所述记录模块83所记录的SFN编号翻转次数,确定预配置给所述终端设备的下行SPS资源。
需要指出的是,所述记录模块83,还用于记录从SPS激活时刻所对应的上行子帧开始到当前子帧的SFN编号翻转次数;
所述配置模块81,还用于根据所述记录模块83所记录的SFN编号翻转次数,确定预配置给所述终端设备的上行SPS资源。
另一方面,本发明实施例还提出了一种终端设备,其具体的结构示意图如图9所示,包括:
接收模块91,用于接收基站预配置的用于下行SPS传输的进程号个数和下行SPS资源;
确定模块92,用于从下行SPS激活子帧开始,依次轮流确定所述接收模块91所接收到的所述基站预配置的进程号作为所述基站预配置的各下行SPS资源所使用的下行进程号。
其中,所述确定模块92,具体用于:
确定下行SPS激活的PDCCH信令中携带的进程号为所述基站预配置的第一个进程号;
按照预设的进程号分配顺序和所述基站预配置的进程号个数,依次确定在下行SPS激活子帧之后的各预配置的下行SPS资源所对应的下行进程号;
其中,当确定所述基站预配置的一个下行SPS资源所对应的下行进程号为所述基站预配置的最后一个进程号时,重新从第一个进程号开始,按照预设的进程号分配顺序,将所述基站预配置的各进程号,继续依次确定为所述终端设备后续各预配置的下行SPS资源所对应的下行进程号。
进一步的,该终端设备,还包括记录模块93,用于记录从下行SPS激活子帧开始的SFN编号翻转次数。
相应的,所述确定模块92,具体用于:
根据所述基站预配置的各下行SPS资源所对应的SFN编号翻转次数、系统帧号、子帧号、所述基站预配置的各下行SPS资源之间的时间间隔,以及所述基站预配置的用于下行SPS传输的进程号个数,确定相应的各下行SPS资源所对应的下行进程号。
进一步的,所述确定模块92,还用于根据所述记录模块93所记录的SFN编号翻转次数,确定所述基站预配置的下行SPS资源。
需要指出的是,所述记录模块93,还用于记录从SPS激活时刻所对应的上行子帧开始到当前子帧的SFN编号翻转次数;
所述确定模块92,还用于根据所述记录模块93所记录的SFN编号翻转次数,确定所述预配置的上行SPS资源。
与现有技术相比,本发明实施例所提出的技术方案具有以下优点:
通过应用本发明实施例的技术方案,从下行SPS激活子帧开始,基站和终端设备分别依次确定各预配置的下行SPS资源所对应的下行进程号,从而,保证合理分配进程号,降低数据丢包率,避免因为SFN编号翻转的情况而导致计算得到的下行HARQ进程号和期望使用的进程号不一致,以及因此而导致的数据包不能进行重传而造成的丢包情况。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。