PAPER
A Low-Complexity Step-by-Step Decoding Algorithm for Binary
BCH Codes
Ching-Lung CHR†a), Szu-Lin SU†, Members, and Shao-Wei WU†, Nonmember
SUMMARY A low-complexity step-by-step decoding algorithm for t-error-correcting binary Bose-Chaudhuri-Hocquenghem (BCH) codes is proposed. Using logical analysis, we obtained a simple rule which can di-rectly determine whether a bit in the received word is correct. The computa-tional complexity of this decoder is less than the convencomputa-tional step-by-step decoding algorithm, since it reduces at least half of the matrix computations and the most complex element in the conventional step-by-step decoder is the “matrix-computing” element.
key words: BCH code, step-by-step decoding, matrix computation, com-putational complexity
1. Introduction
The Bose-Chaudhuri-Hocquenghem (BCH) codes are a class of powerful multiple-error-correcting cyclic codes [1]– [3]. One popular error-correcting decoding procedure for bi-nary BCH codes includes three major steps [1, 2, 4, 5]: 1) Calculate the syndrome values Si, i = 1, 2, . . . , 2t from
the received word.
2) Determine the error location polynomial σ(x). 3) Find the roots of σ(x), and then correct errors.
Massey first presented another well-known decoding method, the step-by-step decoding algorithm, for general BCH codes [6]. The step-by-step decoding algorithm [6]– [9] involves changing received symbols one at a time, check-ing whether the weight of the error pattern has been reduced. The common procedure of this method for decoding the bi-nary BCH codes also consists of the following three steps: a) Calculate the syndrome values Si, i = 1, 2, . . . , 2t from
the received word.
b) Temporarily change one received bit and then check whether the number of errors has been reduced. If so, the received bit is erroneous and shall be corrected. c) Following the same procedure as step (b), check the
re-ceived bits one by one.
The step-by-step decoding method avoids calculating the coefficients and searching for the roots of the error-location polynomial, so it is may be less complex than the standard algebraic method. The conventional step-by-step decoding algorithm has not been widely employed for BCH
Manuscript received April 23, 2004. Manuscript revised August 9, 2004. Final manuscript received October 7, 2004.
†The authors are with the Department of Electrical
Engineer-ing, National Cheng Kung University, Tainan 701, Taiwan, R.O.C. a) E-mail: [email protected]
codes with large error-correcting capability owing to its re-quirement for calculation of the determinant of the syn-drome matrix.
To achieve real-time decoding, [9] proposed a step-by-step decoder for t-error-correcting binary BCH codes in which a shift-syndrome generator is added and the matrix-calculation circuit is realized by systolic array so that the av-erage computation time for the real-time decoder is only two logic-gate delays. This decoder has adopted the logic con-cept in the comparison of the number of errors. However, it has not tried to reduce the number of matrix-calculations.
This paper presents a modified step-by-step decoding algorithm for t-error-correcting binary BCH codes. By us-ing logical analysis, the determination whether a received bit is erroneous in the step-by-step decoding algorithm as proposed in [9] can be further simplified into general func-tions. The new decoder requires only approximately half of the matrix calculations as the decoder in [9]. Thus, the com-putational complexity of this decoder is much less, since the most complex element of the step-by-step decoder is the “matrix-computing” element. Furthermore, the simple and regular decoding procedure also makes the decoder suitable in hardware realization.
The remainder of this paper is organized as follows. Section 2 describes the binary BCH codes and the step-by-step decoding algorithm proposed in [9]. Section 3 intro-duces a new step-by-step decoding algorithm and compares its calculation complexity with previous algorithm. Section 4 presents an example of the new decoder. Finally, Section 5 provides some concluding remarks.
2. Preliminaries
A t-error-correcting binary BCH code is capable of cor-recting any combination of t or fewer errors in a block of
n = 2m− 1 digits. For any positive integer m (m ≥ 3) and t
(t < 2m−1), there exists a binary BCH code with the
follow-ing parameters:
Block length: n= 2m− 1
Number of information bits: k≥ n − mt Minimum distance: dmin≥ 2t + 1.
The generator polynomial of the code is specified in terms of its roots over the Galois field GF(2m). Let α
be a primitive element in GF(2m). The generator
polyno-mial g(x) of the code is the lowest degree polynopolyno-mial over GF(2), which has α, α2, α3, . . . , α2t as its roots. LetΦ
1(x),
Φ3(x), . . . ,Φ2t−1(x) be the distinct minimum polynomials of
α, α3, . . . , α2t−1, respectively. Then, g(x) is given by
g(x) = LCM{Φ1(x),Φ3(x), . . . ,Φ2t−1(x)}. (1)
Let v(x) =
n−1 i=0
vixi be a systematic codeword and e(x) = n−1
i=0
eixibe an error polynomial. Then, the received word can
be expressed as r(x)= n−1 i=0 rixi= v(x) + e(x). (2)
The weight of the error pattern e(x) is the number of errors in the received word r(x). The corresponding syndromes can be calculated by
Si= r(αi)= v(αi)+ e(αi)= e(αi), i= 1, 2, . . . , 2t. (3)
For 1≤ v ≤ t, the v × v syndrome matrix is defined as
Mν= S1 1 0 · · · 0 S3 S2 S1 · · · 0 .. . ... S2v−1 S2v−2 S2v−3 · · · Sv .
The relations between the syndrome matrices and the num-ber of errors in r(x) can be found by theorem 9.11 in [1], or property 4in [6]. The theorem is restated below.
Theorem 1: For any binary BCH code and any v such that
1≤ v ≤ t, the syndrome matrix Mνis singular if the number
of errors is ν− 1 or less, and is nonsingular if the number of errors is ν or ν+ 1.
According to Theorem 1, the number of errors in r(x) can be determined from the values of the determinants of the syndrome matrices det(Mν), v= 1, 2,. . . , t. For example, if
det(M1) 0, det(M2) 0, det(M3) 0, and det(Mv)= 0,
for v= 4, 5, . . . , t, then three errors have occurred. Hence, to acquire the information of the number of errors, the step-by-step decoding algorithm is concerned whether the values of det(Mν), v= 1, 2,. . . , t, equal to zero, and a decision vector
m composed of decision bits mv, v= 1, 2,. . . , t, is defined as
[9]
m= (m1, m2, · · · , mt),
where mv= 0 if det(Mν)= 0 and mv= 1 if det(Mν) 0.
The decision vector of a general t-error-correcting bi-nary BCH code can be expressed as follows:
1) m = (0t) if no error has occurred, where 0t denotes t
consecutive identical 0 bits. For example, vector (03)=
(0, 0, 0).
2) m= (1, 0t−1) if one error has occurred.
3) m ∈ {(×u−2, 1, 1, 0t−u)} if u errors, 2 ≤ u < t, have occurred, where the “×” means a value of either 0 or 1. 4) m∈ {(×t−2, 1, 1)} if t errors have occurred.
For example, if t = 2, the decision vector can be (0, 0) for no error, (1, 0) for a single error, or (1, 1) for two errors.
Consequently, the number of errors can be correctly de-termined by the decision vector m if and only if the weight of error pattern is t or less. If the received word r(x)=
n−1 i=0
rixi
is modified by changing temporarily a selected bit at posi-tion xp, 0 ≤ p ≤ n − 1, then the modified received word
becomes
rp(x)= r(x) + xp= v(x) + e(x) + xp= v(x) + e¯p(x),
(4) where e¯p(x) = e(x) + xp and the subscript “ ¯p” in e¯p(x)
in-dicates that the magnitude of the xpposition of e(x) is
tem-porarily changed.
Then, the modified syndrome matrix becomes
Mv, ¯p= S1, ¯p 1 0 · · · 0 S3, ¯p S2, ¯p S1, ¯p · · · 0 .. . ... S2v−1, ¯p S2v−2, ¯p S2v−3, ¯p · · · Sv, ¯p , where Si, ¯p= e(αi)+ (αi)p= Si+ αip, i= 1, 2, . . . , 2t.
The corresponding decision vector m¯pcan also be
de-fined as
m¯p= (m1, ¯p, m2, ¯p, · · · , mt, ¯p),
where mv, ¯p= 0 if det(Mv, ¯p)= 0 and mv, ¯p= 1 if det(Mv, ¯p)
0, v= 1, 2,. . . , t.
Hence, m is the decision vector of original syndromes and m¯p is the decision vector of temporarily changed
syn-dromes. Whether the bit at position xpof r(x) is erroneous
can be determined from the difference between m and m¯p.
The step-by-step decoding algorithm proposed in [9] is then described as follows:
1) Determine the original syndromes and the decision vector m= (m1, m2, . . . mt).
2) Change the magnitude of the xp position of r(x)
tem-porarily and determine the modified decision vector
m¯p= (m1, ¯p, m2, ¯p, · · · , mt, ¯p).
3) Using m and m¯p, determine the value of ˆep(t), which
is the estimated value at the xp position of the error
pattern e(x) by ˆep(1)= m1m¯1, ¯p, (5a) ˆep(2)= (m1m¯1, ¯p) ¯m2m¯2, ¯p∨ m1m1, ¯pm2m¯2, ¯p, (5b) and ˆep(l) = [ˆep(l− 1)) ¯mlm¯l, ¯p] ∨ml−2, ¯pm1−1ml−1, ¯pmlm¯l, ¯p, (5c)
3 ≤ l ≤ t, where t is the error-correcting capability of the binary BCH code, “∨” is the logical operator “OR,” and ¯miis the complement of mi. (Proof: See the
Appendix.)
3. Proposed Decoding Algorithm
A new step-by-step decoding algorithm for t-error-correcting binary BCH codes is proposed as follows. The algorithm follows the same idea as that proposed in [9], but further reduces the amount of the determinant-calculation of syndrome matrices by means of logical analysis. The logical analysis is based on the fact that only 2t+ 1 cases are possi-ble when we want to determine the value at the xpposition (0≤ p ≤ n − 1) of the error pattern e, e = (e0, e1, . . . , en−1),
for a t-error-correcting binary BCH code. For example, for a binary (15, 7) BCH code (t= 2), all five possible cases of
epare expressed in Table 1 and described as below:
1) If no error occurs, then the value of epmust be correct
(i.e. ep=0).
2) If one error occurs, then the value of ep can be
erro-neous or correct (i.e. ep= 1 or ep= 0).
3) If two errors occur, then the value of ep can be
erro-neous or correct (i.e. ep= 1 or ep= 0).
In the following, we assume that the signal-to-noise ra-tio (SNR) of the communicara-tion is large enough such that the number of errors in a received codeword is t or fewer for a t-error-correcting binary BCH code.
Theorem 2: For a t-error-correcting binary BCH code, the
estimated error value at position xpof the error pattern, ˆe p(t),
n− k ≤ p ≤ n − 1, can be given by
ˆep(1)= ¯m1, ¯p, (6a)
ˆep(l)= ˆep(l− 1) ¯ml∨ mlm¯l, ¯p, for 2≤ l ≤ t. (6b) Proof:
In the case t= 1: Let w(e) be the weight of error pattern e,
and ep(1) be the value of position xpin e, n− k ≤ p ≤ n − 1.
Three possible cases apply in the determination of the value of ep(1), as shown in row 2 of Table 2. Row 4 is the decision
bit m1. If no error occurs [w(e) = 0], det(M1)= 0, then
m1 = 0. If one error occurs [w(e) = 1], det(M1) 0, then
m1 = 1. w(e¯p) and m1, ¯p indicates the weight of the error
pattern and the decision bit for changing the received digit
rp, respectively. It is easy to see that ˆep(1)= ¯m1, ¯p.
In the case t ≥ 2: There are 2t+1 possible cases in
deter-mining the value at position xp[ep(t), n− k ≤ p ≤ n − 1] of
the error pattern e, as shown in row 2 of Table 3. As the case of t= 1, the decision bits m1, m2, . . . , mt−1, mt, m1, ¯p, m2, ¯p,
. . . , mt−1, ¯pand mt, ¯pin Table 3 can be determined by
Theo-rem 1. All 2t+1 possible estimated values of ep(t), as shown
in the bottom row of Table 3, are equal to ˆep(t−1) ¯mt∨mtm¯t, ¯p.
Hence, in a similar way, we can get
Table 1 The possible various cases of epfor t= 2.
ˆep(l) = ˆep(l− 1) ¯ml∨ mlm¯l, ¯p
= {[( ¯m1, ¯pm¯2)∨ m2m¯2, ¯p]· · · } ¯ml
∨ mlm¯l, ¯p, for 2 ≤ l ≤ t.
Q. E. D.
Equations (6a) and (6b) can be further simplified as shown in the following theorem.
Theorem 3: For a t-error-correcting binary BCH code, the
estimated error value at position xpof the error pattern, ˆe p(t),
n− k ≤ p ≤ n − 1, can be given by
ˆep(1)= ¯m1, ¯p, (7a)
ˆep(2)= m1m¯2, ¯p, (7b)
and
Table 2 The logic analysis in Theorem 2 for t= 1.
Table 4 The logic analysis in Theorem 3 for t is odd.
Table 5 The logic analysis in Theorem 3 for t is even.
ˆep(l)= ˆep(l− 2) ¯ml−1∨ ml−1m¯l, ¯p, for 3≤ l ≤ t. (7c)
The proof of Theorem 3 is similar to that of Theorem 2 and its analysis refers to Table 4 (for t is odd) and Table 5 (for t is even). For example, if t= 3, then ˆep(3)= ˆep(1) ¯m2∨
m2m¯3, ¯p, and if t= 4, then ˆep(4)= ˆep(2) ¯m3∨ m3m¯4, ¯p.
According to Theorem 3, the procedure of the proposed step-by-step decoding algorithm for a t-error-correcting bi-nary BCH code can be summarized as follows:
Table 6 The equations and matrix-calculations of the error correctors for t-error-correcting binary BCH decoders, t= 1, 2, 3, 4, 5; n − k ≤ p ≤ n − 1.
1) Calculate the original syndromes Si (i = 1, 2, 3,. . . ,
2t).
2) Determine initial decision vector m= (m2, m4, · · · , mt−1)
if t is odd, or m= (m1, m3, · · · , mt−1) for t is even.
3) Let p= n − 1.
4) Change the magnitude of the xp position of r(x)
tem-porarily and determine the modified decision vector
m¯p = (m1, ¯p, m3, ¯p, · · · , mt, ¯p) if t is odd, or m¯p =
5) Using m and m¯p, determine the value of ˆep(t), which
is the estimated value at the xp position of the error
pattern e(x) by Eqs. (7a), (7b), and (7c). 6) Send the output bit ˆrp= rp+ ˆep(t).
7) Let p = p − 1. If p = n − k − 1, then this decoding algorithm is completed. Otherwise, go to step 4. Table 6 compares the equations and the matrix calcula-tions required in the proposed decoders with those required in [9]. Obviously, the proposed algorithm reduces the num-ber of matrix computations by half at least.
4. Illustrative Example
Consider the (31, 11) binary BCH code with error correcting capability t= 5 as an example. Let α denote a primitive element of GF (25) and α5 + α2+ 1 = 0. The generator
polynomial of the (31,11) binary BCH code is defined as the least common multiple of the minimal polynomials of 1, α, α2, . . . , and α10. Assume there are three errors in the received polynomial r(x) and e(x)= x7+ x20+ x25.
The initial syndrome values are
S1= 1, S2= 1, S3= α8, S4= 1, S5= α19, S6= α16, S7= α7. Since det(M4)= S1 1 0 0 S3 S2 S1 1 S5 S4 S3 S2 S7 S6 S5 S4 = 0 and det(M2)= SS1 1 3 S2 = α20 0, so m4= 0 and m2= 1.
From Eq. (7), the estimated error value of ep(5) is
ˆep(5) = ( ¯m1, ¯pm¯2∨ m2m¯3, ¯p) ¯m4∨ m4m¯5, ¯p
= ( ¯m1, ¯p· 0 ∨ 1 · ¯m3, ¯p)· 1 ∨ 0 · ¯m5, ¯p
= ¯m3, ¯p (8)
For 20≤ p ≤ 30 the temporarily changed syndrome values are Si, ¯p= Si+ αip, i= 1, 2, 3, 4, 5. Then, S1,30= α17, S1,29 = α3, S1,28= α26, S1,27= 1, S1,26= α28, S1,25 = α21, S1,24 = α15, S1,23= α12, S1,22= α7, S1,21= α25, S1,20= α8; S2,30= α3, S2,29= α6, S2,28= α21, S2,27= 1, S2,26= α25, S1,25 = α21, S1,24 = α15, S2,23= α24, S2,22= α14, S2,21 = α19, S2,20 = α16; S3,30= α16, S3,29 = α7, S3,28= α21, S3,27= α27, S3,26= α28, S3,25 = α4, S3,24= α6, S3,23= α25, S3,22= α14, S3,21= α23, S3,20= α2; S4,30= α6, S4,29= α12, S4,28= α11, S4,27= 1, S4,26= α19, S4,25= α22, S4,24= α29, S4,23= α17, S4,22= α28, S4,21= α27, S4,20= α1; S5,30= α10, S5,29= α24, S5,28= α24, S5,27= 1, S5,26= α20, S5,25= α2, S5,24= α19, S5,23= α17, S5,22= α22, S5,21= α3, S5,20= α30.
By calculating the value of
det(M3, ¯P)= S1, ¯P 1 0 S3, ¯P S2, ¯P S1, ¯P S5, ¯P S4, ¯P S3, ¯P , we can determine m3,30= 1, m3,29= 1, m3,28= 1, m3,27 = 1, m3,26= 1, m3,25= 0, m3,24= 1, m3,23= 1, m3,22 = 1, m3,21= 1, m3,20= 0. Hence, ˆe30(5)= ¯m3,30 = 0, ˆe29(5)= ¯m3,29= 0, ˆe28(5)= ¯m3,28 = 0, ˆe27(5)= ¯m3,27= 0, ˆe26(5)= ¯m3,26 = 0, ˆe25(5)= ¯m3,25= 1, ˆe24(5)= ¯m3,24 = 0, ˆe23(5)= ¯m3,23= 0, ˆe22(5)= ¯m3,22 = 0, ˆe21(5)= ¯m3,21= 0, and ˆe20(5)= ¯m3,20= 1.
Therefore, the estimated error pattern of the message part of the received vector is
(ˆe20, ˆe21, ˆe22, ˆe23, ˆe24, ˆe25, ˆe26, ˆe27, ˆe28, ˆe29, ˆe30)
= (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0).
5. Conclusions
A novel step-by-step decoding algorithm for t-error-correcting primitive binary BCH codes is proposed in this paper. A simple equation to estimate the error value of the error pattern is obtained by logical analysis. The computa-tional complexity of this decoder is much lower than of the step-by-step decoding algorithm proposed in [9], since the most complex elements in the step-by-step decoder are the “matrix-computing” elements and the proposed algorithm at least reduces half of the matrix computations. Furthermore, as [9] the simple structure also makes it suitable for hard-ware realization.
References
[1] W.W. Peterson and E.J. Weldon, Error-Correcting Codes, MIT Press, Cambridge, MA, 1972.
[2] E.R. Berlekamp, Algebraic Coding Theory, McGraw-Hill, New York, NY, 1968.
[3] S. Lin and D.J. Costello, Error Control Coding: Fundamentals and Applications. Prentice-Hall, Englewood Cliffs, NJ, 1983.
[4] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, North-Holland, New York, NY, 1977.
[5] W.W. Peterson, “Encoding and error-correcting procedures for the Bose-Chaudhuri codes,” IRE Trans. Inf. Theory, vol.IT-6, pp.459– 470, Sept. 1960.
[6] J.L. Massey, “Step-by-step decoding of the Bose-Chaudhuri- Hoc-quenghem codes,” IEEE Trans. Inf. Theory, vol.IT-11, no.4, pp.580– 585, 1965.
[7] Z. Szwaja, “On step-by-step decoding of the BCH binary code,” IEEE Trans. Inf. Theory, vol.IT-13, pp.350–351, 1967.
[8] S.W. Wei and C.H. Wei, “High-speed hardware decoder for double-error-correcting binary BCH codes,” IEE Proc., vol.136, no.3, pp.227–231, 1989.
[9] S.W. Wei and C.H. Wei, “A high-speed real-time binary BCH de-coder,” IEEE Trans. Circuits Syst. Video Technol., vol.3, no.2, pp.138–147, 1993.
Appendix: Proof of Eqs. (5a), (5b), and (5c)
Letw(e) be the weight of error pattern e, ˆep(t) be the
es-timated value of position xp in e, n − k ≤ p ≤ n − 1.
m= (m1, m2, · · · , mt) is the decision vector of original
syn-dromes and m¯p = (m1, ¯p, m2, ¯p, · · · , mt, ¯p) is the decision
vec-tor of temporarily changed syndromes.
In the case t = 1: Three possible cases apply in the
de-termination of the value of ep(1), as shown in column 2 of
Table A· 1. The analysis of Table A· 1 as follows:
1) If no error occurs [w(e) = 0, m = (m1)= (0)], then the
value of ep must be correct (i.e. ep =0). Temporarily
change a received bit at position xp, n− k ≤ p ≤ n − 1, then one error occurs [w(e¯p)= 1, m¯p= (m1, ¯p)= (1)].
2) If one error occurs [w(e) = 1, m = (m1)= (1)], then the
value of ep can be erroneous or correct (i.e. ep = 1 or
Table A· 1 The logic analysis of Eq. (5a) for t= 1.
ep= 0). Temporarily change a received bit at position
xp, then no or two errors occur [w(e
¯p)= 0 or 2, m¯p =
(m1, ¯p)= (0) or (1)]. It is easy to see that the estimated
error value of ep(1) is
ˆep(1)= m1m¯1, ¯p.
In the case t = 2: Five possible cases apply in the
deter-mination of the value of ep(2), as shown in column 2 of
Table A· 2. As the case of t = 1, the decision bits m1, m2,
m1, ¯p and m2, ¯pin Table A· 2 can be determined. Then, the
estimated error value of ep(2) is
ˆep(2)= m1m¯2m¯1, ¯pm¯2, ¯p∨ m1m2m1, ¯pm¯2, ¯p = (m1m¯1, ¯p) ¯m2m¯2, ¯p∨ m1m2m1, ¯pm¯2, ¯p {= (m2⊕ m1, ¯p)m1m¯2, ¯p, Fig. 13 of [9]. In [9], define that mv= 1 if det(Mv)= 0, v = 1, 2, · · · , t.} In the case t≥ 3:
For the case t = 3: Seven possible cases apply in the de-termination of the value of ep(2), as shown in column 2 of
Table A· 2 The logic analysis of Eq. (5b) for t= 2.
Table A· 3 The logic analysis of Eq. (5c) for t= 3.
Table A· 3. As the case of t = 1, the decision bits m1, m2, m3,
m1, ¯p, m2, ¯pand m3, ¯pin Table A· 3 can be determined. Then,
the estimated error value of ep(3) is
ˆep(3)= m1m¯2m¯3m¯1, ¯pm¯2, ¯pm¯3, ¯p∨ m1m2m¯3m1, ¯pm¯2, ¯pm¯3, ¯p ∨ m2m3m1, ¯pm2, ¯pm¯3, ¯p = [(m1m¯1, ¯p) ¯m2m¯2, ¯p∨ m1m2m1, ¯pm¯2, ¯p] ¯m3m¯3, ¯p∨ m2m3m1, ¯pm2, ¯pm¯3, ¯p = ˆep(2) ¯m3m¯3, ¯p∨ m2m3m1, ¯pm2, ¯pm¯3, ¯p {= (m2⊕ m1, ¯p)m1m¯3m¯2, ¯pm¯3, ¯p∨ m2m3m1, ¯pm2, ¯pm¯3, ¯p, Fig. 14 of [9].}
For the case t > 3: All 2t+ 1 possible values of ep(t), as
shown in the column 2 of Table A· 4. As the case of t = 1, the decision bits m1, m2, . . . , mt−1, mt, m1, ¯p, m2, ¯p, . . . , mt−1, ¯p
and mt, ¯pin Table A· 4 can be determined. Hence, in a similar
way, we can get
ˆep(t)= ˆep(t− 1) ¯mtm¯t, ¯p∨ mt−1mtmt−2, ¯pmt−1, ¯pm¯t, ¯p Q.E.D.
Ching-Lung Chr was born in Chayi, Tai-wan, R.O.C., in 1965. He received the B.S. and M.S. degrees from Chung-Cheng Institute of Technology, Taiwan, in 1988 and 1996, re-spectively. In 2000, he is the Ph.D. candidate of Electrical Engineering, National Cheng Kung University, Tainan, Taiwan. His research inter-est is channel coding techniques.
Szu-Lin Su received the B.S. and M.S. de-grees from National Taiwan University, Taiwan, R.O.C., in 1977 and 1979 and the Ph.D. degree from the University of Southern California, Los Angeles, in 1985, all in electrical engineering. From 1979 to 1989, he was a Research Member of Chung Shan Institute of Science and Tech-nology, Taiwan, working on the design of digi-tal communication and network systems. Since 1989, he has been with National Cheng Kung University, Tainan, Taiwan, where he is cur-rently a Professor of electrical engineering. His research interests are in the areas of wireless communications, mobile communication networks, satellite communications, and channel coding techniques.
Shao-Wei Wu was born in Taipei, Taiwan, R.O.C., in 1966. He received the B.S., M.S. and Ph.D. degrees from Chung-Cheng Institute of Technology, Taiwan, in 1988, 1995 and 2002, respectively. His research interests are channel coding techniques and cryptography.