发明内容
(一)要解决的技术问题
针对LTE***中速率匹配串行实现方法具有速度慢、硬件开销较大的问题,本发明提出一种LTE***中速率匹配的并行实现方法和装置。
(二)技术方案
为解决上述技术问题,本发明一方面提出一种LTE***速率匹配的并行实现方法,该方法包括:
步骤S1、将数据比特流、校验比特1流和校验比特2流按行方式合并并读入一个2R×64矩阵,其中R为自然数,且D为数据比特流的长度,其中将数据比特流存入前32列,校验比特1流和校验比特2流按行交替存入后32列,所述数据比特流为Turbo编码后的数据比特流或卷积编码后的数据比特流;
步骤S2、根据所述数据比特流的长度确定合并矩阵每行的列置换样式;
步骤S3、按照合并矩阵每行的列置换样式,逐行进行列置换;
步骤S4、在所述列置换后的合并矩阵中找校验比特2流的第1比特所在的特定列,并对该列进行行置换;
步骤S5、从指定位置开始按列读取数据,得到速率匹配结果;
根据本发明的一种实施方式,合并矩阵具有如下特点:子矩阵[R×32]存储数据比特流;子矩阵[2R×64]存储校验比特流,校验比特1流和校验比特2流交替存储;矩阵其余元素填充0比特。
根据本发明的一种实施方式,在所述步骤S2中,根据所述数据长度D确定8种合并矩阵的列置换样式,这8种列置换样式分别对应合并矩阵中校验比特1流所在行和校验比特2流所在行各4种列置换样式,其中数据长度D=K+4,K表示编码块长度,4表示编码后尾比特个数。
根据本发明的一种实施方式,每种列置换样式共计64列,其中前32列表示数据比特流的列置换样式,后32列表示校验比特1流或校验比特2流的列置换样式。
根据本发明的一种实施方式,在步骤S3中,从N=0开始并按步长为1递增至R-1,N为自然数,根据列置换样式对合并矩阵逐行完成列置换操作,并且每次处理两行。
根据本发明的一种实施方式,在步骤S4中,在所述列置换后的合并矩阵中找校验比特2流的第1比特所在的特定列,并对该列进行两两交换的行置换。
根据本发明的一种实施方式,在步骤S5中,计算输出数据的起始列位置k0,并从该列开始按列读出数据,其中合并矩阵的前32列只读前R行。
本发明另一方面提出一种LTE***速率匹配装置,包括:
比特流合并装置:该装置将数据比特流、校验比特1流和校验比特2流按行方式合并并读入一个2R×64矩阵,其中R为自然数,且D为数据比特流的长度,其中将数据比特流存入前32列,校验比特1流和校验比特2流按行交替存入后32列,所述数据比特流为Turbo编码后的数据比特流或卷积编码后的数据比特流。
列置换样式确定装置:该装置根据所述数据比特流的长度确定合并矩阵每行的列置换样式。
合并矩阵列置换装置:该装置按照合并矩阵每行的列置换样式,逐行进行列置换。
行置换装置:该装置在所述列置换后的合并矩阵中找校验比特2流的第1比特所在的特定列,并对该列进行行置换。
比特流输出装置:该装置从指定位置开始按列读取数据,得到速率匹配结果。
根据本发明的一种实施方式,所述比特流合并装置中的合并矩阵具有如下特点:子矩阵[R×32]存储数据比特流;子矩阵[2R×64]存储校验比特流,校验比特1流和校验2比特流交替存储;矩阵其余元素填充0比特。
根据本发明的一种实施方式,所述列置换样式确定装置根据所述数据长度D确定8种合并矩阵的列置换样式,这8种列置换样式分别对应合并矩阵中校验比特1流所在行和校验比特2流所在行各4种列置换样式,其中数据长度D=K+4,K表示编码块长度,4表示编码后尾比特个数。
根据本发明的一种实施方式,所述列置换样式确定装置的每种列置换样式共计64列,其中前32列表示数据比特流的列置换样式,后32列表示校验比特1流或校验比特2流的列置换样式。
根据本发明的一种实施方式,在所述合并矩阵列置换装置中,从N=0开始并按步长为1递增至R-1,N为自然数,根据列置换样式对合并矩阵逐行完成列置换操作,并且每次处理两行。
根据本发明的一种实施方式,所述行置换装置在所述列置换后的合并矩阵中找校验2比特流的第1比特所在的特定列,并对该列进行两两交换的行置换。
根据本发明的一种实施方式,所述比特流输出装置计算输出数据的起始列位置k0,并从该列开始按列读出数据,其中合并矩阵的前32列只读前R行。
(三)有益效果
采用本发明的方法将比特收集和比特选取放在子块交织过程中完成,完成子块交织即完成了比特收集和比特选取操作,且在子块交织过程中无需添加填充比特,提高了速率匹配的速度。同时,减少了比特填充和填充比特去除所需的硬件开销,因此降低了实现时的硬件规模。
具体实施方式
本发明提出的速率匹配方法包括以下步骤:
步骤S1、将数据比特流、校验比特1流和校验比特2流按行方式合并并读入一个2R×64矩阵,其中R为自然数,且D为数据比特流的长度,其中将数据比特流存入前32列,校验比特1流和校验比特2流按行交替存入后32列,
所述数据比特流为Turbo编码后的数据比特流或卷积编码后的数据比特流。
步骤S2、根据所述数据比特流的长度确定合并矩阵每行的列置换样式。
步骤S3、按照合并矩阵每行的列置换样式,逐行进行列置换,并且每次处理两行。
步骤S4、在所述列置换后的合并矩阵中找校验2比特流的第1比特所在的特定列,并对该列进行行置换。
步骤S5、从指定位置开始按列读取数据,得到速率匹配结果。
本发明提出的一种LTE***速率匹配装置,如图3所示,该装置包括:
比特流合并装置:该装置将数据比特流、校验比特1流和校验比特2流按行方式合并并读入一个2R×64矩阵,其中R为自然数,且D为数据比特流的长度,其中将数据比特流存入前32列,校验比特1流和校验比特2流按行交替存入后32列,所述数据比特流为Turbo编码后的数据比特流或卷积编码后的数据比特流。
列置换样式确定装置:该装置根据所述数据比特流的长度确定合并矩阵每行的列置换样式。
合并矩阵列置换装置:该装置按照合并矩阵每行的列置换样式,逐行进行列置换。
行置换装置:该装置在所述列置换后的合并矩阵中找校验2比特流的第1比特所在的特定列,并对该列进行行置换。
比特流输出装置:该装置从指定位置开始按列读取数据,得到速率匹配结果。
可见,在本发明中,无需进行填充比特的处理,同时并行处理处理一行数据比特流和一行校验比特流,处理方式简单,循环结构清晰,加快了速率匹配的速度。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
附图2为本发明LTE***速率匹配方法流程图。如图2所示,本发明具体包括以下步骤:
步骤S1、将数据比特流、校验比特1流和校验比特2流按行方式合并读入一个2R×64矩阵,其中R为自然数,且D为数据比特流的长度,其中将数据比特流存入前32列,校验比特1流和校验比特2流按行交替存入后32列。
根据LTE协议规定的Turbo编码码块长度共计188种,其中前60种码块长度以8为递进步长,码块长度K范围为40≤K≤512;其中有32种码块长度以16为递进步长,码块长度K范围为528≤K≤1024;其中有32种码块长度以32为递进步长,码块长度K范围为1056≤K≤2048;其中有64种码块长度以64为递进步长,码块长度K范围为2112≤K≤6144;
本发明以64为合并矩阵列数,前32列存放数据比特流,后32列存放校验比特1流和校验比特2流,因为要将校验比特1流和校验比特2流按行交替存储,所以矩阵的行数最大为2R,其中R表示一流比特的长度,
下表1是数据矩阵的组织结构表,表中元素表示每个数据的索引地址。
表1中*表示非本码块数据的0元素,100等以1开头表示检验1数据索引地址,200等2开头表示校验2数据索引地址,三种比特流分别用不同的图样进行表示。
步骤S2、根据所述数据长度确定合并矩阵的列置换样式。
由于本发明的数据在组织时没有添加填充比特,所以需要对原有列置换样式加以改进。根据编码后比特流数据长度D得到四类列置换样式。其中数据长度D=K+4,K表示编码块长度,4表示尾比特长度。本发明需要根据编码后数据长度D选择一类列置换模式进行处理。
尽管本发明的数据组织没有添加填充比特,但是四类列置换样式需要根据188种不同数据长度时填充比特数目得到,填充比特数目ND=R*32-D。
对于188种编码输出长度,每一流的填充比特存在如下规则:
对应填充比特ND=28,共127种码块长度K;例K=6144;
对应填充比特ND=20,共15种码块长度K;例K=488;
对应填充比特ND=12,共31种码块长度K;例K=496;
对应填充比特ND=4,共15种码块长度K;例K=504;
根据填充比特的数目不同将列置换样式分为四类。由于数据比特流和校验比特1流采用的是相同的列置换样式,校验比特2流采用的是另外一种列置换样式,因此每类列置换样式又分两种:
第一种,将数据比特流和校验比特1流合并生成64列列置换样式;
第二种,将数据比特流和校验比特2流合并生成64列列置换样式。
综上所述,整理四类八种列置换样式如下:
当ND=28时,第一类列置换样式:
第一种列置换样式为:
{4,20,12,28,8,24,16,0,6,22,14,30,10,26,18,2,5,21,13,29,9,25,17,1,7,23,15,31,11,27,19,3,36,52,44,60,40,56,48,32,38,54,46,62,42,58,50,34,37,53,45,61,41,57,49,33,39,55,47,63,43,59,51,35}
第二种列置换样式为:
{4,20,12,28,8,24,16,0,6,22,14,30,10,26,18,2,5,21,13,29,9,25,17,1,7,23,15,31,11,27,19,3,37,53,45,61,41,57,49,33,39,55,47,63,43,59,51,35,38,54,46,62,42,58,50,34,40,56,48,32,44,60,52,36}
当ND=20时,第二类列置换样式:
第一种列置换样式为:
{12,28,20,4,16,0,24,8,14,30,22,6,18,2,26,10,13,29,21,5,17,1,25,9,15,31,23,7,19,3,27,11,44,60,52,36,48,32,56,40,46,62,54,38,50,34,58,42,45,61,53,37,49,33,57,41,47,63,55,39,51,35,59,43}
第二种列置换样式为:
{4,20,12,28,8,24,16,0,6,22,14,30,10,26,18,2,5,21,13,29,9,25,17,1,7,23,15,31,11,27,19,3,37,53,45,61,41,57,49,33,39,55,47,63,43,59,51,35,38,54,46,62,42,58,50,34,40,56,48,32,44,60,52,36}
当ND=12时,第三类列置换样式:
第一种列置换样式为:
{20,4,28,12,24,8,0,16,22,6,30,14,26,10,2,18,21,5,29,13,25,9,1,17,23,7,31,15,27,11,3,19,52,36,60,44,56,40,32,48,54,38,62,46,58,42,34,50,53,37,61,45,57,41,33,49,55,39,63,47,59,43,35,51}
第二种列置换样式为:
{20,4,28,12,24,8,0,16,22,6,30,14,26,10,2,18,21,5,29,13,25,9,1,17,23,7,31,15,27,11,3,19,53,37,61,45,57,41,33,49,55,39,63,47,59,43,35,51,54,38,62,46,58,42,34,50,56,40,32,48,60,44,36,52}
当ND=4时,第四类列置换样式:
第一种列置换样式为:
{28,12,4,20,0,16,8,24,30,14,6,22,2,18,10,26,29,13,5,21,1,17,9,25,31,15,7,23,3,19,11,27,60,44,36,52,32,48,40,56,62,46,38,54,34,50,42,58,61,45,37,53,33,49,41,57,63,47,39,55,35,51,43,59}
第二种列置换样式为:
{28,12,4,20,0,16,8,24,30,14,6,22,2,18,10,26,29,13,5,21,1,17,9,25,31,15,7,23,3,19,11,27,61,45,37,53,33,49,41,57,63,47,39,55,35,51,43,59,62,46,38,54,34,50,42,58,32,48,40,56,36,52,44,60}
步骤S3、按照合并矩阵每行的64列不同列置换样式,逐行进行列置换。
首先,从N=0开始,并按步长为1递增至R-1。R表示数据比特流的行数。由于一次需要处理两行数据,第一行为数据比特流和校验比特1流的合并数据,第二行为数据比特流和校验比特2流的合并数据。
接着,逐行采用列置换样式完成列置换。
根据编码后比特流数据长度D选择一类列置换样式后,循环每次处理两行数据,处理方式为按照不同列置换样式,进行交织操作,完成列置换。;
步骤S4、在所述列置换后的合并矩阵中找到在所述列置换后的合并矩阵中找校验比特2流的第1比特所在的特定列,并对该列进行两两交换的行置换处理。
由于校验比特2流采用列置换模式后,还需要特殊的列置换处理,处理方式为找到需要特殊处理的列,将该列数据两两交换,并选择2R-1个数据存储。
附图4为特殊列处理过程的示意图。
如附图4所示,由于列长最长为2*R,所以可以完成两两互换,然后完成2*R-1个数据。
需要特殊处理的列为:
对应第一类列置换模式,第59列需要特殊处理;
对应第二类列置换模式,第57列需要特殊处理;
对应第三类列置换模式,第58列需要特殊处理;
对应第四类列置换模式,第56列需要特殊处理;
经过步骤S3、步骤S4处理后,得到四类不同列置换模式的数据存储结构:
附图5表示第一类列置换后数据组织结构,附图6表示第二类列置换后数据组织结构,附图7表示第三类列置换后数据组织结构,附图8表示第四类列置换后数据组织结构。
每类列置换后的数据矩阵中行数包含R-1,R,2(R-1),2R-1,2R五种情况,因此需要一个具有64个元素的向量来记录每一列的长度。
步骤S5、从指定位置开始按列读取数据,得到速率匹配结果。
本发明中,计算输出数据的起始列位置k0,其中是码块长度被32整除的倍数,Ncb表示速率匹配软buffer的大小,rvidx表示冗余版本信息。通过计算可知k0的取值由rvidx决定。
另外,由于本发明将校验比特1流和校验比特2流合并存储,所以当k0大于32R时,起始位置于
每次比特选取总是从指定行开头位置选择,且列置换后的矩阵没有填充比特,所以将矩阵按列输出改变为从k0指定列(如下表中的椭圆所表示的指定列)开始按列输出,将矩阵输出与比特选取合并处理,下表3所示。
至此,速率匹配的过程完成。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。