一种低密度奇偶校验码的构造方法及装置的制作方法

文档序号:7538822阅读:217来源:国知局
专利名称:一种低密度奇偶校验码的构造方法及装置的制作方法
技术领域
本发明涉及通信系统,更具体地说,涉及通信系统中对信号进行编码和/或解码所用的编码方法及装置。
背景技术
多年来数据通信系统一直在持续发展。最近引起广泛关注的一种数据通信系统是使用迭代纠错码(iterative ECC)的通信系统。而使用LDPC(低密度奇偶校验)码的通信系统是特别引人注意的。在给定SNR(信噪比)下,使用迭代码的通信系统比使用其他编码的通信系统常常能获得更低的BER(误码率)。
该领域发展的长期和首要目标是努力降低对SNR的要求以达到通信系统内给定的BER。理想目标就是努力在通信信道上达到香农极限(Shannonlimit)。香农极限是在具有特定SNR的通信信道上进行无错传输的最大数据速率。换句话说,香农极限是在给定调制和编码率下信道容量的理论临界值。
LDPC码能提供极好的编码性能,在一些情况下能达到香农极限。例如,一些LDPC解码器与理论的香农极限差距在0.3dB(分贝)的范围内。虽然该例子是通过使用长度为100万的不规则LDPC编码来实现的,但它仍然表明了LDPC码在通信系统中极有前途的应用。
很多新的应用领域都在继续探索LDPC码的使用。使用LDPC编码信号的一些可能的通信系统包括使用4对双绞线电缆的高速以太网应用(例如,根据IEEE 802.3an(10GBase-T)新兴标准运行的10Gbps(千兆比特每秒)以太网)的通信系统,以及在无线范围内(例如,在包括IEEE 802.11n新兴标准的IEEE 802.11范围空间)运行的通信系统。
对于这些特定通信系统应用领域的任一个而言,都很期望接近纠错码达到的容量。使用传统的链接码会生产(反应时间的)等待约束(latencyconstraints),这完全地限制了自己在高数据率通信系统应用领域中的使用。
显然,业内继续需要能接近纠错码达到的容量的一些其它编码类型和调制方式。LDPC码提供了这种性能。显然,业内还需要一种能设计这种LDPC码以用于这种通信系统应用领域的装置。
对于具有良好性能的LDPC码的构造,没有公认的“最好的”方法。以下参考文献[a]中,是基于RF(Reed-Solomon,里德-索罗门)码的两个码字来构造LDPC码。
I.Djurdjevic,J.Xu.,K.Abdel-Ghaffar和S.Lin在《IEEECommunications Letter》第7卷第7号2003年7月第317-319页的“A Class ofLow-Density Parity-Check Codes Constructed Based on Reed-Solomon Codeswith Two Information Symbols”。
现有技术参考文献中使用的这些LDPC码种类很少,且根据这种方法设计出的其它类型的LDPC码也缺少灵活性。这种缺少灵活性的缺陷对这种LDPC码和/或使用这种LDPC码的通信设备的任何设计而言都是一个重大的挑战。显然,长期以来,一直需要另外的、更好的编码类型,以用于各种通信系统中,以在各种SNR(信噪比)下提供更好的纠错和更好的BER(误码率)。

发明内容
本发明涉及操作方法和装置,该操作方法和装置将在


具体实施方式
和权利要求中有详细的描述。
根据本发明的一方面,提供一种LDPC码的构造方法,包括根据CSI(循环移位单位)映射将GRS(通用里德-索罗门)码的多个码字的每个码字的每个元素映射以形成多个CSI子矩阵;和将所述多个CSI子矩阵排列以产生LDPC(低密度奇偶校验)码的奇偶校验矩阵。
优选地,所述方法还包括
从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是是该多个1阶多项式函数中所有其他(very other)1阶多项式函数的非标量(non-scalar)倍数;和产生包括多个码字的GRS码。
优选地,所述GRS码的每个码字包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量(resultant)的乘积,由位置集中的一个元素计算。
优选地,所述方法还包括对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换(row permutaiton)和列置换(column permutaiton),从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵的对角线的正右方且紧靠对角线的子矩阵也是单位矩阵;和所述每二子矩阵的第二多个子矩阵中,余下的子矩阵都是全零子矩阵。
优选地,所述方法还包括对第一子矩阵的第一多个矩阵的至少一个子矩阵凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对第一子矩阵的至少一个元素凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换和列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵的对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;所述第二多个子矩阵中,第二子矩阵的右上角处的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生;和所述第二子矩阵的第二多个子矩阵中,余下的子矩阵是全零子矩阵。
优选地,所述方法还包括对第一子矩阵的第一多个子矩阵的至少一个子矩阵凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对第一子矩阵的至少一个元素凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括
对LDPC码的奇偶校验矩阵执行至少一次行置换与列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵的对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;所述第二多个子矩阵中,第二子矩阵的右上角处的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置以及对该第二多个子矩阵的右上角的子矩阵的第一行的任一非零元素凿孔产生;和所述第二子矩阵的第二多个子矩阵中,余下的子矩阵是全零子矩阵。
优选地,所述方法还包括对第一子矩阵的第一多个子矩阵的至少一个子矩阵凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对第一子矩阵的至少一个元素凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对第二子矩阵执行至少一次行置换与列置换,其中该第二子矩阵对角线上的每个元素的值都是1;该第二子矩阵中,位于对角线的“1”正上方且紧靠对角线的元素、位于对角线的“1”的正右方且紧靠对角线的元素的值为1;和第二子矩阵余下的每个元素都是0值。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换与列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中
所述第二多个子矩阵中,位于第二子矩阵对角线上的的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵的对角线正右方且紧靠对角线的子矩阵也是单位矩阵;所述第二多个子矩阵中,第二子矩阵的右上角处的的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生;第二子矩阵的行上包括三个单位子矩阵;和所述第二多个子矩阵中,第二子矩阵的右下角处的的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生。
优选地,所述方法还包括选择第二子矩阵中包括三个单位矩阵的行。
优选地,所述方法还包括对第一子矩阵的第一多个子矩阵的至少一个子矩阵凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对第一子矩阵的至少一个元素凿孔,以将LDPC码的奇偶校验矩阵转换为不规则LDPC码的奇偶校验矩阵。
根据根发明的一方面,提供一种LDPC码的构造方法,包括从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是该多个1阶多项式函数中所有其他(very other)1阶多项式函数的非标量(non-scalar)倍数;产生包括多个码字的GRS码,其中所述GRS码的每个字码包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量(resultant)的乘积,由位置集中的一个元素计算;和根据CSI(循环移位单位)映射将所述GRS码的多个码字的每个码字的每个元素映射以产生多个CSI子矩阵;和将所述多个CSI子矩阵排列以产生LDPC(低密度奇偶校验)码的奇偶校验矩阵。
优选地,所述方法还包括对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换和列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;和所述第二子矩阵的第二多个子矩阵中,余下的子矩阵是全零子矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换和列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中
所述第二多个子矩阵中,位于第二子矩阵对角线上的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;所述第二多个子矩阵中,第二子矩阵的右上角的的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生;和所述第二子矩阵的第二多个子矩阵中余下的子矩阵是全零子矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换与列置换,从而将奇偶校验矩阵安排在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、第二子矩阵的对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;第二子矩阵的右上角处的第二多个子矩阵的右上子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置以及对第二多个子矩阵的右上角的子矩阵的任一非零元素凿孔产生;和第二子矩阵的第二多个子矩阵中余下的子矩阵是全零子矩阵。
优选地,所述方法还包括对LDPC码的奇偶校验矩阵执行至少一次行置换与列置换,从而将奇偶校验矩阵排列在第一子矩阵和第二子矩阵中,所述第一子矩阵包括第一多个子矩阵,所述第二子矩阵包括第二多个子矩阵,其中所述第二多个子矩阵中,位于第二子矩阵对角线上的的每个子矩阵都是单位矩阵;所述第二多个子矩阵中,第二子矩阵的对角线正上方且紧靠对角线的子矩阵、对角线的正右方且紧靠对角线的每个子矩阵也是单位矩阵;所述第二多个子矩阵中,第二子矩阵的右上角处的的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生;第二子矩阵的行上包括三个单位子矩阵;和所述第二多个子矩阵中,第二子矩阵的右下角处的的子矩阵是CSI子矩阵,该CSI子矩阵由单位矩阵循环移动1个位置产生。
根据本发明的一方面,提供一种构造LDPC码的装置,包括处理模块;和存储器,该存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块根据CSI(循环移位单位)映射将GRS(通用里德-索罗门)码的多个码字的每个码字的每个元素映射,从而产生多个CSI子矩阵;和将所述多个CSI子矩阵排列,从而产生LDPC码的奇偶校验矩阵。
优选地所述存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是该多个1阶多项式函数中所有其他(very other)1阶多项式函数的非标量(non-scalar)倍数;和产生包括多个码字的GRS码。
优选地所述GRS码的每个码字包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量(resultant)的乘积,由位置集中的一个元素计算。
优选地所述存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。

