  We propose a systematic design of protograph-based quasi-cyclic (QC)
low-density parity-check (LDPC) codes with low error floor. We first
characterize the trapping sets of such codes and demonstrate that the QC
structure of the code eliminates some of the trapping set structures that can
exist in a code with the same degree distribution and girth but lacking the QC
structure. Using this characterization, our design aims at eliminating a
targeted collection of trapping sets. Considering the parent/child relationship
between the trapping sets in the collection, we search for and eliminate those
trapping sets that are in the collection but are not a child of any other
trapping set in the collection. An efficient layered algorithm is designed for
the search of these targeted trapping sets. Compared to the existing codes in
the literature, the designed codes are superior in the sense that they are free
of the same collection of trapping sets with a smaller block length, or a
larger collection of trapping sets with the same block length. In addition, the
efficiency of the search algorithm makes it possible to design codes with
larger degrees which are free of trapping sets within larger ranges compared to
the state-of-the-art.
