US20110099454A1 - Low Complexity LDPC Encoding Algorithm - Google Patents

Low Complexity LDPC Encoding Algorithm Download PDF

Info

Publication number
US20110099454A1
US20110099454A1 US12/985,850 US98585011A US2011099454A1 US 20110099454 A1 US20110099454 A1 US 20110099454A1 US 98585011 A US98585011 A US 98585011A US 2011099454 A1 US2011099454 A1 US 2011099454A1
Authority
US
United States
Prior art keywords
matrix
matrices
sub
permutation
circulant
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.)
Abandoned
Application number
US12/985,850
Inventor
Sergey Gribok
Alexander Andreev
Igor Vikhliantsev
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
LSI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LSI Corp filed Critical LSI Corp
Priority to US12/985,850 priority Critical patent/US20110099454A1/en
Publication of US20110099454A1 publication Critical patent/US20110099454A1/en
Assigned to LSI CORPORATION reassignment LSI CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: LSI LOGIC CORPORATION
Assigned to LSI LOGIC CORPORATION reassignment LSI LOGIC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ANDREEV, ALEXANDER, GRIBOK, SERGEY, VIKHLIANTSEV, IGOR
Assigned to DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT reassignment DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: AGERE SYSTEMS LLC, LSI CORPORATION
Assigned to LSI CORPORATION, AGERE SYSTEMS LLC reassignment LSI CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Assignors: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal

Definitions

  • This invention relates to the field of integrated circuit fabrication. More particularly, this invention relates to a method of implementing low-density parity-check (LDPC) codes that allows efficient performance of the encoding steps.
  • LDPC low-density parity-check
  • LDPC codes were first proposed by Gallager in 1962, and then “rediscovered” by MacKay in 1996. LDPC codes have been shown to achieve an outstanding performance that is very close to the Shannon transmission limit.
  • the main task of the encoder is to calculate these parity-check bits p for the given input message u.
  • the parity check matrix can be composed of py cells.
  • the cells are arranged in ⁇ columns and ⁇ rows, as given below.
  • H ( H 0 , 0 ... H 0 , ⁇ - 1 ... ... ... H ⁇ - 1 , 0 ... H ⁇ - 1 , ⁇ - 1 )
  • Matrix H can be considered as a concatenation of two sub matrices: A and B.
  • Matrix A contains k columns and (n ⁇ k) rows. It includes the first k columns of H.
  • Matrix B is a square matrix that contains (n ⁇ k) columns and (n ⁇ k) rows. It includes the last (n ⁇ k) columns of matrix H.
  • Matrix A is a so-called “low-density” matrix, in that it contains just a small number of “ones,” and so can be efficiently stored in a memory.
  • An especially compact representation of matrix A is achieved if the matrix has the cell-based structure as described above.
  • the simple structure of matrix A allows an efficient implementation of the first step.
  • step 2 can be performed very fast, but the simulation results show that this code is relatively weak. The reason for this is that many columns have only two “ones.”
  • Another problem with this code is that the decoder must take into account the different structures of A and B. Therefore, the decoder becomes more complicated. In reality, this code does not fully satisfy the four conditions presented above, in that different columns of the parity-check matrix have a different number of “ones.” Such codes are generally called irregular LDPC codes.
  • the matrix B is selected to be a non-singular matrix.
  • the inverse matrix B ⁇ 1 is multiplied by the vector x.
  • the problem with this method is that the matrix B ⁇ 1 is not a low-density matrix anymore. Some significant additional resources are needed to store this matrix and to efficiently perform the multiplication.
  • Another problem with this approach is that we cannot compose the matrix B from permutation sub matrices, because matrices based on permutation cells are always singular. This means that the matrices A and B have different structures, and once again the decoder becomes more complicated.
  • T is a two-diagonal, circulant sub matrix
  • I is an identity sub matrix
  • the entire parity-check matrix is constructed of permutation sub matrices.
  • the parity-check matrix In prior art methods, only part of the parity-check matrix is constructed of permutation sub matrices. That condition leads to irregularity and complication of the decoding process. From an implementation point of view, it is simpler to support operations with a parity-check matrix that is constructed of permutation cells of a size that is a power of two. Prior art methods cannot be used with this kind of parity-check matrix. The present method supports such matrices without any problems, which tends to simplify the encoding and decoding processes.
  • the current method also supports a more variable structure for the parity-check matrix: sub matrix B doesn't have to be a non-singular matrix.
  • sub matrix B doesn't have to be a non-singular matrix.
  • the parity-check matrix cannot have an even weight (or in other words, the number of ones in a column must be odd).
  • This is a big disadvantage. For example, sometimes a weight of four is sufficient to achieve good error-correcting properties, but a weight of three is not enough.
  • Prior art methods are then forced to use a matrix with a weight of five or more (or use irregular LDPC codes instead). This causes a complication during encoding and decoding (more resources are required to process the matrix as the number of ones increases).
  • the present method supports matrices with an even weight.
  • FIG. 1 is a flow chart for an LDPC encoding algorithm according to an embodiment of the present invention.
  • FIG. 2 depicts a circulant permutation matrix H according to an embodiment of the present invention.
  • FIG. 3 depicts a circulant-cell-based matrix B′ according to an embodiment of the present invention.
  • FIG. 4 depicts a fixed-format matrix D according to an embodiment of the present invention
  • the present invention provides a method for encoding low-density parity-check (LDPC) codes, and defines a subclass of LDPC codes that is appropriate for this method.
  • the method uses a parity-check matrix based on permutation sub matrices.
  • the matrix has a regular structure that allows simplification of the corresponding encoder and decoder circuits.
  • the method uses uniform cell-based parity check matrices (both A and B have the same cell-based structure) and allows an efficient computation of the encoding steps.
  • a and B have the same cell-based structure
  • Circulant matrix M c is a square t ⁇ t matrix, where the i th row (where 0 ⁇ i ⁇ t) is a cyclical shift of the first row (called the 0 th row) by i positions to the right, given as:
  • a circulant permutation matrix is a special case of a circulant matrix.
  • the first line of a circulant permutation matrix contains the value “one” in the i th position.
  • the j th line contains a “one” in the (i+j)(mod t) th position. Therefore the j th line is a cyclical shift of the (j ⁇ 1) th line.
  • the corresponding polynomial for a circulant permutation matrix contains exactly one non-zero coefficient.
  • M 0 is regularizable if the corresponding matrix based on the polynomials is regularizable.
  • M′ 0 D, where M′ 0 is a cell-based matrix with circulant cells and D has a special fixed format of:
  • H ( H 0 , 0 ... H 0 , ⁇ - 1 ... ... ... H ⁇ - 1 , 0 ... H ⁇ - 1 , ⁇ - 1 )
  • Matrix A can be composed of different types of permutation sub matrices.
  • One possible sub matrix type is a circulant permutation sub matrix.
  • Another possible type is a so-called bitwise permutation matrix. These matrices are based on bitwise exclusive OR operations.
  • the first line of a bitwise permutation matrix contains a value of “one” in the i th position.
  • the i th line contains a value of “one” in the (i ⁇ j) th position. It is also possible to use other types of permutation sub matrices.
  • Matrix B is a regularizable cell-based matrix that is composed of circulant permutation sub matrices only. If H 0 is an arbitrary circulant permutation-cell-based parity-check matrix that is not specially designed to have a regularizable sub matrix B, then it is almost always possible to rearrange the columns of H 0 in such a way that it will have the required structure. Therefore, almost every circulant permutation-cell-based parity-check matrix can be converted into the target format according to the present invention.
  • the encoder stores matrices A and B′.
  • Matrix A (an example of which is depicted in FIG. 2 ) is composed from ⁇ ( ⁇ ) permutation sub matrices, so only ⁇ ( ⁇ )(log t+1) bits are required to store matrix A (if two different types of permutation sub matrices are used).
  • the encoding algorithm consists of three steps, as depicted in FIG. 1 :
  • the first and the second steps can be efficiently implemented because of the cell-based structure of the matrices A and B′.
  • the last step is especially fast and computationally simple, because of the fixed, simple structure of the matrix D.
  • the parity-check bits can be computed using the formulas below:

Abstract

A method of encoding a binary source message u, by calculating x:=Au, calculating y:=B′x, resolving the equation Dp=y for p, and incorporating u and p to produce an encoded binary message v, where A is a matrix formed only of permutation sub matrices, B′ is a matrix formed only of circulant permutation sub matrices, and D is a matrix of the form
D = ( T 0 0 0 0 T 0 0 0 0 T 0 I I I I )
where T is a two-diagonal, circulant sub matrix, and I is an identity sub matrix.

