CN102035617B - 一种通信系统中信道编码的速率匹配方法和装置 - Google Patents
一种通信系统中信道编码的速率匹配方法和装置 Download PDFInfo
- Publication number
- CN102035617B CN102035617B CN200910178860.3A CN200910178860A CN102035617B CN 102035617 B CN102035617 B CN 102035617B CN 200910178860 A CN200910178860 A CN 200910178860A CN 102035617 B CN102035617 B CN 102035617B
- Authority
- CN
- China
- Prior art keywords
- buffer
- attached bag
- mod
- harq
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种通信系统中信道编码的速率匹配方法,包括:对信息比特序列进行编码和交织,从而得到母码码字,并将所得到的母码码字存入循环缓存器中;从所述循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始;输出所产生的子包。通过本发明,采用对子包的起始位置的选择方法,使得调制符号的对齐方法遵照某一特定规律,使之符合通信系统的传输要求,进而增强了整个链路的传输性能,降低通信系统实现的复杂度。
Description
技术领域
本发明涉及通信领域,具体地说,是一种通信系统中信道编码的速率匹配方法和装置。
背景技术
目前,数字通信系统是常用的通信系统。图1是根据相关技术的数字通信系统的结构框图,如图1所示,通常,数字通信系统由发射端、信道和接收端组成,其中,发射端通常包括信源、信源编码器、信道编码器和调制器等部分,接收端通常包括解调器、信道译码器、信源译码器和信宿,发射端与接收端之间存在信道(或存储介质),并且信道中存在噪声源。
在数字通信系统中,信道编码链路(包括信道编译码、调制解调等)是整个数字通信物理层的最关键技术,其决定了数字通信系统底层传输的有效性和可靠性。
下面将详细描述信道编码链路部分中的信道编译码、调制解调等部分的功能。
信道编码(Channel Coding,简称为CC)
信道编码(Channel Coding)的目的是抗击传输过程中各种各样的噪声和干扰。通常,通过人为地增加冗余信息,能够使得系统具有自动纠正差错的能力,从而保证数字传输的可靠性。Turbo码是目前公认的最优的前向纠错编码之一,在众多标准协议中被广泛采用作为数据业务传输的信道编码解决方案,而且随着译码迭代次数的增加,其译码纠错性能将会被不断完善。目前常用的Turbo码包括二进制Turbo码和双二进制咬尾Turbo码。
速率匹配(Rate Matching,简称为RM)
速率匹配(Rate Matching)处理是信道编码后的一项非常关键的技术,其目的是对信道编码后的码字比特进行由算法控制的重复或打孔,以保证速率匹配后的数据比特长度与所分配的物理信道资源相匹配。目前,速率匹配算法主要有以下两种:第三代合作伙伴计划(3rd Generation Partnership Project,简称为3GPP)R6速率匹配算法和循环缓存速率匹配(Circular Buffer Rate Matching,简称为CBRM)算法。
其中,循环缓存速率匹配算法是能够生成删余图样性能优秀的简单算法,在3GPP2的系列标准、IEEE802.16e标准和3GPP长期演进(Long-Term Evolution,简称为LTE)等多数通信系统中都采用这种速率匹配算法。
在循环缓存速率匹配算法中,在码率为1/3的情况下,Turbo编码输出的码字比特经比特分离后会分离出三个数据比特流:系统比特流、第一校验比特流和第二校验比特流。上述三个数据比特流各自进行分块交织器重新排列,该处理过程通常被称为块内交织。然后,在输出缓存器中,将重排后的系统比特放在开始位置,随后交错地放置两个重排的校验比特流,被称为块间交织。
并且,在该处理过程中,可以根据期望的输出码率选择Ndata个编码比特作为循环缓存速率匹配的输出,循环缓存速率匹配从输出缓存器中某个指定的起始位置读出Ndata个编码比特,被称为比特选择。总的来说,被选择用于传输的比特可以从缓存器中的任何位置读出来。当读取循环缓存器的最后一个比特后,其下一个比特数据即为循环缓存区的首个比特位置数据。所以,通过简单的方法便可实现基于循环缓存的速率匹配(删余或重复)。对于下面将要描述的混合自动请求重传请求(Hybrid Automatic Repeat Request,简称为HARQ)操作,循环缓存还具有灵活性和颗粒度的优势。
混合自动重传请求(Hybrid Automatic Repeat Request,简称为HARQ)
HARQ是一种数字通信系统中重要的链路自适应技术。该技术的功能是:接收端对其接收的HARQ数据包进行译码,若译码正确则反馈ACK信号给发送端,通知其发送新的HARQ数据包;若译码失败则反馈NACK信号给发送端,请求发送端重新发送HARQ数据包。接收端通过对多次重传的数据包进行递增冗余(IncrementalRedundancy,简称为IR)或Chase合并译码,可以提高其译码成功概率,实现对链路传输的高可靠性要求。
冗余版本(Redundancy Version,简称为RV)
在混合自动请求重传(HARQ)方式下,在循环缓存中可以指定不同的位置作为每次传输HARQ数据包读取的起点位置。冗余版本(Redundancy Version,简称为RV)的定义即确定了HARQ数据包在循环缓存中读取的多个起点位置,冗余版本的取值便确定了本次传输HARQ数据包在循环缓存中读取的具体起点位置。
例如,在LTE中,冗余版本定义了在循环缓存的起点,用于选择一段码字生成当前的HARQ包。如果RV数目为4,则冗余版本以0、1、2和3从左到右的顺序在循环缓存中均匀地标示了四个位置。更加具体的描述可以参照LTE的虚拟循环缓存速率匹配的提案和标准,在此不再详述。
HARQ子包指示符(HARQ subpacket identifier,简称为SPID)
HARQ包指示符(HARQ subpacket identifier,简称为SPID)目前被应用于IEEE802.16e标准中,它与冗余版本RV的作用在本质上是相同的,都可用来确定子包数据在循环缓存区中的具体位置。
在IEEE802.16e系统中,HARQ子包指示符与HARQ数据包长度共同定义了HARQ子包数据在循环缓存中的起始位置和长度,以便在循环缓存区中选择一段码字来生成当前的HARQ子包。
其中,SPID的取值范围是{00,01,10,11}。首次传输的SPID值一定为00,其他重传时的SPID取值则可任意的或按一定顺序的在其范围内进行选择。也就是说,在多次传输时,可能重复使用某一个SPID值,或者也可以不使用某一个SPID值。
在HARQ机制下,基于同一个母码的数据下可能产生多个HARQ子包。当两个或者多个HARQ子包读取母码中相同位置比特时,就发生了重叠(Overlapping)现象。为了提高系统性能,应该尽量避免重叠现象,并覆盖更多的母码数据。
图2是根据相关技术的在IEEE802.16e标准、1/3码率、采用卷积Turbo码(Convolutional Turbo Code,简称为CTC)编码的情况下的速率匹配过程示意图,如图2所示,重传的处理过程涉及到对S信息位、P1校验区和P2校验区的块内交织,在该处理过程中,进行了四次传输,即,传输了四个子包,具体地,第一次传输的子包(即第一个子包(F1=0&L1))与第二次传输的子包(即第二个子包(F2&L2))出现了重叠现象,同时还存在没有被覆盖到的母码码字,在第二次传输之后还传输了第三个子包(F3&L3)和第四个子包(F4&L4)。
由于在自适应HARQ传输模式中,每个HARQ子包的长度和调制阶数的值都与HARQ子包的子信道数的取值有关。而由于每次传输的子包子信道数可能受多种因素影响而发生改变,所以每次传输的调制阶数和HARQ子包的长度都可能发生改变。
高阶调制(High order Modulation)
为了获得更高的频谱利用率,在众多通信标准协议中,越来越倾向于采用高阶调制方式来提高系统频谱利用率和峰值传输速率性能,其中,最为常用的高阶调制方法包括16QAM、64QAM等。在这些高阶调制方法中,星座点映射比特往往具有不同的可靠性等级,也就是说,在同一个调制符号中,其中的两个比特将比另外两个比特具有更高的误码概率。因此,如何利用星座点不同映射比特的可靠性来提高译码及传输性能是目前需要解决的问题。
在IEEE802.16系统中调制方式为16QAM的星座图中,比特b1,b3的可靠性高于比特b0,b2,因此,称b1,b3为高优先级比特,b0,b2为低优先级比特。IEEE802.16中64QAM的星座图中,比特b2,b5具有最高的可靠性,比特b1,b4的可靠性次之,而比特b0,b3的可靠性最差,因此,称比特b2,b5为高优先级比特,比特b1,b4为中优先级比特,比特b0,b3为低优先级比特。
星座图重排(Constellation Re-arrangement,简称为CoRe)
CoRe是一种与高阶调制相关的技术,通过改变符号内的比特映射规则,在连续的HARQ子包重传过程中均衡各码字比特的频谱能量,从而平均码字比特的可靠性,增强链路的性能,提高系统可靠性。
星座图重排版本(Constellation Re-arrangement Version,简称为CRV)
星座图重排版本是与星座图重排技术相关的概念,用来标示星座图的映射规则,一个CRV就是一种从比特序列到星座点的映射方式。
星座图重排版本主要应用于发生重叠现象时,由于在高阶调制时调制符号中的各个比特可靠性不同,多次传输会使得高可靠性比特反复占用高可靠性资源,而低可靠性比特则反复以低可靠性性能进行传输。采用不同的CRV值,尽量使得每个比特的高低可靠性在多次传输时进行互换,从而达到均衡各码字比特的频谱能量和可靠性的目的,提高链路的性能。与此同时,如果在多次传输时每个调制符号均对齐,或者按符合系统要求的特定规律对齐,那么就可以大大简化CRV技术复杂度,简单地实现比特的高低可靠性互换。
比特聚合(Bit Grouping)
在现有的IEEE 802.16e协议中,比特聚合(bit grouping)仅包括了对校验比特流的比特交错操作。这种bit grouping的方法会使得一些连续的比特具有相同的可靠性等级,当信道中存在干扰和噪声时可能会出现连续的突发错误,使得链路性能下降。
针对由于比特聚合使得具有相同的可靠性等级的比特连续分布进而降低链路性能的问题,提出了一系列新的解决方案。
现有技术分析
在实际通信系统中,HARQ子包的选择与整个链路的性能和实现复杂度有着密切的联系。其中在HARQ子包长度一定的前提下,一方面,子包起始位置决定了多次传输时子包对母码码字的覆盖范围。另一方面,当子包起始位置选取不合适时,在HARQ机制下,多次传输的不同子包发生重叠现象时,有可能导致不同子包的调制符号不对齐、或者调制符号对齐情况不符合系统要求的问题发生,从而严重影响整个通信链路的性能,或者极大的增加通信系统的实现复杂度。
具体地说,以如下通信系统为例,如图3所示,在信息码长度为Nep比特,编码码率为1/3的情况下,循环缓存为K,其中,K=3*Nep比特,即循环缓存长度与编码码字长度相同。
并且,第一次传输的子包S1,起始位置为第F1个比特,长度为L1比特,调制方式为64QAM;第二次传输的子包S2,起始位置为第F2个比特,长度为L2比特,调制方式为64QAM。其中,第一个子包的起始位置为循环缓存的第0个比特,即F1=0。其中循环缓存的索引从0开始。其中,第二个子包为循环缓存的最后L2个比特,即F2=K-L2。那么,当F2不为当前调制阶数6的整数倍时,如F2=n*6+1时,其中n为任意整数,如图3所示,第一个子包中的调制符号n与第二个子包中的调制符号0’不对齐,也就是说,第一个子包和第二个子包的重叠部分,即第{F2,F2+1,...,K-1}个比特在进行调制映射时,每个比特在调制符号中的位置不对齐。这样,导致每个比特在多次传输时的高低可靠性发生变化,从而降低了整个通信链路的性能,或者极大的增加了通信系统的复杂度。
为了解决相同比特多次传输时在调制符号中的位置不相同,即相同调制模式下发生重叠现象时不同子包中的调制符号不对齐,从而导致链路性能下降或者增加系统实现复杂度的问题,本发明提出了一种改进的子包选择方案,即HARQ子包起始位置的选择方法和装置。
发明内容
本发明所要解决的技术问题是提供一种速率匹配方法和装置,其中确定子包的起始位置,这种方法和装置能够解决上述问题,使得在多次传输时调制符号能够按照符合系统要求的规律进行对齐,从而提高链路的性能,降低系统实现的复杂度。
本发明提出了一种通信系统中信道编码的速率匹配方法,方法包括以下步骤:对信息比特序列进行编码和交织,从而得到母码码字,并将所得到的母码码字存入循环缓存器中;从循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始;输出所产生的子包。
其中,在从循环缓存储中选择比特从而产生所需的子包的步骤中,具体包括:所选择比特序列在循环缓存中的起始位置是预定数值的整数倍。
其中,根据以下公式计算所选择的比特序列的起始位置:
Fk=0,其中Fk表示第k个子包的起始位置。
其中,在从循环缓存器中选择比特从而产生所需的子包的步骤中,具体包括:所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中最靠近循环缓存器最后位置的位置。
其中,根据以下公式计算所选择的比特序列的起始位置:
其中,在从循环缓存器中选择比特从而产生所需的子包的步骤中,具体包括:所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中使得所选择的比特序列的中心最靠近所述循环缓存器中间位置的位置。
其中,所述子包起始位置Fk可用如下形式的公式表示,包括且不限于:
或者,上述公式可变形为:
其中Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值。
其中,在从循环缓存器中选择比特从而产生所需的子包的步骤中,具体包括:所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中使得所选择的比特序列的中心最靠近所述循环缓存器最后位置的位置。
其中,,所述子包起始位置Fk可用如下形式的公式表示,包括且不限于:
或者,上述公式可变形为:
其中Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值。
其中,预定数值可以是当前调制阶数。
其中,预定数值可以是多个不同调制阶数的最小公倍数。
其中,预定数值可以是多个不同调制阶数和每字节所含比特数的最小公倍数。
本发明还提出了一种通信系统中信道编码的速率匹配装置,包括:编码器,对信息比特序列进行编码;交织器,对编码器产生的编码进行交织得到母码;循环缓存器,存储所得到的母码码字;速率匹配器,从循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始,并输出所产生的子包。
通过本发明,采用对子包的起始位置的选择方法,使得调制符号的对齐方法遵照某一特定规律,使之符合通信系统的传输要求,进而增强了整个链路的传输性能,降低通信系统实现的复杂度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的数字通信系统的结构框图。
图2是根据相关技术的在IEEE802.16e标准、1/3码率、采用CTC编码的情况下的速率匹配过程的示意图。
图3是根据对现有技术的分析——调制符号不对齐的示意图。
图4是本发明方法流程图。
图5是本发明装置流程图。
图6是根据本发明实施例一的四次传输子包发生重叠但符号对齐的环形示意图。
图7是根据本发明实施例二的四次传输子包发生重叠但符号对齐的环形示意图。
图8是根据本发明实施例三的四次传输子包发生重叠但符号对齐的环形示意图。
图9是根据本发明实施例四的四次传输子包发生重叠但符号对齐的环形示意图。
图10是根据本发明实施例五的四次传输子包发生重叠但符号对齐的环形示意图。
图11是根据本发明实施例六的四次传输子包发生重叠但符号对齐的环形示意图。
图12是根据本发明的装置。
具体实施方式
功能概述
为了解决相同比特多次传输时在调制符号中的位置不相同,即相同调制模式下发生重叠现象时不同子包中的调制符号不对齐,从而导致链路性能下降或者增加系统实现复杂度的问题,本发明提出一种子包选择方法和装置,确定子包的起始位置,这种方法和装置能够解决上述问题,使得在多次传输时调制符号能够按照符合系统要求的规律进行对齐,从而提高链路的性能,降低系统实现的复杂度。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
方法实施过程
为了实现上述目的,根据本发明的一个方面,提供了一种子包选择方法和装置。
对信息比特序列进行编码和交织得到长度为L的母码码字,并存入长度为NFB_Buffer的循环缓存中。
从循环缓存中选择比特产生当前传输的混合自动请求重传请求HARQ子包,使得子包起始位置为某个特定数值A的整数倍,产生待映射比特序列。
输出待映射比特序列。
进一步地,子包起始位置的选择方法可以包括以下几种,但不局限于此:
第一种方法:HARQ子包起始位置Fk为循环缓存的起始位置。
进一步地,所述HARQ子包起始位置Fk可用如下形式的公式表示,包括且不限于:
Fk=0
第二种方法:从循环缓存中选择最后的Lk个比特组成HARQ子包,并且使得HARQ子包起始位置Fk为某个特定数值A的整数倍。
进一步地,所述HARQ子包起始位置Fk可用如下形式的公式表示,包括且不限于:
或者,上述公式可变形为:
其中,表示对向上取整,或向下取整,或四舍五入取整,mod(NFB_Buffer)表示对(NFB_Buffer)进行取模操作。
第三种方法:以长度为NFB_Buffer循环缓存的中间位置为中心位置选择Lk个比特组成HARQ子包,并且使得HARQ子包起始位置Fk为某个特定数值A的整数倍,其中,中心位置两侧应尽量选择近似相等的比特数目。
进一步地,所述HARQ子包起始位置Fk可用如下形式的公式表示,包括且不限于:
或者,上述公式可变形为:
其中, 表示对 向上取整,或向下取整,或四舍五入取整,mod(NFB_Buffer)表示对(NFB_Buffer)进行取模操作。
第四种方法:以长度为NFB_Buffer循环缓存的最后一个比特位置为中心位置选择Lk个比特组成HARQ子包,并且使得HARQ子包起始位置Fk为某个特定数值A的整数倍,其中,所选择序列中循环缓存的最后一个比特两侧应尽量选择近似相等的比特数目。
进一步地,所述HARQ子包起始位置Fk可用如下形式的公式表示,包括且不限于:
或者,上述公式可变形为:
其中, 表示对 向上取整,或向下取整,或四舍五入取整,mod(NFB_Buffer)表示对(NFB_Buffer)进行取模操作。
其中,上述各公式中Fk为第k个HARQ子包起始位置,Fk的索引从0开始,Lk为第k个HARQ子包的预定长度,k的索引从1开始,NFB_Buffer为循环缓存的长度。
进一步地,A的取值可以为当前调制阶数Nmod,也就是说,HARQ子包起始位置Fk为当前调制阶数的整数倍。
进一步地,当调制阶数为2时,A的取值可以为2,即HARQ子包起始位置Fk是2的整数倍;当调制阶数为4时,A的取值可以为4,即HARQ子包起始位置Fk是4的整数倍;当调制阶数为6时,A的取值可以为6,即HARQ子包起始位置Fk是6的整数倍。
进一步地,A的取值可以为多种不同的调制阶数的最小公倍数,也就是说,HARQ子包起始位置Fk为多种不同的调制阶数的最小公倍数的整数倍。
进一步地,当多种调制阶数分别为2、4、6时,A的取值可以为12,即HARQ子包起始位置Fk是12的整数倍。
进一步地,A的取值可以为多种不同的调制阶数和每字节所含比特数的最小公倍数,也就是说,HARQ子包起始位置Fk为多种不同的调制阶数和每字节所含比特数8的最小公倍数的整数倍。
进一步地,当多种调制阶数分别为2、4、6时,A的取值可以为24,即HARQ子包起始位置Fk是24的整数倍。
通过本发明,采用对子包的起始位置的选择方法,使得调制符号的对齐方法遵照某一特定规律,使之符合通信系统的传输要求,进而增强了整个链路的传输性能,降低通信系统实现的复杂度。
下面将结合实例对本发明实施例的实现过程进行详细描述。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是当前调制阶数Nmod(即子包的起始位置是Nmod的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod |
2 | ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod |
3 | ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod,即从循环缓存区中的第ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod比特开始,顺序读取L2个比特,即从第ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod、ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod+1比特一直到第ceil((-L2)mod(NFB_Buffer)/Nmod)*Nmod+L2-1比特。其中,L2为第二个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod,即从循环缓存区中的第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod比特开始,顺序读取L3个比特,即从第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod、ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod+1比特一直到第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/Nmod)*Nmod+L3-1比特。其中,L3为第三个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod,即从循环缓存区中的第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod比特开始,顺序读取L4个比特,即从第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod、ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod+1比特一直到第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/Nmod)*Nmod+L4-1比特。其中,L4为第四个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
例如,有一个K=4800比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为14400比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。对于第一次传输、第一次重传、第二次重传和第三次重传,当前A的取值分别为为6,4,6,4。第一次传输的HARQ子包的长度L1为6000比特,第一次重传的HARQ子包的长度L2为7242比特,第二次重传的HARQ子包的长度L3为6652比特,第三次重传的HARQ子包的长度L4为8100比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a4799}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为14400比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b14399}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b5999},第一次重传的HARQ子包数据为{b7160,b7161,...,b14399,b0,b1},第二次重传的HARQ子包数据为{b3876,b3877,...,b10527},第三次重传的HARQ子包数据为{b10352,b10353,...,b14399,b0,b1,...,b4051}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b3876,b3877,...,b5999}。b3876是第一次传输的HARQ子包的第646个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b10352,b10353,...,b14399,b0,b1}。b10352是第一次重传的HARQ子包的第798个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图6是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
实施例二
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是多种不同的调制阶数的最小公倍数12(即子包的起始位置是多种不同的调制阶数2、4和6的最小公倍数的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | ceil((-L2)mod(NFB_Buffer)/12)*12 |
2 | ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12 |
3 | ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12 |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为ceil((-L2)mod(NFB_Buffer)/12)*12,即从循环缓存区中的第ceil((-L2)mod(NFB_Buffer)/12)*12比特开始,顺序读取L2个比特,即从第ceil((-L2)mod(NFB_Buffer)/12)*12、ceil((-L2)mod(NFB_Buffer)/12)*12+1比特一直到第ceil((-L2)mod(NFB_Buffer)/12)*12+L2-1比特。其中,L2为第二个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12,即从循环缓存区中的第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12比特开始,顺序读取L3个比特,即从第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12、ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12+1比特一直到第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/12)*12+L3-1比特。其中,L3为第三个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12,即从循环缓存区中的第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12比特开始,顺序读取L4个比特,即从第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12、ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12+1比特一直到第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/12)*12+L4-1比特。其中,L4为第四个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
例如,有一个K=4800比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为14400比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。当前A的取值为12。第一次传输的HARQ子包的长度L1为6000比特,第一次重传的HARQ子包的长度L2为7242比特,第二次重传的HARQ子包的长度L3为6652比特,第三次重传的HARQ子包的长度L4为8100比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a4799}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为14400比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b14399}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b5999},第一次重传的HARQ子包数据为{b7164,b7159,...,b14399,b0,b1,...,b5},第二次重传的HARQ子包数据为{b3876,b3877,...,b10527},第三次重传的HARQ子包数据为{b10356,b10357,...,b14399,b0,b1,...,b4055}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b3876,b3877,...,b5999}。b3876是第一次传输的HARQ子包的第646个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b10356,b10357,...,b14399,b0,b1,...,b5}。b10356是第一次重传的HARQ子包的第798个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图7是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
实施例三
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是多种调制阶数和一个字节所含比特数的最小公倍数24(即子包的起始位置是多种调制阶数2、4、6,和一个字节所含比特数8的最小公倍数的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | ceil((-L2)mod(NFB_Buffer)/24)*24 |
2 | ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24 |
3 | ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24 |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为ceil((-L2)mod(NFB_Buffer)/24)*24,即从循环缓存区中的第ceil((-L2)mod(NFB_Buffer)/24)*24比特开始,顺序读取L2个比特,即从第ceil((-L2)mod(NFB_Buffer)/24)*24、ceil((-L2)mod(NFB_Buffer)/24)*24+1比特一直到第ceil((-L2)mod(NFB_Buffer)/24)*24+L2-1比特。其中,L2为第二个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24,即从循环缓存区中的第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24比特开始,顺序读取L3个比特,即从第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24、ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24+1比特一直到第ceil((NFB_Buffer/2-L3/2)mod(NFB_Buffer)/24)*24+L3-1比特。其中,L3为第三个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24,即从循环缓存区中的第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24比特开始,顺序读取L4个比特,即从第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24、ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24+1比特一直到第ceil((NFB_Buffer-L4/2)mod(NFB_Buffer)/24)*24+L4-1比特。其中,L4为第四个子包长度,ceil(x)表示对x进行向上取整,mod(x)表示对x进行取模操作。
例如,有一个K=4800比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为14400比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。当前A的取值为24。第一次传输的HARQ子包的长度L1为6000比特,第一次重传的HARQ子包的长度L2为7242比特,第二次重传的HARQ子包的长度L3为6652比特,第三次重传的HARQ子包的长度L4为8100比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a4799}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为14400比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b14399}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b5999},第一次重传的HARQ子包数据为{b7176,b7177,...,b14399,b0,b1,...,b17},第二次重传的HARQ子包数据为{b3888,b3889,...,b10539},第三次重传的HARQ子包数据为{b10368,b10369,...,b14399,b0,b1,...,b4067}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b3888,b3889,...,b5999}。b3888是第一次传输的HARQ子包的第648个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b10368,b10369,...,b14399,b0,b1,...,b17}。b10368是第一次重传的HARQ子包的第798个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图8是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
实施例四
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是当前调制阶数Nmod(即子包的起始位置是Nmod的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | floor((-L2)/Nmod)*Nmod mod(NFB_Buffer) |
2 | floor((NFB_Buffer/2-L3/2)/Nmod)*Nmod mod(NFB_Buffer) |
3 | floor((NFB_Buffer-L4/2)/Nmod)*Nmod mod(NFB_Buffer) |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为floor((-L2)/Nmod)*Nmod mod(NFB_Buffer),即从循环缓存区中的第floor((-L2)/Nmod)*Nmod mod(NFB_Buffer)比特开始,顺序读取L2个比特,即从第floor((-L2)/Nmod)*Nmod mod(NFB_Buffer)、floor((-L2)/Nmod)*Nmodmod(NFB_Buffer)+1比特一直到第floor((-L2)/Nmod)*Nmodmod(NFB_Buffer)+L2-1比特。其中,L2为第二个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为floor((NFB_Buffer/2-L3/2)/Nmod)*Nmod mod(NFB_Buffer),即从循环缓存区中的第floor((NFB_Buffer/2-L3/2)/Nmod)*Nmod mod(NFB_Buffer)比特开始,顺序读取L3个比特,即从第floor((NFB_Buffer/2-L3/2)/Nmod)*Nmodmod(NFB_Buffer)、floor((NFB_Buffer/2-L3/2)/Nmod)*Nmod mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer/2-L3/2)/Nmod)*Nmod mod(NFB_Buffer)+L3-1比特。其中,L3为第三个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为floor((NFB_Buffer-L4/2)/Nmod)*Nmod mod(NFB_Buffer),即从循环缓存区中的第floor(NFB_Buffer-L4/2)/Nmod)*Nmod mod(NFB_Buffer)比特开始,顺序读取L4个比特,即从第floor((NFB_Buffer-L4/2)/Nmod)*Nmodmod(NFB_Buffer)、floor((NFB_Buffer-L4/2)/Nmod)*Nmod mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer-L4/2)/Nmod)*Nmod mod(NFB_Buffer)+L4-1比特。其中,L4为第四个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
例如,有一个K=912比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为2736比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。对于第一次传输、第一次重传、第二次重传和第三次重传,当前A的取值分别为为6,4,6,4。第一次传输的HARQ子包的长度L1为1152比特,第一次重传的HARQ子包的长度L2为1540比特,第二次重传的HARQ子包的长度L3为1734比特,第三次重传的HARQ子包的长度L4为1928比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a911}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为2736比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b2735}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b1151},第一次重传的HARQ子包数据为{b1194,b1195,...,b2733},第二次重传的HARQ子包数据为{b498,b499,...,b2231},第三次重传的HARQ子包数据为{b1770,b1771,...,b2735,b0,b1,...,b961}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b498,b499,...,b1151}。b498是第一次传输的HARQ子包的第83个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b 1770,b1771,...,b2733}。b1770是第一次重传的HARQ子包的第144个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图9是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
实施例五
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是多种不同的调制阶数的最小公倍数12(即子包的起始位置是多种不同的调制阶数2、4和6的最小公倍数的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | floor((-L2)/12)*12mod(NFB_Buffer) |
2 | floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer) |
3 | floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer) |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为floor((-L2)/12)*12mod(NFB_Buffer),即从循环缓存区中的第floor((-L2)/12)*12mod(NFB_Buffer)比特开始,顺序读取L2个比特,即从第floor((-L2)/12)*12mod(NFB_Buffer)、floor((-L2)/12)*12mod(NFB_Buffer)+1比特一直到第floor((-L2)/12)*12mod(NFB_Buffer)+L2-1比特。其中,L2为第二个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer),即从循环缓存区中的第floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer)比特开始,顺序读取L3个比特,即从第floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer)、floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer/2-L3/2)/12)*12mod(NFB_Buffer)+L3-1比特。其中,L3为第三个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer),即从循环缓存区中的第floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer)比特开始,顺序读取L4个比特,即从第floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer)、floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer-L4/2)/12)*12mod(NFB_Buffer)+L4-1比特。其中,L4为第四个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
例如,有一个K=912比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为2736比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。当前A的取值是6和4的最小公倍数,为12。第一次传输的HARQ子包的长度L1为1152比特,第一次重传的HARQ子包的长度L2为1540比特,第二次重传的HARQ子包的长度L3为1734比特,第三次重传的HARQ子包的长度L4为1928比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a911}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为2736比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b2735}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b1151},第一次重传的HARQ子包数据为{b1188,b1189,...,b2727},第二次重传的HARQ子包数据为{b492,b493,...,b2225},第三次重传的HARQ子包数据为{b1764,b1765,...,b2735,b0,b1,...,b955}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b492,b493,...,b1151}。b492是第一次传输的HARQ子包的第82个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b1764,b1765,...,b2727}。b1764是第一次重传的HARQ子包的第144个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图10是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
实施例六
如前所述,子包的起始位置等于某个特定数值A的整数倍。
现以A是多种调制阶数和一个字节所含比特数的最小公倍数24(即子包的起始位置是多种调制阶数2、4、6,和一个字节所含比特数8的最小公倍数的整数倍)为例,来详细说明用一种子包起始位置的选择方法来避免两个传输子包在发生重叠时可能产生的调制符号不对齐的过程。
信息比特序列进行编码和交织后得到母码码字。把该母码码字放入长度为NFB_Buffer的循环缓存,其中,循环缓存中的数据包括系统比特部分和校验比特部分。然后,根据HARQ子包在循环缓存中的起始位置和HARQ子包的长度,从循环缓存中选择比特产生当前传输的HARQ子包。在从循环缓存中选择比特组成HARQ子包的过程中,将循环缓存的起始比特作为循环缓存的最后一个比特的下一个比特。其中,假设HARQ子包的长度为调制阶数Nmod的偶数倍。
下面给出用如上所述的子包起始位置的选择方法来确定第一次传输子包、第一次重传子包、第二次重传子包和第三次重传子包。详细叙述如下:
子包起始位置如下表:
子包标识符SPID | 子包起始位置 |
0 | 0 |
1 | floor((-L2)/24)*24mod(NFB_Buffer) |
2 | floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer) |
3 | floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer) |
第一次传输HARQ子包时SPID取0,即子包起始位置为0,即从循环缓存区中的第0比特开始,顺序读取L1个比特,即从第0、1、2比特一直到第L1-1比特。其中,L1为第一个子包长度。
第二次传输HARQ子包时SPID取1,即子包起始位置为floor((-L2)/24)*24mod(NFB_Buffer),即从循环缓存区中的第floor((-L2)/24)*24mod(NFB_Buffer)比特开始,顺序读取L2个比特,即从第floor((-L2)/24)*24mod(NFB_Buffer)、floor((-L2)/24)*24mod(NFB_Buffer)+1比特一直到第floor((-L2)/24)*24mod(NFB_Buffer)+L2-1比特。其中,L2为第二个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第三次传输HARQ子包时SPID取2,即子包起始位置为floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer),即从循环缓存区中的第floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer)比特开始,顺序读取L3个比特,即从第floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer)、floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer/2-L3/2)/24)*24mod(NFB_Buffer)+L3-1比特。其中,L3为第三个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
第四次传输HARQ子包时SPID取3,即子包起始位置为floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer),即从循环缓存区中的第floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer)比特开始,顺序读取L4个比特,即从第floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer)、floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer)+1比特一直到第floor((NFB_Buffer-L4/2)/24)*24mod(NFB_Buffer)+L4-1比特。其中,L4为第四个子包长度,floor(x)表示对x进行向下取整,mod(x)表示对x进行取模操作。
例如,有一个K=912比特的信息比特数据流S,并且当前循环缓存的长度NFB_Buffer为2736比特,第一次传输、第一次重传、第二次重传和第三次重传的HARQ子包的调制阶数Nmod分别为6,4,6,4。当前A的取值是6、4和8的最小公倍数,为24。第一次传输的HARQ子包的长度L1为1152比特,第一次重传的HARQ子包的长度L2为1540比特,第二次重传的HARQ子包的长度L3为1734比特,第三次重传的HARQ子包的长度L4为1928比特。则按照上述选取子包的方法处理如下:
其中,比特索引从0开始,调制符号索引从0开始。
信息比特序列{a0,a1,...,a911}经过编码和交织后得到的母码码字,放入到长度NFB_Buffer为2736比特的循环缓存中,得到循环缓存数据为{b0,b1,...,b2735}。从循环缓存区中顺序读取每次HARQ传输所需的Lk个(k取1,2,3,4)码字比特,组成一个HARQ子包。第一次传输的HARQ子包数据为{b0,b1,...,b1151},第一次重传的HARQ子包数据为{b1176,b1177,...,b2715},第二次重传的HARQ子包数据为{b480,b481,...,b2213},第三次重传的HARQ子包数据为{b1752,b1753,...,b2735,b0,b1,...,b943}。
所以第一次传输的HARQ子包和第二次重传的HARQ子包的重叠部分是{b480,b481,...,b1151}。b480是第一次传输的HARQ子包的第80个调制阶数为6的调制符号的起始比特,又是第二次重传的HARQ子包的第0个调制阶数为6的调制符号的起始比特。而第一次重传的HARQ子包和第三次重传的HARQ子包的重叠部分是{b1752,b1753,...,b2715}。b1752是第一次重传的HARQ子包的第144个调制阶数为4的调制符号的起始比特,又是第三次重传的HARQ子包的第0个调制阶数为4的调制符号的起始比特。可见,这两个传输子包的重叠部分是符号对齐的。
图11是根据本实施例的重叠环形示意图。
因此,在本实施例中通过一种子包起始位置的选择方法,可以最大程度地保证传输子包在发生重叠时,重叠部分是按调制符号来对齐的,可以避免由于调制符号不对齐而引起的HARQ重传性能下降或者增加系统实现复杂度的问题。
图12是根据本发明的装置。如图12所示,装置包括:编码器,对信息比特序列进行编码;交织器,对所述编码器产生的编码进行交织得到母码;循环缓存器,存储所得到的母码码字;速率匹配器,从所述循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始,并输出所产生的子包。
领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种通信系统中信道编码的速率匹配方法,其特征在于,所述方法包括以下步骤:
对信息比特序列进行编码和交织,从而得到母码码字,并将所得到的母码码字存入循环缓存器中;
从所述循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始,其中,在从所述循环缓存器中选择比特序列从而产生所需的子包的步骤中,具体包括:
所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中最靠近所述循环缓存器最后位置的位置,根据以下公式计算所选择的比特序列的起始位置:
其中,Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值;
或,
所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中使得所选择的比特序列的中心最靠近所述循环缓存器中间位置的位置: 或者
其中Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值;
或,
所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中使得所选择的比特序列的中心最靠近所述循环缓存器最后位置的位置:
其中Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值;
输出所产生的子包。
2.根据权利要求1所述的方法,其特征在于,所述预定数值是当前调制阶数。
3.根据权利要求1所述的方法,其特征在于,所述预定数值是多个不同调制阶数的最小公倍数。
4.根据权利要求1所述的方法,其特征在于,所述预定数值是多个不同调制阶数和每字节所含比特数的最小公倍数。
5.一种通信系统中信道编码的速率匹配装置,其特征在于,包括:
编码器,对信息比特序列进行编码;
交织器,对所述编码器产生的编码进行交织得到母码;
循环缓存器,存储所得到的母码码字;
速率匹配器,从所述循环缓存器中选择比特序列从而产生所需的子包,其中,所选择的比特序列以一个预定数值的整数倍开始,并输出所产生的子包,其中,在从所述循环缓存器中选择比特序列从而产生所需的子包的步骤中,具体包括:
所选择的比特序列在循环缓存中的起始位置是:为所述预定数值的整数倍的多个位置中最靠近所述循环缓存器最后位置的位置,根据以下公式计算所选择的比特序列的起始位置:
其中,Fk表示第k个子包的起始位置,g(x)表示对x向上取整,或向下取整,或四舍五入取整,mod(x)表示对x进行取模操作,Lk表示第k个子包的长度,NFB_Buffer表示循环缓存器的长度,A表示所述预定的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910178860.3A CN102035617B (zh) | 2009-09-29 | 2009-09-29 | 一种通信系统中信道编码的速率匹配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910178860.3A CN102035617B (zh) | 2009-09-29 | 2009-09-29 | 一种通信系统中信道编码的速率匹配方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102035617A CN102035617A (zh) | 2011-04-27 |
CN102035617B true CN102035617B (zh) | 2015-04-01 |
Family
ID=43888005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910178860.3A Expired - Fee Related CN102035617B (zh) | 2009-09-29 | 2009-09-29 | 一种通信系统中信道编码的速率匹配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102035617B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2768256C2 (ru) * | 2017-06-16 | 2022-03-23 | Хуавей Текнолоджиз Ко., Лтд. | Способ и устройство для согласования скорости, способ и устройство для десогласования скорости |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679185A (zh) * | 2017-08-11 | 2022-06-28 | 中兴通讯股份有限公司 | 数据编码方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217352A (zh) * | 2008-01-11 | 2008-07-09 | 中兴通讯股份有限公司 | 一阶段速率匹配的缓冲设置方法 |
CN101330351A (zh) * | 2007-06-20 | 2008-12-24 | 中兴通讯股份有限公司 | 基于循环缓存速率匹配的比特优先映射方法 |
WO2009057922A1 (en) * | 2007-10-29 | 2009-05-07 | Lg Electronics Inc. | Method of data transmission using harq |
-
2009
- 2009-09-29 CN CN200910178860.3A patent/CN102035617B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330351A (zh) * | 2007-06-20 | 2008-12-24 | 中兴通讯股份有限公司 | 基于循环缓存速率匹配的比特优先映射方法 |
WO2009057922A1 (en) * | 2007-10-29 | 2009-05-07 | Lg Electronics Inc. | Method of data transmission using harq |
CN101217352A (zh) * | 2008-01-11 | 2008-07-09 | 中兴通讯股份有限公司 | 一阶段速率匹配的缓冲设置方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2768256C2 (ru) * | 2017-06-16 | 2022-03-23 | Хуавей Текнолоджиз Ко., Лтд. | Способ и устройство для согласования скорости, способ и устройство для десогласования скорости |
Also Published As
Publication number | Publication date |
---|---|
CN102035617A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101867443B (zh) | 速率匹配方法和装置 | |
RU2236091C2 (ru) | Способ передачи/приема данных в системе передачи данных с гибридным запросом автоматического повторения | |
KR101597733B1 (ko) | 무선 통신 시스템을 위한 레이트 매칭 | |
US7346037B2 (en) | Method of transmitting or receiving a data packet in packet data communication system using hybrid automatic repeat request | |
RU2501171C2 (ru) | Выбор настроек повторной передачи для harq в сетях wcdma и lte | |
JP3701263B2 (ja) | Cdma移動通信システムにおけるデータの送受信装置およびその方法 | |
CN101741527B (zh) | 速率匹配方法和装置 | |
CN101409600B (zh) | 用于在通信系统中编码数据的方法和装置 | |
CN101572588B (zh) | 使用比特排列方法的传输装置 | |
US8798200B2 (en) | Constellation mapping method | |
US8369427B2 (en) | Method and apparatus for symbol transmission in an OFDM mobile communication system | |
CN101217352B (zh) | 一阶段速率匹配的缓冲设置方法 | |
CN107294652A (zh) | 一种数据混合重传处理方法和装置 | |
CN109586843A (zh) | 通信系统中冗余版本的设计方案 | |
CN104253616A (zh) | 产生多个循环冗余校验的方法和设备 | |
CN103312442A (zh) | 基于有限长度循环缓存速率匹配的数据发送方法及装置 | |
CN101442383B (zh) | 一种高阶调制中的比特优先映射方法 | |
US7210089B2 (en) | Communication system employing turbo codes and a hybrid automatic repeat request scheme | |
CN101699781A (zh) | 正确/错误应答消息和秩指示信令的编码方法及装置 | |
KR20090061562A (ko) | 연판정을 이용한 통신방법 및 장치 | |
CN101753256B (zh) | 星座图映射方法和装置 | |
US20050050427A1 (en) | Method of rate matching for link adaptation and code space management | |
CN102035617B (zh) | 一种通信系统中信道编码的速率匹配方法和装置 | |
CN101867439B (zh) | 比特映射方式的指示方法 | |
Lin et al. | An adaptive hybrid ARQ scheme with constant packet lengths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150401 Termination date: 20200929 |