Journal of Applied Research and Technology 331
High-Speed Decoding of the Binary Golay Code
H. P. Lee*1, C. H. Chang1, S. I. Chu2
1 Department of Computer Science and Information Engineering, Fortune Institute of Technology,
Kaohsiung 83160, Taiwan *[email protected]
2 Department of Electronic Engineering,
National Kaohsiung University of Applied Sciences, Kaohsiung 807, Taiwan
ABSTRACT
Recently, some table-lookup decoding algorithms (TLDAs) have been used to correct the binary Golay code. This paper proposes an efficient high-speed TLDA called message-syndrome decoding algorithm (MSDA) by using the message syndrome to correct the binary systematic Golay code. The proposed MSDA is based on the novel message-syndrome lookup table (MSLT). The MSLT merely consists of 12 candidate syndromes and its memory size is significantly smaller than other existing lookup tables. Computer software simulation results show that the decoding speed of the proposed MSDA is superior to other proposed TLDAs.
Keywords: Golay code, weight, syndrome, error pattern
1. Introduction
The well-known binary Golay code, also called the binary (23, 12, 7) quadratic residue (QR) code [2], was first discovered by Golay [1] in 1949. It is a very useful perfect linear error-correcting code; particularly, it has been used in the past decades for a variety of applications involving a parity bit being added to each word to yield a half-rate code called the binary (24, 12, 8) extended Golay code. One of its most interesting applications is the provision of error control in the Voyager missions [2]. The Golay code can allow the correction of up to
( 1)/2
d
t =
(71)/2
3 errors, where
xdenotes the greatest integer less than or equal to x, t is the error-correcting capability, and d is the minimum Hamming distance of the code. In the past few decades, several decoding techniques have been developed to decode the binary Golay codes, for example, the famous algebraic decoding algorithm (ADA) developed by Elia [3], the notable shift-search algorithm proposed by Reed et al. [4] after that, and the inverse-free Berlekamp–Massey algorithm used to obtain the error-locator polynomial by Chen et al. [5]. The above is some representative literature on ADAs used to correct Golay codes.
Recently, the TLDAs given in [6-9] have acquired a prominent role in error-correcting decoding. A TLDA with a refined lookup table (RLT) has been proposed by Lin et al. [8]; the RLT only needs 168 bytes memory size. The memory size of the RLT is the smallest memory size required to correct the Golay code until now. In general, the TLDA makes considerably faster decoding speeds possible for the cyclic codes, in comparison with the ADA. However, the TLDA requires an extra memory space in the decoder chip or software and it increases the decoding cost rapidly when the code length is large. Although the ADA does not need any lookup table, it requires a large number of complicated computations in the finite field. These complicated computations will degrade the decoding performance and lead to a serious decoding delay as the code length increases [10]. Chen et al. [7] proposed the fast lookup table decoding algorithm (FLTDA) with a lookup table of 1.35K bytes by using the shift-search algorithm [4] to decode the Golay code. The famous syndrome decoding algorithm (SDA) with a reduced-size lookup table (RSLT) given in [2, p119] requires 89 syndromes and their corresponding error patterns, whereas the RSLT requires 445 bytes of memory.
High‐Speed Decoding of the Binary Golay Code, H. P. Lee et al. / 331‐337
Vol. 11, June 2013
332
Lin et al. [8] proposed the syndrome-weight decoding algorithm (SWDA) with RLT wh
ich
needs
168 bytes of memory, and the simulation result shows that the decoding speed is approximately 9.7 times faster than the improved Elia’s decoding algorithm (EDA).In this paper, an efficient high-speed MSDA with a MSLT is proposed to decode the binary systematic Golay code. The novel MSLT consists only of 12 candidate syndromes which have one error in the message part of the received vector, and it merely requires 24 bytes of memory. Software simulation results show that the average decoding speed is the fastest among the TLDAs as mentioned above. In the four-error soft-decision decoder in [11], the improved EDA is the role of the hard-decision decoder. We substituted the proposed MSDA for the improved EDA in the four-error soft-decision decoder. Apparently, the decoding speed of the soft-decision decoder was faster than before. The remainder of this paper is organized as follows: The background of the binary systematic Golay code is briefly reviewed in Section 2. Some related TLDAs and related theorems are briefly introduced in Section 3. The proposed MSDA is presented in Section 4. Computer simulation results are given in Section 5. Finally, this paper concludes with a brief summary in Section 6.
2. Background of the binary systematic Golay code
The binary (23, 12, 7) Golay code can be defined as a linear cyclic code or QR code [2]. For the binary Golay code over finite field GF(211), its quadratic residue set is given by
Q23 = {i | i ≡ j2 mod 23 for 1 ≤ j ≤ 22}
= {1, 2, 3, 4, 6, 8, 9, 12, 13, 16, 18}. (1) The generator polynomial g(x) of the binary Golay code is defined by , 1 ) ( ) ( 5 6 7 9 1 1 23
x x x x x x β x x g i Q i (2)where is a primitive 23rd root of unity in GF(211). Let the codeword polynomial
10 ) ( ni i ix C x C ,
where Ci GF(2) for 0 ≤ i ≤ 22, and the message
polynomial
1 0 )(x ki mixi
m , where k = 12 is the message length and mi GF(2) for 0 ≤ i ≤ 11.
C(x) is a multiple of g(x), namely, C(x) = m(x)g(x).
Also, let the product m(x)x11 divide by g(x), then one has m(x)x11 = q(x)g(x) + d(x). Multiplying both sides of last expression by x12 and using x23 = 1, one yields d(x)x12 + m(x) = (q(x)x12)g(x). The term (d(x)x12 + m(x)), which is a multiple of g(x), is a systematic codeword given by
c(x) = d(x)x12 + m(x) = p(x) + m(x), (3)
where
22 12 )(x i pixi
p denotes the parity-check polynomial [12] of a codeword and pi GF(2) for
12 ≤ i ≤ 22.
The binary systematic Golay code is practically applied in the standard of the communication system for automatic link establishment (ALE) by the United States Department of Defense [13]. Now, let a 12-bit message be encoded into a 23-bit systematic codeword and be transmitted through a noisy channel to obtain a received word of the form r(x) = c(x) + e(x).
22 0 )(x i eixi
e is the error pattern polynomial, where ei GF(2) for 0 ≤ i ≤ 22. The syndromes
of the code are defined by
22 0 ( ) ) ( ) ( ) ( ) ( j j i j i i i i i e e e c r s , (4) where i Q23.To simplify the polynomial expressions above, the message, codeword, error pattern, received word, and syndrome polynomials can be expressed as the binary vector forms m = (m11 ... m1 m0), c = (c22 ... c1 c0), e = (e22 ... e1 e0), r =
c + e = (r22 ... r1 r0), and s = (s10 ... s1 s0), respectively. For the binary systematic Golay code, it follows from [2, p85] that the systematic generator matrix G can be expressed as follows:
High‐Speed Decoding of the Binary Golay Code, H. P. Lee et al. / 331‐337 Journal of Applied Research and Technology 333
23 12 12 23 12 12 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 PI I G , (5)where P and I12 denote the 1211 matrix and the 1212 identity matrix, respectively. The systematic vector form of the codeword can be obtained by
) (p22p13p12 m11 m1m0 mG c . (6)
The parity-check polynomial h(x) = x12 + x10 + x7 +
x4 + x3 + x2 + x + 1 is a factor of x23 – 1. The 1123 parity-check matrix H can be expressed as follows:
11 1123 T
P I
H , (7)
where PT is a 1112 transpose matrix of P and I11 is a 1111 identity matrix.
The HT denotes the 23 11 transpose matrix of H;
that is, 11 23 11 P I
HT . The vector form of the
syndrome can be defined by
s = rHT. (8)
The following lemma given in [14] shows that the mapping between the syndromes and error patterns under the error-correcting capability is one-to-one.
Lemma 1. The mapping between the syndromes
of a code and the corresponding error patterns of weight ≤ t is one-to-one.
3. Related work and theorems
In this section, some related TLDAs and theorems are briefly introduced in order to develop the proposed MSDA. For the TLDA, the following definition, theorems and corollary given in [9] are needed.
Definition 1. Let the Hamming norm or weight of a
binary vector a = (an-1 ... a1 a0) be designated by
w(a). The Hamming distance between two binary
vectors a and b is defined by d(a, b) = w(a + b).
Theorem 1. Let a = (an-1 ... a1 a0) and b = (bn-1 ...
b1 b0) be two binary vectors, then
w(a + b) = w(a) + w(b) –2
ni1aibi . (9)Corollary 1. Let a and b, defined in Definition 1,
be two binary vectors. If aibi = 0 for 1 ≤ i ≤ n, then
w(a + b) = w(a) + w(b). (10)
Theorem 2. For the binary systematic (n, k, d) QR
codes, let us assume that there are v errors in the received word, where 1 ≤ v ≤ t. All v errors occur in the n – k parity-check bits if and only if the weight of syndrome w(s) = v.
As mentioned above, the error-correcting capability of the binary Golay code is t =3. The full lookup table (FLT) in the conventional table lookup decoding algorithm (CTLDA) requires
3i1
23i = 2,047 syndromes and their corresponding error patterns by Lemma 1. Each syndrome and error pattern needs 2 bytes and 3 bytes, respectively, to store in the FLT. Thus, the total memory size needed for the FLT is (2047 (2 + 3)) = 10,235 bytes. However, such a large memory is less efficient in practice.Recently, some useful TLDAs have been presented in the literature to reduce the memory size of the FLT. The LTDA [7] used the shift-search method [4] to reduce the memory size of the FLT and the binary-search method to reduce the search time in the FLT. The shift-search method deletes all v = t error patterns and keeps 1 ≤ v ≤ t – 1 error patterns.
High‐Speed Decoding of the Binary Golay Code, H. P. Lee et al. / 331‐337
Journal of Applied Research and Technology 337 difference, Property 1, and Property 2. The MSLT
of the MSDA merely requires a very small memory size of 24 bytes. These facts lead to a substantial improvement in decoding the binary systematic Golay code. Simulation results show that, following the new decoding strategies, the proposed MSDA achieves the best efficiency. Hence, it is naturally suitable and proper for DSP or embedded system software implementation.
Figure 1. Decoding Time of Two Hard-Decision Decoders at SNR of 0~6 dB.
References
[1] M. Golay, “Notes on digital coding,” Proc. IRE, vol. 37, p. 657, 1949.
[2] S. Wicker, "Error Control Systems for Digital Communication and Storage”, Prentice Hall: Upper Saddle River, NJ, 1995.
[3] M. Elia, “Algebraic decoding of the (23, 12, 7) Golay code,” IEEE Trans Inf Theory, vol. 33, no. 1, pp. 150-151, 1987.
[4] I. S. Reed et al., “Decoding the (24, 12, 8) Golay code,” IEE P-COMPUT DIG T, vol. 137, no. 3, pp. 202-206, 1990. [5] Y. H. Chen et al., Algebraic decoding of quadratic residue codes using Berlekamp-Massey algorithm, J Inf Sci Eng, vol. 23, no. 1, 2007, pp. 127-145.
[6] H. Chang et al., “A weight method of decoding the (23, 12, 7) Golay code Using Reduced Lookup Table,” 2008 International Conference On Communication, Circuits and Systems (ICCCAS 2008), Xiamen, China, 2008, pp. 1-5.
[7] Y. H. Chen et al., “Efficient decoding of systematic (23, 12, 7) and (41, 21, 9) quadratic residue codes,” J Inf Sci Eng, vol. 26, no. 5, pp. 1831-1843, 2010.
[8] T. C. Lin et al., “On the decoding of the (24, 12, 8) Golay code,” Inf Sci, vol. 180, no. 23, pp. 4729-4736, 2010. [9] T. C. Lin et al., “High speed decoding of the binary (47, 24, 11) quadratic residue code,” Inf Sci, vol. 180, no. 20, pp. 4060-4068, 2010.
[10] S. Lin and E. J. Jr Weldon, “Long BCH codes are bad,” Inf Contr, vol. 11, no. 4, pp. 445-451, 1967.
[11] S. I. Chu et al., “Fast decoding of the (23, 12, 7) Golay code with four-error-correcting capability,” Eur Trans Telecomm, vol, 22, no. 7, pp. 388-395, 2011. [12] C. A. Vázquez-Fernández and G. Vega-Hernández, “On the Weight Distribution of the Dual of some Cyclic Codes with Two Non Conjugated Zeros,” J Appl Res Technol, vol.9, no.1, pp. 36-48, 2011.
[13] MIL-STD-188/141B. Department of Defense Interface Standard: Interoperability and Performance Standards for Medium and High Frequency Radio Systems. http://www.everyspec.com/MIL-STD/MIL-STD+(0100+-+0299)/MIL_STD_188_141B_1703. [14] I. S Reed et al., “The algebraic decoding of the (41, 21, 9) quadratic residue code,” IEEE Trans Inf Theory, vol. 38, no. 3, pp. 974-986, 1992.