PUZZLE #3551: LDPC Decoding (diff 6)
A 10-block LDPC-coded message (10,5) sparse code. 32 bits flipped by noise. Use iterative bit-flipping on the Tanner graph to recover the data.
DATA
| Encoded |
0101000101100111010001011011011111010010100000110011111101001100101010010110100010000110100110111101
|
| H |
[1, 1, 0, 1, 0, 1, 0, 0, 0, 0], [0, 1, 1, 0, 1, 0, 1, 0, 0, 0], [0, 0, 1, 1, 0, 1, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0, 1, 1, 1, 0], [1, 0, 0, 0, 0, 0, 0, 1, 0, 1]
|
| N Variable |
10
|
| N Check |
5
|
| Data Bits |
5
|
| N Blocks |
10
|
| Adj List |
[0, 4], [0, 1], [1, 2], [0, 2], [1, 3], [0, 2], [1, 3], [2, 3, 4], [3], [4]
|
| Check Adj |
[0, 1, 3, 5], [1, 2, 4, 6], [2, 3, 5, 7], [4, 6, 7, 8], [0, 7, 9]
|
| Errors |
32
|
| Hint |
Run bit-flipping: initialize with noisy codeword. For each check node, compute if its parity equation is satisfied. For each variable node, count connected check nodes that are violated. Flip any variable bit where > half its checks are violated. Repeat until all checks pass or 50 iterationsFirst 5 bits of each block are the data bits.
|
| Answer Format |
lowercase letters, no spaces or punctuation
|
author's note: Pool fill: ldpc diff 6
— website sponsored —
[ ad space ]