下面将结合附图及实施例对本发明作进一步说明,附图中图1和图2是通信系统的实施例的示意图;图3是根据一实施例的LDPC(低密度奇偶校验)码的二分图的一个示例;图4是根据一实施例的对LDPC编码信号进行发射处理的方法流程图,该LDPC编码信号由被选择的LDPC码产生,该被选择的LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵;图5是根据一实施例的对LDPC编码信号进行接收处理的方法流程图,该LDPC编码信号由被选择的LDPC码来产生,该被选择的LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵;图6是根据一实施例的构造对应于规则或不规则LDPC码的奇偶校验矩阵的方法流程图;图7是根据一实施例的两种不同的LDPC码(例如LDPC(4)和LDPC(5))以及LDPC码(C108)之间的性能比较图,其中,这些编码的的奇偶校验矩阵包括至少一个CSI子矩阵;图8是根据一实施例的LDPC码(即LDPC(6))和LDPC码(C1)和LDPC码(C2)的性能比较图,这些LDPC码的奇偶校验矩阵都包括至少一个CSI子矩阵;图9是根据一实施例的不同的LDPC码(即LDPC(7))和LDPC码(C3a或C3b)的性能比较图,这两种LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵;图10是根据一实施例的不同的LDPC码(即LDPC(8))和LDPC码(C4)的性能比较图,这两种LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵;图11是根据一实施例的两个不同的LDPC码(即LDPC(9)和LDPC(10))和以及另外3种LDPC码(C5、C6和C7)的性能比较图,这些LDPC码的奇偶校验矩阵都包括至少一个CSI子矩阵;图12是根据一实施例的LDPC码之一(即LDPC(9))的构造示意图,该LDPC码的性能已在附图11种描述;图13是根据一实施例的LDPC码之一(即LDPC(10))的置换示意图,该LDPC(10)的性能已在图11中描述;图14是根据一实施例的LDPC码之一(即LDPC码(C5))的结构示意图,该LDPC码(C5)的性能已在图11中描述;图15和图16是两种LDPC码(即LDPC码(C5)和LDPC码(C6))的置换实施例示意图,该两种LDPC码的性能已在图11中描述;图17和图18是奇偶校验矩阵的奇偶部分约束(parity portionconstraints)的两个实施例,所述奇偶校验矩阵是编码率的函数;图19和图20是奇偶校验矩阵的奇偶部分约束的另两个实施例,所述奇偶校验矩阵是编码率的函数;图21是根据一实施例的LDPC码之一(即,LDPC码(C9))的置换示意图,该LDPC的性能将在后面的图24中描绘,特别地,该LDPC码中有小环;图22是根据一实施例的LDPC码之一(即,LDPC(11))的置换示意图2200,该LDPC的性能将在后面的图24中描绘,特别地,该LDPC码中有小环;图23是根据一实施例的LDPC码之一(即,LDPC码(C8))的置换示意图,该LDPC的性能将在后面的图24中描绘,特别地,该LDPC码中有小环;图24是根据一实施例的LDPC码(即LDPC(11))和其他两种LDPC码(C8和C9)的性能比较图,这些LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵;图25和图26是对应于规则或不规则LDPC码,构造奇偶校验矩阵的其它实施例的方法流程图;图27是根据一实施例的、对应于规则或不规则LDPC码,用于构造奇偶校验矩阵的装置的示意图。
具体实施例方式
数字通信系统的目标是将数字数据无错地或以可接受的误码率从一个位置或子系统发送到另一个位置或子系统。如图1所示,可通过多种通信系统的多种通信信道传送数据磁媒介、无线、光纤、铜缆和其他类型的媒介。
图1和图2分别是通信系统100、200的实施例的示意图。
参考图1,通信系统100的实施例中,通信信道199的一端通讯地连接到通信设备110(其包括具有编码器114的发射器112、具有解码器118的接收器116),另一端通信地连接到通信设备120(其包括具有编码器128的发射器126、具有解码器124的接收器122)。在一些实施例中,通信设备110或120可以仅包括发射器或接收器。有多种不同类型的实现通信信道199的媒介(例如,使用卫星碟状天线132及134的卫星通信信道130;使用塔架142及144和/或本地天线152及154的无线通信信道140;有线通信信道150和/或使用电-光(E/O)接口162和光-电(O/E)接口164的光通信信道160)。另外,可使用一种以上的媒介类型,通过接口连接在一起以形成通信信道199。
通常使用纠错和信道编码方案来减少通信系统中不希望出现的传输错误。一般上,所述纠错和信道编码方案包括在发射器上使用编码器和接收器上使用解码器。
参考图2的通信系统200。在通信信道299的发射端,信息位201提供给发射器297。发射器297可操作地使用编码器和符号映射器220(可看成由独立的功能块222和224构成)对这些信息位201进行编码,因此产生的一连串的离散值的调制符号203。调制符号203被提供给发射驱动器230。发射驱动器230使用DAC(数字-模拟转换器)232产生连续时间的发射信号204,使用发射器滤波器234产生经滤波的与通信信道299相适应的连续时间的发射信号205。在通信信道299的接收端,连续时间的接收信号206被提供给AFE(模拟前端)260。AFE 260包括接收滤波器262(接收滤波器262产生经滤波的连续时间的接收信号207)和ADC(模拟-数字转换器)264(ADC 264产生离散时间的接收信号208)。度量生成器270计算出符号度量209。解码器280使用符号度量209对离散值的调制符号和其中的编码信息位进行最佳估算210。
上述任一实施例的解码器可在本发明的各个方面和/或各个实施例中实现。另外,后续的一些附图将对其它的特定实施例进行(更详细的)阐述,用于支持根据本发明一些方面和/或一些实施例的设备、系统、功能和/或方法。根据本发明一些方面和/或一些实施例处理的一种特殊类型的信号是LDPC编码信号。现在对LDPC码进行简单的描述,后续部分会对其进行更详细的描述。
图3是LDPC(低密度奇偶校验)码的实施例的二分图(dipartie graph)300。在业内,有时也将LDPC码二分图称为Tanner图。可将LDPC码看作是具有二进制奇偶校验矩阵且该矩阵几乎所有的元素都是0(例如,二进制奇偶校验矩阵是稀疏矩阵)的码。例如,H=(hi,j)M×N可看作块长度为N的LDPC码的奇偶校验矩阵。
可将奇偶检验矩阵第i列的数字“1”表示为dv(i),将第j行的数字“1”表示为dc(j)。如果对于所有的i,dv(i)=dv且对于所有的j,dc(j)=dc,那么该LDPC码称为(dv,dc)规则LDPC码;否则,该LDPC码称为不规则LDPC码。
R.Gallager在下面的参考文献[1]中,M.Luby等人在参考文献[2]中,对LDPC码进行了介绍[1]R.Gallager,Low-Density Parity-Check Codes,Cambridge,MAMITPress,1963. M.G.Luby,M.Mitzenmacher,M.A.Shokrollahi,D.A.Spielman,及V.Stemann,“Practical Loss-Resilient Codes”,Proc.29thSymp.1997年Theory ofComputing,第150-159页。
规则LDPC码可以用二分图300表示,该规则LDPC码的奇偶校验矩阵的左边的节点表示码位变量(或者表示在位解码方法中用于解码LDPC编码信号的“变量节点”(或“位节点”)310),右边的节点表示校验等式(或者表示“校验节点”320)。用H定义的LDPC码的二分图300可以用N个变量节点(例如,N个位节点)和M个校验节点定义。N个变量节点310中的每个变量节点有dv(i)个边(如图3中所示的边330)将位节点vi312连接到(M个校验节点中的)一个或多个校验节点。如图所示的边330将位节点vi312连接到校验节点cj322。边(如图的dv314)的数目dv称为变量节点i的度数(degree)。类似地,M个校验节点320中的每个变量节点有dc(j)个边(如图的dc324)将位该校验节点连接到变量节点(或位节点)310中的的一个或多个变量节点。边的数目dc称为校验节点j的度数。
变量节点vi(或位节点bi)312和校验节点cj322之间的边330可用e=(i,j)定义。换句话说,对于给定边e=(i,j),该边的节点可用e=(v(e),c(e))(或者e=(b(e),c(e)))表示。给定一个变量节点vi(或位节点bi),可用Ev(i)={e|v(e)=i}(或Eb(i)={e|b(e)=i})来定义从该变量节点vi(或位节点bi)发出的一组边。给定一个校验节点cj,可用Ec(j)={e|c(e)=j}来定义从该节点cj发出的一组边。接着,它们的微商结果(derivative result)是|Ev(i)|=dv(或|Eb(i)|=db)和|Ec(j)|=dc。
一般而言,任何能用二分图表示的码都能表征为图码。已知,不规则LDPC码也能用二分图来描述。但是,不规则LDPC码中的每组节点的度数据可以根据某种分布(some distribution)来选择。因此,对于不规则LDPC码的两个不同的变量节点vi1和vi2,|Ev(i1)|不一定等于|Ev(i2)|。两个不同的校验节点之间的关系也一样。不规则LDPC码的概念,最初由M.Luby等人提出,见上文所提及的参考文献[2]。
通常,LDPC码的参数和图可用分布度数(degree of distribution)来定义,如M.Luby等人在上文提及的参考文献[2]及下文提及的参考文献[3]中所言。
T.J.Richardson和R.L.Urbanke,“The capacity of low-densityparity-check code under message-passing decoding”,IEEE Trans.In form.Theory第47卷,第599-618页,2001年2月。
分布可以描述为令λi表示从i度变量节点发出的一部分边,ρi表示从i度校验节点发出的一部分边,那么,度数分布对(λ,ρ)如下定义λ(x)=Σi=2Mvλixi-1]]>和ρ(x)=Σi=2Mcρixi-1,]]>其中Mv和Mc分别表示变量节点和校验节点的最大度数。
虽然这里阐述的很多实施例是以规则LDPC码为例子,但如本领域技术人员所知,本发明的一些方面和/或实施例对于规则LDPC码和不规则LDPC码都能适用。
下面给出两种方法,这两种方法都利用至少一种根据本发明的一些方面和/或实施例所构造LDPC码进行操作。
图4是对LDPC编码信号进行发射处理过程400的流程图。该LDPC编码信号由被选择的LDPC码产生,该被选择的LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵。图4所示的方法可看作在通信信道的发射器端实施的方法。
该方法也可看作是包括LDPC编码信号的产生以及为使LDPC编码信号适应通信信道所需要的任何操作,其中,相应的连续时间的发射信号将发射到所述通信信道。
首先,该方法包括接收信息位,如步骤405所示。这些信息位对应于将要从通信信道的一端发送到另一端的实际信息。在通信信道的另一端,对这些原始信息进行最佳估算。接着,该方法包括使用LDPC编码所述信息位,从而产生LDPC码字,每个LDPC码字由n位符号组成,如步骤410所示。使用选择的LDPC码实施编码,所选择的LDPC码的奇偶校验矩阵包括至少一个CSI(循环移位单位)子矩阵。在一些实施例中,该方法包括在使用LDPC码编码信息位后,交错LDPC码字的位,如步骤415所示。
接着,如步骤420所示,该方法将该n位符号映射到至少一个调制(其包括至少一个星群形状(constellation shape)和至少一个对应的映射)。在一些实施例中,该n位符号被映射到多个不同的调制类型,从而产生可变的调制和/或编码率的信号,该信号的调制和/或编码率的改变可以是逐帧变化,甚至逐符变化。n位符号到至少一种调制的符号映射产生离散值的调制符号串,该调制符号串包括成对的I、Q值(或者更高维数的星群)。要说明的是,n是整数。在这点上,该离散值的调制符号串可看作是LDPC编码调制信号(在这点上,是完全的数字形式)。
接着,该方法包括将以成对的I、Q值(或更高维数的星群)表示的离散值的调制符号串中的每一个符号按照调制率插入装置(means)中,以产生连续时间信号,如步骤430所示。例如,该步骤可用DAC(数字-模拟转换器)实现。
然后,一旦从DAC或者等效装置输出所述连续时间信号(通常是基带频率),该方法包括对该连续时间信号(例如,连续时间的基带信号)执行任何必须的上变频、滤波和/或增益调整,从而产生经滤波的连续时间的发射信号,如步骤440所示。可能在一些实施例中不需要进行上变频、滤波和/或增益调整,因为从DAC或者等效装置输出的连续时间信号的格式已经适合该信号将要进入(或将被存储在其中的)的通信信道(或媒介)。当实施适当的处理将信号转换成符合通信信道(或媒介)的形式之后,就把信号发射到信道中,如步骤450所示。
后续的附图所示的方法可看作在通信信道的接收器端执行的。在一些实施例中,所接收的连续时间信号可看作被通信信道修改的连续时间的发射信号,该发射信号是在发射器端进入所述通信信道。典型地,通信信道对已经进入该通信信道或者经由该通信信道发送(或者将要存储在其中)的连续时间的发射信号进行修改(该修改通常是不想要的)。后续的2幅附图中,每幅附图都显示了一些可能的替换方法。通过使用所述替换方法对所接收的连续时间信号进行接收处理(例如,在通信信道的接收器端),以期(in an effort)最终对其中已编码的信息位作出最佳估算。
图5是对LDPC编码信号的接收处理过程500的流程图。该LDPC编码信号使用选择的LDPC码来产生,所选择的LDPC码的奇偶校验矩阵包括至少一个CSI子矩阵。该方法首先包括接收连续时间信号,如步骤510所示。对连续时间信号的接收和处理也包括执行任何必需的对第一连续时间信号下变频,从而产生第二连续时间信号,如步骤512所示。任何需要执行的频率转换可以从载波频率直接转换到基带频率,也可以通过IF(中频)进行转换。无论哪种实施方式,当执行该方法时,所接收的连续时间信号的频率被降低到基带连续时间信号的频率。
该方法也包括对第一(或第二)连续时间信号进行采样,从而产生离散时间的信号和从中提取I、Q(同相、正交)分量,如步骤520所示。采样可以使用ADC(模拟-数字转换器)或等效装置来执行,以从适当地下变频(可能也被滤波的)的接收连续时间信号中产生离散时间信号。在该步骤中,该离散时间信号的每个采样的I、Q分量也被提取。接着,该方法包括对I、Q分量解调和执行该I、Q分量的符号映射,从而产生一系列离散值调制符号,如步骤530所示。
该实施例的方法的下一步骤包括为预先确定的迭代次数更新边信息(edge message),如步骤540所示。该步骤可看作根据上述的任一实施例进行LDPC解码。LDPC解码通常包括位引擎处理(如步骤542所示)和校验引擎处理(如步骤544所示),位引擎处理是为了更新与位节点相关的边信息,校验引擎处理是为了更新与校验节点相关的边信息。
当预定的迭代解码次数的最后一次迭代解码完成后(或在另一实施例中,LDPC码的所有校验子(syndrome)都等于0)后,该方法包括基于对应于最近更新的相对于位节点的边信息的软信息作出硬判决,如步骤550所示。该方法的最后包括输出从所接收的连续时间信号中提取的码字(其包括信息位)的最佳估算,如步骤560所示。
如在上文Djurdjevic等人的参考文献[a]中所提及,有限类型(narrowtype)的LDPC码是基于双码字的RS(里德-索罗门)码构造的。
在2005年7月27日提交的名称为“Construction of LDPC(Low DensityParity Check)codes using GRS(Generalized Reed-Solomon)code”的美国专利申请11/190,333,提供了一种使用GRS(通用里德-索罗门)产生LDPC码的通用方法。本发明参考并结合了该方法。
使用RS码或GRS码来构造规则LDPC码,提供了对最小码距的良好估算。这种规则LDPC码的误差底限(error floor)显示出更低的误码率。但是,业内公知,在通信系统中,就所达到的信道容量(或香农极限)而言,规则LDPC码不如不规则LDPC码。
在2005年4月22日提交的名称为“Construction of Irregular LDPC(LowDensity Parity Check)codes using RS(Reed-Solomon)codes or GRS(generalized Reed-Solomon)code”的美国临时专利申请60/674,084中,提供了一种构造LDPC的方法,所构造的LDPC在误差底限和所达到的信道容量方面都具有良好的性能。本发明参考并结合了该方法。该方法基于RS或GRS码构造不规则LDPC码,所构造的LDPC码的性能比早先的LDPC更接近香农极限。由该方法构造的LDPC码的奇偶校验矩阵是用给定尺寸的方形子矩阵构造的。所述子矩阵是单位矩阵的置换矩阵或者是全0矩阵(例如,该矩阵所有元都是0)。但是,将这些矩阵任意置换会导致复杂化和增加对使用这种LDPC产生的LDPC编码信号进行解码的硬件(如通信设备)的复杂性。
简化解码LDPC编码信号的硬件(如通信设备)设计的一种可能方法是使所有的置换矩阵都是CSI(循环移位单位)矩阵。在这里,通过该方法,使用RS码或GRS码构造LDPC码,使得所构造的LDPC码对应的奇偶校验矩阵由全0子矩阵(例如,子矩阵所有的元都是0),或者由单位矩阵循环移位产生的子矩阵(例如,子矩阵是SCI(循环移位单位)矩阵)构成。
使用其奇偶校验矩阵H包括CSI子矩阵的LDPC码的好处之一是降低了复杂性,这是一个或多个子矩阵的CSI特性导致的。例如,每个子矩阵只有1个值需要存储,执行循环移位(即,在通信设备的实际硬件上)比执行置换容易,这种置换是解码其他类型的LDPC编码信号需要执行的。
在后续的很多实施例中,LDPC码的低密度奇偶校验矩阵H,显示出以下特性H=[H1H2]。设计者在设计左边的矩阵H1时根本不受限制。例如,当根据这里的任一实施例设计不规则LDPC码时,设计者能对左边矩阵H1执行任何期望的凿孔(puncturing)。但是,设计右边的矩阵H2时,设计者面临很多替换的实施例和变化。对整个低密度奇偶校验矩阵H实施行与列的置换,或者仅仅对左边矩阵H1实施行与列的置换,或者仅仅对右边矩阵H2实施行与列的置换,都不脱离本发明的范围和精神。
二维(2D)RS和GRS码有限域本文所描述的很多LDPC码的产生都在有限域的范围内(例如,Galois域)描述。考虑有限域(Galois域)GF(q),其中q=pm,p是素数,m是整数,m>0。令α是该域中的素元,那么Galois域定义如下GF(q)={0,α,...,αq-1} (等式1)二维(2D)GRS码或短RS码令p≤q-1,令C是长度为ρ的二维(2D)短RS码,那么,这种RS码的最小码距公知为ρ-2+1=ρ-1。另外,该码的码字的权重(即,非零元素的数目)为ρ或ρ-1。
上面提到的Djurdjevic等人的参考文献[a]中,构造这种码的一种方法是定义多项式g(x)=(x-α)(x-α2)···(x-αρ-2)=Σi=0ρ-2gixi]]>(等式2)其中,gρ-2=1,接着,使用该多项式产生二维码,该二维码具有以下的产生矩阵G=g0g1···gρ-3100g0···gρ-4gρ-31]]>(等式3)当使用GRS码时,整数ρ在1至q之间。取位置集L={αi0,…,αiρ-1}GF(q)(即,位置集L是有限域(Galois域)GF(q)的子集,可以包括整个有限域(Galois域)GF(q)),取非零元素集V={v0,v1`,…,vρ-1},该非零元素集包括有限域GF(q)内的ρ个非零元素v0,v1`,…,vρ-1,那么,可如下产生k-D GRS码(即,GRSk(L,V))GRSk(L,V)={(v0f(αi0)),(v1f(αi1)),...,(vρ-1f(αiρ-1))|f∈GF(q)[x],deg(f)<k}]]>
(等式4)其中,GF(q)[x]是GF(q)域上的多项式环。相似地,该k-D GRS码中的码字的权重为ρ或ρ-1。
要注意,GRS码是最大距离可分的(MDS)。在上述中,如果考虑二维的GRS码(即k=2),那么GRS码(GRSk(L,V))是具有最小码距dmin=n-1的(n,2,n-1)码。这表明在GRS码(GRSk(L,V))的任何两个不同字码之间,最多有1个元素相同。
LDPC码可直接由其低密度校验矩阵H定义。一旦提供了LDPC码的低密度校验矩阵H,就提供了实现使用这种纠错码(至少是纠错码相关的方面)的通信系统的所有必需信息。就是说,一旦通信信道的接收端的解码处理中低密度校验矩阵H是可用的,那么就能从该低密度校验矩阵H上直接生成LDPC码的对应的产生矩阵G。掌握这些信息后,允许设计者在通信信道的发射器端执行编码处理(使用对应于LDPC码的任何产生矩阵G)以及在通信信道的接收器端执行解码处理(使用LDPC码的低密度校验矩阵H)。
可选地,LDPC码的完全相同的(very same)低密度校验矩阵H,也可用于对信息位进行编码。在这种实施例中,该相同的低密度校验矩阵H既用于解码也用于编码。业内有公知的使用低密度校验矩阵H执行编码处理(例如,使用向后置换)的方法。
任何LDPC码的迭代解码处理都能并行地处理(例如,至少一定程度的并行处理)。但是,当LDPC码的块尺寸太大时,并行处理方式唯一可行的是部分并行处理。例如,LDPC码的低密度校验矩阵H可如下表示 其中,每个子矩阵Pi,j是s×s的矩阵,且是如下之一1、全0子矩阵(例如,子矩阵的所有元素是0);2、CSI(循环移位单位)子矩阵;或
3、2个或多个CSI子矩阵相加后的子矩阵。
下面将详细阐述将GRS码转换成LDPC码的有关处理过程。
位置映射将Galois域的非0元素集表示为GF*(q)=GF(q)/{0}。Galois域的非零元素集GF*(q)表明其中没有0元素(即,在这个有限域中没有元素0,或者没有全0值向量)(即GF*(q)中没有0值向量)。因此,如果该Galois域GF(q)包括q个元素,那么,Galois域的非零元素集GF*(q)包括(q-1)个元素。因此,如果α是有限域(Galois域)GF(q)的素元,那么,该Galois域的非零元素包括以下性质GF*(q)={1=α0,α1,α2,...,αq-2}=<α> (等式5)另外,我们有αq-1=1。
显然,Galois域的非零元素集GF*(q)中没有0元素。
从Galois域的非零元素集GF*(q)中选择位置集L={α0,α1,…,αρ-1}GF*(q)以及包括ρ个非零元素v0,v1`,…,vρ-1的非零元素集V={v0,v1`,…,vρ-1}GF*(q)。就是说,每个位置集L和每个非零元素集V都是对应于Galois域的非零元素集GF*(q)的子集。位置集L和非零元素集V都可以包括Galois域的整个非零元素集GF*(q)。
接着,产生多个1阶多项式函数。该多项式函数如下表示fi(x)=ai·x+bi,其中i=0,…,σ-1,这样对于i≠j,fi≠β·fi,β∈GF*(q)\{1}。
可以看到,每一个1阶多项式函数fi,是对应的一个因子ai和对应的一个常数bi的函数。另外,如果β是Galois域的非零元素集GF*(q)中除了1之外的元素,任一个1阶多项式函数fi与β相乘后,都不等于另一个1阶多项式函数fi。
还要注意,ai和bi根据一定的条件确定,下面会详细地阐述该条件。一般而言,ai和bi的值由上述的位置集L和非零元素集V确定。设计者可以选择ai和bi的值以针对特定的应用获得期望的编码结构类型。
据此,如果考虑二维GRS码,那么该二维GRS码的码字GRS2(L,V)如下产生ci=(ci,0,...,ci,ρ-1)=(v0·fi(α0),...,vρ-1·fi(αρ-1))∈GRS2(L,V)可以看到,GRS码的每个码字CGRS,包括多个元素ci,j。另外,每个码字元素ci,j,是非零元素集V的一个元素(例如vi)和一个1阶多项式的乘积,该1阶多项式可用位置集L的一个元素计算(如,fi(αj))。
因此,存在以下性质对于i≠j,有{β·ci|β∈GF*(q)}∩{β·cj|β∈GF*(q)}=,其中,Φ表示“空集”。
因此,存在以下关系对于i≠j,有d(β·ci,γ·cj)≥ρ-1,其中β,γ∈GF*(q)。
据此,GRS码(用CGRS表示)可以如下定义CGRS={ci|i=0,...,σ-1}将GRS码CGRS映射到LDPC码是通过将GRS码的域元素CGRS映射到各种CSI矩阵来实现,该CSI矩阵构成了低密度奇偶校验矩阵H的子矩阵。这可看作根据CSI(循环移位单位)映射将GRS码的每个码字的每个元素(例如,ci,j)映射,从而产生多个CSI子矩阵。产生CSI子矩阵后,根据期望的方式排列这些CSI子矩阵以产生对应于LDPC码的低密度奇偶校验矩阵H。
在Galois域的非零元素集GF*(q)={1=α0,α1,α2,...,αq-2}=<α>上,可在二进制空间{0,1}q-1上将元向量ei定义为大小为q-1的向量,该向量除了第i元素(component)之外,所有的元素都是0。因此,e0=(1,0,...,0),e1=(0,1,...,0),...,eq-2=(0,0,...,1)(等式6)定义位置映射MGF*(q)→{0,1}q-1,那么M(αi)=ei。显然,该位置映射是一对一映射。
CSI(循环移位单位)矩阵构造(q-1)×(q-1)的单位矩阵Iq-1定义为对角线上的元素是1,其他元素是0的矩阵。因此,
Iq-1=e0e1···eq-2]]>(等式7)CSI(循环移位单位)矩阵通过在相同位置循环地移动每一行得到。例如,移动Iq-1的1行的位置,得到e1e2···eq-2e0]]>(等式8)令γ∈GF*(q)和GF*(q)=<α>。如0≤i,j≤q-2且i≠j,显然有αiγ≠αjγ。根据CSI映射定义下面的(q-1)×(q-1)二进制矩阵CSIs(γ)=M(γ)M(αγ)···M(αq-2γ)]]>(等式9)假设γ∈αi0,]]>那么αiγ=α(i+i0)mod(q-1),]]>因此M(αiγ)=e(i+i0)mod(q-1)]]>这表明CSIs(γ)是Iq-1循环移动第i0个位置得到的矩阵。
例1令q=7和α=3,那么,有α2=2,α3=6,α4=4,α5=5,α6=1=α0因此,有GF*(7)={1,2,3,4,5,6}={α0,α1,α2,α3,α4,α5} (等式10)取γ=α3∈GF*(7),那么,有αγ=α4,α2γ=α5,α3γ=1=α0,α4γ=α,α5γ=α2(等式11)因此,CSIs(γ)=000100000010000001100000010000001000]]>(等式12)
据此,作为GRS码CGRS的函数,低密度奇偶校验矩阵H(CGRS),如下定义 其中,该矩阵是一个σ(q-1)×ρ(q-1)的矩阵,密度≤1/(q-1)2。
因此,低密度奇偶校验矩阵H(CGRS)定义了对应的LDPC码LDPC(CGRS),因为对于i≠j,有d(β·ci,γ·cj)≥n-1,其中,β,γ∈GF*(q)。
该LDPC码LDPC(CGRS)可用于任何使用纠错码的通信系统。低密度奇偶校验矩阵H(CGRS)中任何2行,相同的元素(component)不多于1个。因此,该LDPC码LDPC(CGRS)产生的二分图的最小围长(girth)大于或等于6(即,girth(LDPC(CGRS)≥6))。
考虑低密度奇偶校验矩阵H(CGRS)的列(不是子矩阵),能推出H(CGRS)=[h0h1…hN-1]且令Hcols=[h0,...,hN-1}。
据此,MLDS(最小线性相关集)S,可以如下定义S={hi0,...,hii-1}⊆Hcols]]>这样,每个列元素向量,hi0,...,hi1-1互相间线性相关,但S的任何一个子集的元素非线性相关。
定义δ(S)=max{‖S‖-1,max{weight(h)|h∈S}}定理1假定dmin是LDPC码LDPC(CGRS)的最小码距,假定δ=min{δ(S)|MLDS SHcols},那么dmin≥δ+1。
规则LDPC码构造规则LDPC码的LDPC矩阵从Galois域的非零元素集GF*(q)中选择位置集L={α0,α1,…,αρ-1}GF*(q)以及包括ρ个非零元素v0,v1`,…,vρ-1的非零元素集V={v0,v1`,…,vρ-1}GF*(q)。就是说,位置集L和非零元素集V都是相应的Galois域的非零元素集GF*(q)的子集。位置集L和非零元素集V都可以包括Galois域的整个非零元素集GF*(q)。
接着,产生多个1阶多项式函数。该多项式函数如下表示fi(x)=ai·x-bi,使(such that)fi(x)的根不属于位置集L,向量ai和bi的值属于Galois域GF(q)。
据此,GRS码的CGRS如下定义CGRS={ci=(ci,0,...,ci,ρ-1)=(v0·fi(α0),...,vρ-1·fi(αρ-1))|i=0,...,σ-1}令CGRS是长度为ρ的二维RS(或GRS)码,令c是CGRS的码字,定义M(c)={γc|γ∈GF(v)(q)}(等式13)其中,γ(c0,c1,...,cρ-1)=(γc0,γc1,...,γcρ-1),取RS或GRS码CGRS的θ个权重为ρ的码字c0,...,cθ-1,使M(ci)∩M(cj)=if i≠j (等式14)接着,∪i=0θ-1M(ci)⊆CGRS,]]>其有(q-1)θ个码字。用对应的码字元素表示每个码字ci=(ci,0,...,ci,ρ-1)。
定义[(q-1)θ]×[(q-1)ρ]低密度奇偶校验矩阵H为 (等式15)该低密度奇偶校验矩阵H提供了构造LDPC码LDPC(CGRS)所需要的所有信息。
H的列的权重是θ,行的权重为ρ。另外,该矩阵中“1”的密度是1/(q-1)。因此,当q>3时,H是低密度的。
命题1矩阵的任何2行中,相同的元素不多于1个。换句话说,如果H=[hi],其中hi是行矢量,对于i1≠i2的任何一对i1和i2,hi1和hi2中只有1个相同的非零元素。
证明因为c0,…,cθ-1是C的不同码字,且如果i≠j时,有M(ci)∩M(cj)=φ,当γ1≠γ2或者i≠j时,两个码字γ1ci和γ2cj的距离至少是ρ-1。所以,γ1ci和γ2cj至多有一个相同的元素,一般说位置k0上的元素相同。因此,对于所有的k,只要k≠k0,有γ1ci,k≠γ2cj,k。因为L是一对一映射,所以
L(λ1ci,k)≠L(λ2cj,k),其中,k≠k0(等式16)因为L(λ1ci,k0)只有一个相同的非零元素,因此命题得证。
现在,我们利用该低密度矩阵定义低密度奇偶校验(LDPC)码。
接着,我们得到命题1的以下直接推论。
命题2由H定义的LDPC码的二分图没有环4(cycle 4)。这表明所述二分图的围长(girth)大于或等于6。
命题3由H定义的LDPC码的最小码距至少是θ+1。另外,如果θ是偶数,那么所述最小码距是θ+2(注上文提到的Djurdjevic等人在参考文献[a]中提供了该命题的详细证明)。
由于该LDPC码的最小码距更大,因此该规则码的BER(误码率)曲线显示出相对更低的误差底限。
寻找满足等式14的具有所有非零元素的二维GRS码的码字考虑域GF(q)。取ρ<q-1和θ≤(q-1)-ρ。假设GF*(q)=<α>。取ρ个不同的元素α0,…,αρ-1∈GF*(q)。那么,块尺寸为ρ的二维GRS码如下定义C={(v0f(α0)),...,(vρ-1f(αρ-1))|f∈GF(q)[x],deg(f)<2} (等式17)其中v0,…,vρ-1是GF*(q)中ρ个固定元素。现在,取另外θ个不同的元素β0,...,βθ-1∈GF*(q)/{α0,...,αρ-1}(等式18)定义多项式fi(x)=x-βi,i=0,…,θ-1。对于每个i,根据等式18,有fi(αj)≠0,其中j=0,…,ρ-1因此,码字i1,i2∈{0,…,θ-1},这样i1≠i2,那么,αjvkfi1(αk)≠αjvkfi2(αk).]]>否则αj(αk-βi1)=αj(αk-βi2),]]>其意味着βi1=βi2,]]>这是矛盾的。因此,m(ci1)∩M(ci2)=φ.]]>这样,码字c0,…,cθ-1满足等式14。通过使用这些码字,我们能构造规则LDPC码。
例2当α=3考虑GF*(7)=<α>。取3个元素αi=αi,其中i=0,1,2和另外3个元素βi=β3+i,其中i=0,1,2。定义fi(x)=x-βi。那么,我们有以下3个二维GRS码字,分别命名为
c0=[(1-α3),(α-α3),(α2-α3)]=(2,4,3)=(α2,α4,α) (等式20)c1=[(1-α4),(α-α4),(α2-α4)]=(4,6,5)=(α4,α3,α5)(等式21)c2=[(1-α5),(α-α5),(α2-α5)]=(3,5,4)=(α,α5,α4) (等式22)其18个不同的码字如下c0=(α2,α4,α)αc0=(α3,α5,α2)α2c0=(α4,1,α3)α3c0=(α5,αα4)α4c0=(1,α2,α5)α5c0=(α,α3,1)c1=(α4,α3,α5)αc1=(α5,α3,1)α2c1=(1,α5,α)α3c1=(α,1,α2)α4c1=(α2,1,α3)α5c1=(α3,α2,α4)c2=(α,α5,α4)αc2=(α2,1,α5)α2c2=(α3,α,1)α3c2=(α4,α2,α)α4c2=(α5,α3,α2)α5c2=(1,α4,α3)]]>(等式23)基于此,我们得到下面的LDPC(低密度奇偶校验)矩阵H,该矩阵由6×6的独立CSI子矩阵构成。
H=CSIs(α2)CSIs(α4)CSIs(α)CSIs(α4)CSIs(α3)CSIs(α5)CSIs(α)CSIs(α5)CSIs(α4)]]>(等式24A)H=001000000010010000000100000001001000000010100000000100000001010000000010100000001000000000010000000100100000000010000100000001000001000010100000100000000001010000010000100000001000001000010000000100000100001000000010010000000001000010001000100000000001000100010000100000000010001000010000000001000100001000000000000010000100]]>(等式24B)
通过比较等式24A和等式24B,可以看到,CSI子矩阵Is(α2),经历第2行的循环移位(即,由于αi0=α2]]>所以i0=2)。相似地,CSI子矩阵Is(α4),经历第4行的循环移位(即,由于αi0=α4]]>所以i0=4)。该6×6独立CSI子矩阵中其他子矩阵依此类推。
由该奇偶校验矩阵构造的块尺寸为18的规则LDPC码的位度数是3,校验度数是3。该图的二分图没有环4。在该LDPC码对应的LDPC二分图中,没有大小为4的环路(loops),最小码距至少是4。
不规则LDPC码构造如上所述,不规则LDPC码具有多度数的位节点和校验节点。通过选择良好度数分布的LDPC码(或不规则LDPC码),就能选出能达到香农极限的LDPC码(或不规则LDPC)码。
根据给定的度数分布进行凿孔(即,用全零值子矩阵(例如所有的元素都为零的子矩阵)取代奇偶校验矩阵H中的一个或多个元素,或取代奇偶校验矩阵H中的一个或多个CSI子矩阵),可以获得不规则LDPC码。近来,在通信产业中,特殊的不规则LDPC码吸引着更多的产业,因为与规则LDPC码相比,不规则LDPC码更接近香农极限。
为了接近最大容量(或香农极限)和更低的误差底限,可将上述“规则LDPC码构造”中的等式15的H构造的规则LDPC码修改成不规则LDPC码,这可以通过使用全零值矩阵(如所有的元素都为零的矩阵)取代一些CSI子矩阵CSIs(c)来实现。可选地,只是被选择的一些CSI子矩阵CSIs(c)被凿孔(即,被零值矩阵取代),不是所有的CSI子矩阵都被凿孔。
不规则LDPC码的LDPC矩阵的的形式考虑在GF*(q)上构造编码。该编码的块尺寸将是ρ(q-1)。给定编码率R,可选择一个整数θ,使R=θ/ρ。接着,根据等式15的形式构造θ(q-1)×ρ(q-1)矩阵H。该不规则LDPC码的最大位度数是θ。将H表示为H=[H1H2],其中H2是θ(q-1)×θ(q-1)子矩阵,即
(等式25)如果θ>2,那么我们将H2修改成下面的块双对角矩阵H‾2=CSIs(c0,ρ-θ)CSIs(c0,ρ-θ+1)00···000CSIs(c1,ρ-θ+1)CSIs(c1,ρ-θ+2)0···00···0000···CSIs(cθ-2,ρ-2)CSIs(cθ-2,ρ-1)0000···0CSIs(cθ-1,ρ-1)]]>(等式26),或者H‾2=CSIs(c0,ρ-θ)000···00CSIs(c1,ρ-θ)CSIs(c1,ρ-θ+1)00···00CSIs(c2,ρ-θ+1)CSIs(c2,ρ-θ+2)0···00···0000···CSIs(cθ-2,ρ-2)00000···CSIs(cθ-1,ρ-2)CSIs(cθ-1,ρ-1)]]>(等式27)显然, 的列权重为2或1。根据该奇偶LDPC矩阵的结构,很容易证明下面的特性命题3 的秩(rank)是θ(q-1)。
用 取代H=[H1H2]。
为了用零值子矩阵(即,子矩阵所有的元素为零)取代H1的CSI子矩阵,可用多种理论方法,包括密度演变方法。假设 的最小列权重为λ>2。那么由奇偶校验矩阵H‾=H1‾H2‾]]>定义的不规则LDPC码的最小码距至少是λ+1。
证明显然矩阵H也具有命题1中所列举的性质。
令d为该LDPC码的最小码距。取最小权重的码字b=(b0,…,bρ-1),使得bi1=bi2=···=bid=1,]]>对于其它所有i,bi=0,其中i1<i2<…<id。因为该θ(q-1)×θ(q-1)矩阵 是满秩(full rank)矩阵,我们有{i1,i2,…,id}¢{ρ-θ,ρ-θ+1,…,ρ-1}。因此,i1<ρ-θ。矩阵H的第i1列肯定在矩阵 中。那么,H=[hj,i],H‾=[hj,i],]]>第i1列是hi1=(h0,i1,···,h(q-1)θ-1,i1).]]>令Λ为hi1的权重。假设Λ≥λ。令j1,...,jΛ是使hjk,i1=1的位置,其中k=1,...,Λ。那么,有bi1=bi2hj1,i2+···+bidhj1,idbi1=bi2hj2,i2+···+bidhj2,id···bi1=bi2hjΛ,i2+···+bidhjΛ,id]]>即1=hj1,i2+···+hj1,id1=hj2,i2+···+hj2,id···1=hjΛi2+···+hjΛ,id]]>(等式28)令H*=hj1,i2···hj1,idhj2,i2···hj2,id···hjΛ,i2···hjΛ,id]]>(等式29)则H*是Λ×(d-1)矩阵。因为矩阵H任意2行中相同的元素都不超过1个,H*的每一列至多有1个非零元素。但是,根据等式28,H*中非零元素(即,1)的数目一定是Λ。根据鸽笼定理,有d-1≥Λ。因此,d≥Λ+1≥λ+1。
使用精细定义的fi(x),至少能构造如下4种不同类型的不规则LDPC码。不同的定义函数fi(x),对所构造的LDPC码有或多或少的影响。
不规则编码I令奇偶校验矩阵H的形式为H=[H1H2],其中H2是σ(q-1)×σ(q-1)的子矩阵。右边的矩阵H2最初具有以下形式 子矩阵I是单位矩阵。子矩阵I-1是左移1个位置的单位矩阵。
将整个奇偶校验矩阵H进行行与列的置换后,右手边的矩阵H2变形为
后续的附图14示出的LDPC码的奇偶校验矩阵H具有该种结构。
如上所述,ai和bi的值根据预先设定的条件确定。为获得具有这种特性的LDPC码,可使用下面的方法。
给定位置集L={α0,α1,…,αρ-1},取非零元素集V={vρ-σ,…,vρ-1}∈GF*(q),如从Galois域的非零元素集GF*(q)中选择,使vρ-σαρ-σ-vρ-1αρ-1≠0,vρ-σ+iαρ-σ+i-vρ-σ+i+1αρ-σ+i+1≠0;i=0,...,σ-2等式1(I)vρ-σ·αρ-σvρ-σvρ-1·αρ-1vρ-1a0b0=1αq-2]]>等式2(I)vρ-σ+i·αρ-σ+ivρ-σ+ivρ-σ+i+1·αρ-σ+i+1vρ-σ+i+1ai+1b+1=11,i=0,...,σ-2]]>接着,对上面的等式1(I)和等式2(I)表示的等式进行求解,解出ai和bi。从而,函数fi(x)确定如下fi(x)=ai·x+bi,i=0,...,σ-1基于此,相应的GRS码CGRS可以定义如下CGRS={ci=(v0·fi(α0),...,vρ-1·fi(αρ-1))|i=0,...,σ-1}随后,根据上述的CSI映射将该GRS码CGRS的每个码字的各个元素映射,从而形成右边的矩阵H2,如下
左边的矩阵H1,通过凿孔形成如下 推论2令LDPC(H)是由具有H=[H1H2]形式的奇偶校验矩阵H产生的LDPC码,令δ为左边矩阵H1的最小列权重,那么,最小码距dmin(H)是σ+1或σ(q-1)这两者的最小值,如下dmin(H)≥min{δ+1,σ(q-1)}不规则码II令奇偶校验矩阵H具有形式H=[H1H2],其中H2是σ(q-1)×σ(q-1)子矩阵。右边的矩阵H2最初的形式如下 子矩阵I是单位矩阵。子矩阵D的形式如下 子矩阵D通过对子矩阵I-1的第一行进行凿孔而成。对整个奇偶校验矩阵H实施行和列的置换后,右边的矩阵H2变形为
后续的附图12中示出的LDPC码的奇偶校验矩阵H就具有这种结构。可以看到,冗余位节点1240中有大开环(即,没有环路)。但实际上,信息位节点1210和校验节点1230上有环。
如上所述,ai和bi的值根据预先设定的条件决定。为获取具有这种特性的LDPC码,可使用下面的方法。
上面提供的用于产生GRS码CGRS相同的方法(关于不规则码I),也可以用在这里。
随后,根据上述的CSI映射将该GRS码CGRS的每个码字的各个元素映射,从而形成右边的矩阵H2,如下 接着,删除子矩阵I-1第一行的1以获得子矩阵D。修改后的矩阵用H2表示。
相似地,左边的矩阵H1,通过将下面的矩阵进行凿孔而成 推论3令LDPC(H)是具有H=[H1H2]形式的奇偶校验矩阵H产生LDPC码,令δ是左边矩阵H1的最小列权重,则最小码距dmin(H)给定如下dmin(H)≥δ+1这比之前的不规则码I有了改进,其最小码距一般将更小。
不规则码III在该不规则LDPC码中,期望右边矩阵H2具有以下的格式 如上所述,ai和bi的值根据预先设定的条件确定。为获得具有这种特性的LDPC码,可使用下面的方法。矩阵Im是经过m次循环移位的CSI矩阵。
给定位置集L={α0,...,αρ-1},取非零元素集V={vρ-σ,…,vρ-1}∈GF*(q),即该非零元素集V从Galois域的非零元素集GF*(q)中选择,使vρ-σ+iαρ-σ+i-vρ-σ+i+1αρ-σ+i+1≠0;i=0,...,σ-3;αρ-1(vθ-1-vθ)+vθαθ-vθ-1αθ-1≠0。
等式C(III)vρ-σ+i·αρ-σ+ivρ-σ+ivρ-σ+i+1·αρ-σ+i+1vρ-σ+i+1ai+1bi+1=11,i=0,...,σ-3]]>令vρ-1=1/(aθαρ-1+bθ)接着取vρ-σ∈GF*(q)使vρ-σαρ-σ-vρ-1αρ-1≠0;i=0,...,σ-3,那么,以下两式得解。
等式a(III)vρ-σ·αρ-σvρ-σvρ-1·αρ-1vρ-1a0b0=1αm]]>等式b(III)vρ-2·αρ-2vρ-2vρ-1·αρ-1vρ-1aσ-1bσ-1=1αm]]>可以看到,a0和b0的值由等式a(III)决定。aσ-1和bσ-1的值由等式b(III)决定。a1,...,aσ-2(包括aθ)和b1,...,bσ-2(包括bθ)由等式c(III)决定。
还要注意的是,θ是设计者选择的参数。因此,能确定下面的关系
vρ-1=1(aθαρ-1+bθ)]]>令fi(x)=ai·x+bi,i=0,...,σ-1据此,对应的GRS码CGRS可确定如下CGRS={ci=(v0·fi(α0),...,vρ-1·fi(αρ-1))|i=0,...,σ-1}随后,根据上述的CSI映射将该GRS码CGRS的每个码字的各个元素映射,从而形成了右边的矩阵H2,如下所示。鉴于H2的尺寸,这里将矩阵H2分成两部分,即H2=[H21H22]。
H2=[H21H22]中的每一个矩阵(即H21和H22)一起组成完整的矩阵H2=[H21H22],该矩阵是σ×ρ的矩阵。

相似地,左边的矩阵H1,由下面的矩阵凿孔而成 推论4令LDPC(H)是具有H=[H1H2]形式的奇偶校验矩阵H产生的LDPC码,令δ是左边矩阵H1的最小列权重,则最小码距dmin(H)给定如下dmin(H)≥δ+1同样,这比之前的不规则码I有了改进,其最小码距一般会更小。
不规则码IV该不规则LDPC IV码在一定程度上与上述的不规则码I相同,不同之处在于其右边的矩阵H2的右上角的子矩阵被凿孔为全0。
令奇偶校验矩阵H的形式为H=[H1H2],其中H2是σ(q-1)×σ(q-1)子矩阵。右边的矩阵H2最初的形式如下 子矩阵I是单位矩阵。可以看到,右边的矩阵H2的右上角的子矩阵被凿孔为全零。
后续部分将会提供另外的实施例。
例2令q=109,ρ=18和θ=6,那么不规则LDPC码C108可由一个648×1944矩阵构成,该648×1944矩阵由108个不同的108×108CIS子矩阵组成。矩阵H2具有等式26的形式。该码的最大位度数是6,最大校验度数是18。通过使用参考文献[4]中的密度演化(density evolution)理论,我们将H1的度数分布选择成权重为6(即,位度数是6)的327个列和权重为4(即,位度数为4)的972个行。
“Joint proposal for LDPC Codes,”Hughes Network System,STMicroelectronics and Texas Instrument,WWiSE Advanced Coding“Adhoc”会议,2005年5月6日。
接着,根据命题4,该不规则码的最小码距至少是5。所有的校验都具有相同的度数,都是11。下面的表格显示了LDPC码C108的奇偶校验矩阵H的结构。
该表格包括108格。每格表示一个108×108的子矩阵。格上的实数显示构造CSI子矩阵所用的移位位置。空格表示零值(即,所有的元素都是0)的108×108的子矩阵。

图6是构造对应于规则或不规则LDPC码的奇偶校验矩阵的方法600的流程图。
如步骤610所示,方法600始于选出所有元素都不为0的RS(里德-索罗门)或GRS(通用里德-索罗门)的多个码字(例如,θ)。同时,所选的每个码字都具有第一权重(例如,ρ)。另外,必须满足等式14规定的条件,即所选的码字的映射之间没有交叉。
接着,如步骤620所示,方法600产生奇偶校验矩阵H(例如,H是规则LDPC码的[(q-1)θ×(q-1)ρ]矩阵,列权重为θ,行权重为ρ)。该奇偶校验矩阵H由多个CSI子矩阵组成。该奇偶校验矩阵H与规则LDPC码对应。基于所选择的RS或GRS码字的各个元素的原始元素α的指数i0(即,表示为αi0),单位子矩阵的特定的行i0进行循环移位,从而产生CSI(循环移位单位)子矩阵。作为举例,如果CSI子矩阵被描述成Is(α3),那么与该RS或GRS码字对应的特定的单位子矩阵经历的是第三行的循环移位(即,从αi0=α3]]>得到i0=3)。
如步骤630所示,对应于规则LDPC码的奇偶校验矩阵H可分解成至少2个独立的子矩阵(例如,H=[H1H2])。此后,如步骤640所示,可将已分解的奇偶校验矩阵H进行转换,以对应不规则LDPC码。如步骤642所示,方法600包括将所述至少2个子矩阵中的一个(例如,H2)修改成块双对角矩阵(使修改后的子矩阵每列的权重是1或2)。同样,如步骤644所示,方法600包括取代所述至少2个子矩阵中的一个子矩阵(例如,子矩阵H1中的CSI子矩阵)。例如,这可通过使该领域内公知的密度演化法来实现。
在该公开中,性能图用BLER(Block Error Rate,块误码率)与Eb/No(每比特的能量与频谱噪声密度的比值)的关系表示。BLER常用于无线通信范围,如果块中的任一位被检测到有误码,那么该整个块就被认为有误码。在一些其他的通信系统应用中,性能可以用BER(误码率)与Eb/No的关系表示。其中Eb/No用于数字通信系统中衡量SNR(信号噪声比)。查看这些性能曲线时,对于任何给定的Eb/No(或SNR)可确定BLER,从而相对简明地表示了解码方法的性能。
图7是两种不同的LDPC码(即LDPC(4)和LDPC(5))以及LDPC码(C108)之间的性能比较图700,LDPC码(C108)的奇偶校验矩阵包括至少一个CSI子矩阵。
进行性能比较的LDPC码对应的奇偶校验矩阵具有CSI(循环移位单位)子矩阵。特别地,图7提供了LDPC码C108以及一些其他LDPC码的性能曲线,其中,LDPC码C108根据上述方法产生。这些LDPC码中,每种LDPC码编码率都是2/3(即,R=2/3),N=1944,所示的性能是执行50次解码迭代的性能。
对应于LDPC码C108的性能曲线(用附图标记720表示)比LDPC(4)码和LDPC(5)码具有更低的误差底限,比LDPC(5)具有更好的性能(即,约优良0.5)。
对应于LDPC(4)的性能曲线用附图标记710表示,所述LDPC(4)在下面的参考文献中有详细的描述[4]“Joint proposal for LDPC Codes,”Hughes Network System,STMicroelectronics and Texas Instrument,WWiSE Advanced Coding“Adhoc”会议,2005年5月6日。
与LDPC(5)码对应的性能曲线用附图标记730表示,所述LDPC(5)在下面的参考文献中有详细的描述[5]Paul Gray and Keith Chugg,“F-LDPC for 802.11n advanced ECC,”TrellisWare Technologies,Inc,(TWT-018),2005年5月6日。
使用这里所述的原理产生的一些不同的LDPC码与下面的其他码比较。这些LDPC码中,每种LDPC码中用于产生与LDPC码对应的奇偶校验矩阵的基矩阵有24个列。所使用的一些子矩阵也是CSI(循环移位单位)矩阵,这在上面有详细的阐述;其他的子矩阵是全零矩阵(例如,矩阵包括的元素都是0)。LDPC码的3种不同的块尺寸比较如下1.1872=78×242.1248=52×243.624=26×24奇偶校验矩阵H的冗余部分可以是上(或下)三角矩阵。奇偶校验矩阵H的这种三角排列是期望的,因为这种排列易于进行向后置换(例如,不需要交换列)。但是,下面描述的一些实施例中,采用的其对应奇偶校验矩阵H的冗余部分不是上(或下)三角矩阵。
图8是LDPC码(即LDPC(6))和LDPC码(C1)和LDPC码(C2)的性能比较图800,LDPC码(C1)和LDPC码(C2)的奇偶校验矩阵都包括至少一个CSI子矩阵。
下面的表格(表示LDPC码C1,其块尺寸是1248)由多个格组成,每格表示52×52的子矩阵。格上的实数表示用于构造CSI子矩阵的移位次数(如,单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的52×52的子矩阵。由于该表格(表示LDPC码C1,其块尺寸是1248)太宽,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

在对应的图中,对应于该表格的LDPC码C1描述为C1码,R=2/3,(52调),块尺寸1248,50SBP 810。
下面的表格(表示LDPC码C2,其块尺寸也是1248)由多个格组成,每格表示52×52的子矩阵。格上的实数表示用于构造CSI子矩阵的移位次数(即,单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的52×52的子矩阵。LDPC码C2与上述的LDPC码C1的一个不同之处是LDPC码C2的奇偶校验矩阵H的冗余部分不是三角形的。而且,LDPC码C2的最小列权重是2。由于该表格(表示LDPC码C2,其块尺寸是1248)太宽,所以分成两部分表示。该表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

在对应的图中,对应于该表格的LDPC码C2描述为C2码,R=2/3,(52调),块尺寸1248,50SBP 820。
这两种LDPC码(C1码,R=2/3,(52调),块尺寸1248,50SBP 810和C2码,R=2/3,(52调),块尺寸1248,50SBP 820)的性能是与LDPC(6)码,R=2/3,(54调),块尺寸1296,50SBP 830比较。
图9是不同的LDPC码(即LDPC(7))和LDPC码(C3a或C3b)的性能比较图900,LDPC码(C3a或C3b)的奇偶校验矩阵包括至少一个CSI子矩阵。
下面的表格(表示LDPC码C3a,其块尺寸是1872)由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(即,单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的78×78的子矩阵。由于该表格(表示LDPC码C3a,其块尺寸是1872)太宽,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

下面的表格(表示LDPC码C3b,其块尺寸也是1872)由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(即,单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的78×78的子矩阵。由于该表格(表示LDPC码C3b,其块尺寸是1872)太宽,所以分成两部分表示。该表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

LDPC码C3a和LDPC码C3b与相应的表格对应。在对应的图中,这两种LDPC码都被称为C3码,R=2/3,(52调),块尺寸=1872,50SBP 910。
这两种LDPC码(被描述为C3码,R=2/3,(52调),块尺寸=1872,50SBP910的C3a或C3b)的性能与LDPC(7)码,R=2/3,(54调),块尺寸=1944,50SBP 920比较。
图10是不同的LDPC码(即LDPC(8))和LDPC码(C4)的性能比较图1000,LDPC码(C4)的奇偶校验矩阵包括至少一个CSI子矩阵。
下面的表格(表示LDPC码C4,其块尺寸是1872)由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(即,单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的78×78的子矩阵。由于该表格(表示LDPC码C4,其块尺寸是1872)太宽,所以分成两部分表示。该表格包括4行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-4,列1-12

行1-4,列13-24

LDPC码C4与上面的表格对应。在对应的图中,该LDPC码C4都被称为C4码,R=5/6,(52调),块尺寸=1872,1010。
该LDPC码(C4码,R=5/6,(52调),块尺寸=1872,1010)的性能与LDPC(8)码,R=5/6,(54调),块尺寸=1944,1020比较。
要注意的是,下面描述和比较的许多LDPC码都是从有限域(Galois域)GF(79)的GRS码构造的。
图11是两个不同的LDPC码(即LDPC(9)和LDPC(10))和3种另外的LDPC码(C5、C6和C7)的性能比较图1100,这3种另外的LDPC码的奇偶校验矩阵都包括至少一个CSI子矩阵。
LDPC码LDPC(9)在执行50次迭代解码后的性能用曲线1110表示。LDPC(9)编码率R=2/3,(54调),块尺寸是1944。
LDPC码C5在执行50次迭代解码后的性能用曲线1120表示。C5编码率R=2/3,(52调),块尺寸是1872。
LDPC码C6在执行50次迭代解码后的性能用曲线1130表示。C6编码率R=2/3,(52调),块尺寸是1872。
LDPC码LDPC(10)在执行50次迭代解码后的性能用曲线1140表示。LDPC(10)编码率R=2/3,(54调),块尺寸是1872。
LDPC码C7在执行50次迭代解码后的性能用曲线1150表示。C7编码率R=2/3,(52调),块尺寸是1872。
图12是LDPC码(即LDPC(10))的构造实施例1200示意图,该LDPC码的性能已在附图11种描述。
下面的表格(表示LDPC(10))由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(如单位矩阵右循环移位的位置数),空格表示表示全零(即所有元素都是0)的78×78的子矩阵。
由于该表格(表示LDPC码LDPC(10))太宽,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

表格右上角的“D”可以表示如下D=00···000010···000001···000000···0000·····················00···01000000010]]>绘图时,根据预定的置换块(表示为∏1220),多个信息位节点1210通过多个边连接到多个校验节点1230。适当的行与列置换提供了冗余位节点1240,该冗余位节点1240具有连通性,如图顶部所示。这种构造,导致了大小为624的大开环出现。
图13是LDPC码之一(即LDPC(10))的置换1300示意图,该LDPC(10)的性能已在图11中描述。关于该实施例,要特别注意右上角的3×3子矩阵。这里将该3×3子矩阵列出来以方便读者。
000100010]]>图14是LDPC码之一(即LDPC码(C5))的结构1400的示意图,该LDPC码(C5)的性能已在图11中描述。
下面的表格(表示LDPC码(C5))由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(即,单位矩阵右循环移位的位置数),空格表示全零(所有元素都是0)的78×78的子矩阵。
由于该表格(表示LDPC码(C5))太宽,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

特别要注意,该表格右上角的格上是“-1”。
绘图时,根据预定的置换块(表示为П1420),多个信息位节点1410通过多个边连接到多个校验节点1430。适当的行与列置换提供了冗余位节点1440,该冗余位节点1440具有连通性,如图上部所示。通过这种构造,可看出有大小为624的大循环出现。
图15和图16是两种LDPC码(即LDPC码(C5)和LDPC码(C6))的置换示意图,该两种LDPC码的性能已在图11中描述。
参考图15的的实施例1500描绘的是LDPC码(C5)。关于该实施例,要特别注意右上角的3×3子矩阵。这里将该3×3子矩阵列出来以方便读者。
001100010]]>
同样,从图的左边部分,即置换前的矩阵上可看到右上角第0行第11列是“1”。
下面的表格(表示LDPC码(C6))由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(如单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的78×78的子矩阵。
这里也示出了替换的LDPC码(LDPC码(C6)的构造)。由于该表格(表示LDPC码(C6))太宽,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

进行适当的行与列置换后,冗余位部分产生了8个大小为78的大开环。但是,由于该LDPC码(C6)的位度数,其最小码距比其他LDPC码的最小码距更大。所以即使仅仅执行12次迭代解码,也能够提供比LDPC(10)更低的误差底限,或比上述执行完50次迭代解码的LDPC码(C6)更低的误差底限。
参考图16的的实施例1600描绘的是LDPC码(C6)。关于该实施例,要特别注意右上角的3×3子矩阵。这里将该3×3子矩阵列出来以方便读者。
000000000]]>该3×3子矩阵是全零子矩阵。
但是后面还示出了其他构造LDPC码的实施例和方式,这些LDPC码能节省硬件(hardware saving)。这种LDPC码结构表示为LDPC码(C7)。
下面的表格(表示LDPC码(C7))由多个格组成,每格表示78×78的子矩阵。格上的实数表示用于构造CSI子矩阵的移位位置(如单位矩阵右循环移位的位置数),空格表示表示全零(所有元素都是0)的78×78的子矩阵。
由于该表格(表示LDPC码(C7))宽度太大,所以分成两部分表示。整个表格包括8行和24列。第一部分表格包括1-12列,第二部分表格包括13-24列。
行1-8,列1-12

