并行比特交织器的制作方法

文档序号:13739001阅读:124来源:国知局
并行比特交织器的制作方法

本申请是2012年5月18日提交的申请号为201280022664.7的专利申请的分案申请。母案的全部内容援引于本申请。

本发明涉及数字通信领域,更详细而言,涉及使用准循环低密度奇偶校验代码的比特交织编码调制系统用的比特交织器。



背景技术:

近年来,在数字通信领域中,使用了比特交织编码调制(bit-interleavedcodingandmodulation:bicm)系统(例如,参照非专利文献1)。

在bicm系统中,通常执行如下3个步骤。

(1)使用例如准循环低密度奇偶校验(quasi-cycliclow-densityparitycheck:qcldpc)代码将数据块编码为代码字。

(2)对代码字的比特进行比特交织。

(3)将被实施比特交织后的代码字分割为由星座的比特数构成的星座字(constellationword),将星座字映射至星座。

在先技术文献

非专利文献

非专利文献1:etsien302755v1.2.1(dvb-t2标准)

发明的概要

发明要解决的问题

通常,期望对准循环低密度奇偶校验代码的代码字实施的交织的高效化。



技术实现要素:

本发明的目的在于提供一种交织方法,能够实现对准循环低密度奇偶校验代码的代码字实施的交织的高效化。

用于解决问题的手段

为了达到上述目的,本发明的比特交织方法,将通过包含重复累积准循环低密度奇偶校验编码方式在内的准循环低密度奇偶校验编码方式生成的代码字的比特重新排列,其特征在于,所述代码字中,对奇偶区段实施了奇偶交织,所述比特交织方法具有:比特置换步骤,实施比特置换处理,在该比特置换处理中,对于由n个循环块构成的n×q比特的所述代码字,按照规定了比特的重新排列的比特置换规则进行比特的重新排列,上述n个循环块分别由q个比特构成;以及分割步骤,将实施了所述比特置换处理的代码字分割为分别由m个比特构成的多个星座字,所述n不是所述m的倍数,所述比特置换规则包括第1规则和第2规则,所述第1规则是将n除以m所得的余数设为x时,对n’=n-x个循环块应用的规则,所述第2规则是对x个循环块应用的与所述第1规则不同的规则,所述第1规则是如下那样的将所述代码字的比特重新排列的规则:在所述n’=n-x个循环块的每一个中,所述循环块的q个比特的每一个比特都被分配给q个星座字的同一比特索引的比特,所述q个星座字的每一个由该q个星座字所共用的m个所述循环块各自的1个比特构成。

发明效果

根据本发明的比特交织方法,能够实现对准循环低密度奇偶校验代码的代码字实施的交织的高效化。

附图说明

图1为表示包括通常的bicm编码器的发射器的构成的框图。

图2为表示编码率为1/2的准循环低密度奇偶校验(quasi-cycliclow-densityparitycheck:qcldpc)代码的奇偶校验矩阵的一例的图。

图3为表示编码率是2/3的重复累积准循环低密度奇偶校验(repeat-accumulatequasi-cycliclow-densityparitycheck:raqcldpc)代码的奇偶校验矩阵的一例的图。

图4为行置换后的图3的raqcldpc代码的奇偶校验矩阵的图。

图5为表示行置换以及奇偶置换后的图3的raqcldpc代码的奇偶校验矩阵的图。

图6为说明在8pam码元中,被编码后的比特具有彼此不同的鲁棒级别(robustnesslevel,鲁棒级别)的图。

图7为表示循环系数q=8、一个低密度奇偶校验代码字的循环块数n=12、一个星座的比特数m=4所对应的通常的比特交织器的构成的框图。

图8中(a)为表示在dvb-t2标准中使用的dvb-t2调制器的构成的框图,(b)为表示(a)所示的dvb-t2调制器的bicm编码器的构成的框图。

图9中(a)为表示由12列的列-行交织器执行的16k代码(ldpc代码字长为16200比特的ldpc代码)的代码字的比特的写入处理的图,(b)为表示由列-行交织器执行的在(a)中被写入的代码字的比特的读出处理的图。

图10中(a)为表示由8列的列-行交织器执行的16k代码的代码字的比特的写入处理的图,(b)为表示由列-行交织器执行的在(a)中被写入的代码字的比特的读出处理的图。

图11为表示以dvb-t2标准为基准的、在16qam中16k代码用的比特-信元(cell)解复用器的构成的框图。

图12为表示以dvb-t2标准为基准的、在64qam中16k代码用的比特-信元解复用器的构成的框图。

图13为表示以dvb-t2标准为基准的、在256qam中16k代码用的比特-信元解复用器的构成的框图。

图14为表示在8列的dvb-t2比特交织器中针对16k代码可能发生的问题的图。

图15为表示在12列的dvb-t2比特交织器中针对16k代码可能发生的问题的图。

图16为表示在8列的dvb-t2比特交织器中针对16k代码适用列扭曲处理时可能发生的问题的图。

图17为表示在12列的dvb-t2比特交织器中针对16k代码适用列扭曲处理时可能发生的问题的图。

图18中(a)为说明能够提供发明人专心研究后所发现的非常高效的交织器的第一个条件的图,(b)为说明第二个条件的图。

图19为表示本发明的一实施方式所涉及的交织器的映射的功能的图。

图20为表示本发明的一实施方式所涉及的交织器的构成的框图。

图21中(a)为表示实施图20的区段置换的区段置换单元的一构成例的框图,(b)为表示(a)的区段置换单元的映射的功能的图。

图22中(a)为表示实施图20的区段置换的区段置换单元的其他构成例的框图,(b)为表示(a)的区段置换单元的映射的功能的图。

图23为表示本发明的其他实施方式所涉及的交织器的构成的框图。

图24是表示图23的比特交织器的一构成例的框图。

图25为表示本发明的再其他实施方式所涉及的发射器的一构成例的框图。

图26为表示本发明的再其他实施方式所涉及的bicm编码器的一安装例的框图。

图27为表示本发明的再其他实施方式所涉及的具有非重复bicm译码器的接收器的一构成例的框图。

图28为表示本发明的再其他实施方式所涉及的具有重复bicm译码器的接收器的一构成例的框图。

图29为表示本发明的再其他实施方式所涉及的重复bicm译码器的一安装例的框图。

图30为表示并行交织器的对象的循环块与对象外的循环块的一例的图。

图31中(a)为说明能够进行发明人潜心研究后所发现的非常高效的交织器的提供的第一个条件的图,(b)为说明第二个条件的图。

图32为表示本发明的再其他实施方式所涉及的交织器的构成的框图。

图33中(a)为表示折叠(folding)无(f=1)所对应的映射的功能的图,(b)为表示有折叠(f=2)所对应的映射的功能的图。

图34中(a)为表示无折叠(f=1)所对应的(折叠)区段置换单元的一构成例的框图,(b)为表示有折叠(f=2)所对应的折叠区段置换单元的一构成例的框图。

图35为表示本发明的再其他实施方式所涉及的交织器的构成的框图。

图36是表示图35的交织器的一构成例的框图。

图37为表示本发明的再其他实施方式所涉及的发射器的一构成例的框图。

图38为表示本发明的再其他的实施方式所涉及的具有非重复bicm译码器的接收器的一构成例的框图。

图39为表示本发明的再其他的实施方式所涉及的具有重复bicm译码器的接收器的一构成例的框图。

图40为表示f=2的折叠用的llr存储位置与第一号的星座字的比特配置的图。

图41为与混合qpsk+16qam有关的星座块的映射的略图。

图42为用于说明本发明的再其他实施方式所涉及的交织器的功能的图。

图43为表示本发明的再其他实施方式所涉及的交织器的一构成例的框图。

图44是表示本发明的另一个实施方式涉及的交织器的一个结构例的块图,(a)表示n=45、q=360、m=4、没有折叠(f=1)的情况,(b)表示n=45、q=360、m=4、有折叠(f=2)的情况。

图45是表示本发明的另一个实施方式涉及的交织器的一个结构例的块图,(a)表示n=45、q=360、m=6、没有折叠(f=1)的情况,(b)表示n=45、q=360、m=6、有折叠(f=2)的情况。

图46是使向图5所示的奇偶校验矩阵的校验节点17~24的连接醒目的图。

图47是表示向图46所示的奇偶校验矩阵的校验节点17~24的变量节点的循环置换中的连接的示意图。

图48(a)~(h)分别是表示与图46所示的奇偶校验矩阵中的校验节点17~24连接的变量节点的映射的图。

图49(a)~(h)分别是表示与校验节点17~24连接的qb14和qb15向16qam的星座映射的图。

图50(a)~(h)分别是表示与校验节点17~24连接的qb14和qb15向16qam的星座映射的图。

图51的(a)是表示使用一个转环的循环块内置换用的重构交织器的结构的图,(b)表示使用两个转环的循环块内置换用的重构交织器的结构的图。

图52(a)~(h)分别是表示与图49(a)~(h)对应地、以不包含无效的校验节点的方式使qb14进行两次移位的图。

图53(a)~(h)分别是表示与图50(a)~(h)对应地、以不包含无效的校验节点的方式使qb4进行三次移位的图。

图54是表示将实施方式涉及的折叠系数设为2的并列比特交织器和循环块置换的功能结构的示意图。

图55是表示设q=8、m=4、f=2时的bicm编码器的一个安装例的块图。

图56是表示设q=8、m=4、f=2时的反复bicm解码器的一个安装例的块图。

具体实施方式

《做出本发明的过程》

图1为表示包括通常的比特交织编码调制(bit-interleavedcodingandmodulation:bicm)编码器的发射器的构成的框图。图1所示的发射器100包括输入处理单元110、bicm编码器(包含低密度奇偶校验(low-densityparitycheck:ldpc)编码器120、比特交织器130、星座映射器140)、以及调制器150。

输入处理单元110将输入比特流变换为规定长度的多个块。ldpc编码器120使用ldpc代码将块编码为代码字,并将代码字发送至比特交织器130。比特交织器130针对ldpc代码字实施交织处理,实施交织处理后,分割为信元字(星座字)的列。星座映射器140将各信元字(星座字)映射至星座(例如,qam)75的列。输出端的通常的调制器150包括从bicm编码器的输出到rf(radiofrequency:射频)电力放大器的所有的处理块。

ldpc代码是利用奇偶校验矩阵(paritycheckmatrix:pcm)进行完整定义的线性纠错代码。pcm为2值的稀疏矩阵,表示代码字比特(也称“变量节点”)与奇偶校验(也称“校验节点”)的连接(connection)。pcm的列以及行分别对应变量节点以及校验节点。变量节点与校验节点的结合在pcm中通过“1”这样的要素来表示。

在ldpc代码中,包括被称为准循环低密度奇偶校验(quasi-cycliclow-densityparity-check:qcldpc)代码的类型。qcldpc代码具有尤为适合硬件安装的构成。事实上,在现今的几乎所有标准中都使用qcldpc代码。qcldpc代码的pcm形成具有多个循环矩阵的特别的构成。循环矩阵是指各行构成为将其紧前的行的要素进行一次循环移位而得的形式的正方矩阵,重合的斜向的列(foldeddiagonal:折叠对角)能够存在一个、两个、或者更多个。各循环矩阵的尺寸(大小)是q×q。在此q称为“qcldpc代码的循环系数(cyclicfactor)。通过如上述的准循环的构造,能够并行处理q个校验节点,qcldpc代码是明确有利于进行高效的硬件安装的代码。

