  This paper describes an efficient implementation of binning for the relay
channel using low-density parity-check (LDPC) codes. We devise bilayer LDPC
codes to approach the theoretically promised rate of the decode-and-forward
relaying strategy by incorporating relay-generated information bits in
specially designed bilayer graphical code structures. While conventional LDPC
codes are sensitively tuned to operate efficiently at a certain channel
parameter, the proposed bilayer LDPC codes are capable of working at two
different channel parameters and two different rates: that at the relay and at
the destination. To analyze the performance of bilayer LDPC codes, bilayer
density evolution is devised as an extension of the standard density evolution
algorithm. Based on bilayer density evolution, a design methodology is
developed for the bilayer codes in which the degree distribution is iteratively
improved using linear programming. Further, in order to approach the
theoretical decode-and-forward rate for a wide range of channel parameters,
this paper proposes two different forms bilayer codes, the bilayer-expurgated
and bilayer-lengthened codes. It is demonstrated that a properly designed
bilayer LDPC code can achieve an asymptotic infinite-length threshold within
0.24 dB gap to the Shannon limits of two different channels simultaneously for
a wide range of channel parameters. By practical code construction,
finite-length bilayer codes are shown to be able to approach within a 0.6 dB
gap to the theoretical decode-and-forward rate of the relay channel at a block
length of $10^5$ and a bit-error probability (BER) of $10^{-4}$. Finally, it is
demonstrated that a generalized version of the proposed bilayer code
construction is applicable to relay networks with multiple relays.
