• 沒有找到結果。

Remainder Decoding of Binary Quadratic Residue Codes Using the Gao’s Algorithm

N/A
N/A
Protected

Academic year: 2021

Share "Remainder Decoding of Binary Quadratic Residue Codes Using the Gao’s Algorithm"

Copied!
5
0
0

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

全文

(1)Remainder Decoding of Binary Quadratic Residue Codes Using the Gao’s Algorithm 1. 3. Pei-Yu Shih , Trieu-Kien Truong2, and Yaotsu Chang 1 Department of Information Eng., I-Shou University, Kaohsiung County, Taiwan, 84001, ROC 2 College of Electrical and Information Eng., I-Shou University, Kaohsiung County, Taiwan, 84001, ROC 3 Department of Applied Mathematics, I-Shou University, Kaohsiung County, Taiwan, 84001, ROC [email protected], [email protected], [email protected] ABSTRACT The quadratic residue (QR) codes whose code rates are greater than or equal 1/2 and generally have high error-correcting capacity are widely used in communication for channel coding. In this paper, a new decoding method is proposed for the binary QR codes. The key ideal behind the proposed method is to apply the properties of remainder decoding and the Gao’s algorithm. In the remainder decoding, the main feature of efficient compute syndromes is contained in our decoding method. And the modified Gao’s algorithm is also used in our decoding algorithm. The new algorithm has been verified by a software simulation using C++ language running through possible error patterns. An example of (17, 9, 5) QR code using this decoding algorithm is given. Keywords: Quadratic residue codes, remainder decoding, the Gao’s algorithm, error-correcting code.. 1: INTRODUCTIONS The QR codes which were introduced by Prange [1] are cyclic error-correcting codes. (7, 4, 3) and (23, 12, 7) QR codes are the well-known Hamming codes [2] and Golay code [3-5], respectively. The QR codes with length less than or equal to 113 have been decoding via varieties of decoding methods expect for the case of length 89. Those methods used most often to decoding include Sylvester resultant [6-7], GrÖbner bases [8-9] or the Berlekamp-Massey (BM) algorithm [10-11]. The first two methods can be used to solve the Newton identities that are non-linear multivariate equations of higher degrees. As the code length increasing, the first two methods become difficult. Furthermore, different QR codes use different sets of conditions to determine the error-locations. Consequently, it is hard to hardware implement. In the past, the BM algorithm was widely applied in decoding Reed-Solomon RS codes, Bose-Chaudhuri- Hocquenghem (BCH) codes, and many other codes. The evaluations of syndromes play an important role in decoding procedure. The remainder technique proposed by [12] could be applied to calculus the values of syndromes. To use BM. algorithm in decoding QR codes, the enough consecutive syndromes is a necessary condition. In 2001, a new technique to express the unknown syndromes as functions of known syndromes was developed by He et al [13]. Recently, Gao [14] proposed an efficient scheme to decode RS codes which is called the Gao’s algorithm by Fedorenko [15]. The proposed decoding scheme replaces the remainder technique with the directly computing the values of known syndromes from the received vector. This technique reduces the complexity of syndromes calculus. Also, the method developed by He et al [13] is used to determine the unknown syndromes of QR codes. Finally, the determined syndrome polynomial is applied in the key equation of the Gao’s algorithm given in [15]. The Gao’s algorithm proposes an efficient condition that is suitable for QR codes. Then we solve the key equation using the extended Euclidean algorithm (EEA) to obtain the error-locator polynomial. After Chain search, the error locations are found. In order to explain the proposed decoding scheme, an example of (17, 9, 5) QR code up to two errors is given.. 2: PRELIMINARY Let n be a prime congruent to +1 or -1 (mod 8), and let Qn denote the set of nonzero quadratic residues (mod n). Let β be a primitive nth root of unity in an extension field of GF(2), and let the polynomial g(x) be defined by g ( x) = ∏ ( x − β i ) . Then g(x) is a i∈Qn. polynomial with coefficient in GF(2). The binary cyclic code of length n with generator polynomial g(x) is called the (n, k, d) QR code. The received vector R(x) is represented as a polynomial is n −1. n −1. i =0. i =0. R ( x) = C ( x) + E ( x) = ∑ ci xi + ∑ ei x i where the codeword. C(x) equals to the product of the message polynomial m(x) and the generator polynomial g(x), E(x) is the error polynomial and ci , ei belong to GF(2).. - 1070 -.

