CN100592639C - Low density parity check coding method, device and parity check matrix generating method - Google Patents

Low density parity check coding method, device and parity check matrix generating method Download PDF

Info

Publication number
CN100592639C
CN100592639C CN200610076082A CN200610076082A CN100592639C CN 100592639 C CN100592639 C CN 100592639C CN 200610076082 A CN200610076082 A CN 200610076082A CN 200610076082 A CN200610076082 A CN 200610076082A CN 100592639 C CN100592639 C CN 100592639C
Authority
CN
China
Prior art keywords
sub
matrix
cyclic
polynomial
ldpc
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.)
Expired - Fee Related
Application number
CN200610076082A
Other languages
Chinese (zh)
Other versions
CN101047391A (en
Inventor
许渤
陈铭
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.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
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 Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CN200610076082A priority Critical patent/CN100592639C/en
Publication of CN101047391A publication Critical patent/CN101047391A/en
Application granted granted Critical
Publication of CN100592639C publication Critical patent/CN100592639C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

A LDPC coding method includes confirming number L of cyclic sub-matrix required to generate odd-even calibration matrix according to coding efficiency preset by system, generating L numbers of cyclicsub-matrixes as per code length of LDPC code and confirmed number L, ensuring one of said sub-matrixes to be reversible cyclic sub-matrix, deriving out generating matrix of LDPC code according to generated cyclic sub-matrixes and obtaining bit sequence to be sent by carrying out LDPC coding on information bit to be sent according to said generating matrix. The device used for realizing said methodis also disclosed.

Description

Low-density parity check coding method and device and parity check matrix generation method
Technical Field
The present invention relates to a channel coding technique in a communication system, and in particular, to a method and an apparatus for coding a Low-Density Parity Check (LDPC) code, and a method for generating a Parity Check matrix of an LDPC code.
Background
The role of a communication system is to transfer information from one place to another over a communication channel. Due to the influence of noise, interference and the like in a communication channel, errors may occur in the information transmission process, so that a receiving end cannot receive the information correctly. In order to improve the transmission performance of the communication system, information errors occurring in the transmission process can be discovered or corrected by adding some redundant information to the transmitted information, so as to recover correct information. The process of adding redundant information to the transmitted information is also called error correction coding, and there are many coding methods for error correction coding, among which, LDPC codes are one of the error correction coding methods found in recent years that have very excellent performance.
An LDPC code is a linear block code and is usually described by using a parity check matrix H corresponding to the LDPC code. The basic characteristic of the LDPC code is the sparsity of the parity check matrix H thereof, that is, the number of non-zero elements in the parity check matrix H of the LDPC code is much smaller than the size of the matrix. The matrix shown in the following formula (1) is a parity check matrix H of an LDPC code.
As can be seen from the parity check matrix H shown in the above equation (1), the code length of the LDPC code corresponding to the parity check matrix H, that is, the number of columns of the parity check matrix H, is n equal to 20, and the LDPC code corresponding to the parity check matrix H includes parity check equations of which n is 20Since k is 10, that is, the number of rows of the parity check matrix H, the coding efficiency of the LDPC code is obtained as (n-k)/n is 0.5. From the parity check matrix H, as with all linear block codes, a generator matrix G of the LDPC code corresponding to the parity check matrix H can be derived, i.e., the condition HG is satisfiedTA matrix G of 0, wherein GTIs the transpose of the generator matrix G. After the generator matrix G is derived, LDPC encoding may be performed by the generator matrix G.
In a communication system, if an information bit sequence x with a length of n-k is to be transmitted, a transmitting end of the communication system needs to perform LDPC encoding on the information bit sequence first. The process of LDPC coding can be abstracted as a matrix multiplication operation of the LDPC code generation matrix G and the information bit sequence x, that is, y is GTx which after operation will result in a bit sequence y of length n to be transmitted in the communication channel. When the bit sequence y after LDPC coding is transmitted in a channel, it may be affected by noise, interference, and other factors to change and generate errors, so that a receiving end needs to perform LDPC decoding on the received bit sequence y, that is, recover correct information bits by using redundant information. If the redundant information is not sufficient to recover the correct information, the decoded information bits may still contain errors, which may result in a certain error rate. Currently, decoding of LDPC codes may use belief propagation iterative decoding algorithms and various simplified algorithms thereof. Due to the sparsity of the parity check matrix of the LDPC code, the iterative decoding algorithm can be completed at a high speed.
The excellent performance of the LDPC code has attracted attention and a great deal of research has been conducted on theoretical analysis, construction methods, encoding and decoding methods, practical applications, and the like. However, these studies have mainly focused on the application of LDPC codes to systems such as mobile communication, satellite communication, and magnetic storage. These studies and their results are difficult to apply to optical fiber communication systems due to the large difference between these systems, especially the special requirements of high speed, high efficiency and low encoding and decoding complexity of optical fiber communication systems.
Disclosure of Invention
In order to solve the above technical problem, the present invention provides an LDPC encoding method, which is suitable for a communication system with high rate, high efficiency and low complexity LDPC encoding requirements.
The invention also provides a coding device of the low-complexity LDCP code, which can realize the LDPC coding at high speed and high efficiency.
In addition, the invention also provides a method for generating the parity check matrix of the LDPC code, so that the minimum circle length of the generated parity check matrix is larger than 4, namely, the circle 4 circulation is avoided, and meanwhile, the maximum minimum Hamming distance can be provided, and the LDPC code generated according to the parity check matrix is ensured to have good coding performance.
According to one aspect of the present invention, the low density parity check LDPC encoding method of the present invention comprises:
A. determining the number L of cyclic sub-matrixes needed by the generated parity check matrix according to the coding efficiency preset by the communication system, wherein L is a natural number;
B. generating L cyclic sub-matrixes according to the code length of the LDPC code and the number L of the cyclic sub-matrixes, and ensuring that at least one cyclic sub-matrix is a reversible cyclic sub-matrix;
C. deducing a generating matrix of the LDPC code according to the L generated cyclic sub-matrixes, and performing LDPC coding on information bits to be transmitted according to the generating matrix to obtain a bit sequence to be transmitted.
Step a, determining the number L of cyclic sub-matrices required by the generated parity check matrix as: let epsilon be the redundancy of LDPC code according to the formula
Figure C20061007608200091
Calculating the number L of required cyclic sub-matrices, wherein the operator
Figure C20061007608200092
Indicating a ceiling operation.
The step B of generating L cyclic sub-matrices includes:
b1, determining the cycle length of each cycle sub-matrix according to the code length of the LDPC code and the determined number of the cycle sub-matrices;
b2, setting one of the cyclic sub-matrices as a reversible cyclic sub-matrix, and determining the number of non-zero elements in a polynomial representing the reversible cyclic sub-matrix according to the code length of the LDPC code and the number of the determined cyclic sub-matrices;
b3, constructing a reversible sub-polynomial meeting a distance constraint condition according to the cycle length of each cyclic sub-matrix and the determined number of non-zero elements, and generating a reversible sub-cyclic matrix according to the reversible sub-polynomial;
and B4, sequentially generating other L-1 sub-polynomials meeting the distance constraint condition, and obtaining L-1 sub-cyclic matrices according to the L-1 sub-polynomials.
The step B1 of determining the cycle length of each cyclic sub-matrix includes: and setting the code length of the LDPC code as n, and calculating the cycle length m of each cycle sub-matrix by adopting a formula m as n/L.
Determining the number w of non-zero elements in the polynomial representing the reversible circulant sub-matrix as described above in step B20Comprises the following steps: let the code length of LDPC code be n according to formula <math> <mrow> <mi>L</mi> <msubsup> <mi>C</mi> <mi>w</mi> <mn>2</mn> </msubsup> <mo>&le;</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> <mi>L</mi> </mrow> </math> Calculating the maximum integer w meeting the requirement of the formula, and if the calculated w is an even number, making w0W + 1; otherwise, let w0=w。
The step B3 of constructing a invertible polynomial satisfying the distance constraint includes:
b31 according to the number w of non-zero elements0Is randomly selected from m-1 integers of 1 to m-101 different integers a1, a22,....,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C20061007608200102
B32 calculating the polynomialThe distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step B31 is returned, and the polynomial is regenerated; otherwise, step B33 is performed.
B33, judging whether the sub-cyclic matrix obtained by the polynomial cyclic shift is full rank, if so, updating the position record and ending; otherwise, return to step B31 to regenerate the polynomial.
The method further comprises, before the step B31: setting a counter of the number of attempts;
setting the number of attempts counter to 1 when step B31 is first performed;
after the first time, before each time step B31 is executed, adding 1 to the counter of the number of attempts, and judging whether the counter value of the number of attempts exceeds a preset upper limit value, if so, indicating the number w of the non-zero elements0If the requirement (f) is too high, the number w of the non-zero elements is reduced0After said value of (c), said step B31 is performed; otherwise, step B31 is performed directly.
The step B4 of generating other L-1 sub-polynomials satisfying the distance constraint includes:
b41 according to the number w of non-zero elements0According to the available position records, randomly selecting w01 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C20061007608200111
B42, calculating polynomial
Figure C20061007608200112
The distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step B41 is returned, and the polynomial is regenerated; otherwise, the location record is updated and ended.
The method further comprises, before the step B41: setting a counter of the number of attempts;
setting the number of attempts counter to 1 when step B41 is first performed;
after the first time, before each time step B41 is executed, adding 1 to the counter of the number of attempts, and judging whether the counter value of the number of attempts exceeds a preset upper limit value, if so, indicating the number w of the non-zero elements0If the requirement (f) is too high, the number w of the non-zero elements is reduced0After said value of (c), said step B41 is performed; otherwise, step B41 is performed directly.
The update location record specifically includes: the positions occupied by the generated polynomial are removed from the available position records. The position is the distance between any two non-zero elements in the polynomial.
The step C of deriving a generator matrix of the LDPC code according to the generated L cyclic sub-matrices includes: according to the formula <math> <mrow> <mi>G</mi> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>I</mi> </mtd> <mtd> <mfenced open='' close=''> <mtable> <mtr> <mtd> <msub> <mi>G</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mrow> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced> </mrow> </math> The generator matrix G is calculated, wherein, G k = ( A L - 1 A k ) T , k = 1 . . L - 1 , i denotes an identity matrix, ALFor a generated invertible subcycle matrix, AkTo remove said invertible sub-circulant matrix ALOther L-1 sub-circulant matrices, operators ()TRepresenting a transpose operation of the matrix.
According to another aspect of the present invention, the low density parity check LDPC encoding apparatus comprises:
l-1 cyclic shift registers with the length of m, wherein L and m are both natural numbers;
l-1 m input binary adders in one-to-one correspondence with the cyclic shift registers and connected with the cyclic shift registers;
and an L-1 input binary adder connected to the L-1 m input binary adders having as input the output of the L-1 m input binary adders.
And the connection relation between the m input ends of the L-1 m input binary adders and the m bit output ends of the corresponding cyclic shift registers is determined by a generating matrix of the LDPC code.
Wherein the L-1 m-input binary adders and the L-1 input binary adder are realized by an exclusive-OR logic gate circuit.
According to another aspect of the present invention, the present invention further provides a method for generating a parity check matrix of a low density parity check LDPC code, wherein the parity check matrix consists of L cyclic submatrices, and L is a natural number, the method comprising: and sequentially generating L cyclic sub-matrixes according to the code length of the LDPC code and the number L of the cyclic sub-matrixes, and deducing a parity check matrix of the LDPC code according to the generated L cyclic sub-matrixes, so that the minimum cycle length of the parity check matrix is larger than 4 and the maximum minimum Hamming distance is obtained.
The method for sequentially generating the L cyclic sub-matrixes comprises the following steps:
a. determining the number w of non-zero elements in the polynomial representing the reversible cyclic submatrix according to the code length of the LDPC code and the determined number L of the cyclic submatrix0
b. According to the number w of non-zero elements0Is randomly selected according to available non-zero element position records01 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
c. Calculating polynomial
Figure C20061007608200122
B, judging the distance between any two non-zero elements, judging whether the calculated distance is reused, if so, indicating that the minimum circle length of the parity check matrix is less than or equal to 4, and then returning to the step b to regenerate the polynomial; otherwise, obtaining a cyclic sub-matrix through cyclic shift according to the polynomial generated in the step, then updating the position record according to the position of the nonzero element in the polynomial, and returning to the step b to continue generating the next cyclic sub-matrix until all L cyclic sub-matrices are generated.
In generating a sub-polynomial, further comprising: setting an attempt number counter, and setting the initial value of the attempt number counter to be 1; before each step b, adding 1 to the counter of the number of attempts, judging whether the counter value of the number of attempts exceeds a preset upper limit value, and if so, indicating the number w of the non-zero elements0Is too high, and the number w of the non-zero elements is set0After subtracting 1, executing the step b; otherwise, directly executing step b.
The determination in the step a represents theNumber w of non-zero elements in polynomial of reversible circulant submatrix0The method comprises the following steps: according to the formula <math> <mrow> <mi>L</mi> <msubsup> <mi>C</mi> <mi>w</mi> <mn>2</mn> </msubsup> <mo>&le;</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> <mi>L</mi> </mrow> </math> Calculating the maximum integer w meeting the requirement of the formula, and if the calculated w is an even number, making w0W + 1; otherwise, let w0=w。
The position is the distance between any two nonzero elements in the polynomial; step c, updating the position record specifically comprises: the distance between any two non-zero elements in the generated polynomial is removed from the available distance record between any two non-zero elements.
The generated L cyclic sub-matrixes comprise at least one reversible cyclic sub-matrix; in the process of generating the reversible cyclic sub-matrix, after the step c determines that the distance between the non-zero elements is not reused, the method further includes: judging whether a sub-cyclic matrix obtained by the polynomial cyclic shift is full rank, if so, obtaining a cyclic sub-matrix through cyclic shift according to the polynomial generated in the step, and then updating the position record of the non-zero element according to the position of the non-zero element in the polynomial; otherwise, returning to the step b, and regenerating the reversible cyclic submatrix.
Therefore, the LDPC coding method and the coding device can obtain the following beneficial effects:
1. the generated LDPC code generating matrix has a pseudo cyclic shift structure, so that LDPC coding can be realized through a shift register without using a complex multiplication operation circuit, thereby meeting the requirements of high speed, high efficiency and low coding complexity;
2. the parity check matrix of the LDPC code constructed by the method and the device of the invention gives consideration to the requirements of the minimum circle length and the minimum Hamming distance, and can obtain larger minimum Hamming distance while avoiding the circle 4 circulation, thereby improving the error rate performance of the code.
Drawings
FIG. 1 is a flow chart of LDPC code encoding according to a preferred embodiment of the present invention;
FIG. 2 is a flow chart of a method for randomly generating a invertible polynomial according to a preferred embodiment of the present invention;
FIG. 3 is a flow chart of a method for randomly generating a sub-polynomial according to a preferred embodiment of the present invention;
FIG. 4 is a schematic diagram of the internal structure of an LDPC code encoding apparatus according to a preferred embodiment of the present invention;
FIG. 5 shows the error rate performance of the LDPC code under belief propagation decoding algorithm and Min-Sum decoding algorithm and the error rate performance of the commonly used RS (255, 239) code calculated under the fiber channel model.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and examples.
The basic requirement of LDPC encoding of information bits to be transmitted is to meet the requirement of error rate performance of application systems, such as communication systems and magnetic storage systems, and also to meet the requirements of coding and decoding complexity, cost, and the like. The error rate performance of the LDPC code is usually affected by a plurality of factors, wherein two important factors are the minimum circle length and the minimum hamming distance of the parity check matrix corresponding to the LDPC code. Therefore, an important aspect of designing an LDPC code is to construct an appropriate parity check matrix H such that its minimum round length and minimum hamming distance satisfy certain requirements. It is known that to achieve correct LDPC decoding, the minimum cycle length of the parity check matrix of an LDPC code is typically required to be greater than 4, while the larger its minimum hamming distance is, the better.
In a preferred embodiment of the present invention, a method for generating a parity check matrix is provided, which ensures that the requirements of minimum circle length and minimum hamming distance can be simultaneously considered when generating the parity check matrix, so as to obtain an LDPC code with very good performance.
First, it is specified that the parity check matrix H of the LDPC code constructed by the method of the present embodiment has a structure as shown in the following formula (2):
H=[A1A2...AL] (2)
the parity check matrix H is characterized in that: it is composed of L cyclic sub-matrixes A with same sizeiWherein i 1.. L, and L is a natural number. The LDPC Code represented by such a parity check matrix H is a pseudo-Cyclic LDPC (QC-LDPC) Code. Wherein each cyclic sub-matrix AiIt has the feature of cyclic shift, that any one row or any one column thereof can be cyclically shifted by the previous row or column. For example, the matrix a of the following formula (3) is a cyclic matrix, each row and each column of which has two and only two non-zero elements, and any row of which can be obtained by cyclic shifting a previous row, and any column of which can be obtained by cyclic shifting a previous column. It is clear that a circulant matrix can be determined completely by cyclic shifting as long as the first row or column of the circulant matrix is known.
A = 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 - - - ( 3 )
For the above reasons, the circulant matrix can also be described by a polynomial method, such as circulant matrix A shown in formula (3), and the polynomial method for the first row thereof can be expressed as x0+x2=1+x2Where the exponential coefficient of x represents the position of the non-zero element, where the non-zero element is in the zeroth and second bits, respectively. According to the characteristics of the circulant matrix, the Dth row of the circulant matrix A can pass through the p-polynomial 1+ x2The cyclic shift is performed to obtain, since the cyclic length is 6, the D-th row of the cyclic matrix a can be represented as xD(1+x2)=xD+xD+2mod(x6-1)。
As can be seen from the above description, since each circulant matrix can be described by means of a polynomial, the parity check matrix H of the QC-LDPC code as shown in formula (2) can be represented by L polynomials, where each polynomial represents the first row of one circulant sub-matrix included in the parity check matrix H.
As described above, in order to ensure the error rate performance of the designed LDPC code, it is necessary to ensure that the minimum circle length and the minimum hamming distance of the parity check matrix H of the LDPC code meet certain requirements.
The basic requirement of the LDPC code for the minimum circle length of its parity check matrix H is to require the minimum circle length to be greater than 4, i.e., to avoid the occurrence of circle 4 cycles. For convenience of description, a distance between any two nonzero elements in a polynomial is first defined as Dist (a, b) ═ min (| a-b |, m- | a-b |), wherein a and b are positions of any two nonzero elements in the polynomial respectively, and m is a cycle length of the polynomial. For example, the circulant polynomial corresponding to the circulant matrix a shown in formula (3) is 1+ x2It has two non-zero elements at positions 0 and 2, respectively, and the polynomial has a cycle length m of 6, so that the distance between these two non-zero elements is found to be 2 by calculation. Those skilled in the art can demonstrateFor all polynomials forming the QC-LDPC code, if the distances between the non-zero elements of the polynomials are not repeated, the QC-LDPC code obtained by cyclic shifting the polynomials can avoid the existence of cycle 4, thereby ensuring that the minimum cycle length of the generated parity check matrix is greater than 4. The constraint that the distances between non-zero elements of all polynomials making up a QC-LDPC code do not repeat is referred to herein as a distance constraint. As can be seen from the above analysis, the parity check matrix H of the LDPC code generated in the preferred embodiment of the present invention must satisfy the above distance constraint condition.
In addition, in order to ensure the error rate performance of the LDPC code, it is required that the greater the minimum hamming distance of the parity check matrix H of the LDPC code, the better, corresponding to the requirement of the minimum hamming distance. If the number of the non-zero elements in the L polynomials forming the parity check matrix H corresponding to the QC-LDPC code is assumed to be wiL, the parity check matrix H may prove that if there are two or more polynomials with a non-zero element number w in the L polynomials included in the parity check matrix H, the minimum hamming distance of the parity check matrix H is less than or equal to 2 w.
As can be seen, the minimum hamming distance of the parity check matrix H can be increased by increasing the number of non-zero elements in the polynomial included in the parity check matrix H. However, as the number of non-zero elements in the polynomial constituting the parity check matrix H increases, more non-repeating distances between non-zero elements will be required, and thus it will be more difficult to satisfy the aforementioned distance constraint. Therefore, while increasing the number of non-zero elements, it is necessary to ensure that the distance constraint described above is satisfied. As can be shown by those skilled in the art, for a polynomial with the number of non-zero elements w, the distance between the non-zero elements of the polynomial is Cw 2And (4) respectively. Thus, if it is required that the distances between non-zero elements of the parity check matrix H shown in formula (2) are not repeated, the following formula (4) must be satisfied, and the constraint of formula (4) is referred to as a minimum hamming distance constraint herein:
<math> <mrow> <mi>L</mi> <msubsup> <mi>C</mi> <mi>w</mi> <mn>2</mn> </msubsup> <mo>&le;</mo> <mi>n</mi> <mo>/</mo> <mn>2</mn> <mi>L</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow> </math>
where n/2L represents half the length of each cyclic sub-matrix.
From the minimum hamming distance constraint, an upper limit on the number of non-zero elements of the polynomial that can be used in the construction of the QC-LDPC code can be obtained, and thus the upper limit can be used as an initial value for searching for the number of non-zero elements of the sub-polynomial that satisfies the distance constraint.
As can be seen from the above description, in order to ensure the error rate performance of the LDPC code, the distance constraint condition and the minimum hamming distance constraint condition need to be considered when generating the parity check matrix H corresponding to the LDPC code. That is, if the generated parity check matrix H satisfies the above distance constraint condition and has the smallest hamming distance as large as possible, it can be ensured that the designed LDPC code has good error rate performance.
As is apparent from the foregoing description, after a parity check matrix H of an LDPC code is generated, a generator matrix G of the LDPC code corresponding to the parity check matrix H can be derived from the generated parity check matrix H, thereby performing LDPC encoding by the generator matrix G. However, although the generated parity check matrix H is generally sparse, the generated matrix G derived from the parity check matrix H is generally non-sparse, and thus the matrix multiplication operation in LDPC encoding is generally a computationally expensive operation. Therefore, the preferred embodiment of the present invention particularly provides a method for deriving the generator matrix G from the parity check matrix H, which can greatly reduce the complexity of LDPC coding using the generator matrix G.
Assuming that one of the cyclic sub-matrices included in the parity check matrix H defined by equation (2) is invertible, let A beLReversible and its inverse matrix is AL -1Then, the generator matrix G of the QC-LDPC code represented by the parity check matrix H can be calculated by the following formula (5):
<math> <mrow> <mi>G</mi> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>I</mi> </mtd> <mtd> <mfenced open='' close=''> <mtable> <mtr> <mtd> <msub> <mi>G</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mrow> <mi>L</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein, G k = ( A L - 1 A k ) T , k = 1 . . L - 1 , i denotes an identity matrix. By the above method, although from sparse matrix AkThe resulting matrix GkNot necessarily a sparse matrix, but every GkStill all are cyclic matrices, so the multiplication operation of the generated matrix G obtained by formula (5) and the information sequence to be transmitted can be directly realized by a cyclic shift register without a large number of multiplication operations, thereby greatly reducing the calculation amount of the LDPC code and reducing the complexity of the LDPC code.
A preferred embodiment of the present invention provides an LDPC encoding method by the method of generating a parity check matrix given above and the method of deriving a generator matrix from the parity check matrix. The method mainly comprises the following steps as shown in figure 1:
A. determining the number L of cyclic sub-matrixes needed by the generated parity check matrix according to the coding efficiency preset by the communication system;
in this step, the specific method for determining the number of the cyclic submatrices is as follows: according to the requirement of code efficiency 1-epsilon, wherein epsilon is the redundancy of the LDPC code, the number L of the needed cyclic sub-matrixes is calculated so as to meet the conditionWherein the operator
Figure C20061007608200182
Indicating a ceiling operation. It can be seen that the larger the number of cyclic sub-matrices, the higher the code efficiency, but at the same time, the smaller the minimum hamming distance of the generated parity check matrix.
B. And determining the cycle length m of each cycle sub-matrix according to the code length of the LDPC code and the determined number of the cycle sub-matrices.
The specific method for determining the cycle length m of each cyclic sub-matrix in the step is as follows: and setting the code length of the LDPC code as n, setting the number of the cyclic sub-matrixes as L, and calculating the cyclic length m of each cyclic sub-matrix by adopting a formula m as n/L.
C. Setting one of the cyclic sub-matrices as a reversible cyclic sub-matrix, and determining the number w of non-zero elements in a polynomial representing the reversible cyclic sub-matrix according to the code length of the LDPC code and the determined number of the cyclic sub-matrices0
In this step, the number w of non-zero elements is determined0The specific method comprises the following steps: calculating the maximum integer w satisfying the requirement of the formula according to the formula (4), and if the calculated w is an even number, making w0W + 1; otherwise, let w0W. Wherein, when the calculated w is even, let w0The reason for w +1 is that it can be proved that when the number of non-zero elements of the polynomial representing one circulant matrix is an even number, the circulant matrix generated by cyclic shift cannot be reversible.
D. According to the cycle length m of each cyclic sub-matrix and the determined number w of non-zero elements0And constructing a reversible sub-polynomial which meets a distance constraint condition, and generating a reversible sub-cyclic matrix according to the reversible sub-polynomial.
The construction of the reversible sub-polynomial meeting the distance constraint condition in the step can be realized by an algebraic method or a random method, and analysis shows that when the minimum circle length of the generated sub-cyclic matrix is 6 and the minimum Hamming distance is the same, the performance difference of the QC-LDPC codes generated by different methods is not large.
In this embodiment, a method for randomly generating a reversible polynomial is specifically described, and with reference to fig. 2, the method mainly includes:
d1, according to the number w of non-zero elements0Is randomly selected from m-1 integers of 1 to m-101 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C20061007608200191
In this step, an attempt number counter is further set, the attempt number counter is set to 1 when step D1 is executed for the first time, and thereafter, before each execution of step D1, the attempt number counter is first incremented by 1, and it is determined whether the attempt number counter value exceeds a preset upper limit value, and if so, it indicates that the number w of non-zero elements is present0If the requirement (f) is too high, the number w of the non-zero elements is reduced0After the value of (d), i.e. the number w of said non-zero elements0After subtracting 1, the polynomial is reconstructed. It should be noted that, since the sub-circulant matrix generated in step D needs to be a reversible circulant matrix, the number w of non-zero elements0Cannot be an even number.
D2, calculating polynomial
Figure C20061007608200192
The distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step D1 is returned, and the polynomial is regenerated; otherwise, step D3 is performed.
D3, judging whether the sub-cyclic matrix obtained by the polynomial cyclic shift is full rank, if so, updating the position record and ending; otherwise, returning to step D1, the polynomial is regenerated.
The step of updating the location record specifically includes: the positions occupied by the generated polynomial are removed from the available position records. The position may specifically be expressed as a distance between any two non-zero elements in the polynomial. The main purpose of updating the location record is to ensure that the distance between any two non-zero elements in all the generated polynomials is not repeated to satisfy the distance constraint.
In this step, the purpose of determining whether the sub-cyclic matrix obtained by the polynomial cyclic shift is full rank is to determine whether the sub-cyclic matrix is invertible, and if so, it is determined that the sub-cyclic matrix is invertible.
E. And sequentially generating other L-1 sub-polynomials meeting the distance constraint condition, and obtaining L-1 sub-cyclic matrixes according to the L-1 sub-polynomials.
The method for generating the sub-polynomials in this step is similar to the method described in the above steps D1-D3, and the specific method is shown in fig. 3, which mainly includes:
e1 according to the number w of non-zero elements0According to the available position records, randomly selecting w01 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C20061007608200201
In this step, a counter of the number of attempts is further set, the counter of the number of attempts is set to 1 when step E1 is performed for the first time, thereafter, the counter of the number of attempts is first incremented by 1 before each step E1 is performed, and it is determined whether the counter value of the number of attempts exceeds a preset upper limit value, and if so,then the number w of said non-zero elements is indicated0If the requirement (f) is too high, the number w of the non-zero elements is reduced0After the value of (d), i.e. the number w of said non-zero elements0After subtracting 1, the polynomial is reconstructed.
E2, calculating polynomial
Figure C20061007608200202
The distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step E1 is returned, and the polynomial is regenerated; otherwise, the location record is updated and ended.
F. And D, deducing a generating matrix G of the LDPC code by a formula (5) according to the L subcycles obtained in the steps D and E.
And (3) directly obtaining a parity check matrix H for representing the LDPC code according to the L sub-cyclic matrixes and the formula (2).
H. And performing LDPC coding on the information bit x to be transmitted according to the generating matrix G to obtain a bit sequence y to be transmitted, and transmitting the bit sequence y to a receiving end of a communication system through a communication channel.
The decoding of the bit sequence y at the receiving end of the communication system can be realized by adopting the existing decoding method.
In order to realize the LDPC coding method, the invention also provides an LDPC coding device, and the internal structure of the LDPC coding device is shown in FIG. 4.
The LDPC encoding apparatus described in this embodiment mainly includes: l-1 cyclic shift registers with length m, L-1 m input binary adders in one-to-one correspondence with the cyclic shift registers and connected to the cyclic shift registers, and an L-1 input binary adder connected to the L-1 m input binary adders and taking the output of the L-1 m input binary adders as input. Wherein, each cyclic shift register and m-input binary adder which are in one-to-one correspondence and connected with each other and a sub-cyclic matrix GkL-1, one for one. In addition, the connection relationship between the input ends of the L-1 m-input binary adders and the m-bit output ends of the corresponding cyclic shift registers is determined by the corresponding sub-cyclic matrix GkTo be determined. In particular, by characterizing the cyclic sub-matrix GkIs determined by the position of the non-zero element of the polynomial, i.e. the output of the cyclic shift register is connected to the corresponding input of the m-input binary adder at the position of the corresponding non-zero element; at the position corresponding to the zero element, the connection between the output terminal of the cyclic shift register and the corresponding input terminal of the m-input binary adder does not need to be established. For example, if the circulant sub-matrix G is characterizedkIs 1+ x2Then only the 0 th and 2 nd outputs of the circular shift register need be connected to their corresponding 0 th and 2 nd inputs of the m-input binary adder without further connections.
The LDPC encoding device with the structure can perform LDPC encoding, and the specific encoding process is as follows:
suppose the information sequence to be encoded is XSThe length is m × (L-1). The information sequence is to be used as an input sequence of the LDPC encoding device to be subjected to LDPC encoding, and the bit sequence output by the LDPC encoding device is (X)S,XP) Wherein X isPThe redundant bits generated for encoding have a length of m.
Firstly, the information sequence X is divided intoSDividing the cyclic shift register into L-1 sections, and respectively and simultaneously inputting the sections into the L-1 cyclic shift registers for segmented cyclic shift;
and when each cyclic shift is carried out by one bit, the m input binary adder corresponding to each cyclic shift register outputs a binary sum, the output of the binary sum is directly input into the L-1 input binary adder, and the L-1 input binary adder outputs a redundant bit. When cyclically shifting m bits, namely cyclically shifting one week, the L-1 input binary adder outputs m redundant bits, wherein the m redundant bits are XP
It can be seen from this that, when LDPC coding is performed by the LDPC coding apparatus, LDPC coding can be realized by only cyclic shift and binary addition, and the binary adder can be realized very simply, for example, by an exclusive or gate. Therefore, the LDPC encoding device can fully embody the advantage of low encoding complexity of the LDPC encoding, thereby meeting the encoding requirements of high speed, high efficiency and low encoding complexity.
To better illustrate the performance of the LDPC coding according to the preferred embodiment of the present invention, the following description is made with reference to the Reed-Solomon (RS, Reed-Solomon) code, which is a forward error correction coding commonly used in the optical fiber communication system. The RS code commonly used in fiber optic communication systems is RS (255, 239), with a code length of 2040 and a coding efficiency of 93.7%. Now, according to the LDPC coding method according to the preferred embodiment of the present invention, a QC-LDPC code with the same coding efficiency is constructed, the code length thereof is 4080, and the parity check matrix thereof has 16 cyclic sub-matrices. Through the design of the method according to the preferred embodiment of the present invention, it can be obtained that the number of non-zero elements of the reversible polynomial in the sub-polynomial of the 16 cyclic sub-matrices included in the parity check matrix is 5, and the number of non-zero elements of other polynomials is 5 or 4, so that the minimum hamming distance of the LDPC code is 8. FIG. 5 shows the error rate performance of the LDPC code calculated under the fiber channel model under the belief propagation decoding algorithm and the Min-Sum decoding algorithm, as shown by the curves with X sign and + sign in FIG. 5, respectively; in addition, fig. 5 also includes the error rate performance of the conventional RS (255, 239) code, as shown by the circled curve in fig. 5. Wherein, the horizontal axis of fig. 5 is a Q value, which is a general parameter used for representing the quality of the received signal in the optical fiber communication system, wherein the larger the Q value is, the better the quality of the received signal is, the lower the error rate is, the smaller the Q value is, the worse the quality of the received signal is, the higher the error rate is; the vertical axis of fig. 5 represents the bit error rate. As can be seen from fig. 5, the LDPC coding method according to the preferred embodiment of the present invention can provide a coding gain of about 2dB compared to the RS (255, 239) code on the premise that the coding efficiency is substantially the same. Although the belief propagation decoding algorithm has better performance, the Min-Sum decoding algorithm can greatly reduce the decoding complexity by sacrificing about 0.2dB of coding gain, and is easier to implement in a circuit.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (18)

