  This paper revisits the connection between the girth of a protograph-based
LDPC code given by a parity-check matrix and the properties of powers of the
product between the matrix and its transpose in order to obtain the necessary
and sufficient conditions for a code to have given girth between 6 and 12, and
to show how these conditions can be incorporated into simple algorithms to
construct codes of that girth. To this end, we highlight the role that certain
submatrices that appear in these products have in the construction of codes of
desired girth. In particular, we show that imposing girth conditions on a
parity-check matrix is equivalent to imposing conditions on a square submatrix
obtained from it and we show how this equivalence is particularly strong for a
protograph based parity-check matrix of variable node degree 2, where the
cycles in its Tanner graph correspond one-to-one to the cycles in the Tanner
graph of a square submatrix obtained by adding the permutation matrices (or
products of these) in the composition of the parity-check matrix. We end the
paper with exemplary constructions of codes with various girths and computer
simulations. Although, we mostly assume the case of fully connected protographs
of variable node degree 2 and 3, the results can be used for any parity-check
matrix/protograph-based Tanner graph.
