背景技术
3GPP长期演进(Long Term Evolution,LTE)系统的无线帧结构包括两种不同制式:频分双工(Frequency Division Duplex,FDD)模式和时分双工(Time Division Duplex,TDD)模式。时分双工长期演进TD-LTE(Time Division-Long Term Evolution)系统定义了7种不同的上/下行子帧配置方式,如附表1所示。
表1TD-LTE系统上/下行子帧配置模式
混合自动重传请求(Hybrid Automatic Repeat reQuest,HARQ)结合前向纠错(Front Error Correct,FEC)与自动重传请求(Automatic Repeat reQuest,ARQ)机制,是一种应用于LTE系统中用以提高数据传输可靠性的差错控制方案。TD-LTE系统采用N通道停止等待HARQ机制,其新传与重传均以传输块(Transmission Block,TB)为单位。
TD-LTE系统上行HARQ采用同步自适应或非自适应方式实现,时序关系如附图1所示。用户设备(User Equipment,UE)通过物理上行共享信道(Physical Uplink Shared Channel,PUSCH)发送一个TB后,通过物理HARQ指示信道(Physical HARQ Indication Channel,PHICH)接收eNodeB反馈的确认(Acknowledgement,简称ACK)或否认(Negative acknowledgement,简称NACK)信息。TD-LTE上行HARQ控制处理机制如下:
若UE在第n′子帧检测到上行授权DCI(Downlink Control Information)Format 0且(或者)接收到PHICH信息,则需在第n=n′+k′子帧进行PUSCH发射(并进行新传或重传控制),其中参数k′由附表2确定(对于TDD UL/DL Configuration 0,需要考虑同一子帧检测两个DCI Format 0时的时序控制,详见3GPP技术规范TS36.213第8章);
表2上行HARQ时序控制参数
若UE在第n子帧发射PUSCH(上行业务数据),则需在第n+kPHICH子帧进行DCI Format0或PHICH接收控制,其中参数kPHICH由附表3确定;并由第n+kPHICH子帧接收的上行调度信息或PHICH信息,控制后续PUSCH新传或重传数据的发射。
表3TDD模式上行HARQ PHICH接收时序控制参数kPHICH
TD-LTE系统下行HARQ采用异步自适应方式实现,时序关系如附图2所示。UE通过物理下行共享信道(Physical Downlink Shared Channel,PDSCH)接收到一个TB后,通过物理上行控制信道(Physical Uplink Control Channel,PUCCH)或者PUSCH向基站(eNodeB)反馈ACK或NACK信息(注:对于PDSCH承载的寻呼数据(Paging Channel,PCH)、随机接入响应(Random Access Response,RAR)均不采用HARQ进行控制;对于PDSCH承载的系统信息(Broadcast Control Channel,BCCH)只采用不带ACK/NACK反馈的HARQ控制)。TD-LTE下行HARQ控制处理机制如下:
若UE在第n-k子帧检测到下行调度DCI Format 1A/1/1B/1D/2/2A/2B,则需根据所接收的DCI进行相应的PDSCH接收处理,并产生一个或者两个码字的ACK或NACK信息(码字个数由当前传输模式确定),其中参数k由子帧号以及TDD UL/DL Configuration配置模式确定;
对于UE在n-k子帧接收PDSCH产生的一个或者两个码字的ACK或NACK信息,需控制PUCCH(或PUSCH)在第n子帧进行ACK/NACK反馈。
对于TD-LTE下行HARQ ACK/NACK反馈,可采用两种模式:bundling或multiplexing。对于bundling模式,UE需对多个子帧(如附图2中所示的n-k0、n-k1、n-kx等)接收PDSCH数据产生的ACK/NACK进行逻辑‘与’操作,并控制PUCCH(或PUSCH)在第n子帧进行ACK/NACK反馈;对于multiplexing模式,UE需对多个子帧子帧(如附图2中所示的n-k0、n-k1、n-kx等)接收PDSCH数据产生的ACK/NACK进行组合、编码处理,并控制PUCCH(或PUSCH)在第n子帧进行ACK/NACK反馈。
TD-LTE系统定义的7种上/下行子帧配置模式以及特殊的TDD UL/DL Configuration 0、复杂的上/下行HARQ时序关系、上行发射子帧bundling模式、两种下行HARQ ACK/NACK反馈模式(bundling或multiplexing),均给TD-LTE终端设备实现ACK/NACK调度带来了较大的复杂性。
针对相关技术中的TD-LTE终端设备实现ACK/NACK调度复杂性较高,耗费大量资源的问题,目前尚未提出有效的解决方案。
发明内容
本发明旨在提供一种终端上/下行HARQ ACK/NACK信息调度方法及装置,以解决的相关技术中提到的TD-LTE终端设备实现ACK/NACK调度复杂性较高,耗费大量资源的问题。
根据本发明的一个方面,提供了一种终端上行HARQ ACK/NACK信息调度方法,应用于长期演进LTE系统中,包括:终端确定当前需要接收的ACK/NACK的子帧的子帧号;所述终端以所述子帧号为索引对子帧数据库进行数据库访问控制,获得与所述子帧号对应的ACK/NACK信息;所述终端根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。
较优的,所述终端按子帧轮询方式对所述子帧数据库进行读/写操作。
较优的,所述终端按子帧轮询方式对所述子帧数据库进行读/写操作,包括:所述终端的上行HARQ PUSCH发射模块进行ACK/NACK接收控制写数据库操作;所述终端的上行HARQ PHICH解码模块进行ACK/NACK接收控制读数据库操作。
较优的,所述终端以所述子帧号为索引对子帧数据库进行数据库访问控制,获得与所述子帧号对应的ACK/NACK信息,包括:当前子帧的子帧号为n,且需要在子帧号为n+k的子帧执行写操作时,若k<10,则确定以(n+k)%10的值作为所述子帧数据库的索引,写入对应的数据库位置;若k≥10,则确定以(n+k)%10的值作为所述子帧数据库的索引,在该索引的数据库位置建立Next结点,写入该索引对应的数据库位置的Next结点部分。
较优的,所述终端以所述子帧号为索引对子帧数据库进行数据库访问控制,获得与所述子帧号对应的ACK/NACK信息,包括:当需要在子帧n进行读操作时,判断索引对应的位置是否存在Next结点;若否,则直接读取当前结点中的数据;若是,则首先处理当前结点中的数据并删除,将Next结点转变为新的当前结点。
较优的,所述子帧数据库规模为10子帧。
较优的,每子帧的数据库元素包括上行混合自动重传请求控制模块HARQ Control Block和下行HARQ Control Block。
根据本发明的另一方面,提供了一种终端下行混合自动重传请求HARQ确认ACK/否认NACK信息调度方法,应用于长期演进LTE系统中,包括:终端接收传输块TB并解码,产生ACK/NACK信息;所述终端确定接收所述ACK/NACK信息的子帧的子帧号,并以所述子帧号为索引对子帧数据库进行数据库访问控制;所述终端根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。
较优的,所述终端按子帧轮询方式对所述子帧数据库进行读/写操作。
较优的,所述终端按子帧轮询方式对所述子帧数据库进行读/写操作,包括:所述终端的下行HARQ PDSCH解码模块进行ACK/NACK接收控制写数据库操作;所述终端的下行HARQ PUCCH/PUSCH解码模块进行ACK/NACK接收控制读数据库操作。
较优的,所述终端确定接收所述ACK/NACK信息的子帧的子帧号,并以所述子帧号为索引对子帧数据库进行数据库访问控制,包括:当前子帧的子帧号为n,且需要在子帧号为n+k的子帧执行写操作时,若k<10,则确定以(n+k)%10的值作为所述子帧数据库的索引,写入对应的数据库位置;若k≥10,则确定以(n+k)%10的值作为所述子帧数据库的索引,在该索引的数据库位置建立Next结点,写入该索引对应的数据库位置的Next结点部分。
较优的,所述终端确定接收所述ACK/NACK信息的子帧的子帧号,并以所述子帧号为索引对子帧数据库进行数据库访问控制,包括:当需要在子帧n进行读操作时,判断索引对应的位置是否存在Next结点;若否,则直接读取当前结点中的数据;若是,则首先处理当前结点中的数据并删除,将Next结点转变为新的当前结点。
较优的,所述子帧数据库规模为10子帧。
较优的,每子帧的数据库元素包括上行HARQ Control Block和下行HARQ Control Block。
根据本发明的另一方面,提供了一种终端上行混合自动重传请求HARQ确认ACK//否认NACK信息调度装置,包括:确定模块,用于确定当前需要接收的ACK/NACK的子帧的子帧号;获取模块,用于以所述子帧号为索引对子帧数据库进行数据库访问控制,获得与所述子帧号对应的ACK/NACK信息;调度模块,用于根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。
根据本发明的另一方面,提供了一种终端下行混合自动重传请求HARQ确认ACK//否认NACK信息调度装置,包括:接收模块,用于接收传输块TB并解码,产生ACK/NACK信息;访问模块,用于终端确定接收所述ACK/NACK信息的子帧的子帧号,并以所述子帧号为索引对子帧数据库进行数据库访问控制;反馈模块,用于根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。
在本发明实施例中,终端确定当前需要接收的ACK/NACK的子帧的子帧号,终端以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息,终端根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现上行HARQ ACK/NACK调度,节省资源。
在本发明实施例中,终端接收传输块TB并解码,产生ACK/NACK信息,终端确定接收ACK/NACK信息的子帧的子帧号,并以子帧号为索引对子帧数据库进行数据库访问控制,终端根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现下行HARQ ACK/NACK调度,节省资源。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
相关技术中提到,TD-LTE系统定义的7种上/下行子帧配置模式以及特殊的TDD UL/DLConfiguration 0、复杂的上/下行HARQ时序关系、上行发射子帧bundling模式、两种下行HARQ ACK/NACK反馈模式,均给TD-LTE终端设备实现ACK/NACK调度带来了较大的复杂性,浪费了大量的资源。
为解决上述技术问题,本发明实施例提供了一种终端上行混合自动重传请求HARQ确认ACK/否认NACK信息调度方法,应用于长期演进LTE系统中,其处理流程如图3所示,包括:
步骤S302、终端确定当前需要接收的ACK/NACK的子帧的子帧号;
步骤S304、终端以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息;
步骤S306、终端根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。
在本发明实施例中,终端确定当前需要接收的ACK/NACK的子帧的子帧号,终端以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息,终端根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现上行HARQ ACK/NACK调度,节省资源。
实施时,终端按子帧轮询方式对子帧数据库进行读/写操作,例如,终端的上行HARQPUSCH发射模块进行ACK/NACK接收控制写数据库操作;终端的上行HARQ PHICH解码模块进行ACK/NACK接收控制读数据库操作。
如图3所示流程,步骤S304在实施时,终端以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息,包括:
当前子帧的子帧号为n,且需要在子帧号为n+k的子帧执行写操作时,
若k<10,则确定以(n+k)%10的值作为子帧数据库的索引,写入对应的数据库位置;
若k≥10,则确定以(n+k)%10的值作为子帧数据库的索引,在该索引的数据库位置建立Next结点,写入该索引对应的数据库位置的Next结点部分。
除了写操作外,还可以对子帧数据库进行读操作,其操作过程如下:
当需要在子帧n进行读操作时,判断索引对应的位置是否存在Next结点;
若否,则直接读取当前结点中的数据;
若是,则首先处理当前结点中的数据并删除,将Next结点转变为新的当前结点。
采用链表结构的数据库结构如附图4所示,数据库规模为10子帧(LTE系统中,一个无线帧即为10子帧),每子帧的数据库元素由UL HARQ Control Block与DL HARQ Control Block两大部分构成,分别用于调度上行HARQ ACK/NACK接收、下行HARQ ACK/NACK反馈。
基于同一发明构思,本发明实施例还提供了一种终端下行混合自动重传请求HARQ确认ACK/否认NACK信息调度方法,应用于长期演进LTE系统中,其处理流程如图5所示,包括:
步骤S502、终端接收传输块TB并解码,产生ACK/NACK信息;
步骤S504、终端确定接收ACK/NACK信息的子帧的子帧号,并以子帧号为索引对子帧数据库进行数据库访问控制;
步骤S506、终端根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。
在本发明实施例中,终端接收传输块TB并解码,产生ACK/NACK信息,终端确定接收ACK/NACK信息的子帧的子帧号,并以子帧号为索引对子帧数据库进行数据库访问控制,终端根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现下行HARQACK/NACK调度,节省资源。
实施时,终端按子帧轮询方式对子帧数据库进行读/写操作,例如,终端的下行HARQPDSCH解码模块进行ACK/NACK接收控制写数据库操作,终端的下行HARQPUCCH/PUSCH解码模块进行ACK/NACK接收控制读数据库操作。
如图5所示流程,步骤S504在实施时,终端确定接收ACK/NACK信息的子帧的子帧号,并以所述子帧号为索引对子帧数据库进行数据库访问控制,包括:
当前子帧的子帧号为n,且需要在子帧号为n+k的子帧执行写操作时,
若k<10,则确定以(n+k)%10的值作为子帧数据库的索引,写入对应的数据库位置;
若k≥10,则确定以(n+k)%10的值作为子帧数据库的索引,在该索引的数据库位置建立Next结点,写入该索引对应的数据库位置的Next结点部分。
除了写操作外,还可以对子帧数据库进行读操作,其操作过程如下:
当需要在子帧n进行读操作时,判断索引对应的位置是否存在Next结点;
若否,则直接读取当前结点中的数据;
若是,则首先处理当前结点中的数据并删除,将Next结点转变为新的当前结点。
采用链表结构的数据库结构如附图4所示,数据库规模为10子帧(LTE系统中,一个无线帧即为10子帧),每子帧的数据库元素由UL HARQ Control Block与DL HARQ Control Block两大部分构成,分别用于调度上行HARQ ACK/NACK接收、下行HARQ ACK/NACK反馈。
为将本发明实施例阐释地更清楚更明白,本发明实施例还设计了一种TD-LTE终端上行HARQ ACK/NACK接收、下行HARQ ACK/NACK反馈调度装置,如附图6所示。本调度装置共包括PUSCH/PUCCH传输Transmitter模块、PUSCH/PUCCH驱动Driver模块、ULACK/NACK接收规则Receiver Scheduler模块、PHICH解码Decoder模块、PHICH Driver模块、PDSCH Decoder模块、PDSCH Driver模块、DL ACK/NACK Receiver Scheduler模块以及子帧数据库Subframe Database控制中心。
PUSCH/PUCCH Transmitter模块采用硬件实现,用于PUSCH/PUCCH物理层处理;PUSCH/PUCCH Driver模块采用软件实现,用于进行下行HARQ ACK/NACK反馈信息处理,并驱动PUSCH/PUCCH发射;ULACK/NACK Receiver Scheduler模块采用软件实现,用于规划上行HARQ ACK/NACK接收。
PHICH Decoder模块采用硬件实现,用于解码PH ICH,供上行HARQ ACK/NACK调度使用;PHICH Driver模块采用软件实现,用于驱动PHICH解码;PDSCH Decoder模块采用硬件实现,用于解码PDSCH,并产生ACK/NACK,供下行HARQACK/NACK反馈;PDSCH Driver模块采用软件实现,用于驱动PDSCH解码;DL ACK/NACK Receiver Scheduler模块采用软件实现,用于规划下行HARQ ACK/NACK反馈。
Subframe Database控制中心以结构体数组的形式存储10子帧的控制参数,基本数据结构如下:
其中,T_UIAckNackSchedulerControlBlock中含有用于计算PHICH组号
与组内序号
的解码控制参数n
DMRS、
I
PHICH等;T_DIAckNackSchedulerControlBlock中含有ACK/NACK信息、用于确定PUCCH发射资源的参数n
CCE以及用于判断下行接收是否漏检的参数
U
DAI、N
SPS等(各参数的物理意义详见3GPP技术规范TS36.213)。
本发明实施例采用以子帧为索引的数据库访问控制方式,上/下行HARQ不同处理模块只需以子帧为索引操作数据库即可实现ACK/NACK的接收/反馈调度,有效地减小了不同处理模块之间的频繁交互;
以数据库为中心的访问控制方式只需根据TD-LTE系统的时间信息(子帧号、帧号等)、TDD UL/DL Configuration方式等对上/下行HARQ时序进行维护,各处理模块只需通过简单的读写数据库操作来进行ACK/NACK反馈/接收的调度控制,有效地降低了用户终端实现的复杂度;
本发明中采用的以子帧为索引的数据库访问控制方式非常灵活、可扩展性强,既可灵活地实现TD-LTE系统中不同的TDD UL/DL Configuration方式之间的切换,又可无缝地实现LTE系统中TDD、FDD两种模式之间的切换;并且,数据库访问控制方式还可灵活地运用至LTE系统中的其他应用中(如上行功率控制过程等)。
为使本发明实施例的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图6,对本发明进一步详细说明。
为简单起见,上行HARQ ACK/NACK接收调度处理实例采用UL/DL Configuration 1,当前子帧n=7;下行HARQ ACK/NACK反馈调度处理实例采用U L/DL Configuration 3,当前子帧n=1。
对于上行HARQ ACK/NACK接收,本发明实施例中的调度装置工作原理如下:
步骤UL S1:UL ACK/NACK Receiver Scheduler模块根据附表4(由上行HARQ时序推导得出)确定所需接收ACK/NACK(解码PHICH)的子帧号为1(因k=4<10,故(n+k)%10=1,即下一无线帧中的子帧1),并按上述数据库访问控制方式将ACK/NACK接收控制解码参数写入Subframe Database,即写入g_tHarqAckNackScheduler[1]tUIAckNackSchedulerCb中;
表4上行HARQ ACK/NACK调度(接收)控制时序
步骤UL S2:PHICH Driver模块在下一无线帧的子帧1到来时访问Subframe Database,读取g_tHarqAckNackScheduler[1].tUIAckNackSchedulerCb中的PHICH解码控制参数n
DMRS、
I
PHICH,计算PHICH组号
与组内序号
步骤UL S3:PHICH Driver模块驱动PHICH Decoder模块工作,解码PHICH信道,以获得PUSCH对应的ACK/NACK信息;
步骤UL S4:UL ACK/NACK Receiver Scheduler模块获得子帧1时刻上行HARQ ACK/NACK信息(即PHICH解码结果);
步骤UL S5:UL ACK/NACK Receiver Scheduler模块根据子帧1时刻所获上行HARQ ACK/NACK信息调度后续的PUSCH新传或重传。
对于下行HARQ ACK/NACK反馈,本发明方案中的调度装置工作原理如下:
步骤DL S1:在当前子帧1,PDSCH Driver模块驱动PDSCH Decoder工作,解码当前需接收的TB;
步骤DL S2:PDSCH Decoder解码当前需接收的TB,并产生ACK或NACK信息;DLACK/NACK Receiver Scheduler模块获得解码结果,以及调度当前TB进行解码的DCI参数,包括成功解码DCI所获得的参数n
CCE以及
U
DAI、N
SPS等;
步骤DL S3:DL ACK/NACK Receiver Scheduler模块根据附表5(由下行HARQ时序推导得出)确定所需接收ACK/NACK(解码PHICH)的子帧号为2(因k=11≥10,故(n+k)%10=2,即下一无线帧中的子帧2),并按上述数据库访问控制方式将ACK/NACK反馈控制解码参数写入Subframe Database(根据下行HARQ ACK/NACK反馈模式:bundling与multiplexing进行操作),即在g_tHarqAckNackScheduler[2].tDIAckNackSchedulerCb中建立Next结点,并写入Next结点所对应的数据库;(注意:此时系统当前子帧为1,若直接写入以子帧2为索引的数据中,则会将之前已写入子帧2中的参数本覆盖,因此必须建立Next结点。)
表5下行HARQ ACK/NACK调度(发射)控制时序
步骤DL S4:PUSCH/PUCCH Driver模块在当前无线帧子帧2到来时访问Subframe Database,先处理g_tHarqAckNackScheduler[2].tDIAckNackSchedulerCb中的Current结点部分(若需处理),即进行当前无线帧子帧2的下行HARQ ACK/NACK反馈处理,再删除Current结点,并将Next结点转为新的Current结点(注意:新的Current结点中的数据需待下一无线帧子帧2到来时进行发反馈处理。)
步骤DL S5:PUSCH/PUCCH Driver模块处理访问Subframe Database所获的下行HARQ ACK/NACK反馈控制参数,确定下行HARQ ACK/NACK反馈信息(并需判断下行接收是否漏检),驱动PUSCH/PUCCH Transmitter模块进行PUSCH/PUCCH发射。
基于同一发明构思,本发明实施例还提供了一种终端上行混合自动重传请求HARQ确认ACK//否认NACK信息调度装置,其结构示意图如图7所示,包括:
确定模块701,用于确定当前需要接收的ACK/NACK的子帧的子帧号;
获取模块702,用于以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息;
调度模块703,用于根据获得的ACK/NACK信息调度后续的上行业务数据PUSCH新传或重传。
基于同一发明构思,本发明实施例还提供了一种终端下行混合自动重传请求HARQ确认ACK//否认NACK信息调度装置,其结构示意图如图8所示,包括:
接收模块801,用于接收传输块TB并解码,产生ACK/NACK信息;
访问模块802,用于终端确定接收ACK/NACK信息的子帧的子帧号,并以子帧号为索引对子帧数据库进行数据库访问控制;
反馈模块803,用于根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。
从以上的描述中,可以看出,本发明实现了如下技术效果:
在本发明实施例中,终端确定当前需要接收的ACK/NACK的子帧的子帧号,终端以子帧号为索引对子帧数据库进行数据库访问控制,获得与子帧号对应的ACK/NACK信息,终端根据获得的ACK/NACK信息调度后续的PUSCH新传或重传。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现上行HARQ ACK/NACK调度,节省资源。
在本发明实施例中,终端接收传输块TB并解码,产生ACK/NACK信息,终端确定接收ACK/NACK信息的子帧的子帧号,并以子帧号为索引对子帧数据库进行数据库访问控制,终端根据产生的ACK/NACK信息调度PUCCH/PUSCH进行ACK/NACK反馈。在本发明实施例中,通过构建一种灵活的数据库访问控制方式,能高效、稳定地实现下行HARQACK/NACK调度,节省资源。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。