Description

    FIELD
  • This invention relates to the field of integrated circuit fabrication. More particularly, this invention relates to a method of implementing low-density parity-check (LDPC) codes that allows efficient performance of the encoding steps.
  • BACKGROUND
  • Low density parity-check (LDPC) codes were first proposed by Gallager in 1962, and then “rediscovered” by MacKay in 1996. LDPC codes have been shown to achieve an outstanding performance that is very close to the Shannon transmission limit.
  • LDPC codes are based on a binary parity-check matrix H with n columns and m=n−k rows that has the following properties:
      • 1. Each row consists of p number of “ones;”
      • 2. Each column consists of y number of “ones;”
      • 3. The number of “ones” in common between any two columns, denoted as λ, is no greater than one; and
      • 4. Both ρ and γ are small compared to the length of the code and the number of rows in H.
  • For every given binary source message u={u0, . . . , uk−1} of length k, the LDPC encoder builds a binary codeword v={v0, . . . , vn−1} of length n where (n>k), such that Hv=0. The codeword consists of two parts. The first k bits of the codeword are equal to the bits of the source message. The other n−k bits of the codeword are the so-called parity-check bits p={p0, . . . , pn−k−1}. The main task of the encoder is to calculate these parity-check bits p for the given input message u.
  • To simplify matrix operations, the parity check matrix can be composed of py cells. The cells are arranged in ρ columns and γ rows, as given below.
  • H = ( H 0 , 0 H 0 , ρ - 1 H γ - 1 , 0 H γ - 1 , ρ - 1 )
  • Each cell is a t×t permutation matrix (n=ρt, n−k=γt). It contains exactly one value of “one” in every row and every column. Therefore, properties (1), (2), and (4) as listed above are satisfied by the construction of the matrix. An example of a cell-based parity-check matrix with k=32, n=56, γ=3, and ρ=7 is depicted in FIG. 2.
  • Matrix H can be considered as a concatenation of two sub matrices: A and B. Matrix A contains k columns and (n−k) rows. It includes the first k columns of H. Matrix B is a square matrix that contains (n−k) columns and (n−k) rows. It includes the last (n−k) columns of matrix H. The source equation Hv=0 can then be rewritten as Au+Bp=0, or Bp=x, where x=Au. Therefore, the calculation of the parity-check bits can be performed in two steps:
      • 1. Calculate vector x by performing multiplication of the matrix A and the source message u; and
      • 2. Calculate vector p by solving the linear system Bp=x.
  • All existing LDPC encoder implementations divide the calculation of the parity-check bits into these two steps as explained above.
  • Matrix A is a so-called “low-density” matrix, in that it contains just a small number of “ones,” and so can be efficiently stored in a memory. An especially compact representation of matrix A is achieved if the matrix has the cell-based structure as described above. The simple structure of matrix A allows an efficient implementation of the first step.
  • The most difficult part of the encoding process is the second step. Different solutions have been proposed to accomplish this step, but the existing solutions either require too much computational effort, work with a very limited and inefficient matrix B, or use different structures for the matrices A and B and, therefore, complicate the decoder structure.
  • Some methods use a two-diagonal matrix B. In this case, step 2 can be performed very fast, but the simulation results show that this code is relatively weak. The reason for this is that many columns have only two “ones.” Another problem with this code is that the decoder must take into account the different structures of A and B. Therefore, the decoder becomes more complicated. In reality, this code does not fully satisfy the four conditions presented above, in that different columns of the parity-check matrix have a different number of “ones.” Such codes are generally called irregular LDPC codes.
  • In other methods, the matrix B is selected to be a non-singular matrix. According to such methods, B−1 exists and p=B−1x. To find the parity-check bits, the inverse matrix B−1 is multiplied by the vector x. The problem with this method is that the matrix B−1 is not a low-density matrix anymore. Some significant additional resources are needed to store this matrix and to efficiently perform the multiplication. Another problem with this approach is that we cannot compose the matrix B from permutation sub matrices, because matrices based on permutation cells are always singular. This means that the matrices A and B have different structures, and once again the decoder becomes more complicated.
  • What is needed, therefore, is a method that overcomes problems such as those described above, at least in part.
  • SUMMARY
  • The above and other needs are met by a method according to the present invention of encoding a binary source message u, by calculating x:=Au, calculating y:=B′x, resolving the equation Dp=y for p, and incorporating u and p to produce an encoded binary message v, where A is a matrix formed only of permutation sub matrices, B′ is a matrix formed only of circulant permutation sub matrices, and D is a matrix of the form
  • D = ( T 0 0 0 0 T 0 0 0 0 T 0 I I I I )
  • where T is a two-diagonal, circulant sub matrix, and I is an identity sub matrix.
  • According to another aspect of the invention, the entire parity-check matrix is constructed of permutation sub matrices. In prior art methods, only part of the parity-check matrix is constructed of permutation sub matrices. That condition leads to irregularity and complication of the decoding process. From an implementation point of view, it is simpler to support operations with a parity-check matrix that is constructed of permutation cells of a size that is a power of two. Prior art methods cannot be used with this kind of parity-check matrix. The present method supports such matrices without any problems, which tends to simplify the encoding and decoding processes.
  • The current method also supports a more variable structure for the parity-check matrix: sub matrix B doesn't have to be a non-singular matrix. By way of explanation, if sub matrix B is non-singular, then the parity-check matrix cannot have an even weight (or in other words, the number of ones in a column must be odd). This is a big disadvantage. For example, sometimes a weight of four is sufficient to achieve good error-correcting properties, but a weight of three is not enough. Prior art methods are then forced to use a matrix with a weight of five or more (or use irregular LDPC codes instead). This causes a complication during encoding and decoding (more resources are required to process the matrix as the number of ones increases). However, the present method supports matrices with an even weight.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Further advantages of the invention are apparent by reference to the detailed description when considered in conjunction with the figures, which are not to scale so as to more clearly show the details, wherein like reference numbers indicate like elements throughout the several views, and wherein:
  • FIG. 1 is a flow chart for an LDPC encoding algorithm according to an embodiment of the present invention.
  • FIG. 2 depicts a circulant permutation matrix H according to an embodiment of the present invention.
  • FIG. 3 depicts a circulant-cell-based matrix B′ according to an embodiment of the present invention.
  • FIG. 4 depicts a fixed-format matrix D according to an embodiment of the present invention
  • DETAILED DESCRIPTION
  • The present invention provides a method for encoding low-density parity-check (LDPC) codes, and defines a subclass of LDPC codes that is appropriate for this method. The method uses a parity-check matrix based on permutation sub matrices. The matrix has a regular structure that allows simplification of the corresponding encoder and decoder circuits. The method uses uniform cell-based parity check matrices (both A and B have the same cell-based structure) and allows an efficient computation of the encoding steps. One embodiment of a method according to the present invention is present below.
  • Description of the Target Class of Codes
  • Circulant matrix Mc is a square t×t matrix, where the ith row (where 0<i<t) is a cyclical shift of the first row (called the 0th row) by i positions to the right, given as:
  • M c = ( a 0 a 1 a t - 1 a t - 1 a 0 a t - 2 a 1 a 2 a 0 )
  • It follows from the definition above that the circulant matrix is completely determined by its first row. Let's represent the circulant matrix as a polynomial expression Pc that has coefficients equal to the matrix coefficients from the first row:

  • P c =a 0 +a 1 x+a 2 x 2 + . . . +a t−1 x t−1
  • The addition and multiplication of circulant matrices is thus equivalent to the addition and multiplication of the polynomials in a ring of polynomials with a maximum degree of t−1.
  • A circulant permutation matrix is a special case of a circulant matrix. The first line of a circulant permutation matrix contains the value “one” in the ith position. The jth line contains a “one” in the (i+j)(mod t)th position. Therefore the jth line is a cyclical shift of the (j−1)th line. The corresponding polynomial for a circulant permutation matrix contains exactly one non-zero coefficient.
  • Let's consider a square m×m matrix Mp of polynomials of degree t−1:
  • M p = ( p 0 , 0 p 0 , m - 1 p m - 1 , 0 p m - 1 , m - 1 )
  • Mp is defined to be regularizable if such a matrix M′p exists such that M′pMp=Gp, where Gp has a special fixed format of:
  • G p = ( x t - 1 + 1 0 0 0 0 x t - 1 + 1 0 0 0 0 x t - 1 + 1 0 1 1 1 1 )
  • Let's now take a cell-based matrix M0, where each cell is a circulant sub matrix. M0 is regularizable if the corresponding matrix based on the polynomials is regularizable. Thus, if M0 is regularizable, then such a matrix M′0 exists such that M′0M0=D, where M′0 is a cell-based matrix with circulant cells and D has a special fixed format of:
  • D = ( T 0 0 0 0 T 0 0 0 0 T 0 I I I I ) where T = ( 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 ) - 2 - diagonal circulant , I = ( 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 ) - identity matrix .
  • An example of matrix D is given in FIG. 4.
  • Now we are ready to define the target subclass of LDPC codes according to this embodiment of the present invention. We consider the parity-check matrix H, based on permutation square cells, as given below:
  • H = ( H 0 , 0 H 0 , ρ - 1 H γ - 1 , 0 H γ - 1 , ρ - 1 )
  • Every square block Hi,j is a permutation matrix. An example of this is depicted in FIG. 2. Matrix H is represented as a concatenation of two matrices: H=[A|B], where B is an (n−k)×(n−k) square matrix, and A is an (n−k)×n matrix, as depicted in FIG. 2.
  • Matrix A can be composed of different types of permutation sub matrices. One possible sub matrix type is a circulant permutation sub matrix. Another possible type is a so-called bitwise permutation matrix. These matrices are based on bitwise exclusive OR operations. The first line of a bitwise permutation matrix contains a value of “one” in the ith position. The ith line contains a value of “one” in the (i⊖j)th position. It is also possible to use other types of permutation sub matrices.
  • Matrix B is a regularizable cell-based matrix that is composed of circulant permutation sub matrices only. If H0 is an arbitrary circulant permutation-cell-based parity-check matrix that is not specially designed to have a regularizable sub matrix B, then it is almost always possible to rearrange the columns of H0 in such a way that it will have the required structure. Therefore, almost every circulant permutation-cell-based parity-check matrix can be converted into the target format according to the present invention.
  • Encoding Method for the Described Class of Codes
  • For a given binary source message u={u0, . . . , uk−1} of length k, the LDPC encoder builds a binary codeword v={v0, . . . , vn−1} of length n where (n>k), such that Hv=0. The last equation can be rewritten as Au+Bp=0, or Bp=x, where x=Au. Note that B is singular, so B−1 doesn't exist. B is regularizable, so a circulant-cell-based matrix B′ exists such that B′B=D (as depicted in FIG. 3). Therefore, the equation Bp=x can be rewritten as Dp=B′x.
  • The encoder stores matrices A and B′. Matrix A (an example of which is depicted in FIG. 2) is composed from γ(ρ−γ) permutation sub matrices, so only γ(ρ−γ)(log t+1) bits are required to store matrix A (if two different types of permutation sub matrices are used). Matrix B′ (an example of which is depicted in FIG. 3) is composed of γ2 circulant sub matrices, so only γ2t=γ(n−k) bits are required to store matrix B′.
  • The encoding algorithm consists of three steps, as depicted in FIG. 1:
      • 1. Calculate x:=Au;
      • 2. Calculate y:=B′x; and
      • 3. Resolve the equation Dp=y.
  • The first and the second steps can be efficiently implemented because of the cell-based structure of the matrices A and B′. The last step is especially fast and computationally simple, because of the fixed, simple structure of the matrix D. On the last step, the parity-check bits can be computed using the formulas below:

  • P jt+ki=0 k y jt+i, where k=0, . . . t−1, j=0, . . . , γ−2

  • P (γ−1)t+k =y (γ−1)t+ki=0 γ−2 p it+k, where k=0, . . . , t−1
  • The foregoing description of preferred embodiments for this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiments are chosen and described in an effort to provide the best illustrations of the principles of the invention and its practical application, and to thereby enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.