图2是作为一例表示循环系数q=8时的qcldpc代码的pcm的图。另外,在图2以及后述的图3至图5中,最小的一个四边形代表pcm的一个要素,其中,涂黑的四边形的要素为“1”,此外的要素为“0”。该pcm具有循环矩阵,该循环矩阵具有一个或者两个重合的斜向的列。该qcldpc代码将8×6=48比特的块编码为8×12=96比特的代码字。因此,该qcldpc代码的编码率为48/96=1/2。代码字比特被分割为具有q比特的多块。在本说明书中,将循环系数q比特的块称为循环块(或者循环组)。

在qcldpc代码中,包括重复累积准循环低密度奇偶校验(repeat-accumulatequasi-cycliclow-densityparitycheck:raqcldpc)代码这样的特别类型。raqcldpc代码由于易于编码而众所周知,在诸多的标准(例如、dvb-s2标准、dvb-t2标准、dvb-c2标准之类的第二代dvb标准)中均被使用。pcm的右侧对应奇偶比特,该部分中的“1”的要素的配置形成阶梯构造。图3例示了编码率为2/3时的raqcldpc代码的pcm。

另外,dvb-t是digitalvideobroadcasting–terrestrial(数字视频地面广播)的缩写,dvb-s2是digitalvideobroadcasting-secondgenerationsatellite(数字视频广播-第二代卫星)的缩写,dvb-t2是digitalvideobroadcasting-secondgenerationterrestrial(数字视频广播-第二代地面)的缩写,dvb-c2是digitalvideobroadcasting-secondgenerationcable(数字视频广播-第二代有线)的缩写。

通过针对图3所示的pcm实施变换该行的排列顺序的简单的行置换,如图4所示,除去奇偶部分而得的raqcldpc代码的准循环构造变得明确。行置换仅表示变更图表上的表现,不会对代码的定义产生任何影响。

通过只对实施行置换后的图4所示的pcm的奇偶比特实施变换比特的排列顺序的适当的置换,pcm的奇偶部分也会具有准循环构造。该方法在该技术领域众所周知,在dvb-t2标准等中以奇偶交织或者奇偶置换之类的名称来使用。图5表示针对图4所示的pcm实施奇偶置换之后而得的pcm。

通常,ldpc代码字的每个比特重要度均不同,另外,星座按每个比特其鲁棒级别不同。在将ldpc代码字的比特直接即不交织地映射至星座时,无法达到最优的性能。因此,在将ldpc代码字的比特映射至星座之前,需要交织ldpc代码字的比特。

为达该目的,如图1所示,在ldpc编码器120与星座映射器140之间设置有比特交织器130。通过精心地设计比特交织器130,有利于ldpc代码字的比特与由星座编码的比特的关联性提高,且接收性能改善。该性能通常使用作为sn比(signaltonoiseratio:snr,信噪比)的函数的误码率(biterrorrate:ber)来测量。

按ldpc代码字的每个比特其重要度不相同的主要原因在于,不限于针对所有的比特实施相同次数的奇偶校验。对代码字比特(变量节点)实施的奇偶校验的次数(校验节点的数量)越多,则在重复ldpc解码处理中代码字比特的重要度越高。另一原因在于,ldpc代码的泰纳(tanner)图表现中的针对循环的连接性(connectivity)按每个变量节点不同。因此,存在即使对代码字比特实施相同次数的奇偶校验,代码字比特的重要度也不同的可能性。这些见解在该技术领域中众所周知。作为原则,若与变量节点连结的校验节点的数量越大,则该变量节点的重要度增加。

尤其在qcldpc代码的情况下,q比特的循环块所包含的所有比特被实施相同次数的奇偶校验,在tanner图中相对于循环的连接性相同,因而具有相同的重要度。

同样地,在星座中被编码后的比特的鲁棒级别不同也是众所周知的事实。例如,复正交振幅调制(quadratureamplitudemodulation:qam)星座由两个各自独立的脉冲振幅调制(pulseamplitudemodulation:pam)码元构成,其中,一个对应实部,另一个对应虚部。两个pam码元分别对相同数m的比特进行编码。如表示使用格雷(gray)编码的8pam码元的图6所示,在一个pam码元中被编码后的比特的鲁棒级别彼此不同。如此地,鲁棒级别彼此不同是由于,由各比特(0或者1)定义的两个子集之间的距离按每个比特不同。该距离越大,则该比特的鲁棒级别或者信赖度越高。在图6中,比特b3的鲁棒级别最高,比特b1的鲁棒级别最低。

因此,16qam星座对4个比特进行编码,具有2个鲁棒级别。64qam星座对6个比特进行编码,具有3个鲁棒级别。256qam星座对8个比特进行编码,具有4个鲁棒级别。

在本说明书中,为了说明而使用以下参数。

循环系数:q=8

一个ldpc代码字的循环块数:n=12

一个星座的比特数:m=4、即16qam

在上述参数中,一个ldpc代码字被映射的星座数为q×n/m=24。通常,参数q以及n的选择必须以在系统所支持的所有星座中q×n为m的倍数的方式来执行。

图7为表示上述参数所对应的通常的交织器的构成的框图。在图7中,qb1、···、qb12为12个循环块,c1、···、c24为24个星座字。在图7的例子中,比特交织器710对ldpc代码字的96比特进行交织。

作为以往的比特交织器,dvb-t2标准(etsien302755)的比特交织器众所周知。dvb-t2标准为改良电视标准即dvb-t标准而得的标准,记载有数字地面电视广播用的第二代基线发送系统。在dvb-t2标准中,详述了用于发送数字电视服务或通常的数据的信道编码调制系统。

图8(a)为表示在dvb-t2标准中使用的调制器(dvb-t2调制器)的构成的框图。图8(a)所示的dvb-t2调制器800包括输入处理单元810、bicm编码器820、帧构造器830、以及ofdm产生器840。

输入处理单元810将输入比特流变换为规定长度的多个块。bicm编码器820针对输入实施bicm处理。帧构造器830利用来自bicm编码器820的输入等生成dvb-t2方式的传送帧构成。ofdm产生器840针对dvb-t2方式的传送帧构成,执行导频附加、快速逆傅里叶变换、保护间隔插入等,输出dvb-t2方式的发送信号。

dvb-t2标准中使用的bicm在etsi标准en302755的第6章中予以说明。该标准在本说明书中引用,以下记述了该说明。

图8(b)为表示图8(a)所示的dvb-t2调制器的bicm编码器820的构成的框图。但是,在图8(b)中,省略了bch外编码、星座旋转、信元交织器、时间交织器等。

bicm编码器820包括ldpc编码器821、比特交织器(包括奇偶交织器822、列-行交织器823)、比特-信元解复用器824、以及qam映射器825。

ldpc编码器821使用ldpc代码将块编码成为代码字。比特交织器(奇偶交织器822、列-行交织器823)针对代码字的比特,实施变换其排列顺序的交织处理。比特-信元解多路复器824将被实施交织处理后的代码字的比特解复用为信元字(星座字)。qam映射器825将各信元字(星座字)映射至复数qam码元。再有,复数qam码元也称为信元。事实上,比特-信元解复用器824可以视为比特交织器的一部分。此时,基于dvb-t2标准的bicm编码器能够当作具备图1所示的标准构成。

在dvb-t2标准中使用的ldpc代码为具有循环系数q=360的raqcldpc代码。在dvb-t2标准中,代码字长定义为16200比特与64800比特这两种。在本说明书中,将代码字长为16200比特的ldpc代码以及代码字长为64800比特的ldpc代码称为“16k代码(或者、16kldpc代码)”以及“64k代码(或者64kldpc代码)”。有关一个代码字所包含的循环块数,16k代码时为45个、64k代码时为180个。与这两种块长(代码字长)对应的可使用的代码列举在作为dvb-t2标准的etsien302755的表a.1~表a.6中。

比特交织器只针对大于qpsk的星座利用,包括奇偶交织器822、列-行交织器823、以及比特-信元解复用器824。另外,在dvb-t2标准的定义中,比特交织器不包括比特-信元解复用器824。可是,由于本发明是涉及在星座映射前对ldpc代码实施的交织的发明,因此比特-信元解复用器824也可作为比特交织器的一部分来处理。

奇偶交织器822如上述(参照图4以及图5),为了使奇偶比特的准循环构造变得明确、执行变换代码字的奇偶比特的排列顺序的奇偶置换。

列-行交织器823在概念上,通过将ldpc代码字的比特沿交织器矩阵的列写入,并沿行读出来发挥功能。ldpc代码字所包含的最初的比特最初被写入,最初被读出。列-行交织器823写入ldpc代码字的比特之后,在开始读出比特之前,使比特相对于该列循环地错开规定数的位置。这在dvb-t2标准中称为“列扭曲(columntwisting)”。以下的表1中示出了与上述两种ldpc代码字长和各种星座大小对应的交织器矩阵的列数nc和行数nr。

[表1]

在256qam星座中除了16k代码的情况,列数nc为一个星座的比特数的2倍。该例外的理由是由于,ldpc代码字长16200并非16即256qam星座中的比特数的2倍的倍数。

有关列-行交织器823的16k代码的代码字的比特的写入处理以及读出处理,图9(a)、(b)中表示列数为12的情况,图10(a)、(b)中表示列数为8的情况。在各图中,小的四边形分别对应ldpc代码字的1比特,涂黑的四边形表示ldpc代码字的起始比特。箭头标记表示比特被写入至交织器矩阵、并从交织器矩阵被读出的顺序。例如,交织器矩阵的列数为12时,16k代码的代码字的比特如图9(a)所示,按照(行1、列1)、(行2、列1)、···、(行1350、列1)、(行1、列2)、···、(行1350、列12)的顺序被写入,如图9(b)所示,按照(行1、列1)、(行1、列2)、···、(行1、列12)、(行2、列1)、···、(行1350、列12)的顺序被读出。另外,列扭曲处理在图9(a)、(b)以及图10(a)、(b)中未表示。

在qam映射之前,比特-信元解复用器824通过对各ldpc代码字进行解复用,得到多个并行比特流。流数在256qam星座中除了16kldpc代码的情况之外,是在一个qam星座中被编码的比特数m的2倍、即2×m。另外,在256qam星座中16kldpc代码的情况下,流数是在一个qam星座中被编码的比特数m。将在1个星座中被编码的m比特称为信元(cell)字(或者星座字)。如以下,在16kldpc代码中,从一个代码字得到的信元字的数量为16200/m。

qpsk时,8100信元

16qam时,4050信元

64qam时,2700信元

256qam时,2025信元

根据上述表1,大于qpsk的星座的并行流的数量等于列-行交织器的列数。有关16kldpc代码,分别在图11、图12、图13中示出了16qam星座、64qam星座、256qam星座所对应的比特-信元解复用器。另外,比特的标记是在dvb-t2标准中使用的标记。

