发送方法和接收方法与流程

文档序号:25535703发布日期:2021-06-18 20:29阅读:114来源:国知局
发送方法和接收方法与流程
本申请是申请日为2014年06月13日、申请号为“201480033816.2”、标题为“用于对低密度奇偶校验码进行编码和解码的方法和设备”的发明专利申请的分案申请。与本发明构思的示例性实施例一致的设备和方法涉及对低密度奇偶校验(ldpc)码进行编码和解码,更具体地,涉及基于奇偶校验矩阵来对执行ldpc编码和解码的ldpc码进行编码和解码。
背景技术
:在通信/广播系统中,链路性能可能由于各种类型的噪声、衰落现象以及信道的码间干扰(isi)而相当大地降低。因此,为了实现要求高数据吞吐量和可靠性的高速数字通信/广播系统(比如,下一代移动通信、数字广播和便携互联网),已经要求开发克服噪声、衰落和码间干扰的技术。作为克服噪声等的研究的一部分,对于作为通过高效地恢复失真信息来提高通信的可靠性的方法的纠错码的研究最近已经被积极地进行。首次由gallager于20世纪60年代引入的ldpc码由于在当时的技术水平上可能难以实现的复杂度而在非常长的时间依然被遗忘。然而,因为由berrou、glavieux和thitimajshima于1993年提出的涡轮码的性能接近shannon的信道容量,所以已经通过对涡轮码的性能和特性执行许多不同的解释,对基于迭代解码的信道编码及其图表进行了许多研究。结果,当ldpc码在20世纪90年代后期被重新研究时,当通过对与ldpc码对应的tanner图上的ldpc码应用基于迭代解码的和积算法来对ldpc码进行解码时,发现ldpc码的性能接近shannon的信道容量。ldpc码一般可由奇偶校验矩阵定义并且使用常被称为tanner图的偶图来表示。在下文中,将参照图1来描述系统化ldpc码字。通过接收由kldpc个比特或码元形成的信息字102以产生由nldpc个比特或码字形成的码字100来对ldpc码进行ldpc编码。在下文中,为方便解释,假定由nldpc个比特形成的码字100通过接收包括kldpc个比特的信息字102而产生。也就是说,当对由kldpc个输入比特形成的信息字102进行ldpc编码时,产生码字100。也就是说,码字是由多个比特形成的比特串,码字的比特表示形成码字的每个比特。此外,信息字是由多个比特形成的比特串,信息字的比特表示形成信息字的每个比特。在这种情况下,就系统码来说,码字由形成。这里,是奇偶校验104,奇偶校验比特的数量nparity如下。nparity=nldpc-kldpc。ldpc码是一种线性块码,并且包括确定满足以下数学表达式1的条件的码字的处理。在以上数学表达式1中,h表示奇偶校验矩阵,c表示码字,ci表示码字的第i比特,nldpc表示码字长度。这里,hi表示奇偶校验矩阵h的第i列。奇偶校验矩阵h由与ldpc码字的比特数量相同的nidpc个列形成。数学表达式1表示,因为奇偶校验矩阵的第i列hi和码字的第i比特ci的乘积的和变为“0”,所以第i列hi与码字的第i比特ci具有关系。同时,可根据奇偶校验矩阵来确定ldpc码的性能。因此,需要设计用于具有改进的性能的ldpc码的奇偶校验矩阵。技术实现要素:技术问题一个或多个示例性实施例可克服以上缺点和以上未描述的其他缺点。然而,这些实施例不要求克服上述缺点,并且可能不克服上述问题中的任何一个。一个或多个示例性实施例提供一种用于对能够改进ldpc编码和解码性能的ldpc码进行编码和解码的方法和设备。技术方案根据示例性实施例的一方面,提供一种编码设备,其可包括:ldpc编码器,被配置为基于第一奇偶校验矩阵或第二奇偶校验矩阵对输入比特执行ldpc编码以产生由64,800个比特形成的ldpc码字,其中,奇偶校验矩阵包括信息字子矩阵和奇偶子矩阵,并且信息字子矩阵由多个列块(每个列块包括360个列)形成,并且由表示在每一个第360列中存在的值一(1)的位置的表所定义。当码率为6/15时,ldpc编码器可使用由比如表17的表定义的奇偶校验矩阵来执行ldpc编码。当码率为8/15时,ldpc编码器可使用由比如表14的表定义的奇偶校验矩阵来执行ldpc编码。当码率为10/15时,ldpc编码器可使用由比如表18的表定义的奇偶校验矩阵来执行ldpc编码。当码率为12/15时,ldpc编码器可使用由比如表16的表定义的奇偶校验矩阵来执行ldpc编码。根据另一示例性实施例的一方面,提供了一种编码方法,其可包括:通过基于奇偶校验矩阵对输入比特执行ldpc编码来产生由64,800个比特形成的ldpc码字,其中,奇偶校验矩阵包括信息字子矩阵和奇偶子矩阵,并且信息字子矩阵由多个列块(每个列块包括360个列)形成,并且由表示在每一个第360列中存在的值一(1)的位置的表所定义。在产生ldpc码字时,当码率为6/15时,使用由比如表17的表定义的奇偶校验矩阵来执行ldpc编码。在产生ldpc码字时,当码率为8/15时,使用由比如表14的表定义的奇偶校验矩阵来执行ldpc编码。在产生ldpc码字时,当码率为10/15时,使用由比如表18的表定义的奇偶校验矩阵来执行ldpc编码。在产生ldpc码字时,当码率为12/15时,使用由比如表16的表定义的奇偶校验矩阵来执行ldpc编码。根据还有的另一示例性实施例的一方面,提供了一种解码设备,其可包括:ldpc解码器,其被配置为基于奇偶校验矩阵来对由64,800个比特形成的ldpc码字执行ldpc解码,其中,奇偶校验矩阵包括信息字子矩阵和奇偶子矩阵,并且信息字子矩阵由多个列块(每个列块包括360个列)形成,并且由表示在每一个第360列中存在的值一(1)的位置的表所定义。当码率为6/15时,ldpc解码器可使用由比如表17的表定义的奇偶校验矩阵来执行ldpc解码。当码率为8/15时,ldpc解码器可使用由比如表14的表定义的奇偶校验矩阵来执行ldpc解码。当码率为10/15时,ldpc解码器可使用由比如表18的表定义的奇偶校验矩阵来执行ldpc解码。当码率为12/15时,ldpc解码器可使用由比如表16的表定义的奇偶校验矩阵来执行ldpc解码。根据还有的另一示例性实施例的一方面,提供了一种解码方法,其可包括:基于奇偶校验矩阵来对由64,800个比特形成的ldpc码字执行ldpc解码,其中,奇偶校验矩阵包括信息字子矩阵和奇偶子矩阵,并且信息字子矩阵由多个列块(每个列块包括360个列)形成,并且由表示在每一个第360列中存在的值一(1)的位置的表所定义。在执行ldpc解码时,当码率为6/15时,可使用由比如表17的表定义的奇偶校验矩阵来执行ldpc解码。在执行ldpc解码时,当码率为8/15时,可使用由比如表14的表定义的奇偶校验矩阵来执行ldpc解码。在执行ldpc解码时,当码率为10/15时,可使用由比如表18的表定义的奇偶校验矩阵来执行ldpc解码。在执行ldpc解码时,当码率为12/15时,可使用由比如表16的表定义的奇偶校验矩阵来执行ldpc解码。有益效果根据上述各种示例性实施例,可改进ldpc加密和解密性能。示例性实施例的附加的和/或其他的方面和优点将部分地在以下描述中进行阐述,并且部分地,从该描述将是显而易见的,或者可通过实施这些实施例来获悉。附图说明通过参照附图描述某些示例性实施例,以上和/或其他方面将更清楚,其中:图1是示出系统化ldpc码的码字的示图;图2是示出奇偶校验矩阵和一般的(8,2,4)ldpc码的因子图的示图;图3是示出根据示例性实施例的奇偶校验矩阵的示图;图4是示出根据示例性实施例的通过置换图3的奇偶校验矩阵的行和列而产生的奇偶校验矩阵的示图;图5a和图5b是示出根据示例性实施例的用于ldpc解码的校验节点和变量节点的示图;图6是用于描述根据示例性实施例的编码设备的配置的框图;图7是用于描述根据示例性实施例的发送设备的配置的框图;图8是用于描述根据示例性实施例的解码设备的配置的框图;图9是用于描述根据示例性实施例的解码设备的框图;图10是用于描述根据示例性实施例的接收设备的配置的框图;图11和图12是用于描述根据示例性实施例的在执行ldpc编码时产生的效果的示图;图13是用于描述根据示例性实施例的编码方法的流程图;图14是用于描述根据示例性实施例的解码方法的流程图。具体实施方式在下文中,将参照附图来详细描述示例性实施例。此外,在描述示例性实施例时,将省略公知的功能或构造的详细描述以便不会以不必要的细节使描述模糊不清。在下文中,示例性实施例将描述通信/广播系统中的ldpc编码和ldpc解码的技术。在下文中,示例性实施例使用在数字视频广播-第二代地面(dvb-t2)系统(其是欧洲数字广播标准和北美数字广播标准系统)、高级电视系统委员会(atsc)3.0(其正被建立为标准)中定义的术语和名称。然而,本发明构思不限于这些术语和名称,而是可类似地应用于其他系统。将参照图2来描述ldpc码的图表示方法。图2是示出由四(4)个行和八(8)个列形成的ldpc码的奇偶校验矩阵h1的示例。奇偶校验矩阵h1用tanner图表示。参照图2,奇偶校验矩阵h1具有八(8)个列,因此,产生长度为八(8)的码字。通过h1产生的码字表示ldpc码,h1的每列对应于编码的八(8)个比特。参照图2,基于奇偶校验矩阵h1被编码和解码的ldpc码的tanner图由八(8)个变量节点(即,x1202、x2204、x3206、x4208、x5210、x6212、x7214和x8216)以及四个校验节点218、220、222和224形成。这里,ldpc码的奇偶校验矩阵h1的第i行和第j列均分别对应于变量节点xi和第j校验节点。此外,ldpc码的奇偶校验矩阵h1的第i行和第j列的交叉点处的值一(1)(即,非零值)表示连接在如图2中所示的tanner图上的变量节点xi和第j校验节点之间的边缘存在。ldpc码的tanner图上的变量节点和校验节点的度数表示连接到每个节点的边缘的数量,该数量与ldpc码的奇偶校验矩阵中的与对应节点对应的行或列中的非零条目的数量相同。例如,在图2中,变量节点x1202、x2204、x3206、x4208、x5210、x6212、x7214和x8216均按次序变为4、3、3、3、2、2、2和2,校验节点218、220、222和224的度数均按次序变为6、5、5和5。此外,图2的奇偶校验矩阵h1的与图2的变量节点对应的每个列中的非零条目的数量按次序与度数4、3、3、3、2、2、2和2一致,并且在图2的奇偶校验矩阵h1的与图2的校验节点对应的每个行中,非零条目的数量按次序与度数6、5、5和5一致。可通过使用基于图2中所示的偶图上的和-积算法的迭代解码算法来对ldpc码进行解码。在本文中,和-积算法是一种消息传递算法,该消息传递算法表示通过偶图上的边缘来交换消息的算法,并且使用输入到变量节点或校验节点的消息来计算输出消息以更新消息。在本文中,可基于第i变量节点的消息来确定第i编码比特的值。可对第i编码比特的值执行软决策和硬决策。因此,ldpc码字的第i比特ci的性能对应于第i变量节点的性能,第i变量节点的性能可根据奇偶校验矩阵的第i列中的一(1)的位置和数量而被确定。也就是说,码字的nldpc个比特的性能依赖于奇偶校验矩阵中的一(1)的位置和数量。在下文中,将参照图3来描述具有特定结构的ldpc码的奇偶校验矩阵的特性。图3示出具有根据示例性实施例的结构的奇偶校验矩阵。图3中所示的奇偶校验矩阵具有可对系统码进行编码和解码的结构,在系统码中,码字包括原始信息字。在下文中,将基于图3的奇偶校验矩阵来描述示例性实施例,但是本发明构思的应用范围不限于如图3中所示的奇偶校验矩阵。在图3中,nldpc表示ldpc码字长度,kldpc表示信息字长度。同时,码字长度或信息字长度分别表示码字或信息字中所包括的比特的数量。m表示列的模式在与信息字对应的子矩阵310(在下文中,被称为信息字子矩阵)中重复的间隔,qldpc是信息字子矩阵310中的每列的循环移位的大小,在信息字子矩阵310中,整数m和qldpc的值被确定为qldpc=(nldpc-kldpc)/m。这里,kldpc/m也是整数。m和qldpc的值可根据码字长度和码率(或编码率)而改变。参照图3,奇偶校验矩阵300被划分为与信息字对应的信息字子矩阵310(或信息字矩阵)以及与奇偶性对应的奇偶子矩阵320(或奇偶矩阵)。信息字子矩阵310包括kldpc个列,奇偶子矩阵320包括nparity=nldpc-kldpc个列。奇偶校验矩阵300的行数和奇偶子矩阵320的列数等于nldpc-kldpc。包括奇偶校验矩阵300的第kldpc列至第(nldpc-1)列的奇偶子矩阵320中所存在的具有权重-1(即,值一(1))的条目的位置具有双对角结构。因此,在奇偶子矩阵320中所包括的列之中,除了第(nldpc-1)列之外的其余的列的全部度数(在本文中,度数是每列中所包括的一(1)的数量)为二(2),第(nldpc-1)列的度数为一(1)。同时,信息字子矩阵310(即,包括第零(0)列至第(kldpc-1)列的子矩阵)的结构取决于以下规则。首先,与奇偶校验矩阵300中的信息字对应的kldpc个列属于多个列组,每个列组具有m个列,信息字子矩阵310被划分为总共kldpc/m个列组。在属于同一列组的列中,一(1)所存在的行的位置具有如下的关系,在该关系中,具有值一(1)的行从具有相同的值一(1)的紧邻的前一行移位qldpc。这里,qldpc可以是大于或等于一(1)的整数。第二,如果假定第i(i=0,1,…,kldpc/m-1)列组的第零(0)列的度数为di,并且一(1)所在的每行的位置为则如以下数学表达式2所表示的那样确定第i列组的第j列中第k权重-1(即,第k一(1))所在的行的索引在以上数学表达式2中,k=0,1,2,…,di-1,i=0,1,…,kldpc/m-1,j=1,2,…,m-1。可像以下数学表达式3那样表示以上数学表达式2。在以上数学表达式3中,k=0,1,2,…,di-1,i=0,1,…,kldpc/m-1,j=1,2,…,m-1。在以上数学表达式中,表示第i列组的第j列中第k权重-1所在的行的索引,nldpc表示ldpc码字长度,kldpc表示信息字长度,di表示属于第i列组的第零(0)列的度数,m表示属于一个列组的列的数量。根据以上数学表达式,当只有的值已知时,第i列组中第k权重-1所在的行的索引可能是已知的。因此,当每个列组的第零(0)列中第k权重-1所在的行的索引值被存储时,权重-1所在的列和行的位置在具有图3中所示的结构的奇偶校验矩阵300(即,奇偶校验矩阵300的信息字子矩阵310)中可被理解。根据以上提及的规则,属于第i列组的列的度数全都为di。根据以上提及的规则,可如下简单地表示存储关于奇偶校验矩阵300的信息的ldpc码。作为特定示例,当nldpc为30,kldpc为15,并且qldpc为三(3)时,三个列组的第零(0)列中权重-1所在的行的位置信息可用如以下数学表达式4所表示的序列表示。数学表达式4所表示的序列可被称为权重-1位置序列。在以上数学表达式4中,表示第i列组的第j列中第k权重-1所在的行的索引。可像以下表1那样更简单地表示如以上数学表达式4(其表示每个列组的第零(0)列中一(1)所在的行的索引)所表示的权重-1位置序列。【表1】以上表1示出了奇偶校验矩阵中的具有权重-1(即,值一(1))的条目的位置,在奇偶校验矩阵中,第i权重-1位置序列用属于第i列组的第零(0)列中权重-1所在的行的索引来表示。当用以下数学表达式5(行置换)和数学表达式6(列置换)来置换图3中所示的奇偶校验矩阵300的列和行时,图3中所示的奇偶校验矩阵300可被示为图4中所示的奇偶校验矩阵400的形式。在上面,行置换表示使用以上数学表达式5来改变奇偶校验矩阵300的行的次序。此外,列置换表示使用以上数学表达式6来改变奇偶校验矩阵300的列的次序。基于以上数学表达式5和6执行置换的方法如下。在这种情况下,列置换被应用与行置换相同的原理,除了列置换仅通过而被应用于奇偶校验子矩阵320的事实之外。在下文中,行置换将被作为示例进行描述。就行置换来说,计算对于第x行满足x=qldpc×i+j的i和j,并在m×j+i中代入计算的i和j以计算在其中置换第x行的行。例如,就第七行来说,满足7=2×i+j的i和j分别为3和1,因此,第七行被置换到第十三(10×1+3=13)行。当图3的奇偶校验矩阵的行和列均根据数学表达式5和6进行置换时,奇偶校验矩阵可被示为图4中所示的奇偶校验矩阵的形式。参照图4,ldpc码的奇偶校验矩阵400具有如下的形式,在该形式中,整个奇偶校验矩阵400被划分为多个部分块,每个部分块对应于m×m准周期矩阵。图4中所示的奇偶校验矩阵400以m×m准周期矩阵为单元形成,因此,m个列可被称为列块(或列组),m个行可被称为行块(或行组)。也就是说,在本示例性实施例中使用的具有图4的形式的奇偶校验矩阵400由nqc_column=nidpc/m个列块和nqc_row=nparity/m个行块形成。在下文中,将详细地描述形成具有图4的形式的奇偶校验矩阵400的m×m矩阵。首先,第零(0)行块之中的第(nqc_column-1)列块的m×m矩阵440具有如以下数学表达式7所表示的形式。在如以上数学表达式7所表示的m×m矩阵中,第零(0)行和第m-1列的值全都为“0”。对于0≤i≤(m-2),第i列的第(i+1)行为“1”,其他值全都为“0”。第二,在图4的奇偶校验矩阵400的奇偶子矩阵420中,对于0≤i≤(nidpc-kidpc)/m-1,第(kidpc/m+i)列块的第i行块由单位矩阵im×m460形成。此外,对于0≤i≤(nidpc-kidpc)/m-2,第kidpc/m+i列块的第(i+1)行块由单位矩阵im×m460形成。第三,可形成信息字子矩阵410,在信息字子矩阵410中,组合通过循环移位准周期矩阵p而获得的矩阵或者通过循环移位准周期矩阵p而获得的矩阵准周期矩阵p用以下数学表达式8表示。以上数学表达式8的准周期矩阵p是具有m×m大小的方阵,并且是其形成准周期矩阵p的m个行和列的各自的度数为一(1)的矩阵。如果准周期矩阵p的下标aij为0,则准周期矩阵p0表示单位矩阵im×m,并且如果准周期矩阵p的下标aij为∞,则准周期矩阵p∞表示零矩阵。如图4中所示,在ldpc码的整个奇偶校验矩阵中,总列数为nidpc=m×nqc_column,总行数为nparity=m×nqc_row。也就是说,如图4中所示的奇偶校验矩阵400由nqc_column个列块和nqc_row个行块形成。如图4中所示的奇偶校验矩阵400用非零准周期矩阵的位置以及对应位置处的索引值来表示。就ldpc码而言,根据奇偶校验矩阵来确定码字性能。具体地说,可根据列和行的权重分布和周期分布来确定码字性能。列的权重分布表示有多少个列具有一(1)以及有多少个一(1)位于nldpc个列中的列中。此外,行的权重分布表示有多少个行具有一(1)以及有多少个一(1)位于nldpc-kldpc个行中的行中。此外,度数一(1)的权重表示每列和每行的一(1)的数量。在本文中,可基于被称为密度演进的方法(参考:richardson,t.和urbanke,r:thecapacityoflow-densityparity-checkcodesundermessage-passingdecoding,ieeetrans.inf.theory,2001,47,(2),第599-618页)来确定列和行的权重分布。详细地说,就使用密度演进方法而言,当基于具有给定的度数分布的奇偶校验矩阵来执行ldpc编码/解码时,可估计在任何信噪比(snr)下编码错误概率变为0需要多少次迭代。就密度演进而言,因为在码字长度是无限的假定下估计编码错误概率是否为“0”,所以如果设计用于具有有限长度的代码的奇偶校验矩阵,则可能不能仅用密度演进来确定奇偶校验矩阵的度数分布。此外,取决于奇偶校验矩阵的度数分布的一(1)的数量影响编码/解码复杂度,因此,需要基于代码性能来设计奇偶校验矩阵,代码性能不仅基于被称为密度演进的理论方法进行验证,而且还基于实际的编码/解码复杂度和设计的奇偶校验矩阵进行验证。在下文中,将详细地描述用于设计奇偶校验矩阵的方法。奇偶校验矩阵的形式可以非常不同地存在,但是本发明构思意图设计具有图3中所示的特定形式的奇偶校验矩阵。此外,奇偶校验矩阵基于密度演进来确定在其中编码增益可以为最大的度数分布,并且通过循环移除方法,错误平层出现在ber/fer低的区域中。如上所述,具有图3的形式的奇偶校验矩阵300通过置换列和行而变为具有图4的形式的奇偶校验矩阵400。就图4的形式而言,奇偶校验矩阵是基于m×m矩阵设计的,因此,可以被容易地设计。因此,根据示例性实施例,以具有图4的形式的奇偶校验矩阵400的形式设计奇偶校验矩阵,然后,通过置换行和列来设计具有图3的形式的奇偶校验矩阵300。在下文中,将详细地描述根据示例性实施例的用于设计奇偶校验矩阵的方法。步骤1)确定将设计的奇偶校验矩阵的大小nldpc和kldpc以及m和q1dpc的值。根据示例性实施例,可如以下表2那样确定奇偶校验矩阵的前述参数。【表2】码率nldpckldpcnparitymqldpcnqc_columnnqc_row6/156480025920388803601081801088/15648003456030240360841808410/15648004320021600360601806012/156480051840129603603818036就具有图4的形式的奇偶校验矩阵400而言,奇偶子矩阵420是固定的,因此,只需要确定信息字子矩阵410中的一(1)的位置和分布。此外,信息字子矩阵410中的一(1)的位置和分布是以m×m准周期矩阵为单位形成的,因此,准周期矩阵(不是零矩阵)的数量和位置以及循环移位值(其是准周期矩阵的索引值)被确定。在下文中,在步骤2中,确定不是零矩阵的准周期矩阵的数量。步骤2)通过密度演进方法来确定奇偶校验矩阵的度数分布。如上所述,奇偶校验矩阵中的一(1)的分布支配ldpc码的性能。因此,根据示例性实施例,通过密度演进方法来确定奇偶校验矩阵中的一(1)的分布。也就是说,通过执行多达预定次数的迭代解码使错误概率收敛到预定值的概率最高的度数分布(即,snr最低的度数分布)选自所有的可能的度数分布。在这种情况下,限制如下。1)ldpc码中的一(1)的数量影响编码和解码复杂度,因此,需要限制一(1)的数量。2)如果存在于列中的一(1)的数量各种各样,则可能提高解码复杂度,因此,需要限制一(1)的数量的种类。首先,考虑到前述限制,基于具有以上表2的参数的奇偶校验矩阵来确定所有的可能的度数分布(列表)。接着,在确定每个码率的目标snr之后,当对基于通过密度演进而在目标snr下具有存在于列表中的度数分布的奇偶校验矩阵被编码/解码的ldpc码进行解码时,确定错误概率收敛到预定值所需的迭代次数。在这种情况下,对于存在于列表中的所有的度数分布,当错误概率在小于指定值的迭代次数内收敛到预定值或更小值时,将目标snr值调整到很小,并再次对度数分布执行密度演进。然而,当对所有度数分布的密度演进的结果值即使在多于指定值的迭代内也不收敛时,将snr值调整到很大,并再次对度数分布执行密度演进。在存在于列表中的所有度数分布之中,在其中错误概率在低snr和少量迭代解码(即,迭代次数)内收敛到预定值或更小值的度数分布作为步骤1的结果被确定。步骤3)基于在步骤2中确定的度数分布来确定非零准周期矩阵的位置。在该步骤中,基于公知的peg算法(x.-y.hu、e.eleftheriou和d.-m.arnold,“regularandirregularprogressiveedge-growthtannergraphs”,ieeetrans.inf.theory,第51卷,第1期,第386-398页,2005年1月)来确定非零准周期矩阵的位置。在这种情况下,本发明建议的附加限制是使每行中的1的数量最大程度地均匀。步骤4)需要调整准周期矩阵的索引以便防止错误平层发生。在该步骤中,奇偶子矩阵是固定的,因此,不被考虑。在信息字子矩阵中,只需要从具有最低列度数的列改变位于预定行中的非零准周期矩阵的索引值。在该步骤中,位于同一行中的非零准周期矩阵(除了奇偶子矩阵420之外)的所有索引值需要具有不同的值。改变索引值的行的次序可以是各种各样的。重复索引值的改变,直到最小周期的周期值不再增大或者具有最小周期的变量节点的数量不再提高为止。这里,步骤4被称为提升。步骤5)需要通过行置换和列置换来将基于图4设计的奇偶校验矩阵修改为图3的形式。在这种情况下,可基于以下数学表达式9来执行行置换,并且基于以下数学表达式10来执行列置换。在下文中,将参照作为示例的码率10/15(=2/3)的情况来更详细地描述设计奇偶校验矩阵的处理。步骤1)如以下表3那样确定与将被设计的奇偶校验矩阵的大小以及m和qldpc的值相关的参数nldpc和kldpc。【表3】码率nldpckldpcnparkymqldpcnqc_columnnqc_row10/156480043200216003606018060步骤2)基于密度演进方法来确定奇偶校验矩阵的度数分布。如下的分布选自所有的可能的度数分布,在这些分布中,作为密度演进的结果,在最低snr下,错误概率非常有可能成为预定值。例如,对于选择的分布,当snr=2.6db时,通过密度演进方法获得使ber=10-5的迭代次数。选择的分布以及基于对选择的分布的密度演进而获得的迭代次数如以下表4中所示。在以下表4中,n(xi)表示具有度数xi的列组或列块的数量。【表4】步骤3)基于在步骤2中确定的度数分布来确定非零准周期矩阵的位置。根据示例性实施例,选择以上表4的情况6的度数分布。此外,为了满足选择的度数分布,确定非零准周期矩阵的位置。确定情况6的原因是,如上所述,取决于奇偶校验矩阵的度数分布的一(1)的数量影响编码/解码复杂度,因此,需要基于代码性能来设计奇偶校验矩阵,代码性能不仅基于被称为密度演进的理论方法,而且还基于实际的编码/解码复杂度以及设计的奇偶校验矩阵。步骤4)需要调整准周期矩阵的索引以便防止错误平层出现。以下表5示出通过前述方法确定的具有图4的形式的奇偶校验矩阵400的准周期矩阵的位置和索引值。在该处理中,使用被称为提升(参见前述步骤4)的、考虑周期特性的方法。【表5】步骤5)需要通过行置换和列置换来将在步骤4中基于图4设计的奇偶校验矩阵修改为图3的形式。在下文中,将描述通过前述用于设计奇偶校验矩阵的方法设计的奇偶校验矩阵的示例。众所周知的是,任何奇偶校验矩阵h1等同于通过对奇偶校验矩阵h1执行行置换和列置换而获得的奇偶校验矩阵h2。也就是说,任何具有图3的形式的奇偶校验矩阵等同于通过对图3的奇偶校验矩阵执行行置换和列置换而获得的具有图4的形式的奇偶校验矩阵。此外,具有图3的形式的奇偶校验矩阵和根据示例性实施例的在其中图3的奇偶校验矩阵的列组的次序的奇偶校验矩阵也是相互等同的。此外,当第i列组的第零(0)列中一(1)所在的行的索引值为k1,k2,…,km(在本文中,m是第i列组的列度数),则即使当第i列组的第零(0)列中一(1)所在的行的索引值变为(kx+qldpc×y)mod(nldpc-kldpc)(1≤k≤m)时,奇偶校验矩阵也是相互等同的。如上所述,qldpc为(nldpc-kldpc)/m,其中,m表示属于列组的列的数量。此外,y是任何常数。作为特定示例,在nldpc为30、kldpc为15并且qldpc为3的情况下,如果关于三个列组的第零(0)列中权重-1所在的行的位置信息如以下表6那样表示的情况,【表6】当y是2时,由于1→(1+3×2)mod15=72→(2+3×2)mod15=88→(8+3×2)mod15=1410→(10+3×2)mod15=10→(0+3×2)mod15=69→(9+3×2)mod15=013→(13+3×2)mod15=40→(0+3×2)mod15=614→(14+3×2)mod15=5则即使当关于这三个列组的第零(0)列中权重-1所在的行的位置信息如以下表7所示那样表示时,奇偶校验矩阵也是相互等同的。【表7】此外,即使当列组的次序改变时,奇偶校验矩阵也是相互等同的,因此,如以下表8所示那样表示的奇偶校验矩阵也是相互等同的。【表8】此外,就根据示例性实施例的具有图4的形式的奇偶校验矩阵来说,当存在于同一列组或列块中的准周期矩阵的索引值与同一值相加或者被从同一值减去时,奇偶校验矩阵可以等于前一个奇偶校验矩阵。此外,在其中列块的次序改变的奇偶校验矩阵是相互等同的。在下文中,将描述通过示例性实施例中所描述的用于设计奇偶校验矩阵的方法设计的具有图3的形式的奇偶校验矩阵的示例。作为示例,如果码字长度nldpc为64800、码率r为6/15、m为360并且qldpc为108,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表9中所示。【表9】也就是说,每个列组的第零(0)列中一(1)所在的行的位置可由以上表9中所示的第i列组的第零(0)列中一(1)所在的行的索引定义,并且,通过将每个列组的第零(0)列中一(1)所在的行移位qldpc,可定义该列组的其他列中一(1)所在的行。在前述示例中,因为qldpc=(64800-25920)/360=108并且第零(0)列组的第零(0)列中一(1)所在的行的索引为891,2309,3615,…,所以第零(0)列组的第1列中一(1)所在的行的索引可以为999(=891+108),2417(=2309+108),3723(=3615+108),…,并且第零(0)列组的第2列中一(1)所在的行的索引可以为1107(=999+108),2525(=2417+108),3831(=3723+108),…。根据示例性实施例,还可用以上表9中所描述的方法来定义奇偶校验矩阵。作为另一个示例,如果码字长度nldpc为64800、码率r为8/15、m为360并且qldpc为84,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表10中所示。【表10】作为另一个示例,如果码字长度nldpc为64800、码率r为10/15、m为360并且qldpc为60,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表11中所示。【表11】作为另一个示例,如果码字长度nldpc为64800、码率r为12/15、m为360并且qldpc为36,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表12中所示。【表12】同时,在代码的设计处理中,步骤4的处理使用考虑周期特性的提升方法。当追加考虑各种代数特性以及周期特性时,也可设计具有更好性能的代码。一般地,因为ldpc码的性能影响度数分布以及周期特性,所以可考虑这两个特性来设计具有更好性能的代码。根据示例性实施例,可根据具有最短长度的周期以及这些周期中所包括的具有特定度数的变量节点的数量来确定参数,并且可根据基于提升步骤中的参数而确定的规则来确定序列。例如,当提升处理被应用于其度数为a和b的列组时,可只考虑如下的周期,在该周期中,在执行其度数为a的列组的提升时该周期中所包括的变量节点之中的其度数为a的变量节点的数量为x1或更少,并且在执行其度数为b的列组的提升时该周期中所包括的变量节点的值(其度数为a的变量节点的数量+其度数为b×c的变量节点的数量)为x2或更小。然而,当提升处理被应用于其度数不为a和b的列组时,考虑所有的周期。这里,a是正整数二(2)或更大,b是大于a且小于奇偶校验矩阵的最大度数的正整数,c是加权因子,并且具有正整数值。另外,在不区别当提升处理被应用于其度数不为a和b的列组时的特定周期的情况下,考虑所有的周期。作为特定示例,将描述a=3、b=4并且c=2的情况。例如,在提升处理中,仅考虑如下周期来执行提升,在这些周期中,在执行其度数为三(3)的列组的提升的处理中的周期中所包括的变量节点之中的其度数为三(3)的变量节点(其等同于列)的数量为x1或更小,并且在执行其度数为四(4)的列组的提升的处理中的周期中所包括的变量节点之中的(其度数为4×2的变量节点的数量+其度数为三(3)的变量节点的数量)为x2或更小。也就是说,当索引值在提升处理中改变时,重复提升处理,直到具有所述周期的变量节点的数量不再仅考虑与条件对应的周期就被改进为根据每个变量节点的度数来改变索引值。通常,在简单的提升中,奇偶校验矩阵被设计为使得周期的数量减小。在该处理中,奇偶校验矩阵被设计为使得满足以上提及的条件的周期的数量减小。以上提及的条件为何影响具有更好性能的ldpc码的设计的原因是,在以上提及的条件下考虑了影响ldpc码的周期和度数分布。以下表13至表18中示出了考虑这些附加条件设计的ldpc码的示例。作为参考,设计与如以上表9至表12中所示的ldpc码的长度和码率相同的长度和码率,以下表13中所考虑的值(x1,x2)等于(4,5),以下表14中所考虑的值(x1,x2)等于(4,5),以下表15中所考虑的值(x1,x2)等于(3,4),以下表16中所考虑的值(x1,x2)等于(3,4)。此外,以下表17中所考虑的值(x1,x2)等于(8,8),以下表18中所考虑的值(x1,x2)等于(3,4)。作为考虑这些附加条件设计的结果的示例,如果码字长度nldpc为64800、码率r为6/15、m为360并且qldpc为108,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表13中所示。【表13】作为考虑这些附加条件设计的结果的另一示例,如果码字长度nldpc为64800、码率r为8/15、m为360并且qldpc为84,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表14中所示。【表14】作为考虑这些附加条件设计的结果的另一示例,如果码字长度nldpc为64800、码率r为10/15、m为360并且qldpc为60,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表15中所示。【表15】作为考虑这些附加条件设计的结果的另一示例,如果码字长度nldpc为64800、码率r为12/15、m为360并且qldpc为36,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表16中所示。【表16】作为考虑这些附加条件设计的结果的另一示例,如果码字长度nldpc为64800、码率r为6/15、m为360并且qldpc为108,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表17中所示。【表17】作为考虑这些附加条件设计的结果的另一示例,如果码字长度nldpc为64800、码率r为10/15、m为360并且qldpc为60,则具有图3的结构的奇偶校验矩阵的第i列组的第零(0)列中一(1)所在的行的索引如以下表18中所示。【表18】这里,要指出,即使在其中以上表9至表18中的任何一个中的用于每个第i列组的序列内的索引的次序改变的奇偶校验矩阵,改变的奇偶校验矩阵也可被应用于原始的奇偶校验矩阵所应用的相同的代码。例如,如以上表11中所示,与第零(0)列组对应的序列按114、2135、3045、4635、5512、5681、6571、8943、10053、10109、13161、13668、14218、17417、19328、21140的次序布置,并且即使该序列具有改变的索引次序,比如2135、8943、4635、114、3045、10109、13161、21140、5681、6571、5512、19328、14218、13668、17417、10053,具有改变的序列的奇偶校验矩阵也可被用于相同的代码。另外,即使一个列组的一个索引序列变为另一个列组的索引序列以及反过来(也就是说,其他列组的索引序列变为第一列组的索引序列),在以上表9至表18中,代数特性(诸如码图上的周期特性和度数分布)也不改变。因此,改变奇偶校验矩阵的列组之间的索引序列的这种情况是本发明构思的另一示例性实施例。例如,在以上表11中,第零(0)列组的索引序列114、2135、3045、4635、5512、5681、6571、8943、10053、10109、13161、13668、14218、17417、19328、21140以及第十二列组的索引序列19、768、1263、3305、6513、7677、7956、9040、13427、16641、17280、18452、18584、18925、19559、20587可变为将第零(0)列组的序列设置为19、768、1263、3305、6513、7677、7956、9040、13427、16641、17280、18452、18584、18925、19559、20587,并且第十二列组的序列被设置为114、2135、3045、4635、5512、5681、6571、8943、10053、10109、13161、13668、14218、17417、19328、21140。也就是说,即使索引序列在第零(0)列组和第十二列组之间交换,就码图而言的周期特性、度数分布等也不改变(实际上,因为在对应的列组之间交换索引序列与仅改变奇偶校验矩阵内的列组的布置次序相同,所以主要的代数特性不改变)。另外,根据示例性实施例,在其中qldpc的整数倍与以上表9至表18中的任何列组的所有索引相加的奇偶校验矩阵也可导致码图上的相同的代数特性,诸如周期特性和度数分布。例如,如果60(即,qldpc=(nldpc-kldpc)/m=60)的倍数与以上表11中的第二十四列组的所有索引12575、15845和18200相加,也就是说,索引变为12635(=12575+60)、15905(=15845+60)和18260(=18200+60),则码图上的代数特性(诸如周期特性和度数分布)不改变(实际上,因为通过在列组中加上qldpc的整数倍而获得的序列具有与仅重新布置该列组内的列的次序相同的效果,所以主要的代数特性不改变)。这里,要指出,在通过将qldpc的整数倍与给定索引序列相加而获得的索引值是nldpc-kldpc或更大的值的情况下,索引值改变,并且被应用于通过对nldpc-kldpc执行模运算而获得的值。例如,因为在nldpc-kldpc=21600时,仅将60×60与以上表11中的第二十四列组的序列12575、15845和18200相加的结果变为16175、19445和21800,所以通过将模-21600应用于仅将qldpc的整数倍与给定序列相加的结果,改变的序列可以为16175、19445和200或者200、16175和19445。在下文中,将描述使用具有如图3中所示的结构的奇偶校验矩阵对ldpc码进行编码的处理。如上所述,对ldpc码进行编码的处理是确定满足如下关系方程的码字c:奇偶校验矩阵×码字=0。也就是说,对ldpc码进行编码的处理可用h·ct=0来表示。这里,h是奇偶校验矩阵,c表示ldpc码字。在下文中,如果假定ldpc编码的信息字比特为并且通过ldpc编码而产生的ldpc码字比特为则将描述用于计算ldpc码字比特的方法。首先,因为ldpc码是系统码,所以ck(0<k<kldpc-1)被设置为与jk相同。另外,其余的码字比特被设置为这里,pk是奇偶比特,并且可如下面描述的那样计算。同时,根据示例性实施例,因为奇偶校验矩阵由以上表9至表18定义,所以在奇偶校验矩阵由以上表9至表18定义的情况下,可应用下面将描述的处理。首先,如果假定在以上表9至表18中的第i行的第j位置上用符号表示的条目是q(i,j,1)=q(i,j,0)+qldpc·l(modnldpc-kldpc),其中,0<l<360。这里,累加“+”意指在galois域(gf)中定义的加法(即,gf(2)中的加法)。另外,作为在信息字子矩阵中循环移位的每个列的大小的qldpc可以是分别在以上表9至表18中定义的值。同时,当q(i,j,0)和q(i,j,1)被如上所述那样定义时,计算奇偶比特的处理如下。步骤1)将奇偶比特初始化为“0”。也就是说,对于0<k<nldpc-kldpc,pk=0。步骤2)对于0<k<kldpc的所有k值,将i和l设置为和l:=k(mod360)。这里,是不大于x的整数之中的最大整数值。也就是说,接着,对于所有j,如下基于设置的i值和l值,将ik与pq(i,j,l)相加。也就是说,pq(i,0,1)=pq(i,0,1)+ik、pq(i,1,1)=pq(i,1,1)+ik、pq(i,2,1)=pq(i,2,1)+ik、…、pq(i,w(i)-1,1)=pq(i,w(i)-1,1)+ik被计算。这里,w(i)是以上表9至表18中的第i行的值的数量,并且表示奇偶校验矩阵中的与jk对应的列中的一(1)的数量。另外,q(i,j,0)(其是以上表9至表18中的第i行的第j位置上用符号表示的条目)是奇偶比特的索引,并且表示奇偶校验矩阵中的与ik对应的列中一(1)所在的行的位置。步骤3)对于满足0<k<nldpc-kldpc的所有k,计算pk=pk+pk-1,以计算奇偶比特pk。奇偶比特通过前述方法计算,以使得所有的ldpc码字比特c0、c1、……、可被计算。同时,如上所述的ldpc编码处理仅仅是示例。也就是说,因为ldpc编码处理是计算满足h·ct=0的ldpc码字c的处理,所以用于给定奇偶校验矩阵的各种编码方法可以存在。例如,在dvb-t2标准中应用的方案也可被应用于奇偶校验矩阵由以上表9至表18定义的情况。在下文中,将使用奇偶校验矩阵在以上表11中被定义的示例来示意性地描述根据dvb-t2标准中所描述的方案的ldpc编码处理。首先,如果假定长度为kldpc的信息字比特为并且长度为的nldpc-kldpc的奇偶比特为则可通过以下处理来执行ldpc编码。步骤1)将奇偶比特初始化为“0”。也就是说,步骤2)将第零(0)比特信息字比特i0作为奇偶比特的索引累加在具有在以上表11的第一行(即,i=0的行)中定义的奇偶比特的地址的奇偶比特中。这可用以下数学表达式11来表示。在以上数学表达式中,i0表示第零(0)信息字比特,pi表示第i奇偶比特,表示二元运算。根据二元运算,为0,为1,为1,为0。步骤3)将其余的359个信息字比特im(m=1,2,3,…,359)累加在奇偶比特中。这里,其余的信息字比特可以是属于与i0所属的列组相同的列组的信息字比特。在这种情况下,可基于以下数学表达式12来确定奇偶比特的地址。(x+(mmod360)×qldpc)mod(nldpc-kldpc)…(12)在以上数学表达式12中,x是与信息字比特i0对应的奇偶比特累加器的地址,qldpc作为在与信息字对应的子矩阵中移位的每个列的大小,为60。结果,将每个信息字比特im(m=1,2,3,…,359)作为索引累加在具有基于以上数学表达式12计算的奇偶比特的地址的每个奇偶比特中。作为示例,可对信息字il执行如以下数学表达式13所表示的运算。在以上数学表达式中,il表示第l信息字比特,pi表示第i奇偶比特,表示表示二元运算。根据二元运算,为0,为1,为1,为0。步骤4)将第360信息字比特i360作为奇偶比特的索引累加在具有以上表11的第二行(即,i=1的行)中所定义的奇偶比特的地址的奇偶比特中。步骤5)将属于与信息字比特i360所属的组相同的组的其余的359个信息字比特累加在奇偶比特中。在这种情况下,可基于以上数学表达式6来确定奇偶比特的地址。然而,在这种情况下,x是与信息字比特i360对应的奇偶比特累加器的地址。步骤6)对于以上表5的所有的列组,重复步骤4和步骤5的前述处理。步骤7)结果,基于以下数学表达式14来计算奇偶比特pi。这里,i被初始化为一(1)。在以上数学表达式14中,pi表示第i奇偶比特,nldpc表示ldpc码字长度,kldpc表示ldpc码字中的信息字长度,表示二元运算。根据二元运算,为0,为1,为1,为0。根据以上方法,可计算奇偶比特。同时,存在于第i列组的第零(0)列中的奇偶比特的地址与第i列组的第零(0)列中一(1)所在的行的索引相同。因此,以上表9至表18中的第i列组的第零(0)列中一(1)所在的行的索引在编码处理中被表示为奇偶比特的地址。因此,以上表9至表18可示出“奇偶比特累加器的地址”。如上所述,根据以上示例性实施例,可使用各种方案来执行ldpc编码处理以产生ldpc码字。同时,可使用基于图2中所示的偶图上的和-积算法的迭代解码算法来对ldpc码进行解码,其中,和-积算法是一种消息传递算法。在下文中,将参照图5a和图5b来描述一般用于ldpc解码的消息传递操作。图5a和图5b示出根据示例性实施例的用于ldpc解码的任何校验节点和变量节点中的消息传递操作。图5a示出校验节点m500以及连接到校验节点m500的多个变量节点510、520、530和540。另外,图5a中所示的tn’,m指示从变量节点n’510传递到校验节点m500的消息,en,m指示从校验节点m500传递到变量节点n530的消息。这里,所有的连接到校验节点m500的变量节点的集合由n(m)定义,除了n(m)中的变量节点n530之外的集合由n(m)\n定义。在这种情况下,基于和-积算法的消息更新规则可用以下数学表达式15表示。在以上数学表达式15中,sign(en,m)指示消息en,m的符号,en,m指示消息en,m的幅值。同时,函数φ(x)可用以下数学表达式16表示。图5b示出变量节点x550以及连接到变量节点x550的多个校验节点560、570、580和590。另外,图5b中所示的ey’,x指示从校验节点y’560传递到变量节点x550的消息,ty,x指示从变量节点x550传递到变量节点y580的消息。这里,所有的连接到变量节点x550的变量节点的集合由m(x)定义,除了m(x)中的校验节点580之外的集合由m(x)\y定义。在这种情况下,基于和-积算法的消息更新规则可用以下数学表达式17表示。在以上数学表达式17中,ex表示变量节点x的初始消息值。另外,当节点x的比特值被决定时,它可用以下数学表达式18表示。在这种情况下,可根据px的值来决定与节点x对应的编码比特。在图5中,前述方法是一般的解码方法,因此,将省略其详细描述。然而,除了参照图5描述的方法之外,也可应用其他的用于确定变量节点和校验节点处的传递消息值的方法(frankr.kschischang、brendanj.frey和hans-andrealoeliger,“factorgraphsandthesum-productalgorithm”,ieeetransactionsoninformationtheory,第47卷,第2期,2001年2月,第498-519页)。图6是示出根据示例性实施例的编码设备的配置的框图。编码设备600可执行上述ldpc编码。如图6中所示,编码设备600包括ldpc编码器610。ldpc编码器610可基于在以上方法中产生的奇偶校验矩阵来对输入比特执行ldpc编码以产生ldpc码字。ldpc码字可由64800个比特形成。也就是说,ldpc码字长度可以为64800。这里,奇偶校验矩阵可具有与图3中所示的奇偶校验矩阵300的结构相同的结构。详细地说,奇偶校验矩阵包括上述信息字子矩阵和奇偶子矩阵。这里,信息字子矩阵由多个多个列组(每个列组包括m个列)形成,并且可由指示存在于每一个第m列中的值一(1)的位置的表定义。这里,m(其是在信息字子矩阵中列的模式的重复间隔)可以为360。另外,奇偶子矩阵可具有双对角结构。在这种情况下,ldpc编码器610可使用根据码率(即,ldpc码的码率)不同地定义的奇偶校验矩阵来执行ldpc编码。例如,当码率为6/15时,ldpc编码器610可使用由诸如以上表9、表13和表17的表定义的奇偶校验矩阵来执行ldpc编码,当码率为8/15时,使用由诸如以上表10和表14的表定义的奇偶校验矩阵来执行ldpc编码。此外,当码率为10/15时,ldpc编码器610可使用由诸如以上表11、表15和表18的表定义的奇偶校验矩阵来执行ldpc编码,当码率为12/15时,使用由诸如以上表12和表16的表定义的奇偶校验矩阵来执行ldpc编码。同时,已经描述了用于执行ldpc编码的详细方法,因此,将省略其重复描述。编码设备600还可包括关于ldpc码的码率、码字长度和奇偶校验矩阵的信息事先被存储在其中的存储器(未示出),并且ldpc编码器610可使用该信息来执行ldpc编码。这里,关于奇偶校验矩阵的信息可包括关于信息字子矩阵的信息,信息字子矩阵由多个列组(每个列组包括m个列)以及示出存在于每一个第m列中的值一(1)的位置的表形成。图7是示出根据示例性实施例的发送设备的配置的框图。如图7中所示,发送设备700可包括bose、chaudhuri、hocquenghem(bch)编码器710、ldpc编码器720、交织器730以及调制器740。bch编码器710对输入比特执行bch编码,并将通过bch编码而产生的bch码字输出到ldpc编码器720。详细地说,bch编码器710对输入比特执行bch编码,以产生nldpc-kldpc个bch奇偶比特,并产生bch码字对于ldpc编码器720,bch码字是用于ldpc编码的信息字。bch编码是公知技术,并且在“bose,r.c.、ray-chaudhuri,d.k.(1960年3月),“onaclassoferrorcorrectingbinarygroupcodes”,informationandcontrol3(1):68-79,issn0890-5401”等中被公开,因此,在本文中将省略其详细描述。同时,bch编码器710是否被使用可被改变。也就是说,在一些情况下,也可省略bch编码器710。ldpc编码器720对从bch编码器710输出的bch码字执行ldpc编码,并将通过ldpc编码而产生的ldpc码字输出到交织器730。详细地说,ldpc编码器720对从bch编码器710输出的作为信息字的bch码字执行ldpc编码,以产生nldpc-kldpc个ldpc奇偶校验比特,并产生ldpc码字然而,当省略bch编码器710时,ldpc编码器720可对输入比特执行ldpc编码。同时,图7的ldpc编码器720可被实现为参照图6描述的ldpc编码器610。也就是说,ldpc编码器720可使用如下的奇偶校验矩阵来执行ldpc编码,在该奇偶校验矩阵中,信息字子矩阵根据码率由以上表9至表18定义,并且奇偶子矩阵具有双对角结构。为此,发送设备700可包括用于存储关于奇偶校验矩阵的信息的存储器(未示出)。在这种情况下,奇偶校验矩阵根据码率可以是各种各样的,并且可以是由以上作为示例的表9至表18定义的表。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。交织器730对从ldpc编码器720输出的ldpc码字执行交织,并将交织的比特输出到调制器740。在这种情况下,交织器730接收从ldpc编码器720输出的ldpc码字比特串以使用预定的方案来执行交织。交织方案可以各种各样地存在,并且无论交织器730是否被使用,它都是可变的。调制器740对从交织器730输出的比特串进行调制,并将调制的比特串发送到接收设备(例如,图10的1000)。详细地说,调制器740可对从交织器730输出的比特进行解复用,并将解复用的比特映射到群集。也就是说,调制器740可按串行到并行方案对从交织器730输出的比特进行转换以产生由预定数量的比特形成的基元。这里,形成每个基元的比特的数量可以等于形成被映射到群集的调制码元的比特的数量。接着,调制器740可将解复用的比特映射到群集。也就是说,调制器740使用各种调制方案(诸如qpsk、16-qam、64-qam、256-qam、1024-qam和4096-qam)来对解复用的比特进行调制以产生调制码元,并将产生的调制码元映射到群集点。在这种情况下,解复用的比特由与调制码元对应的基元形成,因此,每个基元可被顺序地映射到群集点。此外,调制器740可对映射到群集的信号进行调制,并将调制的信号发送到接收设备1000。例如,调制器740可通过使用正交频分复用(ofdm)方案将映射到群集的信号映射到ofdm帧,并通过分配的信道将映射的信号发送到接收设备1000。发送设备700可预存用于编码、交织和调制的各种参数。这里,用于编码的参数可以是关于bch码的码率和码字长度的信息以及关于ldpc码的码率、码字长度和奇偶校验矩阵的信息。此外,用于交织的参数可以是关于交织规则的信息,用于调制的参数可以是关于调制方案的信息。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。在这种情况下,可使用所述参数来操作构成发送设备700的每个组件。同时,尽管未示出,但是发送设备700还可包括用于控制发送设备700的操作的控制器(未示出)。在这种情况下,控制器(未示出)可向bch编码器710提供关于bch码的码率和码字长度的信息,并向ldpc编码器720提供关于ldpc码的码率、码字长度和奇偶校验矩阵的信息。此外,控制器(未示出)可向交织器730提供关于交织方案的信息,并向调制器740提供关于调制方案的信息。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。图8是示出根据示例性实施例的解码设备的配置的框图。如图8中所示,解码设备800包括ldpc解码器810。ldpc解码器810基于奇偶校验矩阵对ldpc码字执行ldpc解码。这里,ldpc码字可由64800个比特形成。也就是说,ldpc码字长度可以为64800。例如,ldpc解码器810使用迭代解码算法传递与ldpc码字比特对应的对数似然比(llr)值以执行ldpc解码,从而产生信息字比特。这里,llr值可通过各种方法用与ldpc码字比特对应的信道值来表示。例如,llr值可用通过对通过发送端的信道发送的比特为零(0)的概率和这些比特为一(1)的概率的比率取对数而获得的值来表示。此外,llr值可以是通过软决策确定的比特值,并且也可以是根据从发送端发送的比特为零(0)或一(1)的概率所属的部分而确定的代表值。在这种情况下,发送端可使用如图6中所示的ldpc编码器610来产生ldpc码字。同时,用于ldpc解码的奇偶校验矩阵可具有与图3中所示的奇偶校验矩阵300的形式相同的形式。详细地说,奇偶校验矩阵包括信息字子矩阵和奇偶子矩阵。这里,信息字子矩阵由多个列组(每个列组包括m个列)形成,并由指示存在于每一个m列中的值一(1)的位置的表定义。这里,m(其是列的模式在信息字子矩阵中的重复间隔)可以为360。另外,奇偶子矩阵可具有双对角结构。在这种情况下,ldpc解码器810可使用根据码率(即,ldpc码的码率)不同地定义的奇偶校验矩阵来执行ldpc解码。例如,当码率为6/15时,ldpc解码器810可使用由诸如以上表9、表13和表17的表定义的奇偶校验矩阵来执行ldpc解码,当码率为8/15时,使用由诸如以上表10和表14的表定义的奇偶校验矩阵来执行ldpc解码。此外,当码率为10/15时,ldpc解码器810可使用由诸如以上表11、表15和表18的表定义的奇偶校验矩阵来执行ldpc解码,当码率为12/15时,使用由诸如以上表12和表16的表定义的奇偶校验矩阵来执行ldpc解码。如上所述,ldpc解码器810可使用迭代解码算法来执行ldpc解码。在这种情况下,可如图9中所示那样配置ldpc解码器810。然而,迭代解码算法已经是已知的,因此,图9中所示的详细配置仅仅是一个示例。如图9中所示,解码设备900包括输入处理器911、存储器912、变量节点操作器913、控制器914、校验节点操作器915以及输出处理器916。输入处理器911存储输入值。详细地说,输入处理器911可存储通过无线信道接收的信号的llr值。控制器914基于通过无线信道接收的信号的块的大小(即,码字长度)和与码率对应的奇偶校验矩阵来确定输入到变量节点操作器913的值的数量、存储器912中的地址值、输入到校验节点操作器915的值的数量、存储器912中的地址值等。根据示例性实施例,第i列组的第零(0)列中一(1)所在的行的索引可基于由以上表9至表18定义的奇偶校验矩阵来执行解码。存储器912存储变量节点操作器913和校验节点操作器915的输入数据和输出数据。变量节点操作器913基于关于输入数据的地址的信息以及关于从控制器914接收的输入数据的数量的信息来从存储器912接收数据以执行变量节点操作。接着,变量节点操作器913基于关于输出数据的地址的信息以及关于从控制器914接收的输出数据的数量的信息来将变量节点操作结果存储在存储器912中。此外,变量节点操作器913基于从输入处理器911和存储器912接收的数据来将变量节点操作结果输入到输出处理器916。这里,已经参照图5描述了变量节点操作。校验节点操作器915基于关于输入数据的地址的信息以及关于从控制器914接收的输入数据的数量的信息来从存储器912接收数据以执行变量节点操作。接着,校验节点操作器915基于关于输出数据的地址的信息以及关于从控制器914接收的输出数据的数量的信息来将变量节点操作结果存储在存储器912中。这里,已经参照图5描述了校验节点操作。输出处理器916基于从变量节点操作器913接收的数据来执行关于发送端的码字的信息字比特是零(0)、还是一(1)的软决策,然后输出软决策结果,以使得输出处理器916的输出值可以是最终解码的值。在这种情况下,在图5中,可基于通过将输入到一个变量节点的所有消息值(从校验节点输入的初始消息值和其他消息值)相加而获得的值来执行软决策。解码设备800还可包括在其中事先存储关于ldpc码的码率、码字长度和奇偶校验矩阵的信息的存储器(未示出),并且ldpc解码器810可使用该信息来执行ldpc编码。然而,这仅仅是示例,因此,对应的信息可从发送端提供。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。图10是示出根据示例性实施例的接收设备的配置的框图。如图10中所示,接收设备1000包括解调器1010、解交织器1020、ldpc解码器1030以及bch解码器1040。解调器1010接收从发送设备(例如,图7的700)发送的信号并对该信号进行解调。详细地说,解调器1010可对接收的信号进行解调以产生与ldpc码字对应的值,并将产生的值输出到解交织器1020。在这种情况下,与ldpc码字对应的值可用关于接收信号的信道值来表示。这里,用于确定信道值的方法可以是各种各样的,并且作为一个示例,可以是用于确定llr值的方法。解交织器1020可对解调器1010的输出值执行解交织,并将解交织的输出值输出到ldpc解码器1030。详细地说,解交织器1020是与发送设备700的交织器730对应的组件,并且可执行与交织器730对应的操作。也就是说,解交织器1020可逆向地应用应用于交织器730的交织方案来从对从解调器1010输出的llr值进行解交织。然而,在一些情况下,当在发送设备700中省略交织器730时,可省略解交织器1020。ldpc解码器1030可使用解交织器1020的输出值来执行ldpc解码,并将ldpc解码的比特输出到bch解码器1040。这里,ldpc解码的比特可以是bch码字。详细地说,ldpc解码器1030是与发送设备700的ldpc编码器720对应的组件,并且可基于奇偶校验矩阵来执行ldpc解码。图10的ldpc解码器1030可被实现为参照图8描述的ldpc解码器810。也就是说,ldpc解码器1030可使用如下的奇偶校验矩阵来执行ldpc解码,在该奇偶校验矩阵中,信息字子矩阵根据码率由以上表9至表18定义,并且该奇偶校验矩阵具有双对角结构。bch解码器1040可对从ldpc解码器1030输出的值执行bch解码。详细地说,bch解码器1040是与发送设备700的bch编码器710对应的组件,并且可对从ldpc解码器1030输出的bch码字执行bch解码以产生从发送设备700发送的比特。然而,在一些情况下,当在发送设备700中省略bch编码器710时,可省略bch解码器1040。接收设备1000可预存用于解码和交织的各种参数。这里,用于解码的参数可以是关于bch码的码率和码字长度的信息以及关于ldpc码的码率、码字长度和奇偶校验矩阵的信息。此外,用于解交织的参数可以是关于解交织规则的信息。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。在这种情况下,可使用所述参数来操作构成接收设备1000的每个组件。同时,尽管未示出,但是接收设备1000还可包括用于控制接收设备1000的操作的控制器(未示出)。在这种情况下,控制器(未示出)可向bch解码器1040提供关于bch码的码率和码字长度的信息,并向ldpc解码器1030提供关于ldpc码的码率、码字长度和奇偶校验矩阵的信息。此外,控制器(未示出)还可向解交织器1020提供关于交织方案的信息。这里,关于奇偶校验矩阵的信息可包括关于以下的信息:由多个列组(每个列组包括m个列)形成的信息字子矩阵以及示出存在于每一个第m列中的值一(1)的位置的表。图11和图12是用于描述根据示例性实施例的ldpc码的性能的示图。图11是示出根据示例性实施例的ldpc码的ber性能的曲线图。详细地说,每个曲线表示当基于以上表9至表18执行ldpc编码时对es/no的ber性能。图12是示出根据示例性实施例的ldpc码的fer性能的曲线图。详细地说,每个曲线表示当基于以上表9至表18执行ldpc编码时对es/no的fer性能。如上所述,当基于根据以上示例性实施例定义的奇偶校验矩阵执行ldpc编码时,可意识到ber/fer性能得到了提高。图13是用于描述根据示例性实施例的编码方法的流程图。详细地说,图13是用于描述用于执行低密度奇偶校验(ldpc)编码的编码设备的编码方法的示图。首先,基于奇偶校验矩阵对输入比特执行ldpc编码以产生ldpc码字(s1310)。在这种情况下,ldpc码字可由64800个比特形成。也就是说,ldpc码字长度可以为64800。同时,奇偶校验矩阵可具有与图3中所示的奇偶校验矩阵300的形式相同的形式。详细地说,奇偶校验矩阵包括上述信息字子矩阵和奇偶子矩阵。这里,信息字子矩阵由多个列组(每个列组包括m个列)形成,并且可由指示存在于每一个第m列中的值一(1)的位置的表定义。这里,m(其是列的模式在信息字子矩阵中的重复间隔)可以为360。另外,奇偶子矩阵可具有双对角结构。在这种情况下,在s1310中,可使用根据码率不同地定义的奇偶校验矩阵来执行ldpc编码。例如,当码率为6/15时,可使用由诸如以上表9、表13和表17的表定义的奇偶校验矩阵来执行ldpc编码,当码率为8/15时,可使用由诸如以上表10和表14的表定义的奇偶校验矩阵来执行ldpc编码。此外,当码率为10/15时,可使用由诸如以上表11、表15和表18的表定义的奇偶校验矩阵来执行ldpc编码,当码率为12/15时,可使用由诸如以上表12和表16的表定义的奇偶校验矩阵来执行ldpc编码。同时,已经描述了用于执行ldpc编码的详细方法,因此,将省略其重复描述。图14是用于描述根据示例性实施例的解码方法的流程图。详细地说,图14是用于描述用于执行低密度奇偶校验(ldpc)解码的解码设备的解码方法的示图。首先,基于奇偶校验矩阵对ldpc码字执行ldpc解码(s1410)。这里,ldpc码字可由64800个比特形成。也就是说,ldpc码字长度可以为64800。例如,可通过用迭代解码算法传递与ldpc码字比特对应的llr值来执行ldpc解码以产生信息字比特。这里,llr值可通过各种方法用与ldpc码字比特对应的信道值来表示。例如,llr值可用通过对通过发送端的信道发送的比特为零(0)的概率和这些比特为一(1)的概率的比率取对数而获得的值来表示。此外,llr值可以是通过软决策确定的比特值,并且也可以是根据从发送端发送的比特为零(0)或一(1)的概率所属的部分而确定的代表值。在这种情况下,发送端可使用如图6中所示的ldpc编码器610来产生并发送ldpc码字。同时,奇偶校验矩阵可具有与图3中所示的奇偶校验矩阵300的形式相同的形式。详细地说,奇偶校验矩阵包括如上所述的信息字子矩阵和奇偶子矩阵。这里,信息字子矩阵由多个列组(每个列组包括m个列)形成,并且可由指示存在于每一个m列中的值一(1)的位置的表定义。这里,m(其是列的模式在信息字子矩阵中的重复间隔)可以为360。另外,奇偶子矩阵可具有双对角结构。在这种情况下,在s1410中,可使用根据码率r不同地定义的奇偶校验矩阵来执行ldpc解码。例如,当码率为6/15时,可使用由诸如以上表9、表13和表17的表定义的奇偶校验矩阵来执行ldpc解码,当码率为8/15时,可使用由诸如以上表10和表14的表定义的奇偶校验矩阵来执行ldpc解码。此外,当码率为10/15时,可使用由诸如以上表11、表15和表18的表定义的奇偶校验矩阵来执行ldpc解码,当码率为12/15时,可使用由诸如以上表12和表16的表定义的奇偶校验矩阵来执行ldpc解码。同时,已经描述了用于执行ldpc解码的详细方法,因此,将省略其重复描述。可提供一种在其中存储顺序地执行根据以上示例性实施例的编码方法和解码方法的程序的非暂时性计算机可读介质。所述非暂时性计算机可读介质不是可将数据存储一个很短的时间段的诸如寄存器、高速缓存和存储器的介质,而是可半永久地存储数据并且通过设备读取的介质。详细地说,如上所述的各种应用或程序可在非暂时性计算机可读介质(诸如紧凑盘(cd)、数字多功能盘(dvd)、硬盘、蓝光盘、通用串行盘(usb)、存储卡和只读存储器(rom))中被存储和提供。此外,在前述示出编码设备、解码设备、发送设备和接收设备的框图中,未示出总线,但是编码设备、解码设备、发送设备和接收设备中的每个组件之间的通信可通过总线进行。根据示例性实施例,如图6-10中所示的方框所表示的组件、元件或单元可被实施为各种数量的执行上述各个功能的硬件、软件和/或固件结构。例如,这些组件、元件或单元可使用可通过一个或多个微处理器或其他控制设备的控制来执行各个功能的直接电路结构(诸如存储器)、处理、逻辑、查找表等。这些组件、元件或单元可具体地由包含用于执行指定的逻辑功能的一个或多个可执行指令的模块、程序、或代码部分实施。此外,以上组件、元件或单元中的至少一个还可包括处理器,诸如执行各个功能的中央处理单元(cpu)、微处理器等。如上所述,根据示例性实施例,可改进ldpc编码和解码性能。在上文中,尽管示出并描述了本发明构思的各种示例性实施例,但是本发明构思不限于前述示例性实施例,并且显而易见的是,在不脱离在所附权利要求中描述的本发明构思的精神的情况下,本领域技术人员可做出各种修改,并且修改的实施例不要独立于本发明构思的技术精神和前景进行理解。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1