Claims (15)

1. (canceled)
2. (canceled)
3. (canceled)
4. In a parity check matrix of the type used for an LDPC encoding method, where the parity check matrix is formed entirely of non-overlapping sub matrices, the improvement comprising the sub matrices are all permutation matrices.
5. The parity check matrix of claim 4, wherein the permutation matrices are all circulant permutation matrices.
6. The parity check matrix of claim 4, wherein the permutation matrices are all one of bitwise permutation matrices and circulant permutation matrices.
7. The parity check matrix of claim 4, wherein the permutation matrices all have a size that is a power of two.
8. The parity check matrix of claim 4, wherein the parity check matrix has a B sub matrix that is a singular matrix.
9. The parity check matrix of claim 4, wherein the parity check matrix has an A sub matrix and a B sub matrix, where A has a size of (n−k)×n and B has a size of (n−k)×(n−k), where n and k are integers.
10. In an LDPC encoding method, the improvement comprising converting a stream of digital information to a coded stream of digital information using a parity check matrix that is formed entirely of non-overlapping sub matrices, where the sub matrices are all permutation matrices.
11. The method of claim 10, wherein the permutation matrices are all circulant permutation matrices.
12. The method of claim 10, wherein the permutation matrices are all one of bitwise permutation matrices and circulant permutation matrices.
13. The method of claim 10, wherein the permutation matrices all have a size that is a power of two.
14. The method of claim 10, wherein the parity check matrix has a B sub matrix that is a singular matrix.
15. The method of claim 10, wherein the parity check matrix has an A sub matrix and a B sub matrix, where A has a size of (n−k)×n and B has a size of (n−k)×(n−k), where n and k are integers.
US12/985,850 2006-12-20 2011-01-06 Low Complexity LDPC Encoding Algorithm Abandoned US20110099454A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/985,850 US20110099454A1 (en) 2006-12-20 2011-01-06 Low Complexity LDPC Encoding Algorithm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/613,256 US7913149B2 (en) 2006-12-20 2006-12-20 Low complexity LDPC encoding algorithm
US12/985,850 US20110099454A1 (en) 2006-12-20 2011-01-06 Low Complexity LDPC Encoding Algorithm

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/613,256 Division US7913149B2 (en) 2006-12-20 2006-12-20 Low complexity LDPC encoding algorithm