1. A Low Density Parity Check (LDPC) encoding method, comprising:
A. determining the number L of cyclic sub-matrixes needed by the generated parity check matrix according to the coding efficiency preset by the communication system, wherein L is a natural number;
B. generating L cyclic sub-matrixes according to the code length of the LDPC code and the number L of the cyclic sub-matrixes, and ensuring that at least one cyclic sub-matrix is a reversible cyclic sub-matrix;
C. deducing a generating matrix of the LDPC code according to the L generated cyclic sub-matrixes, and performing LDPC coding on information bits to be transmitted according to the generating matrix to obtain a bit sequence to be transmitted;
wherein, the number L of cyclic sub-matrices required for determining the generated parity check matrix in step a is:
let epsilon be the redundancy of LDPC code according to the formula
Figure C2006100760820002C1
Calculating the number L of required cyclic sub-matrices, wherein the operator
Figure C2006100760820002C2
Represents a ceiling operation;
the step B of generating L cyclic sub-matrices includes:
b1, determining the cycle length of each cycle sub-matrix according to the code length of the LDPC code and the determined number of the cycle sub-matrices;
b2, setting one of the cyclic sub-matrixes as a reversible cyclic sub-matrix, and determining the number w of non-zero elements in a polynomial representing the reversible cyclic sub-matrix according to the code length of the LDPC code and the determined number L of the cyclic sub-matrixes0
B3, determining the number w of non-zero elements according to the cycle length of each cyclic sub-matrix0Constructing a reversible sub-polynomial which meets a distance constraint condition, and generating a reversible sub-cyclic matrix according to the reversible sub-polynomial;
and B4, sequentially generating other L-1 sub-polynomials meeting the distance constraint condition, and obtaining L-1 sub-cyclic matrices according to the L-1 sub-polynomials.
2. LDPC coding method according to claim 1, characterized in that the step of determining the cycle length of each cyclic sub-matrix of step B1 comprises: and setting the code length of the LDPC code as n, and calculating the cycle length m of each cycle sub-matrix by adopting a formula m as n/L.
3. According to claim 1The LDPC encoding method is characterized in that the determination of the number w of non-zero elements in the polynomial representing the reversible cyclic submatrix in step B20Comprises the following steps: let the code length of LDPC code be n according to formula
Figure C2006100760820003C1
Calculating the maximum integer w meeting the requirement of the formula, and if the calculated w is an even number, making w0W + 1; otherwise, let w0=w。
4. LDPC coding method according to claim 1, characterized in that the step B3 of constructing a invertible polynomial satisfying a distance constraint comprises:
b31 according to the number w of non-zero elements0Is randomly selected from m-1 integers of 1 to m-101 different integers a1, a 2.., aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C2006100760820003C2
B32 calculating the polynomialThe distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step B31 is returned, and the polynomial is regenerated; otherwise, go to step B33;
b33, judging whether the sub-cyclic matrix obtained by the polynomial cyclic shift is full rank, if so, updating the position record according to the position of the nonzero element in the polynomial generated in the step and ending; otherwise, return to step B31 to regenerate the polynomial.
5. LDPC encoding method according to claim 4, further comprising, before step B31: setting a counter of the number of attempts;
setting the number of attempts counter to 1 when step B31 is first performed;
after the first time, before each time step B31 is executed, adding 1 to the counter of the number of attempts, and judging whether the counter value of the number of attempts exceeds a preset upper limit value, if so, indicating the number w of the non-zero elements0Is too high, and the number w of the non-zero elements is reduced0After subtracting 1, the step B31 is executed again; otherwise, step B31 is performed directly.
6. LDPC coding method according to claim 1, characterized in that the step B4 of generating further sub-polynomials fulfilling the distance constraint comprises:
b41 according to the number w of non-zero elements0According to the available position records, randomly selecting w01 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C2006100760820003C4
B42, calculating polynomialThe distance between any two non-zero elements is judged, whether the calculated distance is reused or not is judged, if yes, the step B41 is returned, and the polynomial is regenerated; otherwise, the position record is updated according to the position of the nonzero element in the polynomial generated in the step.
7. LDPC encoding method according to claim 6, further comprising, before step B41: setting a counter of the number of attempts;
setting the number of attempts counter to 1 when step B41 is first performed;
after the first time, each time before step B41 is performed, the number of attempts counter is incremented by 1,and judging whether the counter value of the trial times exceeds a preset upper limit value, if so, indicating the number w of the non-zero elements0Is too high, and the number w of the non-zero elements is reduced0After subtracting 1, the step B41 is executed again; otherwise, step B41 is performed directly.
8. LDPC encoding method according to claim 4 or 6, wherein the update location record is in particular: the positions occupied by the generated polynomial are removed from the available position records.
9. LDPC coding method according to claim 8, wherein the position is a distance between any two non-zero elements of the polynomial.
10. LDPC encoding method according to claim 1 wherein the step of deriving a generator matrix of the LDPC code from the generated L cyclic sub-matrices of step C comprises:
according to the formula
Figure C2006100760820004C2
The generator matrix G is calculated, wherein,
Figure C2006100760820004C3
L-1I denotes a unit matrix, aLFor a generated invertible subcycle matrix, AkTo remove said invertible sub-circulant matrix ALOther L-1 sub-circulant matrices, operators ()TRepresenting a transpose operation of the matrix.
11. A low density parity check, LDPC, encoding apparatus comprising:
l-1 cyclic shift registers with the length of m, wherein L and m are both natural numbers;
l-1 m input binary adders in one-to-one correspondence with the cyclic shift registers and connected with the cyclic shift registers;
and an L-1 input binary adder connected to the L-1 m input binary adders having as input the output of the L-1 m input binary adders.
12. The LDPC encoding apparatus of claim 11, wherein the connection relationship between the m input terminals of the L-1 m-input binary adders and the m-bit output terminals of their corresponding cyclic shift registers is determined by a generator matrix of the LDPC code.
13. The LDPC encoding apparatus of claim 11 or 12, wherein the L-1 m-input binary adders and the L-1 input binary adder are implemented by an exclusive or logic gate circuit.
14. A method for generating a parity check matrix of a Low Density Parity Check (LDPC) code, wherein the parity check matrix comprises L cyclic sub-matrices, and L is a natural number, the method comprising:
sequentially generating L cyclic sub-matrixes according to the code length of the LDPC code and the number L of the cyclic sub-matrixes, and deducing a parity check matrix of the LDPC code according to the generated L cyclic sub-matrixes, so that the minimum circle length of the parity check matrix is larger than 4 and the maximum minimum Hamming distance is obtained;
the determination method of L comprises the following steps: let epsilon be the redundancy of LDPC code according to the formula
Figure C2006100760820005C1
Calculating the number L of required cyclic sub-matrices, operator
Figure C2006100760820005C2
Represents a ceiling operation;
the method for sequentially generating the L cyclic sub-matrixes comprises the following steps:
a. according to the code length of LDPC code and determined cyclic sub-momentThe number L of the matrix determines the number w of non-zero elements in the polynomial representing the invertible circulant sub-matrix0
b. According to the number w of non-zero elements0Is randomly selected according to available non-zero element position records01 different integers a1, a22,...,aw0-1 as position of the non-zero element, plus position 0, forming a polynomial
Figure C2006100760820005C3
c. Calculating polynomial
Figure C2006100760820005C4
B, judging the distance between any two non-zero elements, judging whether the calculated distance is reused, if so, indicating that the minimum circle length of the parity check matrix is less than or equal to 4, and then returning to the step b to regenerate the polynomial; otherwise, obtaining a cyclic sub-matrix through cyclic shift according to the polynomial generated in the step, then updating the position record according to the position of the nonzero element in the polynomial, and returning to the step b to continue generating the next cyclic sub-matrix until all L cyclic sub-matrices are generated.
15. The method for generating a parity check matrix of an LDPC code according to claim 14, wherein in generating a sub-polynomial, further comprising:
setting an attempt number counter, and setting the initial value of the attempt number counter to be 1;
before each step b, adding 1 to the counter of the number of attempts, judging whether the counter value of the number of attempts exceeds a preset upper limit value, and if so, indicating the number w of the non-zero elements0Is too high, and the number w of the non-zero elements is set0After subtracting 1, executing the step b; otherwise, directly executing step b.
16. The method for generating parity check matrix of LDPC code according to claim 14, wherein the determining of the number w of non-zero elements in the polynomial representing the reversible cyclic submatrix in step a0The method comprises the following steps: according to the formula
Figure C2006100760820006C1
Calculating the maximum integer w meeting the requirement of the formula, and if the calculated w is an even number, making w0W + 1; otherwise, let w0=w。
17. The method of generating a parity check matrix for LDPC codes according to claim 14, wherein the position is a distance between any two non-zero elements in the polynomial;
step c, updating the position record specifically comprises: the distance between any two non-zero elements in the generated polynomial is removed from the available distance record between any two non-zero elements.
18. The method of generating a parity check matrix for LDPC codes according to claim 14, wherein the L cyclic sub-matrices generated include at least one reversible cyclic sub-matrix;
in the process of generating the reversible cyclic sub-matrix, after the step c determines that the distance between the non-zero elements is not reused, the method further includes: judging whether a sub-cyclic matrix obtained by the polynomial cyclic shift is full rank, if so, obtaining a cyclic sub-matrix through cyclic shift according to the polynomial generated in the step, and then updating the position record of the non-zero element according to the position of the non-zero element in the polynomial; otherwise, returning to the step b, and regenerating the reversible cyclic submatrix.
CN200610076082A 2006-04-27 2006-04-27 Low density parity check coding method, device and parity check matrix generating method Expired - Fee Related CN100592639C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610076082A CN100592639C (en) 2006-04-27 2006-04-27 Low density parity check coding method, device and parity check matrix generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610076082A CN100592639C (en) 2006-04-27 2006-04-27 Low density parity check coding method, device and parity check matrix generating method

