MODIFIED ALGORITHM FOR SEARCHING THE ROOTS OF THE ERROR LOCATORS POLYNOMINAL WHILE DECODING BCH CODES

Context. In telecommunications and information systems with an increased noise component the noise-resistant cyclic BCH and Reed-Solomon codes are used. The adjustment and correcting errors in a message require some effective decoding methods. One of the stages in the procedure of decoding RS and BCH codes to determine the position of distortions is the search for the roots of the error locator polynomial. The calculation of polynomial roots, especially for codes with significant correction capacity is a laborious task requiring high computational complexity. That is why the improvement of BCH and RS codes decoding methods providing to reduce the computational complexity is an urgent task. Objective. The investigation and synthesis of the accelerated roots search algorithm of the error locator polynomial presented as an affine polynomial with coefficients in the finite fields, which allows accelerating the process of BCH and RS code decoding. Method. The classical roots search method based on the Chan’s algorithm is performed using the arithmetic of the Galois finite fields and the laborious calculation, in this case depends on the number of addition and multiplication operations. For linearized polynomials, the roots search procedure based on binary arithmetic is performed taking into account the values obtained at the previous stages of the calculation, which provides the minimum number of arithmetic operations. Results. An accelerated algorithm for calculating the values of the error locator polynomial at all points of the GF(2 m ) finite field for linearized polynomials based on the Berlekamp-Massey method has been developed. The algorithm contains a minimum number of addition operations, due to the use at each stage of the calculations the values obtained at the previous step, as well as the addition in the finite field GF(2). A modified roots search method for affine polynomials over the finite fields has been proposed to determine error positions in the code word while decoding the cyclic BCH and RS codes. Conclusions. The scientific newness of the work is to improve the algorithm of calculating the roots of the error locator polynomial, which coefficients belong to the elements of the finite field. At the same time it simplifies the procedure for cyclic BCH and RS codes decoding, due to reducing the computational complexity of one of the decoding stages, especially finding the error positions using the modified Berlekamp-Massey algorithm. These facts are confirmed by the simulation program results of the roots search of the error locator polynomial algorithm. It is shown, that the application of the accelerated method permits to reach a gain on speed of 1.5 times.


INTRODUCTION
One of the ways to protect information from errors in digital communication systems is to use error-correcting codes detecting and correcting errors in the information transmission channel. The requirements for encoding and decoding methods and procedures by the reference to the spectral and energy efficiency of a communication system give the task of constructing simplified algorithms for correcting errors in transmitted information. In modern information systems, cyclic BCH and Reed-Solomon codes, which require high redundancy, are the most used to ensure their corrective abilities. Moreover, the processing time of information in a decoding device, which depends on the complexity of the encoding and decoding algorithms, limits significantly the operating time of the error protection system. BCH and Reed-Solomon codes used in modern information storage and transmission systems built on classical error detection and correction procedures, at some decoding stages, due to a significant amount of data, have high arithmetic complexity. This leads to limited potential possibilities of the above said correction codes to provide a given probability of information loss.
In this case, in order to increase the operation speed of information protection systems from errors in information data transmission systems, it is necessary to improve and refine existing algorithms for decoding of cyclic BCH codes for improving the correcting ability of the code by reducing the computational complexity of encoding and decoding procedures with high redundancy.
The object of research is the decoding process of cyclic RS and BCH codes in the digital communication systems.
The subject of research is a method for finding the roots of the error locator polynomial whose coefficients belong to in the Galois fields.
The aim of this work is to study the decoding methods of RS and BCH codes, allowing detecting and correcting errors in the code sequence, as well as the develo pm ent of an accelerated algorithm for calculating the roots of the error polynomial, the implementation of the algorithm into Visual Studio and the subsequent analysis of the results.

PROBLEM STATEMENT
The ways of BCH and RS codes decoding are quite well developed in theory and practice, which is presented in [1], but nevertheless the implementation of decoding algorithms is quite a laborious task, especially if the finite fields of a large order are used.
A typical procedure for the decoding of cyclic RS codes is proposed by the author R.E. Blahut [2] and consists of the following stages: -the calculation of syndrome components (syndrome vector); -the formation of a key equation and finding of the error locator polynomial by one of the methods -Peterson, Berlekamp-Massey or the Euclidean algorithm; -the searching for the roots of the error locator polynomial using the Chan's method -a complete enumeration of all values; -the calculation of the error values polynomial and error character determination based on the Forney algorithm; -the correction of erroneous characters. The GF(2 m ) finite field contains 2 m elements (1, α 1 , α 2 , α 3 , ...), each of which is represented by a binary vector of m bits and in the practice PC code mostly uses the calculations in the GF(2 m ) finite fields.
One of the most time-consuming stages of RS code decoding is searching for the roots of the error locator polynomial It is known that the Chan's method can be used to find the roots of the error locator polynomial (1) degree ν in the field GF(2 m ). However, the Chan's algorithm requires multiplication of each coefficient σ i in the formula (1) by the element of field GF(2 m ) using α degrees.
Therefore, to correct errors in the code sequence, the Chan's method is used, which in fact is a complete enumeration of all elements, which significantly affects the effectiveness of the decoding device. If the decoder has a known error locator polynomial roots are mutual to the error position locators, then the Chan's procedure can be applied to each of the locators 1, α 1 , α 2 , α 3 , …, α l (l = 2 m -1) to check if the symbol displayed at the moment is an error [1]. I.e., for all non-zero elements of α k field GF(2 m ), the condition σ(α k ) = 0 is checked, and its implementation indicates that α -k is a mutual root of the error locator polynomial to the erroneous symbol. In this case, the number of operations to implement the Chan's procedure is 2t (2 m -1). Thus, the Chan's procedure for searching the roots of the polynomial error becomes quite complicated for calculations in large finite fields (m>8) and for error locators polynomials of a large degree, because it requires a significant number of operations.
Therefore, the task of this work is to improve the method for determining the positions of distortions in the code word and to reduce the computational complexity of the algorithm for finding the roots of the error polynomial in the finite fields of GF(2 m ) when decoding RS and BCH codes.

REVIEW OF THE LITERATURE
The principles of encoding, more modern methods of errors control, code applications for the design of real error control systems are covered in [3]. With the help of a special class of p-polynomials the authors offered a fast algorithm for finding polynomial roots of the degree less than 5. In this algorithm the polynomial defined in the formula (1) is transformed into an affine polynomial above the GF(2 m ) field. Then the roots can be found by solving a system from m linear equations with m unknown above the GF(2) field. Therefore, at the minor values of ν, the advantage of the above algorithm over the Chan's method is that the calculations in the GF(2 m ) field (multiplying σ i coefficients by α degrees) required in the standard Chan's search method are completely excluded.
The searching method for the roots of the polynomial on the base of some transformation that makes it possible to group some polynomial constituents of the degree no higher than 11 into multiple affine polynomials is proposed in [4]. This method makes it possible to accelerate the calculations, but this algorithm has its disadvantages. For example, it can be used for polynomials which degrees cannot be higher than 11. The building and decoding of BCH codes for different communication systems are described in [5]. The authors propose an improved algorithm for searching the roots of polynomials over the finite fields. This algorithm significantly accelerates the process of BCH codes decoding. Also the improved hybrid algorithm of polynomial roots finding over finite fields is considered in [6] and [7] articles. The authors have combined the Jiang's algorithm, which is based on the decomposition of the error locator polynomial in the sum of multiple affine polynomials with modified analytical methods for solving polynomials with small degree in radicals. A number of works have been devoted to different issues of BCH and RS decoding, where simple equation for Reed-Solomon codes on the base of uniting of two algorithms (Berlekamp-Massey algorithm and Euclidean) was proposed [8], the new approach to calculating the total error locator polynomial [9][10], the dependence of indicators of reliability and efficiency of information transmission on the parameters of Reed-Solomon codes are given in [11], the main stages of Reed-Solomon codes encoding (decoding) for practical application [12] were reviewed.
The analysis of publications has shown the necessity to study the procedures of cyclic BCH codes decoding, as well as the methods of determining error positions in the code word, based on the search of the roots of the error locator polynomial. The calculations of the roots values are carried out using the elements of finite fields, taking into account the degree of error polynomial, which significantly affects the calculation time. Therefore, the analysis results of known methods of roots search will be presented further, and also the accelerated algorithms of definition of errors positions in a code word at decoding RS and BCH codes will be described.

MATERIALS AND METHODS
The solution of the problem of searching the roots of the error locator polynomial (1), which σ i coefficients belong to the GF(2 m ) finite field, using the Berlekamp algorithm is based on a special class of polynomials. These polynomials, which roots can be found much easier, are called p-polynomials or linearized polynomials [1].
If we suggest that the error locators polynomial has the degree ν=2 i , then it can be represented as The polynomial of the type (3) is called affine polynomial [6].
If the polynomial is checked when searching for roots, then we obtain For any GF(2 m ) finite field the standard basis is a set of m elements 1, α 1 , α 2 , α 3 , … α m-1 [14]. The values of the linearized polynomial F 0 (α 0 ) F 1 (α 1 ) ….. F m-1 (α m-1 ) at the points of the standard basis of the GF(2 m ) finite field can be calculated using (2). The obtained result lies in the GF(2 m ) field, but for further calculations it is reasonable to present it as a binary vector corresponding to the field element We denote the searching root of the error polynomial Then it is derived from the formula (1) that the zero coefficient of error locator polynomials represented as binary vector can be obtained by mul- . (5) Therefore, the decomposition coefficients of F(x) polynomial on a standard basis can be obtained For example, it is necessary to find the roots of the error locator polynomial that coefficients belong to the GF(2 3 ) finite field, generated by the primitive polynomial p(x)=x 3 +x+1: We represent the error polynomial as linearized polynomial above the GF(2 3 ) field and the zero coefficient is . Then, in accordance with (4), we obtain searching roots of the error locator polynomial, then in accordance with (6) The basis vectors F 2 (α 2 ), F 1 (α 1 ) и F 0 (α 0 ) taking into account (8) can be calculated as:: Each F(α i ) basis vector above the GF(2 3 ) field corresponds to a binary Then, in accordance with (5) Therefore, the roots of the error locator polynomial (7) can be found by solving simultaneously three equations . It is obvious that the elements of the GF(2 3 ) finite field α 1 {0 1 0} and α 5 {1 1 1} are the roots of the polynomial (7). This example shows that to find the roots of the polynomial (7) by means of the Berlekamp algorithm it is necessary to calculate only three F(α 2 ), F(α 1 ) and F(α 0 ) in the GF(2 3 ) field instead of calculating all values F(α 0 ), F(α 1 ) …. F(α 6 ), required for searching the roots by the Chan's method.
For the decrease in complexity and quantity of computational operations at finding the roots of errors locator polynomial by the Berlekamp method it is expedient to use earlier calculated values at the following stage of algorithm. For this purpose we will use the property of the linearized polynomial Thus, in accordance with the property (10), we obtain Consider such a pair of α k and α i elements of the finite field GF(2 m ) as a standard basis (binary vector of m length), which would differ from each other in one position. Then in the formula (11) the α j field element is in this case a single vector of m length. As it has been point-ed out earlier such elements (binary sequence weight 1) are basic in the finite field GF(2 m ) 1, α 1 , α 2 , α 3 , … α m-1 .
Hence, if we rank (order) the elements of the GF(2 m ) finite field in such a way that the nearby vectors will differ exactly in one position. Then, at each step of the algorithm for searching the roots of the error locator polynomial, the calculations are reduced to a single addition the previous value and the value of the linearized polynomial at the points of the standard basis F(α 0 ) F(α 1 ) ….. F(α m-1 ) of the GF(2 m ) finite field.
Thus, in order to calculate all values of the error locator polynomial represented as the affine polynomial (3) in all points of the finite field , it is necessary to complete the following steps -corresponds to one of the basic elements of the GF(2 m ) field).
The expression (12) provides the procedure for finding the polynomial value set σ(x) at all . The calculation requires ordering of all the elements of the field, the presence of the previous value ) ( 1 − β i F and the previously found values of the basis vectors F(α i ).
Thus, to find the roots of the error locator polynomial, and therefore to calculate the polynomial value (3) at all points of the finite field it is necessary to use the following algorithm: 1. To set the value of zero coefficient of error locators polynomial σ 0 and linearized polynomial F(x).
2. To find the values of the linearized polynomial F(x) at the points of the standard basis of the finite field GF(2 m ) 3. To perform the initialization F(β 0 ) = 0.

To arrange all elements of the
finite field in the form of binary vectors in such a way that two any nearby vectors will differ exactly in one position.
5. To calculate the value of 6. If F(β i ) = σ 0 , then the field element β i is the polynomial root of σ(x).

EXPERIMENTS
To confirm the functionality of the above-mentioned theoretical calculations we will perform the procedure of searching the roots of the error locator polynomial, which coefficients belong to the GF(2 4 ) finite field, generated by the primitive polynomial p(x)=x 4 +x+1: 1. We represent the error polynomial (13) as above the GF(2 4 ) and the zero coefficient 1 0 = σ . 2. We will find the values of the linearized polynomial at the points of the standard basis of the GF(2 4 ) finite field The elements of the GF(2 4 ) finite field, decomposed as the binary vectors, should be ordered so that the nearby vectors will differ in one position. 5. We will perform step-by-step calculations in accordance with (12).
To estimate the real efficiency of the proposed modified algorithm for calculating the roots of the error locator polynomial, the software simulation in C++ language has been implemented. The multiplication in the GF(2 8 ) finite fields for the Chan's method was carried out using the tables of logarithms and antilogarithms. The calculations of the roots and the comparison of results were carried out only for the linearized error polynomials and for the elements of the α 0 , α 1 , …, α 254 field. Figure 1 represents the measurement results of the computation speed for the modified root search method and for the Chan's method.

RESULTS
Based on the results, it can be concluded that the application of the modified algorithm for searching the roots of error locator polynomials, presented as the linearized polynomials, makes it possible to achieve a speed gain of 1.5 times in comparison with the Chan's method.

DISCUSSION
As all polynomials of the second degree are linearized, their roots can be found by solving the corresponding system of linear equations by the Berlekamp-Massey method [7]. Also, a linearized polynomial of error loca-tors with a nonzero coefficient can be represented as an affine polynomial. In this case, the root search procedure is reduced to the addition of binary vectors in the GF (2) field GF as the elements of the GF(2 m ) finite field, which allows reducing significantly the number of addition and multiplication operations of the field elements.
If each element α i of the GF(2 m ) finite field can be compared to a binary vector of m length, the field elements can always be ordered in such a way that two nearby vectors will differ from each other exactly in the same position, for example, using the Gray code.
The described algorithm allows finding the roots of the error locator polynomial if the polynomial (1) is represented as an affine polynomial (3). However, this rootsearching procedure can also be generalized in the case of arbitrary polynomials if they are broken down into a set of affine polynomials.

CONCLUSIONS
In this work the acute scientific task of the accelerated search of the roots of the error locator polynomial which define the errors positions in the accepted code sequence at the stage of cyclic BCH and RS codes decoding is solved.
Also the effective algorithm of the roots calculation of the errors polynomial above the GF(2 m ) finite fields is developed. The improved algorithm for calculating the roots of the polynomial errors with the coefficients in the finite field based on the Berlekamp-Massey algorithm for the linearized polynomials has been proposed, which provides a minimum number of arithmetic operations due to the use of data obtained from the previous stages of calculations. The proposed algorithm reduces the complexity of root calculations at one point of the finite field due to the application of a special arrangement of all elements of the finite field.
Practical newness of the work results lies in the implementation of the program model of the code message decoding system, which allows conducting the error correction, both for the classical method of searching the roots, and for the developed modified algorithm for calculating the positions of the disturbed characters. The modeling results have confirmed the efficiency of the proposed algorithm for the root searching of the error locator polynomial while the cyclic BCH and RS codes decoding, which allows achieving the speed gain by 1.5 times, compared with the Chan's search method.