比特-信元解复用器如图11(图12、图13)所示,包括单纯解复用器1110(1210、1310)与解复用置换单元1120(1220、1320)。

比特-信元解复用器通过单纯解复用器1110(1210、1310)只对实施交织处理而得的ldpc代码字进行解复用,除此之外,通过解复用置换单元1120(1220、1320)针对解复用而得的并行比特流进行变换其排列顺序的置换处理。

其中,重要的是认识到下点:由于使用列-行交织器时(16qam星座以上),并行比特流的数量与列-行交织器的列数相同,因此比特流的置换等同于针对列-行交织器的列变换其排列顺序的置换。这是能够将比特-信元解复用器的置换视为比特交织器的一部分的理由。

在本质上,在dvb-t2标准中使用的比特交织器附带有2个问题。

第一个问题是,在ldpc代码字中的循环块的数量并非比特交织器矩阵的列数的倍数时,损害并行性。若并行性降低则等待时间(latency)增大。尤其在接收器中使用重复bicm译码时,这会成为问题。该状况在dvb-t2标准时,在ldpc代码字长与星座的尺寸的组合中的若干组合中发生。

图14以及图15分别为表示在16kldpc代码中,交织器矩阵的列数为8以及12时所发生的上述的状况的图。在16qam星座以及256qam星座中,使用8列的交织器矩阵。在64qam星座中,使用12列的交织器矩阵。栅格表示ldpc代码字,小的四边形表示ldpc代码字的1比特,行对应循环块,列与在多个循环块中彼此具有同一比特索引的比特相对应。涂黑的四边形表示交织器矩阵的起始行中的8比特以及12比特。另外,为了易于理解,将一个循环块的比特数从360削减至72地进行图示,但据此不会对理解程度产生影响。

第二个问题是,在dvb-t2标准中,可能的比特交织器的构成的数量受比特交织器矩阵的列数限制。

dvb-t2比特交织器的进一步的问题是,由于列扭曲处理会更为损害置换的规则性以及并行性。图16以及图17分别表示与图14以及图15同样的状况,其不同之处在于,适用了列扭曲处理。在16kldpc代码中交织器矩阵为8列时,在dvb-t2比特交织器中使用的每一列的列扭曲值为(0,0,0,1,7,20,20,21)。另外,在16kldpc代码中交织器矩阵为12列时,在dvb-t2比特交织器中使用的每一列的列扭曲值为(0,0,0,2,2,2,3,3,3,6,7,7)。

因此,需要提供一种比特交织器,减少等待时间并提高并行性。这些特性在重复bicm译码中尤为重要。

《发明人所得的见解》

发明人潜心研究的结果是得到如下见解,即在满足以下两个条件时,能够提供非常高效的交织器。

(条件1)

各星座字的m个比特映射至ldpc代码字的m个不同的循环块。这与从ldpc代码字的m个不同的循环块按各1比特映射至星座字等价。图18(a)表示该概要。

(条件2)

映射至m个循环块的全部的星座字仅被映射至该m个循环块。这与由q比特组成的m个不同的循环块的m×q个比特全部仅被映射至q个星座字等价。图18(b)表示该概要。

在上述条件中,正好q个星座字映射至各m个循环块。

《实施方式(其1)》

以下,说明满足上述条件1、条件2的比特交织器(并行比特交织器)的细节。另外,在以下中,针对实质上相同的内容、以及进行相同的处理内容的构成单元赋予相同的标记。

在本说明书中,将由m个循环块构成的组中的每一组、或者由q个星座字构成的组中的每一组称为“区段(或者交织器区段)”。

图19以及图20为表示本发明的一实施方式所涉及的、满足与上述参数(q=8、m=4、n=12)对应的条件1、条件2的比特交织器的映射的功能的图以及表示该比特交织器的一构成例的框图。

在图19以及图20中,qc-ldpc代码的代码字通过各自由q=8个比特组成的n=12个的循环块qb1~qb12构成。24个星座字分别由m=4个比特构成,分别表示2m=16个星座点中的某一个。比特交织器划分为n/m=3个区段,24个星座字与n/m=3个区段中的某一个建立关联。

比特交织器2000具有比特置换单元2010,比特置换单元2010具有彼此独立地(彼此不依赖地)动作的n/m(=3)个区段置换单元2021、2022、2023。另外,也可以代替具备3个区段置换单元,例如使用一个区段置换单元边按照时序切换处理对象边进行后述的三个置换处理。

区段置换单元(2021、2022、2023)彼此独立(彼此不依赖),按照从4个循环块(qb1~qb4、qb5~qb8、qb9~qb12)中的每一块以各1比特映射至8个星座字(c1~c8、c9~c16、c17~c24)中的每一个的方式,针对4个循环块的共计32个比特实施变换其排列顺序的区段置换处理。

上述两个条件1、条件2只保证比特交织器被划分为n/m个并行区段。在针对这些并行区段实施的区段置换处理中,适用彼此相同的置换规则亦可,适用彼此不同的置换规则亦可,适用只一部分彼此相同的置换规则亦可。

例如,区段置换单元将循环块的q个比特(在ldpc译码处理中重要度彼此相等)映射至q个星座字的相同比特索引的比特(鲁棒级别彼此相等)亦可。在各个循环块中,q个比特能够按照顺序、或者按照被置换的顺序排列。后者使用图21(a)、(b)来说明,前者使用图22(a)、(b)来说明。

图21(a)是表示图20的区段置换单元的一构成例的图。

区段置换单元2101具有循环块内置换单元2111~2114、以及列-行置换单元2131。另外,也可以代替具备4个循环块内置换单元,例如使用一个循环块内置换单元边按照时序切换处理对象边进行后述的4个循环块内置换处理。

循环块内置换单元(2111~2114)针对循环块(qb1~qb4)的q个(8个)比特实施变换其排列顺序的循环块内置换处理。在针对1个区段内的循环块实施的循环块内置换处理中,例如适用彼此相同的置换规则亦可,适用彼此不同的置换规则亦可,适用只一部分彼此相通的置换规则亦可。

列-行置换单元2131针对m×q个(32个)比特,实施变换该排列顺序的列-行置换处理。详细而言,列-行置换单元2131进行与在q列m行(8列4行)的矩阵的行方向写入m×q个(32个)比特并在列方向读出所写入的m×q个(32个)比特等价的列-行置换处理。另外,列-行置换单元2131的列-行置换处理为:将图9(a)、(b)的12列1350行置换成q列m行,写入处理从列方向变换至行方向,读出处理从行方向变换至列方向。

图21(b)是表示图21(a)的区段置换单元的映射的功能的图。在图21(b)中,各星座字的m=4个比特用b1~b4表示。

其中,在区段置换处理中不实施循环块内置换处理亦可。

图22(a)以及图22(b)表示图20的区段置换的其他例子即不实施循环块内置换处理的区段置换单元的一构成例以及该区段置换单元的映射的功能。区段置换单元2201具有列-行置换单元2131,只进行列-行置换处理。在图22(b)中,各星座字的m=4个比特用b1~b4表示。

其中,针对循环块qb5~qb8、qb9~qb12进行通过图21以及图22分别说明的区段置换亦可。

在本发明的其他实施方式中,比特交织器在进行区段置换处理前,附加性地针对n个循环块进行变换其排列顺序的循环块置换处理。图23表示附加性地实施循环块置换处理的比特交织器的一构成例。这里的循环块置换发挥与dvb-t2标准的比特-信元解复用器的置换同样的作用。

图23所示的比特交织器2300包括循环块置换单元2310、以及比特置换单元2010(包含区段置换单元2021~2023)。

循环块置换单元2310针对循环块qb1~qb12实施变换其排列顺序的循环块置换处理2311~2318。另外,在循环块置换处理2311~2318中使用的置换规则彼此相同。

针对n个循环块实施的循环块置换据此能够将ldpc代码字的比特最优地映射至星座的比特,有利于接收性能的最优化,因此尤为有益。

图24是表示图23的比特交织器的一构成例的框图。图24的比特交织器2400实施下述的阶段(stage)a、b、c的3个置换处理。

阶段a:循环块(间)置换

阶段b:循环块内置换

阶段c:列-行置换

在此,循环块(间)置换为变换构成代码字的n个循环块的排列顺序的置换,循环块内置换为变换构成循环块的q个比特的排列顺序的置换,列-行置换为变换构成区段的m×q个比特的排列顺序的置换。

图24所示的比特交织器2400包括循环块置换单元2310、以及比特置换单元2010(区段置换单元2101~2103)。区段置换单元2101(2102、2103)包括循环块内置换单元2111~2114(2115~2118、2119~2122)、列-行置换单元2131(2132、2133)。

比特交织器2400通过循环块置换单元2310进行循环块(间)置换(阶段a),通过循环块内置换单元2111~2122进行循环块内置换(阶段b),通过列-行置换单元2131~2133进行列-行置换(阶段c)。

从图24所示的比特交织器中移除循环块内置换单元111~2122,按照不进行循环块内置换的方式构成比特交织器亦可。另外,比特交织器也可以代替在循环块(间)置换之后实施循环块内置换,而在循环块(间)置换之前实施循环块内置换亦可,在循环块(间)置换前后实施循环块内置换亦可。

另外,多个循环块内置换单元彼此为同样的构成亦可。因此,多个循环块内置换单元可通过同一功能资源(硬件结构等)进行安装。另外,多个循环块内置换由循环性的移位处理构成亦可,该情况下,能够实现使用桶形移位器的高效的硬件安装。也能够利用用于ldpc译码器的桶形移位器进行安装。

以下,使用图25说明包含进行满足条件1、条件2的比特交织处理的比特交织器的发射器的一构成例。

图25为表示本发明的再其他实施方式所涉及的发射器的一构成例的框图。图25所示的发射器2500包括bicm编码器(包含ldpc编码器2510、比特交织器2520、星座映射器2530)、以及调制器2540。

ldpc编码器2510使用qc-ldpc代码将输入块编码为代码字,并将代码字向比特交织器2520输出。

比特交织器2520从ldpc编码器2510接收qc-ldpc代码的代码字。该代码字由n=12个循环块构成,各循环块由q=8个比特构成。并且,比特交织器2520针对代码字的比特实施变换其排列顺序的交织处理。比特交织器2520将实施比特交织处理后的代码字分割为分别由m=4个比特构成且分别表示2m=16个规定的星座点中的某一个星座点的多个星座字并向星座映射器2530输出。其中,比特交织器2520作为比特交织处理进行例如通过图19~图22说明的、或者作为其变形说明的比特置换处理。或者,比特交织器2520作为比特交织处理除了比特置换处理之外,还追加进行例如通过图23~图24说明的、或者作为其变形说明的循环块置换处理。

星座映射器2530从比特交织器2520接收星座字,针对所接收到的星座字进行星座映射处理。

调制器2740进行正交频分复用(orthogonalfrequencydivisionmultiplexing:ofdm)调制等并生成发送信号。

以下,使用图26说明包含进行满足条件1、条件2的比特交织处理的比特交织器的bicm编码器的一安装例。

图26是表示本发明的再其他实施方式所涉及的bicm编码器的一安装例的框图。图26的bicm编码器2600与上述参数(q=8、n=12、m=4)对应。

