KR0175331B1 - Error correction method - Google Patents

Error correction method Download PDF

Info

Publication number
KR0175331B1
KR0175331B1 KR1019920014491A KR920014491A KR0175331B1 KR 0175331 B1 KR0175331 B1 KR 0175331B1 KR 1019920014491 A KR1019920014491 A KR 1019920014491A KR 920014491 A KR920014491 A KR 920014491A KR 0175331 B1 KR0175331 B1 KR 0175331B1
Authority
KR
South Korea
Prior art keywords
error
value
newton
identity
correction
Prior art date
Application number
KR1019920014491A
Other languages
Korean (ko)
Other versions
KR940004980A (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 KR1019920014491A priority Critical patent/KR0175331B1/en
Publication of KR940004980A publication Critical patent/KR940004980A/en
Application granted granted Critical
Publication of KR0175331B1 publication Critical patent/KR0175331B1/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

이 발명은 R-S 코드를 이용하여 에러를 정정하는 방법에 관한 것으로서, 더욱 상세화하게는 세로 방향의 C1 코드(24, 20, 5)와 가로 방향의 C2코드(32, 26, 7)로 구성되는 C1/C2 크로스 인터리브 프로덕트 코드에 대한 메모리 맵에서, 상기 메모리 맵의 세로 방향의 C1 코드를 수신하여 오증과 에러 위치 다항식의 계수들을 계산해서 2에러까지 정정하는 C1디코딩 과정과, 상기 메모리 맵의 가로 방향의 C2 코드를 수신하여 오증을 계산하고 정정 불능 C1 코드로부터 이레이져의갯수를 카운트하여, 이 이레이져 갯수에 의해 6이레이져 및 이레이져의 에러가 동시에 존재하는 복합 형태의 에러에 대해 정정하는 C2 디코딩 과정으로 이루어짐으로써, 다음의 표와 같이 에러 정정 능력을 강화시킬 수 있다.The present invention relates to a method for correcting an error using an RS code. More specifically, the present invention relates to a C1 code composed of C1 codes 24, 20, and 5 in the vertical direction and C2 codes 32, 26 and 7 in the horizontal direction. In the memory map for the / C2 cross-interleaved product code, the C1 decoding process of receiving the C1 code in the vertical direction of the memory map, calculating the coefficients of the false positive and error location polynomials, and correcting up to two errors, and the horizontal direction of the memory map. Receives C2 code, calculates a false positive, counts the number of erasers from the uncorrectable C1 code, and corrects for a complex type error in which 6 erasers and eraser errors exist simultaneously by the number of erasers. By the decoding process, the error correction capability can be enhanced as shown in the following table.

Description

에러 정정 방법Error correction method

제1도는 이 발명에 따른 에러 정정 장치의 일실시예를 나타낸 블럭도.1 is a block diagram showing an embodiment of an error correction apparatus according to the present invention.

제2도는 이 발명에 따른 C1/C2 크로스 인터리브 프로덕트 코드의 메모리맵을 나타낸 도면.2 is a memory map of a C1 / C2 cross interleaved product code according to the present invention;

제3도는 이 발명에 따른 C1 코드의 디코딩 흐름도.3 is a flowchart for decoding a C1 code according to the present invention.

젤4도는 (a), (b), (c)는 이 발명에 따른 C2 코드의 디코딩 흐름도이다.Gel 4 is a (a), (b), (c) is a decoding flowchart of the C2 code according to the present invention.

이 발명은 R-S(Reed-Solomon) 코드의 복호기를 이용한 디지탈 데이타의 에러 정정 기술에 관한 것으로서, 더욱 상세화하게는 에러 정정 능력을 2에러, 6이레이져까지 확장하고 에러와 이레이져(Erasure ; 에러 위치는 알고 에러 값은 모르는 에러)의 복합된 형태의 에러까지 정정이 가능하도록 하는 에러정정 방법에 관한 것이다.The present invention relates to an error correction technique of digital data using a decoder of a RS (Reed-Solomon) code. More specifically, the error correction capability is extended to 2 errors and 6 erasers, and error and erasure (error position) are solved. Is an error correction method that allows correction of complex types of errors.

일반적으로 R-S 코드는 디지탈 음향기기(DAT, CD, DCC등)의 디스크나 테이프등의 매질에서 생길수 있는 흠으로 인해서 데이타 손상이 생겼을 때 수정하는데 쓰이며 플로피 디스크, 하드 디스크, CD-롬(ROM)등의 컴퓨터 보조기억 장치에서도 같은 목적으로 쓰인다. 또한 위성 통신에서도 널리 사용되고 있다.In general, RS codes are used to correct data corruption due to defects that may occur in media such as disks or tapes of digital sound equipment (DAT, CD, DCC, etc.). Floppy disks, hard disks, CD-ROMs, etc. Is used for the same purpose. It is also widely used in satellite communications.

그리고, R-S 코드는 디지탈 신호의 재생시 데이타를 보호할 목적으로 수개의 패리티를 발생시켜 데이타들과 상기 패리티를 포함시킨 1개의 코드 워어드를 발생하는 엔코오더와, 상기 엔코더로부터 전송되어 수신된 코드 워어드를 잡음으로부터 보호한 후 보호하는 디코더를 구비하는 정보 채널 보호 장치의 계통에서 순회 코드(Cycle Code)의 일종인 BCH 코드중 중요한 위치를 차지하고 있는 비 2원 BCH 코드로서 다중 에러를 정정하는 가장 강력한 부호로 알려져 왔다.The RS code is an encoder that generates several parities for the purpose of protecting data during reproduction of a digital signal, and generates one code word including the data and the parity, and a code transmitted and received from the encoder. A non-binary BCH code that occupies an important position among BCH codes, which is a kind of cycle code, in a system of an information channel protection device having a decoder that protects a word from noise and then protects it from the noise. It is known as a strong sign.

이러한 R-S 코드를 이용한 종래의 에러 정정 기술을 예로 들면, 1980년 12월 19일 일본국의 소니사에 의해 '에러 정정 방법'이란 명칭으로 국내에 출원되어 공고된 특허(공고 번호 제 86-500 호)가 있다. 이 발명에 의하면 m비트로 이루어진 n워어드를 갖는 1블럭데이타에서 2워어드 에러까지 정정할 수 있는 방법이 개시되어 있다.Taking the conventional error correction technique using the RS code as an example, a patent filed in Korea under the name of 'error correction method' and published by Sony Corporation of Japan on December 19, 1980 (notice No. 86-500) There is. According to the present invention, a method of correcting from one block data having n words consisting of m bits to two word errors is disclosed.

이를 상세히 살펴보면 다음과 같다. 수신 n워어드 및 패리티검사행렬(Parity checking matrix) H로 이루어진 1블럭 데이타(Block data) V T 에 대한 K개의 오증(Syndrome) (S0, S1, …, SK-1)을 아래 연산에 의하여 구할 수 있다.Looking at this in detail as follows. Calculate the K Syndromes (S 0 , S 1 ,…, S K-1 ) for one block data V T consisting of the received n Word and Parity checking matrix H Can be obtained by

여기서, 패리티 검사행렬 H는 n열 및 k행을 가지며, 1규정행의 각 원소는 αo(=1)~α2m-2에서 선택되며, 원소 α는 F(X)=0을 충족시키는 평방근이다. 따라서 동일값은 상기 소정행에 두번 나타나지 않으며, 그 밖의 행의 원소는 각 행내에 모든 원소에 대하여 상기 소정행의 대응 원소의 누승으로 선택되게 이루어져 있다.Here, the parity check matrix H has n columns and k rows, each element of the 1 regular row is selected from α o (= 1) to α 2m-2 , and the element α is the square root satisfying F (X) = 0. to be. Therefore, the same value does not appear twice in the predetermined row, and the elements of the other rows are selected by the power of the corresponding elements of the predetermined row with respect to all the elements in each row.

m비트를 1워어드로 하고, n워어드를 1블록으로 구성할때, 상기 패리티 검사 행렬 H를 표현하면 아래와 같다.When the m bit is 1 word and the n word is 1 block, the parity check matrix H is expressed as follows.

한편, 2층 에러(ei, ej)의 경우의 오증(S0, S1, S2, S3)에 관한 식은 아래와 같다.On the other hand, the equation regarding the testimony (S 0 , S 1 , S 2 , S 3 ) in the case of the two-layer error (ei, ej) is as follows.

위식을 변형시키면 아래와 같다.If you modify the above equation,

다시 변형시켜 에러 위치 다항식을 구하면 아래와 같다.Transform again to find the error position polynomial:

여기서, 상기 각 다항식의 계수를 아래와 같이 가정한다.Here, the coefficients of each polynomial are assumed as follows.

위의 다항식의 각 계수 A,B,C를 사용하여 2워어드 에러의 경우의 에러 위치를 아래와 같이 구한다.Using the coefficients A, B, and C of the above polynomials, the error position in the case of 2-word error is obtained as follows.

ⅰ) 에러가 없는 경우에러) If there is no error

