Error Correction
Error Correction
Spring 2010
Note that c1 is contained in all three equations while c2 is contained in only the first two equations.
Note that each code symbol is contained in 3 equations and each equation involves 4 code symbols.
0.4
0.3
C1
C2
C3
C4
Up
Down Down Down 0.500 0.756 0.756 0.756 0.436 0.756 0.756 0.756 0.372 0.436 0.500 0.756
Down Down Down 0.594 0.640 0.790 0.749 0.640 0.690 0.776 0.718 0.656 0.630 0.644 0.692
0.900 0.500 0.400 0.300 0.900 0.900 0.900 0.900 0.900 0.900 0.900 0.900
0.500 0.756 0.756 0.756 0.500 0.436 0.436 0.436 0.372 0.372 0.372 0.500
0.436 0.756 0.756 0.756 0.372 0.500 0.500 0.436 0.372 0.500 0.436 0.372
0.372 0.436 0.500 0.756 0.372 0.756 0.372 0.756 0.500 0.500 0.756 0.756
0.805 0.705 0.674 0.804 0.759 0.965 0.842 0.956 0.842 0.900 0.956 0.943
0.842 0.705 0.674 0.804 0.842 0.956 0.805 0.956 0.842 0.842 0.943 0.965
0.874 0.906 0.865 0.804 0.842 0.874 0.874 0.843 0.759 0.842 0.805 0.842
0.594 0.640 0.790 0.749 0.611 0.608 0.647 0.611 0.722 0.690 0.667 0.565
0.640 0.690 0.776 0.718 0.694 0.586 0.628 0.605 0.694 0.614 0.608 0.642
0.656 0.630 0.644 0.692 0.671 0.643 0.656 0.656 0.703 0.654 0.676 0.657
0.968 0.791 0.807 0.710 0.976 0.958 0.967 0.963 0.980 0.964 0.967 0.969
0.962 0.751 0.820 0.742 0.966 0.962 0.969 0.964 0.982 0.974 0.974 0.957
0.959 0.798 0.897 0.765 0.970 0.952 0.965 0.956 0.981 0.970 0.965 0.955
0.700 0.600
Prob[C=1]
C2 C3 C4 C5
0.500 0.400 0.300 0.200 0.100 0.000 Up Down Down Down Up Up Up Down Down Down Up Up Up
p U
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
ow
Assumption of Independence
Note that in our example, parts of the graph looks like:
This is called a cycle of length 4. Cycles cause estimates to be dependent and our combining formulas are incorrect. As a result short cycles should be avoided in the design of codes.
Since the number of 1s in a parity check matrix is the same whether we count by rows or columns, we have
J (# of columns) = K (# of rows) J (n) = K (n-k).
or
Solving for k / n, we have k/n = (1- J / K), the rate of the code. Higher rate codes can be obtained by puncturing lower rate codes.
Right degrees
r7 =.38282 r19=.10225 r84=.04179 r8 =. 29548 r20=. 18321 r85=. 02445
Conclusions
The inherent parallelism in decoding LDPC codes suggests their use in high data rate systems.
A comparison of LDPC codes and turbo codes is complicated and depends on many issues: e.g., block length, channel model, etc. LDPC codes are well worthwhile investigating. Some issues to be resolved are:
Performance for channel models of interest Optimization of irregular LDPC codes (for channels of interest). Implementation in VLSI. Patent issues.