图26所示的bicm编码器2600包括主存储器2601、ldpc控制器2611、旋转器2612、校验节点处理器群2613、解旋器(derotator)2614、qb计数器2631、表2632、交织器2633、寄存器群2634、交织器2635、以及映射器群2651。

在图26中,考虑q=8,主存储器2601的读出每8比特地进行,校验节点处理器群2613具有8个校验节点处理器,映射器群2651存在8个映射器。另外,考虑m=4,寄存器群2634具有4个寄存器。

主存储器2601从例如输入处理单元(未图示)接收应发送的比特列,并保持所接收的比特列。

ldpc控制器2611针对主存储器2601输出读出地址,据此主存储器2601从比特列的起始起每8比特地向旋转器2612输出。旋转器2612受ldpc控制器2611的控制,对从主存储器2601供给的8比特进行规定数循环移位,针对校验节点处理器群2613的各校验节点处理器每1比特地输出循环移位后的8比特。各校验节点处理器群2613的各校验节点处理器受ldpc控制器2611的控制,针对输入的1比特进行校验节点处理,将1比特的处理结果向解旋器2614输出。解旋器2614受ldpc控制器2611的控制,按照抵销旋转器2612的循环移位的方式对从校验节点处理器群2613接收的8比特进行规定数循环移位,将循环移位后的8比特向主存储器2601输出。ldpc控制器2611针对主存储器2601输出写入地址,据此主存储器2601保持从解旋器2614供给的8比特。其中,ldpc控制器2611、旋转器2612、校验节点处理器群2613、以及解旋器2614构成图25中的bicm编码器的ldpc编码器2510。

qb计数器2631从0起直到11为止地进行计数,将计数值向表2632输出。另外,qb计数器2631的计数动作考虑n=12。

表2632为存储循环块置换的规则的单纯的查找表。即,表2632保持n=12个的循环块的读出顺序的信息(将各自不同的循环块与qb计数器2631的12个计数器值建立对应的信息)。表2632针对主存储器2601输出读出地址,以使与从qb计数器2631供给的计数器值对应的1个循环块量的比特(q=8个比特)从主存储器2601向交织器2633供给。据此,主存储器2601将与qb计数器2631的计数器值对应的1个循环块量的比特向交织器2633输出。另外,通过该表2632的处理实现循环块置换(阶段a)。

交织器2633使从主存储器2601供给的1个循环块量的比特进行规定数循环移位,输出至寄存器群2634的第一级的寄存器。另外,通过该交织器2633的处理实现循环块内置换(阶段b)。其中,寄存器群2634的各寄存器按照接收控制脉冲的定时保持1个循环块量的比特,持续输出所保持的1个循环块量的比特直到下一次接收控制脉冲为止。

若针对qb计数器2631的计数器值“0”~“3”实施上述的内容处理,则交织器2635中输入4个循环块量的比特(32个比特)。在该定时,交织器2635针对输入的4个循环块量的比特实施交织处理并对映射器群2651的各映射器输出1个星座字量的比特(m=4个比特)。通过交织处理,针对各映射器,从寄存器群2634的4个寄存器中的每一个以各1比特供给共计4比特。另外,通过交织器2635的处理实现列-行置换(阶段c)。

其中,qb计数器2631、表2632、交织器2633、寄存器群2634、以及交织器2635构成图25中的bicm编码器的比特交织器2520。

映射器群2651的各映射器将从交织器2635供给的4个比特映射至星座,输出映射结果。其中,映射器群2651构成图25中的bicm编码器的星座映射器2530。

针对1个代码字,qb计数器2631的计数器值从“0”到“3”、从“4”到“7”,从“8”到“11”共计进行了3次上述一系列的处理。

另外,在图26的一安装例中,包含并行地进行动作的q个映射器,但也能够更为降低或者提高并行度地安装bicm编码器。例如,容易理解的是,通过使比特交织器中的并行交织器区段数即n/m增加,能够简便地提高并行性。在这样的方法中,通过并行地设定q×n/m个映射器能够使并行化最大化。比特交织器存在如下优点,即能够无任何障碍地实现这样的并行性。

以下,利用附图说明接收来自下述发射器的信号的接收器,该发射器包含实施满足条件1、条件2的比特交织处理的比特交织器。

图27为表示本发明的再其他实施方式所涉及的具有非重复bicm译码器的接收器的一构成例的框图。接收器进行与发射器相反的动作。

图27所示的接收器2700包括调制器2710、以及非重复bicm译码器(包含星座解映射器(constellationdemapper)2720、以及比特解交织器2730、ldpc译码器2740)。

解调器2710进行ofdm等的解调处理,输出解调处理结果。

非重复bicm译码器的星座解映射器2720针对来自调制器2710的输入实施解映射处理并生成所谓软比特列(softbitstring),将生成的软比特列向星座解映射器2730输出。各软比特是表示各比特是0还是1的概率的标准。通常,软比特通过对数似然比(loglikelihoodratios:llrs)表现,定义如下。

llr(b)=ln[p(b=0)/p(b=1)]

p(b=0)表示比特b为0的概率,p(b=1)表示比特b为1的概率。其中,p(b=0)+p(b=1)=1成立。

比特解交织器2730针对从星座解映射器2720输出的软比特列,进行交织处理(比特解交织处理),该交织处理为抵销图25的发射器内的比特交织器针对比特列实施的比特交织处理并返回至原始的排列的处理。

ldpc译码器2740从比特解交织器2730接收实施过比特解交织后的软比特列,使用接收的软比特列进行ldpc解码处理。

作为能够显著提高接收性能的技术之一,有重复bicm解码处理。利用图28说明重复bicm译码器。

图28为表示本发明的再其他实施方式所涉及的具有重复bicm译码器的接收器的一构成例的框图。接收器进行与发射器相反的动作。

图28所示的接收器2800包括调制器2710、以及重复bicm译码器(包含星座解映射器2720、以及比特解交织器2730、ldpc译码器2740、减法运算单元2760、比特交织器2750)。

图28的接收器2800通过星座解映射器2720进行星座解映射处理,通过比特解交织器2730进行比特解交织处理,通过ldpc译码器2740进行ldpc解码处理。

一次或者多次执行ldpc解码的重复处理之后,减法运算单元2760从ldpc译码器2740的输出减去ldpc译码器2740的输入,将减法运算后所得的外部信息(extrinsicinformation)向比特交织器2750输出。比特交织器2750针对外部信息,进行与图25的发射器内的比特交织器针对比特列实施的比特交织处理相同的交织规则的交织处理。并且,比特交织器2750将实施实施交织处理后的外部信息向星座解映射器2720反馈。星座解映射器2720将反馈的外部信息用作事前信息(a-prioriinformation),算出信赖性更高的llr值。并且,比特解交织器2730针对新算出的llr值,进行交织处理(比特解交织处理),该交织处理为抵销图25的发射器内的比特交织器针对比特列实施的比特交织处理并返回至原始的排列的处理。ldpc译码器2740利用实施比特解交织处理后的llr值进行ldpc解码处理。

如图28所示,重复解码的循环(loop)由四个要素构成,即由星座解映射器2720、比特解交织器2730、ldpc译码器2740、以及比特交织器2750构成。有关比特解交织器2730与比特交织器2750,若等待时间非常短,理想而言为零,并且构成简单,则能够进行接收器的高效的安装。上述的比特解交织器2730与比特交织器2750满足双方的条件。

利用图29说明实现非常高效的并行安装的重复bicm译码器的一安装例。

图29是表示本发明的再其他实施方式所涉及的bicm译码器的一安装例的框图。图29的bicm译码器2900与上述参数(q=8、n=12、m=4)对应。

图29所示的bicm译码器2900包括主llr存储器2901、缓冲llr存储器2902、ldpc控制器2911、旋转器2912、校验节点处理器群2913、解旋器2914、qb计数器2931、表2932、减法运算单元2933、交织器2934、寄存器群2935、交织器2936、解映射器群2937、解交织器2938、寄存器群2939、解交织器2940、以及延迟单元2941。

在图29中,考虑q=8,主llr存储器2901以及缓冲llr存储器2902的读出按每8个llr值地进行,校验节点处理器群2913具有8个校验节点处理器,解映射器群2951存在8个解映射器。另外,考虑m=4,寄存器群2935、2972具有4个寄存器。

解映射器群2937的各解映射器利用解调器(未图示)的输出进行解映射处理,将据此所得的llr值向解交织器2938输出。其中,解映射器群2937构成图28中的重复bicm译码器的星座解映射器2720。

解交织器2938针对llr值实施解交织处理(抵销发射器的阶段c的交织的交织处理),将解交织后的llr值输出至寄存器群2939的各寄存器。其中,每一个寄存器存放有1个循环块量的llr值(8个llr值)。在寄存器群2939中,由寄存器保持的1个循环块量的llr值依次输出至后级,各寄存器的保持内容依次更新。解交织器2940针对被供给的1个循环块量的llr值(8个llr值)实施交织处理(抵销发射器的阶段b的交织的交织处理),按照表2932的保持内容(后述)写入至主llr存储器2901以及缓冲llr存储器2902。另外,通过按照表2932的保持内容向主llr存储器2901以及缓冲llr存储器2902写入,能够实现抵销发射器的阶段a的交织的交织处理。

按照这样的方式,主llr存储器2901存储解交织处理后的llr值,由ldpc译码器(ldpc控制器2911、旋转器2912、校验节点处理器群2913、解旋器2914)使用。ldpc解码处理由1次或者多次重复构成的重复处理。在ldpc解码处理的各重复中,更新主llr存储器2901内的llr值。为了算出重复bicm解码处理所需的外部信息,旧的llr值保持于缓冲llr存储器2902。

在此,记载ldpc译码器的处理。

ldpc控制器2911按照ldpc代码的奇偶校验矩阵针对主llr存储器2901输出读出地址,据此主llr存储器2901按每1个循环块量地将llr值向旋转器2912依次输出。旋转器2912受ldpc控制器2911的控制,对从主llr存储器2901依次供给的1个循环块量的llr值进行规定数循环移位,针对校验节点处理器群2913的各校验节点处理器依次输出各1个循环移位后的llr值。各校验节点处理器群2913的各校验节点处理器受ldpc控制器2911的控制,针对依次输入的一系列的llr值进行校验节点处理。接着,校验节点处理器群2913的各校验节点处理器受ldpc控制器2911的控制,依次输出作为校验节点处理的结果的一系列的llr值。解旋器2914受ldpc控制器2911的控制,按照抵销旋转器2912的循环移位的方式对从校验节点处理器群2913依次接收的1个循环块量的处理结果进行规定数循环移位,将循环移位后的处理结果向主llr存储器2901依次输出。ldpc控制器2911按照ldpc代码的奇偶校验矩阵针对主llr存储器2901输出写入地址,据此主llr存储器2901保持从解旋器2914依次供给的1个循环块量的处理结果。ldpc控制器2911按照ldpc代码的奇偶校验矩阵反复执行以上的处理。

