Decoding the (23,12,7) Golay code using a low-complexity scheme
全文
(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)
數據
相關文件
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