一种混合自动重传的冗余版本参数发送、接收方法 【技术领域】
本发明涉及通信领域,尤其涉及一种混合自动重传的冗余版本参数发送、接收方法。
背景技术
HARQ(Hybrid Automatic Repeat reQuest,混合自动重传)是一种链路自适应技术,接收端在超出自身纠错能力时快速请求发送端重发错误的数据块,因此能自动适应信道条件的变化,且对测量误差和时延不敏感。现有的HARQ技术增加了冗余机制:接收端将多次传输的数据合并后进行解码。重传数据中同时包含冗余和系统比特,能够自解码。
HARQ功能由两级速率匹配子模块和一个缓冲器组成。第一速率匹配子模块使输入比特与终端软缓冲容量相匹配,进行匹配的打孔操作。第二速率匹配子模块通过进行打孔或重复操作,将第一速率匹配子模块输出的高速下行共享信道传输时间间隔内的比特数据与高速下行物理共享信道帧内的比特数相匹配。根据不同传输信道信息的重要性,由上层的参数控制决定打孔或重复的数量,保证了优先级更高的信息有效传输。此外,现有的HARQ技术通过设置速率匹配中的RV(Redundancy Version,冗余版本)参数来选择HARQ机制类型,这与系统的纠错能力直接相关,并可以通过改变上述重复或打孔的位置和规则来获得时间增益和编码增益。
空口传送的HARQ信息,也就是用于控制HARQ进程的具体信息,包括:HARQ进程号、增量冗余的冗余版本(RV)和NDI(New data indicator,新数据指示);上述信息用于发送端通过HARQ进程发送数据以及接收端通过HARQ进程接收数据。其中,与本发明相关的信息有2个:RV和NDI。
在使用RV时,可用的RV有一个集合,例如{0,1,2,3},通过依次使用集合中的元素来表示不同的冗余版本。对于某一包数据,第一次发送,我们称为“首传数据”,“首传数据”使用RV=0的冗余版本。如果此包数据没有被接收端正确接收,需要重传,我们称为“重传数据”。第一次重传时,增加冗余信息值,“重传数据”使用的冗余版本值RV=1;如果还没有被接收方正确接收,需要重传,那么在第二次重传的时候,继续增加冗余信息值,“重传数据”使用的冗余版本值RV=2;同样,如果还需要重传,第三次重传的时候,继续增加冗余信息值,“重传数据”使用的冗余版本值RV=2;此后,第四次以及更多次重传的时候,“重传数据”使用的冗余版本值RV=3。但是,当重传达到一定次数时,发送端将停止对应的HARQ进程,并启用新的HARQ进程重新发送该包数据,新的HARQ进程从RV=0开始使用冗余版本值。此外,现有技术中同一HARQ进程也可能对于相同内容的数据多次使用RV=0。概括来说,从首传到各次重传,RV的使用次序可以是:0,1,2,3,0,1,2,3,...。
NDI被用来区分新数据和重传数据(或者说用来区分不同的新数据)。当传送新数据时将NDI值加1,重传数据时不变。NDI只有1个比特,所以只有2个取值:0和1。当传送第一包新数据时,NDI为0;当传送第二包新数据时,NDI为1;当传送第三包新数据时,NDI为0;如此来依次使用NDI。而重传数据时NDI不变,也就是:当第一包新数据在重传的时候(即第一包新数据的重传数据),无论是第一次重传还是后续的重传,NDI都不变,和第一包新数据一样,值为0;当重传第二包新数据的时候(即第二包新数据的重传数据),无论是第一次重传还是后续的重传,NDI不变,和第二包新数据一样,值为1;当重传第三包新数据的时候(即第三包新数据的重传数据),无论是第一次重传还是后续的重传重传,NDI不变,和第三包新数据一样,值为0。即同一包数据的首传数据和重传数据的NDI保持不变。
在进行后续的描述前,需要强调说明新数据和首传数据、重传数据的差别:
新数据:是指有新的原始内容的数据。不同的新数据之间携带的原始内容不同。例如,上述第一包新数据和第二包新数据之间携带的原始内容不同。
首传数据和重传数据:新数据在第一次发送时称为首传数据;进行第二次发送以及后续发送时称为重传数据;首传数据和重传数据携带的原始内容是一致的。例如,上述第一包新数据第一次发送时称为首传数据;第一包新数据第二次发送时称为重传数据;首传数据和重传数据携带的原始内容是一致地,均为第一包新数据的原始内容。
图1为现有技术中NDI参数的使用方法示意图。现有技术中NDI的使用规则为:当传新数据时将NDI加1(模2加,即0+1=1,1+1=0),重传数据时NDI不变。图1以发送10包数据为例对现有技术中NDI的使用方法进行介绍,具体描述如下:
第1,2,3包数据,传送的原始内容均一样,记为原始内容A。第1包是原始内容A的首传数据,第2,3包是原始内容A的重传数据。所以,第1包数据符合“传新数据”的条件,传送原始内容A,NDI加1等于0(假设初始NDI为1)。第2,3包数据是原始内容A的重传数据,NDI不变,均为0。
第4包数据,传送的原始内容记为原始内容B,与原始内容A不同,符合“传新数据”的条件,所以第4包数据的NDI加1等于1;原始内容B没有重传数据。
第5包数据,传送的原始内容记为原始内容C,与原始内容B不同,符合“传新数据”的条件,所以第5包数据的NDI加1等于0;第6、7、8、9包数据是原始内容C的重传数据,NDI不变,均为0。
第10包数据,传送的原始内容记为原始内容D,与原始内容C不同,符合“传新数据”的条件,所以第10包数据的NDI加1等于1;原始内容D没有重传数据。
可见,NDI的作用如下:
区分新数据和旧数据(或者说区分不同的新数据)。NDI从0跳变到1,或者从1跳变到0,说明发生新旧数据交替。例如,图1中,NDI从0跳到1,发生新旧数据交替,新数据的原始内容B替代旧数据的原始内容A、以及新数据的原始内容D替代旧数据的原始内容C;
标识新数据的区间。NDI保持0,或者保持1,标识了新数据的起始和终止区间。例如,图1中,NDI第一次保持0,标识了新数据的起始点为第1包数据,终止点为第3包数据。期间的第1,2,3包数据,传送的原始内容均一样,均为原始内容A。
由于RV和NDI信息是最重要的HARQ控制信息,以极高频度在空口发送;因此需要RV和NDI信息的传送效率对带宽和发射功率有较大的影响。例如:RV占用2个比特,NDI占用1个比特,RV和NDI信息每隔1个毫秒在空口发送一次;则RV和NDI信息每秒占用三千比特的带宽,并消耗了对应比特的发射功率。
【发明内容】
本发明所要解决的技术问题是,克服现有技术的不足,提供一种可减少带宽占用以及发射功率消耗的HARQ的RV参数发送、接收方法。
为了解决上述问题,本发明提供一种混合自动重传的冗余版本参数发送方法,发送端将首传数据的冗余版本即RV参数值设置为0,且将重传数据的RV值设置为可用RV集合中的非0值。
此外,所述可用RV集合为:{R0,R1,...,Rn};其中,R0=0,且0<R1<...<Rn;n>1。
此外,发送端在对同一首传数据包含的原始内容进行重传时,将该首传数据对应的第i个重传数据包的RV值设置为Ri;1≤i<n;
对于该首传数据对应的后续重传数据包,将其RV值设置为Rn。
此外,发送端在对同一首传数据包含的原始内容进行重传时,对于第(k-1)×n+1至第k×n个重传数据包,按照由小到大的顺序依序使用所述可用RV集合中的各非0值;
其中,k为大于0的整数。
本发明还提供一种混合自动重传的冗余版本参数接收方法,接收端将接收到的RV值为0的数据包作为首传数据包进行处理,且将RV值为可用RV集合中的非0值的数据包作为重传数据包进行处理。
此外,所述可用RV集合为:{R0,R1,...,Rn};R0=0,且0<R1<...<Rn;n>1;
接收端接收到跟随在首传数据包之后的重传数据包时,将RV值等于Ri的数据包作为所述首传数据包对应的第i个重传数据包进行处理;将RV值等于Rn的数据包按照接收顺序作为所述首传数据包对应的第n+j个重传数据包进行处理;
其中,1≤i<n;j≥0。
此外,所述可用RV集合为:{R0,R1,...,Rn};R0=0,且0<R1<...<Rn;n>1;
接收端接收到跟随在首传数据包之后的第(k-1)×n+1至第k×n个重传数据包时,若其RV值为Ri,则将其作为所述首传数据包对应的第(k-1)×n+Ri个重传数据包进行处理;
其中,1≤i≤n。
综上所述,本发明利用RV参数来区分首传数据和重传数据,不再使用NDI,从而在空口节省NDI这个比特的传送,减少了空口的带宽开销,和空口的发射功率开销。
【附图说明】
图1为现有技术中NDI参数使用方法示意图;
图2为本发明实施例RV参数的使用方法示意图;
图3为本发明实施例RV参数的发送方法流程图;
图4为本发明实施例RV参数的接收方法流程图。
【具体实施方式】
空口设计中,每一个比特的使用都需要特别斟酌,以降低不必要的带宽开销,和不必要的发射功率开销。
本发明的核心思想是,在混合自动重复请求过程中使用冗余版本(RV)来替代新数据指示(NDI),通过冗余版本(RV)来区分新数据和重传数据,不再使用新数据指示(NDI),从而在空口节省NDI这个比特的传送,以降低空口的带宽开销,和空口的发射功率开销。
下面将结合附图和实施例对本发明进行详细描述。
图2为本发明实施例RV参数的使用方法示意图。本实施例中,假设可用RV集合为{0,1,2,3};非0的元素为1或者2或者3。图2以发送10包数据为例对本发明RV的使用方法进行介绍,具体描述如下:
本实施例的RV使用规则为:将首传数据的RV设置为0;重传数据的RV设置为非0。当首传新数据时将RV重置为0。
第1,2,3包数据,传送的原始内容均一样,记为原始内容A。第1包是原始内容A的首传数据,第2,3包是原始内容A的重传数据。所以,第1包数据符合“首传数据”条件,是原始内容A的首传数据,将RV设置为0;第2,3包是原始内容A的重传数据,将RV设置为非0。发送方从非0元素1或者2或者3中选择合适的冗余版本设置RV值;例如,将第2包数据的RV设置为1,将第3包数据的RV设置为2。
第4包数据,传送的原始内容记为原始内容B,与原始内容A不同,符合“首传新数据”的条件,所以将第4包数据的RV重置为0;原始内容B没有重传数据。
第5包数据,传送的原始内容记为原始内容C,与原始内容B不同,符合“首传新数据”的条件,所以将第5包数据的RV重置为0;第6、7、8、9包是原始内容C的重传数据,将RV设置为非0;发送方从非0元素1或者2或者3中选择合适的冗余版本设置RV值,例如,将第6包数据的RV设置为1,将第7包数据的RV设置为2, 将第8包数据的RV设置为3,将第9包数据的RV设置为3。
第10包数据,传送的原始内容记为原始内容D,与原始内容C不同,符合“首传新数据”的条件,所以将第10包数据的RV重置为0;原始内容D没有重传数据。
可见,采用本发明的上述RV参数的使用方法,可以取代NDI参数,起到以下作用:
区分新数据和旧数据
图1中的NDI从0跳变到1,或者从1跳变到0,说明发生新旧数据交替。例如,图1中,NDI从0跳到1,发生新旧数据交替,新数据的原始内容B替代旧数据的原始内容A、以及新数据的原始内容D替代旧数据的原始内容C;
图2中的RV设置或者重置为0,说明发生新旧数据交替。例如,图2中,将RV设置或者重置为0,新数据的原始内容B替代旧数据的原始内容A、以及新数据的原始内容C替代旧数据的原始内容B、以及新数据的原始内容D替代旧数据的原始内容C。
区分新数据的区间
图1中NDI保持0,或者保持1,标识了这块新数据的起始和终止区间。例如,图1中,NDI第一次保持0,标识了这块新数据的起始点为第1包数据,终止点为第3包数据;期间的第1,2,3包数据,传送的原始内容均一样,均为A;
图2中从“RV设置或者重置为0”到“下一次RV重置为0的前一个非0的RV”之间,标识了这块新数据区间的起始点和终止点。例如,图2中,“RV设置为0”到“下一次RV重置为0的前一个非0的RV”之间,标识了这块新数据的起始点为第1包数据,终止点为第3包数据;期间的第1,2,3包数据,传送的原始内容均一样,均为A。
下面将结合附图对本发明实施例RV参数的发送方法和接收方法分别进行描述。
图3为本发明实施例RV参数的发送方法流程图,具体包括以下步骤:
步骤310:发送端将第一包新数据的首传数据的RV设置为0后,在空口发送。
步骤320:发送端将重传数据的RV设置为非0值后,在空口发送;后续有重传数据则重复执行步骤320;无重传数据则转入步骤330;
非0的RV为可用RV集合中的某一非0元素,发送端挑选其一进行重传。发送端进行重传的时候,也就是发送重传数据的时候,只能够使用可用RV集合中的非0的元素。
设可用RV集合为{R0,R1,R2,...,Rn-1,Rn},其中,R0=0,R1、R2、...、Rn皆大于0,且R1<R2<...,<Rn-1<Rn;在对同一首传数据进行重传时,RV集合中的非0元素的使用顺序可以是:R1,R2,...,Rn-1,Rn,Rn,Rn,...。
步骤330:当发送端发送后续的首传新数据时将其RV值重置为0后,在空口发送;后续进行数据的重传时转入步骤320;进行数据的首传则执行步骤330。
图4为本发明实施例RV参数的接收方法流程图,具体包括以下步骤:
步骤401:接收端从空口获得RV信息,对RV值进行判断:如果RV为0,则执行步骤402;如果RV为非0,则执行步骤403;
402:对首传数据进行处理后跳转至步骤401;
403:对重传数据进行处理后跳转至步骤401;
设可用RV集合为{R0,R1,R2,...,Rn-1,Rn},其中,R0=0,R1、R2、...、Rn皆大于0,且R1<R2<...,<Rn-1<Rn;接收端接收到RV值为R1~Rn-1的数据包后,识别出其为第1~n-1个重传数据包,而后续接收到的RV值为Rn的数据包则按照接收顺序分别作为第n+i个重传数据包进行处理,i≥0。
接收端接收到第x个首传数据包和第x+1个首传数据包之间的第(k-1)×n+1至第k×n个重传数据包时,若其RV值为Ri,则将其作为所述第x个首传数据包对应的第(k-1)×n+Ri个重传数据包进行处理;1≤i<n。
基于本发明的基本原理,上述实施例还可以有多种扩展和变化方式,例如:
当可用RV集合中包含多个非0值时,对于相同的首传数据的多个重传数据,发送端可以依序重复使用可用RV集合中的各非0值作为其RV值;相应地,接收端可以根据非0的RV值的变化识别相同首传数据的不同次重传。
例如,可用RV集合为:{0,1,2,3},第一次重传使用RV=1,第二次重传使用RV=2,第三次重传使用RV=3,第四次重传使用RV=1,以次类推。当然,也可以是:第一次重传使用RV=3,第二次重传使用RV=2,第三次重传使用RV=1,第四次重传使用RV=3,以次类推。
接收端根据跟随在0之后的RV值(=1)识别出对应的重传数据包为第一次重传;当再次出现RV=1时(跟随在RV=3的重传数据包之后),识别出对应的重传数据包为第四次重传,依此类推。