执行规定次数的ldpc重复处理之后,执行bicm重复处理。ldpc以及bicm重复处理也分别称为“内在重复处理”以及“外在重复处理”。另外,也能够使这两种类的重复处理重叠地进行安装。据此,能够提高收敛的速度。bicm以及ldpc解码处理在该技术领域中众所周知,因此省略详细的说明。

qb计数器2931从0起直到11为止地进行计数,将计数值向表2932输出。另外,qb计数器2931的计数动作考虑n=12。

表2932为存储循环块置换的规则的单纯的查找表。即,表2932保持n=12个的循环块的读出顺序(写入顺序)的信息(将各自不同的循环块与qb计数器2631的12个计数器值建立对应的信息)。表2932按照从qb计数器2931供给的计数器值所对应的1个循环块量的llr值从主llr存储器2901以及缓冲llr存储器2902向减法运算单元群2933供给的方式,针对主llr存储器2901以及缓冲llr存储器2902输出读出地址。据此,主llr存储器2901以及缓冲llr存储器2902分别将与qb计数器2931的计数器值对应的1个循环块量的llr值向减法运算单元2934输出。在此,按照来自主llr存储器2901以及缓冲llr存储器2902的llr值的读出位置与该llr值向主llr存储器2901以及缓冲llr存储器2902的写入位置一致的方式,实施延迟单元2941的延迟调整。另外,通过该表2932的处理实现与循环块置换(阶段a)相当的置换。

减法运算单元群的各减法运算单元2933从主llr存储器2901的输出减去缓冲llr存储器2902的输出,将减法运算所得的1个循环块量的外部信息(8个外部信息)输出至交织器2934。

交织器2934使从减法运算单元2933供给的1个循环块量的外部信息进行规定数循环移位,输出至寄存器群2935的第一级的寄存器。另外,通过该交织器2934的处理实现与循环块内置换(阶段b)相当的处理。其中,寄存器群2935的各寄存器接收控制脉冲从而保持8个比特,持续输出所保持的8个比特直到下一次接收控制脉冲为止。

若针对qb计数器2931的计数器值“0”~“3”实施了上述的处理内容,则交织器2936中输入4个循环块量的外部信息(32个外部信息)。在该定时,交织器2936针对输入的4个循环块量的外部信息实施交织处理并对解映射器群2937的各解映射器输出1个星座字量的外部信息(m=4个的外部信息)。通过交织处理,针对解映射器群2951的各解映射器,从寄存器群2935的4个寄存器中的每一个逐一地供给共计4个外部信息。另外,通过交织器2936的处理实现与列-行置换(阶段c)相当的处理。

其中,qb计数器2931、表2932、交织器2934、寄存器群2935、以及交织器2936构成图28中的bicm译码器的比特交织器2750。

解映射器群2937的各解映射器将从交织器2936供给的4个外部信息用作事前信息进行解映射处理,将新的llr值向解交织器2938输出。

解交织器2938针对llr值实施解交织处理(抵销发射器的阶段c的交织的交织处理),将解交织后的llr值输出至寄存器群2939的各寄存器。其中,每一个寄存器存放有1个循环块量的llr值(8个llr值)。在寄存器群2939中,由寄存器保持的1个循环块量的llr值依次输出至后级,各寄存器的保持内容依次更新。解交织器2940针对被供给的1个循环块量的llr值(8个llr值)实施解交织处理(抵销发射器的阶段b的交织的交织处理),输出至主llr存储器2901以及缓冲llr存储器2902。主llr存储器2901以及缓冲llr存储器2902从表2932经由延迟单元2941接收写入地址,按照所接收的写入地址,保持从解交织器2940接收的1个循环块量的llr值(8个llr值)。通过按照表2932的写入处理,能够实现抵销发射器的阶段a的交织的交织处理(解交织处理)。

针对1个代码字,qb计数器2931的计数器值从“0”到“3”、从“4”到“7”,从“8”到“11”共计进行了3次上述一系列的处理。

其中,qb计数器2931、表2932、解交织器2938、寄存器群2939、以及解交织器2940构成图28中的bicm译码器的比特解交织器2730。

交织器2934以及解交织器2940可重构,虽然花费一定的硬件成本,但成本能够通过精心的设计控制在最低限度。交织器2936以及解交织器2938安装了列-行置换,该置换对于规定的星座尺寸是固定的。因此,安装成本低。

另外,在图29的一安装例中,包含并行地进行动作的q个解映射器,但也能够更为降低或者提高并行度地安装重复bicm译码器。例如,容易理解的是,通过使比特交织器中的并行交织器区段数即n/m增加,能够简便地提高并行性。在这样的方法中,通过并行地设定q×n/m个解映射器能够使并行化最大化。上述的比特交织器存在如下优点,即能够无任何障碍地实现这样的并行性。

《发明人进一步的研讨》

前提是,在满足上述的条件1、条件2的交织器(并行交织器)中,星座字的位数m为循环块数n的约数。可是,通常不限于m为n的约数。作为例子,能够列举在dvb-t2规格中使用的16kldpc代码,16kldpc代码的代码字具有n=45个循环块。m不为n的约数时,针对m为偶数的qam星座等的正方形星座的映射并不容易。

因此,可以说,从n个循环块中将1个以上的循环块排除,只对剩余的循环块适用在上述的实施方式(其1)中说明了的交织器(并行交织器)这一方法是特有的解决方法。

换言之,比特交织器从n个循环块中选择为星座字的位数m的倍数的n’个循环块。比特交织器将选择的n’个循环块按照各自包含m个循环块的方式分割为n’/m个区段,针对各区段实施区段置换。对被排除的(未被选择的)循环块的比特不进行交织亦可,进行交织亦可。

尤其是实施方式涉及的比特交织方法是使用准循环低密度奇偶校验代码的通信系统中的比特交织方法,其特征在于,所述比特交织方法包括:接收步骤,接收由n个循环块构成的所述准循环低密度奇偶校验代码的代码字,该n个循环块分别由q个比特构成;比特置换步骤,对所述代码字的比特实施改变该代码字的比特的排列顺序的比特置换处理;分割步骤,将被实施了所述比特置换处理的代码字分割为多个星座字,该多个星座字分别由m个比特构成,并分别表示2m个规定的星座点中的某一个星座点;以及选择步骤,从n个循环块中选择是m(m表示每一个星座字的比特数)的倍数的n’个循环块的子集,被实施所述比特置换处理前的所述代码字被分割为n’/m个区段,所述各区段由m个所述循环块构成,各个所述星座字与所述n’/m个区段中的一个区段相关联,在所述比特置换步骤中进行所述比特置换处理,以便使各个所述星座字由合计m个比特构成,并且使所述各区段的所有比特仅映射至与该区段相关联的q个所述星座字,该合计m个比特由相关联的所述区段中的m个不同的所述循环块各自的1个比特构成。

同样地,实施方式涉及的比特交织器是使用准循环低密度奇偶校验代码的通信系统中的比特交织器,其特征在于,所述比特交织器具有:比特置换部,接收由n个循环块构成的所述准循环低密度奇偶校验代码的代码字,该n个循环块分别由q个比特构成,对所述代码字的比特实施改变该代码字的比特的排列顺序的比特置换处理,并将被实施了所述比特置换处理的代码字分割为多个星座字进行输出,该多个星座字分别由m个比特构成,并分别表示2m个规定的星座点中的某一个星座点;以及选择部,从n个循环块中选择是m(m表示每一个星座字的比特数)的倍数的n’个循环块的子集,被实施所述比特置换处理前的所述代码字被分割为n’/m个区段,所述各区段由m个所述循环块构成,各个所述星座字与所述n’/m个区段中的某一个区段相关联,所述比特置换部进行所述比特置换处理,以便使各个所述星座字由合计m个比特构成,并且使所述各区段的所有比特仅映射至与该区段相关联的q个所述星座字,该合计m个比特由相关联的所述区段中的m个不同的所述循环块各自的1个比特构成。

另外,也可以是,所述代码字的比特包括:不包含在所述选择的所述n’个循环块的子集中、而被设为不作为改变比特的排列顺序的对象的状态的比特组;或者,不包含在所述选择的所述n’个循环块的子集中、而仅适用于未被选择的循环块的、作为改变与所述比特置换处理相独立的比特的排列顺序的对象的比特组。

根据这种结构,能够将比特交织最大化。

例如,被排除的循环块为变量节点的权重最小的循环块亦可。raqcldpc代码(参照图5)的情况下,例如,被排除的循环块为奇偶部分(具有权重2的变量节点)的循环块亦可,该情况下,例如为从代码字的最后起1个以上的循环块亦可。

另外,也可以是,在所述选择步骤中,根据各循环块中所包含的比特的重要度选择所述循环块。

另外,也可以是,所述各循环块中所包含的比特的重要度是根据相关联的奇偶比特的数量而决定的。

另外,也可以是,所述代码字是重复累加准循环低密度奇偶校验代码,所述未被选择的循环块对应于代码字的奇偶区段。

根据这种结构,能够将与代码字相关的比特几乎都取入到最佳的交织中。减少未被取入到交织中的比特的数量能够大大提高整体效率。

另外,也可以是,被选择的n’个循环块的子集由从具有代码字的最初的比特的循环块起连续的n’个块构成。

根据这种结构,能够进一步使硬件的安装容易进行。尤其是在重复累加准循环低密度奇偶校验代码的奇偶校验矩阵中,代码字的最后的比特的比特关联性最低。

图30为表示适用在实施方式(其1)中说明的交织方法的适用对象的循环块与不适用的适用对象外的循环块(被排除的循环块)的图。其中,图30为针对代码为由dvb-t2规格定义的16kldpc代码,星座为16qam星座时的图。在图30的例子中,适用对象的循环块为44个循环块(1、···、44),适用对象外的循环块(被排除的循环块)只为其最终行的1个循环块45。另外,4个黑四方形表示第一号的星座字的4比特。

通常而言,交织器区段(由m个循环块构成的区段)的数为floor(n/m),被排除的循环块的数为rem(n,m)。在此,floor(n/m)为返回n/m以下最大的整数值的函数,rem(n,m)为返回n除以m而得的剩余值的函数。

在表2中,表示dvb-t2规格中的16kldpc代码(具有n=45个的循环块)所相关的、针对各种各样的星座尺寸(星座的比特数m)的区段数与被排除的循环块数。

[表2]

在满足上述说明了的条件1、条件2的交织方法中,各星座字映射至m个循环块。可是,针对较大尺寸的星座(星座点数多的星座),适用满足条件1、条件2的交织方法时,需要非常多的延迟寄存器(参照按照图26以及图29说明的安装例)。非常多的延迟寄存器的使用涉及到电路面积以及消费电力的增大。加之,使映射有星座字的循环块数减少会使外(bicm)的迭代与内(ldpc)的迭代间的重叠(overlapping)增大因而有益,使全体的bicm译码的等待时间减少。

通过将2比特以上的各星座字映射至相同的循环块,能够使映射有星座字的循环块的数减少。将映射至相同的循环块的星座字的比特的数称为“折叠系数”,记为“f”。例如,星座为16qam星座,f=2时,代替4个循环块星座字只映射至2个循环块。唯一的限制是,折叠系数f(大于1的整数)并非m与q的约数。另外,f=1无折叠,即,对应实施方式(其1)。