A = B = C = 0, S0= 0, S3= 0A = B = C = 0, S 0 = 0, S 3 = 0

ⅱ) 1워어드 에러의 경우Ii) In the case of 1 word error

A = B = C = 0, S0≠0, S3≠ 0일때 1워어드 에러로 판정된다.When A = B = C = 0, S 0 ≠ 0, and S 3 ≠ 0, a 1 word error is determined.

이 경우 에러 위치 α1는 아래의 연산에 의해 구하여지며,In this case, the error position α 1 is obtained by the following operation,

에러값 ei = S0을 사용하여 에러 정정을 수행한다.Error correction is performed using the error value ei = S 0 .

ⅲ) 2워어드 에러의 경우I) In case of 2Word error

2워어드 이상의 에러의 경우에는, A ≠ 0, B ≠ 0, 및 C ≠ 0 이 성립하고, 아래의 관계가 성립된다.In the case of an error of two or more words, A? 0, B? 0, and C? 0 are satisfied, and the following relationship is established.

여기서,로 가정하여,here, Assuming

아래와 같은 식을 구한다.Obtain the following equation.

그리고 상기 계수 D, E에 의해 표현되는 변형된 에러 위치 다항식은 다음과 같이 된다.The modified error position polynomial represented by the coefficients D and E is as follows.

여기서 2개의 에러 위치의 차가 t일때,Where the difference between the two error positions is t,

즉, j = i + t일때 아래와 같은 식이 구하여진다.That is, when j = i + t, the following equation is obtained.

따라서, 아래의 식이 도출된다.Thus, the following equation is derived.

t = 1 ∼(n∼1)의 값의 α-tt의 값을 ROM에 미리 기입해두고, ROM의 출력과 수신 워어드로부터 연산된 DZ/E의 값과의 일치를 검출하는 것으로 t를 구한다.Write the value of α -t + α t of the value of t = 1-(n-1) to the ROM in advance, and detect the match between the output of the ROM and the value of D Z / E calculated from the received word. Find t.

만약 일치 관계가 성립하지 않으면, 3워어드 이상의 에러로 판정한다.If a match does not hold, an error of more than 3 words is determined.

따라서 다음을 가정하여,Therefore, assuming

상기식으로부터 에러 위치 α1및 α3를 구한다.The error positions α 1 and α 3 are obtained from the above equation.

그리고, 다음에는 에러값(Error value) ei 및 ej가 아래와 같이 표현된 식과 같이 구해진다.Next, the error values ei and ej are obtained as shown in the following expression.

이와 같은 과정을 통하여 에러 위치 및 에러 값을 구하면 에러를 정정할 수 있다.Through this process, the error location and error value can be corrected.

그러나, 상기 특허(공교번호 제 86-500호)에서 제안된 방법은 2에러, 4이레이져까지만 정정이 가능하고 또한, 에러와 이레이져의 결합된 형태의 에러를 정정하지 못했다. 따라서, DCC(Digital Compact Cassette)와 같이 보다 강력한 에러 정정 능력을 요구하는 시스템에서는 에러 정정 능력이 떨어지는 문제점이 있었다.However, the method proposed in the above patent (Publication No. 86-500) is capable of correcting up to 2 errors and up to 4 erasers, and also fails to correct the combined type error of the error and the eraser. Therefore, there is a problem that the error correction capability is inferior in a system requiring more powerful error correction capability, such as the Digital Compact Cassette (DCC).

이 발명은 이러한 문제점을 해결하기 위한 것으로서, 이 발명의 목적은 2에러, 6이레이져까지 정정할 수 있는 에러 정정 방법을 제공함에 있다.The present invention has been made to solve such a problem, and an object of the present invention is to provide an error correction method capable of correcting up to two errors and six lasers.

이 발명의 또다른 목적은 이미 알고 있는 에러 위치를 이용하여 또다른 에러의 위치를 찾은 후 이레이져 단일 정정법에 의해 에러 값을 구하여 에러와 이레이져의 결합된 형태의 에러를 정정할 수 있는 에러 정정 방법을 제공함에 있다.Another object of the present invention is to find the location of another error using the known error location, and then to obtain the error value by the eraser single correction method to correct the combined error of the error and the eraser. In providing a correction method.

이러한 목적을 달성하기 위한 이 발명의 특징은, C1 코드의 디코딩에 의해 2에러 이상이면 정정 불능 C1플랙을 출력하고 2에러 이하이면 정정을 수행하는 에러 정정 방법에 있어서, 수신 n워어드 및 패리티 검사 행렬 H로 이루어진 C2의 1코드 워어드분의 데이타에 대한 오증(S0∼S7) 구하는단계와, C1플랙을 32개 읽어와 정정 불능 C1플랙의 갯수(=이레이져의 갯수)를 카운팅하는단계와, 상기 카운트된 이레이져의 갯수가 7이상이면 에러정정 불능을 출력하고, 이레이져의 갯수가 6이하이면 상기 오증값과 에러 위치 다항식에 의해 에러 위치 다항식의 계수를 구하는단계와,A feature of the present invention for achieving this object is an error correction method for outputting an uncorrectable C1 flag if two errors or more are performed by decoding of a C1 code, and performing correction if two errors or less. A step of obtaining a false positive (S 0 -S 7 ) for data of one code word of C2 consisting of the matrix H, and counting the number of uncorrectable C1 flags (= number of erasers) by reading 32 C1 flags. Outputting an error correction impossibility if the number of the erased erasers is 7 or more, and calculating the coefficient of the error position polynomial according to the error value and the error position polynomial if the number of erasers is 6 or less;

상기 에러 위치 다항식의 계수와 오증값을 이용하여 아래의 뉴튼 항등식을 계산하는단계와,Calculating the following Newton's identity using the coefficients of the error position polynomial and a false value;

상기 뉴튼 항등식의 값이 0이 아니면 6개이상의 이레이져+에러가 발생한 것으로 정정 불능 C2플랙을 출력하고, 상기 뉴튼 항등식의 값이 0이면 에러위치 다항식의 계수와 오증값을 이용하여 6개의 에러 값(en, em, el, ek, ej, ei)을 계산하여 에러를 정정하는단계로,If the value of the Newton's identity is not zero, six or more erasure + errors are generated. If the value of the Newton's identity is zero, the error value is set to six error values using the coefficient of the error position polynomial and the false value. Compute the error by calculating (en, em, el, ek, ej, ei)

이루어져 6이레이져 단일 정정을 수행하는 에러 정정 방법에 있다.Is an error correction method for performing a six-laser single correction.

이러한 목적을 달성하기 위한 이 발명의 또다른 특징은, 카운트된 이레이져의 갯수가 4이고 하기의 뉴튼 항등식이 0을 만족하지 않으면 5개의 에러(4이레이져+1에러)로 판단하는단계와,Another feature of this invention for achieving this object is that if the number of erasers counted is four and the Newton's identity below does not satisfy zero, judging by five errors (4 erasure + 1 error),

이미 C1 디코딩에 의해 알려진 4개의 에러 위치(αl, αj, αk, αi) 정보를 이용하여 아래의 에러 위치 다항식의 계수들을 구하는단계와,Obtaining coefficients of the following error position polynomials using information of four error positions (α l , α j , α k , α i ) already known by C1 decoding,

상기 에러 위치 다항식의 계수들을 아래의 뉴튼 항등식에 대입하여 나머지 한개의 에러 위치(αm)을 구하는단계와,Coefficients of the error position polynomial And substituting for the Newton's identity below to find the other error location (α m ),

이미 알고 있는 에러 위치(αl, αj, αk, αi)와 계산된 에러 위치(αm)를 이용하여 새로이 에러 위치 다항식의 계수들을 계산하는단계와, 상기 계산된 에러 위치 다항식의 계수들과 오증값을 아래의 뉴튼 항등식에 대입하여 0을 만족하면 에러 값(em, el, ek, ej, ei)을 구하여 에러를 정정하는단계로,New coefficients of error position polynomial using known error positions (α l , α j , α k , α i ) and calculated error positions (α m ) Calculating the coefficients of the error position polynomial And correcting the error by substituting the error value and the error value into the Newton's identity below to obtain the error value (em, el, ek, ej, ei).

이루어지는 에러 정정 방법에 있다.Error correction method.

이하, 이 발명에 따른 일실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

제1도는 이 발명에 따른 에러 정정 방법을 수행하기 위한 블럭도로서, C1, C2의 데이타와 패리티가 기억되어 있는 메모리 맵(101)에는 상기 메모리맵(101)으로부터 1코드 워어드의 데이타 또는 C1플랙 정보를 읽어오는 완층 기억 장치(102)가 연결된다.1 is a block diagram for performing the error correction method according to the present invention. In the memory map 101 in which data and parity of C1 and C2 are stored, data of one code word or C1 from the memory map 101 is stored. The slow memory device 102 for reading the flag information is connected.

그리고 상기 완층 기억 장치(102)의 출력단에는 에러 정정 불능 C1플랙의 갯수를 카운팅하는 이레이져 카운터부(103)와 1코드 워어드 데이타에 대한 오증을 계산하는 오증 연산부(104)와 롬으로 된 이레이져 위치 출력부(106)와 가산기(111)가 연결된다.At the output of the slow memory device 102, an erasure counter 103 for counting the number of C1 flags which cannot be corrected for error, a miscalculation unit 104 for calculating a misrepresentation for one code word data, and a ROM The edger position output unit 106 and the adder 111 are connected.

한편, 상기 이레이져 카운터부(103)의 출력단에는 제어부(110)가 연결되고, 상기 오증 연산부(104)와 이레이져 위치 출력부(106)의 출력단에는 데이타를 일시 기억하는 램(RAM)으로 된 기억부(105)가 연결된다.On the other hand, the control unit 110 is connected to the output terminal of the erasure counter unit 103, and the output terminal of the error calculation unit 104 and the erasure position output unit 106 is made of RAM (RAM) for temporarily storing data. The storage unit 105 is connected.

여기서, 상기 이레이져 위치 출력부(106)는 C2 디코당시 C1 플랙을 상기 완층기억 장치(102)로 읽어들여 상기 이레이져 카운터부(103)가 이레이져의 갯수를 카운트할때, 이 C1 플랙이 C2 코드 워어드상 어느 위치에 있는가 확인하여 에러 위치를 구할때 이를 이용하도록 하고, 이 값은 기억부(105)에 기억되어 이후의 에러 정정 과정에서 이 이레이져 정보를 이용한다.Here, the erasure position output unit 106 reads the C1 flag into the slow memory device 102 at the time of C2 decoding, and when the erasure counter unit 103 counts the number of erasers, the C1 flag is displayed. It is used to determine which position on the C2 code word is used to obtain an error position, and this value is stored in the storage unit 105 to use this eraser information in a subsequent error correction process.

한편, A*B+C의 형태로 연산을 수행하는 연산부(108)에는 양방향으로 상기기억부(105)와 나눗셈을 할때 에러 위치값의 인버스(Inverse) 값으로 곱하는 롬(ROM)으로 된 제산부(107)와 2중 에러 정정시 k값에 따라 2개의 중간 에러 위치값을 출력하는 롬으로 된 에러 위치 출력부 (109)가 연결된다. 그리고, 상기 연산부(108)에는 상기 완층 기억 장치(102)에서 출력되는 1코드워어드분의 데이타와 상기 연산부(108)에서 구한 에러값을 비교하여 에러를 정정하는 가산기(111)가 연결된다.On the other hand, arithmetic unit 108 that performs arithmetic in the form of A * B + C is made of ROM, which is multiplied by an inverse value of an error position value when performing division with the memory unit 105 in both directions. The acid unit 107 is connected to an error position output unit 109 in ROM that outputs two intermediate error position values according to the k value at the time of double error correction. The calculator 108 is connected to an adder 111 for correcting an error by comparing the data for one codeword output from the slow memory device 102 with the error value obtained by the calculator 108.

상기 가산기(111)의 출력단에는 출력 래치부(112)가 연결되어 출력단(ro)을 통해 정정된 1코드 워어드나 정정 불능의 에러 플랙을 출력한다.An output latch unit 112 is connected to an output terminal of the adder 111 to output a corrected one code word or an uncorrectable error flag through the output terminal ro.

그리고, 제어부(110)의 출력단에는 완층 기억 장치(102)의 제어단, 이레이져 카운터부(103)의 제어단, 오증 연산부(104)의 제어단, 기억부(105)의 제어단, 연산부(108)의 제어단, 출력 래치부(112)의제어단이 연결된다.In addition, the output terminal of the control unit 110 includes a control terminal of the slow storage device 102, a control terminal of the erasure counter unit 103, a control terminal of the ozone calculation unit 104, a control terminal of the storage unit 105, and a calculation unit ( The control terminal of 108 and the control terminal of the output latch unit 112 are connected.

제2도는 C1/C2 크로스 인터리브 프로덕트 코드에 대한 메모리 맵으로서, 세로 방향의 C1 코드(24, 20, 5)와 가로 방향의 C2코드(32, 26, 7)로 구성되어 있으며, P1, Q1는 각각 C1 패리티, C2 패리티를 나타낸다.A second turn, and a memory map of the C1 / C2 cross interleave product code, consist of longitudinal C1 code (24, 20, 5) and the C2 code in the horizontal direction (32, 26, 7), P 1, Q 1 represents C1 parity and C2 parity, respectively.

이때, C1/C2 맨코딩 과정은 다음과 같다.At this time, the C1 / C2 mancoding process is as follows.

아날로그/디지탈 콘버터 혹은 디지탈 소스 데이타(다른 구성의 메모리 맵필요)로 입력되는 8비트 데이타를 D1,j라는 영역에 라이트한다.Writes 8-bit data input to analog / digital converters or digital source data (memory maps with different configurations) into the areas D 1 and j .

그리고, 상기 메모리 맵(101)의 데이타를 모두 라이트한 후 C2 앤코딩을 위하여 1코드 워어드분의 데이타(Di,25∼Di,0) 26바이트를 제1도의 완층기억장치(102)로 읽어들인다. 이때, 패리티 부분인 Q5∼Q0는 0로 대체하여 1코드 워어드분에 대해 오증 연산부(104)에서 오증값 S0∼S5(Sk= R(αk))을 구한다.After all the data of the memory map 101 has been written, 26 bytes of data (D i , 25 to D i , 0 ) corresponding to one code word for C2 encoding are stored in the slow memory 102 of FIG. Read in At this time, Q 5 to Q 0 , which is a parity part, are replaced with 0 to obtain a false value S 0 to S 5 (S k = R (α k )) in the ozone calculation unit 104 for one code word.

앤코딩시에 패리티 부분을 모두 0로 대치하여 오증값을 구하면, 디코딩시에 패리티 영역에(위치 정해짐) 이레이져가 발생한 것과 같은 경우이므로 에러 값을 구하는 공식에 따라 에러 값을 구하면, 이것이 곧 패리티 값이 된다.If the parity part is replaced with 0 during encoding, and the error value is obtained, it is the same as the erasure occurred in the parity area (positioned) during decoding. Therefore, if the error value is obtained according to the formula for calculating the error value, Parity value.

C1 엔코딩시는 1코드 워어드분의 데이타(D19,j∼D0,3)의 20개 데이타 바이트를 상기 완층 기억 장치(102)로 읽어내어 패리티(P3∼P0)를 모두 0로 대치하고 오증 연산부(104)의해 오증값(S0∼S3)을 구한 후 에러값을 구하는 공식에 따라 에러값을 구하면 이것이 곧 패리티 값이 된다.In C1 encoding, 20 data bytes of data (D 19 , j to D 0,3 ) for one code word are read into the above-described storage device 102, and parity (P 3 to P 0 ) is all zeroed out. Substituting the error value (S 0 to S 3 ) by the error calculating unit 104 and then calculating the error value according to the formula for calculating the error value, this becomes a parity value.

그리고, 상기 C1/C2 패리티값을 상기 메모리 맵(101)에 라이트하여 코딩이 모두 끝난 후 이를 기록 매체에 기록한다.(데이타 바이트+패리티)Then, the C1 / C2 parity value is written to the memory map 101, and after completion of coding, it is recorded on the recording medium. (Data byte + parity)

제3도는 C1 디코딩을 수행하는 흐름도로서, 상기 제2도의 메모리 맵의 세로 방향의 C1코드를 수신(R(X))하여 오증과 에러 위치 다항식의 계수들을 계산해서 2에러까지 정정한다.FIG. 3 is a flowchart for performing C1 decoding. The C1 code in the vertical direction of the memory map of FIG. 2 is received (R (X)) to calculate coefficients of a positive and error position polynomial and correct up to 2 errors.

제4도(a), (b)는 C2 디코딩을 수행하는 흐름도로서, 상기 제2도의 메모리 맵의 가로 방향의 C2코드를 수신(R(X))하여 오증을 계산하고 정정 불능 C1코드로부터 이레이져의 갯수를 카운트하여, 6이레이져 및 이레이져와 에러가 동시에 존재하는 복합 형태의 에러에 대해 정정한다.4 (a) and 4 (b) are flow charts for performing C2 decoding, and receiving a C2 code in the horizontal direction of the memory map of FIG. 2 (R (X)) to calculate a false positive and from an uncorrectable C1 code. The number of edgers is counted and corrected for 6-type laser and complex type errors in which both the eraser and the error exist at the same time.

이와 같이 구성된 이 발명은 먼저 제3도의 C1 디코딩을 수행하며 2에러까지의 정정 방법을 알아본다.The present invention configured as described above first performs C1 decoding of FIG. 3 and looks at a correction method up to 2 errors.

GF(2m)에서의 정정 능력을 가진 R-S 코드를 디코딩하기 위해서는 다음과 같은 과정을 거쳐야 한다.At GF (2 m ) In order to decode the RS code having the correcting capability, the following process is required.

1) 2t개의 오증을 계산하고,1) calculate 2t of miscalculations,

2) 뉴튼(Newton) 항등식을 이용하여 에러 위치 다항식을 구성하고,2) construct an error-position polynomial using the Newton identity,

3) 에러 위치 다항식을 2차 어파인(Affine) 다항식의 형태로 변형시켜 그 상수팀을 이용하여 근을 구하고,3) Transform the error-position polynomial into the form of a second order affine polynomial and find the root using its constant team,

4) 이 근을 원래 에러 위치 다항식의 근으로 바꾸고(이것이 에러 위치를 의미한다.),4) Replace this root with the root of the original error location polynomial (this means error location),

5) 상기에서 구한 에러 위치를 이용하여 오증과의 관계식에서 에러값을 구한다.5) Using the error position obtained above, find the error value from the relation with the testimony.

따라서, C1 디코딩을 수행하기 위하여 1개 코드 워어드분의 데이타(D19,j∼Do,j)는 메모리 맵(101)으로부터 읽어져 완층 기억장치(102)에 저장된다.Therefore, in order to perform C1 decoding, the data D 19 , j to D o , j for one code word is read from the memory map 101 and stored in the slow memory 102.

그리고, 상기 완층 기억 장치(102)에 있는 1코드 워어드분의 데이타는 오증 연산부(104)로 제공되고 오증 연산식(Sk= R(αk)에 의해 오증값을 계산하면 아래와 같다(제301단계).Then, the data for one code word in the slow memory device 102 is provided to the miscalculation unit 104, and the miscalculation value is calculated according to the miscalculation equation S k = R (α k ) as follows. Step 301).

이때, 에러 위치 다항식은 아래와 같고,In this case, the error position polynomial is

뉴튼 항등식은 아래와 같다.Newton's identity is:

여기서, 상기 el, ej는 에러값이고, αl, αj은 에러 위치이다.Here, e l and e j are error values, and α l and α j are error positions.

그리고, 에러 위치 다항식의 계수들이 아래와 같이 구해진다(제302단계).Then, the coefficients of the error position polynomial are obtained as follows (step 302).

여기서, 상기 각 다항식의 계수를 아래와 같이 가정한다.Here, the coefficients of each polynomial are assumed as follows.

그리고, 상기에서 계산된 오증값(S0∼S3)과 에러 위치 다항식의 계수들을 기억부(105)에 저장한다(제 302단계)And, the above-mentioned calculated positive value (S 0 ~ S 3 ) and coefficients of the error position polynomial Is stored in the storage unit 105 (step 302).

이때, 에러가 하나도 없거나 하나의 에러에 대한 판정과 정정은 제303단계∼306단계에서 수행되지만 이것은 상기에서 설명된 종래의 방법과 동일하므로 생략한다.At this time, there is no error or a determination and correction for one error are performed in steps 303 to 306, but this is the same as the conventional method described above and thus will be omitted.

여기서는 에러가 2개 이상일 경우를 설명한다.Here, the case where there are two or more errors will be described.

제307단계에서 A ≠0, B≠0, C≠0이면 2에러로 판정되고, 2에러 정정을 위해 제308단계가 수행된다.If A? 0, B? 0 and C? 0 in step 307, a second error is determined, and step 308 is performed to correct the two errors.

그리고, 상기 에러 위치 다항식을 변형시키면 아래와 같이 된다.If the error position polynomial is modified, it becomes as follows.

이때, 상기 Tr(K) = 0이면 상기(5)식은 근이 존재하므로 이 K값을 에러 위치출력부(109)의 입력으로 제공하여 증간근(Y1=[K][M], Y2 =1+Y1)을 구한다.In this case, if T r (K) = 0, Equation (5) above exists, so that this K value is provided as an input of the error position output unit 109 so that the intermediate root (Y1 = [K] [M], Y2 =). 1 + Y1)

이때, 상기 (5)식의 근은 원시 다항식 P(x) = x5+x4+x3+x2+1인 GF(28)에서 에러 위치 출력부(109)에서 구한 증간근(Y1, Y2)을 이용하여 구해지고, 원래 근은 X1= 1Y1, X2= 1Y2에 의해 구해진다.In this case, the root of Equation (5) is the hypertrophy (Y1) obtained from the error position output unit 109 in GF (2 8 ) where the primitive polynomial P (x) = x 5 + x 4 + x 3 + x 2 +1. , Y2), and the original root is X 1 = 1 Y 1 , X 2 = Obtained by 1 Y 2 .

이를 상기 식 (1), (2)에 대입하여 2원 1차 연립 방정식을 풀면 다음과 같이 에러값이 구해진다.Substituting this into the above equations (1) and (2) to solve the binary first-order simultaneous equation, the error value is obtained as follows.

그리고, 상기 에러값(e1, e2)을 가산기(111)에 공급한다.Then, the error values e1 and e2 are supplied to the adder 111.

상기 가산기(111)는 상기 완층 기억 장치(102)로부터 공급되는 1코드 워어드의 데이타에 상기 연산부(108)로부터 출력되는 에러값(e1, e2)을 가산하여 1코드 워어드 데이타에 발생된 에러를 정정하여 출력래치부(112)로 출력하고, 출력래치부(112)는 제어부(110)의 제어신호에 의해 제어되어 출력단(ro)을 통해 에러가 정정된 1코드 워어드의 데이타를 출력한다.The adder 111 adds the error values e1 and e2 output from the calculation unit 108 to the data of one code word supplied from the slow memory device 102 and generates an error in one code word data. The output latch unit 112 is outputted to the output latch unit 112, and the output latch unit 112 is controlled by the control signal of the control unit 110 to output the data of the 1 code word whose error is corrected through the output terminal ro. .

한편, A=0, B=0, C=0도 아니고 A≠0, B≠0, C≠0 도 아니라고 판단되면 에러는 3개이상 발생된 것이므로 C1 정정 불능 플랙을 C1 패리티 위치에 라이트하고 출력 래치부(112)의 출력단(ro)을 통해 에러 정정 플랙을 출력한다(제309단계).On the other hand, if it is determined that neither A = 0, B = 0, C = 0 nor A ≠ 0, B ≠ 0, or C ≠ 0, three or more errors have occurred. Therefore, the C1 uncorrectable flag is written to the C1 parity position and output. The error correction flag is output through the output terminal ro of the latch unit 112 (step 309).

그리고나서, C2 디코딩을 수행하여 1∼6레이져와 에러와 이레이져가 동시에 존재할때의 에러를 정정한다.Then, C2 decoding is performed to correct errors when 1 to 6 lasers and an error and an eraser exist at the same time.

즉, C2 디코딩을 수행하기 위하여 1코드 워어드분의 데이타(Di, 25∼Q0)를 메모리 맵(101)으로부터 읽어와 상기 완층 기억 장치(102)에 저장한다.That is, in order to perform C2 decoding, one code word data Di, 25 to Q 0 , is read from the memory map 101 and stored in the slow memory device 102.

그리고, 상기 완층 기억 장치(102)에 있는 1코드 워어드분의 데이타에 대한 오증값(S0∼Sr)을 오증 연산부(104)에서 아래와 같이 6원 1차 연리방정식으로 구하여 기억부(105)에 저장한다.(제4도 제401단계)In addition, the miscalculation values S 0 to S r for the data for one code word in the slow memory device 102 are obtained from the miscalculation unit 104 as a six-membered first-order equation as follows. (Step 4, step 401).

여기서, αl∼αn은 C1플랙에 의해 이미 알고 있는 에러 위치이다.Here, α ln is the error location is already know by the C1 flag.

그리고, 이레이져 카운터부(103)에서 이 코드 워어드에 대한 C1 플랙(C1 패리티 부분의 특징 바이트에 라이트된 C1 플랙)을 32개 읽어들여 0가 아닌 C1 플랙(정정 불능 C1 플랙)의 갯수를 카운트하여 es라는 변수에 저장한다(제402단계).Then, the erasure counter unit 103 reads 32 C1 flags (C1 flags written in the feature byte of the C1 parity portion) for this code word, and counts the number of non-zero C1 flags (incorrect C1 flags). The count is stored in a variable called es (step 402).

이때, C1 디코딩 결과의 정정 불능 C1 플랙은 C2 코드 워어드상의 에러 위치를 나타내며, 이러한 에러를 이레이져(에러 위치는 알고 에러값은 모르는 에러)라고 한다.At this time, the uncorrectable C1 flag of the C1 decoding result indicates an error position on the C2 code word, and this error is called an erasure (an error of knowing the error position and not knowing the error value).

한편, 상기 제402단계에서 카운트된 이레이져의 갯수가 7개 이상이면(제403단계), C2 디코딩에서도 에러 정정이 불가능하므로 제404단계가 수행되어 정정 불능 C2 플랙을 출력 래치부(112)의 출력단(ro)을 통해 출력하고 다른 데이타를 받아들여 디코딩을 계속한다(제404단계).On the other hand, if the number of erasers counted in step 402 is 7 or more (step 403), error correction is impossible even in C2 decoding, and thus step 404 is performed to output an uncorrectable C2 flag of the output latch unit 112. Output through the output (ro) and accept the other data to continue decoding (step 404).

그러나, 상기 제403단계에서 카운트된 이레이져의 갯수(es) 가 6개 이하라고 판단되면 카운트된 이레이져 갯수의 각각에 대한 에러 위치 다항식은 다음과 같다.However, if it is determined that the number es of counted erasers in step 403 is 6 or less, the error position polynomial for each of the counted eraser numbers is as follows.

1) 6 이레이져 단일 정정(6 Erasure Only Correction)1) 6 Erasure Only Correction

이때, 카운트된 이레이져의 갯수가 6개라고 판단되면(es = 6)(제406단계), 에러 위치 다항식과 오증값에 의해 에러 위치 다항식의 계수들이 아래와 같이 구해진다(제406단계).At this time, if it is determined that the number of counted erasures is six (es = 6) (step 406), the coefficients of the error position polynomial are calculated as follows based on the error position polynomial and a false value (step 406).

또한, 수정된(Modified) 오증값은 다음과 같다.In addition, the modified false value is as follows.

그리고, 카운트된 이레이져의 갯수(es)가 6개 일때는 다음의 뉴튼 항등식을 만족해야 한다.When the number of erased erasers (es) is six, the following Newton's identity must be satisfied.

따라서, 상기 에러 위치 다항식의 계수와 오증값을 상기 식(21)의 뉴튼 항등식에 대입하여(제407단계), 0이면(제408단계), 6이레이져를 만족하므로 상기 에러 위치 다항식의 계수와 오증값을 이용하여 에러 값을 아래와 같이 구할수 있고 따라서, 가산기(111)에서 6이레이져 정정이 이루어진다(제409단계)Thus, the coefficient of the error position polynomial And the error value is substituted into the Newton's identity of Equation (21) (step 407), and if it is 0 (step 408), the six-laser is satisfied, so that the error value is determined using the coefficient and the error value of the error position polynomial. This can be obtained as follows, and accordingly, the six erasure correction is performed in the adder 111 (step 409).

즉, 상기 에러값(en, em, el, ek, ej, ei)은 상기 가산기(111)에 공급되고, 상기 가산기(111)는 상기 완층 기억 장치(102)로부터 공급되는 1코드 워어드의 데이타에 상기 연산부(108)로부터 출력되는 에러값(en, em, el, ek, ej, ei)을 가산하여 1코드 워어드 데이타에 발생된 에러를 정정하여 출력래치부(112)로 출력하고, 출력 래치부(112)는 제어부(110)의 제어신호에 의해 제어되어 출력단(ro)을 통해 에러가 정정된 1코드 워어드의 데이타를 출력한다.That is, the error values (en, em, el, ek, ej, ei) are supplied to the adder 111, and the adder 111 is data of one code word supplied from the slow storage device 102. The error value (en, em, el, ek, ej, ei) output from the operation unit 108 is added to correct the error generated in one code word data, and output to the output latch unit 112, and output the result. The latch unit 112 is controlled by a control signal of the control unit 110 and outputs data of one code word having an error corrected through the output terminal ro.

이때, 상기 식(21)의 뉴튼 항등식이 0가 아니라고 판단되면(제408단계), 6이레이져+에러가 발생한 것이므로 에러 정정 불능 C2플랙을 출력래치부(112)의 출력단(ro)을 통해 출력하여 에러 정정 불능을 알려준다(제404단계).At this time, if it is determined that the Newton identity of Equation (21) is not 0 (step 408), since the 6-laser + error has occurred, the error correction impossible C2 flag is output through the output terminal ro of the output latch unit 112. In operation 404, an error correction cannot be reported.

상기 6이레이져 단일 정정에 관한 실예를 설명하면 다음과 같다.An example of the six-laser single correction is described as follows.

한편, 카운트된 이레이져의 갯수(es)가 5로 판단되면(제410단계), 상기 6이레이져 단일 정정 방법과 동일한 과정으로 정정이 이루어진다.On the other hand, if the number of counted erasers (es) is determined to be 5 (step 410), the correction is performed in the same process as the six-laser single correction method.

즉, 상기 식(15)의 에러 위치 다항식과 오증 값등의 이레이져 위치 정보를 이용하여 에러 위치 다항식의 계수들을 구하고(제411단계), 에러 위치 다항식의 계수와 오증값을 하기의 뉴튼 항등식에 대입한다(제412단계).That is, the coefficient of the error position polynomial using the erasure position information such as the error position polynomial and the positive value of Equation (15) (Step 411), the coefficient of the error position polynomial Substituting the positive and negative values into Newton's identity below (step 412).

이때, 상기 식(22)의 뉴튼 항등식이 0이면(제413단계), 5이레이져 조건을 만족하므로 상기 에러 위치 다항식의 계수들가 오증값을 이용하여 에러값(ei, ej, ek, el, em)을 구하고, 이 에러값을 상기 가산기(111)로 제공하면 상기 가산기(111)에서 5이레이져 정정이 이루어진다(제414단계).At this time, if the Newton's identity of Equation (22) is 0 (step 413), since the five-laser condition is satisfied, the coefficients of the error position polynomial are error values (ei, ej, ek, el, em) using a positive value. ), And the error value is provided to the adder 111, and 5 erase corrections are performed in the adder 111 (step 414).

이상에서와 같이 C2 디코딩에 의해 상기 이레이져 카운터부(103)에서 1∼6개사이의 이레이져가 카운트되고 각각의 이레이져 갯수에 해당하는 뉴튼 항등식이 0을 만족하면 상기 6이레이져 단일 정정 방법과 동일한 과정에 의해 정정이 이루어진다.As described above, when the eraser counter unit 103 counts 1 to 6 erasers by C2 decoding, and the Newton identity corresponding to the number of erasers meets 0, the single eraser single correction method. The correction is made by the same process as.

