BIT FLIPPING ALGORITHM FOR DECODING LDPC-ENCODED DATA
First Claim
1. A method comprising, by a computing device:
- receiving an original data sequence r;
setting a current data sequence d to be the original data sequence;
performing a plurality of iterations, each iteration of the plurality of iterations including;
(a) evaluating d according to a low density parity code matrix H;
(b) when (a) indicates one or more failed checks according to H, flipping one or more bits in d such that for first iterations of the plurality of iterations one or more bits in d are flipped with biasing toward the original data sequence r; and
(c) repeating (a) and (b) until at least one of (i) (a) indicates there are no failed checks in d and (ii) a number of times (a) and (b) have been performed meets a predefined threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
A bit flipping algorithm for an LDPC decoder evaluates a data sequence d with respect to a parity code matrix H. Where one or more checks fail, bits of d are flipped such that for some iterations, the bits are flipped with bias toward and original data sequence r. For example, for some iterations, where the number of failed checks are below a first threshold T1, bits are only permitted to flip back to the value of that bit in the original data sequence r. In such iterations, bits are permitted to flip from the value in the original data sequence r only when the number of failed checks is greater than a second threshold T2, T2>T1. Values for thresholds may be based on a number of flipped bits from a previous iteration and may be calculated using a syndrome s=Hd from a previous iteration.
10 Citations
20 Claims
-
1. A method comprising, by a computing device:
-
receiving an original data sequence r; setting a current data sequence d to be the original data sequence; performing a plurality of iterations, each iteration of the plurality of iterations including; (a) evaluating d according to a low density parity code matrix H; (b) when (a) indicates one or more failed checks according to H, flipping one or more bits in d such that for first iterations of the plurality of iterations one or more bits in d are flipped with biasing toward the original data sequence r; and (c) repeating (a) and (b) until at least one of (i) (a) indicates there are no failed checks in d and (ii) a number of times (a) and (b) have been performed meets a predefined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a memory; a controller programmed to; receive an original data sequence r; store r in the memory set a current data sequence d to be the original data sequence in the memory; perform a plurality of iterations, each iteration of the plurality of iterations including; (a) evaluating d according to a low density parity code matrix H; (b) when (a) indicates one or more failed checks according to H, flipping one or more bits in d such that for first iterations of the plurality of iterations one or more bits in d are flipped with biasing toward the original data sequence r; and (c) repeating (a) and (b) until at least one of (i) (a) indicates there are no failed checks in d and (ii) a number of times (a) and (b) have been performed meets a predefined threshold. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification