The Average Weight Enumerator and the

The Average Weight Enumerator and the Maximum
Likelihood Performance of Product Codes.
Mostafa El-Khamy
Department of Electrical Engineering
California Institute of Technology
Pasadena, CA 91125, USA
E-mail: [email protected]
Abstract— Product codes are widely used in data-storage,
optical and wireless applications. Performance analysis of the
product codes in the literature relied on the truncated union
lower bounds due to lack of the knowledge of the weight
enumerator of most product codes. In this paper, average weight
enumerators of arbitrary product codes over Fq are derived. The
split weight enumerators of some linear codes are studied and are
used in the analysis. The average binary weight enumerator of
product Reed Solomon codes is derived. The relationship between
the codeword weight and the coordinate weight is discussed for
product codes. Consequently, tight bounds on the performance
of product codes at low signal to noise ratios are shown.
I. I NTRODUCTION
Product codes were introduced by Elias [1] in 1954, who
also proposed decoding them by iteratively decoding the
component codes. If R and C are (nr , kr , dr ) and (nc , kc , dc )
linear codes over the finite field of q elements, Fq , re∆
spectively, then the product code P = R × C consists of
all matrices such that each row is a codeword in R and
each column is a codeword in C. It is well known that
P is an (np , kp , dp ) = (n1 n2 , k1 k2 , d1 d2 ) linear code. The
weight enumerators of most families of product codes remains
unknown. Furthermore, performance analysis of maximumlikelihood decoding of linear codes depends on the weight
enumerator. The cardinality of the set of codewords with
r )EC (dc )
,
minimum weight is well known to be EP (dp ) = ER (dq−1
where EC (h) = |{c ∈ C : w(c) = h}| is the weight
enumerator (WE) and w(c) is the Hamming weight of c. A
(heuristic) lower bound commonly used for the codeword error
rate, Φc (γ), on binary-input additive white Gaussian noise
(AWGN) channels is
p
Φc (γ) ≥ EP (dp )Q( 2Rγdp )
(1)
d
and the bit error rate is estimated to be Φb (γ) ≈ npp Φc (γ),
where γ is the signal to noise ratio (SNR). The number of
codewords with very low weight for an arbitrary product code
was specified by Tolhuizen [2]. Using a binomial approximation for the unknown terms, upper bounds on the performance
of binary product codes using the ubiquitous union bound were
shown [3]. However, this approximation is not valid for all
product codes and the bounds are loose for low SNRs.
In this paper, we extend Tolhuizen’s result to find the
input-output weight enumerator of the low weight product
codewords. This is done in Sec. III. In Sec. IV, we derive
average weight enumerators of an arbitrary product code over
Fq by assuming random interleavers instead of the row-column
interleavers. This assumption is justified. Random interleavers
over Fq are studied in Sec. V. The average binary weight
enumerator of product Reed Solomon (RS) codes is derived
in Sec. VI. Our analysis requires the knowledge of the split
weight enumerators (SWEs) of the component codes. The
SWEs of some codes and their duals are studied in Sec. VII. A
relationship between the codeword weight and the coordinate
weight for the product code, which is commonly used when
studying the bit error rates, is discussed in Sec. VIII. We use
these results in Sec IX to bound the performance of maximum
likelihood (ML) decoding of product codes on both binaryinput AWGN channels and binary symmetric channels (BSC).
II. P RELIMINARIES
An (nr nc , kr kc , dr dc ) product code could be encoded by
encoding kc vectors of information symbols, each of length kr ,
into kc codewords in R, each of length nr . The nr kc block
of symbols is then passed through a (symbol) row-column
interleaver. A product codeword, which is an array of nr × nc
symbols, results by encoding the nr vectors, of length kc each,
into codewords in C. The same codeword is also obtained if
the column encoding preceded the row encoding.
The input-redundancy weight enumerator (IRWE) of C,
RC (w1 , w2 ), is the number of codewords with input weight
(weight of the information vector) w1 and whose redundancy
has a weight of w2 . For a systematic code, if T is an (k, n−k)
partition such the first partition of cardinality k constitutes of
the coordinates of the information symbols, then R(w1 , w2 ) =
AT (w1 , w2 ), where the SWE AT (w1 , w2 ) is the cardinality of
the set of codewords with weights w1 and w2 in the first and
second partitions respectively, The input-output weight enumerator (IOWE) O(w, h) enumerates the codewords whose
Hamming weight is h and whose information vector is of
Hamming weight w. The IOWE function (IOWEF) and the
IRWE function (IRWEF) are defined to be respectively,
OC (X, Y )
0-7803-9305-8/05/$20.00 © 2005 IEEE.
=
k X
n
X
w=0 h=0
OC (w, h)X w Y h ,
(2)
RC (X, Y )
k n−k
X
X
=
RC (w, h)X w Y h ,
(3)
w=0 h=0
and, for systematic codes, are related by OC (X, Y ) =
RC (XY, Y ) and EC (W ) = RC (W, W ), where EC (W ) is
the symbol weight enumerator function (WEF). OC (w, h) =
Λ(OC (X, Y ), X w Y h ) where Λ denotes the coefficient function.
III. E XACT IOWE OF PRODUCT CODES FOR L OW W EIGHT
C ODEWORDS
The number of codewords with symbol Hamming weight
1 ≤ i < w(dr , dc ) is [2]
1 X
EC (i)ER (h/i),
(4)
EP (h) =
q−1
i|h
∆
where w(dr , dc ) = dr dc + max(dr ⌈ dqc ⌉, dc ⌈ dqr ⌉).
Eq. 4 is valid for h = w(dr , dc ) if q = 2 and both dr and dc
are odd. These low-weight codewords are obvious codewords,
meaning that they are the direct product of a row codeword
and a column codeword. Let r ∈ R and c ∈ C. Then an
obvious codeword, p ∈ P, is defined by
pi,j
w(p)
= ci r j
= w(r)w(c).
(5)
(6)
1
(The term q−1
in (4) is due to the fact (λci )(r j /λ) are equal
for all nonzero λ ∈ Fq [2].)
We assume that P, R and C are systematic codes. Let p ∈ P
be an obvious codeword and is the product of r ∈ R and
c ∈ C. The kr kc submatrix of information symbols in p could
be constructed from the information symbols in c and r by
(5) for i ≤ kr and j ≤ kc . It thus follows that the input weight
of p is the product of the input weights of c and r. Thus we
have proved the following theorem.
Theorem 1: Let P be a systematic product code in Fq , with
component codes R and C. The exact IOWE for codewords
with an output Hamming weight h < ho is given by
1 XX
OR (i, j)OC (w/i, h/j),
(7)
OP (w, h) =
q−1
i|w j|h
where the sum extends over all factors i and j of w and h
respectively. If q = 2 and both dr and dc are odd then ho =
w(dr , dc ) + 1, otherwise ho = w(dr , dc ).
It should be noted the number of codewords specified by
(4) and (7) is very small as seen in the following corollary.
Corollary 2: Let C be an (n, k, d) RS (maximum distance
separable (MDS)) code over Fq . The weight enumerator of
the product of P = C × C, has the following properties,

h = 0;
 1,
2
EP (h) =
(8)
(q − 1) nd
, h = d2 ;

0,
d2 < h < d(d + 1).
Proof: From the MDS property of RS codes, d = n−k+
1 and n <q. It follows that w(d, d) = d(d+1). Also EC (d) =
(q − 1) nd . The first obvious codeword of nonzero weight
Fig. 1.
A 4 partition of the coordinates of a product codeword.
has weight d2 . The next possible nonzero obvious weight is
d(d + 1) which is w(d, d).
IV. AVERAGE IOWE OF P RODUCT CODES
In this section, we derive an average symbol weight enumerator of a product code over Fq .
Observation 3: An (nr nc , kr kc , dr dc ) product code is the
serial concatenation of an (kc nr , kc kr ) outer code with an
(nc nr , kc nr ) inner code or the serial concatenation of an
(kr nc , kr kc ) outer code with an (nc nr , kr nc ) inner code.
The interleaver is a row-column interleaver with lengths
kc nr and kr nc respectively. (Both codes are equivalent.)
The (kc nr , kc kr ) ((kr nc , kr kc )) outer code, Rkc (C kr ), is
constructed by augmenting kc (kr ) codewords, each in R (C).
By a more careful analysis of a product code, we have
Observation 4: An (nr nc , kr kc , dr dc ) product code is
constructed as follows: I) Parallel concatenate Rkc , an
(nr kc , kr kc ) code, with C kr , an (nc kr , kc kr ) code through
a row-column interleaver to obtain a code D. II) Interleave
the kc (nr − kr ) parity symbols of Rkc (or the kr (nc − kc )
parity symbols of C kr ) with a row-column interleaver. III)
Concatenate this code through the interleaved parity symbols
with C nr −kr , an (nc (nr − kr ), kc (nr − kr )) code (or with
Rnc −kc , an (nr (nc − kc ), kr (nc − kc )) code.)
As shown in the previous section, the row-column interleaver is hard to deal with. So we relax the problem by
finding the weight enumerator averaged over all interleavers.
This would give the expected weight of the product code if a
random interleaver was used and gives some intuition about
the exact weight enumerator of the product code. Furthermore,
it has been found experimentally that the performance of product codes did not differ much if the row-column interleaver
is replaced with a random interleaver [4, Sec. IV B]. We
also confirm that analytically in the Sec. IX. Let V (L, w)
be the averaging factor associated when a vector of weight
w and length L is randomly interleaved. Serial and parallel
concatenated codes, with random interleavers over a binary
alphabet, were studied [5], [6]. Let C k be the code constructed
from C by independently appending k codewords of C, then
∆
OkC (X, Y ) = OC k (X, Y )
=
k
(OC (X, Y )) .
(9)
By Obs. 3, the average IOWE of the product code P is
OP (X, Y ) =
0-7803-9305-8/05/$20.00 © 2005 IEEE.
kX
c nr
w=0
V (kc nr , w)Λ OkRc (X, Y ), Y w
Λ (OnC r (X, Y ), X w ) ,
(10)
2
Average weight enumerator of a product of EH codes, (16,11)
40
10
AWE
Random Code
35
10
30
10
25
10
Eumerator
where Λ (O(X, Y ), Y w ) is the coefficient of Y w in the bivariate polynomial O(X, Y ). Next, we proceed to find the average
IOWE using Obs.(4). Let the coordinates of a systematic
product code be partitioned into 4 partitions as shown in Fig.
1. We begin by finding the partition weight enumerator (PWE)
of the code D constructed by step I;
20
10
15
10
PD (W, X, Y ) =
kX
c kr
10
10
V (kr kc , w)Λ
w=0
Λ
RkRc (W, X), W w
RkCr (W, Y
), W
w
5
10
0
10
w
where PD (W, X, Y ) =
w=0
x=0
y=0
PD (w, x, y)W w X x Y y . Note that PD (X, Y, Y ) gives the average IRWEF for a punctured product code where the checks
on checks are deleted. The row redundancy symbols are then
interleaved and encoded into column codewords, thus the
partition weight enumerator of P is
kc (nr −kr )
X
V (kc (nr − kr ), x)
x=0
Λ RnC r −kr (X, Z), X x Λ (PD (W, X, Y ), X x ) X x .
(12)
PP (w, x, y, z) enumerates the codewords with a
weight profile shown in P
Fig. P
1 and is Pgiven by
kr (nc −kc )
kc kr
kc (nr −kr )
PP (W, X, Y, Z)
=
y=0
x=0
w=0
P(nr −kr )(nc −kc )
PP (w, x, y, z)W w X x Y y Z z . It follows
z=0
that the IRWEF of P is RP (X, Y ) = PP (X, Y, Y, Y ).
Consequently, the IOWEF OP (X, Y ) and the (symbol) WEF
EP (X) are found as described in Sec. II.
The results in this section are combined with those of the
previous section to reflect our knowledge of the exact IOWE
of product codes for low weights, i.e., the modified IOWE is
e
OP (w, h), h < ho ;
ÕP (w, h) =
,
(13)
OP (w, h), h ≥ ho .
e
where ho and OP
(w, h) are given by Th. 1 and OP (w, h) =
w h
Λ(OP (X, Y ), X Y ) is derived from (12). The corresponding IOWEF is denoted by Õ(X, Y ) from which we derive the
modified IRWEF,
R̃P (X, Y ) =
kX
c −kr kc )
r kc (nr nX
x=0
50
100
R̃P (x, y)X x Y y .
(14)
y=0
One could scale the enumerator of codewords of weights ≥
ho , such that the cardinality of the code is preserved. This is
neglected since ho is relatively small.
∆
Observation 5: Let W (C) = {w : EC (w) 6= 0}. Since
the weight of a product codeword p ∈ P is simultaneously
equal to the sum of the row weights and to the sum of the
column weights, then h is a valid weight of p ∈ P, if h
could be partitioned into nc integers restricted to W (R) and
simultaneously partitioned into nr integers restricted to W (C).
150
200
250
Weight
Fig. 2.
Pkc kr Pkc (nr −kr ) Pkr (nc −kc )
PP (W, X, Y, Z) =
0
W , (11)
Average weight enumerator of (16, 11)2 EH product codes.
V. U NIFORM I NTERLEAVERS OVER Fq
We investigate the uniform interleaver, where the interleaver
is a symbol based interleaver and the symbols are in GF (q).
The concept of the uniform interleaver was introduced in [5]
for the binary case, where the number of possible permutations
L
of a vector of length L and Hamming weight w is w
[7].
L
Thus V (L, w) = 1/ w
. For the q-ary case, the number of
possible permutations is given by the multinomial coefficient
[7]. However, this would require knowledge of the number of
occurrences of each of the q symbols in the permuted vector.
We introduce here the notion of the uniform codeword
selector (UCS). We assume that all vectors of weight w and
length L are equally probable at the output of the interleaver
corresponding to a certain input of weight w. All codewords
with input weight w have equal probability of being at the
encoder’s output. The UCS picks one of these codewords (with
input weight w) at random with a probability
V (L, w) = P
1
1
=
B
(w,
h)
(q − 1)w
h C
L
w
,
(15)
P
by observing that h BC (w, h) is equal to the total number of
input vectors of length L and Hamming weight w. It is noticed
that for the binary case, the uniform interleaver is equivalent to
the UCS. The UCS preserves the cardinality of the resulting
concatenated code, i.e., substituting for V (L, w) by (15) in
(11) and (12), results in |P| = q kr kc .
VI. AVERAGE B INARY IRWE OF PRODUCT R EED
S OLOMON C ODES
It is often the case that the binary image of a 2m -ary
(Reed Solomon) product code is transmitted over a binaryinput channel. The performance would depend on the binary
weight enumerator which in turn depends on the basis used
to represent the 2m -ary symbols as bits. We find an average
binary weight enumerator of the product code. The average
binary image for general codes, defined over finite fields of
characteristic two, was studied in [8]. Let E(W ) be the WEF
of an 2m -ary code, then the average binary WEF is [8]
Ē(X) = E(Ψ(X)),
1
2m −1 ((1
(16)
+ X)m − 1). Define R̄C (X, Y ) to
where Ψ(X) =
be the average binary IRWEF. We assume that the distribution
0-7803-9305-8/05/$20.00 © 2005 IEEE.
of the non-zero bits in a non-zero symbol follows a binomial
distribution and that the non-zero symbols are independent.
The assumptions follow for a partition of the coordinates. Thus
we have the following lemma,
Lemma 6: Let PP (W, X, Y, Z) be the (symbol) PWE
function of a product code defined over F2m , then
the average binary PWE function is P̄P (W, X, Y, Z) =
PP (Ψ(W ), Ψ(X), Ψ(Y ), Ψ(Z)). Let R̃P (X, Y ) be the IRWEF, then the average binary IRWEF is R̃P (Ψ(X), Ψ(Y )).
VII. S PLIT WEIGHT ENUMERATORS
As seen in the analysis in the previous sections, deriving the
(average) IRWEF of the product code requires knowledge of
the IRWEF of the component codes. In this section we discuss
the split weight enumerators (SWE) of certain codes, which
are used in this paper. A simple closed form formula for the
SWE of MDS (RS) codes was recently shown by El-Khamy
and McEliece to be
Theorem 7 ([9]): Let T be an arbitrary (n1 , n2 ) partition of
the coordinates of an MDS code, then AT (w1 , w2 ) = E(w1 +
( n1 )( n2 )
w2 ) w1 n w2 .
(w1 +w2 )
( k )( n−k )
Thus, O(w, h) = E(h) w nh−w for systematic RS codes.
(h)
One could find the SWE of a linear code from the SWE of
its dual code. A closed-form formula relating the SWE of the
dual codes could be derived by manipulating the McWilliams
identities for the SWE [10, Ch. 5] [9]. By observing that the
roles of the input and the redundancy are interchanged in the
code and its dual, we have
Theorem 8: Let C be an (systematic) (n, k) linear code over
Fq and C ⊥ be its dual code. Let R(α, β) and R⊥ (α, β) be the
IRWEs of C and C ⊥ respectively, then they are related by
R⊥ (β, α) =
n−k k
1 XX
R(w, v)Kα (w, k)Kβ (v, n − k),
|C| v=0 w=0
such that the Krawtchouk polynomial is Kβ (v, γ) =
Pβ
γ−v v
j
β−j
for β = 0, 1, ..., γ.
j=0 β−j j (−1) (q − 1)
The IRWEF of systematic Hamming codes could be derived by observing that the simplex code is the dual code
[10]. By using Th. 8 and observing that the IRWEF of
m
m−1
the
) simplex code is Rs (X, Y ) = 1 +
Pm(2 m− 1,wm,22m−1 −w
, we have the following closed form
w=1 w X Y
formula for the IRWE of Hamming codes;
Theorem 9: The IRWE of (2m − 1, 2m − m − 1, 3) (systematic) HammingPcodes is m
m
m−1
RH (α, β) = 21m
− w, 2m −
w=1 w Kβ (w, m) Kα (2
m
m 2 −m−1
m − 1) + β
.
α
The IRWE of extended Hamming (EH) codes could be
derived by observing that they are the duals of the (2m , m +
1, 2m−1 ) first order Reed Muller (FORM) codes. For systematic FORM codes, the IRWEF
to be
Pmcould be shown
m
α 2m−1 −α
R(X, Y ) = 1+X m+1 Y 2 −m−1 + α=1 m+1
X
Y
.
α
By Th. 8 and some manipulations we have,
Theorem 10: The IRWE of the (2m , 2m − m − 1, 4) Extended Hamming codes is
Pm
m+1
Kβ (w, m + 1) Kα(2m−1 −
w=1
w
m
2 −m−1
w, 2m − m − 1) + m+1
1 + (−1)α+β .
β
α
Similar to the case of the WE, [10], the IOWE of the EH
codes could also be derived from that of the Hamming codes.
REH (α, β) =
1
2m+1
VIII. C ODEWORD AND B IT E RROR P ROBABILITY
The maximum likelihood (ML) decoder selects the codeword in P which which has the shortest Hamming or Euclidean distance to the received vector when the channels is an
BSC or an AWGN channel respectively. Tight bounds for
the codeword error probability of binary linear codes for
AWGN and BSC channels were derived by Poltyrev [11].
Other bounds such as the Divsalar simple bound and the
variations on the Gallager bounds are also tight for AWGN
and fading channels [12], [13]. Let Φc (E(h), γ) be an arbitrary
bound on the codeword error probability where E(h) is the
WE for a binary linear code and γ is the signal to noise ratio
SNR. Then the bit error probability (BEP) for an (n, k) code
is (e.g. [5], [13] )
Φs (γ) = Φc (E(h), γ) |E(h) ⇒ Oh ,
Pk
where Oh = w=1 w
k O(w, h). ML decoding of binary linear
codes has the least bit error probability when the code is
systematic [14]. A common approximation in the literature is
Oh ≈ nh E(h). This approximation is useful if the IOWEF is
not known but the WEF is known. It is also useful in saving
the computation time required to evaluate these bounds. A
codeword satisfies, Oh = nh E(h), if each of the n coordinates
have the same weight within the subcode constituting of
codewords with equal weight. In other words, for an arbitrary
(1, n − 1) partition of the coordinates, let BC (1, h) to be the
number of codewords with weight one in the single coordinate
and a total weight h. If BC (1, h) = nh EC (h) then C is said to
have property Ah . If C has property Ah for all h, then C has
property A.
Theorem 11: If the codes C and R have property A (Ah
for h < ho ), then their product P = R × C has this property
for codewords with obvious weights.
Proof: Fix a coordinate in C. Let this coordinate be the
input coordinate and From Th. 1 we have for h < ho ,
1 X
BP (1, h) =
BC (1, j)BR (1, h/j)
q−1
j|h
1 X j
h/j
h
=
EC (j)
ER (h/j) =
EP (h),
q−1
nc
nr
nr nc
j|h
which holds for all weights h < ho .
Theorem 12 ([9]): A linear code has property A iff its dual
code has property A.
Consequently, the FORM and the extended Hamming codes
were shown to have property A [9]. It is also possible to prove
that the simplex code and thus their duals, the Hamming codes,
have property A;
Theorem 13: The simplex code of length 2m − 1 has
property A
0-7803-9305-8/05/$20.00 © 2005 IEEE.
2
2
Average Weight Enumerator of the (7,5) RS Product Code
30
Average Binary Weight Enumerator of the (7,5) RS Product Code
30
10
10
Binary AWE
Random Code
Symbol AWE
Random Code
20
10
20
10
Weight Enumerator
Weight Enumerator
10
10
10
0
10
10
0
10
−10
10
−10
10
−20
10
−20
10
0
Fig. 3.
−30
10
20
30
(Symbol) Weight
40
50
10
0
50
100
150
(Binary) Weight
Symbol Weight Enumerator of (7, 5)2 product RS code
Fig. 4.
Binary Weight Enumerator of (7, 5)2 product RS code
ML Performance of Products of Extended Hamming codes
0
10
IX. N UMERICAL R ESULTS
We demonstrate our technique for finding the average
weight enumerator (AWE) for the (8, 4)2 EH product code.
From Th. 10, its IOWEF is OEH (X, Y ) = 1 + 4XY 4 +
6X 2 Y 4 +4X 3 Y 4 +X 4 Y 8 . Using Obs. 3, the AWE function of
the product code, rounded to the nearest integer, is EP (W ) =
1 + 3W 8 + 27W 12 + 107W 16 + 604W 20 + 3153W 24 +
13653W 28 +30442W 32 +13653W 36 +3153W 40 +604W 44 +
107W 48 + 27W 52 + 3W 56 + W 64 . Note that all codewords
in the component and product codes have even weights.
By Obs. 4, the AWE function is EP (W ) = 1 + 2W 8 +
26W 12 + 98W 16 + 568W 20 + 3116W 24 + 13780W 28 +
30353W 32 + 13780W 36 + 3116W 40 + 568W 44 + 98W 48 +
26W 52 + 2W 56 + W 64 which is close to that of Obs. 3.
(For space limitations we do not show the IOWEFs.) It
could be checked that in both cases, the cardinality of the
code (without rounding) is preserved to be 216 . In general,
Obs. 4 gives more accurate results and is used in the results
shown in this paper. The exact IOWEF of the product code
for weights less than ho = 24 is OeP (X, Y ) = 1 + 16XY 16 +
48X 2 Y 16 + 32X 3 Y 16 + 36X 4 Y 16 + 48X 6 Y 16 + 16X 9 Y 16 .
It follows that the modified WEF for the product code is
ẼP (T ) = 1 + 196T 16 + 3116T 24 + 13781T 28 + 30353T 32 +
−1
10
−2
10
−3
10
−4
10
BER
Proof: The codewords of a simplex code are the rows of
a binary Hadamard matrix after deleting the all zero column.
Thus the weight of any coordinate (column) is 2m−1 in all
codewords (rows) of weight 2m−1 and zero for the all zero
codeword.
Corollary 14: The (2m − 1, 2m − m − 1, 3) Hamming code
has property A.
MDS codes have property A [9]. If a binary code has a
transitive automorphism group (TAG) (including cylic codes),
then it has property A [15]. If C is linear, then Aut(C) =
Aut(C ⊥ ), where C ⊥ is the dual code. Thus C ⊥ has property
A which strengthens Th. 12. If each of the component (binary)
codes has a TAG then the product code has a TAG and thus
property A [15], which strengthens Th. 11. It is to be noted
that if the component codes have property A, the product code
resulting from random interleavers, does not in general have
property A but the approximation is valid.
−5
10
(8,4)2,SD(UB)
(8,4)2 (ex),SD(UB)
−6
10
(8,4)2, SD(LB)
(16,11)2, SD(UB)
−7
10
(16,11)2, SD(LB)
(32,26)2, SD(UB)
−8
10
(32,26)2, SD(LB)
(8,4)2, HD
−9
10
(16,11)2, HD
(32,26)2, HD
−10
10
Fig. 5.
0
1
2
3
4
SNR (dB)
5
6
7
8
ML Performance of Product of EH codes on AWGN channels
13781T 36 +3116T 40 +568T 44 +98T 48 +26T 52 +2T 56 +T 64 .
For comparison purposes, the exact weight enumerator is
(found numerically)
EP (X) = 1 + 196X 16 + 4704X 24 + 10752X 28 +
34230X 32 + 10752X 36 + 4704X 40 + 196X 48 + X 64 .
The modified average weight enumerator (MAWE) of the
product of (16, 11) EH codes is shown in Fig. 2. It is observed
that for medium weights, the distribution is close to that of
random codes given by
kp −np np
E(w) = q
(q − 1)w
w
(except that only even weights exist). This observation could
be used to reduce the computations required to evaluate the
AWE. We find the number of codewords for low to medium
weights by considering only codewords in the component
codes of weights less than a certain threshold t, i.e. considering
only the monomials in OR (X, Y ) and OC (X, Y ) whose (0, 1)
weighted degree (Y -degree) is less than t. The remaining
weights of the product codes are found by the symmetry
property of the weight enumerator. It is to be noted that the
performance of a linear code is largely determined by the
codewords of relatively low weights. The (modified average)
symbol weight enumerator of the (7, 5)2 product RS codes
over F8 is shown in Fig. 3. It is observed that the weight
enumerator approaches that of a random code over F8 for large
weights. The average binary weight enumerator of this code is
0-7803-9305-8/05/$20.00 © 2005 IEEE.
ML Performance of Products of Hamming codes
0
10
2
(7,4) , SD (UB)
(7,4)2(ex), SD (UB)
−1
2
10
(7,4) ,
SD (LB)
2
(15,11) , SD (UB)
2
(15,11) , SD (LB)
−2
10
(31,26)2, SD (UB)
2
(31,26) , SD (LB)
2
(7,4) ,
−3
10
HD
2
(15,11) , HD
BER
(31,26)2, HD
−4
10
−5
10
−6
10
−7
10
−8
10
0
1
2
3
4
5
6
7
8
SNR (dB)
Fig. 6. ML Performance of Product of Hamming codes on AWGN channels
ACKNOWLEDGMENT
This research was supported by NSF grant no. CCR0118670 and grants from Sony, Qualcomm, and the Lee Center
for Advanced Networking. The author would like to thank R.
McEliece and J. Thorpe for useful discussions.
Performance of product Reed Solomon Codes
0
X. C ONCLUSIONS
We have studied the average weight enumerator of q-ary linear product codes. We relax the problem by assuming random
interleavers over Fq instead of the row column interleavers.
The exact IOWE for low-weight codewords were derived. We
show closed form formulas for the IRWE of the Hamming
and extended Hamming codes. Consequently, we analyze
the performance of maximum-likelihood decoding of product
codes, especially at low SNRs. It is observed that for nearly the
same rate, products of RS codes have superior performance to
the products of Hamming and extended Hamming codes. This
partially justified by their larger length and better minimum
distance. Furthermore, they do not seem to suffer from error
floor problems.
10
−10
10
BER
−20
10
R EFERENCES
2
−30
10
−40
10
0
(7,5) ,SD
(15,7)2, SD
2
(15,11) , SD
(7,5)2, HD
2
(15,7) , HD
2
(15,11) , HD
2
4
6
8
10
SNR
Fig. 7.
ML Performance of Products of RS codes on AWGN channels
shown in Fig. 4. It is superior to a random code at low weights
and then, as expected, approaches that of a binary random
code. As noted before, one could enumerate the codewords
whose weight is less than a certain threshold and approximate
the rest by a random code.
The performance of soft-decision (SD) and hard-decision
(HD) maximum likelihood (ML) decoding of various extended
Hamming codes on an AWGN channel is shown in Fig. 5.
The Potyrev upper bounds (UB) for the BSC and the AWGN
channel were used respectively. The truncated union (lower)
bounds are shown. As observed from the figure, the SD ML
performance of the (8, 4)2 code (with exact weight enumerator,
labeled ‘ex’) is almost equal to that of the corresponding code
with the MAWE, i.e. obtained by random interleavers, but
with the same minimum distance. Similar arguments carry
over to product Hamming codes whose performance is shown
in Fig. 6. As expected, the EH product codes have a better
performance due to their larger minimum distance. SD ML
decoding offers about a 2 dB coding gain over HD ML
decoding. By comparing to simulations of these codes (e.g.
[4], [15]), our bounds are tight at low SNRs. We also study
the ML performance of product RS codes, for both SD and
HD decoding when their binary image is transmitted over an
AWGN channel. These results are shown in Fig. 7.
[1] P. Elias, “Error-free coding,” IRE Trans. Inform Theory, vol. IT-4, pp.
29–37, 1954.
[2] L. Tolhuizen, “More results on the weight enumerator of product codes,”
IEEE Trans. Inform. Theory, vol. 48, no. 9, pp. 2573–2577, Sep. 2002.
[3] L. Toluizen, S. Baggen, and E. H-Nowacka, “Union bounds on the
performance of product codes,” in Proc. of ISIT 1998., Cambridge, MA,
USA, 1998.
[4] J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block
and convolutional codes,” IEEE Trans. Inform. Theory, vol. 42, pp. 429–
449, Mar 1996.
[5] S. Benedetto and G. Montorsi, “Unveiling turbo codes: Some results on
parallel concatenated coding schemes,”,” IEEE Trans. Inform. Theory,
vol. 42, no. 3, pp. 409–428, Mar. 1996.
[6] S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara, “Serial concatenation of interleaved codes: Performance analysis, design and iterative
decoding.” IEEE Trans. Inform. Theory, vol. 44, no. 3, pp. 909–926,
May 1998.
[7] J. H. van Lint and R. M. Wilson, A Course in Combinatorics, 2nd ed.
Cambridge: Cambridge U. Press, 2001.
[8] M. El-Khamy and R. J. McEliece, “Bounds on the average binary
minimum distance and the maximum likelihood performance of Reed
Solomon codes,” in 42nd Allerton Conf. on Communication, Control
and Computing, 2004.
[9] ——, “The partition weight enumerator of MDS codes and its applications.” submitted to International Symposium on Information Theory
(ISIT) 2005.
[10] F. J. MacWilliams and N. J. Sloane, The Theory of Error Correcting
Codes. Amsterdam: North Holland, 1977.
[11] G. Poltyrev, “Bounds on the decoding error probability of binary linear
codes via their spectra,” IEEE Trans. Inform. Theory, vol. 40, no. 4, pp.
1284–1292, July 1994.
[12] D. Divsalar, “A simple tight bound on error probability of block codes
with application to turbo codes,” TMO Progress Report, NASA,JPL,
Tech. Rep. 42–139, 1999.
[13] I. Sason and S. Shamai, “Improved upper bounds on the ml decoding
error probability of parallel and serial concatenated turbo codes via their
ensemble distance spectrum.” IEEE Trans. Inform. Theory, vol. 46, no. 1,
pp. 24–47, Jan 2000.
[14] M. Fossorier, S. Lin, and D. Rhee, “Bit-error probability for maximumlikelihood decoding of linear block codes and related soft-decision
decoding methods,” IEEE Trans. Inform. Theory, vol. 44, no. 7, p.
30833090.
[15] F. Chiaraluce and R. Garello, “Extended hamming product codes analytical performance evaluation for low error rate applications,” IEEE
Transactions on Wireless Communications, vol. 3, pp. 2353–2361, Nov.
2004.
0-7803-9305-8/05/$20.00 © 2005 IEEE.