一种交织速率匹配和解交织解速率匹配方法转让专利

申请号 : CN200910083425.2

文献号 : CN101540654B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵顾良郑辰

申请人 : 普天信息技术研究院有限公司

摘要 :

本发明公开了交织匹配方法,根据列交织模式确定交织算子,利用交织算子顺序对子块交织矩阵进行交织处理,一种方式可以根据冗余版本要求,利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果直接输出,直到达到相应的码率要求;另一种方式可以利用交织算子逐个对子块交织矩阵进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果输出到循环缓冲器中,再根据冗余版本要求输出相应的交织后比特。进一步的,本发明还公开了与交织速率匹配方法相应的解交织解速率匹配方法。应用本发明能够在交织速率匹配和解交织解速率匹配过程中,大大减少了使用的缓存器以及对缓存器的读写操作。

权利要求 :

1.一种交织速率匹配方法,其特征在于,该方法包括:

a、根据列交织模式确定交织算子;将编码输出的比特流写入各个子块交织矩阵,并进行比特填充,将所有子块交织矩阵按系统协议规定方式排列;根据各个子块交织矩阵确定对应的掩码矩阵;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;

b、将交织算子的第i行作为当前行,并将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵;

c、依次将所述当前子块交织矩阵对应的掩码矩阵中的每一行与交织算子当前行的转置相乘,根据相乘结果,选择当前子块交织矩阵中的相应行与交织算子当前行的转置相乘,并将得到的比特值顺序输出,直到所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出;

d、判断当前行是否为交织算子的最后一行,若是,则执行步骤e,否则将当前行的下一行作为当前行,返回步骤c;

e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c。

2.根据权利要求1所述的方法,其特征在于,所述根据各个子块交织矩阵确定对应的掩码矩阵为:子块交织矩阵对应的掩码矩阵的维数与所述子块交织矩阵的维数相同,掩码矩阵的每个元素用于标识子块交织矩阵中相同位置上的比特是否有效。

3.根据权利要求2所述的方法,其特征在于,步骤c中所述根据相乘结果选择当前子块交织矩阵中的相应行与交织算子当前行的转置相乘包括:若相乘结果为无效比特,则不将当前子块交织矩阵的相应行与交织算子当前行的转置相乘,且不输出比特值;若相乘结果为有效比特,则将当前子块交 织矩阵的相应行与交织算子当前行的转置相乘。

4.根据权利要求1所述的方法,其特征在于,交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素、子块交织矩阵任一行的每个元素或掩码矩阵任一行的每个元素;

步骤c中掩码矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示掩码矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作;

步骤c中当前子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示当前子块交织矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作。

5.根据权利要求1所述的方法,其特征在于,所述根据列交织模式确定交织算子为:交织算子为方阵,行数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。

6.根据权利要求1所述的方法,其特征在于,所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入一个子块交织矩阵,将编码输出的两个校验比特流写入另一个子块交织矩阵,且所述两个校验比特流隔行排列在所述另一个子块交织矩阵中。

7.一种对利用权利要求1所述的方法得到的比特流进行解交织解速率匹配的方法,其特征在于,该方法包括:a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并确定各个子块交织矩阵对应的掩码矩阵;设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;

b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩 阵,将接收的第一个软比特作为当前软比特;

c、根据当前子块交织矩阵对应的掩码矩阵,依次确定当前子块交织矩阵中第P(i)列的每个元素是否为有效,若为无效,则不读取当前软比特;若为有效,则读取当前软比特,将读取的当前软比特保存在该有效比特对应软比特的保存位置上,并将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;

d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;

e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c。

8.根据权利要求7所述的方法,其特征在于,所述将读取的当前软比特保存在该有效比特对应软比特的保存位置上包括:若所述该有效比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上;

若所述该有效比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。

9.根据权利要求7所述的方法,其特征在于,所述根据各个子块交织矩阵确定对应的掩码矩阵为:子块交织矩阵对应的掩码矩阵的维数与所述子块交织矩阵的维数相同,掩码矩阵的每个元素用于标识子块交织矩阵中相同位置上的比特是否有效。

10.一种交织速率匹配方法,其特征在于,该方法包括:

a、根据列交织模式确定交织算子;将编码输出的比特流写入信息子块交织矩阵和各个校验子块交织矩阵,并进行比特填充,将所有子块交织矩阵按比特流顺序排列;

b、根据编码参数确定信息子块交织矩阵的填充比特,从交织算子的第1行开始到最后一行为止,对每一行执行如下步骤: 依次将所述信息子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为所述确定的填充比特,则不输出相乘结果,若相乘结果不是所述确定的填充比特,则将相乘结果输出到虚循环缓冲区中;

c、根据编码参数确定各个校验子块交织矩阵的填充比特,从交织算子的第1行开始到最后一行为止,对每一行执行如下步骤:将各个校验子块交织矩阵中的第n行与交织算子当前行的转置相乘,依次得到多个相乘结果,按校验子块交织矩阵的排列顺序判断每个校验子块交织矩阵对应的相乘结果,若相乘结果为所述确定的填充比特,则不输出该相乘结果,若相乘结果不是所述确定的填充比特,则将该相乘结果输出到虚循环缓冲区中;其中,n依次取1,2,...,N,N为校验子块交织矩阵的行数;

d、根据冗余版本号从虚循环缓冲区中输出符合速率匹配要求的比特。

11.根据权利要求10所述的方法,其特征在于,步骤a中所述将编码输出的比特流写入信息子块交织矩阵和各个校验子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵;

所述校验子块交织矩阵的排列顺序为:第一个校验子块交织矩阵在前,第二个校验子块交织矩阵在后。

12.根据权利要求10或11所述的方法,其特征在于,交织算子的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素;

步骤c中子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作。

13.根据权利要求10或11所述的方法,其特征在于,所述根据列交织模式确定交织算子为:交织算子为方阵,行数C与所述子块交织矩阵的列数相等, 且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。

14.一种对利用权利要求10所述的方法得到的比特流进行解交织解速率匹配的方法,其特征在于,该方法包括:a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;

b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;

c、依次确定所述当前子块交织矩阵中第P(i)列的每个元素是否为填充比特,若为填充比特,则不读取当前软比特;若为非填充比特,则读取当前软比特,将读取的当前软比特保存在该非填充比特对应软比特的保存位置上,将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;

d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;

e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,根据编码参数确定当前子块交织矩阵的填充比特,并返回步骤c。

15.根据权利要求14所述的方法,其特征在于,所述将读取的当前软比特保存在该非填充比特对应软比特的保存位置上包括:若所述该非填充比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上;

若所述该非填充比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。

16.一种交织速率匹配方法,其特征在于,该方法包括:

a、根据列交织模式确定交织算子;将编码输出的比特流写入各个子块交织矩阵,并进行比特填充,将所有子块交织矩阵按系统协议规定方式排列;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;

b、将交织算子的第i行作为当前行,并将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵;

c、根据编码参数确定当前子块交织矩阵的填充比特,依次将所述当前子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为所述确定的填充比特,则不输出相乘结果,若相乘结果不是所述确定的填充比特,则输出该相乘结果,直到所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出;

d、判断当前行是否为交织算子的最后一行,若是,则执行步骤e,否则将当前行的下一行作为当前行,返回步骤c;

e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c。

17.根据权利要求16所述的方法,其特征在于,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入一个子块交织矩阵,将编码输出的两个校验比特流写入另一个子块交织矩阵,且所述两个校验比特流隔行排列在所述另一个子块交织矩阵中。

