CN101547064B - 一种交织速率匹配和解交织解速率匹配方法 - Google Patents

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

Info

Publication number
CN101547064B
CN101547064B CN2009100834712A CN200910083471A CN101547064B CN 101547064 B CN101547064 B CN 101547064B CN 2009100834712 A CN2009100834712 A CN 2009100834712A CN 200910083471 A CN200910083471 A CN 200910083471A CN 101547064 B CN101547064 B CN 101547064B
Authority
CN
China
Prior art keywords
block interleaving
row
sub
matrix
interleaving matrix
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
Application number
CN2009100834712A
Other languages
English (en)
Other versions
CN101547064A (zh
Inventor
赵顾良
郑辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Potevio Institute of Technology Co Ltd
Original Assignee
Potevio Institute of Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Potevio Institute of Technology Co Ltd filed Critical Potevio Institute of Technology Co Ltd
Priority to CN2009100834712A priority Critical patent/CN101547064B/zh
Publication of CN101547064A publication Critical patent/CN101547064A/zh
Application granted granted Critical
Publication of CN101547064B publication Critical patent/CN101547064B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

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

Description

一种交织速率匹配和解交织解速率匹配方法
技术领域
本发明涉及速率匹配技术,特别涉及一种交织速率匹配和解交织解速率匹配方法。
背景技术
在通信系统中,速率匹配的作用是调整信道编码器输出的码率,使速率匹配模块输出的比特数与系统分配的物理资源所能承载的比特数相符合。速率匹配过程中一般要与交织处理相结合,以便实现性能优越的可变速率机制,并在高码速率下提高编码性能的稳定性。
通常的交织方法可分为分组交织以及卷积交织等。分组交织,也称为矩阵交织或块交织。现有通信系统中,例如3GPP、3GPP2等无线通信技术标准协议中,速率匹配算法多采用分组交织方式。即在交织时,将比特流按行写入交织矩阵,进行列交织,然后按列顺序读出;而解交织时则将软比特按列写入解交织矩阵,进行列解交织,再按行顺序读出。这种方式的特点是实现相对简单,且对于R行C列的交织矩阵(R×C),可以将连续差错在译码端以C个比特的周期间隔分隔开,当这种差错处于所采用的编译码方案的纠错能力范围内时,即可纠正这一类差错。这里,交织参数C的取值越大,交织均匀度就越好,最终速率匹配的性能也会提高;但是在利用硬件电路高速并行实现交织器的时候,交织参数取C的交织器通常需要C块存储器(RAM),C越大,消耗硬件资源就越多,实现复杂度也随之提高。
在3GPP LTE标准技术中,采用了基于循环缓存器的速率匹配机制,具有如下特点:同以往的分组交织技术一样,数据传输块被分割为多个码块(CB),针对每个码块进行速率匹配,并且可以并行处理多个码块;为每个码块配备一个循环缓存器,可以降低处理复杂度和时延;仅需要一个比特收集交织器,处理时延低。具体对每个码块进行速率匹配构件的结构通常由n个子块交织器模块,一个比特收集模块和一个比特选择和修剪模块组成,可参考图1所示。其工作过程如下:
●首先将编码器输出的n个比特流dk (0),dk (1),......dk (n)经n个子块交织器模块分别做子块交织,得到交织后的n个比特流vk (0),vk (1),......vk (n);例如,在3GPP LTE系统中,编码器输出3个比特流,其中第一个比特流为信息比特,后面两个比特流为校验比特,将三个比特流分别按行写入子块交织矩阵,进行列交织后,再分别按列读出形成3个交织后的比特流;3个编码比特流的交织可以并行进行,但是需要3个缓存器用于保存交织后形成的比特流;
●将vk (0),vk (1),......vk (n)送往比特收集模块,将交织后的比特根据协议规定的模式做某种间插排列,级联拼接,送入循环缓存器,得到wk,例如,在3GPP LTE标准中,一个信息比特流的交织结果顺序排列在循环缓存器的开头,两个校验比特流的交织结果间隔排列在其后;
●由比特选择和修剪模块根据冗余版本的需要对循环缓存器中的比特进行筛选和修剪,得到指定码率和格式的输出比特流ek;即根据冗余版本的不同,循环缓存器中输出比特的起始位置可能不同,因此,需要根据冗余版本确定此次输出比特的起始位置,并按照指定码率和格式进行输出。
从上述过程可以发现,图1所示的速率匹配结构在实现时,存在以下问题:如果按照子块交织器模块、比特收集模块和比特选择和修剪模块为功能块实现,则每一模块都需要分别用缓存器暂存中间结果,再由下一模块从上一模块的缓存器中取出中间结果进行处理,这样将引入大量对缓存器的读写操作;虽然进行子块交织时各子块可以并行处理,但是同样的n个子块交织过程需要n个相同的硬件资源,难以实现资源共享。
解速率匹配过程是速率匹配过程的逆过程。如果按照图1所示结构的逆过程进行实现,同样存在对缓存器读写操作多和资源难以共享的缺点。
发明内容
有鉴于此,本发明提供一种交织速率匹配和解交织解速率匹配方法,能够减少速率匹配时对缓存器的读写操作。
一种交织速率匹配方法,包括:
a、根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵的修正列交织模式P(j)′=(P(j)+Δ)modC;利用各个子块交织矩阵的修正列交织模式确定相应子块交织矩阵的交织算子;将编码输出的比特流写入各个子块交织矩阵,不进行比特填充;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;其中,所述C为子块交织矩阵的列数,Δ=C-NDmodC;若确定的所述子块交织后矩阵对应信息子块交织矩阵,则执行步骤b,否则,执行步骤d;
b、确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并依次输出相乘结果;其中,n由小到大依次取所述信息子块交织矩阵的有效行;直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;
c、判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤d,否则将i自加,返回步骤b;
d、确定与i对应的各个校验子块交织矩阵的有效行;在各个校验子块交织矩阵中,选择第n行为与i对应的有效行的校验子块交织矩阵;判断选择出的各个校验子块交织矩阵的第P(i)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n行与相应校验子块交织矩阵的交织算子第i行的转置相乘,并依次输出相乘结果;直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;其中,n依次取1,2,...,N,N为各个校验子块交织矩阵的最大行数;
e、判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤b,否则将i自加,返回步骤d。
较佳地,所述确定与i对应的所述信息子块交织矩阵的有效行为:判断P(i)′是否小于MmodC,若是,则将信息子块交织矩阵的第
Figure G2009100834712D00041
行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第
Figure G2009100834712D00042
行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始行和结束行;
所述确定与i对应的各个校验子块交织矩阵的有效行为:
对于第一个校验子块交织矩阵,判断P(i)′是否小于MmodC,若是,则将第
Figure G2009100834712D00043
行作为与i对应的所述第一个校验子块交织矩阵的起始行,否则,将第
Figure G2009100834712D00044
行作为与i对应的所述第一个校验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述第一个校验子块交织矩阵的倒数第二行作为与i对应的所述第一个校验子块交织矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i对应的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验子块交织矩阵的第一行作为与i对应的所述任一校验子块交织矩阵的起始行;判断所述任一校验子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述任一校验子块交织矩阵的倒数第二行作为与i对应的所述任一校验子块交织矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i对应的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始行和结束行。
较佳地,所述根据判断结果排列选择出的各个校验子块交织矩阵为:将第P(i)′列为填满的列的校验子块交织矩阵排列在前,将第P(i)′列为未填满的列的校验子块交织矩阵排列在后;对于第P(i)′列为填满的列的各个校验子块交织,按照原顺序排列;对于第P(i)′列为未填满的列的各个校验子块交织,按照原顺序排列。
较佳地,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵。
较佳地,所述利用修正列交织模式确定交织算子为:交织算子为方阵,列数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)′列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C。
较佳地,各个交织算子的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
一种解交织解速率匹配的方法,包括:
a、根据列交织模式P(j)和子块交织矩阵的头部填充比特数目ND确定修正列交织模式P(j)′=(P(j)+Δ)modC;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
b、若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵,则执行步骤c,否则,执行步骤e;
c、判断P(i)′是否小于MmodC,若是,则将第
Figure G2009100834712D00061
行作为起始行,否则,将第
Figure G2009100834712D00062
行作为起始行;判断当前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵的列数;
d、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤c;
e、将第一行作为起始行,判断前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤f;
f、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤e;
g、令i=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b。
较佳地,将软比特写入当前子块交织矩阵的第P(i)′列的一行的操作为:
若所述第P(i)′列的一行为空,则直接将所述当前软比特保存在该行上;
若所述第P(i)′列的一行不为空,则将该行的值与所述软比特进行合并,将合并结果保存在该行上。
一种交织速率匹配方法,包括:
a、根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵对应的修正列交织模式P(j)′=(P(j)+Δ)modC;利用各个子块交织矩阵对应的修正列交织模式确定各个子块交织矩阵的交织算子;将编码输出的比特流写入各个子块交织矩阵,不进行比特填充,将所有子块交织矩阵按比特流顺序排列;其中,所述C为子块交织矩阵的列数,Δ=C-NDmodC;
b、对信息子块交织矩阵的交织算子的第i行执行如下步骤:
确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并将相乘结果依次输出到循环缓存器中;其中,n由小到大依次取所述信息子块交织矩阵的有效行;
i依次取1,2,...,I,I为所述信息子块交织矩阵的交织算子的行数;
c、令i′=1;
d、确定与i′对应的各个校验子块交织矩阵的有效行;在各个校验子块交织矩阵中,选择第n′行为与i′对应的有效行的校验子块交织矩阵;判断选择出的各个校验子块交织矩阵的第P(i)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n′行与相应校验子块交织矩阵的交织算子第i′行的转置相乘,并将相乘结果依次输出到循环缓存器中;其中,n′依次取1,2,...,N′,N′为各个校验子块交织矩阵的最大行数;
e、判断各个校验子块交织的交织算子的第i′行是否为相应交织算子的最后一行,若是,则执行步骤e,否则将i′自加,返回步骤d;
f、根据冗余版本号从循环缓存器中输出符合速率匹配要求的比特。
较佳地,所述确定与i对应的所述信息子块交织矩阵的有效行为:判断P(i)′是否小于MmodC,若是,则将信息子块交织矩阵的第
Figure G2009100834712D00071
行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第
Figure G2009100834712D00072
行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始行和结束行;
所述确定与i对应的各个校验子块交织矩阵的有效行为:
对于第一个校验子块交织矩阵,判断P(i′)′是否小于MmodC,若是,则将第
Figure G2009100834712D00081
行作为与i′对应的所述第一个校验子块交织矩阵的起始行,否则,将第
Figure G2009100834712D00082
行作为与i′对应的所述第一个校验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i′)′列是否为未填满的列,若是,则将所述第一个校验子块交织矩阵的倒数第二行作为与i′对应的所述第一个校验子块交织矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i′对应的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验子块交织矩阵的第一行作为与i′对应的所述任一校验子块交织矩阵的起始行;判断所述任一校验子块交织矩阵的第P(i′)′列是否为未填满的列,若是,则将所述任一校验子块交织矩阵的倒数第二行作为与i′对应的所述任一校验子块交织矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i′对应的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i对应的起始行同与i′对应的结束行之间的行,作为与i′对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始行和结束行。
较佳地,所述根据判断结果排列选择出的各个校验子块交织矩阵为:将第P(i′)′列为填满的列的校验子块交织矩阵排列在前,将第P(i′)′列为未填满的列的校验子块交织矩阵排列在后;对于第P(i′)′列为填满的列的各个校验子块交织,按照原顺序排列;对于第P(i′)′列为未填满的列的各个校验子块交织,按照原顺序排列。
较佳地,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵;
所述校验子块交织矩阵的排列顺序为:所述第一个校验子块交织矩阵排列在前,所述第二个校验子块交织矩阵排列在后。
较佳地,所述利用修正列交织模式确定交织算子为:交织算子为方阵,列数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)′列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C。
较佳地,各个交织算子的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
一种解交织解速率匹配的方法,包括:
a、根据列交织模式P(i)和子块交织矩阵的头部填充比特数目ND确定修正列交织模式P(i)′=(P(i)+Δ)modC;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
b、若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵,则执行步骤c,否则,执行步骤e;
c、判断P(i)′是否小于MmodC,若是,则将第
Figure G2009100834712D00101
行作为起始行,否则,将第行作为起始行;判断当前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵的列数;
d、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤c;
e、将第一行作为起始行,判断P(i)′是否大于C-1-ND且小于C,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤f;
f、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤e;
g、令i=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b。
较佳地,将软比特写入当前子块交织矩阵的第P(i)′列的一行的操作为:
若所述第P(i)′列的一行为空,则直接将所述当前软比特保存在该行上;
若所述第P(i)′列的一行不为空,则将该行的值与所述软比特进行合并,将合并结果保存在该行上。
由上述本发明的技术方案可见,本发明中,根据列交织模式和头部填充比特确定修正交织模式,并根据该修正交织模式确定交织算子,利用交织算子顺序对子块交织矩阵进行交织处理,一种方式可以根据冗余版本要求,利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果直接输出,直到达到相应的码率要求;另一种方式可以利用交织算子逐个对子块交织矩阵进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果输出到循环缓存器中,再根据冗余版本要求输出相应的交织后比特。从而在速率匹配过程中,一方面大大减少了使用的缓存器以及对缓存器的读写操作,另一方面不需要进行子块交织矩阵的头部比特填充。
附图说明
图1为现有的速率匹配结构示意图。
图2为本发明中交织算子生成方式示意图。
图3为进行比特填充和不进行比特填充时子块交织矩阵的比较示意图。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
本发明的基本思想是:将子块交织和速率匹配过程相结合,相应的,将解速率匹配和子块解交织过程相结合,联合简化其间所需的缓存器,从而减少对缓存器的读写。
首先对交织过程进行分析:
列交织过程可以理解为对交织矩阵(这里记为Y)做列初等变换。给定尺寸为Rsubblock TC×Csubblock TC的矩阵Y,交换Y的i,j两列相当于对Y右乘一个初等矩阵Eij
Y′=Y×Eij    (1)
其中Eij是由Csubblock TC阶单位矩阵交换其i,j列得到。根据矩阵列初等变换原理,设子块交织矩阵的行为Rxubblock TC,列为Csubblock TC;设输入比特序列为 { y k , k = 0,1 , . . . . . . R subblock TC × C subblock TC - 1 } ;
按行写入子块交织矩阵后得到Rsubblock TC×Csubblock TC矩阵为:
假定列交织模式表示为P(k), k = 0,1 , . . . . . . C subblock TC - 1 , 则按照该列交织模对矩阵Y进行列交织后的矩阵即可以表示为:
Figure G2009100834712D00123
设交织算子POr为一个Csubblock TC×Csubblock TC矩阵,其中POr第i行第P(i)列取值为1,行内其它元素全部取0。图2为POr第j行的生成方式, C subblock TC = C .
根据上述交织算子的形式以及前述矩阵Y和Y′的关系,则由矩阵Y和交织算子可以得到矩阵Y′,即:
Y′=Y×(POr)′    (2)
可见,利用交织算子可以实现子块交织的过程,相应的,利用交织算子也可以进行子块解交织,具体可表示为:
Y=Y′×(POr)    (3)
其中Y′×(POr)=Y×(POr)′×(POr)=Y×E=Y
由上述对于子块交织的分析可见,利用交织算子能够实现子块交织和解交织过程。
本发明中,正是利用交织算子,依次对每个子块交织矩阵进行处理,并直接将交织结果以协议规定方式保存在循环缓存器中,而不需要中间的暂存单元;或者,按照协议规定方式,利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,将符合速率要求和冗余版本规定的交织结果输出,不需要循环缓存器。
另外,背景技术中描述的交织速率匹配和解交织解速率匹配方法中,从编码器输出的比特流在写入子块交织矩阵时,存在比特流不能填满子块交织矩阵的情况,需要对未填满部分进行比特填充,通常在子块交织矩阵的头部进行比特填充,这些填充比特是无效比特,在交织速率匹配后,并不进行需要输出。但是,在头部出现的填充比特,仍然需要对其进行标记,以保证交织结果的正确。
在本发明的交织速率匹配和解交织解速率匹配方法中,在将编码比特流写入子块交织矩阵时,不需要进行比特填充,直接依次按照行优先顺序进行写入,而通过交织算子的设置,来考虑填充比特的位置,从而简化交织速率匹配过程的处理。
下面通过两个实施例说明本发明的具体实现方式。
实施例一:
在本实施例中,在利用交织算子进行子块交织处理后,直接根据冗余版本号,对需要输出的比特进行交织处理,并将交织后的比特流直接写入码块级联缓存,实现速率匹配。
具体的,本实施例中的速率匹配方法流程包括:
步骤101,根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵的修正列交织模式P(j)′。
本步骤中,根据各个子块交织矩阵的头部填充比特数,对各个子块交织矩阵的列交织模式进行修正,从而保证该修正的列交织模式能与不进行头部比特填充的各个子块交织矩阵相匹配。
如前所述,本发明中,直接将编码比特流写入各个子块交织矩阵,而不进行比特填充,从最终形成的子块交织矩阵来看,与背景技术中形成的子块交织矩阵相比,差别在于头部填充比特不存在了,而对于子块交织矩阵尾部进行的比特填充则可以不予考虑。系统给出的列交织模式P(j),是与进行比特填充后形成的子块交织矩阵相匹配的,因此,本发明中未在子块交织矩阵头部填充比特,则对应的列交织模式也需要进行修正,以与本发明形成的子块交织矩阵相匹配。
具体的,不进行头部比特填充,相当于将进行头部比特填充的子块交织矩阵的第j列移到第(j+Δ)modC列,因此,列交织模式的修正方式为:P(j)′=(P(j)+Δ)modC,从而相应的,将子块交织矩阵的第P(j)列移到P(j)′列。这样,修正后的列交织模式能与不进行头部填充的子块交织矩阵匹配。其中,C为子块交织矩阵的列数,Δ=C-NDmodC。
由于各个子块交织矩阵的头部填充比特可能不同,因此,各个子块交织矩阵的修正列交织模式也可能不同。例如,在LTE系统中,信息比特流形成的信息子块交织矩阵和第一个校验比特流形成的第一个校验子块交织矩阵的修正列交织模式相同,但与第二个校验比特流形成的第二个校验子块交织矩阵的修正列交织模式则不同。
步骤102,利用各个子块交织矩阵的修正列交织模式生成相应子块交织矩阵的交织算子。
具体生成交织算子的方式如前所述,即交织算子POr为一个Csubblock TC×Csubblock TC矩阵,其中POr第j行第P(j)列取值为1,第j行内其它元素全部取0,j的取值为0,1,...Csubblock TC。由于各个子块交织矩阵的列交织模式可能不同,因此,各个子块交织矩阵的交织算子也可能不同。例如,在LTE系统中,信息子块交织矩阵和第一个校验子块交织矩阵的交织算子相同,但与第二个校验子块交织矩阵的交织算子则不同。
步骤103,将编码输出的比特流写入各个子块交织矩阵,不进行比特填充。
从编码器输出的n个比特流dk (0),dk (1),......dk (n),按行优先的顺序写入固定列宽的子块交织矩阵,并且不进行比特填充。具体进行比特填充和不进行比特填充下形成的子块交织矩阵示意图如图3所示。子块交织矩阵的行数应选择能容纳相应比特流长度的最小值。
对于采用不同的列交织模式的比特流,表现为对应子块交织矩阵的排列顺序和交织算子的差别。在3GPP LTE系统中,将编码输出的信息比特流写入信息子块交织矩阵,并将输出的第一个校验比特流写入第一个校验子块交织矩阵,将输出的第二个校验比特流写入第二个校验子块交织矩阵,且第一个校验子块交织矩阵排列在前,第二个校验子块交织矩阵排列在后。
步骤104,根据冗余版本号,确定本次传输数据的起始位置所在的子块交织后矩阵A以及列编号i。
对于不同的冗余版本号,传输数据的起始位置会有所差异,在本实施例中,仅对本次需要传输的数据进行子块交织,因此,需要在进行交织前,确定此次需要传输数据的起始位置。每个子块交织矩阵进行子块交织后会形成相应的子块交织后矩阵。根据冗余版本号确定的数据传输起始位置指的是在进行子块交织后得到的交织后比特流中的起始位置,也就是在子块交织后矩阵中的位置。而每个子块交织后矩阵对应一个子块交织矩阵,由子块交织后矩阵的起始位置能够推出对应子块交织矩阵中的相应位置,则可以直接从该位置起进行交织处理,那么得到的输出比特即为本次传输数据的起始比特,于是可以将其直接输出到码块级联缓存,并顺次将后续产生的交织后比特输出,直到输出的比特数满足速率匹配要求,从而实现了子块交织和速率匹配的联合简化,避免了在此过程中缓存器的引入,也由于不需要进行起始位置前比特的子块交织处理,从而节省了处理时间。
步骤105,判断子块交织后矩阵A对应的子块交织矩阵是信息子块交织矩阵还是校验子块交织矩阵,若是前者,则执行步骤106,否则,执行步骤109。
从本步骤开始进行子块交织操作。如前所述,该子块交织操作从确定的起始位置开始。由于需要对子块交织矩阵进行交织处理,因此具体的交织处理从子块交织后矩阵A对应的子块交织矩阵开始进行。
在现有协议下,信息比特形成的子块交织矩阵独自进行交织,形成一个完整的信息比特数据块;校验比特可能形成多个校验子块交织矩阵,这些校验子块交织矩阵以行为单位间隔排列,所有校验子块交织矩阵作为一个整体进行交织,当按列顺序读出交织后的校验子块交织矩阵中的比特时,即依次读取各个校验子块交织矩阵的相应比特。
根据现有协议的上述特点,本发明中在进行交织并顺序输出交织后比特时,需要针对信息子块交织矩阵和校验子块交织矩阵的不同特点进行交织处理。具体的,对于信息子块交织矩阵,可以单独对该信息子块交织矩阵进行交织处理,并输出交织后结果;而对于校验子块交织矩阵,需要对由各个校验子块交织矩阵的相应列构成的整体进行交织处理,并输出交织后结果。
因此,需要根据进行交织处理的子块交织矩阵为信息子块交织还是校验子块交织矩阵进行不同的处理。
步骤106,确定与i对应的信息子块交织矩阵的有效行。
如前所述,本发明中未对子块交织矩阵进行比特填充,因此对于某些列来说,可能该列中并非所有的行均为填满的状态(对应原本应当填充比特的列不会被填满),因此在进行交织后比特输出时,需要判断输出的结束行位置。
同时,对于第一个编码块(CB),还存在进行码块分割时的填充比特,该填充比特在输出的信息比特流和第一个校验比特流中存在,也就是在信息子块交织矩阵和第一个校验子块交织矩阵中存在,且位于子块交织矩阵的头部。但是,该码块分割时的填充比特是不参与交织及其后的速率匹配的,因此,这些码块分割时的填充比特会影响子块交织矩阵中进行交织处理时的起始行。那么在进行交织和比特输出时,对于信息比特流和第一个校验比特流,还需要考虑是否存在这些码块分割时的填充比特。
本发明中,在任一子块交织矩阵中的任一列,均需要确定与该列对应的起始行和结束行,其中,将从起始行开始到结束行为止的行,作为所述任一子块交织矩阵中任一列的有效行。同时,子块交织矩阵的任一列均对应交织算子的某一行,因此,也将上述任一子块交织矩阵中任一列的有效行称为该子块交织矩阵与交织算子的当前行i对应的有效行。
具体地,对于信息子块交织矩阵,确定其与i对应的有效行的方式为:
判断P(i)′是否小于MmodC,若是,则将信息子块交织矩阵的第
Figure G2009100834712D00171
行作为与i对应的信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第
Figure G2009100834712D00172
行作为与i对应的信息子块交织矩阵的起始行;其中,当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB为非第一个CB时,所述M为0;
判断信息子块交织矩阵的第P(i)′列是否为未填满的列,若是,则表明第P(i)′列对应原本应当存在填充比特的列,那么该列的最后一行一定不存在编码比特,就将信息子块交织矩阵的倒数第二行作为与i对应的信息子块交织矩阵的结束行,否则,将信息子块交织矩阵的最后一行作为与i对应的信息子块交织矩阵的结束行。
其中,判断子块交织矩阵的第P(i)′列是否为未填满的列的方式为:判断P(i)′是否大于C-ND,若是,则确定第P(i)′列为未填满的列,否则,确定第P(i)′列为填满的列。
步骤107,从步骤106确定的起始行开始,到步骤106确定的结束行为止,依次将信息子块交织矩阵的每一行与信息子块交织矩阵的交织算子第i行的转置相乘,并依次输出相乘结果,直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出。
如前所述,将任一子块交织矩阵的某一行与交织算子的第i行转置相乘,即能够实现读取该子块交织矩阵中第P(i)′列的目的。
本步骤,在进行子块交织矩阵中第P(i)′列读取时,仅读取该矩阵中第P(i)′列的有效行,而不会读取除有效行外的其他元素,因为这些元素要么是码块分割时的填充比特,要么是末尾未填满的位置。
通过本步骤,即可以实现将子块交织矩阵中第P(i)′列的所有有效行读出的目的。
进一步的,通过合理的硬件设计,可以大大简化相乘操作的实现复杂度。具体的,可以将交织算子的任一行和子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,这些单元的每个有效比特对应表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素。其中,与机器字长相匹配的单元通常为机器进行运算的基本单位或其整数倍,例如8位的字节、16位的字、32位的双字等等。具体利用单元表示交织算子的任一行、子块交织矩阵的任一行的方式,可以考虑如下几种情况:
(1)若子块交织矩阵的列数刚好与上述单元相等时,则将交织算子的任一行的每个元素、子块交织矩阵的任一行的每个元素,对应利用相应单元的每个比特表示,则单元的每个比特均为有效比特;
(2)若子块交织矩阵的列数刚好是上述单元所包括比特数的N(N为大于1的整数)倍时,例如,8位的处理系统、子块交织矩阵为32列的情况;则可以将子块交织矩阵的任一行、交织算子的任一行均等分为N份,利用N个单元表示子块交织矩阵的任一行、交织算子的任一行,每个比特对应表示任一行中的每个元素,则单元的每个比特均为有效比特;
(3)若子块交织矩阵的列数M少于相应单元所包括的比特数,则仍然利用单元表示子块交织矩阵的任一行、交织算子的任一行,但其中的前M个比特对应表示子块交织矩阵的任一行、交织算子的任一行的每个元素,后面的比特标识为无效,只是为了凑齐机器处理的字长数。因此,将表示元素的前M个比特称为有效比特,其他的比特为无效比特。
(4)对于子块交织矩阵的列数是上述单元所包括比特数的非整数倍的情况,可以将其看作一个整数倍加上(3)中情况的组合,这样,一方面将子块交织矩阵分块表示,另一方面进行填充表示,从而利用整数倍的单元来表示子块交织矩阵的任一行、交织算子的任一行任一行。例如,在16位的处理系统中,子块交织矩阵为18列,则可以利用一个两个16位的字来表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行,其中,第一个16位的字表示子块交织矩阵的任一行、交织算子的任一行的前16个元素,第二个16位的字的前2个比特表示子块交织矩阵的任一行、交织算子的任一行和掩码矩阵的任一行的第17和18个元素。
举个具体的例子,在LTE系统中,子块交织矩阵为32列,则在32位或64位的处理系统中,交织算子的任一行和子块交织矩阵的任一行,都可以利用32位的双字来表示,其中,双字的每个比特表示交织算子任一行中的每个元素或子块交织矩阵任一行的每个元素。因此,本步骤中任一子块交织矩阵中的任一行c与交织算子的任一行b转置的相乘操作也可以转换为:用于表示该任一子块交织矩阵中任一行c的双字与用于表示相应交织算子该任一行b的双字进行逻辑与操作。这样,大大简化了两个相乘操作。或者,如果在8位或16位的处理系统中,则可以将LTE系统中的交织算子的任一行和子块交织矩阵的任一行,利用4个字节或两个字来表示。
步骤108,判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤109,否则将i自加,返回步骤106。
通过步骤107~108的反复循环,即可以实现将信息子块交织矩阵中的待输出的比特进行交织以及输出交织结果的过程。在此过程中,若输出的所有比特已达到速率匹配要求或已将所有子块交织矩阵的编码比特输出,则结束本流程。若未达到,则进入步骤109,进行各个校验子块交织矩阵的交织处理和比特输出。
步骤109,确定与i对应的各个校验子块交织矩阵的有效行。
如前所述,对于各个校验子块交织矩阵,可能存在未填满的列,因此需要确定进行比特输出时各个列的结束行。
对于第一个校验子块交织矩阵,与前述信息子块交织矩阵相同,还需要考虑是否存在码块分割时的填充比特,确定各个列的起始行。而对于其他校验子块交织矩阵,则各个列的起始行均为第一行。
具体地,对于第一个校验子块交织矩阵,确定与i对应的有效行的方式与前述信息子块校验矩阵相同,这里就不再赘述。
对于其他校验子块交织矩阵,确定与i对应的结束行的方式与前述信息子块交织矩阵相同,这里就不再赘述;且均确定第一行为与i对应的起始行。
步骤110,令n=1。
以下开始对各个校验子块交织矩阵进行交织和比特输出。
步骤111,在各个校验子块交织矩阵中,选择第n行为与i对应的有效行的校验子块交织矩阵。
对于各个校验子块交织矩阵,与i对应的有效行可能各不相同,对于非有效行的元素,不需要输出,因此也不对其进行处理,只选择第n行为与i对应的有效行的校验子块交织矩阵,以在本次循环中,仅读取这些校验子块交织矩阵的第P(i)′列第n行比特。
步骤112,判断选择出的各个校验子块交织矩阵的第P(i)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n行与相应校验子块交织矩阵的交织算子第i行的转置相乘,并将相乘结果依次输出;直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;。
对于各个校验子块交织矩阵,可能对应的头部填充比特数目不同,即修正列交织模式不同,在读取校验子块交织矩阵时,读取的顺序也可能不同。因此,需要将选择出的校验子块交织矩阵进行排列。
具体地,将第P(i)′列为填满的列的校验子块交织矩阵排列在前,将第P(i)′列为未填满的列的校验子块交织矩阵排列在后;对于第P(i)′列为填满的列的各个校验子块交织,按照原顺序排列;对于第P(i)′列为未填满的列的各个校验子块交织,按照原顺序排列。其中原顺序指的是:在将校验比特流写入校验子块交织矩阵时,各个校验子块交织矩阵的排列顺序。
例如,如前所述,在LTE系统中存在两个顺序排列的校验子块交织矩阵,该第一个校验子块交织矩阵排列在前,第二个校验子块交织矩阵排列在后,这个顺序即原顺序;若两个校验子块交织矩阵的第P(i)′列均为未填满的列,或者,两个校验子块交织矩阵的第P(i)′列均为填满的列,则将第一个校验子块交织矩阵排在前,将第二个校验子块交织矩阵排列在后;若两个校验子块交织矩阵中,其中一个校验子块交织矩阵的第P(i)′列为未填满的列,另一个校验子块交织矩阵的第P(i)′列为填满的列,则将填满的列的校验子块交织矩阵排列在前,将未填满的列的校验子块交织矩阵排列在后。
在将选择出的校验子块交织矩阵排列好后,按照排列顺序,依次读出这些校验子块交织矩阵中的第P(i)′列的第n行,从而能够保证输出的比特与协议规定的比特输出顺序一致。
步骤113,判断n是否等于各个校验子块交织矩阵的最大行数,若是,则执行步骤114,否则,返回步骤112。
通过步骤112~113的循环,即能够将各个校验子块交织矩阵中,第P(i)′列的各有效比特读出,并依照协议规定顺序输出。
步骤114,判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤106,否则将i自加,返回步骤109。
通过步骤109~114的反复循环,即可以实现将各个校验子块交织矩阵中的待输出的比特进行交织、并按照协议规定顺序输出交织结果的过程。在此过程中,若输出的所有比特已达到速率匹配要求或已将所有子块交织矩阵的编码比特输出,则结束本流程。若未达到,则进入步骤106,进行信息子块交织矩阵的交织处理和比特输出。
至此,本实施例中的交织速率匹配方法流程结束。由上述流程可见,本实施例中,仅对需要输出的部分进行交织处理,且在交织处理后可以直接输出到码块级联缓存。通过上述方式,将子块交织和速率匹配过程联合简化,减少了在此过程中缓存器的个数以及对于缓存器的读写。
解速率匹配的过程是速率匹配的逆过程,但是解速率匹配的处理对象不是比特信息,而是解调后的软比特信息。与上述速率匹配方法相应的解交织解速率匹配方法流程包括:
步骤201,根据编码参数确定各个子块交织矩阵的大小和头部填充比特数目,根据列交织模式P(i)和子块交织矩阵的头部填充比特数目ND确定修正列交织模式P(i)′。
在进行解速率匹配时,首先需要确定各个子块交织矩阵的大小和头部填充比特数目。本领域技术人员可知,这些可以根据编码参数确定。同时,根据列交织模式P(i)和子块交织矩阵的头部填充比特数目ND就可以依照前述交织速率匹配方法中步骤101的方式确定修正列交织模式P(i)′。
在接收端存在一个比特软合并缓存器,用于保存每个编码比特的软比特值(即该比特取值的概率信息)。具体地,该比特软合并缓存器可以利用形同子块交织矩阵的矩阵来保存各个软比特信息。
步骤202,按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i。
本步骤的操作与本实施例速率匹配方法中步骤104的操作相同,这里就不再赘述。
步骤203,将步骤202中确定的子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特。
接收端经过前置的各个单元的处理,能够得到一个软比特流,其中软比特流中软比特信息的排序与发送端经过交织和速率匹配后的比特流的顺序相同。
从本步骤开始进行子块解交织操作。如前所述,子块交织操作从确定的起始位置开始,相应的,子块解交织操作也从确定的数据传输的起始位置开始。
步骤204,判断当前子块交织矩阵的类型,若若当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵,则执行步骤205,否则,执行步骤207。
在前述交织速率匹配方法流程中提到,各个子块交织矩阵中可能存在未填满的列以及不需要参与交织速率匹配的分割码块时的填充比特,因此,需要对各个子块交织矩阵中的每一列确定对应的有效行。在本解交织解速率匹配方法流程中,同样也需要相同的操作,以保证在保存软比特信息时,将相应软比特保存在各个列的有效行上。
其中,如前所述,对于信息子块交织矩阵和第一个校验子块交织矩阵,需要考虑分割码块时填充比特的影响,从而其各个列中起始行是可能变化的;这使得对于信息子块交织矩阵和第一个校验子块交织矩阵而言,其具体处理与其他校验子块交织矩阵将会有所不同。因此,需要根据当前子块交织矩阵的类型,进行不同的处理。
步骤205,判断P(i)′是否小于MmodC,若是,则将第
Figure G2009100834712D00231
行作为起始行,否则,将第行作为起始行;判断当前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入软比特合并缓存器中当前子块交织矩阵的第P(i)′列的起始行到结束行。若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤206。
其中,C为子块交织矩阵的列数。
本步骤确定信息子块交织矩阵或第一个校验子块交织矩阵的有效行,即确定作为当前子块交织矩阵的信息子块交织矩阵或第一个校验子块交织矩阵中第P(i)′列的起始行和结束行,具体确定起始行和结束行的方式与交织速率匹配方法流程中步骤106的方式相同,这里就不再另加解释。
在确定起始行和结束行之后,从当前软比特开始,依次读取软比特,写入软比特合并缓存器中,具体保存在其中当前子块交织矩阵的第P(i)′列的起始行到结束行,这里,保存位置包括起始行和结束行。
另外,对于不同冗余版本的数据传输,传输的编码比特可能有重叠,则在第一次接收到编码比特的软比特后,直接保存在比特软合并缓存器中当前子块交织矩阵与该比特相应的位置上,在接收到后续重传的数据时,将相应编码比特的软比特与比特软合并缓存器中与该编码比特相应位置上所保存的软比特进行合并后保存在该相应位置上。
基于上述考虑,在进行软比特信息保存时,需要根据当前相应保存位置上的状态不同,进行不同的处理。具体的,若软比特合并缓存器中当前子块交织矩阵第P(i)′列的一行为空,则表明该位置的编码比特为首次传输,就直接将当前软比特保存在该行上;若软比特合并缓存器中当前子块交织矩阵第P(i)′列的一行不为空,则表明在此之前,该编码比特被传输过,就将该行的值与当前软比特进行合并,再将合并结果保存在该行上。
在上述过程中,一旦所有的软比特均输出,即从软比特合并缓存中按行读取各个子块交织矩阵中已写入的软比特信息,并结束本流程,否则在第P(i)′列的位置都判断完成后,进行下一列的判断,进入下一个步骤。
步骤206,判断i是否等于当前子块交织矩阵的列数C,若是,则执行步骤209,否则将i自加,返回步骤205。
在当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵时,通过步骤205,已经将子块交织后矩阵中的第i列对应的软比特进行解交织并输出了,接下来,进行下一列的输出。如果第i列是子块交织后矩阵中的最后一列,则需要对下一个子块交织后矩阵对应的软比特进行输出,并且输出到下一个子块交织矩阵对应的保存位置上;如果第i列不是子块交织后矩阵中的最后一列,则继续对下一列对应的软比特进行输出,同样输出到当前子块交织矩阵对应的保存位置上。
步骤207,将第一行作为起始行,前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将第N-1行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤208。
本步骤,对于其他校验子块交织矩阵确定第P(i)′列的有效行,即起始行和结束行。具体确定方式与前述交织速率匹配方法步骤109中除第一个校验子块交织矩阵之外的其它子块校验矩阵的方式相同,这里就不再另加解释。
接下来,将当前软比特进行读取和保存,具体的保存位置和保存方式的确定与前述步骤205中相同,这里就不再赘述。当所有软比特均已读出,则与前述步骤205中相同进行软比特信息的输出。
步骤208,断i是否等于C,若是,则执行步骤209,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤207。
在当前子块交织矩阵为其他校验子块交织矩阵时,通过步骤207,已经将子块交织后矩阵中的第i列对应的软比特进行解交织并输出了,接下来,进行下一列的输出。如果第i列是子块交织后矩阵中的最后一列,则需要对下一个子块交织后矩阵对应的软比特进行输出,并且输出到下一个子块交织矩阵对应的保存位置上;如果第i列不是子块交织后矩阵中的最后一列,则继续对下一列对应的软比特进行输出,同样输出到当前子块交织矩阵对应的保存位置上。
步骤209,令i=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,并返回步骤204;否则,将下一个子块交织矩阵作为当前子块交织矩阵,并返回步骤204。
通过步骤205~206和步骤207~208,分别完成了一个子块交织后矩阵对应的软比特信息的解交织和输出。从本步骤开始,对下一个子块交织后矩阵对应的软比特信息进行解交织和输出。则若当前子块交织后矩阵对应的当前子块交织是最后一个子块交织矩阵,则需要循环到第一个子块交织矩阵进行接下来的软比特信息解交织和输出;若当前子块交织后矩阵对应的当前子块交织不是最后一个子块交织矩阵,则需要对下一个子块交织矩阵的软比特信息解交织和输出。
至此,本实施例中的解交织解速率匹配流程结束。由上述流程可见,本实施例中,依次将接收的软比特信息保存在比特软合并缓存器中的相应位置上,不需要先将其保存为子块交织后矩阵,再依照列交织模式逐个转换为子块交织矩阵进行保存。节省了处理过程,减少了缓存器的使用和对缓存器的读写次数。
下面通过一个具体的例子说明本实施例中的交织速率匹配和解交织解速率匹配方法。
在本例中,给出LTE Turbo编码传输信道速率匹配过程。这一过程包括组织数据阶段和利用速率匹配运算单元进行速率匹配两个阶段。
组织数据阶段包括生成并在内存中存放交织算子POr和交织矩阵Y;根据LTE协议,子块交织矩阵为32列,在32位的处理系统中,每行利用一个32比特的双字表示,根据设定的列交织模式P(j)确定修正列交织模式P(j)′,再利用该修正列交织模式生成交织算子POr,其中,利用一个32比特的双字表示交织算子的任一行,共32个双字表示交织算子。生成方法参考图2所示。
对于Turbo编码器输出比特流Y,在LTE系统中,输出3个比特流分别为sys、P1和P2,按顺序写入内存。在进行输出时,sys交织后形成一个交织后矩阵,P1和P2各自形成一个交织后矩阵,并将P1和P2的交织后矩阵隔行排列,作为一个整体按列进行交织并输出。
利用速率匹配运算单元进行速率匹配的过程如下:先根据当前指定的冗余版本号,此处设为rvindex,确定当前编码后读出比特的起始位置,在LTE Turbo编码传输信道的速率匹配过程中,rvindex=0对应子块交织矩阵sys交织后形成的子块交织后矩阵的第3列第1行,rvindex=1对应子块交织矩阵sys交织后形成的子块交织后矩阵的第27列第1行,rvindex=2对应子块交织矩阵P1和P2交织后形成的子块交织后矩阵的第10列第1行,rvindex=3对应子块交织矩阵P1和P2交织后形成的子块交织后矩阵的第22列第1行。
从rvindex确定的列起始位置开始,逐列读出sys、P1和P2块中的比特;例如:要读取sys交织后的第j列时,先确定sys第P(j)′的有效行,从交织算子POr中取其第j行POrj,用POrj与sys块中的有效行逐行相乘(也可逻辑与AND),并依次输出所有相应的比特信息;要读取P1和P2块交织后的第j列时,先确定P1和P2块第P(j)′的有效行,并确定P1和P2块的排列顺序,再从交织算子POr中取其第j行POrj,按照确定的排列顺序,用POrj与P1和P2块中的有效行逐行相乘(也可逻辑与AND),并依次输出所有相应的比特信息。
根据速率匹配的参数设置,将读出的信息比特直接写入当前传输块对应的码块级联缓存器中分配给当前编码块的相应地址。若一个传输块被分为多个编码块,每个编码块的速率匹配过程可根据以上步骤并行进行。
接下来,给出实现LTE Turbo译码传输信道解交织解速率匹配的过程。这一过程包括计算软比特写入地址和比特软合并两个阶段。
计算软比特写入地址阶段中,查询当前软比特对应的有效掩码,以及计算软比特写入地址三个子过程。
根据冗余版本号rvindex,确定当前编码块输出比特的起始位置,从rvindex确定的起始位置开始,根据修正列交织模式,逐列确定当前子块交织矩阵的有效行。
由于比特软合并缓存器中软比特是按交织矩阵中行优先顺序写入,因此可以由子块交织矩阵中的行列坐标很容易地计算出当前软比特应写入的比特软合并缓存器中的地址。
比特软合并阶段过程如下:根据计算得到的当前软比特对应的比特软合并模块的地址,读出比特软合并模块对应位置原有的软值,与当前软值进行软合并处理,再将得到的结果写回比特软合并模块对应位置。
在比特软合并模块初始化时,可以根据当前码块参数设定好比特软合并模块的初值。以便完成当前码块解速率匹配和软合并过程后,直接送往译码模块进行译码处理。
上述即为本实施例中交织速率匹配方法和解交织解速率匹配方法的实现流程以及实例。
实施例二:
在本实施例中,利用交织算子,依次对每个子块交织矩阵进行处理,并直接将交织结果以协议规定方式保存在循环缓存器中,而不需要中间的暂存单元。在输出时,根据冗余版本需要,从循环缓存器中输出交织后的比特。
具体的,本实施例中的速率匹配方法流程包括:
步骤301~303,根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵的修正列交织模式P(j)′;利用各个子块交织矩阵的修正列交织模式生成相应子块交织矩阵的交织算子;将编码输出的比特流写入各个子块交织矩阵,不进行比特填充。
步骤301~303的操作与实施例一中步骤101~103相同,这里就不再赘述。
接下来,从信息子块交织矩阵开始,对各个子块交织矩阵进行交织处理,并将交织后比特按照协议规定方式全部输出到循环缓存器中。
步骤304,令i=1。
从信息子块交织矩阵的交织算子的第一行开始,到最后一行为止,利用交织算子的每一行按照交织后的顺序依次读取信息子块交织矩阵中的每一列。
步骤305,确定与i对应的信息子块交织矩阵的有效行。
具体确定信息子块交织矩阵中与i对应的有效行的方式与实施例一中步骤106相同,这里就不再赘述。
步骤306,从步骤305确定的起始行开始,到步骤305确定的结束行为止,依次将信息子块交织矩阵的每一行与信息子块交织矩阵的交织算子第i行的转置相乘,并将相乘结果依次输出到循环缓存器中。
如前所述,将任一子块交织矩阵的某一行与交织算子的第i行转置相乘,即能够实现读取该子块交织矩阵中第P(i)′列的目的。
本步骤,在进行子块交织矩阵中第P(i)′列读取时,仅读取该矩阵中第P(i)′列的有效行,而不会读取除有效行外的其他元素,因为这些元素要么是码块分割时的填充比特,要么是末尾未填满的位置。
步骤307,判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤308,否则将i自加,返回步骤305。
通过步骤305~307的反复循环,即可以实现将信息子块交织矩阵中的比特信息进行交织以及输出交织结果的过程。待信息子块交织矩阵中的所有比特进行交织处理并输出交织结果后,则开始通过下面的步骤对各个校验子块交织矩阵进行交织处理和交织后结果的输出。
步骤308,令i′=1。
步骤309,确定与i′对应的各个校验子块交织矩阵的有效行。
具体确定与i′对应的各个校验子块交织矩阵有效行的方式,与实施例一中步骤109相同,这里就不再赘述。
步骤310,令n=1。
步骤311,在各个校验子块交织矩阵中,选择第n行为与i′对应的有效行的校验子块交织矩阵。
对于各个校验子块交织矩阵,与i′对应的有效行可能各不相同,对于非有效行的元素,不需要输出,因此也不对其进行处理,只选择第n行为与i′对应的有效行的校验子块交织矩阵,以在本次循环中,仅读取这些校验子块交织矩阵的第P(i′)′列第n行比特。
步骤312,判断选择出的各个校验子块交织矩阵的第P(i′)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n行与相应校验子块交织矩阵的交织算子第i′行的转置相乘,并将相乘结果依次输出到循环缓存器中。
步骤313,判断n是否等于各个校验子块交织矩阵的最大行数,若是,则执行步骤314,否则,返回步骤312。
通过步骤310~313的循环,即能够将各个校验子块交织矩阵中,第P(i′)′列的各有效比特读出,并依照协议规定顺序输出。
步骤314,判断第i′行是否为交织算子的最后一行,若是,则执行步骤315,否则将i′自加,返回步骤309。
通过步骤308~314的反复循环,即可以实现将各个校验子块交织矩阵中的比特进行交织、并按照协议规定顺序输出交织结果的过程。在此过程中,对于读出各校验子块交织矩阵的每一列时,首先都需要确定相应列的有效行和各个校验子块交织矩阵排列顺序,并按照该排列顺序,依次读出这些校验子块交织矩阵中的第P(i′)′列的第n行,从而能够保证输出的比特与协议规定的比特输出顺序一致。
步骤315,根据冗余版本号从循环缓存器中输出符合速率匹配要求的比特。
通过上述步骤304~314的操作,已经所有交织结果输入到循环缓存器中。本步骤只需要根据冗余版本号从循环缓存器中输出符合速率匹配要求的比特即可。
至此,本实施例中的速率匹配流程结束。与实施例一中的流程类似,可以利用与机器字长相匹配的单元来表示交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,从而将相乘操作转换为逻辑与操作进行。例如,在LTE系统中,如果为32位或64位的处理系统,则交织算子的任一行、信息子块交织矩阵和校验子块矩阵的任一行,都可以利用32位的双字来表示,其中,双字的每个比特表示交织算子任一行中的每个元素、信息或校验子块交织矩阵任一行的每个元素。或者,如果在8位或16位的处理系统中,则可以将LTE系统中的交织算子的任一行、子块交织矩阵的任一行和掩码矩阵的任一行,利用4个字节或两个字来表示。从而可以将子块交织矩阵中某一行与交织算子某一行转置的相乘操作转换为逻辑与操作,从而大大简化了处理流程。
本实施例中,对各个子块交织矩阵全部进行交织处理,并将交织处理后的结果按照协议规定首先输出到循环缓存器中,然后再根据冗余版本要求,从循环缓存器中输出符合速率匹配要求的比特信息。该方式相对于背景技术中描述的交织速率匹配方法,不需要对中间数据进行缓存,而直接将交织结果输出到循环缓存器,因此减少了对缓存器的读写次数;但相对于实施例一中的交织速率匹配方式,仍然需要保留循环缓存器,因此二者相比,实施例一中交织速率匹配方法的性能更优。
与上述交织速率匹配方法相应的解交织解速率匹配方法流程与实施例一中的解交织解速率匹配方法流程相同,这里就不再赘述。
上述即为本发明的交织速率匹配和解交织解速率匹配方法的两种具体实施方式。在上述两种方式,通过引入交织算子实现交织和速率匹配过程的简化结合,不需要利用三个矩阵保存各个子块交织矩阵的交织结果,而能够直接输出交织结果到循环缓存器或码块级联缓存中,从而大大节省了交织匹配过程中所需要的存储空间,减少了对缓存器的读写操作。在解交织解速率匹配流程中相类似的,也大大节省了交织匹配过程中所需要的存储空间,减少了对缓存器的读写操作。并且,通过合理的硬件设计,可以将交织算子和交织矩阵以适当的方式(即与机器字长相匹配的单元)保存,从而可以利用交织算子与交织矩阵的逻辑与操作实现交织,能够进一步简化交织处理操作。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种交织速率匹配方法,其特征在于,该方法包括:
a、根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵的修正列交织模式P(j)′=(P(j)+Δ)modC;利用各个子块交织矩阵的修正列交织模式确定相应子块交织矩阵的交织算子;将编码输出的比特流写入各个子块交织矩阵,不进行比特填充;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;其中,所述C为子块交织矩阵的列数,Δ=C-NDmodC,j=1,2,...,C;若确定的所述子块交织后矩阵对应信息子块交织矩阵,则执行步骤b,否则,执行步骤d;所述子块交织后矩阵为对所述子块交织矩阵进行子块交织后形成的矩阵;
所述利用各个子块交织矩阵的修正列交织模式确定相应子块交织矩阵的交织算子为:交织算子为方阵,列数C与和该交织算子相应的子块交织矩阵的列数相等,且交织算子第j行的第P(j)′列元素取值为1,第j行的其他元素全部取0;
b、确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并依次输出相乘结果;其中,n由小到大依次取所述信息子块交织矩阵的有效行;直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;
c、判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤d,否则将i自加,返回步骤b;
d、确定与i对应的各个校验子块交织矩阵的有效行;在各个校验子块交织矩阵中,选择第n行为与i对应的有效行的校验子块交织矩阵;判断选择出的各个校验子块交织矩阵的第P(i)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n行与相应校验子块交织矩阵的交织算子第i行的转置相乘,并依次输出相乘结果;直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;其中,n依次取1,2,...,N,N为各个校验子块交织矩阵的最大行数;
e、判断第i行是否为交织算子的最后一行,若是,则令i=1,执行步骤b,否则将i自加,返回步骤d。
2.根据权利要求1所述的方法,其特征在于,
所述确定与i对应的所述信息子块交织矩阵的有效行为:判断P(i)′是否小于MmodC,若是,则将信息子块交织矩阵的第
Figure FSB00000598170400021
行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第
Figure FSB00000598170400022
行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应信息子块交织矩阵的有效行,且所述信息子块交织矩阵的有效行包括所述起始行和结束行;
所述确定与i对应的各个校验子块交织矩阵的有效行为:
对于第一个校验子块交织矩阵,判断P(i)′是否小于MmodC,若是,则将第
Figure FSB00000598170400023
行作为与i对应的所述第一个校验子块交织矩阵的起始行,否则,将第
Figure FSB00000598170400024
行作为与i对应的所述第一个校验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述第一个校验子块交织矩阵的倒数第二行作为与i对应的所述第一个校验子块交织矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i对应的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验子块交织矩阵的第一行作为与i对应的所述任一校验子块交织矩阵的起始行;判断所述任一校验子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述任一校验子块交织矩阵的倒数第二行作为与i对应的所述任一校验子块交织矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i对应的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述校验子块交织矩阵的有效行包括所述起始行和结束行。
3.根据权利要求2所述的方法,其特征在于,所述根据判断结果排列选择出的各个校验子块交织矩阵为:将第P(i)′列为填满的列的校验子块交织矩阵排列在前,将第P(i)′列为未填满的列的校验子块交织矩阵排列在后;对于第P(i)′列为填满的列的各个校验子块交织矩阵,按照原顺序排列;对于第P(i)′列为未填满的列的各个校验子块交织矩阵,按照原顺序排列;其中,所述原顺序为:在将校验比特流写入校验子块交织矩阵时各个校验子块交织矩阵的排列顺序。
4.根据权利要求1到3中任一所述的方法,其特征在于,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵。
5.根据权利要求1到3中任一所述的方法,其特征在于,各个交织算子的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
6.一种对利用权利要求1所述的方法得到的比特流进行解交织解速率匹配的方法,其特征在于,该方法包括:
a、根据列交织模式P(j)和子块交织矩阵的头部填充比特数目ND确定修正列交织模式P(j)′=(P(j)+Δ)modC;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;所述子块交织后矩阵为对所述子块交织矩阵进行子块交织后形成的矩阵;
b、若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵,则执行步骤c,否则,执行步骤e;
c、判断P(i)′是否小于MmodC,若是,则将第
Figure FSB00000598170400041
行作为起始行,否则,将第
Figure FSB00000598170400042
行作为起始行;判断当前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将倒数第二行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵的列数,M为码块分割时填充的比特数目;
d、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤c;
e、将第一行作为起始行,判断前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将倒数第二行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤f;
f、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤e;
g、令i=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b。
7.根据权利要求6所述的方法,其特征在于,将软比特写入当前子块交织矩阵的第P(i)′列的一行的操作为:
若所述第P(i)′列的一行为空,则直接将所述当前软比特保存在该行上;
若所述第P(i)′列的一行不为空,则将该行的值与所述软比特进行合并,将合并结果保存在该行上。
8.一种交织速率匹配方法,其特征在于,该方法包括:
a、根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目ND确定各个子块交织矩阵对应的修正列交织模式P(j)′=(P(j)+Δ)modC;利用各个子块交织矩阵对应的修正列交织模式确定各个子块交织矩阵的交织算子;将编码输出的比特流写入各个子块交织矩阵,不进行比特填充,将所有子块交织矩阵按比特流顺序排列;其中,所述C为子块交织矩阵的列数,Δ=C-NDmodC;
所述利用各个子块交织矩阵的修正列交织模式确定相应子块交织矩阵的交织算子为:交织算子为方阵,列数C与和该交织算子相应的子块交织矩阵的列数相等,且交织算子第j行的第P(j)′列元素取值为1,第j行的其他元素全部取0,其中,j=1,2,...,C;
b、对信息子块交织矩阵的交织算子的第i行执行如下步骤:
确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并将相乘结果依次输出到循环缓存器中;其中,n由小到大依次取所述信息子块交织矩阵的有效行;
i依次取1,2,...,I,I为所述信息子块交织矩阵的交织算子的行数;
c、令i′=1;
d、确定与i′对应的各个校验子块交织矩阵的有效行;在各个校验子块交织矩阵中,选择第n′行为与i′对应的有效行的校验子块交织矩阵;判断选择出的各个校验子块交织矩阵的第P(i)′列是否为未填满的列,并根据判断结果排列选择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块交织矩阵中的第n′行与相应校验子块交织矩阵的交织算子第i′行的转置相乘,并将相乘结果依次输出到循环缓存器中;其中,n′依次取1,2,...,N′,N′为各个校验子块交织矩阵的最大行数;
e、判断各个校验子块交织矩阵的交织算子的第i′行是否为相应交织算子的最后一行,若是,则执行步骤f,否则将i′自加,返回步骤d;
f、根据冗余版本号从循环缓存器中输出符合速率匹配要求的比特。
9.根据权利要求8所述的方法,其特征在于,
所述确定与i对应的所述信息子块交织矩阵的有效行为:判断P(i)′是否小于MmodC,若是,则将信息子块交织矩阵的第
Figure FSB00000598170400061
行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第
Figure FSB00000598170400062
行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应信息子块交织矩阵的有效行,且所述信息子块交织矩阵的有效行包括所述起始行和结束行;
所述确定与i′对应的各个校验子块交织矩阵的有效行为:
对于第一个校验子块交织矩阵,判断P(i′)′是否小于MmodC,若是,则将第行作为与i′对应的所述第一个校验子块交织矩阵的起始行,否则,将第
Figure FSB00000598170400064
行作为与i′对应的所述第一个校验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i′)′列是否为未填满的列,若是,则将所述第一个校验子块交织矩阵的倒数第二行作为与i′对应的所述第一个校验子块交织矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i′对应的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验子块交织矩阵的第一行作为与i′对应的所述任一校验子块交织矩阵的起始行;判断所述任一校验子块交织矩阵的第P(i′)′列是否为未填满的列,若是,则将所述任一校验子块交织矩阵的倒数第二行作为与i′对应的所述任一校验子块交织矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i′对应的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i′对应的起始行同与i′对应的结束行之间的行,作为与i′对应的相应校验子块交织矩阵的有效行,且所述校验子块交织矩阵的有效行包括所述起始行和结束行。
10.根据权利要求9所述的方法,其特征在于,所述根据判断结果排列选择出的各个校验子块交织矩阵为:将第P(i′)′列为填满的列的校验子块交织矩阵排列在前,将第P(i′)′列为未填满的列的校验子块交织矩阵排列在后;对于第P(i′)′列为填满的列的各个校验子块交织矩阵,按照原顺序排列;对于第P(i′)′列为未填满的列的各个校验子块交织矩阵,按照原顺序排列;其中,所述原顺序为:在将校验比特流写入校验子块交织矩阵时各个校验子块交织矩阵的排列顺序。
11.根据权利要求8到10中任一所述的方法,其特征在于,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括:将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵;
所述校验子块交织矩阵的排列顺序为:所述第一个校验子块交织矩阵排列在前,所述第二个校验子块交织矩阵排列在后。
12.根据权利要求8到10中任一所述的方法,其特征在于,各个交织算子的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的相乘操作为:用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
13.一种对利用权利要求8所述的方法得到的比特流进行解交织解速率匹配的方法,其特征在于,该方法包括:
a、根据列交织模式P(i)和子块交织矩阵的头部填充比特数目ND确定修正列交织模式P(i)′=(P(i)+Δ)modC;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;所述子块交织后矩阵为对所述子块交织矩阵进行子块交织后形成的矩阵;
b、若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩阵,则执行步骤c,否则,执行步骤e;
c、判断P(i)′是否小于MmodC,若是,则将第
Figure FSB00000598170400081
行作为起始行,否则,将第
Figure FSB00000598170400082
行作为起始行;判断当前子块交织矩阵的第P(i)′列是否为未填满的列,若是,则将倒数第二行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵的列数,M为码块分割时填充的比特数目;
d、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤c;
e、将第一行作为起始行,判断P(i)′是否大于C-1-ND且小于C,若是,则将倒数第二行作为结束行,否则,将最后一行作为结束行;从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)′列的起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行读出,并结束本流程,否则执行步骤f;
f、判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要读取的软比特作为当前软比特,并返回步骤e;
g、令i=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块交织矩阵,并返回步骤b。
14.根据权利要求13所述的方法,其特征在于,将软比特写入当前子块交织矩阵的第P(i)′列的一行的操作为:
若所述第P(i)′列的一行为空,则直接将所述当前软比特保存在该行上;
若所述第P(i)′列的一行不为空,则将该行的值与所述软比特进行合并,将合并结果保存在该行上。
CN2009100834712A 2009-05-06 2009-05-06 一种交织速率匹配和解交织解速率匹配方法 Expired - Fee Related CN101547064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100834712A CN101547064B (zh) 2009-05-06 2009-05-06 一种交织速率匹配和解交织解速率匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100834712A CN101547064B (zh) 2009-05-06 2009-05-06 一种交织速率匹配和解交织解速率匹配方法

