Design and iterative decoding of networks of many small codes

We generalize the notion of a low density parity check (LDPC) code by allowing its variable or check nodes to represent codes more general than repetition or single parity check codes. We connect a multitude of small and easily (soft-)decodable codes {e,, i = 1,. . . , Q } in a large network. Each component code C, is an atomac code, and the large code formed by the network of Q atoms is a molecular code. An atomic code C,(nz, k z ) with length n, and dimension k, has b, 5 n2 bonded edges emanating from its network sade and c, 5 nz charged edges on its channel ssde. An atom’s charged and bonded edges correspond to subsets of its nnE code symbols. Atoms can be uncharged (c , = 0), but unbonded atoms (b, = 0) are uninteresting. Every bond joins two atoms and no pair of atoms is joined by more than one bond. Each bond imposes one additional constraint beyond the n, k t constraints imposed by the ith atom. A generic diagram of a molecular code is shown in Fig. 1.