18.根据权利要求16或17所述的方法,其特征在于,交织算子的任一行和子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素;

步骤c中当前子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示当前子块交织矩阵中所述任一行的单元与用于表示交织算子当 前行的单元进行逻辑与操作。

19.根据权利要求16或17所述的方法,其特征在于,所述根据列交织模式确定交织算子为:交织算子为方阵,列数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。

20.一种对利用权利要求16所述的方法得到的比特流进行解交织解速率匹配的方法,其特征在于,该方法包括:a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;

b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;

c、依次确定所述当前子块交织矩阵中第P(i)列的每个元素是否为填充比特,若为填充比特,则不读取当前软比特;若为非填充比特,则读取当前软比特,将读取的当前软比特保存在该非填充比特对应软比特的保存位置上,将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;

d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;

e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,根据编码参数确定当前子块交织矩阵的填充比特,并返回步骤c。

21.根据权利要求20所述的方法,其特征在于,所述将读取的当前软比特保存在该非填充比特对应软比特的保存位置上包括:若所述该非填充比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上; 若所述该非填充比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。

说明书 :

一种交织速率匹配和解交织解速率匹配方法

技术领域

[0001] 本发明涉及速率匹配技术,特别涉及一种交织速率匹配和解交织解速率匹配方法。

背景技术

[0002] 在通信系统中,速率匹配的作用是调整信道编码器输出的码率,使速率匹配模块输出的比特数与系统分配的物理资源所能承载的比特数相符合。速率匹配过程中一般要与交织处理相结合,以便实现性能优越的可变速率机制,并在高码速率下提高编码性能的稳定性。
[0003] 通常的交织方法可分为分组交织以及卷积交织等。分组交织,也称为矩阵交织或块交织。现有通信系统中,例如3GPP、3GPP2等无线通信技术标准协议中,速率匹配算法多采用分组交织方式。即在交织时,将比特流按行写入交织矩阵,进行列交织,然后按列顺序读出;而解交织时则将软比特按列写入解交织矩阵,进行列解交织,再按行顺序读出。这种方式的特点是实现相对简单,且对于R行C列的交织矩阵(R×C),可以将连续差错在译码端以C个比特的周期间隔分隔开,当这种差错处于所采用的编译码方案的纠错能力范围内时,即可纠正这一类差错。这里,交织参数C的取值越大,交织均匀度就越好,最终速率匹配的性能也会提高;但是在利用硬件电路高速并行实现交织器的时候,交织参数取C的交织器通常需要C块存储器(RAM),C越大,消耗硬件资源就越多,实现复杂度也随之提高。
[0004] 在3GPP LTE标准技术中,采用了基于循环缓存器的速率匹配机制,具有如下特点:同以往的分组交织技术一样,数据传输块被分割为多个码块(CB),针对每个码块进行速率匹配,并且可以并行处理多个码块;为每个码块配备一个循环缓冲器,可以降低处理复杂度和时延;仅需要一个比特收集交织器,处理时延低。具体对每个码块进行速率匹配构件的结构通常由n个子块交织器模块,一个比特收集模块和一个比特选择和修剪模块组成,可参考图1所示。其工作过程如下:
[0005] ●首先将编码器输出的n个比特流dk(0),dk(1),......dk(n)经n个子块交织器模块(0) (1) (n)分别做子块交织,得到交织后的n个比特流vk ,vk ,......vk ;例如,在3GPP LTE系统中,编码器输出3个比特流,其中第一个比特流为信息比特,后面两个比特流为校验比特,将三个比特流分别按行写入子块交织矩阵,进行列交织后,再分别按列读出形成3个交织后的比特流;3个编码比特流的交织可以并行进行,但是需要3个缓冲器用于保存交织后形成的比特流;
[0006] ●将vk(0),vk(1),......vk(n)送往比特收集模块,将交织后的比特根据协议规定的模式做某种间插排列,级联拼接,送入循环缓冲器,得到wk,例如,在3GPP LTE标准中,一个信息比特流的交织结果顺序排列在循环缓冲器的开头,两个校验比特流的交织结果间隔排列在其后;
[0007] ●由比特选择和修剪模块根据冗余版本的需要对循环缓冲器中的比特进行筛选和修剪,得到指定码率和格式的输出比特流ek;即根据冗余版本的不同,循环缓冲器中输出比特的起始位置可能不同,因此,需要根据冗余版本确定此次输出比特的起始位置,并按照指定码率和格式进行输出。
[0008] 从上述过程可以发现,图1所示的速率匹配结构在实现时,存在以下问题:如果按照子块交织器模块、比特收集模块和比特选择和修剪模块为功能块实现,则每一模块都需要分别用缓冲器暂存中间结果,再由下一模块从上一模块的缓冲器中取出中间结果进行处理,这样将引入大量对缓冲器的读写操作;虽然进行子块交织时各子块可以并行处理,但是同样的n个子块交织过程需要n个相同的硬件资源,难以实现资源共享。
[0009] 解速率匹配过程是速率匹配过程的逆过程。如果按照图1所示结构的逆过程进行实现,同样存在对缓冲器读写操作多和资源难以共享的缺点。

发明内容

[0010] 有鉴于此,本发明提供一种交织速率匹配和解交织解匹配方法,能够减少速率匹配时对缓存器的读写操作。
[0011] 一种交织速率匹配方法,包括:
[0012] a、根据列交织模式确定交织算子;将编码输出的比特流写入各个子块交织矩阵,并进行比特填充,将所有子块交织矩阵按系统协议规定方式排列;根据各个子块交织矩阵确定对应的掩码矩阵;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;
[0013] b、将交织算子的第i行作为当前行,并将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵;
[0014] c、依次将所述当前子块交织矩阵对应的掩码矩阵中的每一行与交织算子当前行的转置相乘,根据相乘结果,选择当前子块交织矩阵中的相应行与交织算子当前行的转置相乘,并将得到的比特值顺序输出,直到所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出;
[0015] d、判断当前行是否为交织算子的最后一行,若是,则执行步骤e,否则将当前行的下一行作为当前行,返回步骤c;
[0016] e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c。
[0017] 较佳地,所述根据各个子块交织矩阵确定对应的掩码矩阵为:子块交织矩阵对应的掩码矩阵的维数与所述子块交织矩阵的维数相同,掩码矩阵的每个元素用于标识子块交织矩阵中相同位置上的比特是否有效。
[0018] 较佳地,步骤c中所述根据相乘结果选择当前子块交织矩阵中的相应行与交织算子当前行的转置相乘包括:
[0019] 若相乘结果为无效比特,则不将当前子块交织矩阵的相应行与交织算子当前行的转置相乘,且不输出比特值;若相乘结果为有效比特,则将当前子块交织矩阵的相应行与交织算子当前行的转置相乘。
[0020] 较佳地,交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素、子块交织矩阵任一行的每个元素或掩码矩阵任一行的每个元素;
[0021] 步骤c中掩码矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示掩码矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作;
[0022] 步骤c中当前子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示当前子块交织矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作。
[0023] 较佳地,所述根据列交织模式确定交织算子为:交织算子为方阵,行数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。
[0024] 较佳地,所述将编码输出的比特流写入各个子块交织矩阵包括:
[0025] 将编码输出的信息比特流写入一个子块交织矩阵,将编码输出的两个校验比特流写入另一个子块交织矩阵,且所述两个校验比特流隔行排列在所述另一个子块交织矩阵中。
[0026] 一种解交织解速率匹配的方法,包括:
[0027] a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并确定各个子块交织矩阵对应的掩码矩阵;设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;
[0028] b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
[0029] c、根据当前子块交织矩阵对应的掩码矩阵,依次确定当前子块交织矩阵中第P(i)列的每个元素是否为有效,若为无效,则不读取当前软比特;若为有效,则读取当前软比特,将读取的当前软比特保存在该有效比特对应软比特的保存位置上,并将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;
[0030] d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;
[0031] e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c。
[0032] 较佳地,所述将读取的当前软比特保存在该有效比特对应软比特的保存位置上包括:
[0033] 若所述该有效比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上;
[0034] 若所述该有效比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。
[0035] 较佳地,所述根据各个子块交织矩阵确定对应的掩码矩阵为:子块交织矩阵对应的掩码矩阵的维数与所述子块交织矩阵的维数相同,掩码矩阵的每个元素用于标识子块交织矩阵中相同位置上的比特是否有效。
[0036] 一种交织速率匹配方法,包括:
[0037] a、根据列交织模式确定交织算子;将编码输出的比特流写入信息子块交织矩阵和各个校验子块交织矩阵,并进行比特填充,将所有子块交织矩阵按比特流顺序排列;
[0038] b、根据编码参数确定信息子块交织矩阵的填充比特,从交织算子的第1行开始到最后一行为止,对每一行执行如下步骤:
[0039] 依次将所述信息子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为所述确定的填充比特,则不输出相乘结果,若相乘结果不是所述确定的填充比特,则将相乘结果输出到虚循环缓冲区中;
[0040] c、根据编码参数确定各个校验子块交织矩阵的填充比特,从交织算子的第1行开始到最后一行为止,对每一行执行如下步骤:
[0041] 将各个校验子块交织矩阵中的第n行与交织算子当前行的转置相乘,依次得到多个相乘结果,按校验子块交织矩阵的排列顺序判断每个校验子块交织矩阵对应的相乘结果,若相乘结果为所述确定的填充比特,则不输出该相乘结果,若相乘结果不是所述确定的填充比特,则将该相乘结果输出到虚循环缓冲区中;其中,n依次取1,2,...,N,N为校验子块交织矩阵的行数;
[0042] d、根据冗余版本号从虚循环缓冲区中输出符合速率匹配要求的比特。
[0043] 较佳地,步骤a中所述将编码输出的比特流写入信息子块交织矩阵和各个校验子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵;
[0044] 所述校验子块交织矩阵的排列顺序为:第一个校验子块交织矩阵在前,第二个校验子块交织矩阵在后。
[0045] 较佳地,交织算子的任一行和各个子块交织矩阵的任一行,均与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素;
[0046] 步骤c中子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作。
[0047] 较佳地,所述根据列交织模式确定交织算子为:交织算子为方阵,行数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。
[0048] 一种解交织解速率匹配的方法,其特征在于,该方法包括:
[0049] a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;
[0050] b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
[0051] c、依次确定所述当前子块交织矩阵中第P(i)列的每个元素是否为填充比特,若为填充比特,则不读取当前软比特;若为非填充比特,则读取当前软比特,将读取的当前软比特保存在该非填充比特对应软比特的保存位置上,将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;
[0052] d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;
[0053] e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,根据编码参数确定当前子块交织矩阵的填充比特,并返回步骤c。
[0054] 较佳地,所述将读取的当前软比特保存在该非填充比特对应软比特的保存位置上包括:
[0055] 若所述该非填充比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上;
[0056] 若所述该非填充比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。
[0057] 一种交织速率匹配方法,包括:
[0058] a、根据列交织模式确定交织算子;将编码输出的比特流写入各个子块交织矩阵,并进行比特填充,将所有子块交织矩阵按系统协议规定方式排列;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;
[0059] b、将交织算子的第i行作为当前行,并将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵;
[0060] c、根据编码参数确定当前子块交织矩阵的填充比特,依次将所述当前子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为所述确定的填充比特,则不输出相乘结果,若相乘结果不是所述确定的填充比特,则输出该相乘结果,直到所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出;
[0061] d、判断当前行是否为交织算子的最后一行,若是,则执行步骤e,否则将当前行的下一行作为当前行,返回步骤c;
[0062] e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤c。
[0063] 较佳地,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:
[0064] 将编码输出的信息比特流写入一个子块交织矩阵,将编码输出的两个校验比特流写入另一个子块交织矩阵,且所述两个校验比特流隔行排列在所述另一个子块交织矩阵中。
[0065] 较佳地,交织算子的任一行和子块交织矩阵的任一行,均与机器字长相匹配的单元表示表示,其中所述单元的每个有效比特对应表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素的每个元素;
[0066] 步骤c中当前子块交织矩阵中的任一行与交织算子的当前行转置的相乘操作为:用于表示当前子块交织矩阵中所述任一行的单元与用于表示交织算子当前行的单元进行逻辑与操作。
[0067] 较佳地,所述根据列交织模式确定交织算子为:交织算子为方阵,列数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C,P(j)为所述列交织模式。
[0068] 一种解交织解速率匹配的方法,其特征在于,该方法包括:
[0069] a、根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并设置各个子块交织矩阵中非填充比特对应软比特的保存位置;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;
[0070] b、将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
[0071] c、依次确定所述当前子块交织矩阵中第P(i)列的每个元素是否为填充比特,若为填充比特,则不读取当前软比特;若为非填充比特,则读取当前软比特,将读取的当前软比特保存在该非填充比特对应软比特的保存位置上,将下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤d;其中,所述P(i)为列交织模式;
[0072] d、判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤e,否则将i自加,返回步骤c;
[0073] e、判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤c;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,根据编码参数确定当前子块交织矩阵的填充比特,并返回步骤c。
[0074] 较佳地,所述将读取的当前软比特保存在该非填充比特对应软比特的保存位置上包括:
[0075] 若所述该非填充比特对应软比特的保存位置上为空,则直接将所述当前软比特保存在该保存位置上;
[0076] 若所述该非填充比特对应软比特的保存位置上不为空,则将该保存位置上的值与所述当前软比特进行合并,将合并结果保存在该保存位置上。
[0077] 由上述本发明的技术方案可见,本发明中,根据列交织模式确定交织算子,利用交织算子顺序对子块交织矩阵进行交织处理,一种方式可以根据冗余版本要求,利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果直接输出,直到达到相应的码率要求;另一种方式可以利用交织算子逐个对子块交织矩阵进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果输出到循环缓冲器中,再根据冗余版本要求输出相应的交织后比特。从而在速率匹配过程中,大大减少了使用的缓存器以及对缓存器的读写操作。

附图说明

[0078] 图1为现有的速率匹配结构示意图。
[0079] 图2为本发明中交织算子生成方式示意图。
[0080] 图3为本发明实施例一中组成的各个子块交织矩阵的示意图。
[0081] 图4为应用实施例一的方法对LTE Turbo编码传输信道进行速率匹配过程的示意图。
[0082] 图5是生成3个掩码矩阵并将这3个掩码矩阵存放到内存中的示意图。
[0083] 图6为应用实施例一的方法对LTE Turbo译码传输信道进行解交织解速率匹配过程的示意图。
[0084] 图7是实施例一的方法用于LTE Turbo编码传输信道速率匹配的内存占用情况与采用图1所示的速率匹配结构的比较。
[0085] 图8是实施例一的方法用于LTE Turbo编码传输信道速率匹配的内存读写次数与采用图1所示的速率匹配结构的比较。
[0086] 图9为实施例二中将子块交织矩阵的交织结果输出到循环缓冲器的示意图。

具体实施方式

[0087] 为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
[0088] 本发明的基本思想是:将子块交织和速率匹配过程相结合,相应的,将解速率匹配和子块解交织过程相结合,联合简化其间所需的缓存器,从而减少对缓存器的读写。
[0089] 首先对交织过程进行分析:
[0090] 列交织过程可以理解为对交织矩阵(这里记为Y)做列初等变换。给定尺寸为TC TCRsubblock ×Csubblock 的矩阵Y,交换Y的i,j两列相当于对Y右乘一个初等矩阵Eij:
[0091] Y′=Y×Eij (1)
[0092] 其中Eij是由CsubblockTC阶单位矩阵交换其i,j列得到。根据矩阵列初TC TC等变换原理,设子块交织矩阵的行为Rsubblock ,列为Csubblock ;设输入比特序列为TC TC
[0093] 按行写入子块交织矩阵后得到Rsubblock ×Csubblock 矩阵为:
[0094]
[0095] 假定列交织模式表示为 则按照该列交织模对矩阵Y进行列交织后的矩阵即可以表示为:
[0096]
[0097] 设交织算子POr为一个CsubblockTC×CsubblockTC矩阵,其中POr第i行第P(i)列取值为1,行内其它元素全部取0。图2为POr第j行的生成方式,
[0098] 根据上述交织算子的形式以及前述矩阵Y和Y′的关系,则由矩阵Y和交织算子可以得到矩阵Y′,即:
[0099] Y′=Y×(POr)′(2)
[0100] 可见,利用交织算子可以实现子块交织的过程,相应的,利用交织算子也可以进行子块解交织,具体可表示为:
[0101] Y=Y′×(POr)(3)
[0102] 其中Y′×(POr)=Y×(POr)′×(POr)=Y×E=Y
[0103] 由上述对于子块交织的分析可见,利用交织算子能够实现子块交织和解交织过程。
[0104] 本发明中,正是利用交织算子,依次对每个子块交织矩阵进行处理,并直接将交织结果以协议规定方式保存在循环缓冲器中,而不需要中间的暂存单元;或者,在进行交织处理前,通过对编码比特流的合理排列使得形成的子块交织矩阵即按照协议规定方式构成,再利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,将符合速率要求和冗余版本规定的交织结果输出,不需要循环缓冲器。
[0105] 另外,从编码器输出的比特流在写入交织矩阵时,存在比特流不能填满子块交织矩阵的情况,需要对未填满部分进行比特填充,这些填充比特是无效比特,因此不需要输出。那么在利用交织算子对子块交织矩阵进行交织处理,并直接输出交织结果时,是不需要输出无效比特的,这就要求在进行交织处理的过程中,确定无效比特的位置,并不对其进行输出。具体实现方式可以有两种:一种方式是生成子块交织矩阵对应的掩码矩阵,用于表示相应子块交织矩阵上各个位置比特的有效性,这样,可以通过掩码矩阵确定出填充比特的位置,从而不对该比特的交织结果进行输出;另一种方式是根据编码参数预先计算出填充比特在交织后数据流中的位置,在输出时即不再输出该相应交织结果,这种方式下不需要引入额外的掩码矩阵,进一步减少了缓存。
[0106] 下面通过三个实施例说明本发明的具体实现方式。
[0107] 实施例一:
[0108] 在本实施例中,引入掩码矩阵用于记录子块交织矩阵中各个比特的有效性,并且在利用交织算子进行子块交织处理后,直接根据冗余版本号,对需要输出的比特进行交织处理,并将交织后的比特流直接写入码块级联缓存,实现速率匹配。
[0109] 具体的,本实施例中的速率匹配方法流程包括:
[0110] 步骤101,根据列交织模式生成交织算子。
[0111] 具体生成交织算子的方式如前所述,即交织算子POr为一个CsubblockTC×CsubblockTC矩阵,其中POr第j行第P(j)列取值为1,第j行内其它元素全部取0,j的取值为0,TC1,...Csubblock 。
[0112] 步骤102,将编码输出的比特流写入各个子块交织矩阵,进行比特填充,并按照系统协议规定方式排列;根据各个子块交织矩阵确定对应的掩码矩阵。
[0113] 从编码器输出的n个比特流dk(0),dk(1),......dk(n)首先需要根据系统协议规定分别将每个比特流按行优先的顺序写入固定列宽的子块交织矩阵。子块交织矩阵的行数应选择能容纳相应比特流长度的最小值。因此存在比特流不能填满交织矩阵的情况。需要对未填满部分做比特填充,即将无效位置标记为
[0114] 对于采用不同的列交织模式的比特流,表现为对应子块交织矩阵的比特写入方式,无效位置标记和交织算子的差别。在3GPP LTE系统中,将编码比特流写入子块交织矩阵的编码输出的信息比特流写入一个子块交织矩阵,将输出的两个校验比特流写入另一个子块交织矩阵,并且这两个校验比特流隔行排列在该子块交织矩阵中,具体示意图如图3所示。
[0115] 本实施例中,利用掩码矩阵标记各个子块交织矩阵中填充比特(即无效比特)位置。具体的,对应每个子块交织矩阵,生成与该子块交织矩阵维数相同的掩码矩阵,掩码矩阵中的每个比特取值为对应子块交织矩阵相同位置比特的属性值,称为比特标志位,例如矩阵中某位置上的比特取1时,表示对应子块交织矩阵中相同位置上为有效比特,当掩码矩阵中某位置上的比特取0时,表示对应子块交织矩阵中相同位置上为填充比特;或者可以利用相反的比特表示。
[0116] 步骤103,根据冗余版本号,确定本次传输数据的起始位置所在的子块交织后矩阵A以及列编号i。
[0117] 对于不同的冗余版本号,传输数据的起始位置会有所差异,在本实施例中,仅对本次需要传输的数据进行子块交织,因此,需要在进行交织前,确定此次需要传输数据的起始位置。每个子块交织矩阵进行子块交织后会形成相应的子块交织后矩阵。根据冗余版本号确定的数据传输起始位置指的是在进行子块交织后得到的交织后比特流中的起始位置,也就是在子块交织后矩阵中的位置。而每个子块交织后矩阵对应一个子块交织矩阵,由子块交织后矩阵的起始位置能够推出对应子块交织矩阵中的相应位置,则可以直接从该位置起进行交织处理,那么得到的输出比特即为本次传输数据的起始比特,于是可以将其直接输出到码块级联缓存,并顺次将后续产生的交织后比特输出,直到输出的比特数满足速率匹配要求,从而实现了子块交织和速率匹配的联合简化,避免了在此过程中缓存器的引入,也由于不需要进行起始位置前比特的子块交织处理,从而节省了处理时间。
[0118] 步骤104,将交织算子的第i行作为当前行,并将确定的起始位置所在的子块交织后矩阵A对应的子块交织矩阵作为当前子块交织矩阵。
[0119] 从本步骤开始进行子块交织操作。如前所述,该子块交织操作从确定的起始位置开始。由于需要对子块交织矩阵进行交织处理,因此具体的交织处理从子块交织后矩阵A对应的子块交织矩阵开始进行。
[0120] 步骤105,依次将当前子块交织矩阵对应的掩码矩阵中的每一行与交织算子当前行的转置相乘,并根据相乘结果,选择当前子块交织矩阵中的相应行与交织算子的当前行的转置相乘,并顺序输出相乘结果,若所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出,则结束本流程,否则执行步骤106。
[0121] 本步骤中,由于在子块交织矩阵中可能存在填充比特,因此当子块交织矩阵中的某一行与交织算子当前行转置相乘时,可能得到的结果是填充比特,而对于这些填充比特是不需要输出的,因此,对于这些结果是填充比特的子块交织矩阵中的行,就没有必要与交织算子当前行装置进行相乘操作,也就是说,需要选择结果为有效比特的行与交织算子当前行转置进行相乘操作。而具体判断相乘结果是否为填充比特的方式,可以通过掩码矩阵与与交织算子当前行转置的相乘操作来进行。
[0122] 具体的,将掩码矩阵的任一行与交织算子当前行转置相乘,若相乘结果为无效比特,即与交织算子当前行中取值为1元素相乘的是掩码矩阵中的无效标志位,则不将当前子块交织矩阵中的相应行与交织算子当前行的转置相乘,也就不会输出比特,直接将掩码矩阵的下一行与交织算子当前行转置相乘,并判断相乘结果;若相乘结果为有效比特,即与交织算子当前行中取值为1元素相乘的是掩码矩阵中的有效标志位,则将当前子块交织矩阵中的相应行与交织算子当前行的转置相乘,并直接输出当前子块交织矩阵与交织算子的相乘结果。
[0123] 通过本步骤中交织算子的当前行与选择出的当前子块矩阵中相应行的相乘操作,事实上是将当前子块交织矩阵中与交织算子当前行对应列中的所有有效比特顺序输出。也就是说,经过本步骤的操作,能够读取当前交织矩阵中某一列进行交织后的各个有效比特。
[0124] 进一步的,通过合理的硬件设计,可以大大简化相乘操作的实现复杂度。具体的,可以将交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,均利用与机器字长相匹配的单元表示,这些单元的每个有效比特对应表示交织算子任一行中的每个元素、子块交织矩阵任一行的每个元素或掩码矩阵任一行的每个元素。其中,与机器字长相匹配的单元通常为机器进行运算的基本单位或其整数倍,例如8位的字节、16位的字、32位的双字等等。具体利用单元表示交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行的方式,可以考虑如下几种情况:
[0125] (1)若子块交织矩阵的列数刚好与上述单元相等时,则将交织算子的任一行的每个元素、子块交织矩阵的任一行的每个元素和掩码矩阵的任一行的每个元素,对应利用相应单元的每个比特表示,则单元的每个比特均为有效比特;
[0126] (2)若子块交织矩阵的列数刚好是上述单元所包括比特数的N(N为大于1的整数)倍时,例如,8位的处理系统、子块交织矩阵为32列的情况;则可以将子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行均等分为N份,利用N个单元表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行,每个比特对应表示任一行中的每个元素,则单元的每个比特均为有效比特;
[0127] (3)若子块交织矩阵的列数M少于相应单元所包括的比特数,则仍然利用单元表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行,但其中的前M个比特对应表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行的每个元素,后面的比特标识为无效,只是为了凑齐机器处理的字长数。因此,将表示元素的前M个比特称为有效比特,其他的比特为无效比特。
[0128] (4)对于子块交织矩阵的列数是上述单元所包括比特数的非整数倍的情况,可以将其看作一个整数倍加上(3)中情况的组合,这样,一方面将子块交织矩阵分块表示,另一方面进行填充表示,从而利用整数倍的单元来表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行。例如,在16位的处理系统中,子块交织矩阵为18列,则可以利用一个两个16位的字来表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行,其中,第一个16位的字表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行的前16个元素,第二个16位的字的前2个比特表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行的第17和18个元素。
[0129] 举个具体的例子,在LTE系统中,子块交织矩阵为32列,则在32位或64位的处理系统中,交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,都可以利用32位的双字来表示,其中,双字的每个比特表示交织算子任一行中的每个元素、子块交织矩阵任一行的每个元素或掩码矩阵任一行的每个元素。因此,本步骤中掩码矩阵中的任一行a与交织算子的当前行b转置的相乘操作也就可以转换为:用于表示掩码矩阵中任一行a的双字与用于表示交织算子当前行b的双字进行逻辑与操作;本步骤中当前子块交织矩阵中的任一行c与交织算子的当前行b转置的相乘操作也可以转换为:用于表示当前子块交织矩阵中任一行c的双字与用于表示交织算子当前行b的双字进行逻辑与操作。这样,大大简化了两个相乘操作。或者,如果在8位或16位的处理系统中,则可以将LTE系统中的交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,利用4个字节或两个字来表示。
[0130] 步骤106,判断当前行是否为交织算子的最后一行,若是,则执行步骤107,否则,将当前行的下一行作为当前行,返回步骤105。
[0131] 如前所述,通过上一步骤,实现了读取当前子块交织矩阵中的一列的操作。在此之后,如果交织算子的当前行为最后一行,则意味着当前子块交织矩阵对应的子块交织后矩阵的最后一列已经被读出,需要对下一个子块交织矩阵进行处理。如果交织算子的当前行不是最后一行,则继续利用交织算子的下一行执行步骤105,以读取当前子块交织矩阵中下一个应该输出的列。
[0132] 步骤107,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤105;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤105。
[0133] 通过前述步骤105到106的反复执行,能够将当前子块交织矩阵在本次传输中需要输出的比特均按照协议规定方式全部输出,并且在此输出过程中,如果达到速率匹配要求,则结束本速率匹配流程。如果执行到步骤107,则需要开始对下一个子块交织矩阵进行交织处理和比特输出过程。由于之前在步骤104中是从此次数据输出的起始位置开始的,因此可能最先处理的子块交织矩阵并不是第一个子块交织矩阵,而是中间的子块交织矩阵或最后一个子块交织矩阵,如果在前面步骤105~106中处理的是最后一个子块交织矩阵,则接下来需要循环会第一个子块交织矩阵,进行交织处理;如果在前面步骤105~106中处理的不是最后一个子块交织矩阵,则接下来需要对下一个子块交织矩阵,进行交织处理。并且在对新的子块交织矩阵进行交织处理时,交织算子也需要重新从第一行开始,以将新的子块交织矩阵中交织后第一列输出。
[0134] 至此,本实施例中的速率匹配流程结束。由上述流程可见,本实施例中,利用掩码矩阵标识子块交织矩阵中每个位置上比特的有效性,并在利用交织算子进行交织处理时,仅对需要输出的部分进行交织处理,且在交织处理后可以直接输出到码块级联缓存。通过上述方式,将子块交织和速率匹配过程联合简化,减少了在此过程中缓存器的个数以及对于缓存器的读写。
[0135] 解速率匹配的过程是速率匹配的逆过程,但是解速率匹配的处理对象不是比特信息,而是解调后的软比特信息。与上述速率匹配方法相应的解交织解速率匹配方法流程包括:
[0136] 步骤201,根据编码参数确定各个子块交织矩阵的大小和填充比特位置,并确定各个子块交织矩阵对应的掩码矩阵,设置各个子块交织矩阵中非填充比特对应软比特的保存位置。
[0137] 在进行解速率匹配时,首先需要确定发送端进行各个子块交织矩阵的大小和填充比特位置。本领域技术人员可知,这些可以根据编码参数确定。同时,根据确定的各个子块交织矩阵的大小和填充比特位置即可以利用与速率匹配方法中相同的方式构造各个子块交织矩阵对应的掩码矩阵。
[0138] 在接收端存在一个比特软合并缓冲器,用于保存每个编码比特的软比特值(即该比特取值的概率信息)。设置比特软合并缓冲器中非填充比特对应的软比特(填充比特没有被传输到接收端)的保存位置为:软比特按照子块交织矩阵中行优先顺序进行保存,因此根据子块交织矩阵中的行列坐标可以计算出相应位置上的软比特在比特软合并缓冲器中的保存地址。
[0139] 事实上,可以利用形同子块交织矩阵的矩阵来保存各个软比特信息。
[0140] 步骤202,按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i。
[0141] 本步骤的操作与本实施例速率匹配方法中步骤103的操作相同,这里就不再赘述。
[0142] 步骤203,将步骤202中确定的子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特。
[0143] 接收端经过前置的各个单元的处理,能够得到一个软比特流,其中软比特流中软比特信息的排序与发送端经过交织和速率匹配后的比特流的顺序相同。
[0144] 从本步骤开始进行子块解交织操作。如前所述,子块交织操作从确定的起始位置开始,相应的,子块解交织操作也从确定的数据传输的起始位置开始。
[0145] 步骤204,根据当前子块交织矩阵对应的掩码矩阵,依次确定当前子块交织矩阵中第P(i)列的每个元素是否为有效,若为无效,则不读取当前软比特;若为有效,则读取当前软比特,将读取的当前软比特保存在该有效比特对应软比特的保存位置上,并将接收的下一个软比特作为当前软比特;若已读取出所有接收的软比特,则结束本流程,否则执行步骤205。
[0146] 本步骤中,由于子块交织矩阵中可能存在填充比特,而这些填充比特并未进行传输,因此,需要在接收的软比特流中确定这些填充比特的位置,从而在将当前软比特保存在比特软合并缓冲器(也即子块交织矩阵)中时,空出填充比特的相应位置。
[0147] 确定填充比特的方式与本实施例中速率匹配方式中的类似,利用掩码矩阵来确定。具体的,对于当前的取值i,即子块交织后矩阵的第i列,在子块交织矩阵中对应的列应为第P(i)列,则应将接下来的这些软比特从子块交织矩阵中的第P(i)列开始填写。于是判断与该子块交织矩阵对应掩码矩阵的第P(i)列中各个元素是否有效,如果无效,则需要空出子块交织矩阵中相应的位置,不将当前的软比特输出,而将其输出下一个有效比特对应的位置;如果有效,则可以直接将当前软比特输出到子块交织矩阵中相应元素的位置上。由该有效元素在子块交织矩阵中的行列坐标就可以计算出比特软合并缓冲器中的相应保存位置。
[0148] 另外,对于不同冗余版本的数据传输,传输的编码比特可能有重叠,则在第一次接收到编码比特的软比特后,直接保存在比特软合并缓冲器中与该比特相应的位置上,在接收到后续重传的数据时,将相应编码比特的软比特与比特软合并缓冲器中与该编码比特相应位置上所保存的软比特进行合并后保存在该相应位置上。
[0149] 基于上述考虑,在进行软比特信息保存时,需要根据当前相应保存位置上的状态不同,进行不同的处理。具体的,若当前软比特的相应保存位置上为空,则直接将当前软比特保存在该保存位置上;若当前软比特的相应保存位置上不为空,则表明在此之前,该数据被传输过,需要首先将该保存位置上的值与当前软比特进行合并,再将合并结果保存在该保存位置上。
[0150] 在上述过程中,一旦所有的软比特均输出,即结束本流程,否则在第P(i)列的位置都判断完成后,进行下一列的判断,进入下一个步骤。
[0151] 步骤205,判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤206,否则将i自加,返回步骤204。
[0152] 通过上一步骤,已经将子块交织后矩阵中的第i列对应的软比特进行解交织并输出了,接下来,进行下一列的输出。如果第i列是子块交织后矩阵中的最后一列,则需要对下一个子块交织后矩阵对应的软比特进行输出,并且输出到下一个子块交织矩阵对应的保存位置上;如果第i列不是子块交织后矩阵中的最后一列,则继续对下一列对应的软比特进行输出,同样输出到当前子块交织矩阵对应的保存位置上。
[0153] 步骤206,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤204;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤204。
[0154] 通过步骤204~205,已经完成了一个子块交织后矩阵对应的软比特信息的解交织和输出。从本步骤开始,对下一个子块交织后矩阵对应的软比特信息进行解交织和输出。则若当前子块交织后矩阵对应的当前子块交织是最后一个子块交织矩阵,则需要循环到第一个子块交织矩阵进行接下来的软比特信息解交织和输出;若当前子块交织后矩阵对应的当前子块交织不是最后一个子块交织矩阵,则需要对下一个子块交织矩阵的软比特信息解交织和输出。
[0155] 至此,本实施例中的解交织解速率匹配流程结束。由上述流程可见,本实施例中,依次将接收的软比特信息进行相应位置的保存,并且通过掩码矩阵中填充比特位置的确定,可以直接将解交织后的软比特保存在比特软合并缓冲器中的相应位置上,不需要先将其保存为子块交织后矩阵,再依照列交织模式逐个转换为子块交织矩阵进行保存。节省了处理过程,减少了缓存器的使用和对缓存器的读写次数。
[0156] 下面通过一个具体的例子说明本实施例中的交织速率匹配和解交织解速率匹配方法。
[0157] 图4为LTE Turbo编码传输信道速率匹配过程的一个示意图。这一过程包括组织数据阶段和利用速率匹配运算单元进行速率匹配两个阶段。
[0158] 组织数据阶段包括生成并在内存中存放交织算子POr、交织矩阵Y和掩码矩阵Msk_Y;根据LTE协议,子块交织矩阵为32列,在32位的处理系统中,每行利用一个32比特的双字表示,根据设定的列交织模式P(j)生成交织算子POr,其中,利用一个32比特的双字表示交织算子的任一行,共32个双字表示交织算子。生成方法参考图2所示。
[0159] 对于Turbo编码器输出比特流Y,在LTE系统中,输出3个比特流分别为sys、P1和P2,根据LTE协议规定的方式写入内存,写入方法参考图3所示。按照图3方式写入3个比特流的内存可分为两个子块交织矩阵进行处理,第一部分记为sys,即从第1个双字直到第R个双字的内存区域;第二部分设为P1P2,即从第R+1个双字直到第3R个双字的内存区域。生成方法参考图3所示。
[0160] 与Turbo编码器输出比特流Y中sys、P1和P2对应的掩码Msk_Y中的三个掩码Ms、MP1和MP2流按照图5方式写入内存,此内存可分为两部分,第一部分记为M_s,即从第1个双字直到第R个双字的内存区域,对应第一个子块交织矩阵sys;第二部分设为M_P1P2,即从第R+1个双字直到第3R个双字的内存区域,对应第二个子块交织矩阵P1P2。
[0161] 利用速率匹配运算单元进行速率匹配的过程如下:先根据当前指定的冗余版本号,此处设为rvindex,确定当前编码后读出比特的起始位置,在LTE Turbo编码传输信道的速率匹配过程中,rvindex=0对应子块交织矩阵sys交织后形成的子块交织后矩阵的第3列第1行,rvindex=1对应子块交织矩阵sys交织后形成的子块交织后矩阵的第27列第1行,rvindex=2对应子块交织矩阵P1P2交织后形成的子块交织后矩阵的第10列第1行,rvindex=3对应子块交织矩阵P1P2交织后形成的子块交织后矩阵的第22列第1行。
[0162] 从rvindex确定的列起始位置开始,逐列读出sys和P1P2块中的比特;例如:要读取sys交织后的第j列时,先从交织算子POr中取其第j行POrj,用POrj与掩码块M_s逐行相乘(也可逻辑与AND),当取出相应掩码位为时,则跳过sys块中相应的比特位;当取出相应掩码位为有效时,再用POrj与sys相应行相乘(也可逻辑与AND),取得其中的信息比特;读取P1P2块的过程与上述过程类似。
[0163] 根据速率匹配的参数设置,将读出的信息比特直接写入当前传输块对应的码块级联缓存器中分配给当前编码块的相应地址。若一个传输块被分为多个编码块,每个编码块的速率匹配过程可根据以上步骤并行进行。在LTE标准中传输块中各子块采用相同的列交织模式,因而可以共用同一个交织算子;对于具有相同参数的编码块,掩码结构也相同,因而可以共用同一个掩码资源。因此可以实现资源共享。
[0164] 图6为实现LTE Turbo译码传输信道解交织解速率匹配过程的一个示意图。这一过程包括计算软比特写入地址和比特软合并两个阶段。
[0165] 计算软比特写入地址阶段包括生成并在内存中存放掩码矩阵Msk_Y,查询当前软比特对应的有效掩码,以及计算软比特写入地址三个子过程。
[0166] 首先根据当前编码块参数生成掩码矩阵M_s和M_P1P2。
[0167] 根据冗余版本号rvindex,确定当前编码块输出比特的起始位置,从rvindex确定的起始位置开始,根据列交织模式,逐列读取掩码矩阵中的标志位;当读出的掩码位为时,则跳过sys块中相应的比特位;当读出的掩码位为有效时,就得到当前软比特在当前交织矩阵中的行列坐标。
[0168] 由于比特软合并缓冲器中软比特是按交织矩阵中行优先顺序写入,因此可以由交织矩阵中的行列坐标很容易地计算出当前软比特应写入的比特软合并缓冲器中的地址。
[0169] 比特软合并阶段过程如下:根据计算得到的当前软比特对应的比特软合并模块的地址,读出比特软合并模块对应位置原有的软值,与当前软值进行软合并处理,再将得到的结果写回比特软合并模块对应位置。
[0170] 在比特软合并模块初始化时,可以根据当前码块参数设定好比特软合并模块的初值。以便完成当前码块解速率匹配和软合并过程后,直接送往译码模块进行译码处理。
[0171] 上述即为本实施例中交织速率匹配方法和解交织解速率匹配方法的实现流程以及实例。
[0172] 图7是本实施例用于LTE Turbo编码传输信道速率匹配的内存占用情况与采用图1所示的速率匹配结构的比较。由此曲线图可以发现,本实施例中交织速率匹配算法内存占用数大约是采用图1所示的速率匹配结构算法内存占用数的一半。
[0173] 在传输块TBs>6144后曲线产生拐点的原因是:由于TB块大于6144后将被分割为多个CB块,因而带来更多的附带内存开销,因而斜率稍有增加。
[0174] 图8是本实施例中用于LTE Turbo编码传输信道速率匹配的内存读写次数与采用图1所示的速率匹配结构的比较。由此曲线图可以发现,本实施例中交织速率匹配时内存读写操作总次数仅为采用图1所示的速率匹配结构算法的约55%。
[0175] 实施例二:
[0176] 在本实施例中,直接根据编码参数确定子块交织矩阵的填充比特,不再需要掩码矩阵,进一步节约了缓存器。同时,在利用交织算子进行子块交织处理时,对于所有比特均进行交织处理,并按照协议规定方式输出到循环缓冲器中,再根据冗余版本号,从循环缓冲器中输出符合速率匹配要求的比特数。
[0177] 具体的,本实施例中的速率匹配方法流程包括:
[0178] 步骤301,根据列交织模式生成交织算子。
[0179] 步骤302,将编码输出的比特流写入信息子块交织矩阵和各个校验子块交织矩阵,进行比特填充,按照编码比特流的顺序排列所有子块交织矩阵。
[0180] 本步骤中,将编码输出的比特流按行优先顺序写入信息子块交织矩阵和各个校验子块交织矩阵。其中,编码输出的信息比特流写入的子块交织矩阵称为信息子块交织矩阵,将编码输出的校验比特流写入的子块交织矩阵称为校验子块交织矩阵。进行比特填充的操作与现有相同。在LTE系统中,将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵。然后,将信息子块交织矩阵、第一校验子块交织矩阵和第二校验子块交织矩阵顺序排列。
[0181] 步骤303,根据编码参数确定信息子块交织矩阵的填充比特位置,利用交织算子对信息子块交织矩阵进行交织处理,并将处理结果输出到循环缓冲器中。
[0182] 本领域技术人员可知,由设定好的编码参数能够确定出各个子块交织矩阵的填充比特位置,具体确定方式这里就不再赘述。利用交织算子对信息子块交织矩阵进行交织处理并输出交织结果的具体方式为:
[0183] 从交织算子的第1行开始到最后一行为止,对每一行n执行如下步骤:
[0184] 依次将信息子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为确定的填充比特,即与交织算子当前行中取值为1元素相乘的是信息子块交织矩阵中的填充比特,则不输出相乘结果,若相乘结果确定的填充比特,则将相乘结果输出到循环缓冲器中。具体如图9所示。事实上,本步骤的操作与实施例一中步骤105相类似,只是不需要掩码矩阵记录填充比特的位置,而是预先确定并记录信息子块交织矩阵中填充比特的位置,直接利用交织算子的当前行转置与信息子块交织矩阵中的任一行相乘。
[0185] 步骤304,根据编码参数确定各个校验子块交织矩阵的填充比特,对各个校验子块交织矩阵进行交织处理,并按照协议规定方式将交织结果输出到循环缓冲器中。
[0186] 通过上一步骤已经完成对信息子块交织矩阵的交织处理和交织结果输出。本步骤对剩余的各个校验子块交织矩阵进行交织处理和交织结果输出。
[0187] 本步骤中确定校验子块交织矩阵填充比特的方式与步骤303中的类似。对校验子块交织矩阵进行交织处理并输出交织结果的方式为:
[0188] 从交织算子的第1行开始到最后一行为止,对每一行执行如下步骤:
[0189] a、令n=1;
[0190] b、将各个校验子块交织矩阵中的第n行与交织算子当前行的转置相乘,依次得到多个相乘结果,按校验子块交织矩阵的排列顺序判断每个校验子块交织矩阵对应的相乘结果,若相乘结果为确定的填充比特,即与交织算子当前行中取值为1元素相乘的是校验子块交织矩阵中的填充比特,则不输出该相乘结果,若相乘结果不是确定的填充比特,则将该相乘结果输出到循环缓冲器中;
[0191] c、判断n是否等于校验子块交织矩阵的行数,若是,则完成了对所有校验子块交织矩阵的交织处理和结果输出;否则,将n自加,再返回步骤步骤b。
[0192] 在上述步骤a~c的处理中,在对校验子块交织矩阵中的某一列进行交织并读出该列中有效比特时,依次读取每个校验子块交织矩阵中相同行的比特,从而使得在循环缓冲器各个校验子块交织矩阵的比特为间隔排列,符合协议规定。具体如图9所示。
[0193] 步骤305,根据冗余版本号从循环缓冲器中输出符合速率匹配要求的比特。
[0194] 通过上述步骤303~304的操作,已经所有交织结果输入到循环缓冲器中。本步骤只需要根据冗余版本号从循环缓冲器中输出符合速率匹配要求的比特即可。
[0195] 至此,本实施例中的速率匹配流程结束。与实施例一中的流程类似,可以利用与机器字长相匹配的单元来表示交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,从而将相乘操作转换为逻辑与操作进行。例如,在LTE系统中,如果为32位或64位的处理系统,则交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,都可以利用32位的双字来表示,其中,双字的每个比特表示交织算子任一行中的每个元素、信息或校验子块交织矩阵任一行的每个元素。或者,如果在8位或16位的处理系统中,则可以将LTE系统中的交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,利用4个字节或两个字来表示。从而可以将子块交织矩阵中某一行与交织算子某一行转置的相乘操作转换为逻辑与操作,从而大大简化了处理流程。由上述速率匹配流程可见,本实施例中仍然利用交织算子进行交织处理,并且未采用掩码矩阵标记各个子块交织矩阵中的填充比特位置,这样相对于实施例一,又节省了一部分存储空间,减少了对缓存器的读写。
[0196] 与上述交织速率匹配方法相应的解交织解速率匹配方法流程包括:
[0197] 步骤401,根据编码参数确定各个子块交织矩阵的大小和填充比特位置,设置各个子块交织矩阵中非填充比特对应软比特的保存位置。
[0198] 本步骤的操作与实施例一的解交织解速率匹配方法中步骤201相应操作完全相同,只是不需要确定掩码矩阵。
[0199] 步骤402~403,按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特。
[0200] 步骤402~403的操作与实施例一的解交织解速率匹配方法中步骤202~203完全相同,这里就不再赘述。
[0201] 步骤404,依次确定当前子块交织矩阵中第P(i)列的每个元素是否为填充比特,若为填充比特,则不读取当前软比特;若为非填充比特,则读取当前软比特,将读取的当前软比特保存在该非填充比特对应软比特的保存位置上,将接收的下一个软比特作为当前软比特;当读取出所有接收的软比特时,结束本流程,否则执行步骤405。
[0202] 本步骤的操作与实施例一的解交织解速率匹配方法中步骤204的操作相类似,只是不需要利用掩码矩阵来确定是否输出当前软比特,而是直接根据步骤401中确定的各个子块交织矩阵的填充比特,来确定第P(i)列中的各个元素是否有效,从而确定是否输出相应的软比特,如果有效,则输出软比特到相应的保存位置上,如果无效,则空出相应的保存位置,对下一个软比特进行处理。
[0203] 具体在保存软比特信息时,与实施例一中类似的,也需要判断对应保存位置上是否为空,若是,则直接将当前软比特保存在该保存位置上;若相应保存位置上不为空,则需要首先将该保存位置上的值与当前软比特进行合并,再将合并结果保存在该保存位置上。
[0204] 步骤405,判断i是否等于当前子块交织矩阵的列数,若是,则执行步骤406,否则将i自加,返回步骤404。
[0205] 步骤406,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,令i=1,返回步骤404;否则,将下一个子块交织矩阵作为当前子块交织矩阵,令i=1,根据编码参数确定当前子块交织矩阵的填充比特,并返回步骤204。
[0206] 步骤405~406的操作与实施例一的解交织解速率匹配方法中步骤205~206完全相同,这里就不再赘述。
[0207] 至此,本实施例中的解交织解速率匹配流程结束。本流程中,不需要利用掩码矩阵,即可以实现解交织和解速率匹配流程,并且相对于背景技术中描述的解速率匹配流程,减少了存储空间和对缓存器的读写操作。
[0208] 上述即为本实施例中交织速率匹配方法和解交织解速率匹配方法的具体实现方式。与实施例一相比,本实现方式中不需要引入掩码矩阵,进一步减少了存储空间和对缓存器的读写操作。但是在进行交织速率匹配过程中,需要对所有子块交织矩阵进行交织处理并保存交织结果,进一步增加了处理时延。
[0209] 实施例三:
[0210] 本实施例中,一方面直接根据编码参数确定子块交织矩阵的填充比特位置,不需要引入掩码矩阵;另一方面,在进行交织处理时,根据冗余版本,仅对需要输出的比特进行交织处理。
[0211] 具体的,本实施例中的速率匹配方法流程包括:
[0212] 步骤501,根据列交织模式生成交织算子。
[0213] 本步骤的操作与实施例一中步骤101的操作相同,这里就不再赘述。
[0214] 步骤502,将编码输出的比特流写入各个子块交织矩阵,并进行比特填充,将所有子块交织矩阵按系统协议规定方式排列。
[0215] 本步骤的操作,与实施例一中步骤102相应操作相同,只是不需要确定掩码矩阵。
[0216] 步骤503,按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i。
[0217] 步骤504,将交织算子的第i行作为当前行,并将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵。
[0218] 步骤503~504的操作与实施例一中步骤103~104中相同,这里就不再赘述。
[0219] 步骤505,根据编码参数确定当前子块交织矩阵的填充比特,依次当前子块交织矩阵中的每一行与交织算子当前行的转置相乘,若相乘结果为确定的填充比特,则不输出相乘结果,若相乘结果不是确定的填充比特,则输出该相乘结果,若所有输出的比特数满足速率匹配要求,或将得到的所有比特均输出,则结束本流程,否则执行步骤506。
[0220] 本步骤中的操作与实施例一步骤105相类似,只是确定填充比特以及是否输出相乘结果的方式略有差异。由于本实施例中,直接根据编码参数确定各个子块交织矩阵的填充比特,不需要掩码矩阵,因此在确定填充比特和确定是否输出相乘结果时的操作与实施例二中相同,这里就不再赘述。
[0221] 步骤506,判断当前行是否为交织算子的最后一行,若是,则执行步骤507,否则将当前行的下一行作为当前行,返回步骤505。
[0222] 步骤507,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤505;否则,将下一个子块交织矩阵作为当前子块交织矩阵,将交织算子的第1行作为当前行,返回步骤505。
[0223] 步骤506~507的操作与实施例一中步骤106~107中相同,这里就不再赘述。
[0224] 至此,本实施例中的交织速率匹配方法流程结束。与实施例一和二中的流程类似,可以利用与机器字长相匹配的单元来表示交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,从而将相乘操作转换为逻辑与操作进行。例如,在LTE系统中,若为32位或64位的处理系统,则交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,都可以利用32位的双字来表示,其中,双字的每个比特表示交织算子任一行中的每个元素、信息或校验子块交织矩阵任一行的每个元素。或者,如果在8位或16位的处理系统中,则可以将LTE系统中的交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,利用4个字节或两个字来表示。从而可以将子块交织矩阵中某一行与交织算子某一行转置的相乘操作转换为逻辑与操作,从而大大简化了处理流程。由上述具体流程可见,本实施例的交织匹配方法,一方面不需要引入掩码矩阵,从而进一步减少了所需的存储空间和缓存器的读写操作;另一方面根据冗余版本,仅对需要输出的比特进行交织处理,缩短了处理时延。
[0225] 与上述交织速率匹配方法相应的解交织解速率匹配方法流程与实施例二中的解交织解速率匹配方法流程相同,这里就不再赘述。
[0226] 上述即为本发明的交织速率匹配和解交织解速率匹配方法的三种具体实施方式。在上述三种方式,通过引入交织算子实现交织和速率匹配过程的简化结合,不需要利用三个矩阵保存各个子块交织矩阵的交织结果,而能够直接输出交织结果到循环缓冲器或码块级联缓存中,从而大大节省了交织匹配过程中所需要的存储空间,减少了对缓存器的读写操作。在解交织解速率匹配流程中相类似的,也大大节省了交织匹配过程中所需要的存储空间,减少了对缓存器的读写操作。并且,在LTE系统中,交织矩阵为32列,可以利用交织算子与交织矩阵的逻辑与操作实现交织,能够进一步简化交织处理操作。
[0227] 以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。