따라서, 제4도의 제415단계∼제419단계는 4이레이져 단일 정정 과정이, 제424단계∼제428단계는 3이레이져 단일 정정 과정이, 제433단계∼제437단계는 2이레이져 단일 정정 과정이, 제446단계∼제450단계는 1이레이져 단일 정정 과정이 상기 6이레이져 단일 정정 방법과 동일한 과정을 거쳐 수행됨을 나타내고 있다.Accordingly, steps 415 to 419 of FIG. 4 are single-laser correction processes in four eras, steps 424 to 428 are single laser correction processes in steps 424 to 428, and steps 2 to 4 are single laser corrections in steps 433 to 437. Steps 446 to 450 indicate that the single-laser single correction process is performed through the same process as the six-laser single correction method.

이제는 이레이져와 에러가 동시에 존재할때의 정정에 대해서 알아본다.Now let's take a look at correcting when an eraser and an error exist at the same time.

2) 4이레이져 + 1에러2) 4 lasers + 1 error

이미 알고 있는 4이레이져 위치를 이용하여 나머지 1개의 에러 위치를 구한 후 앞에서 설명한 이레이져 정정법에 의해 에러값을 구하여 정정할 수 있다.After the remaining one error position is obtained by using the four-laser positions already known, the error value can be obtained and corrected by the eraser correction method described above.

즉, 상기 이레이져 카운터부(103)에서 카운트된 이레이져 갯수(es)가 4이레이져로 판단되면(제415단계) 상기 6이레이져 단일 정정 과정에서와 동일한 방법으로 에러 위치 다항식의 계수들이 구해지고(제416단계), 상기 에러 위치 다항식의 계수와 오증값을 아래의 뉴튼 항등식에 대입하여 그 뉴튼 항등식의 값이 0인지를 판단한다(제417, 418단계).That is, if it is determined that the number of erasers es counted by the eraser counter 103 is 4 erasers (step 415), the coefficients of the error position polynomials are performed in the same manner as in the 6 eraser single correction process. Are obtained (step 416), and the coefficient of the error position polynomial Substituting the negative and negative values into the Newton's identity below determines whether the value of the Newton's identity is zero (steps 417 and 418).

이때, 상기 식(23)의 뉴튼 항등식의 값(4G)이 0이면 4이레이져만 발생한 것이므로 상기 에러 위치 다항식의 계수와 오증값을 이용하여 에러값(ei, ej, ek, el)을 구하여 상기 가산기(111)에 공급되면, 가산기(111)에서 4이레이져 정정이 이루어진다(제419단계).At this time, if the value 4G of Newton's identity in Equation (23) is 0, only 4 lasers are generated, and thus the coefficient of the error position polynomial When the error values ei, ej, ek, and el are obtained and supplied to the adder 111, four erasure correction is performed in the adder 111 (step 419).

한편, 상기 식(23)의 뉴튼 항등식의 값(4G)이 0가 아니라고 판단되면(제418단계), 4이레이져+1에러로 간주하고, 이미 C1 디코딩에 의해 알려진 4개의 에러 위치On the other hand, if it is determined that the value 4G of Newton's identity in Equation (23) is not 0 (step 418), it is regarded as 4 erasure + 1 error and four error positions already known by C1 decoding.

정보를 이용하여 나머지 한개의 에러 위치(αm)을 계산한다(제420단계). The other one error position α m is calculated using the information (operation 420).

즉, 4 이레이져 + 1 에러는 5개의 에러가 있는 것이므로 에러 위치 다항식은 상기 식(15)와 같고, 상기 식(15)의 에러 위치 다항식의 계수들이 아래와 같이 구해진다.That is, since the four erasure + 1 error has five errors, the error position polynomial is the same as that of Equation (15), and the coefficient of the error position polynomial of Equation (15). Are obtained as follows.

여기서,은 이미 C1 플랙에 의해 알고 있는 에러 위치이고, 나머지 1개 에러 위치 αm을 구하기 위해 상기 각 다항식의 계수를 아래와 같이 가정한다.here, Is an error position already known by the C1 flag, and the coefficients of the above polynomials are assumed as follows to obtain the remaining one error position α m .

상기 계수들을 이용하여 상기 에러 위치 다항식의 계수들을 다시 정리하면 다음과 같다.Coefficients of the error position polynomial using the coefficients If you rearrange them as follows.

그리고, 다음의 뉴튼 항등식에 상기 에러 위치 다항식의 계수 And the coefficient of the error position polynomial in the following Newton's identity

을 대입하면 나머지 1개 에러 위치 αm이 구해진다.Is substituted, the other one error position α m is obtained.

그리고, 상기에서 계산된 에러 위치 (αm)과 이미 알고 있는 에러위치(αl, αj, αk, αi)를 이용하여 새로이 에러 위치 다항식의 계수들을 상기 6이레이져 단일 정정 방법과 동일한 방법으로 구하고(제421단계), 제421단계에서 구해진 에러 위치 다항식의 계수와 오증값을 이용하여 식(22)의 뉴튼 항등식을 계산한다(제422단계).The coefficient of the error position polynomial is newly obtained using the error position (α m ) calculated above and the known error positions (α l , α j , α k , α i ). The Newton's identity of Equation (22) is calculated using the coefficients of the error position polynomial obtained in step 421 and the error value (step 422). .

이때, 상기의 뉴튼 항등식(22)의 값(5G)이 0이면(제423단계), 5이레이져를 만족하므로 상기 제414단계로 점프되어 5이레이져에 대한 정정이 이루어진다.At this time, if the value 5G of the Newton's identity 22 is 0 (step 423), since the 5th laser is satisfied, the jump to step 414 is performed to correct the 5th laser.

이때, 상기 제423단계에서 뉴튼 항등식의 값이 0가 아니면 그 이상의 에러가 발생한 것이므로 정정 불능 C2 플랙을 출력 래치부(112)의 출력단지(ro)로 출력한다.In this case, if the value of the Newton's identity is not equal to 0 in step 423, an error has occurred. Therefore, an uncorrectable C2 flag is output to the output terminal ro of the output latch unit 112.

3) 3이레이져 + 1에러3) 3 lasers + 1 error

상기 4이레이져+1에러 정정 방법과 동일한 방법으로 수행된다.The 4 eraser + 1 error correction method is performed in the same manner.

즉, 상기 이레이져 카운터부(103)에서 카운트된 이레이져가 3이면(제424단계), 에러 위치 다항식의 계수들을 구하여(제425단계)이에러 위치 다항식의 계수들과 오증값을 이용하여 하기의 뉴튼 항등식을 계산한다(제426단계).That is, if the eraser counted by the eraser counter 103 is 3 (step 424), the coefficients of the error position polynomial (Step 425), coefficients of the error position polynomial Calculate the Newton's identity using the and the ohmic value (step 426).

그리고, 상기 뉴튼 항등식의 값이 0이면 3이레이져만 발생한 것이므로 에러 위치 다항식의 계수와 오증값을 이용하여 에러값(ei, ej, ek)을 구하여 상기 가산기(111)에 공급되면, 가산기(111)에서 3이레이져 정정이 이루어진다(제426단계).If the value of the Newton's identity is 0, only three erasures are generated, and thus the coefficient of the error position polynomial When the error values ei, ej, and ek are obtained using the miscalculation value and supplied to the adder 111, three-laser correction is performed in the adder 111 (step 426).

그러나, 상기 식(24)의 뉴튼 항등식의 값(3G)이 0가 아니라고 판단되면(제427단계), 이미 C1 디코딩에 의해 알려진 3개의 에러 위치(αl, αj, αk)정보를 이용하여 나머지 한개의 에러 위치(αl)을 계산한다(제429단계).However, if it is determined that the value 3G of the Newton's identity in Equation (24) is not 0 (step 427), information on three error positions α l , α j , and α k already known by C1 decoding is used. In step 429, the second error position α l is calculated.

즉, 3이레이져 + 1에러는 4개의 에러가 있는 것이므로 에러 위치 다항식은 상기 식(16)와 같고, 상기 식(16)와 같고, 상기 식(16)의 에러 위치 다항식의 계수들이 아래와 같이 구해진다.That is, since the three-laser + 1 error has four errors, the error position polynomial is the same as that of Equation (16), the same as Equation (16), and the coefficient of the error position polynomial of Equation (16). Are obtained as follows.

여기서, αl, αj, αk은 이미 C1 플랙에 의해 알고 있는 에러 위치이고, 나머지1개 에러 위치 αl을 구하기 위해 상기 각 다항식의 계수를 아래와 같이 가정한다.Here, α l , α j , α k are the error positions already known by the C1 flag, and the coefficients of the above polynomials are assumed as follows to obtain the remaining one error position α l .

상기 정의된 계수들을 이용하여 상기 에러 위치 다항식의 계수들을 다시 정리하면 다음과 같다.Coefficient of the error position polynomial using the defined coefficients If you rearrange them as follows.

