Protographs

A protograph, or projected graph, is a Tanner graph (or bipartite graph) with a relatively small number of nodes. A "copy-and-permute" operation (also known as "lifting") can be applied to the protograph to obtain larger derived graphs of various sizes. When the protograph is replicated $N$ times, each protograph edge becomes a bundle of $N$ edges, connecting $N$ variable nodes to $N$ check nodes. The copies of the protograph are interconnected by permuting these variable-to-check pairings within each bundle. The derived graph is the graph of a code $N$ times as large as the code corresponding to the protograph, with the same rate and the same distribution of variable and check node degrees. LDPC codes with protograph structure are a subclass of multi-edge-type LDPC codes. When the permutations applied to each protograph edge are circulants, the resulting code is particularly amenable to high speed hardware implementation.