复数qam星座码元能够分离为2个相等的实pam(pulse-amplitudemodulation:脉冲幅度调制)码元。因此,qam星座的m比特能够分割为2个相等的实pam码元的m/2比特的子集,星座字的比特能够映射至相同的m/2个循环块。折叠系数f=2对qam星座而言有益。

在无法进行实数分解的复数星座、例如如在dvb-s2规格中使用的8psk(phaseshiftkeying:相移键控)、16apsk(amplitudephaseshiftkeying:振幅相移键控)、32apsk等中,折叠方法的利用并不容易。可是,若f为m的约数,则能够进行折叠的方法的利用。可是,已经无法保证各循环块的所有比特只映射至星座的同一的鲁棒级别的比特。

期望的是,在采用折叠的方法中,例如各循环块的所有比特映射至星座的同一的鲁棒级别的比特。

折叠具有减少被排除的循环块的数,或者,使被排除的循环块的数为0这一附加性的优点。如上述说明,由于适用在实施方式(其1)中说明的交织器(并行交织器),因此无需将构成代码字的循环块中的任意一块排除。

无折叠(f=1)时,由m个循环块构成的组的数(区段数)为floor(n/m),被排除的循环块数为rem(n,m)。另一方面,有折叠时,由m/f个循环块构成的组的数为floor(n/(m/f)),被排除的循环块数为rem(n,m/f)。作为该具体性的数值的例子,在表3中示出了使用于dvb-t2的ldpc代码。

[表3]

发明人得到如下见解,即为了进行折叠(f为2以上的整数),需要将条件1、条件2变更为下记的条件1a、条件2a。

(条件1a)

各星座字的m个比特映射至ldpc代码字的m/f个不同的循环块。这与从ldpc代码字的m/f个不同的循环块各f个比特地映射至星座字等价。图31(a)表示该概要。

(条件2a)

映射至m/f个循环块的全部的星座字只映射至该m/f个循环块。这与由q比特组成的m/f个不同的循环块的m×q/f个全部比特只映射至q/f个星座字等价。图31(b)表示该概要。

另外,f=1为无折叠,条件1a、条件2a与条件1、条件2相同。

《实施方式(其2)》

以下,说明满足上述条件1a、条件2a的比特交织器(并行比特交织器)的细节。另外,在以下中,针对本质上相同的内容、以及、进行相同的处理内容的构成单元赋予相同的标记。

在本说明书中,将由m/f个循环块构成的组中的每一组、或者、由q/f个星座字构成组中的每一组称为“折叠区段(或者、折叠交织器区段)”。

另外,f=1(无折叠)时,折叠交织器区段与交织器区段一致,比特交织器与实施方式(其1)的比特交织器为同一构成。

图32为表示本发明的再其他实施方式所涉及的、满足与q=8、m=4、n=12、f=2对应的条件1a、条件2a的比特交织器的一构成例的框图。

在图32中,qc-ldpc代码的代码字通过各自由q=8个比特组成的n=12个的循环块qb1~qb12构成。24个星座字分别由m=4个比特构成,分别表示2m=16个星座点的任意一个。比特交织器划分为f×n/m=6个折叠区段,24个星座字与f×n/m=6个折叠区段中的任意一个建立关联。

比特交织器2000a具有比特置换单元2010a,比特置换单元2010a具有彼此独立地(彼此不依赖地)动作的f×n/m=6个折叠区段置换单元2021a~2026a。另外,代替具备6个折叠区段置换单元,例如采用一个折叠区段置换单元边按照时序切换处理对象边进行后述的6个折叠区段置换处理亦可。

折叠区段置换单元(2021a、2022a、2023a、2024a、2025a、2026a)彼此独立(彼此不依赖),按照从m/f=2个循环块(qb1~qb2、qb3~qb4、qb5~qb6、qb7~qb8、qb9~qb10、qb11~qb12)中的每一个各f=2个的比特地映射至4个星座字(c1~c4、c5~c8、c9~c12、c13~c16、c17~c20、c21~c24)中的每一个的方式,针对2个循环块总计16个比特实施调换其排列顺序的折叠区段置换处理。

上述两个条件1a、条件2a只能保证比特交织器被划分为f×n/m个并行折叠区段。在针对这些并行折叠区段实施的折叠区段置换处理中,适用彼此相同的置换规则亦可,适用彼此不同的置换规则亦可,适用只一部分彼此相同的置换规则亦可。

例如,折叠区段置换单元将循环块的q个比特映射至q/f个星座字具有相同的鲁棒级别的比特。对此,列举q=8、m=4为例,利用图33以及图34来加以说明。

图34(a)为表示f=1(无折叠)的(折叠)区段置换单元的一构成例的框图,与图22(a)为同一构成。

图34(b)是表示图32的、f=2(有折叠)时的2个折叠区段置换单元的一构成例的框图。

其中,在图34(b)的例子中,星座为16qam星座。因此,在星座的比特中有2个鲁棒级别,比特b1与比特b3为同一鲁棒级别,比特b2与比特b4为同一鲁棒级别。

折叠区段置换单元2201a(2202a)具有列-行置换单元2131a(2132a)。

列-行置换单元2131a(2132a)针对循环块qb1~qb2(qb3~qb4)的q×m/f=16个比特实施调换该排列顺序的列-行置换处理。详细而言,列-行置换单元2131a(2132a)进行与在q列m/f行=8列2行的矩阵的行方向写入q×m/f=16个比特,在列方向读出写入的16个比特等价的列-行置换处理。另外,列-行置换单元2131a、2132a的列-行置换处理为图9(a)、(b)的12列1350行置换成q列m/f行,写入处理从列方向调换至行方向,读出处理从行方向调换至列方向。

另外,通过折叠系数f的折叠,映射至1个星座字的循环块数减少。据此,列-行置换中的矩阵的行数从m减少至m/f。

图33(a)为表示图34(a)的(折叠)区段置换单元的映射的功能的图,图33(b)为表示图34(a)的2个折叠区段置换单元的映射的功能的图。在图33(a)、(b)中,各星座字的m=4个比特用b1~b4表示。另外,用粗线圈定的部分表示有关星座字c1的映射。

在图33(a)、图34(a)的例子中,一个循环块的8比特(具有相同的重要度)映射至8个星座字的具有相同比特索引的比特(具有相同鲁棒级别)。另外,在图33(b)、图34(b)的例子中,一个循环块的8比特(具有相同的重要度)映射至4个星座字的相同鲁棒级别的比特。

其中,针对循环块qb5~qb6、qb7~qb8、qb9~qb10、qb11~qb12进行通过图34(b)说明的折叠区段置换亦可。

另外,在图34(a)、(b)的折叠区段置换单元中,在列-行置换的前段追加针对循环块qb1~qb4的比特进行调换其排列顺序的循环块内置换的单元亦可。

在本发明的再其他实施方式中,比特交织器在进行折叠区段置换处理前,附加性地针对n个循环块进行重排其排列顺序的循环块置换处理。图35表示附加性地实施循环块置换处理的比特交织器的一构成例。

图35所示的比特交织器2300a包括循环块置换单元2310、以及比特置换单元2010a(包含折叠区段置换单元2021a~2026a)。

图36是表示图35的比特交织器的一构成例的框图。

图36的比特交织器2400a包括循环块置换单元2310、以及比特置换单元2200a(包含折叠区段置换单元2201a~2206a)。

折叠区段置换单元2201a~2206a分别具有列-行置换单元2131a~2136a。列-行置换单元2133a~2136a分别执行与列-行置换单元2133a~2132a实质上相同的置换处理。

另外,在图35、图36的比特交织器中,在循环块置换的前段或者后段追加针对循环块qb1~qb12的比特进行调换其排列顺序的循环块内置换的单元亦可。

以下,采用图37说明包含进行满足条件1a、条件2a的比特交织处理的比特交织器的发射器的一构成例。

图37为表示本发明的再其他实施方式所涉及的发射器的一构成例的框图。图37所示的发射器2500a构成为图25的发射器2500的比特交织器2520置换为比特交织器2520a。

比特交织器2520a从ldpc编码器2510接受qc-ldpc代码的代码字。该代码字由n=12个循环块构成,各循环块由q=8个比特构成。并且,比特交织器2520a针对代码字的比特实施重排其排列顺序的比特交织处理。比特交织器2520a将实施比特交织处理后的代码字分割至表示分别由m=4个比特构成,分别表示2m=16个规定的星座点中的任一个的多个星座字并向星座映射器2530输出。其中,比特交织器2520a作为比特交织处理进行例如通过图32~图34进行说明的、或者作为其变形进行说明的比特置换处理(不含f=1)。或者,比特交织器2520a作为比特交织处理除了比特置换处理之外(不含f=1),还追加进行例如通过图35~图36说明的、或者作为其变形说明的循环块置换处理。

以下,利用附图说明接收来自包含实施满足条件1a、条件2a的比特交织处理的比特交织器的发射器的信号的接收器。

图38为表示本发明的再其他的实施方式所涉及的具有非重复bicm译码器的接收器的一构成例的框图。接收器进行与发射器相反的动作。图38所示的接收器2700a构成为图27的接收器2700的比特解交织器2730置换为比特解交织器2730a。

比特解交织器2730a针对从星座解映射器2720输出的软比特列,进行交织处理(比特解交织处理),该交织处理为消除发射器2500a内的比特交织器2520a针对比特列实施的比特交织处理并返回至原始的排列的处理。

图39为表示本发明的再其他的实施方式所涉及的具有非重复bicm译码器的接收器的一构成例的框图。接收器进行与发射器相反的动作。图39所示的接收器2800a构成为图28的接收器2800的比特解交织器2730以及比特交织器2750置换为比特解交织器2730a以及比特解交织器2750a。

比特交织器2750a针对外部信息(extrinsicinformation),进行与发射器2500a内的比特交织器2520a针对比特列实施的比特交织处理相同的交织规则的交织处理。

从硬件的安装的观点出发,例如,折叠构成为1个星座字的比特配置于更少的llr存储位置亦可。通常,译码器中的llr存储器具有g×n个可地址指定的位置,各个位置能够保持q/g个llr值。g是为q的约数的安装参数,称为“存储粒度(granularity)”。在图40中示出了译码器内的llr存储位置、与m=4、f=2、q=12、g=1~12所对应的第一号的星座字的llr值的配置地点。

存储位置中的llr值的数即q/g必须为f的倍数,各星座的llr值在存储器的全位置中存放至相同位置。这保证了任意一个星座字的llr值也存放至m/f个存储位置。与之相反的例子由图40的g=4表示,各存储位置存放12/4=3个llr值。第2号与第5号的星座字的llr值保持于2个存储位置,取而代之,保持于4个存储位置。

除适用f=2的折叠的得到的单纯的qam星座的情况外,2个以上的星座码元结合译码(jointlydecode)时折叠非常有用。结合译码例如对块编码(时空代码、频率空间代码等)的最大似然译码或者二维以上的旋转星座而言是必须的。

