• 沒有找到結果。

Decoding the (23,12,7) Golay code using a low-complexity scheme

N/A
N/A
Protected

Academic year: 2021

Share "Decoding the (23,12,7) Golay code using a low-complexity scheme"

Copied!
4
0
0

加載中.... (立即查看全文)

全文

(1)IEICE TRANS. FUNDAMENTALS, VOL.E89–A, NO.8 AUGUST 2006. 2235. LETTER. Decoding the (23, 12, 7) Golay Code Using a Low-Complexity Scheme Ching-Lung CHR†,††a) , Szu-Lin SU† , Members, and Shao-Wei WU† , Nonmember. SUMMARY Similar to algebraic decoding schemes, the (23, 12, 7) Golay code can be decoded by applying the step-by-step decoding algorithm. In this work, a modified step-by-step algorithm for decoding the Golay code is presented. Logical analysis yielded a simple rule for directly determining whether a bit in the received word is correct. The computational complexity can be reduced significantly using this scheme. key words: (23, 12, 7) binary Golay code, algebraic decoding scheme, step-by-step decoding, computational complexity. 1.. Introduction. The (23, 12, 7) Golay code is a perfect multiple-errorcorrecting code [1]. The algebraic approach, including Kasami’s error-trapping decoder and systematic-search decoder [3], can be used to decode this code. Massey proposed a step-by-step algorithm for decoding BCH codes [4]. The principle of the step-by-step decoding algorithm is to change the received bits one at a time and verify whether the weight of the error pattern has been reduced [5]. The entire error pattern can be found by repeating this procedure for all received bits. The step-by-step approach for decoding the Golay code was initially proposed in 1966 [2], but it cannot distinguish between the cases with two errors and that with three errors. Elia [6] proved that the algebraic approach for decoding triple-error-correcting binary BCH codes is also applicable for completely decoding the Golay code. Using the results of Elia, Wei and Wei [7] proposed a fast step-bystep algorithm for decoding the Golay code. However, they did not attempt to reduce the computational complexity. A low-complexity step-by-step decoding algorithm for t-error-correcting binary BCH codes based on logical analysis has been proposed to reduce computational complexity [8]. By applying Theorem 3 in [8], this work proposes a modified step-by-step algorithm for decoding the Golay code. The algorithm is based on the concept proposed in [7], but further reduces the amount of the calculations by applying logical analysis. The determination of whether a received bit is erroneous is also reduced to a simple equation. Manuscript received January 12, 2006. Manuscript revised March 5, 2006. Final manuscript received May 2, 2006. † The authors are with the Department of Electrical Engineering, National Cheng Kung University, Tainan 701, Taiwan, R.O.C. †† The author is with the Department of Aviation and Communication Electronics, Air Force Institute of Technology, Gaohsiung 820, Taiwan, R.O.C. a) E-mail: [email protected] DOI: 10.1093/ietfec/e89–a.8.2235. 2.. Preliminaries. The (23, 12, 7) Golay code can be described as a cyclic code of length 23, generated by the irreducible polynomial g(x) 1. The codeword for this code = x11 + x9 + x7 + x6 + x5 + x + i can be represented by c(x) = 22 i=0 ci x . After 22demodulation, i the received word is expressed as r(x) = i=0 ri x = c(x) +  i e x is the error polynomial. Let β ∈ e(x), where e(x) = 22 i=0 i GF(211 ) be a root of g(x); β23 = 1. g(β j ) = 0 for j ∈ {1, 2, 3, 4, 6, 8, 9, 12, 13, 16, 18}, so the corresponding syndromes can be calculated from S j = r(β j ) = c(β j ) + e(β j ) = e(β j ). As proven in [6], the error locator polynomial for the Golay code is σ(z) = 1 + σ1 z + σ2 z2 + σ3 z3. (1). where σ1 = S 1 and σ2 = σ3 = 0 if S 3 = S 13 , and σ1 = S 1 , σ2 = S 12 + D1/3 , and σ3 = S 3 + S 1 D1/3 if S 3  S 13 . D is given by D = (S 13 + S 3 )2 + (S 19 + S 9 )/(S 13 + S 3 ). Lemma: If the received word r(x) has only one error, then S 13 + S 3 = 0. Proof: If only one error occurs, then σ1 = S 1  0 and σ2 = σ3 = 0. Assume S 13 + S 3  0. σ3 = S 3 + S 1 D1/3 = 0, so S 3 +S. D1/3 = SS 31 . Then, 0 = σ2 = S 12 + D1/3 = S 12 + SS 31 = 1S 1 3 . It implies S 13 + S 3 = 0 and contradicts the assumption. Hence,  S 13 + S 3 = 0. The lemma demonstrates that S 13 + S 3  0 indicates that at least two errors have occurred, and σ3 = 0 indicates that no more than two errors have occurred. Therefore, in determining the number of errors in r(x), a variable F ∈ GF (211 ) is defined as [7]  S 3 + S 1 [(T 3 )2 + T 9 /T 3 ]1/3 , for T 3  0 F= (2) 0, for T 3 = 0 where T 3 = S 13 + S 3 and T 9 = S 19 + S 9 . The main complexity of Eq. (2) is the computation of the inversion and the cube root. The equation F = S 3 + S 1 [(T 3 )2 + T 9 /T 3 ]1/3 can be modified into M = S 34 + S 19 S 3 + S 16 S 32 + S 13 S 9 , since we only need to check the result is zero or not in the decoding algorithm. Then, the computational complexity can be. c 2006 The Institute of Electronics, Information and Communication Engineers Copyright .

(2) IEICE TRANS. FUNDAMENTALS, VOL.E89–A, NO.8 AUGUST 2006. 2236 Table 1. significantly reduced since it skips the computation of the inversion and cube root. Based on the assumption that the received word is correctable, so the number of errors is less than or equal to three, the number of errors in r(x) can be determined using the following rules: 1) 2) 3) 4). No error occurs iff S 1 = 0 and T 3 = 0 (M = 0). One error occurs iff S 1  0 and T 3 = 0 (M= 0). Two errors occur iff S 1  0, T 3  0, and M = 0. Three errors occur iff T 3  0 and M  0.. Thus, a decision vector H is defined as H = (h1 , h2 , h3 ), where h1 = h2 = h3 = 0 except h1 = 1 if S 1  0, h2 = 1 if T 3  0, and h3 = 1 if M  0, to determine the number of errors. Then, the number of errors can be determined in terms of the vector H. That is, the decision vector must be (0, 0, 0) for no error, (1, 0, 0) for a single error, (1, 1, 0) for two errors or (×, 1, 1) for three errors, where “×” is a value of either 0 or 1.  i If the received word r(x) = 22 i=0 ri x is changed by temporarily changing the bit value (r p ) at the x p position, 0 ≤ p ≤ 22, then the modified received word becomes r p¯ (x) = r(x) + x p = c(x) + e(x) + x p = c(x) + e p¯ (x), where e p¯ (x) ¯ indicates that the value = e(x) + x p and the subscript “ p” at the x p position of e(x) is temporarily changed. Then, the modified syndrome is S i, p¯ = e p¯ (αi ) = e(αi ) + (αi ) p = S i + αip , i = 1, 3, 9. (3) The corresponding decision vector H p¯ can also be defined as H p¯ = (h1, p¯ , h2, p¯ , h3, p¯ ), where h1, p¯ = h2, p¯ = h3, p¯ = 0 except h1, p¯ = 1 if S 1, p¯  0, h2, p¯ 3 4 = 1 if T 3, p¯ = S 1, p¯ + S 3, p¯  0, and h3, p¯ = 1 if M p¯ = S 3, p¯ + 9 6 2 3 S 1, p¯ S 3, p¯ + S 1, p¯ S 3, p¯ + S 1, p¯ S 9, p¯  0. Therefore, whether the bit at the x p position of r(x) is erroneous can be determined from the difference between H and H p¯ . 3.. The logic analysis of eˆ p .. Decoding Algorithm. The following modified step-by-step algorithm for decoding the (23, 12, 7) Golay code is proposed. Logical analysis can be used to simplify further the determination of whether a received bit is erroneous in the step-by-step decoding algorithm proposed in [7], into a general function. The logical analysis is based on the fact that only seven cases are possible in the determination of the value at the x p position of the error pattern e, e = (e0 , e1 , . . . , e22 ), for the Golay code. Theorem 1: For the (23, 12, 7) Golay code, the estimated value at the x p position (0 ≤ p ≤ 22) of the error pattern e can be given by eˆ p = h¯ 1, p¯ h¯ 2 ∨ h2 h¯ 3, p¯ , for 0 ≤ p ≤ 22,. (4). where “∨” denotes logical OR. Proof: The Golay code is perfect, so the weight of the correctable error pattern is no more than three. Let v be the. Table 2. The equations to estimate the error values.. number of errors, where 0 ≤ v ≤ 3. Seven possible cases exist in the determination of the value of e p , as presented in row 2 of Table 1. Table 1 also lists the values of the corresponding h2 , v p¯ , h1, p¯ and h3, p¯ , where v p¯ is the weight of the error pattern for changing the received digit r p . Notably, 0 ≤ v p¯ ≤ 3 is also requested. e p is easily shown to equal h¯ 1, p¯ h¯ 2 ∨ h2 h¯ 3, p¯ . Hence, as shown in the bottom row of Table 1, eˆ p = h¯ 1, p¯ h¯ 2 ∨ h2 h¯ 3, p¯ , for 0 ≤ p ≤ 22.. . Based on Theorem 1, a modified step-by-step algorithm for decoding the (23, 12, 7) Golay code is described as follows: 1) Calculate the original syndromes S i (i = 1, 3, 9) and the corresponding value of T 3 and M. 2) Determine the decision vector H = (h1 , h2 , h3 ). 3) Let p = 22. 4) Calculate the modified syndromes S i, p¯ (i = 1, 3, 9) using Eq. (3) and the corresponding values of T 3, p¯ and M p¯ . = 5) Determine the modified decision vector H p¯ (h1, p¯ , h2, p¯ , h3, p¯ ). 6) Estimate the error value eˆ p = h¯ 1, p¯ h¯ 2 ∨ h2 h¯ 3, p¯ . 7) Send the output bit rˆ p = r p + eˆ p . 8) Let p = p − 1. Terminate the decoding process if p = 10. Otherwise, go to step 4. Table 2 compares the equations employed to estimate the value of eˆ p proposed in this work and in [7]. Clearly, the proposed algorithm significantly reduces the computational complexity..

(3) LETTER. 2237. 4.. Decoder Architecture. According to the above step-by-step decoding algorithm, a hardware structure of the decoder is shown in Fig. 1. It consists of four parts: 1) Decoding buffer register: The buffer register is used to store the received vector and to correct received vector bit by bit. 2) Syndrome generator: The syndrome generator is used to calculate the initial syndromes S i and the temporarily changed syndromes S i, p¯ . 3) Comparison unit: The unit is used to determine the decision bits h2 , h1, p¯ and h3, p¯ . 4) Decision unit: According to the decisions bits h2 , h1, p¯ and h3, p¯ , the unit estimates the error value eˆ p and sends it to the output of the decoding buffer register to correct the corresponding error.. The circuits of syndrome generator and decision unit can be easily implemented by logic gates. A design of the comparison unit is shown in Fig. 2. It is easy to accomplish the add operation in GF(211 ) and only a few Exclusive-OR gates in GF(211 ) are required for the square units [9]. The calculation of multiplication operation in GF(211 ) can be implemented by using a static cellular-array multiplier [10]. Since the equation to estimate the error value suggested in [7] can be simplified by Theorem 1, only three variables T 3 , S 1, p¯ , and M p¯ in GF(211 ) must be computed to determine the decision bits h2 , h1, p¯ and h3, p¯ by using three simple zerocheckers. The equation F = S 3 + S 1 [(T 3 )2 + T 9 /T 3 ]1/3 is the most complicated part of the comparison circuit in [7], which is modified into M = S 34 + S 19 S 3 + S 16 S 32 + S 13 S 9 in the proposed decoder. Thus, the proposed comparison circuit reduces the computational complexity by half at least. Hence, we have a efficient decoder. The modified decoding algorithm is less complex than the decoder in [7], since it omits the computation of the variables F and T 3¯ and the functions (·)1/3 and (·)−1 those required in [7]. The Elia decoder [6] is another efficient decoder. However, the error locator polynomial has to be generated and solve the roots of the error locator polynomial is required in the decoder, which are more complicated than computing the variables of the proposed algorithm. 5.. Illustrative Example. Let α be a primitive element of GF(211 ) and take β = α89 to be a primitive 23rd root of unit (β23 = 1). The generator polynomial of the (23, 12, 7) Golay code is g(x) = x11 + x9 + x7 + x6 + x5 + x + 1. Assume two errors exist in the received polynomial r(x) and e(x) = x2 + x11 . The initial syndromes are Fig. 1. Functional block diagram of the step by step decoder.. S 1 = α478 , S 3 = α1595 , S 9 = α967 . Hence, T 3 = α1635 and M = 0. ∴ H = (1, 1, 0). From Eq. (4), the estimated error value of e p can be simplified as eˆ p = h¯ 1, p¯ h¯ 2 ∨ h2 h¯ 3, p¯ = (h¯ 1, p¯ · 0 ∨ 1 · h¯ 3, p¯ ) = h¯ 3, p¯ . For 11 ≤ p ≤ 22 the temporarily changed syndrome values are S i, p¯ = S i + αip , i = 1, 3, 9. The value M p¯ is calculated to determine h3,11 = 0, h3,12 = 1, h3,13 = 1, h3,14 = 1, h3,15 = 1, h3,16 = 1, h3,17 = 1, h3,18 = 1, h3,19 = 1, h3,20 = 1, h3,21 = 1, h3,22 = 1. Hence, only eˆ 11 is equal to 1. Therefore, the estimated error values of the message part are. Fig. 2. Comparison circuit of (23, 12, 7) Golay code.. (ˆe11 , eˆ 12 , eˆ 13 , eˆ 14 , eˆ 15 , eˆ 16 , eˆ 17 , eˆ 18 , eˆ 19 , eˆ 20 , eˆ 21 , eˆ 22 ) = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)..