行1-8,列13-24

特别要注意,该表格右上角的格上是“-1”。
这种LDPC码(C7)可以显著地节省硬件。其总共有5615条边,与之前的实施例相比,这5615条边提供了27%的硬件节省。其最大位度数是4,在解码处理方面,该位度数提供了约15%到20%时间节省。其最大校验度数是9,在解码处理方面,该校验度数提供了约10%的时间节省。总体而言,总的硬件节省大概是30%。
图17和图18是奇偶校验矩阵的奇偶部分约束(parity portionconstraints)的两个实施例,所述奇偶部分约束作为编码率的函数。
参考图17的实施例1700,分别示出了对应于1/2、2/3、3/4和5/6编码率的奇偶部分约束。这些矩阵的每个子矩阵都是CSI(循环移位单位)矩阵。但是,根据这种奇偶部分约束生成的LDPC的性能不是特别好,因为大开环断裂了,形成了几个小开环。下面会对该原理进行详细的说明。
参考图18的实施例1800,分别示出了对应于1/2、2/3、3/4和5/6编码率的替换奇偶部分约束。要注意的是这些矩阵右上角的“D”。该实施例提供了大开环,该大开环能提供良好的性能。但是,因为该“D”矩阵的存在,导致不能统一地定义每个子矩阵,所述“D”矩阵不是CSI矩阵。上文中有对“D”的格式的详细描述。
图19和图20是奇偶校验矩阵的奇偶部分约束的另外两个实施例,所述奇偶部分约束作为编码率的函数。
参考图19的实施例1900,分别示出了对应于1/2、2/3、3/4和5/6编码率的另一种替换奇偶部分约束。要注意的是这些矩阵右上角的“-1”。本实施例中的全部子矩阵都是CSI(循环移位单位)矩阵。另外,这种矩阵提供了大循环(large cycle),该大循环与图18的实施例1800的奇偶部分约束的大开环的大小相同。另外,每个位节点的度数都大于1(即,2或更大)。
参考图20的实施例2000,分别示出了对应于1/2、2/3、3/4和5/6编码率的又一种替换奇偶部分约束。该实施例提供了多种编码方式,也提供了较大的最小码距,从而保证了非常高的纠错能力。
图21是LDPC码之一(即,LDPC码(C9))的置换2100示意图,该LDPC的性能将在后面的图24中描绘,特别地,该LDPC码中有小环。这种LDPC码(C9)是根据图17的实施例1700的奇偶部分约束而生成。
关于该实施例要特别注意的是其右上角的3×3子矩阵,这里将该3×3子矩阵列出来以方便读者。
000000000]]>该3×3子矩阵是零值矩阵。
可以看到,该附图的左边,有3个小开环(用附图标记2110描述)。
图22是LDPC码之一(即,LDPC(11))的置换2200示意图,该LDPC码的性能将在后面的图24中描绘,特别地,该LDPC码中有小环。
这种LDPC(11)是根据图18的实施例1800的奇偶部分约束而生成。关于该实施例要特别注意的是其右上角的3×3子矩阵,这里将该3×3子矩阵列出来以方便读者。
000100010]]>该实施例提供了一个特别的大开环。
图23是LDPC码之一(即,LDPC码(C8))的置换2300示意图,该LDPC的性能将在后面的图24中描绘,特别地,该LDPC码中有小环。这种LDPC码(C8)是根据图19的实施例1900的奇偶部分约束而生成。
关于该实施例要特别注意的是其右上角的3×3子矩阵,这里将该3×3子矩阵列出来以方便读者。
001100010]]>同样,执行置换前,可以看到从该附图的左边部分的右上角,即第0行第11列是“1”。
图24是LDPC码(即LDPC(11))和其他两种LDPC码(C8和C9)的性能比较图。LDPC码(C8和C9)的奇偶校验矩阵包括至少一个CSI子矩阵。
LDPC码LDPC(11)执行50次迭代解码后的性能用附图标记2410描述。LDPC(11)的编码率是R=2/3,(54调),块尺寸=1944=81×24。
LDPC码C8执行50次迭代解码后的性能用附图标记2420描述。LDPC码C8的编码率是R=2/3,(52调),块尺寸=1872=78×24。
LDPC码C9执行50次迭代解码后的性能用附图标记2430描述。LDPC码C9的编码率是R=2/3,(52调),块尺寸=1872=78×24。
图25和图26是相应于规则或不规则LDPC码构造奇偶校验矩阵的方法流程图。
参考图25中的方法2500。方法2500包括根据CSI(循环移位单位)映射将GRS(通用里德-索罗门)码的码字的每个元素映射,从而产生CSI子矩阵,如步骤2510所示。接着,该方法包括排列所述CSI子矩阵,从而产生LDPC(低密度奇偶校验)码的奇偶校验矩阵,如步骤2520所示。CSI子矩阵排列方式很多,上面已经提供了一些可能的实施例。
参考图26的方法2600。方法2600包括从Galois域的非零元素集中选择位置集,所述非零元素集包括预定的有限数目的非零元素,如步骤2610所示。Galois域的非零元素集的元素比原始Galois域的少一个元素(即,没有全零元素)。接着,方法2600从Galois域的非零元素集上选择非零元素集,如步骤2620所示。
然后,方法2600包括产生多个1阶的多项式函数,如步骤2630所示。每一个所述的多项式函数都是众多系数中对应的一个系数及众多常量中的一个常量的函数。系数的数目以及常量的数目由位置集和非零元素集决定。上述的一些实施例描绘和示出了根据设计者所提出的某些约束确定这些值的方法。例如,在LDPC设计中提出的约束决定了LDPC码的结构。另外,所述1阶多项式函数中,每个1阶多项式函数是多个1阶多项式函数中所有其他1阶多项式函数的非标量(non-scalar)倍数。
接着,方法2600包括产生GRS码,该GRS码包括一个或多个码字,如步骤2640所示。该GRS码的每个码字包括多个码字元,每个码字的每个码字元都是非零元素集的一个元素与多个1阶多项式函数中的一个1阶多项式函数的乘积,由位置集中的一个元素计算。
如步骤2650所示,方法2600包括根据CSI(循环移位单位)映射将GRS码的每个码字的每个元素映射,从而产生CSI子矩阵。接着,方法2600包括将这些CSI子矩阵排列,从而产生LDPC码的奇偶校验矩阵,如步骤2660所示。
如上所述,一旦低密度奇偶校验矩阵H可用于通信信道的接收端的解码处理,就从该低密度奇偶校验矩阵H上直接产生LDPC码的对应的产生矩阵G。有了这些信息后,设计者可以在通信信道的发射器端执行编码处理(使用LDPC码的产生矩阵G)以及在通信信道的接收器端执行解码处理(使用LDPC码的低密度校验矩阵H)。
图27是用于构造相应于规则或不规则LDPC码的奇偶校验矩阵的装置2700的示意图。装置2700包括处理模块2720、存储器2710。存储器2710连接到处理模块,用于存储操作指令。所述操作指令使处理模块2720执行多种功能。处理模块2720可根据CSI(循环移位单位)映射将GRS码的众多码字中每个码字的每个元素映射,从而产生多个CSI子矩阵。接着,处理模块2720还将这些CSI子矩阵排列,从而产生LDPC码的奇偶校验矩阵。
处理模块2720可通过使用共享处理装置、独立处理装置或多个处理装置来实施。所述处理设备可以是微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路和/或任何基于操作指令处理信号(模拟和/或数字)的装置。存储器2710可以是单个存储器装置或多个存储器装置。这种存储器装置可以是只读存储器、随机存取存储器、易失性存储器、永久性存储器、静态存储器、动态存储器、闪存和/或任何存储数字信息的装置。要注意,当处理模块2720通过状态机、模拟电路、数字电路和/或逻辑电路执行一个或多个自身的功能时,存储相应操作指令的存储器是嵌入所述模拟电路、数字电路和/或逻辑电路中的。
装置2700结合能够存储在存储器2710中的操作指令,可用于在构造LDPC码的奇偶校验矩阵时执行另外的功能。例如,可将LDPC码的奇偶校验矩阵用于执行类似的操作,如图26的方法2600所述。
在一些实施例中,如果需要,可将LDPC码的奇偶校验矩阵从装置2700提供给通信系统2740,通信系统2740可使用LDPC码执行纠错编码。也可以将LDPC码的奇偶校验矩阵从装置2700提供给通信系统2740中使用的各种通信设备2730。这样,提供了在硬件中构造LDPC码的奇偶校验矩阵(以及构造该LDPC码的产生矩阵)的完整的集成的方法,所述LDPC码的奇偶校验矩阵被提供给通信系统2740中的一个或多个通信设备2730以使用LDPC码。如果需要,还可以设计装置2720以产生对应于多个LDPC码的多个奇偶校验矩阵。在一些实施例中,装置2720能选择性地将不同的信息(与不同的LDPC码对应)提供给不同的通信设备和/或通信系统。这样,不同的通信设备间的不同的通信链路能使用不同的纠错编码。显然,装置2720也能够将相同的信息(对应于单个LDPC码)提供给不同的通信设备和/或通信系统,这不脱离本发明的范围和精神。
这里所述的任何方法和装置,都能用于组成任何与所述LDPC码(规则的或不规则的)对应的奇偶校验矩阵的实施例。
要注意,在不脱离本发明的范围和精神的情况下,上面结合附图所述的方法能在任何适当的系统和/或装置设计(通信系统、通信发射器、通信接收器、通信收发器和/或功能体)中实现。
上述本发明的细节描述以及相关的附图,还可进行其他的修改和变化。显然,这些修改和变化并不脱离本发明的范围和精神。
本申请参考并结合了以下文献1、美国申请号11/190,333,名称为“Construction of LDPC(Low DensityParity Check)codes using GRS(Generalized Reed-Solomon)code”,申请日期2005年7月27日,待审批。
2、美国申请号11/264,997,名称为“Construction of Irregular LDPC(Low Density Parity Check)codes using RS(Reed-Solomon)codes or GRS(Generalized Reed-Solomon)code”,申请日期2005年11月2日,待审批。
权利要求
1.一种LDPC码的构造方法,包括根据CSI(循环移位单位)映射将GRS(通用里德-索罗门)码的多个码字的每个码字的每个元素映射以形成多个CSI子矩阵;和将所述多个CSI子矩阵排列以产生LDPC(低密度奇偶校验)码的奇偶校验矩阵。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是该多个1阶多项式函数中所有其他1阶多项式函数的非标量倍数;和产生包括多个码字的GRS码。
3.根据权利要求2所述的方法,其特征在于,所述GRS码的每个码字包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量的乘积,由位置集中的一个元素计算。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
5.一种LDPC码的构造方法,包括从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是该多个1阶多项式函数中所有其他1阶多项式函数的非标量倍数;产生包括多个码字的GRS码,其中所述GRS码的每个字码包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量的乘积,由位置集中的一个元素计算;和根据CSI映射将所述GRS码的多个码字的每个码字的每个元素映射以产生多个CSI子矩阵;和将所述多个CSI子矩阵排列以产生LDPC码的奇偶校验矩阵。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
7.一种构造LDPC码的装置,包括处理模块;和存储器,该存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块根据CSI映射将GRS码的多个码字的每个码字的每个元素映射,从而产生多个CSI子矩阵;和将所述多个CSI子矩阵排列,从而产生LDPC码的奇偶校验矩阵。
8.根据权利要求7所述的装置,其特征在于所述存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块从Galois域的非零元素集中选择位置集,该位置集包括预定有限数目的非零元素;从Galois域的非零元素集中选择非零元素集;产生多个1阶多项式函数,其中每个1阶多项式函数是多个系数中的一个系数和多个常数中的一个常数的函数,所述多个系数和所述多个常数由所述位置集和非零元素集确定;和该多个1阶多项式函数中每个1阶多项式函数是该多个1阶多项式函数中所有其他1阶多项式函数的非标量倍数;和产生包括多个码字的GRS码。
9.根据权利要求8所述的装置,其特征在于所述GRS码的每个码字包括多个码字元素;和所述多个码字的每个码字的每个码字元素都是非零元素集的一个元素与所述多个1阶多项式函数中的一个1阶多项式函数生成的合矢量的乘积,由位置集中的一个元素计算。
10.根据权利要求7所述的装置,其特征在于所述存储器连接到处理模块,用于存储操作指令,该操作指令使处理模块对所述奇偶校验矩阵的多个CSI子矩阵的至少一个CSI子矩阵进行凿孔,以将LDPC码的奇偶校验矩阵转换成不规则LDPC码的奇偶校验矩阵。
全文摘要
本发明涉及采用具有CSI(循环移位单位)子矩阵的奇偶校验矩阵来构造LDPC(低密度奇偶校验)码的代数方法。本发明提供的一种新颖方法是单位子矩阵经过循环移位而产生CSI子矩阵,将该CSI子矩阵排列以形成LDPC码的奇偶校验矩阵。该LDPC码的奇偶校验矩阵对应于规则LDPC码。或者将该LDPC码的奇偶校验矩阵进行进一步的修改和转换以对应不规则LDPC码。该LDPC码的奇偶校验矩阵可分成两个子矩阵,其中一个被转换成块双对角矩阵;另一个使用各种方法进行修改,如包括密度演化法,以确保期望的不规则LDPC码的位度数和校验度数。
文档编号H03M13/15GK1866751SQ20061007925
公开日2006年11月22日 申请日期2006年4月24日 优先权日2005年4月22日
发明者巴中·申, 克里斯多佛·J·哈森, 约瑟夫·保罗·卢, 凯利·布赖恩·卡梅伦 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1