(2) The error locator polynomial is defined by t. W ( x) = ∏ (1 − X i x) ,. (1). i =1. where t is the correcting-error capacity and X i is the errors location. The remainder polynomial r(x) with degree less than the degree of g(x) is of the form R ( x) ≡ r ( x) mod g ( x). (2) The syndrome is defined as s i = E ( β i ) where 0 ≤ i ≤ n − 1 . There is an relation among syndromes, namely, S 2i = S i2 , with subindex modulo n, if necessary. If i belong to Qn , the syndromes are called the known syndromes and have the property (3) S i = R ( β i ) = r ( β i ) for 0 ≤ i ≤ n − 1 . Otherwise, the syndromes are called the unknown syndromes and are not obtained directly from the remainder polynomial r(x). In order to get the correctly values of unknown syndromes, a method developed by He et al [13] is summarized in the following. Assume that v errors occur in the received vector. Consider the matrix S(I, J) of size (v + 1) × (v + 1) as follows: ⎡ Si1 + j1 ⎢ Si + j S (I , J ) = ⎢ 2 1 ⎢ M ⎢ ⎢⎣ Siv+1 + j1. Si1 + j 2 Si2 + j 2 M Siv+1 + j1. Si1 + jv+1 ⎤ ⎥ L Si2 + jv+1 ⎥ , O M ⎥ ⎥ L Siv+1 + jv+1 ⎥⎦. 3:THE SYNDROME POLYNOMIAL AND THE MODIFIED KEY EQUATION OF THE GAO’S ALGORITHM This section contains the main theorem about syndrome polynomial and the modified key equation of the Gao’s algorithm which are the foundation of our algorithm. Theorem 1: Consider a binary (n, k, d) QR code. Let S ( x) = S1 x + S 2 x 2 + L + S n−1 x n−1 be the syndrome polynomial for the received vector R(x). If the weight v of a correctable error pattern E(x) is odd (resp., even), then S(x) (resp., 1+S(x)) has v distinct linear factors, (1 − β i x) where β is a primitive root of x n − 1 . Proof: Assume that the number of errors is odd, i.e., v = 2u + 1 . By the definition of syndromes mentioned in Section (3), we have l2 u +1 i l1 i l2 i S i = (β ) + (β ) + L + (β ) , where 0 ≤ i ≤ n − 1 . Then the evaluation of S(x) at β − i yields the following:. S ( β −i ) = ( β l1 + β l2 + L + β l2 u +1 )( β − i ) + ( β 2l1 + β 2l2 + L + β 2l2 u +1 )( β − 2i ). L. + L + ( β ( n −1)l1 + β ( n−1) l2 + L. (4). where the summation of the subindices of the Si ’s is modulo n, and det(S(I, J))=0. If there is only one unknown syndrome among the entries of S(I, J), then it can be expressed as a function in terms of some known syndromes. Hence, during the decoding process, one can evaluate the value of the unknown syndrome with the information about those known syndromes. The relation among syndromes is used to determinate all values of syndromes. After getting all syndromes, the syndrome polynomial is defined to have the following forms: (5) S ( x) = S1 x + S 2 x + L + S n −1 x n −1 . The key equation of the Gao’s algorithm [15] is as follows: ⎧W ( x)T ( x) ≡ P ( x) mod x n − 1 ⎪ n+k ⎪ , (6) ⎨deg P ( x) < 2 ⎪ ⎪max imize deg P ( x ) ⎩ where the interpolation polynomial T(x) is connection with the remainder polynomial r(x) and all the roots of x n − 1 , i. e., {β 0 , β 1 , L , β n −1 } . Applying the EEA. + β ( n −1)l2 u +1 )( β −( n−1)i ) = (β. l1 −i. + (β. l2 − i. + (β. l2 u +1 −i. (β ). +β. 2 ( l2 − i ). +β. each β. Since − i n −1. +β. 2 ( l1 −i ). −i n−2. + (β ). −i n−2. +L+ β. ( n −1)( l2 −i ). 2 ( l2 u +1 −i ) −i. is. +L+ β a. ) +L. of. , In. ). ( n −1)( l2 u +1 −i ). root. +L+1 = 0. + L + (β ) = 1 .. the. AOP, − i n −1. (β ). i.e., (7),. ).. if. i = lj ,. 1 ≤ j ≤ 2u + 1 , then the jth summand equals β. +β. 2 (l j −l j ). +L+ β. ( n −1)( l j −l j ). l j −l j. = 1+1+L+1 = n −1 ≡ 0. (mod 2) . All other summands have the same value. β. l j −lw. +β. 2 ( l j −l w ). +L+ β. ( n −1)( l j − lw ). =β. l j −l w. + (β. l j −lw 2. ). ( l j −lw ). l j −lw n −1. + L + (β ) = 1 , for w ≠ j , because β is a root of AOP. Therefore, (7) becomes S ( β −i ) = 0 + 1 + L + 1 = 2u ≡ 0 (mod 2) if i = l j , 1 ≤ j ≤ 2u + 1 . On the other hand, if i ≠ l j , then (7). becomes S ( β − i ) = 1 + 1 + L + 1 = 2u + 1 ≡ 1 (mod 2) ≠ 0 . That is, for the case of odd errors, i.e., v is odd, v. S(x) has exactly v roots in Β, i.e.,. n. to x − 1 and T(x), we obtain unique pair of polynomials W(x) and P(x). In the fact, the polynomial W(x) is the error locator polynomial.. +L+ β. −i. + (β ). (7) ( n −1)( l1 −i ). ∏ (1 − β. lj. x) S ( x) ,. j =1. v. where. ∏ (1 − β. lj. x) is the error-locator polynomial. j =1. W (x) . By a similar argument, when the number of. - 1071 -.

(3) errors is even, i.e., v=2u, 1 + S ( β − i ) = 1 + (2u − 1) ≡ 0 (mod 2) if i = l j , 1 ≤ j ≤ 2u . If i ≠ lj , then 1 + S ( β − i ) = 1 + 2u ≡ 1 (mod 2) ≠ 0 . In other words, for the case of even errors, there are precisely v roots in {β 0 , β 1 , L , β n −1 } such that 1+S(x)=0, i.e., v. W ( x) = ∏ (1 − β j x) (1 + S ( x)) . This completes the l. j =1. proof of Theorem 1. Additionally, the fact. n −1. ∏ (1 − β i x) = x n − 1. implies that. i =0. the greatest common division (g.c.d) of S(x) (resp., 1+S(x)) and x n − 1 is the error locator polynomial W(x) for v odd (resp., v even). The EEA is applied to find the g.c.d of two nonzero polynomials a, and b over GF(q). Given the initial conditions r−1 = a, r0 = b, u −1 = 1, u 0 = 0, v −1 = 1, v0 = 0, it proceeds according to the following recursion relation: ri = ri − 2 − q i ri −1 , u i = u i − 2 − q i u i −1 , , (8) vi = vi − 2 − q i vi −1 where deg ri −1 < deg ri . For all i, we have the relation u i a + v i b = ri . The key equation in Equation (6) can be rewritten as follows. (9) W ( x)T ( x) + θ ( x)( x n − 1) = P( x) . Let polynomial S(x) (resp., 1+S(x)) replace to T(x) in Equation (6), when the weight v of E(x) is odd (resp., even). If we use the EEA to determine the g.c.d of T(x) and x n − 1 , we generate sets of solutions (Wl ( x), Pl ( x), θ l ( x)) . Wl (x) and Pl (x) are useful for our decoding method. The particular solution Wl (x) is the error locator polynomial when Pl (x) is degree less than (n+k)/2.. 4:THE NEW DECODING ALGORITHM OF QR CODES The new decoding algorithm for the QR codes and an example of (17, 9, 5) QR code are given in the section. If the syndromes are all zero calculated by Equation (3), there is no error in the received word. When the errors occur in received word, the decoding algorithm is summarized below by nine steps. Step1: Calculate the remainder polynomial r(x) by Equation (2). Step2: Evaluate the known syndromes by using Equation (3) Step3: Initialize by letting v=1. Step4: Compute the unknown syndromes by applying the technique in [13]. Step5: Solve congruence in equation (6) by applying the EEA to x n − 1 and T(x), and. the unique pair of polynomials Pl (x) and Wl (x) are determined. Step6: Applying Chien search to find the roots of Wl (x) . Step7: If there are exists v errors, go to Step9. Otherwise, set v=v+1. Step8: If v>t, stop. If not, go to Step4. Step9: The error polynomial is determined and then the received word can be corrected. An example of decoding (17, 9, 5) QR code is shown as follows to explain our proposed decoding algorithm in detail. Example: Let α be a root of the primitive polynomial x 8 + x 4 + x 3 + x 2 + 1 and let β =. α (2. 8. −1) / 17. = α 15 be a primitive 17st root of unity in GF (2 ) . The set of quadratic residue modulo 17 is 8. Q17 = { 1, 2, 4, 8, 9, 13, 15, 16 } . The generator. polynomial of binary (17, 9, 5) QR code can be written as g ( x) = ∏ ( x − β i ) = 1 + x + x 2 + x 4 + x 6 + x 7 + x 8 . i∈Q17. If the information polynomial m(x) is m( x ) = 1 + x 2 + x 4 + x 6 + x 8 , then the code polynomial C(x) is C ( x) = 1 + x + x 2 + x 5 + x 6 + x 7 + x 8 + x 10 + x 12 + x 14 + x 16 , which is a multiple of g(x). We assume that the error polynomial E(x) is E ( x) = x1 + x14 . Then the received polynomial is the sum of the code polynomial C(x) and the error polynomial E(x), i.e. R( x) = C ( x) + E ( x) ≡ r ( x) mod g ( x). =1 + x2 + x3 + x6. The decoding process developed in this paper is described as follows. First of all, the known syndrome S k for each k in Q17 can be calculated from the remainder polynomial r(x). That is, 16. S k = ∑ ri ( β k ) i , k ∈ Q17 . i =0. For the binary (17, 9, 5) QR code, every known syndromes (resp., unknown syndromes) can be expressed as some power of primary syndrome S1 (resp., S 3 ). The relations among syndromes for (17, 9, 5) QR code is given in following: S 2 = S12 , S 4 = S14 , S 8 = S18 , S16 = S116 ,. - 1072 -. S15 = S132 , S13 = S164 , S 9 = S1128 , S 6 = S 32 , S12 = S 34 , S 7 = S 38 , S14 = S 316 , S11 = S 332 , S 5 = S 364 , S10 = S 3128 ..

(4) By evaluating r(x) at the roots of g(x) mentioned above, the primary known syndrome is S1 = α 87 ≠ 0 , which means that there are errors occurred in the received polynomial r(x). If the number of errors is one, i.e., v=1, the primary unknown syndrome is S 3 = S13 = α 6 . After the determination of the primary syndromes S1 and S 3 , all syndromes can be also determined. Therefore, we further obtain the syndrome polynomial. calculating known syndromes effectively and the key equation of the Gao’s algorithm supplies a successful condition to determine the error locator polynomial. It would be interesting to see if there exists a generalized condition to determine the number of occurred errors.. REFERENCES [1] E. Prange, “Some Cyclic Error-Correcting Codes with Simple Decoding Algorithms,” Air Force Cambridge Research Center-TN-58-156, Cambridge, MA: 1958.. S ( x ) = α 87 x + α 174 x 2 + α 6 x 3 + α 93 x 4 + α 129 x 5 + α 12 x 6 + α 48 x 7 +. α 186 x 8 + α 171 x 9 + α 3 x10 + α 192 x11 + α 24 x12 + α 213 x13 + α 96 x14 + α 234 x15 + α 117 x16 .. The EEA is applied to polynomial T(x)=S(x)+1 and x − 1 in Equation (9). This is accomplish by the recursive formulas Equation (8) illustrated in Table 1, where initially P−1 ( x ) = x n − 1 and P0 ( x) = T ( x) . From Table 1, one observes that deg P( x) = deg P4 ( x) = 12 < (17 + 9) / 2 = 13 . Thus, the computation terminates at this point for i=4, and W4 ( x) = 1 + α 227 x 3 + α 110 x 4 . Using Chien search to find the root of the W4 ( x) , there n. is no root {β i 0 ≤ i ≤ 16} in W4 ( x) , and thus the. assumption is not valid. If the number of the errors is two, the primary unknown syndrome S 3 can be determined by the technique developed in [13]. A computer search is used to find the following matrix of size 3× 3 ⎡ S 0 S1 S 2 ⎤ ⎢S ⎥ ⎢ 1 S 2 S3 ⎥ . ⎢⎣ S15 S16 S 0 ⎥⎦ There is only one unknown syndrome S 3 among the entries of this matrix. By [13], the determinant of the above matrix is zero. The unknown syndrome S 3 for the two-error case is thus S S S + S 22 S15 S 3 = 1 2 16 = α 244 , S1 S15 where S 0 = 0 and S1 = α 87 . Since v=2 is even, the polynomial T(x)=1+S(x) is used in the EEA. Similarly, the processing of the EEA is illustrated in Table 2. The computation terminates at this point for i=4, and W4 ( x ) = 1 + α 87 x + α 225 x 2 . There exists exactly two roots β −1 , β -14 , in W4 ( x) via Chien search. In other words, the error polynomial e( x ) = x1 + x14 is determined.. 5: CONCLUSION In this paper, a new decoding algorithm of the QR codes is proposed. We apply the remainder technique and the key equation of the Gao’s algorithm in our decoding method. The remainder technique is used in. [2] R. W. Hamming, “Error detecting and error correcting codes,” Bell System Technical Journal, vol. 29, pp. 147-160, 1950. [3] M. J. E. Golay,” Notes on digital coding,” Proc. IRE, vol. 37, p.67, 1949. [4] S. Reed, X. Yin, T. K. Truong, and J. K. Holmes, “Decoding the (24, 12, 8) Golay code,” Proc. IEE, vol. 137, pp. 202-206, May 1990. [5] M. Elia, “Algebraic decoding of the (23, 12, 7) Golay code,” IEEE Trans. Inf. Theory, vol. 33, pp. 150-151, Jan. 1987. [6] S. Reed, X. Yin, and T. K. Truong, “Algebraic decoding of the (32, 16, 8) quadratic residue code,” IEEE Trans. Inf. Theory, vol. 36, pp. 876-880, July. 1990. [7] S. Reed, T. K. Truong, X. Chen, and X. Yin, “The algebraic decoding of the (41, 21, 9) quadratic residue code,” IEEE Trans. Inf. Theory, vol. 38, pp. 974-985, May 1992. [8] X. Chen, I. S. Reed, T. Helleseth, and T. K. Truong, “Use of GrÖbner bases to decode binary cyclic codes up to the true minimum distance,” IEEE Trans. Inf. Theory, vol. 40, no. 5, pp. 1654-1661, Sep. 1994. [9] P. Loustaunau and E. V. York, “On the decoding of cyclic codes using GrÖbner bases,” Appl. Alg. Eng. Commun. Comput., vol. 8, pp. 469-483, 1997. [10] Y. Chang, T. K. Truong, I. S. Reed, H. Y. Cheng, and C. D. Lee, “Algebraic decoding of (71, 36, 11), (79, 40, 15), and (97, 49, 15) quadratic residue codes,” IEEE Trans. Inform. Theory, vol. 51, no. 9, pp. 1463-1473, Sep. 2003. [11] T. K. Truong, Y. Chang, Y. H. Chen, and C. D. Lee, “Algebraic decoding of (103, 52, 19), and (113, 57, 15) quadratic residue codes,” IEEE Trans. Commun., vol. 53, no. 5, pp. 749-754, May 2005. [12] L. Welch and E. R. Berlekamp, ”Error Correction for Algebraic Block Codes,” US Patent 4 633 470, 1983. [13] R. He, I. S. Reed, T. K. Truong, and X. Chen, “Decoding the (47, 24, 11) quadratic residue code,” IEEE Trans. Inf. Theory, vol. 47, no. 3 pp. 1181-1186, Mar. 2001. [14] S. Gao, “A new algorithm for decoding Reed-Solomon codes,” in Communications, Information and Network Security, V. Bhargava,. - 1073 -.

