An LDPC encoding system produces an encoded block by encoding the data as
i data sub-blocks using an LDPC code H.sub.1, XOR'ing the H.sub.1
sub-block code words to generate a block code word and further encoding
the block code word using an LDPC code H.sub.2 to produce p parity bits.
The encoded block consists of a concatenation of the H.sub.1 code words
and the p parity bits. To decode the encoded block, the system decodes
each H.sub.1 sub-block code word and, if all of the H.sub.1 sub-block
code words converge, the block has been successfully decoded. Otherwise,
if one of the H.sub.1 code words fails to converge, the system performs
an "extended" decoding operation in which the system produces a vector C
by XOR'ing the i-1 properly decoded H.sub.1 sub-block code words. The
system then combines the vector C with the sign values of the failed
H.sub.1 sub-block code word, appends the parity bits and decodes the
result as an H.sub.2 code word over the H.sub.2 LDPC code. For a next
iteration, the system removes the vector C from the non-parity sign bits
of the decoded H.sub.2 code word and provides the results along with the
associated reliability information to an ISI detector for further
decoding to produce an updated failed H.sub.1 code word. The updated
H.sub.1 sub-block code word is then iteratively decoded as part of an
H.sub.2 code word, and so forth, by combing and removing the vector C.