그리고, 다음의 뉴튼 항등식에 상기 에러 위치 다항식의 계수을 대입하면 나머지 1개 에러 위치 αl이 구해진다(제429단계).And the coefficient of the error position polynomial in the following Newton's identity Is substituted, the remaining one error position α l is obtained (step 429).

그리고, 상기에서 계산된 에러 위치(αl) 와 이미 알고 있는 에러 위치 (αl, αj, αk)를 이용하여 새로이 에러 위치 다항식의 계수들을 상기 6이레이져 정정 방법과 동일한 방법으로 구하고(제430단계), 제430단계에서 구해진 에러 위치 다항식의 계수와 오증값을 이용하여 식(23)의 뉴튼 항등식을 계산한다(제431단계).The coefficient of the error position polynomial is newly obtained using the error position α l calculated above and the known error position α l , α j , α k . The Newton's identity of Equation (23) is calculated using the error position polynomial obtained in operation 430 and the error value obtained in operation 430 (operation 431).

이때, 상기의 뉴튼 항등식(23)의 값(4G)이 0이면(제432단계), 4이레이져를 만족하므로 상기 제419단계로 점프되어 4이레이져에 대한 정정이 이루어진다.At this time, if the value 4G of the Newton's identity 23 is 0 (step 432), since the 4th laser is satisfied, the jump to step 419 is performed to correct the 4th laser.

마찬가지로, 2이레이져+1에러로 판단되면(제441단계), 즉, 2개의 이레이져 정보를 이용하여 에러 다항식의 계수를 계산하고, 이것과 오증값을 아래의 식(25)의 뉴튼 항등식에 대입하여 0가 아니면 일단 2이레이져+1에러로 간주한다.Similarly, if it is determined that 2 erase + 1 error (step 441), that is, the coefficient of the error polynomial using two erase information Calculate, and substitute this and the misleading value into Newton's identity of Equation (25) below and consider it as 2 erasure + 1 error.

따라서, 2개의 에러위치(αl, αj)를 이용하여 나머지 한개의 에러 위치(αk)를 계산한다(제438단계).Accordingly, the second error position α k is calculated using the two error positions α l and α j (step 438).

그리고, 상기 계산된 에러위치치(αk)와 이미 알고 있는 에러위치(αl, αj)를 이용하여 새로운 에러 위치 다항식의 계수를 계산한다(제439단계). 그리고 이 계수들과 오증값을 이용하여 식(24)의 뉴튼 항등식에 대입하여 0이면 위치 가정(2이레이져+1에러)이 옳은 것으로 판정하여 3이레이져 단일 정정법에 의해 3개의 에러값이 구해지고 가산기(111)에서 정정이 이루어진다(제440, 441단계).The coefficient of the new error position polynomial is calculated by using the calculated error position value α k and the known error positions α l and α j . Calculate (step 439). And these coefficients Substituting the Newton's identity in Eq. (24) using the error value and the error value, it is determined that the position hypothesis (2 erasure + 1 error) is correct, and three error values are obtained by the three-layer single correction method. In step 111, a correction is made (steps 440 and 441).

그러나, 상기 식(24)의 뉴튼 항등식의 값이 0이 아니면 다시 2이레이져+2에러로 간주하여 2개의 에러위치(αk, αi)을 계산한다(제442단계)However, if the value of the Newton's identity of Equation (24) is not 0, two error positions α k and α i are calculated again (step 442).

4) 2이레이져 + 2에러4) 2 lasers + 2 errors

먼저, 4에러에 대한 식(16)의 에러 위치 다항을 다시 쓰면 다음과 같다.First, rewrite the error position polynomial of Eq. (16) for 4 errors as follows.

그리고, 상기 에러 위치 다항식에 따른 계수들은 다음과 같다.The coefficients according to the error position polynomial are as follows.

또한, 뉴튼 항등식으로부터 다음의 행렬식이 유도된다.In addition, the following determinant is derived from the Newton identity.

이때, 상기 행렬식에 의해 에러 위치 다항식의 계수들을 구할 수 있다.In this case, the coefficient of the error position polynomial by the determinant Can be saved.

그리고, 상기 식(27), (28)에서 계수값들은 다음과 같다.In the equations (27) and (28), the coefficient values are as follows.

오증값과 상기 식(27), (28)을 이용하여 에러 위치 다항식의 계수를 구하여 상기 식(26)에 대입하면 다음과 같다.Coefficient of error location polynomial using the positive value and equations (27) and (28) above Obtaining and substituting it in the above formula (26) is as follows.

상기 식(29)에서 에러 위치(αk, αi)를 을 두근으로 하는 아래의 2차 어파인 다항식을 구성하여 근을 구한다.In Equation (29), a root is obtained by constructing a polynomial of the following second order with the error positions α k and α i as pounds.

따라서, 앞에서 설명된(C1 디코딩) 2에러 정정법과 상기 식(30)을 이용하여 에러위치(αk, αi)를 구한다.Therefore, the error position α k , α i is obtained using the above-described two error correction method (C1 decoding) and the above equation (30).

그리고, 상기 계산된 2개의 에러 위치(αk, αi)와 이미 알고 있는 에러 위치(αk, αi)를 이용하여 새로이 에러 위치 다항식의 계수들을 계산하여 식(23)의 뉴튼 항등식에 대입한다(제444단계).The coefficients of the error position polynomial are newly obtained using the calculated two error positions α k and α i and the known error positions α k and α i . Is calculated and substituted into Newton's identity of Equation (23) (step 444).

이때, 상기 식(23)의 뉴튼 항등식의 값(4G)이 0이면(제445단계), 상기 가정(2이레이져+2에러)이 옳은 것으로 판정하여 4이레이져 단일 정정법에 의해 4개의 에러값이 구해지고 가산기(111)에서 정정이 이루어진다.At this time, if the value 4G of Newton's identity in Equation (23) is 0 (step 445), it is determined that the hypothesis (two erasure + two errors) is correct and four errors are determined by four erasure single correction. The value is obtained and correction is made in the adder 111.

실제예를 대입하여 상기 2이레이져+2에러 정정을 수행하면 다음과 같다.Substituting a practical example, 2 laser + 2 error correction is performed as follows.

상기에서 서술된 2에러 정정법에 의해 근을 찾아 에러 위치를 구하면,을 얻게 되고, 그 후 4이레이져 단일 정정에 의해 에러값을 구하면 상기 가산기(111)에서 정정이 이루어진다.By finding the root by the two-error correction method described above, Then, if the error value is obtained by four-laser single correction, the correction is performed in the adder 111.

한편, 이레이져가 1개이고 에러가 1 또는 2일때도 상기와 동일한 과정을 통해 정정이 이루어진다(제451단계 ∼제458단계).On the other hand, when there is only one eraser and the error is 1 or 2, correction is performed through the same process as described above (steps 451 to 458).

한편, 상기 이레이져 카운티부(103)에 의해 이레이져의 수가 0로 카운트되면(제446단계), 최초의 오증값으로부터분모항(2H)을 아래와 같이 계산한다.On the other hand, if the number of erasures is counted to 0 by the erasure counting unit 103 (step 446), from the first false positive value, Calculate the denominator term (2H) as follows.

그리고 계산된 상기 두 값(1H, 2H)이 둘다 0이면(제459단계), 2에러 판정을 위한 필요충분 조건을 만족하므로 C1 디코딩 과정으로 점프하여 2에러 정정을 하고(제460단계), 0이 아니면 3에러 이상인 경우이므로 정정 불능 C1플랙을 출력 래치부(112)의 출력단자(ro)을 통해 출력한다.If both of the calculated values 1H and 2H are 0 (step 459), the necessary conditions for determining the 2 errors are satisfied, so that the process jumps to the C1 decoding process and corrects 2 errors (step 460). Otherwise, since the error is more than 3 errors, the C1 flag that cannot be corrected is output through the output terminal ro of the output latch unit 112.

이상에서와 같이 이 발명은 C1 디코딩을 이용하여 2에러까지 정정을 수행하고, 정정 불능 C1 플랙을 이용하여 C2 디코딩에서 6이레이져까지 정정을 수행하며 또한, 아래의 정정 능력식의 범위에서 에러+이레이져의 정정까지 수행함으로써 정정 능력을 강화시켰다.As described above, the present invention performs correction up to 2 errors using C1 decoding, and performs correction up to 6 erasing in C2 decoding using the uncorrectable C1 flag, and also in the range of error + Correction ability was strengthened by correcting eraser.