Publications (2)

Publication Number Publication Date
CN101047391A CN101047391A (en) 2007-10-03
CN100592639C true CN100592639C (en) 2010-02-24

Family

ID=38771674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610076082A Expired - Fee Related CN100592639C (en) 2006-04-27 2006-04-27 Low density parity check coding method, device and parity check matrix generating method

Country Status (1)

Country Link
CN (1) CN100592639C (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366284B1 (en) * 2007-11-13 2014-02-20 엘지전자 주식회사 Method for generating block codes from Golay code and coding data, and Apparatus thereof
CN101453297B (en) * 2007-12-07 2010-12-01 中兴通讯股份有限公司 Encoding method and apparatus for low density generation matrix code, and decoding method and apparatus
CN101272223B (en) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 Decoding method and device for low-density generating matrix code
CN102868483A (en) 2011-07-06 2013-01-09 北京新岸线无线技术有限公司 Method and device for data transmission
WO2013004090A1 (en) * 2011-07-06 2013-01-10 北京新岸线无线技术有限公司 Method and device for transmitting data
CN104168029B (en) * 2013-05-16 2017-12-22 韩国电子通信研究院 Low density parity check code for the broadcast of ground cloud
CN104410426B (en) * 2014-09-18 2017-10-13 北京航空航天大学 A kind of building method of Non-Binary LDPC Coded and coding method
WO2018014249A1 (en) * 2016-07-20 2018-01-25 华为技术有限公司 Method and device for generating low-density parity-check code basis matrix
US10998922B2 (en) * 2017-07-28 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. Turbo product polar coding with hard decision cleaning
CN110011755B (en) * 2018-01-05 2021-10-19 中兴通讯股份有限公司 LDPC coding method and device and data sending method and device
CN111740747B (en) * 2020-07-16 2023-10-31 周口师范学院 Construction method of low-rank cyclic matrix and associated multi-element LDPC code

Also Published As

Publication number Publication date
CN101047391A (en) 2007-10-03

Similar Documents

Publication Publication Date Title
CN100592639C (en) Low density parity check coding method, device and parity check matrix generating method
US8291283B1 (en) Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
CN103888148B (en) A kind of LDPC code Hard decision decoding method of dynamic threshold bit reversal
JP5199463B2 (en) Turbo LDPC decoding
CN107370490B (en) Method and device for encoding and decoding structured LDPC (Low Density parity check)
US11784668B2 (en) Decoding fec codewords using ldpc codes define by a parity check matrix which is defined by rpc and qc constraints
US7774689B2 (en) Encoding and decoding methods and systems
US8341489B2 (en) Permuted accelerated LDPC (Low Density Parity Check) decoder
US10103751B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
US20120221914A1 (en) Non-Concatenated FEC Codes for Ultra-High Speed Optical Transport Networks
CN101459430B (en) Encoding method and apparatus for low density generation matrix code
CN105075128A (en) Design for lifted ldpc codes having high parallelism, low error floor, and simple encoding principle
WO2006020495A1 (en) Method and apparatus for encoding and decoding data
CN102394660A (en) Coding method of block interleaving quasi-cyclic extension parallel coded LDPC (Low Density Parity Check) codes and coder
CN107919874A (en) Basic code check node processing for the decoded syndrome computation of nonbinary LDPC code
CN109120374B (en) Quasi-cyclic low-density parity check code design method and device
WO2007092672A2 (en) Method and apparatus for encoding and decoding data
CN110730008A (en) RS code belief propagation decoding method based on deep learning
CN102142929B (en) Forward error correction method, device and system
JP5523064B2 (en) Decoding apparatus and method
EP3526899B1 (en) Decoding of low-density parity-check convolutional turbo codes
US20240120949A1 (en) Decoding fec codewords using ldpc codes defined by a parity check matrix which is defined by rpc and qc constraints
CN116436472A (en) Coding method and device of low-density parity check code
Mansoor et al. A Short Length Low Complexity Low Delay Recursive LDPC Code

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100224

Termination date: 20160427