Publications (1)

Publication Number Publication Date
US20110099454A1 true US20110099454A1 (en) 2011-04-28

Family

ID=39595317

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/613,256 Expired - Fee Related US7913149B2 (en) 2006-12-20 2006-12-20 Low complexity LDPC encoding algorithm
US12/985,850 Abandoned US20110099454A1 (en) 2006-12-20 2011-01-06 Low Complexity LDPC Encoding Algorithm

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/613,256 Expired - Fee Related US7913149B2 (en) 2006-12-20 2006-12-20 Low complexity LDPC encoding algorithm

Country Status (1)

Country Link
US (2) US7913149B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347167B2 (en) * 2008-12-19 2013-01-01 Lsi Corporation Circuits for implementing parity computation in a parallel architecture LDPC decoder
US8464123B2 (en) * 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
US9203434B1 (en) 2012-03-09 2015-12-01 Western Digital Technologies, Inc. Systems and methods for improved encoding of data in data storage devices
US8775898B2 (en) * 2012-05-17 2014-07-08 Lsi Corporation Systems and methods for hardware flexible low density parity check conversion
US8605383B1 (en) 2012-05-21 2013-12-10 Western Digital Technologies, Inc. Methods, devices and systems for characterizing polarities of piezoelectric (PZT) elements of a two PZT element microactuator
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US9122625B1 (en) 2012-12-18 2015-09-01 Western Digital Technologies, Inc. Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems
US9619317B1 (en) 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US8966339B1 (en) 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
US9214963B1 (en) 2012-12-21 2015-12-15 Western Digital Technologies, Inc. Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
US8797664B1 (en) 2012-12-22 2014-08-05 Western Digital Technologies, Inc. Polarity detection of piezoelectric actuator in disk drive
RU2014104571A (en) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн SYSTEMS AND METHODS FOR AN EFFECTIVE PERFORMANCE AREA FOR DATA ENCODING
US9153283B1 (en) 2014-09-30 2015-10-06 Western Digital Technologies, Inc. Data storage device compensating for hysteretic response of microactuator
CN112398488B (en) * 2020-12-29 2021-04-30 支付宝(杭州)信息技术有限公司 Method and device for vector compression

Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7000168B2 (en) * 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
US20060053359A1 (en) * 2002-11-21 2006-03-09 Su-Chang Chae Encoder using low density parity check codes and encoding method thereof
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US7120856B2 (en) * 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7171603B2 (en) * 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
US7178082B2 (en) * 2003-04-29 2007-02-13 Samsung Electronics Co., Ltd. Apparatus and method for encoding a low density parity check code
US7243286B2 (en) * 2002-12-21 2007-07-10 Samsung Electronics Co., Ltd. Method and apparatus for generating parity information for error correction
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7278082B2 (en) * 2003-01-29 2007-10-02 Samsung Electronics Co., Ltd. Method of generating parity data based on low-density parity check matrix and apparatus therefor
US7302629B2 (en) * 2003-12-10 2007-11-27 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding irregular repeat accumulate codes
US7313752B2 (en) * 2003-08-26 2007-12-25 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
US7343548B2 (en) * 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
US7353444B2 (en) * 2004-05-07 2008-04-01 Comtech Aha Corporation LDPC architecture
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US7451374B2 (en) * 2004-07-27 2008-11-11 Samsung Electronics Co., Ltd Apparatus and method for channel coding in mobile communication system
US7480845B2 (en) * 2005-04-13 2009-01-20 Samsung Electronics Co., Ltd. Method and apparatus for generating block-based low-density parity check matrix and recording medium having recorded thereon code for implementing the method
US7493547B2 (en) * 2004-11-25 2009-02-17 Electronics And Telecommunications Research Institute Apparatus for coding low density parity check code and method thereof
US7502987B2 (en) * 2004-05-12 2009-03-10 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
US7516390B2 (en) * 2005-01-10 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems
US7516391B2 (en) * 2004-08-16 2009-04-07 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
US7523375B2 (en) * 2005-09-21 2009-04-21 Distribution Control Systems Set of irregular LDPC codes with random structure and low encoding complexity
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7536623B2 (en) * 2004-12-01 2009-05-19 Samsung Electronics Co., Ltd. Method and apparatus for generating a low-density parity check code
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7600173B2 (en) * 2004-04-28 2009-10-06 Mitsubishi Electric Corporation Retransmission control method and communications device
US7600174B2 (en) * 2004-08-10 2009-10-06 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding a block low density parity check code
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7617441B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7657816B2 (en) * 2005-07-13 2010-02-02 Leanics Corporation Low-complexity hybrid LDPC code encoder
US7814393B2 (en) * 2005-10-19 2010-10-12 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
US7882414B2 (en) * 2005-12-07 2011-02-01 Samsung Electronics Co., Ltd Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system
US7890844B2 (en) * 2005-09-27 2011-02-15 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208547B1 (en) 2004-09-17 2012-12-05 엘지전자 주식회사 Method of encoding and decoding using ldpc code