이레이져+에러를 포함한 정정 능력(T) = 2t+es ≤dmin-1Correction ability including erasure + error (T) = 2t + es d min -1

(t : 에러, es : 이레이져, dmin: 에러 정정 코드에 있어서, 코드어의 층(Weight)은 각 코드어에서 영이 아닌 성분의 갯수를 나타내고, 코드어 중의 집합은 코드의 중 분포를 형성한다. 그리고 두 코드어 사이의 거리는 대응되는 성분 중 서로 다른 성분쌍의 갯수로 정의되는데, 이를 해밍(Hamming)거리라 하며 2k코드어에 대한 해밍 거리의 집합중 가장 작은 것이 그 부호의 최소 거리(dmin)에 정의한다.)(t: error, es: erasure, d min : error correction code, the weight of the codeword represents the number of non-zero components in each codeword, and the set of codewords forms the middle distribution of the code) And the distance between two codewords is defined as the number of different component pairs among the corresponding components, which is called Hamming distance, and the smallest of the set of Hamming distances for 2k codewords is the minimum distance of the codeword. (defined in d min ))

따라서, 이 발명은 하기의 표 1과 같이 에러정정이 이루어지는 효과가 있다.Therefore, this invention has the effect that error correction is made as shown in Table 1 below.

Claims (4)

C1코드의 디코딩에 의해 2에러 이상이면 정정 불능 C1플랙을 출력하고 2에러 이하이면 정정을 수행하는 에러 정정 방법에 있어서, 수신 n워어드 및 패리티 검사 행렬 H로 이루어진 C2의 1코드 워어드분의 데이타에 대한 오증(S0∼S7) 구하는단계와, C1 플랙을 32개 읽어와 정정 불능 C1플랙의 갯수(=이레이져의 갯수)를 카운팅하는단계와, 상기 카운트된 이레이져의 갯수가 7이상이면 에러정정 불능을 출력하고, 이레이져의 갯수가 6이하이면 상기 오증값과 에러 위치 다항식에 의해 에러 위치 다항식의 계수를 구하는단계와,An error correction method of outputting an uncorrectable C1 flag if the error is two errors or more by decoding the C1 code, and performing the correction if the error is two errors or less, the error correction method comprising: one code word of C2 including a received n word and a parity check matrix H Obtaining a false positive (S 0 -S 7 ) for the data, reading 32 C1 flags and counting the number of uncorrectable C1 flags (= number of erasers), and counting the number of erasers Outputting an error correction impossibility if it is abnormal and calculating the coefficient of the error position polynomial according to the error value and the error position polynomial if the number of erasers is 6 or less; 상기 에러 위치 다항식의 계수와 오증값을 이용하여 아래의 뉴튼 항등식을 계산 하는단계와,Calculating Newton's identity using the coefficient of the error position polynomial and a false value; 상기 뉴튼 항등식의 값이 0이 아니면 6개의 이레이져+에러가 발생한 것으로 정정 불능 C2 플랙을 출력하고, 상기 뉴튼 항등식의 값이 0이면 에러 위치 다항식의 계수와 오증값을 이용하여 6개의 에러값(en, em, el, ek, ej, ei)을 계산하여 에러를 정정하는단계로,If the value of the Newton's identity is not zero, six erasure + errors are generated and an uncorrectable C2 flag is output. If the value of the Newton's identity is zero, six error values ( en, em, el, ek, ej, ei) to correct the error, 이루어져 6이레이져 단일 정정을 수행하는 에러 정정 방법.An error correction method for performing a six-laser single correction. 제1항에 있어서, 카운트된 이레이져의 갯수가 5이하이고, 각각의 이레이져 수에 해당하는 뉴튼 항등식이 0을 만족하면 상기의 6이레이져 단일 정정 방법과 동일한 과정에 의해 정정이 이루어짐을 특징으로 하는 에러 정정 방법.The method according to claim 1, wherein if the number of erased erasers is 5 or less, and Newton's identity corresponding to each eraser satisfies 0, correction is performed by the same process as the 6-laser single correction method described above. Error correction method. 카운트된 이레이져의 갯수가 4이고 하기의 뉴튼 항등식이 0을 만족하지 않으면 5개의 에러(4이레이져+1에러)로 판단하는단계와,If the number of erased erasers is 4 and the Newton's identity below does not satisfy 0, determining 5 errors (4 erasers + 1 error), 이미 C1 디코딩에 의해 알려진 4개의 에러 위치정보를 이용하여 아래의 에러 위치 다항식의 계수들을 구하는단계와,4 error locations already known by C1 decoding Obtaining coefficients of the following error position polynomials using the information, 상기 에러 위치 다항식의 계수들을 아래의 뉴튼 항등식에 대입하여 나머지 한개의 에러 위치(αm)를 구하는단계와,Coefficients of the error position polynomial To the following Newton's identity to find the other error location (α m ), 이미 알고 있는 에러위치(αl, αj, αk, αi)와 계산된 에러 위치(αm)를 이용하여 새로이 에러 위치 다항식의 계수들을 계산하는단계와, 상기 계산된 에러 위치 다항식의 계수들과 오증값을 아래의 뉴튼 항등식에 대입하여 0을 만족하면 에러 값(em, el, ek, ej, ei)을 구하여 에러를 정정하는단계로,New coefficients of error position polynomial using known error positions (α l , α j , α k , α i ) and calculated error positions (α m ) Calculating the coefficients of the error position polynomial And correcting the error by substituting the error value and the error value into the Newton's identity below to obtain the error value (em, el, ek, ej, ei). 이루어지는 에러 정정 방법.Error correction method made. 제3항에 있어서, 이레이져와 에러의 복합 형태를 포함한 정정 능력은 다음의 범위내에서 이루어짐을 특징으로 하는 에러 정정 방법, 정정 능력(T) = 2t+es<= dmin-14. The error correction method according to claim 3, wherein the correction capability including a complex form of erasure and error is within the following range, the correction capability (T) = 2t + es < = d min -1. (t = 에러, es : 이레이져, dmin: 두 코드어 사이의 최소거리)(t = error, es: eraser, d min : minimum distance between two codewords)
KR1019920014491A 1992-08-12 1992-08-12 Error correction method KR0175331B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920014491A KR0175331B1 (en) 1992-08-12 1992-08-12 Error correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920014491A KR0175331B1 (en) 1992-08-12 1992-08-12 Error correction method

Publications (2)

Publication Number Publication Date
KR940004980A KR940004980A (en) 1994-03-16
KR0175331B1 true KR0175331B1 (en) 1999-04-01

Family

ID=19337877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920014491A KR0175331B1 (en) 1992-08-12 1992-08-12 Error correction method

Country Status (1)

Country Link
KR (1) KR0175331B1 (en)

Also Published As

Publication number Publication date
KR940004980A (en) 1994-03-16

Similar Documents

Publication Publication Date Title
EP0387924B1 (en) Method and apparatus for decoding error correction code
US4546474A (en) Method of error correction
EP0117287B1 (en) Method for correcting errors in digital data and system employing such method
JP5295351B2 (en) Sequential data storage medium containing longitudinal position information and method for encoding the longitudinal position information in the medium
EP0373764B1 (en) Correction of random and burst errors
US7310765B1 (en) Method and apparatus for checking read errors with two cyclic redundancy check stages
JP2009295273A (en) Method of determining computer of erasure correction for error correction code entity
US6631485B1 (en) Methods and apparatus for data storage on magnetic media including error correction codes
US8201061B2 (en) Decoding error correction codes using a modular single recursion implementation
US20070204188A1 (en) Error correction method and reproduction apparatus
JP2002509331A5 (en)
JPS628056B2 (en)
US7290197B2 (en) Correcting data using redundancy blocks
KR0175331B1 (en) Error correction method
KR100519771B1 (en) Error correction decoding method and apparatus thereof
JPH08293802A (en) Interleaving type error correction method
JPH1173797A (en) Storage device
JP2578739B2 (en) Erase correction method
JP2792670B2 (en) Error correction code decoding method
JP2768723B2 (en) Decryption device
AU610987B2 (en) Method and apparatus for decoding error correction code
JP2578740B2 (en) Error correction method
KR0158639B1 (en) Error correction and method using conversion of syndrome
RU2282307C2 (en) Method for syndrome decoding for convolution codes
JP2561236B2 (en) Error correction device

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: 20061030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee