CN105556852A - 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码 - Google Patents
用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码 Download PDFInfo
- Publication number
- CN105556852A CN105556852A CN201480051479.XA CN201480051479A CN105556852A CN 105556852 A CN105556852 A CN 105556852A CN 201480051479 A CN201480051479 A CN 201480051479A CN 105556852 A CN105556852 A CN 105556852A
- Authority
- CN
- China
- Prior art keywords
- code
- parity
- hardware resource
- parity bit
- submatrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6527—IEEE 802.11 [WLAN]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明是针对一种关于低密度奇偶校验(LDPC)码的奇偶校验编码器并且涉及一种编码方法。根据实施例,一种用于纠错编码的编码器包括:被配置成接收消息位向量并且根据消息位向量计算中间奇偶位向量的第一硬件资源,其中中间奇偶位向量是基于对应于消息位的奇偶校验矩阵的子矩阵计算出的;以及被配置成根据中间奇偶位向量计算奇偶位向量的第二硬件资源,其中第二硬件资源被配置成计算多个不同的码的奇偶位,并且其中被配置成计算用于码中的特定一个码的奇偶位的硬件资源的部分与被配置成计算用于码中的另一特定的一个码的奇偶位的硬件资源的部分公共地共享。因此,相同的编码器硬件可以使用降低的存储和硬件复杂性要求来执行关于不同块长度和/或码速率的编码。
Description
发明背景
本发明涉及纠错编码及解码领域。更具体地,本发明涉及低密度奇偶校验(LDPC)码以及涉及LDPC编码器。
发射数字数据的过程可以将误差引入到数据中。从而,所接收的数据可以与所发射的数据不同。这种差错典型地是由存在于传输信道中的噪声引起的。差错的量通常与相对于噪声存在的量的传输信号强度有关。纠错编码是其在传输之前将冗余插入到数据中的技术。在接收后,该冗余被用于尝试纠正在传输过程期间引入的误差。
块编码是一种纠错编码,其中要被发射的数字数据被拆分成固定大小的消息。在传输之前,每个消息由编码器编码成码字(也称为“块”)。冗余,称为奇偶校验数据,在编码过程期间被插入,使得码字被做成比消息更大。每个码字包括信息位和奇偶校验位两者。假设码字分别由n位组成。n位中仅某些模式是有效的码字;剩余的模式都是无效的。然后码字被发射,这可能导致码字被损坏。在接收后,解码器尝试根据所接收的并且可能被损坏的码字来推理原始的消息。
发生器矩阵可以在编码过程期间被用于将消息编码为有效码字。在接收后,奇偶校验矩阵可以在解码过程期间被用于生成差错向量,其中差错向量指示在所接收的码字中差错的存在。
线性块纠错码是一种其中有效码字的任何线性组合也是有效码字的码。低密度奇偶校验(LDPC)码是以稀疏奇偶校验矩阵为特征的线性块纠错码的子类别。这意味着,奇偶校验矩阵主要由0和相对小数字的1组成。LDPC码最初是在1960年代引入的但最近受到越来越多的关注。这是至少部分地是由于在使LDPC码适合于硬件实现的解码方面的固有的并行性并且由于在设计LDPC码方面的灵活性,这允许LDPC码被用于各种应用中。许多电信标准使用具有各种块长度和码速率的LDPC码的集合。码速率可以被定义为被包含在每个块中的非冗余数据的部分。
对于LDPC码的发生器矩阵一般是不稀疏的。这意味着,对于LDPC码的编码过程可以具有高的复杂性。在减少编码复杂性的努力中,一些编码方案在编码过程期间使用奇偶校验矩阵来计算码字。这是可能的,因为由于针对每个特定的LDPC码的奇偶校验矩阵可以从针对该码的发生器矩阵中导出所以奇偶校验矩阵与发生器矩阵有关。奇偶校验矩阵可以被划分成子矩阵。用于每个码字的奇偶校验位可以使用子矩阵根据消息位而计算出来。
一些LDPC编码器采用后向的替代品。这种方法被用来避免在降低编码计算的复杂性的努力中奇偶校验子矩阵的转置。然而,后向置换程序的并行性引入了高复杂性。另外,为了实现关于具有不同的块长度和码速率的LDPC码的后向置换程序,至少对于多个子矩阵的非零元素需要被存储(即每个码长度、每个码速率一个),这需要大的存储器。除了存储要求,这些程序的实现往往需要复杂的硬件。
发明概述
本发明是针对一种关于低密度纠错码的奇偶校验编码器并且涉及一种编码方法。根据实施例,一种用于纠错编码的编码器,包括:第一硬件资源,其被配置成接收消息位向量并且根据消息位向量计算中间奇偶校验位向量,其中,中间奇偶校验位向量是基于奇偶校验矩阵的子矩阵来计算出的;以及第二硬件资源,其被配置成根据中间奇偶校验位向量计算奇偶位向量,其中,第二硬件资源被配置成计算多个不同的码的奇偶校验位,以及其中,被配置成计算关于码中的特定一个码的奇偶校验位的硬件资源的部分与被配置成计算关于码中的另一特定的码的奇偶校验位的硬件资源的部分公共地共享。
根据进一步的实施例,一种对纠错码进行编码的方法,包括:使用奇偶校验矩阵的子矩阵来根据消息位向量计算中间奇偶位向量;以及使用被配置成计算关于多个不同的码的奇偶校验位的固定的硬件资源来根据中间奇偶校验位向量计算奇偶校验位向量以及其中,被配置成计算关于码中的特定的一个码的奇偶校验位的硬件资源的部分与被配置成计算关于码中的另一特定的码的奇偶校验位的硬件资源的部分公共地共享。
附图的简要说明
本发明是相对于其特定示例性实施例进行描述,并且相应地对附图进行了参考,在附图中:
图1示出一种通信系统,其中本发明的实施例可以被实现;
图2示出根据本发明的实施例的奇偶校验编码器;
图3示出根据本发明的实施例的奇偶校验矩阵的划分;
图4示出根据本发明的实施例的计算奇偶校验位的方法;
图5示出根据本发明的实施例的、用于特定的纠错码的奇偶校验子矩阵的转置的逆矩阵;
图6示出根据本发明的实施例的、用于替代的纠错码的奇偶校验子矩阵的转置的逆矩阵;
图7示出根据本发明的实施例的、在不同的纠错码之间共享的异或硬件资源;
图8示出根据本发明的实施例的、用于生成中间奇偶校验位向量的示例性硬件实现;
图9示出根据本发明的实施例的、用于生成奇偶校验位向量的示例性硬件实现;
图10示出根据本发明的实施例的、用于生成对于硬件资源共享的四个纠错码中的每个纠错码的奇偶校验位的示例性硬件实现;
图11示出根据本发明的实施例的、其中硬件资源在四个不同的纠错码之间被共享的示例性硬件实现;以及
图12示出根据本发明的实施例的、其中硬件资源被在不同的纠错码的不同的奇偶校验位之间被共享的示例性硬件实现。
本发明的优选实施例的详细说明
本发明利用一组纠错码的特定的特征以便降低编码器的存储需求和硬件复杂性需求。本发明的实施例允许同一编码器硬件来执行关于不同的块长度和码速率的编码。因此,编码器的硬件资源可以在由编码器所支持的不同的块长度和码速率之间进行共享。本发明的实施例对于编码低密度奇偶校验(LDPC)码是有用的。
图1示出一种通信系统100,在其中本发明的实施例可以被实现。如图1中所示,要发射的数字数据102被输入到发射机104。发射机104可以包括编码器106和调制器108。编码器106对数据执行纠错编码,例如,通过将数据102拆分成固定大小的消息并且将消息编码成码字。以奇偶校验位形式的冗余在编码过程期间被插入,使得码字被做成比消息更大。
调制器108然后可以通过根据码字调制一个或多个载波信号来准备用于传输的码字。作为例子,调制可以根据正交频分复用(OFDM)来执行。每个被调制的和编码的信号然后可以经由通信信道110来进行传输。信道110可以是,例如,无线通信信道,其可以是,例如,无线局域网络(WLAN)的部分。
接收机112从信道110接收所发射的信号。接收机112可以包括解调器114和解码器116。解调器114解调所接收的信号以重构码字。码字然后可以由解码器116进行解码,以便重构原始数据102。虽然解码器116可以纠正由通信过程引入的某些差错,但从解码器112输出的数据118可以由于仍然存在未纠正的差错而与原始数据102不同。
图2示出根据本发明的实施例的奇偶校验编码器200。奇偶校验编码器200可以被包括在图1中的编码器106中。奇偶校验编码器200接收信息位向量s。信息位向量s包含消息位。奇偶校验编码器200使用消息位来产生奇偶校验位向量p。奇偶校验位向量p包含对应于输入到编码器200的消息位的奇偶校验位。图1中的编码器106可以执行除了奇偶校验编码器200的功能之外的功能。例如,编码器106可以执行填充,其中各位在计算奇偶校验位之前被添加到消息位。编码器106可以执行删截(puncturing)并且在计算奇偶校验位之后重复。填充、删截和重复可以例如根据IEEE802.11n/ac标准来执行。编码器106的各部分,包括了奇偶校验编码器200,可以在硬件中使用现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类型的电路来实现。
根据LDPC编码的码字的奇偶校验位可以由下面的方程(1)来进行定义:
其中s为信息位向量,p为奇偶校验位向量,和为转置的H1和H2,它们是码的奇偶校验矩阵H的两个子矩阵。
因此,奇偶校验矩阵H可以被划分成两个子矩阵H1和H2,它们被转置以形成矩阵和图3示出根据本发明的实施例的将奇偶校验矩阵H划分成两个子矩阵H1和H2。
根据方程(2)和(3)两步骤编码的算法可以被用来实现方程(1):
其中p1为中间奇偶校验位向量并且为子矩阵的逆矩阵。
图4示出根据本发明的实施例计算奇偶校验位的方法400。方法400可以通过图2中的奇偶校验编码器200来执行。在步骤402中,中间奇偶位向量p1被计算出。中间奇偶位向量p1可以在步骤302中根据上述方程(2)进行计算。在步骤404中,奇偶位向量p被计算出。中间奇偶位向量p可以根据上述方程(3)进行计算。
步骤402和404包括通过两个独特矩阵的行向量的乘法运算。对于二进制码的情况,奇偶校验矩阵也是二进制的。因此,方程(2)及(3)可以在GF(2)(即,两个元素的伽罗瓦域)中实现并且它们的计算复杂度正比于在矩阵和两者中的那些的总数。子矩阵是稀疏的;而由于该逆操作,逆矩阵一般是相当致密的。
对于H是由zxz循环子矩阵和zxz零子矩阵组成的准循环(QC)的情况,所得到的逆矩阵也由zxz循环子矩阵和zxz零子矩阵组成;然而,它比矩阵更致密。的密度是低的,因为它是稀疏的H的子矩阵。因此,方程(3)的计算比方程(2)的更复杂。
在支持不同的块长度和/或不同的码速率的若干码的系统中,不同的码可以具有在它们的奇偶校验矩阵的列之间的公共部分。在这种情况下,已经发现子矩阵也可以具有在它们的列之间的公共部分。特别是,在以下情况中两个特征是通过奇偶校验矩阵的结构来满足的,即,
全部的奇偶校验矩阵是二进制和QC,以及
子矩阵具有双对角结构,
然后,已经观察到,在子矩阵的列之间的交叠正比于在相应的子矩阵之间的的交叠。具有这两个功能的码被称为支持码。
图5示出关于具有648的块长度和5/6的速率的特定的LDPC纠错码的奇偶校验子矩阵。图6示出关于具有648的块长度和1/2的速率的第二LDPC纠错码的奇偶校验子矩阵。图5和图6显示关于第一码的子矩阵的标记的行在第二码的子矩阵处相遇。
再次参照图4,步骤402可以使用硬件(诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或执行向量矩阵乘法运算的其它类型的电路)来实现。
步骤404可以在硬件中使用异或门树来实现。在这种情况下,在支持码的子矩阵之间的公共部分对应于在实现这些码的编码的异或门树之间的公共部分。这是一个子表达式问题,并且由本发明利用来共享硬件资源,从而导致编码器硬件需求的下降。因此,步骤404是使用共享的异或资源来执行的。这样的异或资源可以被实现为现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类型的电路。
图7示出根据本发明的实施例的、在不同的纠错码之间共享的异或硬件资源700。生成每个奇偶校验位的异或硬件资源包括异或逻辑门702的阵列和一个或多个多路复用器704。如图7中所示,中间奇偶位向量p1中的各位被施加到异或逻辑门702的阵列的输入端。异或逻辑门702的输出端被耦合到多路复用器704的输入端。对多路复用器704的选择输入控制多路复用器704的输入端中的哪一个被路由到多路复用器704的输出端,从而形成相应的奇偶位。选择输入值对应于编码器目前正在实现的多个码中的特定的一个码。
出于说明的目的,硬件资源700被简化为形成单个奇偶位。异或逻辑门702和多路复用器704的特定布置将取决于要由编码器实现的块长度和码速率中的每个以及在每个这样的码的奇偶校验子矩阵中的1和0的特定位置。公共子表达式求解技术可以被用来生成硬件资源700的特定布置。公共子表达式求解技术可以使用支持码的相应的子矩阵来执行。一旦硬件资源的特定布置被确定,该布置则可以被固定。仅被施加作为输入的奇偶值和到多路复用器的选择输入需要被改变,使得硬件资源能够对具有不同的块长度和/或不同的速率的不同的码进行编码。
实现方程(3)的异或树的列的公共部分,对于通信系统的多个支持码的情况,被在对这些码中的每个码进行编码期间公共地共享,从而导致编码器硬件需求的整体下降。这有助于编码器体系结构的复杂性和区的不可忽略的降低。具体地,本发明的实施例可以支持根据IEEE标准802.11进行编码,以及因此,多个支持码可以包括具有选自648、1296和1944位的块长度和选自1/2、2/3、3/4和5/6的码速率的LDPC码。
作为说明性例子,假定码的情况为其中奇偶校验矩阵是
矩阵H被划分成两个子矩阵H=[H1|H2],其中
且
因为转置的H1是
中间奇偶向量p1=[p1(1)p1(2)p1(3)]的元素(由方程(2)给出)通过下面的表达式进行计算
其中s=[s1s2s3]是消息向量并且表示不包括的或者(异或)操作。
上述方程组的一种可能的硬件实现在图8中被示出,并且通过将每个异或操作映射到两输入异或门来获得。因此,图8示出用于生成中间奇偶位向量p1的示例性硬件实现。明显是,进一步的逻辑级优化是可能的。
返回到前面的例子,我们显示方程(3)可以如何在硬件中实现。最初,转置的H2在伽罗瓦域GF(2)中被求逆,以给出
并且随后通过方程(3)的矩阵积的行向量被评估,以给出奇偶向量p的元素
p(3)=p1(3)。
相应的硬件实现在图9中被描绘。因此,图9示出根据方程(3)的、用于生成奇偶位向量的示例性硬件实现。
作为资源共享的例子,考虑一种支持四个码(即A、B、C和D)的体系结构。让每个码的第一奇偶位pj(1),j=A,B,C,D根据下式被计算出
在该例子中,被求逆的转置了的奇偶校验子矩阵中的每个的第一列,对应于每个码可以是
其中,公共行可以如本文中所述来进行识别。使用本文中所述的设计方法,获得四个电路,其中一个电路用于每个码并且在图10中被示出。图10示出用于生成如在方程(3)中的用于四个不同的纠错码中的每个码的奇偶位的示例性硬件实现。
图10的硬件实现需要十二(12)个异或门。本发明通过重复使用部分结果来减少硬件。我们最初识别在导出奇偶位值的方程中的公共子表达式。在这个例子中,我们注意到,pA(1)的值可以在pB(1)的计算中本身被重复使用,允许我们写成
而且,通过限定pC(1)和pD(1)的计算被写为
其中pX(n)表示对于码X的情况的第n个奇偶位。
使用公共子表达式共享的修改了的方程的一种可能的硬件实现在图11中被描绘出。在这个例子中,可以看出,相比于图10中所需的十二(12)个门,只有六(6)个两输入异或门是必需的。因此,图11示出其中硬件资源在四个不同的纠错码之间被共享的示例性硬件实现。图11的电路可以产生关于在每个实例处的选择的码的奇偶位。
在上述的例子中,奇偶位由分开的异或树生成。在一些实施例中,异或门也可以在不同的奇偶位之间被共享。有可能的是在计算关于相同的或不同的支持码的奇偶位的不同的树之间共享异或门,如在以下的例子中所示。
让关于码B的第三个奇偶位是pB(3)并且关于码C的第六个校验位是Pc(6)。此外,假设特定的奇偶位被计算为
并且
注意,上面的第一表达式在第二表达式中被重复使用。图12指示相应的硬件部分共享。更具体地说,图12示出其中硬件资源在不同的纠错码的不同的奇偶位之间共享的示例性硬件实现。
假如硬件在对于不同的奇偶位和/或码的异或树之间被共享,则需要相应的逻辑以选择对于每种情况的适当的输出位,如在图12中所示。假如码是不同长度的,则一些选择逻辑可以被省略。因此,在上述的例子中,如果码B只有三个奇偶,则对于第六个奇偶位的选择逻辑可以被省略。
本发明的前面的详细描述是为了说明的目的而被提供的,而不是旨在对所公开的实施例的穷尽的描述或将本发明限制于所公开的实施例。因此,本发明的范围是由所附权利要求限定的。
权利要求书(按照条约第19条的修改)
1.一种对纠错码进行编码的方法,包括以下步骤:
使用奇偶校验矩阵的子矩阵来根据消息位向量计算中间奇偶位向量;以及
使用包括被配置成计算用于多个不同的码的奇偶位的逻辑门树的固定的硬件资源来根据所述中间奇偶位向量计算奇偶位向量,以及其中,关于所述硬件资源的布置是根据公共子表达式解来确定的,使得被配置成计算用于所述码中的特定的一个码的奇偶位的所述硬件资源的部分与被配置成计算用于所述码中的另一特定的码的奇偶位的所述硬件资源的部分公共地共享。
3.根据权利要求1所述的方法,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述子矩阵。
4.根据权利要求1所述的方法,其中,被用于所述计算中间奇偶位向量的所述子矩阵包括所述奇偶校验矩阵的第一子矩阵,以及其中,所述公共子表达式解是使用所述奇偶校验矩阵的第二子矩阵的逆矩阵来确定的。
5.根据权利要求4所述的方法,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述第二子矩阵。
6.根据权利要求1所述的方法,其中,硬件资源在所述多个不同的码的不同的奇偶位之间被共享。
7.根据权利要求1所述的方法,其中,所述硬件资源包括逻辑异或门的阵列。
8.根据权利要求7所述的方法,其中,所述硬件资源的公共共享部分包括公共共享的异或逻辑门。
9.根据权利要求7所述的方法,其中,所述硬件资源包括多路复用器,其中一个多路复用器用于所述奇偶位向量的奇偶位中的每个。
10.根据权利要求1所述的方法,其中,所述多个不同的码至少在它们的块长度或码速率方面不同。
11.根据权利要求1所述的方法,从所述奇偶位向量和所述消息位向量根据纠错码来生成码字。
12.根据权利要求11所述的方法,其中,所述纠错码是低密度奇偶校验(LDPC)码。
13.一种用于纠错编码的编码器,包括:
第一硬件资源,其被配置成接收消息位向量并且根据所述消息位向量计算中间奇偶位向量,其中,所述中间奇偶位向量是基于奇偶校验矩阵的子矩阵来计算出的;以及
第二硬件资源,其被配置成根据所述中间奇偶位向量计算奇偶位向量,其中,所述第二硬件资源包括逻辑门树,所述逻辑门树被配置成计算用于多个不同的码的奇偶位,以及其中,关于所述硬件资源的布置是根据公共子表达式解来确定的,使得被配置成计算用于所述码中的特定的一个码的奇偶位的所述硬件资源的部分与被配置成计算用于所述码中的另一特定的码的奇偶位的所述硬件资源的部分公共地共享。
15.根据权利要求13所述的编码器,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述子矩阵。
16.根据权利要求13所述的编码器,其中,所述子矩阵包括所述奇偶校验矩阵的第一子矩阵,以及其中,所述公共子表达式解是基于所述奇偶校验矩阵的第二子矩阵的逆矩阵的。
17.根据权利要求1613所述的编码器,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述第二子矩阵。
18.根据权利要求13所述的编码器,其中,所述硬件资源的部分在所述多个不同的码的不同的奇偶位之间进行共享。
19.根据权利要求13所述的编码器,其中,所述第二硬件资源包括逻辑异或门的阵列。
20.根据权利要求19所述的编码器,其中,所述第二硬件资源的公共共享部分包括公共共享的异或逻辑门。
21.根据权利要求19所述的编码器,其中,所述第二硬件资源包括多路复用器,其中一个多路复用器用于所述奇偶位向量的奇偶位中的每个。
22.根据权利要求13所述的编码器,其中,所述多个不同的码至少在它们的块长度或码速率方面不同。
23.根据权利要求13所述的编码器,其中,所述编码器被配置成从所述奇偶位向量和所述消息位向量根据纠错码来生成码字。
24.根据权利要求23所述的编码器,其中,所述纠错码是低密度奇偶校验(LDPC)码。
Claims (24)
1.一种对纠错码进行编码的方法,包括以下步骤:
使用奇偶校验矩阵的子矩阵来根据消息位向量计算中间奇偶位向量;以及
使用被配置成计算用于多个不同的码的奇偶位的固定的硬件资源来根据所述中间奇偶位向量计算奇偶位向量,以及其中,被配置成计算用于所述码中的特定的一个码的奇偶位的所述硬件资源的部分与被配置成计算用于所述码中的另一特定的码的奇偶位的所述硬件资源的部分公共地共享。
2.根据权利要求1所述的方法,还包括使用公共子表达式求解技术来确定关于所述硬件资源的布置。
3.根据权利要求1所述的方法,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述子矩阵。
4.根据权利要求1所述的方法,其中,被用于所述计算中间奇偶位向量的所述子矩阵包括所述奇偶校验矩阵的第一子矩阵,以及其中,所述公共子表达式求解技术是使用所述奇偶校验矩阵的第二子矩阵的逆矩阵来执行的。
5.根据权利要求1所述的方法,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述第二子矩阵。
6.根据权利要求1所述的方法,其中,硬件资源在不同的纠错码的不同的奇偶位之间被共享。
7.根据权利要求1所述的方法,其中,所述硬件资源包括逻辑异或门的阵列。
8.根据权利要求7所述的方法,其中,所述硬件资源的公共共享部分包括公共共享的异或逻辑门。
9.根据权利要求7所述的方法,其中,所述硬件资源包括多路复用器,其中一个多路复用器用于所述奇偶位向量的奇偶位中的每个。
10.根据权利要求1所述的方法,其中,所述多个不同的码至少在它们的块长度或码速率方面不同。
11.根据权利要求1所述的方法,从所述奇偶位向量和所述消息位向量根据纠错码来生成码字。
12.根据权利要求11所述的方法,其中,所述纠错码是低密度奇偶校验(LDPC)码。
13.一种用于纠错编码的编码器,包括:
第一硬件资源,其被配置成接收消息位向量并且根据所述消息位向量计算中间奇偶位向量,其中,所述中间奇偶位向量是基于奇偶校验矩阵的子矩阵来计算出的;以及
第二硬件资源,其被配置成根据所述中间奇偶位向量计算奇偶位向量,其中,所述第二硬件资源被配置成计算用于多个不同的码的奇偶位,以及其中,被配置成计算用于所述码中的特定的一个码的奇偶位的所述硬件资源的部分与被配置成计算用于所述码中的另一特定的码的奇偶位的所述硬件资源的部分公共地共享。
14.根据权利要求13所述的编码器,其中,用于所述硬件资源的布置是根据公共子表达式解来确定的。
15.根据权利要求13所述的编码器,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述子矩阵。
16.根据权利要求13所述的编码器,其中,所述子矩阵包括所述奇偶校验矩阵的第一子矩阵,以及其中,所述公共子表达式解是基于所述奇偶校验矩阵的第二子矩阵的逆矩阵的。
17.根据权利要求13所述的编码器,其中,所述奇偶校验矩阵被划分并且被转置,以形成所述第二子矩阵。
18.根据权利要求13所述的编码器,其中,所述硬件资源的部分在不同的纠错码的不同的奇偶位之间进行共享。
19.根据权利要求13所述的编码器,其中,所述第二硬件资源包括逻辑异或门的阵列。
20.根据权利要求19所述的编码器,其中,所述第二硬件资源的公共共享部分包括公共共享的异或逻辑门。
21.根据权利要求19所述的编码器,其中,所述第二硬件资源包括多路复用器,其中一个多路复用器用于所述奇偶位向量的奇偶位中的每个。
22.根据权利要求13所述的编码器,其中,所述多个不同的码至少在它们的块长度或码速率方面不同。
23.根据权利要求13所述的编码器,其中,所述编码器被配置成从所述奇偶位向量和所述消息位向量根据纠错码来生成码字。
24.根据权利要求23所述的编码器,其中,所述纠错码是低密度奇偶校验(LDPC)码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/031,505 | 2013-09-19 | ||
US14/031,505 US9003257B1 (en) | 2013-09-19 | 2013-09-19 | Low density parity check encoder and encoding method |
PCT/EP2014/002544 WO2015039759A1 (en) | 2013-09-19 | 2014-09-18 | Encoding of low-density parity check for different low-density parity check (ldpc) codes sharing common hardware resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105556852A true CN105556852A (zh) | 2016-05-04 |
CN105556852B CN105556852B (zh) | 2019-05-17 |
Family
ID=51743398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480051479.XA Active CN105556852B (zh) | 2013-09-19 | 2014-09-18 | 对纠错码进行编码的方法和编码器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9003257B1 (zh) |
EP (1) | EP3047575B1 (zh) |
JP (1) | JP6472790B2 (zh) |
CN (1) | CN105556852B (zh) |
WO (1) | WO2015039759A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109728825A (zh) * | 2018-01-16 | 2019-05-07 | 电子科技大学 | 一种新型的m序列截段纠错码的校验矩阵扩展方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105594129A (zh) * | 2013-10-03 | 2016-05-18 | 富士通株式会社 | 程序、编码装置以及编码方法 |
CN109802687B (zh) * | 2018-12-25 | 2023-05-02 | 西安空间无线电技术研究所 | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064627A1 (en) * | 2004-09-22 | 2006-03-23 | Stmicroelectronics N.V. | Method and device for delivering punctured code words encoded with a LDPC code |
US20090164762A1 (en) * | 2007-12-20 | 2009-06-25 | Microsoft Corporation | Optimizing xor-based codes |
US20100281330A1 (en) * | 2009-04-29 | 2010-11-04 | Broadcom Corporation | Low complexity communication device employing in-place constructed LDPC (Low Density Parity Check) code |
CN101951264A (zh) * | 2010-08-31 | 2011-01-19 | 宁波大学 | 一种多码率准循环低密度奇偶校验码解码器 |
US8347169B1 (en) * | 2010-03-01 | 2013-01-01 | Applied Micro Circuits Corporation | System and method for encoding using common partial parity products |
US8448041B1 (en) * | 2010-02-01 | 2013-05-21 | Sk Hynix Memory Solutions Inc. | Multistage LDPC encoding |
US8539304B1 (en) * | 2010-04-27 | 2013-09-17 | Marvell International Ltd. | Parallel encoder for low-density parity-check (LDPC) codes |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050123336A (ko) * | 2004-06-24 | 2005-12-29 | 엘지전자 주식회사 | Ldpc 코드를 이용한 가변 코드 레이트 적응 부호화 방법 |
CN101128981B (zh) * | 2004-08-09 | 2013-03-20 | Lg电子株式会社 | 使用低密度奇偶校验矩阵的编码和解码方法 |
JP4856605B2 (ja) * | 2006-08-31 | 2012-01-18 | パナソニック株式会社 | 符号化方法、符号化装置、及び送信装置 |
WO2009004572A1 (en) * | 2007-07-04 | 2009-01-08 | Nxp B.V. | Shuffled ldpc decoding |
US8392787B2 (en) * | 2008-10-31 | 2013-03-05 | Broadcom Corporation | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding |
WO2011062111A1 (ja) * | 2009-11-17 | 2011-05-26 | 三菱電機株式会社 | 誤り訂正方法および装置ならびにそれを用いた通信システム |
US8359515B2 (en) * | 2009-12-02 | 2013-01-22 | Lsi Corporation | Forward substitution for error-correction encoding and the like |
-
2013
- 2013-09-19 US US14/031,505 patent/US9003257B1/en active Active
-
2014
- 2014-09-18 WO PCT/EP2014/002544 patent/WO2015039759A1/en active Application Filing
- 2014-09-18 JP JP2016515551A patent/JP6472790B2/ja active Active
- 2014-09-18 CN CN201480051479.XA patent/CN105556852B/zh active Active
- 2014-09-18 EP EP14786121.5A patent/EP3047575B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064627A1 (en) * | 2004-09-22 | 2006-03-23 | Stmicroelectronics N.V. | Method and device for delivering punctured code words encoded with a LDPC code |
US20090164762A1 (en) * | 2007-12-20 | 2009-06-25 | Microsoft Corporation | Optimizing xor-based codes |
US20100281330A1 (en) * | 2009-04-29 | 2010-11-04 | Broadcom Corporation | Low complexity communication device employing in-place constructed LDPC (Low Density Parity Check) code |
US8448041B1 (en) * | 2010-02-01 | 2013-05-21 | Sk Hynix Memory Solutions Inc. | Multistage LDPC encoding |
US8347169B1 (en) * | 2010-03-01 | 2013-01-01 | Applied Micro Circuits Corporation | System and method for encoding using common partial parity products |
US8539304B1 (en) * | 2010-04-27 | 2013-09-17 | Marvell International Ltd. | Parallel encoder for low-density parity-check (LDPC) codes |
CN101951264A (zh) * | 2010-08-31 | 2011-01-19 | 宁波大学 | 一种多码率准循环低密度奇偶校验码解码器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109728825A (zh) * | 2018-01-16 | 2019-05-07 | 电子科技大学 | 一种新型的m序列截段纠错码的校验矩阵扩展方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150082112A1 (en) | 2015-03-19 |
EP3047575A1 (en) | 2016-07-27 |
EP3047575B1 (en) | 2020-01-01 |
JP2016530744A (ja) | 2016-09-29 |
CN105556852B (zh) | 2019-05-17 |
WO2015039759A1 (en) | 2015-03-26 |
JP6472790B2 (ja) | 2019-02-20 |
US9003257B1 (en) | 2015-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210314002A1 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
US8812930B1 (en) | Parallel encoder for low-density parity-check (LDPC) codes | |
JP4856605B2 (ja) | 符号化方法、符号化装置、及び送信装置 | |
US8826096B2 (en) | Method of decoding LDPC code for producing several different decoders using parity-check matrix of LDPC code and LDPC code system including the same | |
JP5875713B2 (ja) | 送信機および受信機、並びに符号化率可変方法 | |
US10992416B2 (en) | Forward error correction with compression coding | |
US10873346B2 (en) | Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 2/15 and 64-symbol mapping, and bit interleaving method using same | |
WO2007088870A1 (ja) | 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器 | |
US9705529B2 (en) | Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 3/15 and 256-symbol mapping, and bit interleaving method using same | |
US20210250050A1 (en) | Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 2/15 and 256-symbol mapping, and bit interleaving method using same | |
US10205467B2 (en) | Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 4/15 and 256-symbol mapping, and bit interleaving method using same | |
KR20080072392A (ko) | 통신 시스템에서 신호 수신 장치 및 방법 | |
JP5333233B2 (ja) | 復号装置、データ蓄積装置、データ通信システム、および復号方法 | |
KR101077552B1 (ko) | 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법 | |
CN102301603B (zh) | 使用ldpc准循环码进行编码和解码 | |
CN105556852A (zh) | 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码 | |
KR20080000479A (ko) | 통신 시스템에서 신호 수신 장치 및 방법 | |
US9800268B2 (en) | Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 4/15 and 64-symbol mapping, and bit interleaving method using same | |
US9356734B2 (en) | Transmitter, receiver, and signal processing method thereof | |
US20170288697A1 (en) | Ldpc shuffle decoder with initialization circuit comprising ordered set memory | |
US10419026B2 (en) | Method and apparatus for efficient data decoding | |
JP5523064B2 (ja) | 復号装置及び方法 | |
KR20180122255A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20120088369A (ko) | 방송 및 통신시스템에서 송?수신 방법 및 장치 | |
KR101212627B1 (ko) | 부호화기 및 그것을 포함하는 무선 통신 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |