Linear Time Encoding of LDPC Codes
  In this paper, we propose a linear complexity encoding method for arbitrary LDPC codes. We start from a simple graph-based encoding method ``label-and-decide.'' We prove that the ``label-and-decide'' method is applicable to Tanner graphs with a hierarchical structure--pseudo-trees-- and that the resulting encoding complexity is linear with the code block length. Next, we define a second type of Tanner graphs--the encoding stopping set. The encoding stopping set is encoded in linear complexity by a revised label-and-decide algorithm--the ``label-decide-recompute.'' Finally, we prove that any Tanner graph can be partitioned into encoding stopping sets and pseudo-trees. By encoding each encoding stopping set or pseudo-tree sequentially, we develop a linear complexity encoding method for general LDPC codes where the encoding complexity is proved to be less than $4 \cdot M \cdot (\overline{k} - 1)$, where $M$ is the number of independent rows in the parity check matrix and $\overline{k}$ represents the mean row weight of the parity check matrix. 
Jin Lu, Jos\'e M. F. Moura