Publications (2)

Publication Number Publication Date
CN101547064A CN101547064A (zh) 2009-09-30
CN101547064B true CN101547064B (zh) 2011-11-09

Family

ID=41193982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100834712A Expired - Fee Related CN101547064B (zh) 2009-05-06 2009-05-06 一种交织速率匹配和解交织解速率匹配方法

Country Status (1)

Country Link
CN (1) CN101547064B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045146A (zh) * 2009-10-15 2011-05-04 上海华为技术有限公司 一种混合自动重传请求合并方法、装置及系统
CN101944972B (zh) * 2010-09-20 2013-04-24 华为技术有限公司 编解码方法、装置以及通信系统
CN102685810B (zh) * 2011-03-16 2015-01-28 中兴通讯股份有限公司 一种用于用户信息动态缓存的方法及系统
CN105187162B (zh) * 2015-09-24 2018-04-27 北京思朗科技有限责任公司 一种多粒度并行解速率匹配方法和装置
CN108288969B (zh) * 2017-01-07 2021-12-21 华为技术有限公司 数据编码及译码的方法和装置
US10778366B2 (en) * 2017-03-31 2020-09-15 Qualcomm Incorporated Techniques for rate matching and interleaving in wireless communications
CN110071728B (zh) * 2018-01-24 2021-02-05 华为技术有限公司 一种交织方法及交织设备
CN109768843B (zh) * 2018-12-18 2021-09-03 京信网络系统股份有限公司 速率匹配方法、解速率匹配方法、装置和基站
CN113395133B (zh) * 2020-03-13 2022-08-02 大唐移动通信设备有限公司 一种解速率匹配方法及装置
CN112821987B (zh) * 2021-04-16 2021-08-31 苏州华兴源创科技股份有限公司 信道编码中的数据处理方法、计算机设备及存储介质
CN116032429A (zh) * 2023-01-10 2023-04-28 成都新基讯通信技术有限公司 一种三角交织器的交织长度确定方法及系统
CN117034855B (zh) * 2023-09-28 2024-01-02 芯动微电子科技(武汉)有限公司 一种基于uvm的哈希交织算法的验证方法与平台

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151690A (en) * 1997-01-31 2000-11-21 Alcatel Interleaving and de-interleaving method for digital data, interleaving and de-interleaving devices, and communication system
CN1564485A (zh) * 1999-04-13 2005-01-12 北方电讯网络有限公司 数据传输的速率匹配方法和装置
CN101159513A (zh) * 2007-10-29 2008-04-09 中兴通讯股份有限公司 一种Turbo码速率匹配及码字比特读取的方法
CN101330351A (zh) * 2007-06-20 2008-12-24 中兴通讯股份有限公司 基于循环缓存速率匹配的比特优先映射方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151690A (en) * 1997-01-31 2000-11-21 Alcatel Interleaving and de-interleaving method for digital data, interleaving and de-interleaving devices, and communication system
CN1564485A (zh) * 1999-04-13 2005-01-12 北方电讯网络有限公司 数据传输的速率匹配方法和装置
CN101330351A (zh) * 2007-06-20 2008-12-24 中兴通讯股份有限公司 基于循环缓存速率匹配的比特优先映射方法
CN101159513A (zh) * 2007-10-29 2008-04-09 中兴通讯股份有限公司 一种Turbo码速率匹配及码字比特读取的方法

