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.
© Copyright 2026 Paperzz