(4) IEICE TRANS. FUNDAMENTALS, VOL.E89–A, NO.8 AUGUST 2006. 2238. 6.. Conclusions. A modified step-by-step algorithm for decoding the (23, 12, 7) Golay code was proposed. Logical analysis yields a simple equation for estimating the error pattern. Such a decoding scheme significantly reduces the computational complexity compared with the previous one. Moreover, the simple and regular procedure also makes it suitable for hardware implementation. References [1] M.J.E. Golay, “Notes on digital coding,” Proc. IEEE, vol.37, p.657, 1949. [2] R.T. Chien and V. Lum, “On Golay’s perfect codes and step-by-step decoding,” IEEE Trans. Inf. Theory, vol.IT-12, no.3, pp.403–404, 1966. [3] S. Lin and D.J. Costello, Jr., Error Control Coding, 2nd ed., PrenticeHall, 2004. [4] J.L. Massey, “Step-by-step decoding of the Bose-ChaudhuriHocquenghem codes,” IEEE Trans. Inf. Theory, vol.IT-11, no.4, pp.580–585, 1965. [5] E.-H. Lu and T. Chang, “New decoder for double-error-correcting binary BCH codes,” IEE Proc., Commun., vol.143, no.3, pp.129– 132, 1996. [6] M. Elia, “Algebraic decoding of the (23, 12, 7) Golay code,” IEEE Trans. Inf. Theory, vol.IT-33, no.1, pp.150–151, 1987. [7] S.W. Wei and C.H. Wei, “On high-speed decoding of the (23, 12, 7) Golay code,” IEEE Trans. Inf. Theory, vol.36, no.3, pp.692–695, 1990. [8] C.-L. Chr, S.-L. Su, and S.-W. Wu, “A low-complexiy step-by-step decoding algorithm for binary BCH codes,” IEICE Trans. Fundamentals, vol.E88-A, no.1, pp.359–365, Jan. 2005. [9] E.D. Mastrovito, VLSI architectures for computations in Galois fields, PhD Thesis (dissertation 242), Linkoping Studies in Science and Technology, Linkoping, 1991. [10] B.A. Laws, Jr. and C.K. Rushforth, “A cellular-array multiplier for GF(2m ),” IEEE Trans. Comput., vol.C-20, no.3, pp.1573–1578, 1971.. Appendix:. Proof of eˆ p for Algorithm [7]:. The Golay code is a perfect code, so the weight of the correctable error pattern is no more than three. Let v be the number of errors, where 0 ≤ v ≤ 3. eˆ p is the estimated value of the x p position in the error pattern e, 0 ≤ p ≤ 22. Seven possible cases apply in the determination of the value of e p , as presented in column 2 of Table A· 1. Table A· 1 also lists the values of the corresponding h1 , h2 , h3 , v p¯ , h1, p¯ , h2, p¯ and h3, p¯ , where v p¯ is the weight of the error pattern for changing the received digit r p . Notably, 0 ≤ v p¯ ≤ 3 is also requested. It is easy to see that the estimated error value of e p is eˆ p = h1 h¯ 2 h¯ 3 h¯ 1, p¯ h¯ 2, p¯ h¯ 3, p¯ ∨ h1 h2 h¯ 3 h1, p¯ h¯ 2, p¯ h¯ 3, p¯ ∨ h2 h3 h1, p¯ h2, p¯ h¯ 3, p¯ = [(h1 h¯ 1, p¯ )h¯ 2 h¯ 2, p¯ ∨ h1 h1, p¯ h2 h¯ 2, p¯ ]h¯ 3 h¯ 3, p¯ ∨ h1, p¯ h2 h2, p¯ h3 h¯ 3, p¯. Table A· 1. (A· 1) . The logic analysis of Eq. (A· 1) for Algorithm [7]..

(5)

數據

Table 2 The equations to estimate the error values.
Fig. 2 Comparison circuit of (23, 12, 7) Golay code.

參考文獻

相關文件

We focus on this part and propose a search method called pre-selected-pulses replacement method to replace the focused search method in G.729 to reduce the complexity for

He proposed a fixed point algorithm and a gradient projection method with constant step size based on the dual formulation of total variation.. These two algorithms soon became

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

There would be no special value in "creative leaps," no fundamental gap between solving a problem and recognizing the solution once it's found. Everyone who could

• 當我們在歸類一個問題為 問題時,等於不在乎他的複雜度是 還是 之類的,只要是多項式時間就好。.

– Determine whether it is possible to design a distributed exact MST algorithm with better work complexity than GHS and obt ain a lower bound on work

• Progress of using circuit complexity to prove exponential lower bounds for NP-complete problems has been slow.. – As of January 2006, the best lower bound is 5n

A Novel Approach for Label Space Compression algorithmic: scheme for fast decoding theoretical: justification for best projection practical: significantly better performance