Content uploaded by Dariush Divsalar
Author content
All content in this area was uploaded by Dariush Divsalar on Aug 07, 2014
Content may be subject to copyright.
IPN Progress Report 42-156 February 15, 2004
Concatenation of Hamming Codes and Accumulator
Codes with High-Order Modulations for
High-Speed Decoding
D. Divsalar
1
and S. Dolinar
1
We propose a concatenated code structure combined with high-order modula-
tions suitable for implementation with iterative decoders operating at gigabit-per-
second (Gbps) data rates. The examples considered in this article are serial/parallel
concatenations of Hamming and accumulator codes. Performance results are given
for binary phase-shift keyed (BPSK) modulation, quadrature phase-shift keyed
(QPSK) modulation, 8 phase-shift keyed (8PSK) modulation, and 16 quadrature
amplitude modulation (16QAM) over additive white Gaussian noise (AWGN) and
Rayleigh fading channels.
I. Introduction
In this article, we design coding schemes based on serial concatenations [7,10] of a high-rate Hamming
outer code and a simple 2-state, rate-1 accumulator inner code. The interleaver between the outer and
inner codes has a block structure that allows easy parallelization of the decoding algorithm for applications
requiring high-speed decoding. The serially concatenated codes are combined with binary phase-shift
keyed (BPSK) modulation, quadrature phase-shift keyed (QPSK) modulation, 8 phase-shift keyed (8PSK)
modulation, or 16 quadrature amplitude modulation (16QAM) to give high overall bandwidth efficiencies.
The general structure of a serial concatenation with a “parallel interleaver” is shown in Fig. 1. In
this construction of an (n
O
n
I
,k
O
k
I
)code, we concatenate k
I
outer codes {C
O
i
,i =1, ···,k
I
} of length
and dimension (n
O
,k
O
) with n
O
inner codes {C
I
j
,j =1, ···,n
O
} of length and dimension (n
I
,k
I
), via
an interleaver π of total size k
I
n
O
. Instead of allowing a completely general interleaver of size k
I
n
O
,we
require that π be decomposable into a set of permutations {π
O
i
,i =1, ···,k
I
}, each of size n
O
, applied
to the outputs of each of the k
I
outer codes separately, followed by a k
I
× n
O
rectangular interleaver,
followed by a set of permutations {π
I
j
,j =1, ···,n
O
}, each of size k
I
, applied to the inputs of each of the
n
O
inner codes separately. In the interests of allowing more irregularity, this structure can be generalized
to allow the outer codes {C
O
i
,i =1, ···,k
I
} to have different dimensions {k
O
i
,i =1, ···,k
I
} and the
inner codes {C
I
j
,j =1, ···,n
O
} to have different lengths {n
I
j
,j =1, ···,n
O
};however, in this article, our
attention is restricted to component codes with non-varying dimensions and lengths.
1
Communications Systems and Research Section.
The research described in this publication was carried out by the Jet Propulsion Laboratory, California Institute of
Technology, under a contract with the National Aeronautics and Space Administration.
1
k
O
bits
k
O
bits
n
O
bits
n
O
bits
k
O
bits
n
O
bits
n
O
bits
n
O
bits
n
O
bits
OUTER CODE
C
O
(n
O
, k
O
)
1
OUTER CODE
C
O
(n
O
, k
O
)
2
OUTER CODE
C
O
(n
O
, k
O
)
kI
INTERLEAVER
π
O
(n
O
)
1
INTERLEAVER
π
O
(n
O
)
kI
INTERLEAVER
π
O
(n
O
)
2
RECTANGULAR
INTERLEAVER
k
I
n
O
bits
k
I
bits k
I
bits
k
I
bits
k
I
bits
n
I
bits
n
I
bits
n
I
bits
INTERLEAVER
π
nO
(k
I
)
I
INTERLEAVER
π
2
(k
I
)
I
INTERLEAVER
π
1
(k
I
)
I
INNER CODE
C
I
(n
I
, k
I
)
1
INNER CODE
C
I
(n
I
, k
I
)
2
INNER CODE
C
nO
(n
I
, k
I
)
I
k
I
bits
k
I
bits
Fig. 1. Serial concatenation with parallel interleaver structure.
k
I
OUTER CODES
AND INTERLEAVERS
n
O
INNER CODES AND INTERLEAVERS
This structure gives a natural generalization of parallel concatenated codes [11], rather than just an
interesting subclass of serially concatenated codes. To see this, simply let all of the k
I
outer codes be
(q, 1) repetition codes. In this case, the interleavers at the outputs of the outer codes have no effect and
can be omitted. The rectangular interleaver simply ensures that each of the n
O
= q inner codes receives
a copy of the full package of k
I
distinct input bits. Then the random interleavers at the inputs of the
inner codes feed different permutations of these k
I
bits to each inner code. The net effect is the same as
the usual definition of a parallel concatenated (turbo) code.
When the outer codes are not repetition codes, the interleavers attached to the outer codes can provide
some interleaving gain, although this gain will be fairly small if the outer codes are small block codes.
2
For example, an (8,4) extended Hamming outer code has 14 codewords of weight 4. After a random
permutation, each of these 14 codewords could be scattered into any of
8
4
=70weight-4 sequences of
length 8. This effectively thins the weight-4 part of the Hamming code’s weight spectrum by a factor of
70/14 = 5.
We were interested in the case where the outer component codes {C
O
i
,i=1, ···,k
I
} are small Hamming
codes or extended Hamming codes, and the inner codes are 2-state, rate-1 accumulator codes [1]. Our aim
wastoproduce codes with good power and bandwidth efficiencies, over a range of bandwidth utilizations,
that can be decoded with parallel architecture at very high speeds, on the order of 1 gigabit per second
(Gbps). We wanted outer codes with high code rates for teaming with high-order modulations and
with minimum distance 3 or 4 to achieve high interleaving gain. These considerations led to our choice
of Hamming or extended Hamming codes as the outer codes that could achieve minimum distance 3
or 4 with the highest code rates for given code dimensions. For the inner codes, we selected 2-state,
rate-1 accumulator codes 1/(1 + D) for their extreme simplicity of decoding. Since the accumulator codes
have the same complexity per bit independent of their length, whereas the decoding complexity of the
Hamming codes increases with their lengths, the overall design is asymmetric in the number and sizes
of the outer and inner codes, specifically, n
O
k
I
.Agoal is to select these sizes such that k
I
parallel
copies of the outer decoder can run at approximately the same speed as n
O
parallel copies of the inner
decoder.
II. Coded Modulations Using the (15,11) Hamming and Accumulator Codes
In this article, we concentrate on one example of the general structure in Fig. 1 in which the outer codes
are (15,11) Hamming codes. We team this rate-11/15 code with QPSK modulation, 8PSK modulation,
or 16QAM, producing (ideal) bandwidth efficiencies of 1.47 bps/Hz, 2.20 bps/Hz, and 2.93 bps/Hz,
respectively.
Figure 2 shows the encoder for a (15,11) Hamming outer code concatenated with a 2-state, rate-1
accumulator inner code. For this code, k
O
= 11, n
O
= 15, and we selected k
I
= n
I
= 372 to yield
an overall code of length 5580 and dimension 4092. In our implementation, we used k
I
= 372 random
interleavers {π
O
i
,i =1, ···,n
O
} at the output of the Hamming outer codes and n
O
= 372 S-random [2]
interleavers {π
I
j
,j =1, ···,k
I
} to permute the inputs to the accumulator inner codes. In the figure,
we indicate that a desired input data rate of 1.116 Gbps can be obtained by running the 372 Hamming
encoders at 3 Mbps each and the 15 accumulator encoders at 101 Mbps each.
The outputs of the 15 accumulator codes are mapped to a high-order modulation. With 8PSK, the
first output bits of the first three accumulators are mapped to a 3-bit 8PSK symbol using a Gray code
mapping. Then the first output bits of the next three accumulators are mapped to the second 3-bit 8PSK
symbol, and so on, until the first five 8PSK symbols are produced. Then the next five 8PSK symbols are
created using the second bits from three accumulators at a time, and so forth. With QPSK or 16QAM,
we take output bits two or four at a time from two or four separate accumulators to form each QPSK or
16QAM symbol, stepping through the 15 accumulator codes in a cyclic order until all 5580 output bits
are mapped. This type of mapping eliminates the need for a channel interleaver within the length of a
code block.
Figure 3 shows the decoder for the code in Fig. 2. In this figure, the demapper provides the reliability
of those bits assigned to the modulation symbols, given in-phase and quadrature received observations.
The soft-in, soft-out (SISO) modules [8,9] for the accumulator also can interact with the demapper for
further performance enhancement if desired.
An (n, k) Hamming code has a cyclic representation and can be equivalently generated as a recur-
sive terminated convolutional code with primitive feedback polynomial. If the feedforward polynomial is
chosen to be the same as the feedback polynomial, this produces a systematic version of the Hamming
3
DATA
1.116
Gbps
101 Mbps
DEMUX
HAMMING
(15,11)
HAMMING
(15,11)
HAMMING
(15,11)
π
π
π
ππ π
M
A
P
P
I
N
G
WRITE
READ
3 Mbps
D
D
D
QPSK,
8PSK, or
16QAM
MODULATOR
760 mega-symbols per
second (Msps) QPSK
507 Msps 8PSK
380 Msps 16QAM
Fig. 2. Encoder for the Hamming and accumulator code.
π
D
E
M
O
D
U
L
A
T
O
R
SISO
MODULE
ACCUM.
SISO
MODULE
HAMMING
MUX
π π
π
π
π
D
E
M
A
P
P
E
R
SISO
MODULE
ACCUM.
SISO
MODULE
ACCUM.
SISO
MODULE
HAMMING
SISO
MODULE
HAMMING
Fig. 3. Decoder for the Hamming and accumulator code.
4
code. This convolutional encoding of the (15,11) Hamming code is shown in Fig. 4. The first k bits
enter the systematic convolutional encoder and emerge as the first k encoded symbols. After k bits, the
switch in Fig. 4 is toggled, and the encoder continues running long enough to produce n − k additional
encoded symbols, which are the parity symbols for the (n, k) Hamming code. We note that an extended
Hamming code, shortened by one bit, also can be implemented by a recursive convolutional code, where
the primitive feedback and feedforward polynomials are multiplied by 1 + D.
The convolutional encoding of an (n, k) Hamming code gives a time-invariant trellis representation
with 2
n−k
states. Alternatively, a time-varying minimal trellis representation can be used for decoding
to gain speed if necessary over that provided by the time-invariant trellis representation. Figure 5 shows
a minimal trellis representation for the (15,11) Hamming code. The time-invariant trellis corresponding
to the convolutional encoder of Fig. 4 has 32 edges per decoded bit, whereas the time-varying trellis of
Fig. 5 has only 17.8 trellis edges (on the average) per decoded bit, a reduction of nearly a factor of 2.
The inner accumulator code can be decoded using the Bahl–Cocke–Jelinek–Raviv (BCJR) algo-
rithm [3,8,9] on a time-invariant trellis with only two states. Alternatively, the accumulator code also
can be decoded using belief propagation on a loop-free Tanner graph [4] representing the same code, as
shown in Fig. 6.
If higher speeds and many iterations are necessary, the inner or outer decoders can pipeline their
iterations as needed.
15-bit
SYSTEMATIC
HAMMING
OUTPUT
CODEWORD
INPUT DATA
11 bits
A
B
D
D D D
Fig. 4. A recursive convolutional code with primitive feedback polynomial that gener-
ates a time-invariant trellis representation that can be used for decoding the (15,11)
Hamming code.
1 11100000000000
0 10110100000000
0 01111000000000
0 00110001000000
0 00011110000000
0 00001011010000
0 00000111100000
0 00000001111000
0 00000000110100
0 00000000011110
0 00000000000111
A MINIMAL SPAN
GENERATOR
MATRIX
FOR THE (15,11)
HAMMING CODE
ENCODED SYMBOL = 0
ENCODED SYMBOL = 1
UPPER BRANCH: INFORMATION BIT = 0
LOWER BRANCH: INFORMATION BIT = 1
Fig. 5. A time-varying minimal trellis representation that can be used for decoding the (15,11) Hamming code.
5
λ
c,k−2
CHANNEL SYMBOLS
INFORMATION BITS
λ
c,k−1
λ
c,k
λ
i,k−1
λ
i,k
λ
i,k+1
Fig. 6. A Tanner graph representation of the accumulator code that can be used for
high-speed parallelizable decoding.
III. Performance on an Additive White Gaussian Noise Channel
First we applied Gaussian density evolution [5,6] (see also [12]) to analyze the performance of con-
catenated Hamming and accumulator codes under iterative decoding on an additive white Gaussian noise
(AWGN) channel. The results are shown in Fig. 7, which plots the output signal-to-noise ratio SNR
out
versus the input signal-to-noise ratio SNR
in
of the extrinsic log-likelihood messages computed by the
outer and inner component decoders. The iterative decoding threshold for this code on the binary-input
AWGN channel is E
b
/N
0
=2.1 dB, which is only 0.6 dB worse than the capacity threshold of 1.505 dB
for any code of rate 11/15.
Next we simulated the performance of the (5580,4092) Hamming and accumulator code when combined
with various modulations. Figures 8 through 10 show the bit-error rate (BER) and codeword-error rate
(WER) performance of this code with QPSK, 8PSK, and 16QAM, respectively, on the AWGN channel.
The capacity thresholds for QPSK, 8PSK, and 16QAM are 1.505 dB, 3.47 dB, and 4.36 dB, at throughputs
of 1.47 bps/Hz, 2.20 bps/Hz, and 2.93 bps/Hz, respectively.
IV. Performance on a Rayleigh Fading Channel
We applied Gaussian density evolution [5,6] to analyze the performance of concatenated Hamming
and accumulator codes under iterative decoding on an independent Rayleigh fading channel with perfect
channel state information. The results are shown in Fig. 11. The iterative decoding threshold for this
code and channel is E
b
/N
0
=5.5 dB.
We simulated the performance of the (5580,4092) Hamming and accumulator code when combined
with QPSK modulation, 8PSK modulation, and 16QAM on a correlated Rayleigh fading channel, where
the ratio of the maximum Doppler rate f
d
to the modulation transmission rate R
s
is set as a parameter.
The fading process was generated by passing a complex white Gaussian process through a filter with
transform function H(f)=
S(f), where S(f)isthe power spectral density of the fading process and is
modeled for an omnidirectional antenna as S(f)=C/
1 − (f/f
d
)
2
, where C is a constant; see Fig. 12.
Figures 13 through 15 show the BER and WER with QPSK, 8PSK, and 16QAM, respectively, and no
channel interleaving, for f
d
/R
s
=0.05. For slower fading, with f
d
/R
s
significantly less than 0.05, channel
interleaving over multiple codewords is required to obtain good performance. The capacity thresholds for
QPSK, 8PSK, and 16QAM over independent Rayleigh fading with perfect channel state information are
4.66 dB, 6.49 dB, and 7.25 dB, at throughputs of 1.47 bps/Hz, 2.20 bps/Hz, and 2.93 bps/Hz, respectively.
6
HAMMING
(15,11)
π
D
ACCUMULATOR
E
b
/ N
0
= 2.1 dB
CODE RATE = 11/15
BPSK or QPSK MODULATION
AWGN CHANNEL
ACCUMULATOR
(15,11) HAMMING
01234 5678 910
0
1
2
3
4
5
6
7
8
9
10
SNR
in
(Accum), SNR
out
(Hamming)
Fig. 7. Gaussian density evolution for the Hamming and
accumulator code on the AWGN channel.
SNR
out
(Accum), SNR
in
(Hamming)
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
1.0 5.0
10
0
E
b
/ N
0
, dB
Fig. 8. Performance of the (15,11) Hamming code concatenated via
a parallelized interleaver with the 2-state accumulator code, when
combined with QPSK modulation on an AWGN channel.
BER and WER
1.5 2.0 2.5 3.0 3.5 4.0 4.5
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
372 PARALLEL (15,11) HAMMING OUTER CODES
15 PARALLEL ACCUMULATOR INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 22/15 (1.47 bps/Hz)
QPSK MODULATION
AWGN CHANNEL
7
8PSK
MODULATION
011
001
000
100
101
111
110
010
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
4.0 6.0
10
0
E
b
/ N
0
, dB
Fig. 9. Performance of the (15,11) Hamming code concatenated via
a parallelized interleaver with the 2-state accumulator code, when
combined with 8PSK modulation on an AWGN channel.
BER and WER
4.5 5.0 5.5
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
372 PARALLEL (15,11) HAMMING OUTER CODES
15 PARALLEL ACCUMULATOR INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 44/15 (2.20 bps/Hz)
8PSK MODULATION
AWGN CHANNEL
5.0 7.0
10
0
E
b
/ N
0
, dB
Fig. 10. Performance of the (15,11) Hamming code concatenated
via a parallelized interleaver with the 2-state accumulator code,
when combined with 16QAM on an AWGN channel.
BER and WER
5.5 6.0 6.5
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10
−8
16QAM
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
I
Q
372 PARALLEL (15,11) HAMMING OUTER CODES
15 PARALLEL ACCUMULATOR INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 44/15 (2.93 bps/Hz)
16QAM
AWGN CHANNEL
8
HAMMING
(15,11)
π
D
ACCUMULATOR
E
b
/ N
0
= 5.5 dB
MODULATION = BINARY
CHANNEL = INDEPENDENT RAYLEIGH FADING CHANNEL
RECEPTION = COHERENT WITH PERFECT CHANNEL
STATE INFORMATION
CODE RATE = 11/15
ACCUMULATOR
(15,11) HAMMING
01 2 3456
0
1
2
3
4
5
6
7
8
9
10
SNR
in
(Accum), SNR
out
(Hamming)
Fig. 11. Gaussian density evolution for the Hamming and accumu-
lator code on an independent Rayleigh fading channel.
SNR
out
(Accum), SNR
in
(Hamming)
78910
COMPLEX WHITE
GAUSSIAN PROCESS
FILTER
H (f ) =
1
4
1 −
f
d
f
2
COMPLEX OUTPUT
PROCESS
Fig. 12. Fading channel simulator to model a correlated
Rayleigh fading channel.
V. Other Performance Examples Using Different Hamming Codes
Figure 16 shows performance with BPSK modulation over an AWGN channel for rate-1/2 codes with
input block sizes k = 1024, 4096, 16384, formed from concatenating k
I
= 128, 512, 2048 (8,4) Hamming
outer codes with n
O
=8accumulator codes. In this case, the minimum distance of the outer codes is 4,
thus yielding higher interleaving gain. As seen in Fig. 16, very low word-error rates are achieved for the
large block size, k = 16384, at E
b
/N
0
of about 1.2 dB, which is about 1 dB above the capacity threshold
for this code. The Shannon capacity limit of 0.187 dB also is shown in the figure.
Figure 17 shows performance with BPSK modulation over an AWGN channel for a very high-rate
(57/63 = 0.905) code with input block size k = 1824, formed from concatenating k
I
=32(63,57)
Hamming outer codes with n
O
=63accumulator codes. The Shannon capacity threshold for rate 57/63
is 3.27 dB.
9
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
510
10
0
E
b
/ N
0
, dB
Fig. 13. Performance of the (15,11) Hamming code concatenated
via a parallelized interleaver with the 2-state accumulator code,
when combined with QPSK modulation on a correlated Rayleigh
fading channel.
BER and WER
6789
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
372 PARALLEL (15,11)
HAMMING OUTER CODES
15 PARALLEL ACCUMULATOR
INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 224/15 (1.47 bps/Hz)
QPSK MODULATION
RAYLEIGH FADING CHANNEL
10
−8
10
−9
DOPPLER/QPSK BAUD RATE = 0.05
712
10
0
E
b
/ N
0
, dB
Fig. 14. Performance of the (15,11) Hamming code concatenated via
a parallelized interleaver with the 2-state accumulator code, when
combined with 8PSK modulation on a correlated Rayleigh fading
channel.
BER and WER
891011
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10
−8
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
372 PARALLEL (15,11)
HAMMING
OUTER CODES
15 PARALLEL ACCUMULATOR
INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 33/15 (2.20 bps/Hz)
8PSK MODULATION
DOPPLER/8PSK BAUD RATE = 0.05
RAYLEIGH FADING CHANNEL
10
812
10
0
E
b
/ N
0
, dB
Fig. 15. Performance of the (15,11) Hamming code concatenated
via a parallelized interleaver with the 2-state accumulator code,
when combined with 16QAM on a correlated Rayleigh fading
channel.
BER and WER
91011
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
8 ITERATIONS
10 ITERATIONS
8 ITERATIONS
BER
10 ITERATIONS
WER
372 PARALLEL (15,11) HAMMING
OUTER CODES
15 PARALLEL ACCUMULATOR
INNER CODES
INPUT BLOCK = 11 372 = 4092 bits
THROUGHPUT = 44/15 (2.93 bps/Hz)
16QAM
RAYLEIGH FADING CHANNEL
DOPPLER/16QAM BAUD RATE = 0.05
VI. Conclusion
The concatenated codes described in this article achieve medium to high code rates using very simple
component codes and can be combined with high-order modulations to obtain good power and bandwidth
efficiency at very high decoding rates.
References
[1] D. Divsalar, H. Jin, and R. J. McEliece, “Coding Theorems for ‘Turbo-Like’
Codes,” 1998 Allerton Conference, September 23–25, 1998.
[2] S. Dolinar and D. Divsalar, “Weight Distributions for Turbo Codes Using Ran-
dom and Nonrandom Permutations,” The Telecommunications and Data Ac-
quisition Progress Report 42-122, April–June 1995, Jet Propulsion Laboratory,
Pasadena, California, pp. 56–65, August 15, 1995.
http://tmo.jpl.nasa.gov/tmo/progress
report/42-122/122B.pdf
[3] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal Decoding of Linear
Codes for Minimizing Symbol Error Rate,” IEEE Trans. Inform. Theory,vol.
IT-20, pp. 284–287, 1974.
[4] R. M. Tanner, “A Recursive Approach to Low Complexity Codes,” IEEE Trans-
actions on Information Theory,vol. 27, issue 5, pp. 533–547, September 1981.
11
INPUT BLOCK
1024 bits
10 ITERATIONS
INPUT BLOCK
4096 bits
10 ITERATIONS
INPUT BLOCK
1024 bits
20 ITERATIONS
INPUT BLOCK
16,384 bits
30 ITERATIONS
INPUT BLOCK
16,384 bits
20 ITERATIONS
CAPACITY 0.187
INPUT BLOCK
4096 bits
20 ITERATIONS
HAMMING
(8,4)
π
D
RATE = 1
RATE = 1/2
ACCUMULATOR
0.0 5.0
E
b
/ N
0
, dB
Fig. 16. Performance with BPSK modulation for a rate-1/2 code formed from con-
catenating an (8,4) Hamming outer code with the 2-state accumulator code.
WORD-ERROR PROBABILITY
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
10
0
10
−1
10
−2
10
−3
10
−4
10
−5
10
−6
[5] H. El Gamal and A. R. Hammons, Jr., “Analyzing the Turbo Decoder Using the
Gaussian Approximation,” IEEE Transactions on Information Theory,vol. 47,
issue 2, pp. 671–686, February 2001.
[6] D. Divsalar, S. Dolinar, and F. Pollara, “Iterative Turbo Decoder Analysis Based
on Density Evolution,” IEEE Journal on Selected Areas in Communications,
vol. 19, no. 5, pp. 891–907, May 2001.
[7] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial Concatenation
of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding,”
IEEE Transactions on Information Theory,vol. 44, pp. 909–926, May 1998.
[8] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “A Soft-Input Soft-
Output Maximum A Posteriori (MAP) Module to Decode Parallel and Serial
Concatenated Codes,” The Telecommunications and Data Acquisition Progress
Report 42-127, July–September 1996, Jet Propulsion Laboratory, Pasadena, Cal-
ifornia, pp. 1–20, November 15, 1996.
http://tmo.jpl.nasa.gov/tmo/progress
report/42-127/127H.pdf
[9] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “A Soft-Input Soft-
Output APP Module for Iterative Decoding of Concatenated Codes,” IEEE
Communications Letters,vol. 1, issue 1, pp. 22–24, January 1997.
12
[10] D. Divsalar, S. Dolinar, and F. Pollara, “Serial Concatenated Trellis Coded
Modulation with Rate-1 Inner Code,” Global Telecommunications Conference,
2000, GLOBECOM ’00, IEEE,vol. 2, no. 27, November 27–December 1, 2000,
pp. 777–782.
[11] C. Berrou and A. Glavieux, “Near Optimum Error Correcting Coding and De-
coding: Turbo-Codes,” IEEE Transactions on Communications,vol. 44, issue 10,
pp. 1261–1271, October 1996.
[12] S. ten Brink, “Convergence Behavior of Iteratively Decoded Parallel Con-
catenated Codes,” IEEE Transactions on Communications,vol. 49, issue 10,
pp. 1727–1737, October 2001.
HAMMING
(63,57)
π
D
ACCUMULATOR
INPUT
BLOCK
1820
CODE RATE = 0.9
BPSK MODULATION
AWGN CHANNEL
5 ITERATIONS
3.0 6.0
E
b
/ N
0
, dB
Fig. 17. Performance with BPSK modulation for a very high rate code
formed from concatenating a (63,57) Hamming outer code with a 2-state,
rate-1 accumulator inner code.
BER
10
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10 ITERATIONS
3.5 4.0 4.5 5.0 5.5
13