通常地,块代码将2个以上的输入码元(x1、···、xk)编码为2个以上的输出码元(y1、···、yl)。在此,l为k以下。块代码通过l行k列的生成矩阵建模。在此,通过对输入信号矢量x左乘生成矩阵g,可得输出信号矢量y(y=gx)。

输入信号矢量x以及输出信号矢量y的要素与生成矩阵g的要素相同,可构成为实数或者复数。根据代码的类型,有时输出信号矢量y按照不同的时隙或者不同的频隙发送,利用不同的天线发送,或者,利用不同的时隙或者不同的频隙以及不同的天线发送。

在接收器中,为了输入信号矢量x的全要素的译码,要求最大似然译码。作为mimo(multiple-inputmultiple-output:多进多出)通信系统用的块代码可列举阿拉穆蒂(alamouti)代码、golden代码、以及空间复用。

明确的是,k个码元编码在相同的块时,折叠系数可使用直到k为止。再有,若码元为qam码元(包含2个可分离的pam码元),可使用的折叠系数可增加到2×k为止。

根据本发明的再其他的实施方式,结合编码不同尺寸的星座即混合星座时,由于2个星座具有彼此不同的鲁棒级别,因此例如映射至一方的星座字的比特的循环块与映射至另一方的星座字的比特的循环块彼此不同。

在此,列举采用2根发送天线的代码空间复用mimo系统为例来说明。将编码前的复数信号设为x=[x1x2]。在此x1为实施qpsk后的信号,x2为实施16qam后的信号。将编码后的复数信号设为y=[y1y2]。在此y1以及y2为分别通过第1天线以及第2天线发送的信号。y通过对x左乘2行2列的生成矩阵g(要素即可为实数也可为复数)得出(y=gx)。

图41示出了例如,在将qpsk码元与16qam码元复用至相同的块代码时,折叠系数f=2的映射的一例。在图41中,只表示循环块中的最初的7比特。2个复数码元x1以及x2具有如下的构造。

x1是由实部b1、虚部b2赋予的qpsk码元。

x2是由实部b3、b4、虚部b5、b6赋予的16qam码元。

2个码元通过接收器进行结合译码,据此,制作常说的星座块或者生成的块。

全体6比特的星座块具有3个鲁棒级别。

级别1:qpsk的b1与b2映射至qb1。

级别2:16qam的b3与b5映射至qb2。

级别3:16qam的b4与b6映射至qb3。

另外,在将一方的星座的比特数设为m1,另一方的星座的比特数设为m2时,将n个循环组分割为由m1个循环块组成的1个以上的组与由m2个循环块组成的1个以上的组,实施比特交织处理。

《实施方式(其3)》

以下,记载了n并非m的倍数,进行折叠时的交织器的一例。

图42为表示作为一例适用f=2的交织处理的适用对象的循环块与不适用的适用对象外的循环块(被排除的循环块)的图。其中,图42为针对代码为由dvb-t2规格定义的16kldpc代码,星座为16qam星座时的图。在图42的例子中,适用对象的循环块为44个循环块(1、···、44),适用对象外的循环块(被排除的循环块)只为其最终行的1个循环块45。另外,4个黑四方形表示第一号的星座字的4比特。

图43为表示n并非m的倍数,进行折叠时的比特交织器的一构成例的框图。为了便于说明,设n=13、q=8、m=4、f=2。

折叠数为floor(n/(m/f))=6,被排除的循环块数为rem(n、m/f)=1。

比特交织器2000b将循环块qb1~qb13中的13-1=12个循环块qb1~qb12选择为适用满足条件a1、条件a2的比特交织器的循环块。并且,比特交织器2000b内的比特置换单元2010a针对选择的12个循环块进行利用图32进行说明的置换处理。另外,循环块qb13的比特不进行交织而映射至星座字,但交织后映射至星座字亦可。

另外,能够列举如下构成,即作为n并非m的倍数,不进行折叠的交织器的一例,将图43的比特置换单元2010a置换为图20的比特置换单元2010。

下面,说明针对按照在表3中说明的dvb-t2标准而采用的ldpc代码的区段置换的具体示例。

(例1a)n=45、q=360、m=4、没有折叠(f=1)的情况

图44(a)是表示n=45、q=360、m=4、没有折叠(f=1)时的区段置换的构造的图。

比特交织器4400a选择45个循环块qb1~qb45中的44个循环块qb1~qb44作为子集。

子集被划分为分别由4个循环块构成的区段1~11这11个区段。例如,区段1由循环块qb1~qb4构成,区段11由循环块qb41~qb44构成。

比特交织器4400a中的11个区段置换单元(4401、…、4411)分别对各4个的循环块进行使用图32说明的置换处理。

另外,循环块qb45的比特未被进行交织,而被映射至星座字。

(例1b)n=45、q=360、m=4、有折叠(f=2)的情况

图44(b)是表示n=45、q=360、m=4、有折叠(f=2)时的区段置换的构造的图。

比特交织器4400b选择45个循环块qb1~qb45中的44个循环块qb1~qb44作为子集。

子集被划分为分别由2个循环块构成的区段1~22这22个区段。

比特交织器4400b中的22个区段置换单元(4421、4422、…、4442)分别对各2个的循环块进行使用图32说明的置换处理。

另外,循环块qb45的比特未被进行交织,而被映射至星座字。

(例2a)n=45、q=360、m=6、没有折叠(f=1)的情况

图45(a)是表示n=45、q=360、m=6、没有折叠(f=1)时的区段置换的构造的图。

比特交织器4500a选择45个循环块qb1~qb45中的42个循环块qb1~qb42作为子集。

子集被划分为分别由6个循环块构成的区段1~7这7个区段。例如,区段1由循环块qb1~qb6构成,区段7由循环块qb37~qb42构成。

比特交织器4500a中的7个区段置换单元(4501、…、4507)分别对各6个的循环块进行使用图32说明的置换处理。

循环块qb43~qb45是不包含在子集中的循环块。

循环块qb43、qb44的比特未被进行交织,而被映射至星座字。

与此相对,循环块qb45的比特通过循环块内置换单元4545被实施改变其排列顺序的循环块内置换处理。

即,循环块qb43、qb44的比特不包含在子集中,而处于不作为改变比特的排列顺序的对象的状态。与此相对,循环块qb45的比特虽然同样不包含在子集中,但是通过相对于区段置换单元(4501、…、4507)而独立(separate)的循环块内置换单元4545被改变排列顺序。

另外,在图45(a)的示例中,在循环块qb43~qb45中仅将循环块qb45重排,但是也可以对循环块qb43~qb45中的所有比特实施置换。并且,也可以是在循环块qb43~qb45中分别实施循环块内置换。

(例2b)n=45、q=360、m=6、有折叠(f=2)的情况

图45(b)是表示n=45、q=360、m=6、有折叠(f=2)时的区段置换的构造的图。

比特交织器4500b选择45个循环块qb1~qb45中的所有循环块构成为子集。

子集被划分为分别由3个循环块构成的区段1~15这15个区段。

比特交织器4500b中的15个区段置换单元(4511、…、4526)分别对各3个的循环块进行使用图32说明的置换处理。

《实施方式(之四)》

前面说明了高效的比特交织方法。可是,ldpc解码处理中的无效校验节点的存在可能会使纠错能力降低。发明者们对于在上述比特交织方法中抑制无效校验节点的发生的方法得到了进一步的见解。下面,说明无效校验节点是如何发生的、以及如何消除这种无效校验节点。

在与相同的校验节点连接的两个以上的ldpc的变量节点是从相同的星座映射得到的情况下,将产生无效校验节点。假设在星座受到的衰减的影响较深的情况下,星座解映射器的输出即相关联的llr值将极小或者为0。

假设在两个以上的变量节点与相同的校验节点连接,该校验节点的llr值是0或者非常小的值的情况下,在纠错处理中将不能使用该校验节点,因而其结果是,至少在第一ldpc解码的反复处理中值的收敛变慢。将这种校验节点称为无效校验节点。

下面,示出具体示例来说明在什么样的情况下产生这种无效校验节点。分析说明图5所示的、利用奇偶校验矩阵定义的ldpc代码的、从图5的上侧起第3个循环块的校验节点(参照校验节点cn17~cn24)。在图46中,与奇偶校验节点17~24连接的变量节点被高亮化。即,只有校验节点和变量节点相连接的部分用黑方块表示。

该连接能够记述为如图47所示,以便更清楚地理解并列构造和循环置换。8个校验节点分别通过循环置换与8个变量节点连接。在此,循环置换与奇偶校验矩阵的循环移位对数连接。例如,在图47中,第3个循环块(qb3)的各比特与校验节点连接两次。在图47中,第一个校验节点(参照cn37)与变量节点的连接被高亮化(用粗线记述)。另外,该高亮化单纯地是为了便于容易理解校验节点17与变量节点的连接,并非校验节点17具有特殊的意义。

如上所述,图46和图47是对应关系,例如在图46中,可知在校验节点17(cn17,从图46的矩阵的上侧起第17行)和第2个循环块(qb2,与从图46的矩阵的左侧起第9~16列对应)的变量节点中,qb2的右端的变量节点(从图46的矩阵的左侧起第16列)和校验节点17相连接(从图46的矩阵的上侧起第17行、从左侧起第16列成为黑方块)。另一方面,在图47中也是校验节点17(左端的黑方块)和第2个循环块(qb2)的右端的变量节点(黑圆点)相连接。

关于与校验节点17~24连接的8个循环块,图48(a)~图48(h)示出了映射的一种观察方式。在图48(a)~图48(h)的各个附图中,将与各校验节点17~24连接的变量节点高亮化。在各图48(a)~图48(h)中,一个四方块表示各循环块的各变量节点,与校验节点连接的变量节点用黑方块表示。另外,在图47中将校验节点17和变量节点的连接高亮化,而在图48(a)中也具有相同的连接关系,可知图48(a)和在图47中被高亮化的内容相对应。

下面示出发生无效校验节点时的两个事例。另外,在此示出的仅是一例。

图49(a)~图49(h)表示第1事例。在图49(a)~图49(h)中示出了这样的示例:根据图48(a)~图48(h)所示的映射,设折叠系数f为2,qb14和qb15被映射至16qam的星座。图49(a)~图49(h)中用粗线包围的4个四方块对应于一个星座。在图49(a)~图49(h)中,受到衰减(fading)的影响较深的各个星座使两个校验节点无效。与受到衰减的影响的各星座对应地,被无效的校验节点如下所述。

c1受到衰减的影响时:校验节点17、18(参照图49(a)、(b))

c2受到衰减的影响时:校验节点19、20(参照图49(c)、(d))

c3受到衰减的影响时:校验节点21、22(参照图49(e)、(f))

c4受到衰减的影响时:校验节点23、24(参照图49(g)、(h))

图50(a)~图50(h)表示第2事例。在图50(a)~图50(h)中示出了这样的示例:根据图49(a)~图49(h)所示的映射,设折叠系数f为2,qb4和qb5被映射至16qam的星座。图50(a)~图50(h)中用粗线包围的4个四方块对应于一个星座。在图50(a)~图50(h)中,受到衰减(fading)的影响较深的各个星座使一个校验节点无效。与受到衰减的影响的各星座对应地,被无效的校验节点如下所述。