Patent Citations (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US7000168B2 (en) * 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
US7120856B2 (en) * 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
US20060053359A1 (en) * 2002-11-21 2006-03-09 Su-Chang Chae Encoder using low density parity check codes and encoding method thereof
US7178085B2 (en) * 2002-11-21 2007-02-13 Electronics And Telecommunications Research Institute Encoder using low density parity check codes and encoding method thereof
US7243286B2 (en) * 2002-12-21 2007-07-10 Samsung Electronics Co., Ltd. Method and apparatus for generating parity information for error correction
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US7278082B2 (en) * 2003-01-29 2007-10-02 Samsung Electronics Co., Ltd. Method of generating parity data based on low-density parity check matrix and apparatus therefor
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US7237171B2 (en) * 2003-02-26 2007-06-26 Qualcomm Incorporated Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US7178082B2 (en) * 2003-04-29 2007-02-13 Samsung Electronics Co., Ltd. Apparatus and method for encoding a low density parity check code
US7313752B2 (en) * 2003-08-26 2007-12-25 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
US7302629B2 (en) * 2003-12-10 2007-11-27 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding irregular repeat accumulate codes
US7395494B2 (en) * 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7600173B2 (en) * 2004-04-28 2009-10-06 Mitsubishi Electric Corporation Retransmission control method and communications device
US7171603B2 (en) * 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
US7353444B2 (en) * 2004-05-07 2008-04-01 Comtech Aha Corporation LDPC architecture
US7502987B2 (en) * 2004-05-12 2009-03-10 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
US7526717B2 (en) * 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7451374B2 (en) * 2004-07-27 2008-11-11 Samsung Electronics Co., Ltd Apparatus and method for channel coding in mobile communication system
US7600174B2 (en) * 2004-08-10 2009-10-06 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding a block low density parity check code
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
US7516391B2 (en) * 2004-08-16 2009-04-07 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
US7493547B2 (en) * 2004-11-25 2009-02-17 Electronics And Telecommunications Research Institute Apparatus for coding low density parity check code and method thereof
US7536623B2 (en) * 2004-12-01 2009-05-19 Samsung Electronics Co., Ltd. Method and apparatus for generating a low-density parity check code
US7343548B2 (en) * 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
US7516390B2 (en) * 2005-01-10 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7480845B2 (en) * 2005-04-13 2009-01-20 Samsung Electronics Co., Ltd. Method and apparatus for generating block-based low-density parity check matrix and recording medium having recorded thereon code for implementing the method
US7657816B2 (en) * 2005-07-13 2010-02-02 Leanics Corporation Low-complexity hybrid LDPC code encoder
US7617441B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7523375B2 (en) * 2005-09-21 2009-04-21 Distribution Control Systems Set of irregular LDPC codes with random structure and low encoding complexity
US7890844B2 (en) * 2005-09-27 2011-02-15 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code
US7814393B2 (en) * 2005-10-19 2010-10-12 Samsung Electronics Co., Ltd Apparatus and method for coding/decoding block low density parity check code with variable block length
US7882414B2 (en) * 2005-12-07 2011-02-01 Samsung Electronics Co., Ltd Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system

Also Published As

Publication number Publication date
US20080168334A1 (en) 2008-07-10
US7913149B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
US7913149B2 (en) Low complexity LDPC encoding algorithm
JP4595650B2 (en) Decoding device and decoding method
CN101073205B (en) LDPC encoder and decoder and LDPC encoding and decoding methods
KR101227264B1 (en) Method and apparatus for block and rate independent decoding of ldpc codes
US8352847B2 (en) Matrix vector multiplication for error-correction encoding and the like
EP2176758B1 (en) Generation of parity-check matrices
JP4293172B2 (en) Decoding device and decoding method
US20040221223A1 (en) Apparatus and method for encoding a low density parity check code
US20030079172A1 (en) Encoding method and encoder
US20050149845A1 (en) Method of constructing QC-LDPC codes using qth-order power residue
US7934139B2 (en) Parallel LDPC decoder
US20040199860A1 (en) Method and apparatus for generating parity information for error correction
JP5774237B2 (en) Error correction encoding method and error correction encoding apparatus
Andrews et al. Encoders for block-circulant LDPC codes
JP2007166605A (en) Parity check matrix, method for generating parity check matrix, encoding method, and error corrector
Myung et al. A combining method of quasi-cyclic LDPC codes by the Chinese remainder theorem
JP4832447B2 (en) Decoding apparatus and method using channel code
JP2005051469A (en) Encoding device and encoding method, and program
EP2226945A1 (en) Generation of optimized exponent matrices for multi-rate LDPC codes
EP2211470B1 (en) Generating an exponent table for coding and decoding LDPC codewords of different lengths
Fujita et al. Some classes of quasi-cyclic LDPC codes: Properties and efficient encoding method
JP2009182421A (en) Decoding method and decoding device
EP2148445B1 (en) Generating exponent matrixes for LDPC codes
Kumar et al. On graphical representations of algebraic codes suitable for iterative decoding
EP2285004A1 (en) Method for pseudo-puncturing exponent matrixes of LDPC codes to comply with different code-rates

Legal Events

Date Code Title Description
AS Assignment

Owner name: LSI LOGIC CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRIBOK, SERGEY;ANDREEV, ALEXANDER;VIKHLIANTSEV, IGOR;REEL/FRAME:031087/0054

Effective date: 20061219

Owner name: LSI CORPORATION, CALIFORNIA

Free format text: MERGER;ASSIGNOR:LSI LOGIC CORPORATION;REEL/FRAME:031087/0019

Effective date: 20070404

AS Assignment

Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031

Effective date: 20140506

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: LSI CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039

Effective date: 20160201

Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039

Effective date: 20160201