KR0147761B1 - Bch coding method and apparatus of error correction - Google Patents

Bch coding method and apparatus of error correction Download PDF

Info

Publication number
KR0147761B1
KR0147761B1 KR1019950023947A KR19950023947A KR0147761B1 KR 0147761 B1 KR0147761 B1 KR 0147761B1 KR 1019950023947 A KR1019950023947 A KR 1019950023947A KR 19950023947 A KR19950023947 A KR 19950023947A KR 0147761 B1 KR0147761 B1 KR 0147761B1
Authority
KR
South Korea
Prior art keywords
error
bit
polynomial
buffer
error correction
Prior art date
Application number
KR1019950023947A
Other languages
Korean (ko)
Other versions
KR970013794A (en
Inventor
조용석
정학진
Original Assignee
이준
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이준, 한국전기통신공사 filed Critical 이준
Priority to KR1019950023947A priority Critical patent/KR0147761B1/en
Publication of KR970013794A publication Critical patent/KR970013794A/en
Application granted granted Critical
Publication of KR0147761B1 publication Critical patent/KR0147761B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

본 발명은 디지탈 통신시스팀 데이터 저장시스팀의 통신로 상에서 발생하는 비트 오류를 수신측에서 직접 정정할 수 있도록 하는 오류정정부호 중에서 2중 오류정정 BCH부호의 복호방법 및 그 장치에 관한 것으로, 오증으로부터 오류위치다항식을 구하는 과정에서 나눗셈을 생략하도록 구현함으로써, 기존의 복호기에 비하여 회로의 면적을 줄이는 효과가 있다.The present invention relates to a method and apparatus for decoding a double error correction BCH code among error correction codes that allow a receiver to directly correct a bit error occurring on a communication path of a digital communication system data storage system. By dividing the division in the process of obtaining the position polynomial, the area of the circuit is reduced as compared with the conventional decoder.

Description

2중 오류정정 BCH부호의 복호방법 및 그 장치Decoding method of double error correction BCH code and its device

제1도는 일반적인 오증계산회로의 블록도.1 is a block diagram of a general five calculation circuit.

제2도는 Chien의 오류탐지회로의 블록도.2 is a block diagram of Chien's error detection circuit.

제3도는 종래의 2중 오류정정 BCH부호의 복호기를 도시한 블록도.3 is a block diagram showing a decoder of a conventional double error correction BCH code.

제4도는 본 발명의 실시예에 따른 2중 오류정정 BCH부호의 복호기를 도시한 블록도.4 is a block diagram showing a decoder of a double error correction BCH code according to an embodiment of the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

11,12 : 오증계산부 13,23 : 오류탐지부11,12: error calculation unit 13,23: error detection unit

12 : 오류위치다항식계산회로 22 : 오류위치계산부12: Error position polynomial calculation circuit 22: Error position calculation unit

본 발명은 디지탈 통신시스팀 또는 데이터 저장시스팀의 통신로 상에서 발생하는 비트 오류를 수신측에서 직접 정정할 수 있도록 하는 오류정정부호(Error correcting Codes)의 복호방법 및 그 장치에 관한 것으로, 특히 오증으로부터 오류위치다항식을 구하는 과정에서 나눗셈을 사용하지 않음으로써 회로의 면적을 줄인 2중 오류정정 BCH부호의 복호방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for decoding error correcting codes that allow a receiver to directly correct a bit error occurring on a communication path of a digital communication system or a data storage system. The present invention relates to a method for decoding a double error correction BCH code that reduces the area of a circuit by using no division in the process of obtaining a position polynomial, and a device thereof.

오류정정부호는 크게 블럭부호(Block Codes)와 길쌈부호(Convolution Codes)로 나눌수 있으며, 블록부호 중에서 BCH(Bose Chaudhuri Hocquenghem) 부호는 여러 개의 산발오류(Random errors)를 정정할 수 있는 부호로, 오류정정 개수를 비교적 자유롭게 선택할 수 있으며 정보비트수에 비해 검사비트 수도 비교적 적은 효율적인 부호이다.The error correcting code can be divided into Block Codes and Convolution Codes. The BCH (Bose Chaudhuri Hocquenghem) code is a code that can correct a number of random errors. The number of corrections can be selected relatively freely and the number of check bits is relatively small compared to the number of information bits.

2진(binary) 블록부호의 복호는 한 블록 내에서 발생한 오류의 개수와 그 위치를 찾아 내는 것이다. 오류의 정정은 오류위치의 비트를 0이면 1로, 1이면 0으로, 즉 비트를 반전시키면 된다. 2진 BCH부호(이하 BCH)의 복호는 첫째 수신계열(receivd sequence)로 부터 오증(syndrome)을 계산하고, 둘째 오증으로부터 오류위치다항식(error locator polynomial)을 구하여, 셋째 오류위치다항식의 근을 구하여 오류위치(error location number)를 구하고 그 위치의 비트를 반전시켜서 정정하는 3단계로 나눌수 있다.Decoding binary block codes finds the number and location of errors within a block. Correction of an error is necessary by inverting the bit at the error position to 1 if 0 and 1 if 0, that is, inverting the bit. The decoding of binary BCH code (hereinafter referred to as BCH) calculates the syntax from the first received sequence, obtains the error locator polynomial from the second error, and obtains the root of the third error location polynomial. The error location number can be divided into three steps: correcting by inverting the bits in the location.

종래에는 오증으로부터 오류위치다항식을 구하는 과정에서 나눗셈이 필요하였다. BCH부호를 복호하는데 사용되는 모든 연산은 유한체(Finite Field) GF(2m)상에서 이루어지며, 여기에서 가장 장치화에 어려운 연산이 나눗셈이다. 유한체 GF(2m)상의 임의의 2원소 사이의 나눗셈은 일반적으로, 한 원소의 역원(Inverse Element)에 다른 원소를 곱하는 것이다. 따라서 나눗셈기는 곱셈기와 역원계산기를 포함하고 있는 것이다.In the prior art, division was necessary in the process of finding an error position polynomial from misdiagnosis. All operations used to decode the BCH code are performed on the finite field GF (2 m ), where the most difficult operation is division. The division between any two elements on the finite field GF (2 m ) is generally the product of the inverse element of one element by the other element. Thus, dividers include multipliers and inverse calculators.

먼저, BCH부호의 복호에 대하여 간단하게 기술한다.First, the decoding of the BCH code will be briefly described.

부호장(Code Length)이 n이고, 정보장(Information Length)이 k인 (n,k) BCH부호에서, 부호 다항식을 c(χ), 오류다항식을 e(χ), 수신다항식을 r(χ)라 하면, r(χ)는 다음 식과 같이, 송신측에서 보낸 부호다항식 c(χ)에 전송로상에서 발생한 오류다항식e(χ)가 더해진 것으로 볼 수 있다.In the (n, k) BCH code whose code length is n and information length is k, the code polynomial is c (χ), the error polynomial is e (χ), and the reception polynomial is r (χ ), R (χ) can be considered as the error polynomial e (χ) generated on the transmission path to the code polynomial c (χ) sent from the transmitter as shown in the following equation.

한 블록 내에 발생한 t개 이하의 모든 오류를 정정할 수 있는 t중에 오류 정정 BCH부호의 부호다항식은 정보다항식 d(χ)와 생성다항식 g(χ)의 곱이다. 또 유한체 GF(2m)의 원시원(Primitive Element)을 α라 할 때, 생성다항식 g(χ)는 α,α35,···,α2t-1를 근간으로 하는 다항식이므로The code polynomial of the error correction BCH code is the product of the information polynomial d (χ) and the generated polynomial g (χ). Also, when the primitive element of the finite field GF (2 m ) is α, the generated polynomial g (χ) is a polynomial based on α, α 3 , α 5 , · ,, α 2t-1 .

가 된다. 그러므로 식1에 α,α35,···,α2t-1를 대입하면 다음과 같이 된다.Becomes Therefore, substituting α, α 3 , α 5 , ..., α 2t-1 into Equation 1 becomes as follows.

식3을 살펴보면 전송로상에서 오류가 발생하지 않으면 이 식은 0이 되고 오류가 발생하면 이 식은 0이 되지 않는다. 그러므로 이 식을 다음과 같이 오증(Syndrome)으로 정의한다.Equation 3 shows that if no error occurs in the transmission path, this expression is 0. If an error occurs, this expression is not 0. Therefore, this expression is defined as Syndrome as follows.

즉, Sj=0 이면 오류가 발생하지 않는 것이고, Sj≠0 이면 오류가 발생한 것이다. 식4의 오증은 수신비트로부터 계산할 수 있다.That is, if S j = 0, no error occurs. If S j ≠ 0, an error occurs. The proof in Equation 4 can be calculated from the received bits.

수신다항식 r(χ)를Receive polynomial r (χ)

라 하고, 여기에 αj(j=1,3,5,···,2t-1)를 대입하면Let α j (j = 1,3,5, ..., 2t-1) be substituted for

과 같이 된다. 식6을 살펴보면, 높은 차수부터 들어오는 입력 비트에 αj를 곱하고 다음 입력 비트와 더한 다음, 다시 αj 곱하는 과정을 마지막입력이 들어올 때 까지 반복하는 것이다.Becomes Looking at Equation 6, α is applied to incoming bits from higher order.jMultiply by and add it with the next input bit, and then again αjTo The multiplication process is repeated until the last input is received.

제1도는 이 식을 이용하여 오증을 구하는 회로를 구성한 것이다.1 is a circuit that calculates the miscalculation using this equation.

오증이 구해진 다음에는 이 오증으로부터 오류위치다항식을 구한다. 오류다항식 e(χ)를After the testimony is obtained, the error position polynomial is obtained from the testimony. Error polynomial e (χ)

라 할 때, 만약 u(1≤u≥t)개의 오류가 i1,i2,....iu( i1i2....iu) 위치에 발생하였다고 가정하면 오류다항식은If we assume that u (1≤u≥t) errors occur at i 1 , i 2 , .... i u (i 1 i 2 .... i u ), then the error polynomial

이 되므로 식4의 오증 SjSince the proof S j in Equation 4 is

가 된다. 여기에서 오류위치XkBecomes Where error position X k is

로 정의하면 식9는Equation 9 is defined as

i=1i = 1

가 되고, 이것을 j=1,3,5,···,2t-1에 대하여 풀어보면 다음과 같은 t개의 방정식이 된다.If you solve this for j = 1, 3, 5, ..., 2t-1, you have the following t equations.

BCH부호의 복호는 이 t개의 방정식으로부터 미지수 X1,X2,X3,...,XU를 구하는 것이다. 그러나 이 방정식들은 비선형 방정식(Nonlinear Equations)이므로 직접 해를 구하는 것은 매우 어렵다. Peterson은 이 비선형 방정식을 식13과 같은 오류위치다항식을 도입하여 푸는 방법을 처음 제안하였다(W. W. Peterson, Encoding and Error correction Procedure for Bose-Chaudhuri codes, IRE Trans. Inf. Theory, IT-6, PP.459∼470, 1960).The decoding of the BCH code finds the unknowns X 1 , X 2 , X 3 , ..., X U from these t equations. However, since these equations are nonlinear equations, direct solutions are very difficult. Peterson first proposed a method of solving this nonlinear equation by introducing an error-position polynomial such as (WW Peterson, Encoding and Error correction Procedure for Bose-Chaudhuri codes, IRE Trans. Inf. Theory, IT-6, PP. 459-470, 1960).

먼저, 오류위치다항식을 다음과 같이 오류위치의 역수를 근으로 갖는 다항식으로 정의한다.First, the error location polynomial is defined as a polynomial having the inverse of the error location as follows.

식13과 같이 정의한 오류위치다항식의 계수 σi(1≤i≤u)와 오증 Sj와의 관계는 Newton의 항등식에 의하여 식14와 같이 표현된다. 식14를 유도하는 과정은 부호이론(이만영, 희중당, 1984)의 [5.3](pp.159∼162)에 잘 설명되어 있다.The relationship between the coefficient σ i (1 ≦ i ≦ u) of the error-position polynomial defined by Eq. 13 and the positive S j is expressed by Eq. 14 by Newton's identity. The process of deriving Eq. 14 is well described in [5.3] (pp.

식14에서 행렬식(determinant) |A|는 실제 오류가 t또는 t-1개 발생하였을 때 (u-t 또는 t-1), 0이 아니며(non singular), t-2개 이하가 발생하였을 경우 0이 된다. 이 성질은 Peterson이 처음 증명하였으며, Error-Correcting Codes (W. W. Peterson and E. J. Weldin, M.I.T Press, Cambridge, Mass, 1972.)의 [9.6] (pp.300∼301)에 자세히 설명되어 있다.In equation (14), the determinant | A | is not 0 when t or t-1 errors occur (non or singular), and 0 when t-2 or less occur. do. This property was first demonstrated by Peterson and is described in detail in [9.6] (pp. 300-301) of Error-Correcting Codes (W. W. Peterson and E. J. Weldin, M.I.T Press, Cambridge, Mass, 1972.).

그러므로 행렬식 |A|를 계산하면 실제 발생한 오류의 갯수 u룰 찾을 수 있다. 또한 오증 Sj는 이미 알고 있는 상수이고, 이 방정식은 선형방정식(Linear equition)이므로 비교적 쉽게 σi(1≤i≤u)를 구할 수 있다. 여기에서 S2j=(Sj)2이다. 이상과 같이 오류위치다항식 σ(χ)는, 식14로부터 오류위치다항식의 계수 σi(1≤i≤u)를 구하면 구성할 수 있다.Therefore, by calculating the determinant | A |, we can find the number of actual errors. In addition, the positive S j is a known constant, and since this equation is a linear equation, σ i (1 ≦ i ≦ u) can be obtained relatively easily. Where S 2j = (S j ) 2 . As described above, the error position polynomial σ (χ) can be constructed by obtaining the coefficient σ i (1 ≦ i ≦ u) of the error position polynomial from the equation (14).

오증으로부터 오류위치다항식의 계수를 구하는 것은 BCH부호의 복호과정 중 가장 어렵고 복잡한 과정으로 이에 대한 해법이 BCH부호의 복호에서 가장 핵심이 되는 부분이다.Determining the coefficient of error position polynomial from miscalculation is the most difficult and complicated process of decoding the BCH code, and the solution is the most important part in the decoding of the BCH code.

오류위치다항식을 구했다면, 그 다음 단계는 오류위치를 찾는 것이다. 식13의 정의에 따라 오류위치 Xi는 오류위치다항식σ(χ)의 근의 역수이므로, 오류위치를 찾기 위해서는 오류위치다항식 σ(χ)의 근을 찾아서 역수를 취하여야 한다. 오류위치다항식 σ(χ)의 근은, 유한체 GF(2m)이 2m개의 유한한 원소를 가지고 있으므로, σ(χ)에 유한체GF(2m)의 모든 원소를 대입하는 방법으로 찾을 수 있다. 즉 1,α,α2,···,αn-1(n=2m-1)을 σ(χ)에 대입하여 값이 0이되는 원소가 바로 σ(χ)의 근이다.Once you have the error location polynomial, the next step is to find the error location. According to the definition of Eq. 13, the error location X i is the inverse of the root of the error location polynomial σ (χ), so to find the error location, we need to find the root of the error location polynomial σ (χ) and take the inverse. The root of the error-position polynomial σ (χ) is found by substituting all the elements of finite field GF (2 m ) for σ (χ), because finite field GF (2 m ) has 2 m finite elements. Can be. That is, the element whose value becomes 0 by substituting 1, α, α 2 , ..., α n-1 (n = 2 m −1) into σ (χ) is the root of σ (χ).

GF(2m)상의 임의의 한 원소 αi(0≤i≤n-1, n=2m-1)가 오류위치다항식 σ(χ)의 근이라고 하면, 오류위치는 정의에 의하여 αi의 역수α-i가 된다. GF(2m)상의 임의의 한 원소 αi의 역수α-i는 αn=1이므로 다음과 같이 된다.Speaking root of GF (2 m) of any one element α i (0≤i≤n-1, n = 2 m -1) , an error locator polynomial σ (χ) on, the error location is defined by α i The inverse α- i is obtained. Inverse α -i of any one of the element α i on the GF (2 m) is so α n = 1 is as follows.

따라서 αi가 오류위치다항식 σ(χ)의 근이라고 하면 오류위치는 αn-1가 된다. 그러므로 GF(2m)상의 (n,k) BCH부호에서 αi가 σ(χ)의 근이라고 하면, 수신 비트( r0, r1, r2, .... , rn-1)중에서 rn-1비트가 오류비트가 된다.Therefore, if α i is the root of the error position polynomial σ (χ), the error position is α n-1 . Therefore, if α i is the root of σ (χ) in the (n, k) BCH code on GF (2 m ), then among the received bits (r 0 , r 1 , r 2 , ...., r n-1 ) r n-1 bits become error bits.

Chien은 이상과 같은 알고리즘을 회로로 구현하였다(R. T. Chien, Cyclic Decoding Procedure for the Bose Chaudhuri Hocquenghem Codes, IEEE Trans. Inform. Theory, IT-10, pp.357∼363, 1964). 수신비트가 높은 차수부터 입력되어 차례로 복호된다고 할 때, rn-1비트를 복호하려면 αn-1이 오류위치인지를 검사하여 오류위치이면 rn-1비트를 반전시키고, 아니면 그대로 출력한다.Chien implemented the above algorithm in a circuit (RT Chien, Cyclic Decoding Procedure for the Bose Chaudhuri Hocquenghem Codes, IEEE Trans. Inform. Theory, IT-10, pp.357-363, 1964). When the received bit is input from a higher order and decoded in order, to decode the r n-1 bits, it is checked whether α n-1 is an error position, and inverts the r n-1 bits if it is an error position.

αn-1이 오류위치인지를 검사하는 것은 αn-1의 역수인 α가 오류위치다항식의 근인지를 검사하는 것이다. 즉 σ(α)=0 인지를 검사하여 0이면 rn-1비트를 반전시키고, 아니면 그대로 출력한다. 같은 방법으로 rn-2비트는 σ(α2)=0인지를, rn-3비트는 σ(α2)=0 인지를, ···, r0비트는 σ(αn=1)=0인지를 검사하여 0이면 그 위치의 비트를 반전시키고, 아니면 그대로 출력하는 것이다.To check whether α n-1 is the error position is to check whether α, the inverse of α n-1 , is the root of the error position polynomial. In other words, it checks whether σ (α) = 0, and if it is 0, inverts the r n-1 bit or outputs it as it is. In the same way, whether r n-2 bits is σ (α 2 ) = 0, r n-3 bits are σ (α 2 ) = 0, and r 0 bits are σ (α n = 1). If it is 0 and it is 0, it reverses the bit at the position or outputs it as it is.

이 과정을 식으로 나타내면,If you represent this process as an equation,

가 된다.Becomes

식16을 살펴보면 σ(α)=0식의 σ1항에 α를, σ2항에α2을,...σu항에αu를 계속 곱해나가면서 값이 0이 되는지를 검사하는 것이다. 즉 다시쓰면,As you look at the expression 16 σ (α) = 0 in expression of the α σ 1, wherein the still is multiplied by the α u 2 in the α σ 2 wherein σ u ... in this section is to examine the value that is zero . In other words,

가 된다.Becomes

제2도는 이상의 알고리즘을 회로로 구성한 것이다. 여기서 각 레지스터에는 σ12,.....,σu가 초기값으로 들어가 있다.2 is a circuit of the above algorithm. Here, each register contains σ 1 , σ 2 , ....., σ u as initial values.

2개 이하의 모든 오류를 정정할 수 있는 2중오류정정(n,k) BCH부호의 오류위치다항식은 식14에서 u=2로 하면,The double error correction (n, k) error position polynomial of BCH code that can correct all two or less errors is u = 2 in Equation 14.

가 되고 행렬식 |A|=S1이 된다. 그러므로S1=0 이면 t-2개 이하의 오류, 즉 오류가 발생하지 않은 것이며, S1≠0 이면 t개 또는 t-1개, 즉 2개 또는 1개의 오류가 발생한 것이다. 오류위치다항식의 계수는 식18에서And determinant | A | = S 1 . Therefore, if S 1 = 0, there are no more than t-2 errors, that is, no errors have occurred, and if S 1 ≠ 0, t or t-1, that is, 2 or 1 errors have occurred. The coefficient of error position polynomial is

가 되어 오류다항식은 다음과 같이 된다.The error polynomial becomes

그러므로 식17과 같은 σ(αI)=0는Therefore, σ (α I ) = 0 equal to

가 된다.Becomes

제1도와 제2도, 그리고 식20을 이용하여 2중 오류정정 BCH부호기를 구성하면 제3도와 같이 된다.The double error correction BCH encoder is constructed using FIG. 1, FIG. 2, and Equation 20, as shown in FIG.

제3도는 종래의 2중 오류정정 BCH부호로의 복호기를 도시한 블록도로서, 식21을 보면 오증 S3를 S1으로 나누는 회로(10)가 필요하다.FIG. 3 is a block diagram showing a conventional decoder for double error correction BCH code. As shown in Equation 21, a circuit 10 for dividing a positive S 3 by S 1 is required.

S1과 S3는 GF(2m)상의 원소이므로, 이 두 원소 사이의 나눗셈은 m이 커질수록 급격하게 회로가 복잡해 지는 문제점을 가지고 있다.Since S 1 and S 3 are elements on GF (2 m ), the division between these two elements has a problem that the circuit becomes more complicated as m increases.

「야마끼시 아쓰히로, 이노우에 도오루, 무라가미 도꾸미찌, 아사이 고우다로우, 복합오류정정 BCH복호회로, 공고번호 94-2112, 1994.03.17」에서는 이 나눗셈을 구현하기 어려우므로, ROM(Read Only Memory)을 이용하여 오증을 GF(2m)의 원시원의 지수표현으로 바꿔서 유한체상의 곱셈과 나눗셈을 각각 정수의 덧셈과 뺄셈으로 처리하는 수법을 사용하고 있다. 그러나 이러한 방법은 유한체 상의 곱셈과 나눗셈은 쉬워지는 반면 덧셈이 어려워지는 단점을 가지고 있으며, 또 m이 커지면 지수표현으로 바꾸는 ROM의 용량도 매우 커지는 단점을 가지고 있다.`` Atsuhiro Yamaki-shi, Toru Inoue, Toraguchi Murakami, Ada Kodarou, BCH Decoder for Complex Error Correction, Publication No. 94-2112, March 17, 1994 '' is difficult to implement this division. By converting the testimony to the exponential representation of the primitive source of GF (2 m ), the multiplication and division on finite field is handled by addition and subtraction respectively. However, this method has the disadvantage of making it easier to add and divide on the finite field, and it is difficult to add. Also, when m is large, the capacity of the ROM to be converted to exponential is also increased.

「김영민, 전인산, 박영수, 2중 오류정정이 가능한 BCH (CODEC), 공고번호 93-11573, 1993.12.11」에서는 식21의 (S1 2+S3S1 -1)을 미리 계산하여 ROM을 넣으려면 m×2m비트 용량의ROM이 필요하므로, 이를 한꺼번에 계산하지 않고, S의 역원 S만을 m×22m비트 용량의 ROM을 사용하여 구한 다음, 이를 Sn와 곱하고 S1 2과 더하는 방법을 사용하고 있다. 그러나 이 방법 역시 나눗셈을 사용하므로 회로가 복잡해지는 단점이 있었다.`` Kim Young-min, Jeon In-san, Young-su Park, BCH (CODEC) capable of double error correction, Announcement No. 93-11573, 1993.12.11 '', calculates (S 1 2 + S 3 S 1 -1 ) of Equation 21 in advance Since we need m x 2 m bit ROM, we don't calculate it all at once, we get only the inverse S of S using m x 2 2 m bit ROM, then multiply it by S n and add it with S 1 2 I'm using the method. However, this method also uses division, which results in a complicated circuit.

따라서 본 발명의 목적은 한 블록 내에서 발생한 2비트 이하의 모든 오류를 정정할 수 있는 2중 오류정정 BCH부호의 경우에 오증으로부터 오류위치다항식을 구하는 과정에서 나눗셈을 사용하지 않음으로써 회로면적을 줄인 2중 오류정정 BCH부호의 복호방법 및 그 장치를 제공하는데에 있다.Therefore, the object of the present invention is to reduce the circuit area by not using division in the process of finding the error position polynomial from error in the case of the double error correction BCH code that can correct all errors of 2 bits or less occurring within a block. The present invention provides a decoding method of a double error correction BCH code and an apparatus thereof.

상기 목적을 달성하기 위하여, 본 발명의 2중 오류정정 BCH부호의 복호방법에서는 수신되는 비트들을 버퍼에 저장함과 동시에 오증 S1과 S3를 구하여 출력하는 단계와,Comprising the steps of: In order to achieve the above object, the output obtained ohjeung S 1 and S 3 in the decoding method of the error-correcting BCH code of the second of the present invention and store in the buffer, the bits are received at the same time,

상기 S1이 0이면 오류가 발생하지 않은 것으로 판정하여 버퍼의 수신비트를 그대로 출력하고, S1이 0이 아니면 S1 2과 (S1 3+S3)를 계산하여 출력하는 단계와,And wherein if S 1 is 0, it is determined that the error did not occur to output as the received bit in the buffer, and the output S 1 is not zero to calculate the S 1 2 and (3 S 1 + S 3),

상기 S1 2에 αi를, (S1 3+S3)에 α2i를 i=1,2,3,...,n으로 변환시키면서 곱하여 이들 S1과 더한 값이 0이면 그때 버퍼에서 나오는 비트를 반전시켜서 오류를 정정하는 단계를 구현하였다.Converting S 1 2 to α i and (S 1 3 + S 3 ) to α 2i by converting i = 1,2,3, ..., n to multiply these S 1 by 0 Implement the steps to correct the error by inverting the emerging bits.

상기 목적을 달성하기 위하여, 본 발명의 2중 오류정정 BCH부호의 복호장치는 수신되는 비트들을 버퍼에 저장함과 동시에 오증S1과 S3를 구하여 출력하는 오증계산 수단과,In order to achieve the above object, the decoder of the error correcting BCH code of the second of the present invention ohjeung calculation means for obtaining the output ohjeung S 1 and S 3 and at the same time storing the bits received in the buffer and,

상기 S1이 0이면 오류가 발생하지 않은 것으로 판정하여 버퍼의 수신비트를 그대로 츨력하고, S1이 0이 아니면 S1 2과 (S1 3+S3)를 계산하여 출력하는 오류위치계산 수단과,If S 1 is 0, it is determined that no error has occurred and the reception bit of the buffer is output as it is. If S 1 is not 0, error location calculating means for calculating and outputting S 1 2 and (S 1 3 + S 3 ) and,

상기 S1 2에 αi를, (S1 3+S3)에 α2i를 i=1,2,3,...,n으로 변화시키면서 곱하여 이들S1과 더한 값이 0이면 그때 버퍼에서 나오는 비트를 반전시켜서 오류를 정정하는 오류탐지 수단을 구비하였다.S 1 2 is multiplied by α i , (S 1 3 + S 3 ) and α 2i is changed to i = 1,2,3, ..., n and multiplied by these S 1 is 0 then buffer Error detection means was provided for correcting errors by inverting the bits coming out.

이하, 본 발명의 실시예를 첨부한 도면을 참조하여 더 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings an embodiment of the present invention will be described in more detail.

제4도는 본 발명의 실시예에 따른 2중 오류정정 BCH부호의 복호기를 도시한 블록도로서, 수신되는 비트들을 버퍼에 저장함과 동시에 오증 S1과 S3를 구하여 출력하는 오증계산부(11)와,4 is a block diagram illustrating a decoder of a double error correction BCH code according to an embodiment of the present invention, which stores the received bits in a buffer and simultaneously calculates and outputs a testimony S 1 and S 3 . Wow,

상기S1이 0이면 오류가 발생하지 않은 것으로 판정하여 버퍼의 수신비트를 그대로 출력하고, S1이 0이 아니면 S1 2과 (S1 3+S3)를 계산하여 출력하는 오류위치계산부(22)와,If S 1 is 0, it is determined that an error has not occurred, and the received bit of the buffer is output as it is. If S 1 is not 0, an error position calculation unit for calculating and outputting S 1 2 and (S 1 3 + S 3 ) With 22,

상기 S1 2에 αi를, (S1 3+S3)에 α2i를 i=1,2,3,...,n으로 변환시키면서 곱하여 이들 S1과 더한 값이 0이면 그때 버퍼에서 나오는 비트를 반전시켜서 오류를 정정하는 오류탐지부(23)를 구비하였다.Converting S 1 2 to α i and (S 1 3 + S 3 ) to α 2i by converting i = 1,2,3, ..., n to multiply these S 1 by 0 An error detection unit 23 for correcting an error by inverting the output bit was provided.

2중 오류정정 BCH부호일 때 즉 t=2일 때, 실제 발생한 오류의 개수를 판별하는 행렬식|A|가 |A|=S1이므로, t-2개 이하의 오류 즉 오류가 발생하지 않았을 때만 S1=0이고, t개 또는 t-1개 즉 2개 또는 1개의 오류가 발생했을때에는 S1≠0이라는 데에 착안하여 식21의 양변에 S1을 곱한다.When double error correction is BCH code, that is, when t = 2, the determinant | A | that determines the number of errors actually occurred is | A | = S 1, so only when there are no more than t-2 errors, that is, no error occurs. When S 1 = 0 and t or t-1 errors, or 2 or 1 errors, focus on S 1 ≠ 0 and multiply both sides of Equation 21 by S 1 .

식22를 보면 나눗셈이 없어졌음을 알 수 있다. 따라서 역원계산기를 사용하지 않음으로 회로의 복잡도를 대폭 감소시킬수 있다.Equation 22 shows that division is gone. Therefore, the complexity of the circuit can be greatly reduced by not using an inverse calculator.

실제로, 제3도와 비교하면 역원계산기 대신에 덧셈기로 바뀐 것을 제외하고 나머니는 동일하다. 그러므로 회로규모가 대폭 축소되었음을 알 수 있다.Indeed, compared to Figure 3, the remainder is the same except that it is changed to an adder instead of an inverse calculator. Therefore, it can be seen that the circuit scale is greatly reduced.

상술한 바와 같이, 본 발명의 2중 오류정정 BCH부호의 복호방법 및 그 장치를 사용할 경우 디지탈 통신시스팀 또는 데이터 저장시스팀의 통신로상에서 발생하는 비트 오류를 수신측에서 직접 정정 할 수 있도록 하는 오류정정부호 중에서 오증으로부터 오류위치다항식을 구하는 과정에서 나눗셈을 생략함으로써, 기존의 복호기에 비하여 회로의 면적을 줄이는 효과가 있다.As described above, in case of using the double error correction BCH code decoding method and apparatus of the present invention, the error correction enables the receiver to directly correct a bit error occurring on the communication path of the digital communication system or the data storage system. By omitting division in the process of finding the error position polynomial from the misrepresentation in the code, the area of the circuit is reduced as compared with the conventional decoder.

Claims (2)

디지탈 통신시스팀 또는 데이터 저장시스팀의 통신로 상에서 발생하는 비트오류를 수신측에서 직접 정정 할 수 있도록 하는 오류정정부호 복호방법에 있어서, 수신되는 비트들을 버퍼에 저장함과 동시에 오증S1과 S3를 구하여 출력하는 단계와, 상기 S1이 0이면 오류가 발생하지 않은 것으로 판정하여 버퍼의 수신비트를 그대로 출력하고, S1이 0이 아니면 S1 2과 (S1 3+S3)를 계산하여 출력하는 단계와, 상기 S1 2에 αi를, (S1 3+S3)에 α2i를 i=1,2,3,...,n으로 변환시키면서 곱하여 이들 S1과 더한 값이 0이면 그때 버퍼에서 나오는 반전시켜서 오류를 정정하는 단계를 포함하는 것을 특징으로 하는 2중 오류정정 BCH부호의 복호방법.A communication error correction code decoding method for the bit error to be directly corrected on the receiving side that occur within a digital communication systems or data storage systems, the received bits at the same time stores in a buffer obtaining a ohjeung S 1 and S 3 and outputting, if the S 1 is 0, it is determined that the error did not occur to output as the received bit in the buffer, S 1 is 0, or S 1 2 and (S 1 3 + S 3) to calculate the output Multiplying S 1 2 with α i and (S 1 3 + S 3 ) by converting α 2i to i = 1,2,3, ..., n and adding these S 1 to 0 And then correcting the error by inverting the buffer. 디지탈 통신시스팀 또는 데이터 저장시스팀의 통신로 상에서 발생하는 비트 오류를 수신측에서 직접 정정할 수 있도록 하는 오류정정부호 복호장치에 있어서, 수신되는 비트들을 저장함과 동시에 오증 S1과 S3를 구하여 출력하는 오증계산 수단과, 상기 S1이 0이면 오류가 발생하지 않은 것으로 판정하여 버퍼의 수신비트를 그대로 출력하고, S1이 0이 아니면 S1 2과 (S1 3+S3)를 계산하여 출력하는 오류위치계산 수단과, 상기 S1 2에 αi를, (S1 3+S3)에 α2i를 i=1,2,3,...,n으로 변환시키면서 곱하여 이들 S1과 더한 값이 0이면 그때 버퍼에서 나오는 비트를 반전시키면서 오류를 정정하는 오류탐지 수단을 구비하는 것을 특징으로 하는 2중 오류정정BCH부호의 복호장치.In digital communication systems or data storage systems, communications error correction code decoding apparatus for direct correction on the receiving side the bit error occurring in a, the received bit is simultaneously storing and outputting obtain the ohjeung S 1 and S 3 If the error calculation means and S 1 is 0, it is determined that no error has occurred and the buffer's reception bit is output as it is. If S 1 is not 0, S 1 2 and (S 1 3 + S 3 ) are calculated and output. an error position calculation means and that, for the α 2 i S 1, (3 S 1 + S 3) to the α 2i for i = 1,2,3, ..., while multiplied by conversion to n plus and these S 1 And an error detecting means for correcting an error while inverting the bits coming out of the buffer if the value is zero.
KR1019950023947A 1995-08-03 1995-08-03 Bch coding method and apparatus of error correction KR0147761B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950023947A KR0147761B1 (en) 1995-08-03 1995-08-03 Bch coding method and apparatus of error correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950023947A KR0147761B1 (en) 1995-08-03 1995-08-03 Bch coding method and apparatus of error correction

Publications (2)

Publication Number Publication Date
KR970013794A KR970013794A (en) 1997-03-29
KR0147761B1 true KR0147761B1 (en) 1998-12-01

Family

ID=19422752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950023947A KR0147761B1 (en) 1995-08-03 1995-08-03 Bch coding method and apparatus of error correction

Country Status (1)

Country Link
KR (1) KR0147761B1 (en)

Also Published As

Publication number Publication date
KR970013794A (en) 1997-03-29

Similar Documents

Publication Publication Date Title
Leung-Yan-Cheong et al. Concerning a bound on undetected error probability (Corresp.)
KR20020047134A (en) Method and apparatus for coding and decoding data
EP0840461A2 (en) Galois field multiplier for Reed-Solomon decoder
JPH0936755A (en) Decoder and its method
EP0249982A2 (en) Decoder
US5936978A (en) Shortened fire code error-trapping decoding method and apparatus
US3771126A (en) Error correction for self-synchronized scramblers
KR19990016134A (en) High Speed Serial Error Position Polynomial Computation Circuit
US5541937A (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
EP1102406A2 (en) Apparatus and method for decoding digital data
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
KR0147761B1 (en) Bch coding method and apparatus of error correction
US4298981A (en) Decoding shortened cyclic block codes
Khan et al. Hardware implementation of shortened (48, 38) Reed Solomon forward error correcting code
KR0149298B1 (en) Reed-solomon decoder
KR20000037517A (en) Reed-solomon decoder circuit
JP3099890B2 (en) Error correction device for BCH code
KR940007929B1 (en) Error correction system and method therefor
US7287207B2 (en) Method and apparatus for computing parity characters for a codeword of a cyclic code
KR0166251B1 (en) A high-speed crc encoder
KR100407131B1 (en) Reed solomon decoder using combinational circuits
KR100212830B1 (en) Syndrome calculation apparatus of reed solomon decoder
KR20040041294A (en) A Divisionless Decoding Method and Decoder for the BCH Codes
RU2282307C2 (en) Method for syndrome decoding for convolution codes
KR20040073642A (en) Decoder of Reed-Solomon code with variable error correcting capability

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100510

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee