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

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

发明内容
有鉴于此,本发明提供一种交织速率匹配和解交织解速率匹配方法,能 够减少速率匹配时对緩存器的读写操作。
一种交织速率匹配方法,包4舌
a、 根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目No确定 各个子块交织矩阵的修正列交织模式P(j)'=(P(j)+A)modC;利用各个子块交织矩 阵的修正列交织模式确定相应子块交织矩阵的交织算子;将编码输出的比特流 写入各个子块交织矩阵,不进行比特填充;按照冗余版本确定本次传输数据的 起始位置所在的子块交织后矩阵以及列编号i;其中,所述C为子块交织矩阵 的列数,A=C-NDmodC;若确定的所述子块交织后矩阵对应信息子块交织矩阵, 则执行步骤b,否则,执行步骤d;
b、 确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块 交织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并 依次输出相乘结果;其中,n由小到大依次取所述信息子块交织矩阵的有效行; 直到所有输出的比特数满足速率匹配要求,或将得到的所有编码比特均输出;
c、 判断第i行是否为交织算子的最后一行,若是,则令1=1,执行步骤d, 否则将i自加,返回步骤b;
d、 确定与i对应的各个校验子块交织矩阵的有效行;在各个才交验子块交织 矩阵中,选择第n行为与i对应的有效行的校-睑子块交织矩阵;判断选择出的 各个校验子块交织矩阵的第P(i)'列是否为未填满的列,并根据判断结果排列选 择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块 交织矩阵中的第n行与相应校验子块交织矩阵的交织算子第i行的转置相乘, 并依次输出相乘结果;直到所有输出的比特数满足速率匹配要求,或将得到的 所有编码比特均输出;其中,n依次取l,2,…,N, N为各个校验子块交织矩阵的 最大行数;
e、 判断第i行是否为交织算子的最后一行,若是,则令1=1,执行步骤b,否则将i自力口,返回步骤d。
较佳地,所述确定与i对应的所述信息子块交织矩阵的有效行为判断P(i)' 是否小于MmodC,若是,则将信息子块交织矩阵的第LM/C」+1行作为与i对 应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第LM/C」 行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩 阵的第P(i)'列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第 二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块
交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束4亍;其中, 当前码块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码 块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行, 作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始
行和结束行;
所述确定与i对应的各个冲t验子块交织矩阵的有效行为 对于第一个校验子块交织矩阵,判断P(i)'是否小于MmodC,若是,则将第 |_M/C」+1行作为与i对应的所述第一个校验子块交织矩阵的起始行,否则,将
第LM/C」行作为与i对应的所述第一个校验子块交织矩阵的起始行;判断所述 第一个校验子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将所述第一 个校验子块交织矩阵的倒数第二行作为与i对应的所述第一个校验子块交织矩 阵的结束行,否则,将所述第一个校^r子块交织矩阵的最后一刊-作为与i对应 的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验 子块交织矩阵的第一行作为与i对应的所述任一校验子块交织矩阵的起始行; 判断所述任一校验子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将所 述任一校验子块交织矩阵的倒数第二行作为与i对应的所述任一校验子块交织 矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i对应的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的 行,作为与i对应的相应校验子块交织矩阵的有效^",且所述有效行包括所述 起始行和结束行。
较佳地,所述根据判断结果排列选择出的各个校验子块交织矩阵为将第 P(i)'列为填满的列的校验子块交织矩阵排列在前,将第P(i)'列为未填满的列的 校验子块交织矩阵排列在后;对于第P(i)'列为填满的列的各个校验子块交织, 按照原顺序排列;对于第P(i)'列为未填满的列的各个校验子块交织,按照原顺 序排列。
较佳地,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括 将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比 特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二 个才交-睑子块交织矩阵。
较佳地,所述利用修正列交织冲莫式确定交织算子为交织算子为方阵,列 数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)'列元素取值 为1,第j行的其他元素全部取O,其中,j=l,2,...,C。
较佳地,各个交织算子的任一行和各个子块交织矩阵的任一行,均利用与 机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织 算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的 相乘操作为用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应 子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
一种解交织解速率匹配的方法,包括
a、根据列交织模式P(j)和子块交织矩阵的头部填充比特数目No确定修正 列交织模式P(j)'=(P(j)+A)modC;按照冗余版本确定本次传输数据的起始位置所 在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交 织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;b、 若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩
阵,则执行步骤c,否则,执行步骤e;
c、 判断P(i)'是否小于MmodC,若是,则将第|_M/C」+1行作为起始行,
否则,将第LM/C」行作为起始行;判断当前子块交织矩阵的第P(i)'列是否为未
填满的列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行; 从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)'列的起 始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元 素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵 的列数;
d、 判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需 要读取的软比特作为当前软比特,并返回步骤c;
e、 将第一行作为起始行,判断前子块交织矩阵的第P(i)'列是否为未填满的 列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行;从当前 软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)'列的起始行到 结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行 读出,并结束本流程,否则执行步骤f;
f、 判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需要 读取的软比特作为当前软比特,并返回步骤e;
g、 令1=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交 织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当 前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块 交织矩阵,并返回步骤b。
较佳地,将软比特写入当前子块交织矩阵的第P(i)'列的一行的操作为 若所述第P(i)'列的一行为空,则直接将所述当前软比特保存在该行上; 若所述第P(i)'列的一行不为空,则将该行的值与所述软比特进行合并,将 合并结果保存在该行上。一种交织速率匹配方法,包括
a、 根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目N。确定 各个子块交织矩阵对应的修正列交织模式P(j)'=(P(j)+A)modC;利用各个子块交 织矩阵对应的修正列交织;漠式确定各个子块交织矩阵的交织算子;将编码输出 的比特流写入各个子块交织矩阵,不进行比特填充,将所有子块交织矩阵按比 特流顺序排列;其中,所述C为子块交织矩阵的列数,A=C-NDmodC;
b、 对信息子块交织矩阵的交织算子的第i行执行如下步骤
确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交 织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并将 相乘结果依次输出到循环緩存器中;其中,n由小到大依次取所述信息子块交 织矩阵的有效4亍;
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,若是,则将信息子块交织矩阵的第LM/C」+l行作为与i对 应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第LM/C」行作为与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩
阵的第P(i)'列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第 二行作为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块
交织矩阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中, 当前码块CB为第 一个CB时,所述M为码块分割时填充的比特数目,当前码 块CB为非第一个CB时,所述M为0;
将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行, 作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始
行和结束行;
所述确定与i对应的各个校验子块交织矩阵的有效行为 对于第一个校验子块交织矩阵,判断P(i')'是否小于MmodC,若是,则将 第LM/C」+1行作为与i'对应的所述第一个校-险子块交织矩阵的起始行,否则,
将第LM/C」行作为与i'对应的所述第一个校验子块交织矩阵的起始行;判断所
述第一个校验子块交织矩阵的第P(i')'列是否为未填满的列,若是,则将所述第 一个校验子块交织矩阵的倒数第二行作为与P对应的所述第一个^f交验子块交织 矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i'对 应的所述第一个校验子块交织矩阵的结束行;
对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验 子块交织矩阵的第 一行作为与i'对应的所述任一校验子块交织矩阵的起始行; 判断所述任一校验子块交织矩阵的第P(i')'列是否为未填满的列,若是,则将所 述任一校验子块交织矩阵的倒数第二行作为与i'对应的所述任一才交验子块交织 矩阵的结束行,否则,将所述任一对交-险子块交织矩阵的最后一行作为与i'对应 的所述任一校验子块交织矩阵的结束行;
将各个校验子块交织矩阵中在与i'对应的起始行同与i'对应的结束行之间 的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所 述起始4于和结束4亍。较佳地,所述根据判断结果排列选择出的各个校验子块交织矩阵为将第
P(i')'列为填满的列的校验子块交织矩阵排列在前,将第P(i')'列为未填满的列的 校验子块交织矩阵排列在后;对于第P(i')'列为填满的列的各个4文验子块交织, 按照原顺序排列;对于第P(i')'列为未填满的列的各个校验子块交织,按照原顺 序排列。
较佳地,步骤a中所述将编码输出的比特流写入各个子块交织矩阵包括 将编码输出的信息比特流写入信息子块交织矩阵,将编码输出的第一个校验比
特流写入第一个校验子块交织矩阵,将编码输出的第二个校验比特流写入第二 个校验子块交织矩阵;
所述4交^r子块交织矩阵的排列顺序为所述第一个才交验子块交织矩阵排列 在前,所述第二个校验子块交织矩阵排列在后。
较佳地,所述利用修正列交织模式确定交织算子为交织算子为方阵,列 数C与所述子块交织矩阵的列数相等,且交织算子第j行的第P(j)'列元素取值 为1,第j行的其他元素全部取O,其中,j二l,2,…,C。
较佳地,各个交织算子的任一行和各个子块交织矩阵的任一^f亍,均利用与 机器字长相匹配的单元表示,其中所述单元的每个有效比特对应表示相应交织 算子任一行中的每个元素或相应子块交织矩阵任一行的每个元素;
子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的 相乘操作为用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应 子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
一种解交织解速率匹配的方法,包括
a、 根据列交织模式P(i)和子块交织矩阵的头部填充比特数目No确定修正 列交织模式P(i)'=(P(i)+A)modC;按照冗余版本确定本次传输数据的起始位置所 在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交 织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;
b、 若所述当前子块交织矩阵为信息子块交织矩阵或第一个4交-睑子块交织矩 阵,则执行步骤c,否则,执行步骤e;c、 判断P(i)'是否小于MmodC,若是,则将第L似/C」+1行作为起始行,
否则,将第LM/C」行作为起始行;判断当前子块交织矩阵的第P(i)'列是否为未
填满的列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行; 从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第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、 令1=1,将下一个需要读取的软比特作为当前软比特,判断当前子块交 织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当 前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块 交织矩阵,并返回步骤b。
较佳地,将软比特写入当前子块交织矩阵的第P(i)'列的一行的操作为 若所述第P(i)'列的一行为空,则直接将所述当前软比特保存在该行上; 若所述第P(i)'列的一行不为空,则将该行的值与所述软比特进行合并,
将合并结果保存在该行上。
由上述本发明的技术方案可见,本发明中,根据列交织模式和头部填充
比特确定修正交织模式,并根据该修正交织模式确定交织算子,利用交织算子顺序对子块交织矩阵进行交织处理, 一种方式可以根据冗余版本要求,利 用交织算子对子块交织矩阵中需要输出的比特进行交织处理,在完成子块交 织的同时,将按协议排序后的子块交织结果直接输出,直到达到相应的码率 要求;另一种方式可以利用交织算子逐个对子块交织矩阵进行交织处理,在 完成子块交织的同时,将按协议排序后的子块交织结果输出到循环緩存器 中,再根据冗余版本要求输出相应的交织后比特。乂人而在速率匹配过程中, 一方面大大减少了使用的緩存器以及对緩存器的读写操作,另一方面不需要 进行子块交织矩阵的头部比特填充。


图1为现有的速率匹配结构示意图。
图2为本发明中交织算子生成方式示意图。
具体实施例方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本 发明做进一 步详细说明。
本发明的基本思想是将子块交织和速率匹配过程相结合,相应的,将 解速率匹配和子块解交织过程相结合,联合简化其间所需的缓存器,从而減 少对緩存器的读写。
首先对交织过程进行分析
列交织过程可以理解为对交织矩阵(这里记为n做列初等变换。给定尺寸为 AlMxC的矩阵r,交换y的i, j两列相当于对y右乘一个初等矩阵A:
r = yx& (1) 其中;是由c;l^阶单位矩阵交换其i, j列得到。根据矩阵列初等变换原 理,设子块交织矩阵的行为iC^,列为C歸;设输入比特序列为
{力,& = 0,1,......l肠a x c』,。ci — 1},按行写入子块交织矩阵后得到
矩阵为:
<formula>formula see original document page 22</formula>
假定列交织才莫式表示为A: = 0,1, Y进行列交织后的矩阵即可以表示为.C.
-1,则按照该列交织模对矩阵
<formula>formula see original document page 22</formula>
设交织算子Wr为一个《編xC歸矩阵,其中尸O,第,'行第,列取值为1,行
内其它元素全部取0。图2为尸Or第y行的生成方式,C:,。rf=c。
根据上述交织算子的形式以及前述矩阵Y和Y'的关系,则由矩阵Y和交
织算子可以得到矩阵Y',即
y'^xCPO), (2)
可见,利用交织算子可以实现子块交织的过程,相应的,利用交织算子也
可以进行子块解交织,具体可表示为
y = y'x(TOr) (3) 其中rx cpo卜;rx(踏)'x(脸)-;rx五-y
由上述对于子块交织的分析可见,利用交织算子能够实现子块交织和解 交织过程。
本发明中,正是利用交织算子,依次对每个子块交织矩阵进行处理,并 直接将交织结果以协议规定方式保存在循环緩存器中,而不需要中间的暂存 单元;或者,按照协议规定方式,利用交织算子对子块交织矩阵中需要输出 的比特进行交织处理,将符合速率要求和冗余版本规定的交织结果输出,不 需要循环緩存器。
另外,背景技术中描述的交织速率匹配和解交织解速率匹配方法中,从编码器输出的比特流在写入子块交织矩阵时,.存在比特流不能填满子块交织 矩阵的情况,需要对未填满部分进行比特填充,通常在子块交织矩阵的头部 进行比特填充,这些填充比特是无效比特,在交织速率匹配后,并不进行需 要输出。但是,在头部出现的填充比特,仍然需要对其进行标记,以保证交 织结果的正确。
写入子块交织矩阵时,不需要进行比特填充,直接依次按照行优先顺序进行 写入,而通过交织算子的设置,来考虑填充比特的位置,从而简化交织速率 匹配过程的处理。
下面通过两个实施例说明本发明的具体实现方式。
实施例一
在本实施例中,在利用交织算子进行子块交织处理后,直接根据冗余版 本号,对需要输出的比特进行交织处理,并将交织后的比特流直接写入码块 级联緩存,实现速率匹配。
具体的,本实施例中的速率匹配方法流程包括
步骤101,根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数
目ND确定各个子块交织矩阵的修正列交织模式P(j)'。
本步骤中,根据各个子块交织矩阵的头部填充比特数,对各个子块交织 矩阵的列交织模式进行修正,从而保证该修正的列交织模式能与不进行头部 比特填充的各个子块交织矩阵相匹配。
如前所述,本发明中,直接将编码比特流写入各个子块交织矩阵,而不 进行比特填充,从最终形成的子块交织矩阵来看,与背景技术中形成的子块 交织矩阵相比,差别在于头部填充比特不存在了,而对于子块交织矩阵尾部 进行的比特填充则可以不予考虑。 系统给出的列交织模式P(j),是与进行比 特填充后形成的子块交织矩阵相匹配的,因此,本发明中未在子块交织矩阵 头部填充比特,则对应的列交织模式也需要进行修正,以与本发明形成的子 块交织矩阵相匹配。具体的,不进行头部比特填充,相当于将进行头部比特填充的子块交织
矩阵的第j列移到第(j+A)modC歹'J,因此,列交织模式的^f奮正方式为 P(D'-(P(J)+A)modC,,人而相应的,将子块交织矩阵的第P(j)列移到P(j)'歹'J。 这样,修正后的列交织模式能与不进行头部填充的子块交织矩阵匹配。其中, C为子块交织矩阵的列数,A=C-NDmodC 。
由于各个子块交织矩阵的头部填充比特可能不同,因此,各个子块交织 矩阵的修正列交织模式也可能不同。例如,在LTE系统中,信息比特流形 成的信息子块交织矩阵和第一个校验比特流形成的第一个校验子块交织矩 阵的修正列交织模式相同,但与第二个校验比特流形成的第二个校验子块交 织矩阵的修正列交织模式则不同。
步骤102,利用各个子块交织矩阵的修正列交织模式生成相应子块交织 矩阵的交织算子。
具体生成交织算子的方式如前所述,即交织算子为 一 个 C陽xC:編矩阵,其中i^第/行第尸(力列取值为1,第y行内其它元素全 部取O, y'的取值为0, 1,…《;M。由于各个子块交织矩阵的列交织模式可
能不同,因此,各个子块交织矩阵的交织算子也可能不同。例如,在LTE 系统中,信息子块交织矩阵和第一个校验子块交织矩阵的交织算子相同,但 与第二个校验子块交织矩阵的交织算子则不同。
步骤103,将编码输出的比特流写入各个子块交织矩阵,不进行比特填充。
从编码器输出的w个比特流《),《",......《),按行优先的顺序写入固定列宽
的子块交织矩阵,并且不进行比特填充。具体进行比特填充和不进行比特填充 下形成的子块交织矩阵示意图如图3所示。子块交织矩阵的刊1t应选择能容纳 相应比特流长度的最小值。
对于采用不同的列交织模式的比特流,表现为对应子块交织矩阵的排列 顺序和交织算子的差别。在3GPPLTE系统中,将编码输出的信息比特流写入信息子块交织矩阵,并将输出的第一个校验比特流写入第一个校验子块交 织矩阵,将输出的第二个校验比特流写入第二个校验子块交织矩阵,且第一 个校验子块交织矩阵排列在前,第二个校验子块交织矩阵排列在后。
步骤104,根据冗余版本号,确定本次传输数据的起始位置所在的子块 交织后矩阵A以及列编号i。
对于不同的冗余版本号,传输数据的起始位置会有所差异,在本实施例 中,仅对本次需要传输的数据进行子块交织,因此,需要在进行交织前,确 定此次需要传输数据的起始位置。每个子块交织矩阵进行子块交织后会形成 相应的子块交织后矩阵。根据冗余版本号确定的数据传输起始位置指的是在 进行子块交织后得到的交织后比特流中的起始位置,也就是在子块交织后矩 阵中的位置。而每个子块交织后矩阵对应一个子块交织矩阵,由子块交织后
矩阵的起始位置能够推出对应子块交织矩阵中的相应位置,则可以直接从该 位置起进行交织处理,那么得到的输出比特即为本次传输数据的起始比特, 于是可以将其直接输出到码块级联緩存,并顺次将后续产生的交织后比特输 出,直到输出的比特数满足速率匹配要求,从而实现了子块交织和速率匹配 的联合简化,避免了在此过程中緩存器的引入,也由于不需要进行起始位置 前比特的子块交织处理,从而节省了处理时间。
步骤105,判断子块交织后矩阵A对应的子块交织矩阵是信息子块交织 矩阵还是校验子块交织矩阵,若是前者,则执行步骤106,否则,执行步骤 109。
从本步骤开始进行子块交织操作。如前所述,该子块交织#:作从确定的 起始位置开始。由于需要对子块交织矩阵进行交织处理,因此具体的交织处 理从子块交织后矩阵A对应的子块交织矩阵开始进行。
在现有协议下,信息比特形成的子块交织矩阵独自进行交织,形成一个
完整的信息比特数据块;校验比特可能形成多个校验子块交织矩阵,这些校
验子块交织矩阵以行为单位间隔排列,所有校验子块交织矩阵作为一个整体 进行交织,当按列顺序读出交织后的校验子块交织矩阵中的比特时,即依次读取各个校验子块交织矩阵的相应比特。
根据现有协议的上述特点,本发明中在进行交织并顺序输出交织后比特 时,需要针对信息子块交织矩阵和校验子块交织矩阵的不同特点进行交织处 理。具体的,对于信息子块交织矩阵,可以单独对该信息子块交织矩阵进行 交织处理,并输出交织后结果;而对于校验子块交织矩阵,需要对由各个校 验子块交织矩阵的相应列构成的整体进行交织处理,并输出交织后结果。
因此,需要根据进行交织处理的子块交织矩阵为信息子块交织还是校验 子块交织矩阵进行不同的处理。
步骤106,确定与i对应的信息子块交织矩阵的有效行。
如前所述,本发明中未对子块交织矩阵进行比特填充,因此对于某些列 来说,可能该列中并非所有的行均为填满的状态(对应原本应当填充比特的 列不会被填满),因此在进行交织后比特输出时,需要判断输出的结束行位
置。 '
同时,对于第一个编码块(CB),还存在进行码块分割时的填充比特, 该填充比特在输出的信息比特流和第一个校验比特流中存在,也就是在信息 子块交织矩阵和第一个校验子块交织矩阵中存在,且位于子块交织矩阵的头 部。但是,该码块分割时的填充比特是不参与交织及其后的速率匹配的,因 此,这些码块分割时的填充比特会影响子块交织矩阵中进行交织处理时的起 始行。那么在进行交织和比特输出时,对于信息比特流和第一个校验比特流, 还需要考虑是否存在这些码块分割时的填充比特。
本发明中,在任一子块交织矩阵中的任一列,均需要确定与该列对应的 起始行和结束行,其中,将从起始行开始到结束行为止的行,作为所述任一 子块交织矩阵中任一列的有效行。同时,子块交织矩阵的任一列均对应交织 算子的某一行,因此,也将上述任一子块交织矩阵中任一列的有效行称为该 子块交织矩阵与交织算子的当前行i对应的有效行。
具体地,对于信息子块交织矩阵,确定其与i对应的有效行的方式为判断P(i)'是否小于MmodC,若是,则将信息子块交织矩阵的第|_M/C」+1 行作为与i对应的信息子块交织矩阵的起始行,否则,将信息子块交织矩阵 的第LM/C」行作为与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为大于 l的整数)倍时,例如,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-l,执 行步骤109,否则将i自加,返回步骤106。
通过步骤107- 108的反复循环,即可以实现将信息子块交织矩阵中的 待输出的比特进行交织以及输出交织结果的过程。在此过程中,若输出的所 有比特已达到速率匹配要求或已将所有子块交织矩阵的编码比特输出,则结 束本流程。若未达到,则进入步骤109,进行各个校验子块交织矩阵的交织 处理和比特输出。
步骤109,确定与i对应的各个校验子块交织矩阵的有效行。
如前所述,对于各个校验子块交织矩阵,可能存在未填满的列,因此需 要确定进行比特输出时各个列的结束行。
对于第一个校验子块交织矩阵,与前述信息子块交织矩阵相同,还需要 考虑是否存在码块分割时的填充比特,确定各个列的起始行。而对于其他校 验子块交织矩阵,则各个列的起始行均为第 一行。
具体地,对于第一个校验子块交织矩阵,确定与i对应的有效行的方式 与前述信息子块校验矩阵相同,这里就不再赘述。
对于其他校验子块交织矩阵,确定与i对应的结束行的方式与前述信息 子块交织矩阵相同,这里就不再赘述;且均确定第一行为与i对应的起始行。
步骤110,令n-l。以下开始对各个校验子块交织矩阵进行交织和比特输出。 步骤lll,在各个校验子块交织矩阵中,选择第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-l,执 行步骤106,否则将i自力口,返回步骤109。
通过步骤109 ~ 114的反复循环,即可以实现将各个4交-睑子块交织矩阵 中的待输出的比特进行交织、并按照协议规定顺序输出交织结果的过程。在 此过程中,若输出的所有比特已达到速率匹配要求或已将所有子块交织矩阵 的编码比特输出,则结束本流程。若未达到,则进入步骤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,若是,则将第|_M/C」+1行作为
起始行,否则,将第LM/C」行作为起始行;判断当前子块交织矩阵的第P(i)'
列是否为未填满的列,若是,则将第N-l行作为结束行,否则,将最后一行 作为结束行;从当前软比特开始,依次读取软比特,写入软比特合并緩存器 中当前子块交织矩阵的第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-l行作为结束行,否则,将最后一行作为结束行; 从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)'列的 起始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中 的元素按行读出,并结束本流程,否则执行步骤208。
本步骤,对于其他校验子块交织矩阵确定第P(i)'列的有效行,即起始行 和结束行。具体确定方式与前述交织速率匹配方法步骤109中除第一个校验 子块交织矩阵之外的其它子块校验矩阵的方式相同,这里就不再另加解释。
接下来,将当前软比特进行读取和保存,具体的保存位置和保存方式的 确定与前述步骤205中相同,这里就不再赘述。当所有软比特均已读出,则 与前述步骤205中相同进行软比特信息的输出。
步骤208,断i是否等于C,若是,则执行步骤209,否则将i自加,将下一个需要读耳又的软比特作为当前软比特,并返回步骤207。
在当前子块交织矩阵为其他校验子块交织矩阵时,通过步骤207,已经 将子块交织后矩阵中的第i列对应的软比特进行解交织并输出了,接下来,
进行下一列的输出。如果第i列是子块交织后矩阵中的最后一列,则需要对 下一个子块交织后矩阵对应的软比特进行输出,并且输出到下一个子块交织
矩阵对应的保存位置上;如果第i列不是子块交织后矩阵中的最后一列,则 继续对下 一列对应的软比特进行输出,同样输出到当前子块交织矩阵对应的 保存位置上。
步骤209,令i-l,将下一个需要读取的软比特作为当前软比特,判断 当前子块交织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交 织矩阵作为当前子块交织矩阵,并返回步骤204;否则,将下一个子块交织 矩阵作为当前子块交织矩阵,并返回步骤204。
通过步骤205 ~ 206和步骤207 ~ 208,分别完成了 一个子块交织后矩阵 对应的软比特信息的解交织和输出。从本步骤开始,对下一个子块交织后矩 阵对应的软比特信息进行解交织和输出。则若当前子块交织后矩阵对应的当 前子块交织是最后一个子块交织矩阵,则需要循环到第一个子块交织矩阵进 行接下来的软比特信息解交织和输出;若当前子块交织后矩阵对应的当前子 块交织不是最后一个子块交织矩阵,则需要对下一个子块交织矩阵的软比特 信息解交织和输出。
至此,本实施例中的解交织解速率匹配流程结束。由上述流程可见,本 实施例中,依次将接收的软比特信息保存在比特软合并緩存器中的相应位置 上,不需要先将其保存为子块交织后矩阵,再依照列交织模式逐个转换为子 块交织矩阵进行保存。节省了处理过程,减少了緩存器的使用和对緩存器的 读写次数。
下面通过 一 个具体的例子说明本实施例中的交织速率匹配和解交织解 速率匹配方法。
在本例中,给出LTETurbo编码传输信道速率匹配过程。这一过程包括组织数据阶段和利用速率匹配运算单元进行速率匹配两个阶段。
组织数据阶段包括生成并在内存中存放交织算子和交织矩阵7 ;根据
LTE协议,子块交织矩阵为32列,在32位的处理系统中,每行利用一个32比特 的双字表示,根据设定的列交织模式P(力确定修正列交织模式P(j)',再利用该修 正列交织模式生成交织算子尸Or,其中,利用一个32比特的双字表示交织算子 的任一行,共32个双字表示交织算子。生成方法参考图2所示。
对于Turbo编码器输出比特流y ,在LTE系统中,输出3个比特流分别为,、 尸1和尸2,按顺序写入内存。在进行输出时,sys交织后形成一个交织后矩阵, P1和P2各自形成一个交织后矩阵,并将P1和P2的交织后矩阵隔行排列,作为一 个整体按列进行交织并输出。
利用速率匹配运算单元进行速率匹配的过程如下先根据当前指定的冗余 版本号,此处设为rv^,,确定当前编码后读出比特的起始位置,在LTE Turbo 编码传输信道的速率匹配过程中,rv,、. =0对应子块交织矩阵^^交织后形成的 子块交织后矩阵的第3列第1行,n^^l对应子块交织矩阵^s交织后形成的 子块交织后矩阵的第27列第1行,rv,w =2对应子块交织矩阵Pl和P2交织后 形成的子块交织后矩阵的第10列第1行,rv,* =3对应子块交织矩阵Pl和P2 交织后形成的子块交织后矩阵的第22列第1行。
从 f确定的列起始位置开始,逐列读出,、Pl和P2块中的比特;例如 要读取,交织后的第_/列时,先确定sys第P(j)'的有效行,从交织算子尸O中 取其第/行PO。.,用PO。.与sys块中的有效行逐行相乘(也可逻辑与AND ),并 依次输出所有相应的比特信息;要读取P1和P2块交织后的第/列时,先确定 Pl和P2块第P(j)'的有效行,并确定Pl和P2块的排列顺序,再从交织算子PO 中取其第y'行POy,按照确定的排列顺序,用PC^.与Pl和P2块中的有效行逐
行相乘(也可逻辑与AND),并依次输出所有相应的比特信息。
根据速率匹配的参数设置,将读出的信息比特直接写入当前传输块对应的 码块级联緩存器中分配给当前编码块的相应地址。若一个传输块^L分为多个编码块,每个编码块的速率匹配过程可根据以上步骤并行进行。
接下来,给出实现LTETurbo译码传输信道解交织解速率匹配的过程。这一 过程包括计算软比特写入地址和比特软合并两个阶段。
计算软比特写入地址阶段中,查询当前软比特对应的有效掩码,以及计算 ^t比特写入地址三个子过^f呈。
根据冗余版本号rv,^,确定当前编码块输出比特的起始位置,从rv,。^确定 的起始位置开始,根据修正列交织模式,逐列确定当前子块交织矩阵的有效行。
由于比特软合并緩存器中软比特是按交织矩阵中行优先顺序写入,因此可 以由子块交织矩阵中的行列坐标很容易地计算出当前软比特应写入的比特软合 并緩存器中的地址。
比特软合并阶段过程如下根据计算得到的当前软比特对应的比特软合并 模块的地址,读出比特软合并模块对应位置原有的软值,与当前软值进行软合 并处理,再将得到的结果写回比特软合并;f莫块对应位置。
在比特软合并模块初始化时,可以根据当前码块参数设定好比特软合并 模块的初值。以便完成当前码块解速率匹配和软合并过程后,直接送往译码 模块进行译码处理。
上述即为本实施例中交织速率匹配方法和解交织解速率匹配方法的实 现流程以及实例。
实施例二
在本实施例中,利用交织算子,依次对每个子块交织矩阵进行处理,并 直接将交织结果以协议规定方式保存在循环緩存器中,而不需要中间的暂存 单元。在输出时,根据冗余版本需要,从循环緩存器中输出交织后的比特。
具体的,本实施例中的速率匹配方法流程包括
步骤301 ~ 303,根据列交织模式P(j)和各个子块交织矩阵的头部填充比 特数目No确定各个子块交织矩阵的修正列交织模式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行是否为交织算子的最后一行,若是,则令;=1,执 行步骤308,否则将i自力口,返回步骤305。
通过步骤305 - 307的反复循环,即可以实现将信息子块交织矩阵中的 比特信息进行交织以及输出交织结果的过程。待信息子块交织矩阵中的所有 比特进行交织处理并输出交织结果后,则开始通过下面的步骤对各个校验子 块交织矩阵进行交织处理和交织后结果的输出。
步骤308,令i'=l。步骤309,确定与i'对应的各个校验子块交织矩阵的有效行。 具体确定与i'对应的各个校验子块交织矩阵有效行的方式,与实施例一 中步骤109相同,这里就不再赘述。 步骤310,令n二l。
步骤311,在各个校验子块交织矩阵中,选择第n行为与i'对应的有效 行的校验子块交织矩阵。
对于各个校验子块交织矩阵,与i'对应的有效行可能各不相同,对于非 有效行的元素,不需要输出,因此也不对其进行处理,只选择第n行为与i' 对应的有效行的校验子块交织矩阵,以在本次循环中,仅读取这些校l全子块 交织矩阵的第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的操作,已经所有交织结果输入到循环緩存器 中。本步骤只需要根据冗余版本号从循环緩存器中输出符合速率匹配要求的 比特即可。
至此,本实施例中的速率匹配流程结束。与实施例一中的流禾呈类似,可 以利用与机器字长相匹配的单元来表示交织算子的任一行、信息子块交织矩 阵和校验子块矩阵的任一行,从而将相乘操作转换为逻辑与操作进4亍。例如, 在LTE系统中,如果为32位或64位的处理系统,则交织算子的4壬一行、 信息子块交织矩阵和校验子块矩阵的任一行,都可以利用32位的双字来表 示,其中,双字的每个比特表示交织算子任一行中的每个元素、信息或校验 子块交织矩阵任一行的每个元素。或者,如果在8位或16位的处理系统中, 则可以将LTE系统中的交织算子的任一行、子块交织矩阵的任一行和掩码 矩阵的任一行,利用4个字节或两个字来表示。从而可以将子块交织矩阵中 某一行与交织算子某一行转置的相乘操作转换为逻辑与操作,从而大大简化 了处理流程。
本实施例中,对各个子块交织矩阵全部进行交织处理,并将交织处理后 的结果按照协议规定首先输出到循环緩存器中,然后再根据冗余版本要求, 从循环缓存器中输出符合速率匹配要求的比特信息。该方式相对于背景技术 中描述的交织速率匹配方法,不需要对中间数据进行緩存,而直接将交织结 果输出到循环緩存器,因此减少了对緩存器的读写次数;但相对于实施例一 中的交织速率匹配方式,仍然需要保留循环緩存器,因此二者相比,实施例 一中交织速率匹配方法的性能更优。
与上述交织速率匹配方法相应的解交织解速率匹配方法流禾呈与实施例 一中的解交织解速率匹配方法流程相同,这里就不再赘述。■
上述即为本发明的交织速率匹配和解交织解速率匹配方法的两种具体 实施方式。在上述两种方式,通过引入交织算子实现交织和速率匹配过程的 简化结合,不需要利用三个矩阵保存各个子块交织矩阵的交织结果,而能够直接输出交织结果到循环缓存器或码块级联緩存中,从而大大节省了交织匹 配过程中所需要的存储空间,减少了对緩存器的读写操作。在解交织解速率 匹配流程中相类似的,也大大节省了交织匹配过程中所需要的存储空间,减 少了对缓存器的读写操作。并且,通过合理的硬件设计,可以将交织算子和 交织矩阵以适当的方式(即与机器字长相匹配的单元)保存,从而可以利用 交织算子与交织矩阵的逻辑与操作实现交织,能够进一步简化交织处理操 作。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应 包含在本发明的保护范围之内。
权利要求
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。
2、 根据权利要求1所述的方法,其特征在于,所述确定与i对应的所述信息子块交织矩阵的有效行为判断P(i)'是否小 于MmodC,若是,则将信息子块交织矩阵的第LM/C」+1行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第LM/C」行作为 与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第 P(i)'列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作 为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩 阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码 块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB 为非第一个CB时,所述M为0;将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行, 作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始4亍和结束4亍;所述确定与i对应的各个校验子块交织矩阵的有效行为 对于第一个校验子块交织矩阵,判断P(i)'是否小于MmodC,若是,则将第 匕M/C」+1行作为与i对应的所述第一个校验子块交织矩阵的起始行,否则,将 第LM/C」行作为与i对应的所述第一个4t验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将所述第一 个校验子块交织矩阵的倒数第二行作为与i对应的所述第一个校验子块交织矩 阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i对应 的所述第 一 个校验子块交织矩阵的结束行;对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验 子块交织矩阵的第一行作为与i对应的所述任一校验子块交织矩阵的起始行; 判断所述任一校验子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将所 述任一校验子块交织矩阵的倒数第二行作为与i对应的所述任一校验子块交织 矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i对应 的所述任一校验子块交织矩阵的结束行;将各个校验子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行,作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始4于和结束4亍。
3、 根据权利要求2所述的方法,其特征在于,所述根据判断结果排列选择 出的各个校验子块交织矩阵为将第P(i)'列为填满的列的才t睑子块交织矩阵排 列在前,将第P(i)'列为未填满的列的校验子块交织矩阵排列在后;对于第P(i)' 列为填满的列的各个一t睑子块交织,換照原顺序排列;对于第P(i)'列为未填满 的列的各个校验子块交织,按照原顺序排列。
4、 根据权利要求1到3中任一所述的方法,其特征在于,步骤a中所述将 编码输出的比特流写入各个子块交织矩阵包括将编码输出的信息比特流写入 信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交织 矩阵,将编码输出的第二个校验比特流写入第二个校验子块交织矩阵。
5、 根据权利要求1到3中任一所述的方法,其特征在于,所述利用修正列 交织模式确定交织算子为交织算子为方阵,列数C与所述子块交织矩阵的列 数相等,且交织算子第j行的第P(j)'列元素取值为1,第j行的其他元素全部取 0,其中,j=l,2,...,C。
6、 根据权利要求1到3中任一所述的方法,其特征在于,各个交织算子的 任一行和各个子块交织矩阵的任一行,均利用与才几器字长相匹配的单元表示, 其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相 应子块交织矩阵任一行的每个元素;子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的 相乘操作为用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应 子块交织矩阵的交织算子第i行的单元进行逻辑与操作。
7、 一种对利用权利要求1所述的方法得到的比特流进行解交织解速率匹配 的方法,其特征在于,该方法包括a、根据列交织模式P(j)和子块交织矩阵的头部填充比特数目No确定修正 列交织模式P(j)'=(P(j)+A)modC;按照冗余版本确定本次传输数据的起始位置所在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交 织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;b、 若所述当前子块交织矩阵为信息子块交织矩阵或第一个校验子块交织矩 阵,则执行步骤c,否则,执行步骤e;c、 判断P(i)'是否小于MmodC,若是,则将第|_M/C」+1行作为起始行,否则,将第LM/C」行作为起始行;判断当前子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行; 从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)'列的起 始行到结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元 素按行读出,并结束本流程,否则执行步骤d;其中,所述C为子块交织矩阵 的列数;d、 判断i是否等于C,若是,则执行步骤g,否则将i自加,将下一个需 要读取的软比特作为当前软比特,并返回步骤c;e、 将第一行作为起始行,判断前子块交织矩阵的第P(i)'列是否为未填满的 列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行;从当前 软比特开始,依次读取软比特,写入当前子块交织矩阵的第P(i)'列的起始行到 结束行;若已读取出所有接收的软比特,则将各个子块交织矩阵中的元素按行 读出,并结束本流程,否则执行步骤f;f、 判断i是否等于C,若是,则执行步骤g,否则将i自力口,将下一个需要 读取的软比特作为当前软比特,并返回步骤e;g、 令i-l,将下一个需要读取的软比特作为当前软比特,判断当前子块交 织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当 前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块 交织矩阵,并返回步骤b。
8、根据权利要求7所述的方法,其特征在于,将软比特写入当前子块交织 矩阵的第P(i)'列的一行的操作为若所述第P(i)'列的一行为空,则直接将所述当前软比特保存在该行上;若所述第p(i)'列的一行不为空,则将该行的值与所述软比特进行合并,将 合并结果保存在该行上。
9、 一种交织速率匹配方法,其特征在于,该方法包括a、 根据列交织模式P(j)和各个子块交织矩阵的头部填充比特数目No确定 各个子块交织矩阵对应的修正列交织模式P(j)'=(P(j)+A)modC;利用各个子块交 织矩阵对应的修正列交织模式确定各个子块交织矩阵的交织算子;将编码输出 的比特流写入各个子块交织矩阵,不进行比特填充,将所有子块交织矩阵按比 特流顺序排列;其中,所述C为子块交织矩阵的列数,A=C-NDmodC;b、 对信息子块交织矩阵的交织算子的第i行执行如下步骤确定与i对应的所述信息子块交织矩阵的有效行,依次将所述信息子块交 织矩阵的第n行与所述信息子块交织矩阵的交织算子第i行的转置相乘,并将 相乘结果依次输出到循环緩存器中;其中,n由小到大依次取所述信息子块交 织矩阵的有效行;i依次取1,2,...,I, I为所述信息子块交织矩阵的交织算子的行数;c、 令i'- 1;d、 确定与i'对应的各个校验子块交织矩阵的有效行;在各个校验子块交织 矩阵中,选择第n'行为与i'对应的有效行的校验子块交织矩阵;判断选择出的 各个校验子块交织矩阵的第P(i)'列是否为未填满的列,并才艮据判断结果排列选 择出的各个校验子块交织矩阵,并按照该排列顺序,依次将选择出的校验子块 交织矩阵中的第r^亍与相应冲交验子块交织矩阵的交织算子第i'行的转置相乘, 并将相乘结果依次输出到循环緩存器中;其中,n'依次取1,2,...,N', N'为各个 校验子块交织矩阵的最大行数;e、 判断各个校验子块交织的交织算子的第i'行是否为相应交织算子的最后 一行,若是,则执行步骤e,否则将i'自加,返回步骤d;f、 根据冗余版本号从循环緩存器中输出符合速率匹配要求的比特。
10、 根据权利要求9所述的方法,其特征在于,所述确定与i对应的所述信息子块交织矩阵的有效行为判断P(i)'是否小 于MmodC,若是,则将信息子块交织矩阵的第LM/C」+1行作为与i对应的所述信息子块交织矩阵的起始行,否则,将信息子块交织矩阵的第LM/C」行作为 与i对应的所述信息子块交织矩阵的起始行;判断所述信息子块交织矩阵的第 P(i)'列是否为未填满的列,若是,则将所述信息子块交织矩阵的倒数第二行作 为与i对应的所述信息子块交织矩阵的结束行,否则,将所述信息子块交织矩 阵的最后一行作为与i对应的所述信息子块交织矩阵的结束行;其中,当前码 块CB为第一个CB时,所述M为码块分割时填充的比特数目,当前码块CB 为非第一个CB时,所述M为0;将信息子块交织矩阵中在与i对应的起始行同与i对应的结束行之间的行, 作为与i对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始行和结束行;所述确定与i对应的各个才交验子块交织矩阵的有效行为 对于第一个校验子块交织矩阵,判断P(i')'是否小于MmodC,若是,则将 第Lm/c」+i行作为与i'对应的所述第一个校验子块交织矩阵的起始行,否则,将第LM/C」行作为与i'对应的所述第一个校验子块交织矩阵的起始行;判断所述第一个校验子块交织矩阵的第P(i')'列是否为未填满的列,若是,则将所述第 一个校验子块交织矩阵的倒数第二行作为与i'对应的所述第一个校验子块交织 矩阵的结束行,否则,将所述第一个校验子块交织矩阵的最后一行作为与i'对 应的所述第一个一t险子块交织矩阵的结束行;对于其它校验子块交织矩阵中的任一校验子块交织矩阵,将所述任一校验 子块交织矩阵的第一行作为与i'对应的所述任一校验子块交织矩阵的起始行; 判断所述任一校验子块交织矩阵的第P(i')'列是否为未填满的列,若是,则将所 述任一校验子块交织矩阵的倒数第二行作为与i'对应的所述任一校验子块交织 矩阵的结束行,否则,将所述任一校验子块交织矩阵的最后一行作为与i'对应 的所述任一校验子块交织矩阵的结束行;将各个校验子块交织矩阵中在与i'对应的起始行同与i'对应的结束行之间 的行,作为与i'对应的相应校验子块交织矩阵的有效行,且所述有效行包括所述起始4于和结束行。
11、 根据权利要求IO所述的方法,其特征在于,所述根据判断结果排列选 择出的各个校验子块交织矩阵为将第P(i')'列为填满的列的校验子块交织矩阵 排列在前,将第P(i')'列为未填满的列的校验子块交织矩阵排列在后;对于第 P(i')'列为填满的列的各个校验子块交织,按照原顺序排列;对于第P(i')'列为未 填满的列的各个校验子块交织,按照原顺序排列。
12、 根据权利要求9到11中任一所述的方法,其特征在于,步骤a中所述 将编码输出的比特流写入各个子块交织矩阵包括将编码输出的信息比特流写 入信息子块交织矩阵,将编码输出的第一个校验比特流写入第一个校验子块交 织矩阵,将编码输出的第二个校^^比特流写入第二个校验子块交织矩阵;所述校验子块交织矩阵的排列顺序为所述第一个校验子块交织矩阵排列 在前,所述第二个校验子块交织矩阵排列在后。
13、 根据权利要求9到11中任一所述的方法,其特征在于,所述利用修正 列交织模式确定交织算子为交织算子为方阵,列数C与所述子块交织矩阵的 列数相等,且交织算子第j行的第P(j)'列元素取值为1,第j行的其他元素全部 取O,其中,j=l,2,...,C。
14、 根据权利要求9到11中任一所述的方法,其特征在于,各个交织算子 的任一行和各个子块交织矩阵的任一行,均利用与机器字长相匹配的单元表示, 其中所述单元的每个有效比特对应表示相应交织算子任一行中的每个元素或相 应子块交织矩阵任一行的每个元素;子块交织矩阵中的任一行与相应子块交织矩阵的交织算子的第i行转置的 相乘操作为用于表示子块交织矩阵中所述任一行的单元与用于表示所述相应 子块交织矩阵的交织算子第i行的单元进行逻辑与揭:作。
15、 一种对利用权利要求9所述的方法得到的比特流进行解交织解速率匹 配的方法,其特征在于,该方法包括a、 根据列交织模式P(i)和子块交织矩阵的头部填充比特数目No确定修正 列交织模式P(i)'=(P(i)+A)modC;按照冗余版本确定本次传输数据的起始位置所 在的子块交织后矩阵以及列编号i;将确定的所述子块交织后矩阵对应的子块交 织矩阵作为当前子块交织矩阵,将接收的第一个软比特作为当前软比特;b、 若所述当前子块交织矩阵为信息子块交织矩阵或第一个4L睑子块交织矩 阵,则执行步骤c,否则,执行步骤e;c、 判断P(i)'是否小于MmodC,若是,则将第LM/C」+1行作为起始行,否则,将第L^/C」行作为起始行;判断当前子块交织矩阵的第P(i)'列是否为未填满的列,若是,则将第N-l行作为结束行,否则,将最后一行作为结束行; 从当前软比特开始,依次读取软比特,写入当前子块交织矩阵的第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-l,将下一个需要读取的软比特作为当前软比特,判断当前子块交 织矩阵是否为最后一个子块交织矩阵,若是,则将第一个子块交织矩阵作为当 前子块交织矩阵,并返回步骤b;否则,将下一个子块交织矩阵作为当前子块 交织矩阵,并返回步骤b。
16、根据权利要求15或16所述的方法,其特征在于,将软比特写入当前子块交织矩阵的第P(i)'列的一行的操作为若所述第P(i)'列的一行为空,则直接将所述当前软比特保存在该行上; 若所述第P(i)'列的一行不为空,则将该行的值与所述软比特进行合并,将合并结果保存在该行上。
全文摘要
本发明公开了交织速率匹配方法,根据列交织模式和头部填充比特确定修正交织模式,并根据该修正交织模式确定交织算子,利用交织算子顺序对子块交织矩阵进行交织处理,一种方式可以根据冗余版本要求,利用交织算子对子块交织矩阵中需要输出的比特进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果直接输出,直到达到相应的码率要求;另一种方式可以利用交织算子逐个对子块交织矩阵进行交织处理,在完成子块交织的同时,将按协议排序后的子块交织结果输出到循环缓存器中,再根据冗余版本要求输出相应的交织后比特。进一步的,本发明还公开了与交织速率匹配方法相应的解交织解速率匹配方法。应用本发明能够在交织速率匹配和解交织解速率匹配过程中,大大减少了使用的缓存器以及对缓存器的读写操作。
文档编号H04L1/00GK101547064SQ20091008347
公开日2009年9月30日 申请日期2009年5月6日 优先权日2009年5月6日
发明者赵顾良, 辰 郑 申请人:普天信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1