1660 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 48, NO. 10, OCTOBER 2000 Gallager Codes for CDMA Applications—Part I: Generalizations, Constructions, and Performance Bounds Vladislav Sorokine, Member, IEEE, Frank R. Kschischang, Member, IEEE, and Subbarayan Pasupathy, Fellow, IEEE Abstract—We focus on applications of low-rate Gallager (low-density parity-check) codes in code-division multiple-access schemes. The codes that we present here achieve good performance with relatively short frame-lengths in additive white Gaussian noise channels and, perhaps more importantly, in fading channels. These codes can be decoded with low complexity by using iterative decoding procedures. We present a construction that yields good short frame-length Gallager codes. Bounds on the frame-error probability for a maximum-likelihood decoder are obtained. Index Terms—CDMA, iterative decoding, low-density parity-check codes. I. INTRODUCTION T HE PARADIGM shift in coding theory toward subop- timal yet effective decoding procedures for powerful random-like codes, e.g., turbo codes [1], [2], has led to practical engineering advances. Turbo codes were shown to perform very close to the Shannon capacity of a Gaussian channel with an iterative turbo-decoding algorithm [3], and recently [4], highly optimized irregular low-density parity-check codes have been shown to come even closer to the Gaussian channel capacity than turbo codes. Remarkably, both families of codes are decoded using the same algorithm: the sum-product algorithm. (The sum-product algorithm is also known as the “forward/backward” [5] or “BCJR” [6] and is also related to the Baum–Welch [7] algorithm. See [8] for a tutorial treatment.) The excellent performance obtained with a practical decoding algorithm have made turbo codes extremely attractive in appli- cations, and various integrated circuit solutions have already appeared, e.g., [9], or are in development. Interestingly, the idea of combining long random codes with an iterative decoding algorithm was already present in Gallager’s pioneering work [10], in which he described and analyzed a class of random linear codes characterized by sparse parity-check matrices. Gallager showed that these codes are Paper approved by W. E. Ryan, the Editor for Modulation, Coding, and Equal- ization of the IEEE Communications Society. Manuscript received February 16, 1999; revised May 20, 1999 and August 31, 1999. This work was supported in part by the Natural Sciences and Engineering Research Council, Canada. This paper was presented in part at the 1997 Canadian Workshop on Informa- tion Theory, Toronto, ON, Canada, June 1997, the 1998 Information Theory Workshop, Killarney, Ireland, June 1998, and the Ninth International Sympo- sium on Personal, Indoor and Mobile Communications (PIMRC), Boston, MA, September 1998. The authors are with the Department of Electrical and Computer Engineering, University of Toronto, Toronto, ON M5S 3G4, Canada (e-mail: vsorokin@qual- comm.com). Publisher Item Identifier S 0090-6778(00)08781-X. “good,” i.e., with maximum-likelihood decoding they achieve arbitrarily small probability of error for rates bounded away from zero. Gallager also proposed a simple yet effective itera- tive decoding procedure for these codes. For a class of codes to be not just “good” but “very good,” it is required that the class contains codes that achieve arbitrarily small probability of error for all rates up to channel capacity. Gallager [10] showed that if the row weight of the parity-check matrix for a family of low-density parity-check codes is fixed, then such codes cannot be “very good.” Zyablov and Pinsker [11] analyzed the error-correcting capa- bilities of Gallager codes and also proposed a simple “bit-flip- ping” decoding algorithm. MacKay and Neal independently re- discovered Gallager codes [12], [13] and proved that Gallager codes are “very good” for a variety of communications chan- nels. Extensive simulation results [13] show that Gallager codes coupled with iterative decoding achieve excellent performance for Gaussian channels. Iterative decoding is perhaps best understood as decoding on a graph that reflects the code’s structure [8], [14]–[20]. For ex- ample, a Tanner graph [14] describes the check structure of a code and plays a special role in iterative decoding algorithms. Certain instances of iterative decoding have been known for some time in the artificial intelligence community as probability propagation [16] in certain graphical models (see also [8] and [21]). Powerful low-rate error-correcting codes that can be decoded with a relatively low complexity are of special interest in code-division multiple-access (CDMA) applications. Viterbi’s classic paper [22] showed that the use of powerful error correcting codes may significantly increase the capacity of a CDMA system. Developments following similar lines appeared in [23]–[25]. In this two-part paper, we present a family of low-rate, short- frame Gallager codes that have good performance both in ad- ditive white Gaussian noise (AWGN) channels and Rayleigh fading channels and can be used as an error protection scheme in CDMA systems. The paper is organized as follows. In Section II, we intro- duce notations and definitions that will be useful throughout the paper. In Section III, we present a particular construction for low-rate, low-density parity-check codes that yields a sig- nificant performance improvement relative to other “candidate” constructions described in this section. This construction can be used to obtain codes with parameters suitable for applica- tion in IS-95-like CDMA systems. In Section IV, we study the 0090–6778/00$10.00 © 2000 IEEE