(5) H. V. Poor, V. Tarokh, and S. Yoon, Eds. Norwell, MA: Kluwer, 2003, vol. 712, pp. 55-68. [15] Sergei V. Fedorenko, “ A Simple Algorithm for Decoding Reed-Solomon Codes and its Relation to the Welch-Berlekamp Algorithm,” IEEE Trans. Inf. Theory, vol. 51, pp. 1196-1198, no. 3, Mar. 2005.. Table 1. Applying the EEA to find W(x) as v=1. Table 2. Applying the EEA to find W(x) as v=2. Fig. 1 Flowchart of new QR decoder. - 1074 -.

(6)

數據

Table 2. Applying the EEA to find W(x) as v=2

參考文獻

相關文件

An n×n square is called an m–binary latin square if each row and column of it filled with exactly m “1”s and (n–m) “0”s. We are going to study the following question: Find

6 《中論·觀因緣品》,《佛藏要籍選刊》第 9 冊,上海古籍出版社 1994 年版,第 1

• Using the remainder estimate for the Integral Test, answer this question (posed at the end of Group Exercise 2 in Section 12.2): If you had started adding up the harmonic series at

Real Schur and Hessenberg-triangular forms The doubly shifted QZ algorithm.. Above algorithm is locally

Then, we tested the influence of θ for the rate of convergence of Algorithm 4.1, by using this algorithm with α = 15 and four different θ to solve a test ex- ample generated as

Then, it is easy to see that there are 9 problems for which the iterative numbers of the algorithm using ψ α,θ,p in the case of θ = 1 and p = 3 are less than the one of the

S15 Expectation value of the total spin-squared operator h ˆ S 2 i for the ground state of cationic n-PP as a function of the chain length, calculated using KS-DFT with various

Since the generalized Fischer-Burmeister function ψ p is quasi-linear, the quadratic penalty for equilibrium constraints will make the convexity of the global smoothing function