Methods and apparatus for decoding codewords using message passing
decoding techniques which are particularly well suited for use with low
density parity check (LDPC) codes and long codewords are described. The
described methods allow decoding graph structures which are largely
comprised of multiple identical copies of a much smaller graph. Copies of
the smaller graph are subject to a controlled permutation operation to
create the larger graph structure. The same controlled permutations are
directly implemented to support message passing between the replicated
copies of the small graph. Messages corresponding to individual copies of
the graph are stored in a memory and accessed in sets, one from each copy
of the graph, using a SIMD read or write instruction. The graph
permutation operation may be implemented by simply reordering messages,
e.g., using a cyclic permutation operation, in each set of messages read
out of a message memory so that the messages are passed to processing
circuits corresponding to different copies of the small graph.