c1受到衰减的影响时:校验节点21(参照图50(e))

c2受到衰减的影响时:校验节点23(参照图50(g))

c3受到衰减的影响时:校验节点17(参照图50(a))

c4受到衰减的影响时:校验节点19(参照图50(c))

通过避免将与相同的校验节点连接的多个变量节点映射至相同的星座,能够抑制无效校验节点的发生。这可以通过在并列比特交织中对循环块内的比特进一步实施置换来实现。下面,把用于抑制该无效校验节点的发生的置换称为循环块内置换。另外,循环块内置换基本上根据适用的循环块而不同。

循环块内置换如果通过一次以上的循环移位来实现,则在结构上容易实现。在仅一次的循环移位中,能够再利用在ldpc解码器中构成的(能够重构的)转环和逆转环,由此能够抑制电路的复杂程度。图51(a)和图51(b)分别表示在设q=8时、对于循环块执行一次移位和两次移位的循环块内交织器的结构。如图51(a)和图51(b)所示,该循环块内交织器(5100a、5100b)由保存对各循环块执行的移位的移位值的表b(5101a、5101b)、和一个或者两个能够重构的转环(5102a、5102b、5103b)构成。循环块内交织器(5100a、5100b)接收表示哪个循环块是处理对象的循环块索引的输入,确定与表b(5101a、5101b)所示的循环块对应的移位值,并对转环设定该移位值。转环(5102a、5102b、5103b)使所输入的循环块的各比特仅循环移位利用移位值指定的值,并输出移位后的比特列(被实施了循环块内置换的循环块)。循环块内交织器与图21(b)或图24所示的循环块内置换相当。另外,在此关于表b(5101a、5101b)所示的移位值,假设存储了能够避免与校验节点连接的变量节点沿比特列的右方向被映射至相同的星座的值。

参照图49(a)~图49(h)和图50(a)~图50(h),在这些情况下,通过按照下面所述设定移位值,能够抑制无效校验节点的发生。即,在各图49(a)~图49(h)中,对于qb14,将移位值设定为2,使沿右方向循环移位两次即可。另外,对于图50(a)~图50(h)的qb4,将移位值设定为3,使沿右方向循环移位三次即可。对于图49(a)~图49(h)和图50(a)~图50(h)分别实施这种循环移位的结果如图52(a)~图52(h)和图53(a)~图53(h)所示。另外,在此,作为容易实现的示例,示出了对于图50(a)~图50(h)的qb4全部沿右方向循环移位3比特的结构,但对于图50(b)、图50(d)、图50(f)、图50(h),由于本来与校验节点连接的变量节点被映射至不同的星座,因而也可以不实施循环块内置换。

另外,在被输入了不需要循环移位的循环块的情况下,将移位值设定为0,在不进行循环移位的情况下直接将被输入的比特列输出。

因此,通过对各循环块实施适当的置换,能够将ldpc代码中的无效校验节点的数量抑制为最小限度。当然,每当ldpc代码被变更时、例如所采用的代码的pcm被变更的情况下等,需要对循环块内置换进行优化。在实现该循环块内置换时,预先存储与由预先设定的多个pcm构成的pcm的(受限定的)集(类别)的各pcm对应的最佳的置换方法(或者移位值等参数,该参数实质上与置换方法相同意思)比较有效。上述的图51(a)中的表b的保存即相当于该置换方法的存储。因此,例如在编码率等被变更、pcm被变更的情况下,通过选择具有合适参数的集,能够变更为最佳的置换方法。另外,关于最适合于各pcm或者预先设定的pcm的集的循环块内置换,能够通过已知的优化处理例如强力攻击(bruteforce)、模拟退火法(simulatedannealing)、蒙特卡罗法(monte-carlo)等进行导出。

图54是与图24相同地表示将折叠系数设定为2时的并列比特交织器5400的循环块内置换5410的功能结构的示意图。关于动作内容,图54与图24的差异仅在于将折叠系数从4变为2,即执行两循环块量的区段置换,除此以外与图24相同,因而省略说明。另外,关于接收仅是该图54所示的各箭头成为相反方向,并且各个单元执行的处理是执行与在发送侧执行的内容相反的处理,因而省略详细说明。

图55是表示本实施方式(之四)涉及的q=8、m=4、f=2时的bicm编码器的一个安装例的块图。

如图55所示,bicm编码器5500具有主存储器5501、ldpc控制器5511、转环5512、校验节点处理器组5513、解转环5514、qb计数器5531、qb置换表5532、交织器5533、寄存器组5534、交织器5535、qb移位表5536、和映射器组5551。

与图26进行比较可知,图55所示的bicm编码器的不同之处在于,通过将折叠系数设为2,将寄存器组5534的个数和映射器组5551的个数从4减少为2,除此以外还保存qb置换表5532、qb移位表5536来取代表a。下面说明与图26的不同之处,除此以外的结构与图26相同,因而省略说明。

qb计数器5531将作为处理对象的循环块的号码通知qb置换表5532。

qb置换表5532是与图26中的表2632相同的速查表。

qb移位表5536对于各循环块保存使比特列循环移位的移位值。qb移位表5536根据由qb置换表5532通知的循环块的号码决定移位值,并通知转环(交织器b)5533。另外,qb移位表5536相当于图50的表b(5101a、5101b)。

转环(交织器b)5533按照被通知的移位值,使所输入的比特列向右循环移位与移位值相当的量,并输出给寄存器5534。转环(交织器b)5533是在bicm编码器5500中执行循环块内置换的元件、即与图54的循环块内置换5410相当的元件。另外,矩阵交织器(交织器c)5535是与图54的列-行置换相当的元件,在此是执行将8(q)×2(m/f)个比特沿行方向写入2(m/f)行8(q)列的矩阵中、并沿列方向读出的处理。

图56是表示本实施方式(之四)涉及的q=8、m=4、f=2时的反复bicm解码器的一个安装例的块图。

如图56所示,反复bicm解码器5600具有主llr存储器5601、缓存llr存储器5602、ldpc控制器5611、转环5612、校验节点处理器组5613、解转环5614、qb计数器5631、表5632、减法单元5633、交织器5634、寄存器组5635、交织器5636、解映射器组5637、解交织器5638、寄存器组5639、解交织器5640、延迟单元5641、和qb移位表5642。

与图29进行比较可知,图56所示的反复bicm解码器5600的不同之处在于,通过将折叠系数设为2,将寄存器组5535、5539的个数和解映射器组5637的个数从4减少为2,除此以外还保存qb置换表5632、qb移位表5642来取代表a。下面说明与图29的不同之处,除此以外的结构与图29相同,因而省略说明。

qb计数器5631将作为处理对象的循环块的号码通知qb置换表5632。

qb置换表5632是与图29中的表a2932相同的速查表。

qb移位表5642对于各循环块保存使比特列循环移位的移位值。qb移位表5642根据由qb置换表5632通知的循环块的号码决定移位值,并通知转环(交织器b)5634。并且,该移位值也通过延迟元件5641通知解转环(解交织器b)5640,以便根据基于循环块内置换用的循环移位的交织进行恢复。另外,qb移位表5642相当于图51的表b(5101a、5101b)。

转环(交织器b)5634按照由qb移位表5642通知的移位值,使所输入的比特列进行循环移位,并输出给寄存器5635。转环(交织器b)5634是在反复bicm解码器5600中执行循环块内置换的元件。

另外,解转环(解交织器b)5640按照由qb移位表5642通知的移位值,使从寄存器5639输入的比特列向与转环(交织器b)5634相反的方向进行循环移位,并输出给主llr存储器5601。

另外,矩阵交织器(交织器c)5636相当于图29的交织器c2936,矩阵解交织器(解交织器c)5638相当于图29的交织器c2938。

通过具备以上结构,bicm编码器能够利用简单的结构实现循环块内置换,能够避免与校验节点连接的变量节点被映射至多个相同的星座。由此,能够降低校验节点成为不能用于纠错的无效校验节点的可能性。

《补充1》

本发明不限于上述实施方式中说明的内容,在用于达成本发明的目的以及与其关联或者附带的目的的任何方式中都能够实施,例如以下亦可。

(1)在上述实施方式中,作为参数列举n=12、q=8、m=4为例来进行说明,但参数n、m、q的值不限于此,n为m的倍数即可。另外,在n为m的2倍以上时,能够将比特交织的处理分割为多个区段来执行。

(2)在有折叠(f为2以上的整数)的实施方式(其2)中,作为参数列举n=12、q=8、m=4为例来进行说明,作为折叠系数列举f=2为例来进行说明,但参数n、m、q的值或折叠系数f的值不限于此。f为m以及q的约数,n可为m/f的倍数。

(3)在有折叠的实施方式(其2)中,将f的值作为16qam星座的具有相同的鲁棒级别的比特数“2”来说明,但不限于此。f的值除了星座具有相同的鲁棒级别的比特数以外,将f的值设为星座的相同的鲁棒级别的比特数以外亦可。

(4)在有折叠的实施方式(其2)中,说明了折叠系数f=2、qam星座为16qam星座,但不限于此,f=2、qam星座为16qam星座以外的qam星座(例如,64qam星座、256qam星座)等亦可。

(5)在上述实施方式(之四)中,在表b、qb移位表中存储并保存比特列向右侧的循环移位值。但是,这些表只要能够避免与校验节点连接的变量节点被映射至多个相同的星座,则移位方向也可以是向左,移位值也可以不是最低必要限度的值,可以超过最低必要限度地进行移位。

另外,也可以是不进行循环移位,而是执行没有规律性的循环块内置换,使得在一个星座不会产生与校验节点连接的多个变量节点。但是,在没有规律性的循环块内置换中,需要从发送侧向接收侧传递该循环块内置换的方法,或者预先在发送侧和接收侧对于该没有规律性的循环块内置换确定对每个pcm采用哪种方法。

(6)在上述实施方式中,作为星座列举16qam(m=4)为例来进行说明,但作为星座除了如qpsk或qam等的特定的调制方式之外,例如,能够使用在dvb-s2标准中利用的圆形星座或多维星座等各种各样的调制方式。

(7)在上述的实施方式中说明的方法或者装置通过软件实现亦可,通过硬件实现亦可,并非限定于特定的形态。具体而言,上述实施方式也可以通过在计算机可读取媒体上具体实现计算机可执行命令的方式来实施,该计算机可执行命令为例如计算机、微处理器、微控制器等可执行在上述实施方式中说明的方法或装置的全部步骤的命令。另外,上述的实施方式通过asic(application-specificintegratedcircuit:专用集成电路)或fpga(fieldprogrammablegatearray:现场可编程门阵列)的方式实施亦可。

工业实用性

本发明能够利用于使用准循环低密度奇偶校验代码的比特交织编码调制系统中比特交织器以及与该比特交织器对应的比特解交织器。

标记说明:

2000a比特交织器

2010a比特置换单元

2021a折叠区段置换单元

2131a、2132a列-行置换单元

2500a发射器

2510ldpc编码器

2520a比特交织器

2530星座映射器

2700a、2800a接收器

2710星座解映射器

2720a比特解交织器

2730ldpc译码器

2740减法运算单元

2750a比特交织器

5410循环块内置换

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1