1818 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 48, NO. 11, NOVEMBER 2000
Gallager Codes for CDMA Applications—Part II:
Implementations, Complexity, and System Capacity
Vladislav Sorokine, Member, IEEE, Frank R. Kschischang, Member, IEEE, and Subbarayan Pasupathy, Fellow, IEEE
Abstract—We focus our attention on Gallager codes with
parameters compatible with the IS-95 cellular radio standard. We
discuss low complexity software and hardware implementations
of an iterative decoder for Gallager codes. We estimate
that by using Gallager codes, a factor of five improvement in
the code-division multiple-access system capacity relative to an
uncoded system can be achieved, equivalent to a factor of two
improvement relative to state-of-the art orthogonal convolutional
codes. Simulation results demonstrate the good performance of
short-frame Gallager codes in the additive white Gaussian noise
and certain fading channels.
Index Terms—Complexity theory, decoder architecture, infor-
mation rates, low-density parity-check codes.
I. INTRODUCTION
C
ODE-DIVISION multiple access (CDMA) is one of the
three most popular approaches (along with time-division
multiple access and frequency-division multiple access) for al-
locating the available signal space to multiple users. In the IS-95
CDMA standard, a particular type of CDMA called spread-
spectrum multiple access is used. Briefly, the forward link of
the system operates as follows. A binary data sequence is pro-
duced by a data source at the rate of 9.6 kbits/s (in digital speech
transmission), spread by a factor of 128, modulated and trans-
mitted in a communications channel. Spreading is used partly
to combat the multiple-access interference and partly to combat
the channel noise with forward error-correction.
The CDMA system capacity depends to a large degree on the
efficiency of the error-control code. In the forward link, IS-95
uses a rate 1/2 convolutional code for error-protection.
A much larger portion of the total bandwidth expansion can
be allocated to error-control coding. Better codes will increase
the system capacity [1], [2]. However, other factors, such as the
decoding complexity, may negate the positive effect.
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 Information
Theory, Toronto, ON, Canada, June 1997, at the 1998 Information Theory Work-
shop, Killarney, Ireland, June 1998, and at the Ninth International Symposium
on Personal, Indoor and Mobile Communications (PIMRC’98), Boston, MA,
September 1998.
V. Sorokine was with the Department of Electrical and Computer Engi-
neering, University of Toronto, Toronto, ON M5S 3G4, Canada. He is now
with Qualcomm Inc., San Diego, CA 92121 USA (e-mail: vsorokin@qual-
comm.com).
F. R. Kschischang and S. Pasupathy are with the Department of Electrical and
Computer Engineering, University of Toronto, Toronto, ON M5S 3G4, Canada.
Publisher Item Identifier S 0090-6778(00)09883-4.
We will argue that the , rate 1/8 Gallager
codes of [part I] are good candidates to provide an enhanced
error-protection scheme in CDMA systems. Good performance
in additive white Gaussian noise (AWGN) and fading channels
makes them particularly suitable for mobile communications.
Moreover, one can devise low-complexity decoders for these
codes, an important consideration for hand-held radio units
where power consumption is at a premium.
This paper is organized as follows. In Section II, we give a
brief review of the sum–product decoding algorithm along with
most of the relevant equations that are used extensively in later
sections. In Sections III and IV, we discuss low complexity im-
plementations of the sum–product decoder both in software and
in hardware. In Section V, we discuss the computational com-
plexity of encoding and iterative decoding for the ,
rate 1/8 Gallager codes. In Section VI, we present simulation
results for Gallager codes for the AWGN and fading channels.
We use simulation results for the AWGN channel in a simpli-
fied analysis of the single cell capacity of a CDMA system in
Section VII, and show that Gallager codes provide a twofold in-
crease in the system capacity relative to state-of-the art orthog-
onal convolutional codes [4]. Finally, we present the discussion
of the results in Section VIII.
II. SUM–PRODUCT ALGORITHM
To decode Gallager codes, we use the sum–product algorithm
[5], [6], a version of which was described in the original work
of Gallager [7], and which is sometimes referred to as “belief
propagation” [8], [9]. The sum–product algorithm operates by
passing messages along the edges of a bipartite factor graph
[10] that describes the conditional joint probability mass func-
tion of the codeword symbols given the received channel output.
The sum–product algorithm is known by various names in spe-
cial cases and in different application areas. For example, in the
special case when the factor graph represents a trellis or hidden
Markov model, the sum–product algorithm is known (in coding)
as the BCJR algorithm [11] or (in signal processing) as the for-
ward/backward algorithm [12]; in statistics, it is an integral part
of the Baum–Welch algorithm. For a tutorial treatment of factor
graphs, the sum–product algorithm and applications, see [10].
MacKay [13] gives an excellent description of the sum–product
algorithm that is used to decode Gallager codes, and we adopt
his notation here.
As in Section II, Part I, let be a low-density parity-check
matrix for a Gallager code , let denote the transpose of
, and let be a transmitted codeword. The
channel adds a noise sequence to to pro-
duce the channel output . Assuming 1 an-
0090–6778/00$10.00 © 2000 IEEE