IP Library Granted Patent US 8,301,975
Granted Patent B2
US 8,301,975 · App. 13/156,942 · Granted Oct 30, 2012

Structured low-density parity-check (LDPC) code

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,301,975
App. No.
13/156,942
Granted
Oct 30, 2012
Kind
B2
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=[H d |H p ], H d is the data portion, and H p 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 (2505)

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.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Oct 16, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034012/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: ROCKSTAR BIDCO, LP
To: 2256355 ONTARIO LIMITED
Reel/Frame 028018/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: 2256355 ONTARIO LIMITED
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028020/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: NORTEL NETWORKS INC.
To: ROCKSTAR BIDCO, LP
Reel/Frame 027866/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2011
From: BURNS, NINA; SUKHOBOK, SERGEY; CHAUDHRY, MOHAMMAD
To: NORTEL NETWORKS LIMITED
Reel/Frame 026719/0051 →
CHANGE OF NAME Recorded Aug 9, 2011
From: BAY NETWORKS, INC.
To: NORTEL NETWORKS NA INC.
Reel/Frame 026719/0286 →
MERGER Recorded Aug 9, 2011
From: NORTEL NETWORKS NA INC.
To: NORTEL NETWORKS INC.
Reel/Frame 026719/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2011
From: LIVSHITZ, MICHAEL; PURKOVIC, ALEKSANDAR
To: BAY NETWORKS, INC.
Reel/Frame 026719/0082 →