Also Published As

Publication number Publication date
CN101547064A (zh) 2009-09-30

Similar Documents

Publication Publication Date Title
CN101547064B (zh) 一种交织速率匹配和解交织解速率匹配方法
CN101540654B (zh) 一种交织速率匹配和解交织解速率匹配方法
CN101183875B (zh) 一种Turbo码的有限长度循环缓存的速率匹配方法
CN101510781B (zh) 交织和解交织处理中哑元的填充方法和装置及处理系统
US8094653B2 (en) Software parameterizable control blocks for use in physical layer processing
EP1480366A2 (en) Error-correcting encoding apparatus
CN101217352B (zh) 一阶段速率匹配的缓冲设置方法
US20080092023A1 (en) Parallel convolutional encoder
CN100486117C (zh) 通信装置和无线通信系统
US6601214B1 (en) System and method employing a rate matching algorithm for providing optimized puncturing patterns for turbo encoded data in a communications network
CN110326221A (zh) 一种用于为极化码生成有序序列的方法
CN107040334A (zh) 用于通信网络的丢失复原协议
CN101060374B (zh) Turbo编码流水处理装置及方法
WO2019001436A1 (zh) 一种Polar码的编码方法及装置
CN102037652A (zh) 包括存储器组的数据处理系统和数据重排
CN104601180B (zh) 一种基于扩展汉明码的二维乘积码编码装置及编码方法
CN102761394A (zh) 数据的处理方法及装置
CN101944972B (zh) 编解码方法、装置以及通信系统
CN107251440A (zh) 一种编码装置及方法
CN105187162B (zh) 一种多粒度并行解速率匹配方法和装置
CN103873188B (zh) 一种并行解速率匹配方法和装置
CN102468902A (zh) LTE系统Turbo编码速率匹配/解速率匹配的方法
EP2621121A2 (en) Supercharged codes
CN102480334B (zh) 一种速率匹配的方法及装置
KR102115216B1 (ko) 극부호 복호 장치 및 방법

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
ASS Succession or assignment of patent right

Owner name: CHINA POTEVIO CO., LTD.

Free format text: FORMER OWNER: PUTIAN IT TECH INST CO., LTD.

Effective date: 20130906

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130906

Address after: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District

Patentee after: China Potevio Information Industry Co., Ltd.

Address before: 100080 Beijing, Haidian, North Street, No. two, No. 6, No.

Patentee before: Putian IT Tech Inst Co., Ltd.

ASS Succession or assignment of patent right

Owner name: PUTIAN IT TECH INST CO., LTD.

Free format text: FORMER OWNER: CHINA POTEVIO CO., LTD.

Effective date: 20131202

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131202

Address after: 100080 Beijing, Haidian, North Street, No. two, No. 6, No.

Patentee after: Putian IT Tech Inst Co., Ltd.

Address before: 100080, No. two, 2 street, Zhongguancun science and Technology Park, Beijing, Haidian District

Patentee before: China Potevio Information Industry Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111109

Termination date: 20210506

CF01 Termination of patent right due to non-payment of annual fee