IP Library Granted Patent US 8,656,245
Granted Patent B2
US 8,656,245 · App. 13/442,755 · Granted Feb 18, 2014

Method of error floor mitigation in low-density parity-check codes

Inventor: Jon Hamkins (Pasadena, CA)
Assignee: California Institute of Technology
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,656,245
App. No.
13/442,755
Granted
Feb 18, 2014
Kind
B2
Abstract

A digital communication decoding method for low-density parity-check coded messages. The decoding method decodes the low-density parity-check coded messages within a bipartite graph having check nodes and variable nodes. Messages from check nodes are partially hard limited, so that every message which would otherwise have a magnitude at or above a certain level is re-assigned to a maximum magnitude.

Claims (48)

1. A method for decoding a low-density parity-check (LDPC) coded signal transmitted in a channel, the method comprising:

receiving input messages comprising the LDPC coded signal for subsequent processing on a bipartite graph, wherein the bipartite graph comprises variable nodes and check nodes representing an LDPC code;

passing messages along edges of the bipartite graph, wherein passing messages comprises iteratively passing messages from the variable nodes to the check nodes and from the check nodes to the variable nodes;

assigning a maximum positive value to every message from each check node greater than or equal to a selected positive limit value;

assigning a minimum negative value to every message from each check node less than or equal to a selected negative limit value; and

outputting a decoded message when convergence is reached or a selected number of iterations is reached.

2. The method according to claim 1 , wherein absolute values of the maximum positive value and the minimum negative value are equal to a maximum magnitude.

3. The method according to claim 2 , further comprising:

quantizing each input message to a fixed quantization level between a maximum quantization value and a minimum quantization value, wherein absolute values of the maximum quantization value and the minimum quantization value are equal to an absolute maximum quantization value and the maximum magnitude is equal to the absolute maximum quantization value.

4. The method according to claim 3 , wherein quantizing each input message comprises setting each input message to an integer value equal to or between −127 and +127, and wherein the maximum magnitude is equal to 127.

5. The method according to claim 4 , wherein the selected positive limit value is +100 and the selected negative limit value is −100.

6. The method according to claim 1 , further comprising

summing all messages into at least one variable node to provide a variable node sum comprising a variable node sign and a variable node sum magnitude;

setting the variable node sum magnitude to a selected maximum variable node magnitude if the variable node sum magnitude exceeds the selected maximum variable node magnitude;

forming an intermediate message by subtracting one of the messages into the at least one variable node from the variable node sum to provide the intermediate message, wherein the intermediate message comprises an intermediate message magnitude and an intermediate message sign; and

forming an outgoing message by setting the intermediate message magnitude to a selected maximum intermediate magnitude if the intermediate message magnitude exceeds a selected intermediate magnitude, wherein the outgoing message comprises the intermediate message magnitude and the intermediate message sign.

7. The method according to claim 2 , wherein the variable nodes comprise one or more degree-1 variable nodes and the method further comprising clipping messages received from the channel and input into the degree-1 variable nodes to a level below the maximum magnitude.

8. A digital communication receiving system, wherein the digital communication receiving system is configured to receive transmissions encoded with a low-density parity-check code, the system comprising:

a demodulator, wherein the demodulator receives modulated data and outputs demodulated data; and

a decoder, wherein the decoder decodes demodulated data from the demodulator to output decoded data by performing several processing steps, wherein the several processing steps comprise:

receiving the demodulated data as inputs to variable nodes of a bipartite graph, wherein the bipartite graph comprises variable nodes and check nodes representing the low-density parity-check code;

passing messages along edges of the bipartite graph, wherein passing messages comprises iteratively passing messages from the variable nodes to the check nodes and from the check nodes to the variable nodes;

assigning a maximum positive value to every message from each check node greater than or equal to a selected positive limit value;

assigning a minimum negative value to every message from each check node less than or equal to a selected negative limit value; and

outputting the decoded data when convergence is reached or a selected number of iterations is reached.

9. The digital communication receiving system according to claim 8 , wherein absolute values of the maximum positive value and the minimum negative value are equal to a maximum magnitude.

10. The digital communication receiving system according to claim 9 , wherein the demodulated data comprises a plurality of input messages and wherein the several processing steps additionally comprise:

quantizing each input message to a fixed quantization level between a maximum quantization value and a minimum quantization value, wherein absolute values of the maximum quantization value and the minimum quantization value are equal to an absolute maximum quantization value and the maximum magnitude is equal to the absolute maximum quantization value.

11. The digital communication receiving system according to claim 10 , wherein quantizing each input message comprises setting each input message to an integer value equal to or between −127 and +127, and wherein the maximum magnitude is equal to 127.

12. The digital communication receiving system according to claim 11 , wherein the selected positive limit value is +100 and the selected negative limit value is −100.

13. The digital communication receiving system according to claim 9 , wherein the several processing steps additionally comprise:

summing all messages into at least one variable node to provide a variable node sum comprising a variable node sign and a variable node sum magnitude;

setting the variable node sum magnitude to a selected maximum variable node magnitude if the variable node sum magnitude exceeds the selected maximum variable node magnitude; and

forming an intermediate message by subtracting one of the messages into the at least one variable node from the variable node sum to provide the intermediate message, wherein the intermediate message comprises an intermediate message magnitude and an intermediate message sign; and,

forming an outgoing message by setting the intermediate message magnitude to a selected maximum intermediate magnitude if the intermediate message magnitude exceeds a selected intermediate magnitude, wherein the outgoing message comprises the intermediate message magnitude and the intermediate message sign.

14. The digital communication receiving system according to claim 9 , wherein the variable nodes comprise one or more degree-1 variable nodes and wherein the several processing steps additionally comprise:

clipping messages received from the demodulator and input into the degree-1 variable nodes to a level below the absolute maximum magnitude.

15. The digital communication receiving system according to claim 8 , wherein the demodulator forms a log likelihood ratio and the decoder receives the log likelihood ratio as an input.

16. The digital communication receiving system according to claim 8 further comprising a de-interleaver, wherein the de-interleaver receives demodulated data from the demodulator and outputs de-interleaved data to the decoder.

17. The digital communication receiving system according to claim 16 , wherein the de-interleaver comprises a single codeword de-interleaver; a block de-interleaver, or a block de-interleaver with bit reordering.

18. The digital communication receiving system according to claim 8 , wherein the decoder is implemented with one or more programmable gate arrays.

19. A method for decoding a low-density parity-check (LDPC) coded signal transmitted in a channel, the method comprising:

receiving input messages comprising the LDPC coded signal for subsequent processing on a bipartite graph, wherein the bipartite graph comprises variable nodes and check nodes representing an LDPC code;

passing messages along edges of the bipartite graph, wherein passing messages comprises iteratively passing messages from the variable nodes to the check nodes and from the check nodes to the variable nodes;

assigning a maximum positive value to at least one message from at least one check node greater than or equal to a selected positive limit value;

assigning a minimum negative value to at least one message from at least one check node less than or equal to a selected negative limit value; and

outputting a decoded message when convergence is reached or a selected number of iterations is reached.

20. The method according to claim 19 , wherein absolute values of the maximum positive value and the minimum negative value are equal to an absolute maximum magnitude.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jun 28, 2012
From: CALIFORNIA INSTITUTE OF TECHNOLOGY
To: NASA
Reel/Frame 028467/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2012
From: HAMKINS, JON
To: CALIFORNIA INSTITUTE OF TECHNOLOGY
Reel/Frame 028062/0044 →
Continuity (2)
Provisional Application 61474861 · Apr 13, 2011
Related Publication 20120266040A1 · Oct 18, 2012