This thesis considered the design of receivers for systems employing LDPC codes for fading channels. Three receiver design strategies are investigated: the iterative receiver, the successive receiver and the hybrid receiver. The iterative receiver iteratively estimates the channel and decodes the LDPC code. This receiver can be derived from the joint factor graph as a sum-product algorithm. The performance of the iterative receiver with LDPC codes is evaluated via the density evolution technique and the LDPC codes are optimized. The iterative receiver is simple to implement and robust to delay constraints. However, it is suboptimal and LDPC code design process is complex. A decision feedback based successive decoding receiver is then introduced and it is shown that this successive receiver is asymptotically optimal. It decomposes the fading channel into a band of memoryless sub-channels with a deep block interleaver. LDPC codes are applied on each sub-channel. The receiver successively decodes the LDPC codes and feeds the decoded bits back to the channel estimator. This procedure is repeated successively. Coding with such a receiver provides universal performance with respect to mutual information, and it greatly simplifies the code design procedure. Our code simulation shows performance within 1dB of from the channel capacity. However, the successive receiver requires a long delay. It suffers from error propagation when a delay constraint is imposed. Finally, a hybrid receiver is introduced which takes advantage of the best characteristics of the iterative receiver and the successive receiver. simulation results show that combining the design philosophy of the two receivers gives good performance with practical delay.