Structured low-density parity-check (LDPC) code
Abstract
A method for constructing a low-density parity-check (LDPC) code using a structured base parity check matrix with permutation matrix, pseudo-permutation matrix, or zero matrix as constituent sub-matrices; and expanding the structured base parity check matrix into an expanded parity check matrix. A method for constructing a LDPC code using a structured base parity check matrix H=[Hd|Hp], Hd is the data portion, and Hp is the parity portion of the parity check matrix; the parity portion of the structured base parity check matrix is such so that when expanded, an inverse of the parity portion of the expanded parity check matrix is sparse; and expanding the structured base parity check matrix into an expanded parity check matrix. A method for encoding variable sized data by using the expanded LDPC code; and applying shortening, puncturing. System and method for operating a wireless device to encode data using low-density parity-check (LDPC) encoding is discussed. One example method includes: computing a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting the data; computing a number of shortening bits; distributing the number of shortening bits over the at least one LDPC codeword; computing a number of puncturing bits for the at least one LDPC codeword; distributing the number of puncturing bits over the at least one LDPC codeword; determining a criterion using at least one of the number of shortening bits and the number of puncturing bits; if the criterion is met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits; generating the encoded data using the number of shortening bits, the number of puncturing bits, and the at least one LDPC codeword; and transmitting the encoded data.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of low-density parity-check (LDPC) encoding data, comprising:
receiving input data from a data source; and applying the following expanded parity check matrix to the input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
32
52
55
80
95
22
6
51
−1
63
31
88
20
−1
−1
−1
6
40
66
16
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
2. A method of decoding low-density parity-check (LDPC) encoded data, comprising:
receiving encoded data from a data source; and applying the following expanded parity check matrix to the encoded data to generate decoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
3. Apparatus for low-density parity-check (LDPC) encoding data, comprising:
an input port operable to receive input data from a data source; and circuitry coupled to the input port and operable to apply the following expanded parity check matrix to the input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
4. Apparatus for low-density parity-check (LDPC) encoding data, comprising:
an input port operable to receive input data from a data source; and a matrix application element operable to apply the following expanded parity check matrix to the input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
5. Apparatus for low-density parity-check (LDPC) encoding data, comprising:
an input port operable to receive input data from a data source; and means for applying the following expanded parity check matrix to the input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
6. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:
an input port operable to receive encoded data from a data source; and circuitry coupled to the input port and operable to apply the following expanded parity check matrix to the encoded data to generate decoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
7. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:
an input port operable to receive encoded data from a data source; and a matrix application element operable to apply the following expanded parity check matrix to the encoded data to generate decoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
8. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:
an input port operable to receive encoded data from a data source; and means for applying the following expanded parity check matrix to the encoded data to generate decoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).
9. A telecommunications network, comprising:
an LDPC encoder operable to apply the following expanded parity check matrix to input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);
a transmitter operable to transmit the encoded data over a transmission medium;
a receiver operable to receive the transmitted encoded data; and
an LDPC decoder operable to apply said expanded parity check matrix to the encoded data to recover the input data.
10. A method of operating a telecommunications network, comprising:
applying the following expanded parity check matrix to input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);
transmitting the encoded data over a transmission medium;
receiving the transmitted encoded data; and
applying said expanded parity check matrix to the encoded data to recover the input data.
11. A transceiver, comprising:
an LDPC encoder operable to apply the following expanded parity check matrix to input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);
a transmitter operable to transmit the encoded data over a transmission medium;
a receiver operable to receive encoded data from the transmission medium; and
an LDPC decoder operable to apply said expanded parity check matrix to the received encoded data to generate decoded data.
12. A method of operating a transceiver, comprising:
applying the following expanded parity check matrix to input data to generate encoded data:
6
38
3
93
−1
−1
−1
30
70
−1
86
−1
37
38
4
11
−1
46
48
0
−1
−1
−1
−1
62
94
19
84
−1
95
78
−1
15
−1
−1
92
−1
45
24
32
30
−1
−1
0
0
−1
−1
−1
71
−1
55
−1
12
66
45
79
−1
78
−1
−1
10
−1
22
55
70
82
−1
−1
0
0
−1
−1
38
61
−1
66
9
73
47
64
−1
39
61
43
−1
−1
−1
−1
95
32
0
−1
−1
0
0
−1
−1
−1
−1
−1
32
52
55
80
95
22
6
51
24
90
44
20
−1
−1
−1
−1
−1
−1
0
0
−1
63
31
88
20
−1
−1
−1
6
40
66
16
71
53
−1
−1
27
26
48
−1
−1
−1
−1
0
wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and
any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);
transmitting the encoded data over a transmission medium;
receiving encoded data from the transmission medium; and
applying said expanded parity check matrix to the received encoded data to generate decoded data.
13. A method to operate a wireless device to encode data using low-density parity-check (LDPC) encoding, the method comprising:
computing a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting the data; computing a number of shortening bits N shortened for at least one LDPC codeword to be used during an encoding; distributing the number of shortening bits N shortened over the at least one LDPC codeword; computing a number of puncturing bits N punctured for the at least one LDPC codeword; distributing the number of puncturing bits over the at least one LDPC codeword; determining a criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ; if the criterion is met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ; generating the encoded data using the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and transmitting the encoded data.
14. The method of claim 13, wherein the criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .
15. The method of claim 13, further comprising computing a number of the at least one LDPC codeword to encode the data and a length of each of the at least one LDPC codeword.
16. The method of claim 13, wherein transmitting the encoded data comprises transmitting the encoded data using the number of modulated OFDM symbols.
17. A wireless device comprising:
a low-density parity-check (LDPC) encoder circuit configured to:
compute a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting data;
compute a number of shortening bits N shortened for at least one LDPC codeword to be used during an encoding;
distribute the number of shortening bits N shortened over the at least one LDPC codeword;
compute a number of puncturing bits N punctured for the at least one LDPC codeword;
distribute the number of puncturing bits over the at least one LDPC codeword;
determine a criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ;
if the criterion is met, increase the number of modulated OFDM symbols and recalculate the number of puncturing bits N punctured ; and
generate the encoded data using the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and
a transmitter configured to transmit the encoded data.
18. The wireless device of claim 17, wherein the criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .
19. The wireless device of claim 17, wherein the LDPC encoder circuit is further configured to compute a number of the at least one LDPC codeword to encode the data and a length of each of the at least one LDPC codeword.
20. The wireless device of claim 17, wherein the transmitter is configured to transmit the encoded data using the number of modulated OFDM symbols.
21. A non-transitory computer readable medium comprising instructions that when executed by a wireless device cause the wireless device to perform steps of a method to encode data using low-density parity-check (LDPC) encoding, the method comprising:
computing a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting the data; computing a number of shortening bits N shortened for at least one LDPC codeword to be used during an encoding; distributing the number of shortening bits N shortened over the at least one LDPC codeword; computing a number of puncturing bits N punctured for the at least one LDPC codeword; distributing the number of puncturing bits over the at least one LDPC codeword; determining a criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ; if the criterion is met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ; generating the encoded data using the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and transmitting the encoded data.
22. The non-transitory computer readable medium of claim 21, wherein the criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .
23. The non-transitory computer readable medium of claim 21, wherein the method further comprises computing a number of the at least one LDPC codeword to encode the data and a length of each of the at least one LDPC codeword.
24. The non-transitory computer readable medium of claim 21, wherein transmitting the encoded data comprises transmitting the encoded data using the number of modulated OFDM symbols.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.