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.
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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
92
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
56
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 performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ; if the performance criterion is not 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 performance 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 providing a plurality of LDPC codewords of different codeword lengths and code rates.
16. The method of claim 13, further comprising computing a number of LDPC codewords to encode the data and a length of each of the LDPC codewords.
17. The method of claim 13, further comprising conserving battery power in the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.
18. The method of claim 13, further comprising increasing processing efficiency of the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.
19. The method of claim 13, further comprising facilitating efficient use of transmit power of the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.
20. A wireless device comprising:
a low-density parity-check (LDPC) encoder 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 performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ;
if the performance criterion is not met, increase the number of modulated OFDM symbols and recalculating 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.
21. The wireless device of claim 20, further comprising an LDPC decoder to decode LDPC-encoded data received at the wireless device.
22. The wireless device of claim 20, wherein the performance criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .
23. The wireless device of claim 20, wherein the LDPC encoder is further configured to provide a plurality of LDPC codewords of different codeword lengths and code rates.
24. The wireless device of claim 20, wherein the LDPC encoder is further configured to compute a number of LDPC codewords to encode the data and a length of each of the LDPC codewords.
25. The wireless device of claim 20, wherein the LDPC encoder is further configured to conserve battery power in the wireless device by encoding the data using the number of shortening bits and the number of puncturing bits.
26. The wireless device of claim 20, wherein the LDPC encoder is further configured to increase processing efficiency of the wireless device by encoding the data using the number of shortening bits and the number of puncturing bits.
27. The wireless device of claim 20, wherein the transmitter is to facilitate efficient use of transmit power of the wireless device by transmitting the encoded data encoded using the number of shortening bits and the number of puncturing bits.
28. A method to operate a wireless device to encode data using low-density parity-check (LDPC) encoding, the method comprising:
obtaining 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; 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 performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ; if the performance criterion is not met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ; generating the encoded data using the at least one LDPC codeword, the at least one LDPC codeword determined based on 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.
29. The method of claim 28, further comprising providing a plurality of LDPC codewords of different codeword lengths and code rates.
30. The method of claim 28, further comprising:
computing a number of LDPC codewords and a length of each of the LDPC codewords; and selecting the LDPC codeword to encode the data from the plurality of the LDPC codewords.
31. The method of claim 28, further comprising conserving battery power in the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.
32. The method of claim 28, further comprising increasing processing efficiency of the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.
33. The method of claim 28, further comprising facilitating efficient use of transmit power of the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.