GENERALIZED LOW-DENSITY PARITY CHECK CODES (GLDPC)
20200153457 ยท 2020-05-14
Inventors
- Vasily Stanislavovich Usatyuk (Moscow, RU)
- Nikita Andreevich Polianskii (Moscow, RU)
- Ilya Viktorovich Vorobyev (Moscow, RU)
- Vladimir Anatolyevich Gaev (Moscow, RU)
- German Viktorovich Svistunov (Moscow, RU)
- Mikhail Sergeevich Kamenev (Moscow, RU)
- Yulia Borisovna Kameneva (Moscow, RU)
Cpc classification
H03M13/036
ELECTRICITY
H03M13/1174
ELECTRICITY
H03M13/1182
ELECTRICITY
International classification
Abstract
Provided is a system and method for determining a generalized LDPC code for forward error correction channel coding that has a repeat-accumulate code structure.
Claims
1. A system for determining a generalized LDPC code for forward error correction channel coding, the system being configured to: determine 2 k parity check matrix columns of size k; label components of a first parity check matrix with n columns and k rows, wherein the first parity check matrix includes the 2 k parity check matrix columns of size k; and select Cordaro-Wagner component code check matrices, wherein each of the selected Cordaro-Wagner component code check matrices has two rows which replace one row of the first parity check matrix to derive a second parity check matrix defining the generalized LDPC code; wherein the determining of the 2 k parity check matrix columns of size k and the selecting of the Cordaro-Wagner component code check matrices are constrained to 2 k parity check matrix columns of size k and Cordaro-Wagner component code check matrices which allow that rows and columns of a parity part consisting of 2 k columns of the second parity check matrix which correspond to the 2 k parity check matrix columns of size k, can be brought in an order in which the ordered rows and columns form a parity part which has a repeat-accumulate code structure.
2. The system of claim 1, the system being configured to: split/duplicate each entry of the 2 k parity check matrix columns of size k into a vector of size two, wherein each vector of size two having a non-zero weight requires a corresponding non-zero entry, to determine the 2 k columns of the second parity check matrix which correspond to the 2 k parity check matrix columns of size k, and can be brought in an order in which the ordered rows and columns form a parity part which has a repeat-accumulate code structure.
3. The system of claim 2, the system being configured to: iteratively label components of n-k unlabeled columns of the first parity check matrix based on a performance measure.
4. The system of claim 1, the system being configured to: compare multiple alternatives for labelling different components of the n-k columns with non-zero entries; and select one alternative achieving a highest performance score.
5. The system of claim 1, wherein a column of the Cordaro-Wagner component code check matrix is to have zero weight if a corresponding component of the row of the first parity check matrix is zero.
6. The system of claim 1, wherein each of the 2 k parity check matrix columns of size k has weight one or two.
7. The system of claim 6, wherein k-1 parity check matrix columns of size k of the 2 k parity check matrix columns of size k have a weight of one and the remaining parity check matrix columns of size k of the 2 k parity check matrix columns of size k have weight two.
8. The system of claim 7, wherein the 2 k parity check matrix columns of size k are linearly independent.
9. The system of claim 1, wherein selecting the Cordaro-Wagner component code check matrices includes replacing each non-zero entry in a row of the first parity check matrix with a non-zero column of a Cordaro-Wagner component code check matrix, wherein: a row having exactly three non-zero entries in components which correspond to the 2 k parity check matrix columns, is replaced with a Cordaro-Wagner component code check matrix having columns which correspond to the 2 k parity check matrix columns, wherein said columns are linearly independent; and a row having exactly four non-zero entries in components which correspond to the 2 k parity check matrix columns is replaced with a Cordaro-Wagner component code check matrix having columns which correspond to the 2 k parity check matrix columns, wherein three of said columns are linearly independent.
10. A method of determining a generalized LDPC code for forward error correction channel coding, the method comprising: determining 2 k parity check matrix columns of size k; labeling components of a first parity check matrix with n columns and k rows, wherein the first parity check matrix includes the 2 k parity check matrix columns of size k; and selecting Cordaro-Wagner component code check matrices, wherein each of the selected Cordaro-Wagner component code check matrices has two rows which replace a row of the first parity check matrix to derive a second parity check matrix defining the generalized LDPC code; wherein the determining of the 2 k parity check matrix columns of size k and the selecting of the Cordaro-Wagner component code check matrices are constrained to 2 k parity check matrix columns of size k and Cordaro-Wagner component code check matrices which allow that rows and columns of a parity part consisting of 2 k columns of the second parity check matrix which correspond to the 2 k parity check matrix columns of size k can be brought in an order in which the ordered rows and columns form a parity part which has a repeat-accumulate code structure.
11. The method of claim 10, the method comprising: splitting/duplicating each entry of the 2 k parity check matrix columns of size k into a vector of size two, wherein each vector of size two having a non-zero weight requires a corresponding non-zero entry, to determine the 2 k columns of the second parity check matrix which correspond to the 2 k parity check matrix columns of size k, and can be brought in an order in which the ordered rows and columns form a parity part which has a repeat-accumulate code structure.
12. The method of claim 11, comprising: iteratively labeling components of n-k unlabeled columns of the first parity check matrix based on a performance measure.
13. The method of claim 10, comprising: comparing multiple alternatives for labelling different components of the n-k columns with non-zero entries; and selecting one alternative achieving a highest performance score.
14. The method of claim 10, wherein a column of the Cordaro-Wagner component code check matrix has zero weight if a corresponding component of the row of the first parity check matrix is zero and/or each of the 2 k parity check matrix columns of size k has weight one or two; and/or the 2 k parity check matrix columns of size k are linearly independent.
15. The method of claim 10, wherein selecting the Cordaro-Wagner component code check matrices includes replacing each non-zero entry in a row of the first parity check matrix with a non-zero column of a Cordaro-Wagner component code check matrix, wherein: a row having exactly three non-zero entries in components which correspond to the 2 k parity check matrix columns, is replaced with a Cordaro-Wagner component code check matrix having columns which correspond to the 2 k parity check matrix columns, wherein said columns are linearly independent; and a row having exactly four non-zero entries in components which correspond to the 2 k parity check matrix columns is replaced with a Cordaro-Wagner component code check matrix having columns which correspond to the 2 k parity check matrix columns, wherein three of said columns are linearly independent.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0052]
[0053]
[0054]
[0055]
[0056]
DETAILED DESCRIPTION
[0057] The following provides a non-limiting example of a procedure for determining a GLDPC code for forward error correction. The procedure as well as procedures involving the usage of the determined GLDPC code may be implemented by hardware, software, or a combination of hardware and software. For example, the procedure of determining the GLDPC code may be automatically carried-out by a computer comprising a processor which carries out machine-readable instructions persistently stored on a machine-readable medium. Moreover, procedures involving the usage of the determined GLDP code, such as encoding/decoding an information sequence IS.sub.1 may be automatically carried-out by the system 10 which may have been designed or configured in accordance with the determined GLDPC code.
[0058] As shown in
[0059] At step 24, the procedure may be continued with labelling components of the first parity check matrix 30 with n columns and k rows, wherein the first parity check matrix 30 includes the 2 k parity check matrix columns of size k. As shown in
[0060] At step 26, Cordaro-Wagner component code check matrices may be selected, wherein each of the selected Cordaro-Wagner component code check matrices has two rows which replace a row of the first parity check matrix to derive a second parity check matrix defining the generalized LDPC code. For example, as indicated in step 36 of
[0061] As shown in in
may be chosen such that, after replacing the rows of the first parity check matrix with rows of a Cordaro-Wagner component code, an extended irregular repeat-accumulate (EIRA) code can be obtained.
[0062] Replacing may start at the first row of H.sub.2.sup.EIRA which has the following entries:
1 0 0 0 0 0 0 1 0 1
[0063] By replacing the entries with vectors of size two using
two rows of a generalized EIRA (GEIRA) code may be maintained, wherein the rows have the entries
TABLE-US-00001 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
[0064] The second row of the parity part H.sub.2.sup.EIRA which has
1 1 1 0 0 0 0 0 0 0
as entries may be replaced using
with another two rows of the GEIRA code having
TABLE-US-00002 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
as entries. The third row of the parity part H.sub.2.sup.EIRA which has
0 1 0 1 1 0 0 0 0 1
as entries may be replaced using
with another two rows of the GEIRA code having
TABLE-US-00003 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0
as entries. The fourth row of the parity part H.sub.2.sup.EIRA which has
0 0 0 1 0 1 1 0 0 0
as entries may be replaced using
with another two rows of the GEIRA code having
TABLE-US-00004 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
as entries. The fifth row of the parity part H.sub.2.sup.EIRA which has
0 0 0 0 0 1 0 1 1 0
as entries may be replaced using
with another two rows of the GEIRA code having
TABLE-US-00005 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
as entries. The parity part of the second parity check matrix may thus be
[0065] After reordering the columns in accordance with
and reordering the rows in accordance with
an EIRA structure may be obtained:
[0066] In this regard, it is noted that although the procedure is described in relation to a specific example of size 510, codes of other sizes may be generated analogously:
[0067] Heretofore: [0068] a. non-zero entries in a row of the parity part with three non-zero entries may be replaced by
respectively. [0069] b. non-zero entries in a row of the parity part with four non-zero entries may be replaced by
respectively. [0070] c. columns and rows may be reordered in accordance with
[0071] with s=
[0072] Once, the EIRA structure has been obtained, encoding may be performed as described in U.S. Pat. No. 7,627,801 B2 or in EP 1,816,750 A1.
[0073] Moreover, decoding may be performed as described in EP 1,816,750 A1.