IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 5, NO. 7, JULY 2006 1757 On LDPC Codes over Channels with Memory Giulio Colavolpe Abstract— The problem of detection and decoding of low- density parity-check (LDPC) codes transmitted over channels with memory is addressed. A new general method to build a factor graph which takes into account both the code constraints and the channel behavior is proposed and the a posteriori probabilities of the information symbols, necessary to implement maximum a posteriori (MAP) symbol detection, are derived by using the sum-product algorithm. With respect to the case of a LDPC code transmitted on a memoryless channel, the derived factor graphs have additional factor nodes taking into account the channel behavior and not the code constraints. It is shown that the function associated to the generic factor node modeling the channel is related to the basic branch metric used in the Viterbi algorithm when MAP sequence detection is applied or in the BCJR algorithm implementing MAP symbol detection. This fact suggests that all the previously proposed solutions for those algorithms can be systematically extended to LDPC codes and graph-based detection. When the sum-product algorithm works on the derived factor graphs, the most demanding computation is in general that performed at factor nodes modeling the channel. In fact, the complexity of the computation at these factor nodes is in general exponential in a suitably defined channel memory parameter. In these cases, a technique for complexity reduction is illustrated. In some particular cases of practical relevance, the above mentioned complexity becomes linear in the channel memory. This does not happen in the same cases when detection is performed by using the Viterbi algorithm or the BCJR algorithm, suggesting that the use of factor graphs and the sum-product algorithm might be computationally more appealing. As an example of application of the described framework, the cases of noncoherent and flat fading channels are considered. Index Terms— Factor graphs, sum-product algorithm, chan- nels with memory, phase-noise, flat fading, low-density parity- check codes, iterative detection/decoding. I. I NTRODUCTION I N RECENT years, the extraordinary success of turbo codes has stimulated the rediscovery of another class of codes exhibiting similar performance and characteristics [1]. These codes, called low-density parity-check (LDPC) codes, were first introduced by Gallager [2] in their original regular ver- sion. The recently conceived irregular LDPC codes exhibit an impressive performance outperforming the best known turbo codes [3]-[5]. This paper proposes a new general framework, based on factor graphs (FGs) and the sum-product algorithm (SPA) [6], for designing decoding schemes for channel codes Manuscript received April 20, 2004; revised January 29, 2005 and April 12, 2005; accepted July 9, 2005. The associate editor coordinating the review of this paper and approving it for publication was J. Garcia-Frias. This paper was presented in part at the IEEE International Conference on Communications (ICC’04), Paris, France, June 2004. This work is funded by the European Space Agency, ESA-ESTEC, Noordwijk, The Netherlands. G. Colavolpe is with Università di Parma, Dipartimento di Ingegneria dell’Informazione, Parco Area delle Scienze 181A, I-43100 Parma, Italy (e- mail: giulio@unipr.it). Digital Object Identifier 10.1109/TWC.2006.04274. transmitted over channels with memory with particular empha- sis to LDPC codes. Since the derived algorithms are iterative, they are particularly suited to turbo codes and LDPC codes whose decoding is iterative even when they are transmitted over a memoryless channel. In the technical literature there are a lot of recent papers on detection and decoding of LDPC codes over channels with memory. In [7]-[12], the case of magnetic channels, where the memory is due to the presence of known intersymbol interference (ISI), is considered, and separate trellis-based detection, performed by means of the BCJR algorithm [13] as in turbo equalization [14]-[16], is proposed. In the case of a noncoherent channel, i.e., a channel which introduces an unknown and possibly time-varying channel phase, the algorithms developed in [17]-[20] are designed for turbo codes and can be applied to LDPC codes only if trellis- based separate detection is performed. In [21] a channel model where the unknown carrier phase is constant over a block of N symbols and independent from block to block (the so- called block noncoherent channel) is considered, and detection algorithms for LDPC codes based on this model are developed. A non-Bayesian approach is adopted in [22], [23]. In [22] the channel phase is estimated by using the expectation- maximization (EM) algorithm, as originally proposed in [24]- [27] for turbo codes, and the estimation algorithm is embedded into the LDPC iterative decoding process. On the contrary, in [23] a class of problems is identified for which the op- timal (in the sense of the generalized-likelihood ratio test) computation of the symbol a posteriori probabilities can be performed with polynomial complexity and the application to LDPC codes and the noncoherent channel is discussed. For flat correlated Rayleigh fading channels, the algorithms in [28]-[30] can be applied to LDPC codes only performing trellis-based separate detection. On the contrary, for the block fading channel, an algorithm which can be directly applied to the case of LDPC codes is described in [31]. This algorithm is based on an estimation of the fading amplitude and a quantization of the channel phase for each fading block but similar approaches can be conceived for correlated fading channels, for example based on a channel Markov model (e.g., see [29]) and a Kalman smoothing approach [6], [32]. A more detailed discussion must be devoted to [33]. In that paper, a general framework to solve the problem of joint decoding and estimation, in the presence of unknown parameters, is described. The approach is Bayesian, i.e., the channel parameters are modeled as stochastic processes with known statistics and the use of FGs [6] that include both code constraints and channel statistics is advocated in a very general setting. The SPA [6] is then used to implement the maximum a posteriori (MAP) symbol detection strategy. Since 1536-1276/06$20.00 c 2006 IEEE