KR100335482B1 - Error correcting system - Google Patents

Error correcting system Download PDF

Info

Publication number
KR100335482B1
KR100335482B1 KR1019940020289A KR19940020289A KR100335482B1 KR 100335482 B1 KR100335482 B1 KR 100335482B1 KR 1019940020289 A KR1019940020289 A KR 1019940020289A KR 19940020289 A KR19940020289 A KR 19940020289A KR 100335482 B1 KR100335482 B1 KR 100335482B1
Authority
KR
South Korea
Prior art keywords
error
output
syndrome
error position
register
Prior art date
Application number
KR1019940020289A
Other languages
Korean (ko)
Other versions
KR960008796A (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 KR1019940020289A priority Critical patent/KR100335482B1/en
Publication of KR960008796A publication Critical patent/KR960008796A/en
Application granted granted Critical
Publication of KR100335482B1 publication Critical patent/KR100335482B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1876Interpolating methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

PURPOSE: An error correcting system is provided to realize a circuit to calculate an error position by a syndrome calculating circuit, thereby simplifying the circuit arrangement and the chip realization. CONSTITUTION: An error correcting system includes a data buffer(80) for storing received data, a syndrome and error position calculator(81) for calculating a syndrome in response to the received data and calculating an error position multinominal expression, an operation part(82) for calculating a coefficient of the error position multinominal expression and an error value, and an adder(85) for correcting an error calculated in the error position calculated in response to the output signal from the data buffer, an output signal from the syndrome and error position calculator and an output signal from the operation part.

Description

에러정정시스템Error Correction System

본 발명은 에러정정시스템에 관한 것으로, 특히 컴팩트 디스크 플레이어 (CDP), 디지탈 오디오 테이프(DAT)등과 같은 디지탈 오디오 재생장치에 사용되는 에러정정시스템에 관한 것이다.The present invention relates to an error correction system, and more particularly, to an error correction system used in a digital audio reproducing apparatus such as a compact disc player (CDP), a digital audio tape (DAT), or the like.

CDT, DAT등과 같은 디지탈 오디오 재생장치는 블럭부호인 BCH코드의 일종인리드 솔로몬(RS)코드를 "교차삽입(Cross Interleaving)" 처리된 데이타에 적용하여 랜덤(random)에러와 연집(burst)에러를 정정할 수 있는 "교차삽입RS코드(CIRC)"를 사용한다.Digital audio playback devices such as CDT, DAT, etc. apply random Solomon (RS) code, which is a block code BCH code, to "Cross Interleaving" -processed data, so that random and burst errors Use "Cross Insertion RS Code (CIRC)" to correct

디지탈 오디오 시스템에서 사용하는 에러정정부호인 CIRC는 2n개의 원소를 갖는 유한체 GF(2n)의 블럭계열이고, 각 원소는 m비트(이를 심볼이라 한다)로 이루어져 있으며 t개의 오류정정능력을 갖는다고 하면,Error correction encoding the CIRC used in the digital audio system is 2 and the block sequence of the finite field GF (2 n) having n elements, each element is m bits made up (this is referred to as symbols) and t of error correction capability If you have,

부호장(code length): n = 2n-1(symbols) = m(2n-1)(bits);Code length: n = 2 n -1 (symbols) = m (2 n -1) (bits);

정보장(infomation length): k = n - 2t(symbols) = m(n-2t)(bits);Information length: k = n-2t (symbols) = m (n-2t) (bits);

검사장(parity-check length): n - k = 2t(symbols) = m(2t)(bits);Parity-check length: n-k = 2t (symbols) = m (2t) (bits);

최소거리(mimum length): dmin= 2t + 1(symbols) 이다.Minimum length: d min = 2t + 1 (symbols).

즉, CIRC는 k개의 데이타심볼과, n - k개의 패리티심볼, n개의 코드심볼로 이루어지며 다음과 같은 방법으로 디코드된다.That is, the CIRC consists of k data symbols, n-k parity symbols, and n code symbols, and is decoded in the following manner.

n개의 심볼은 각각 유한체 GF(2n)상의 m비트 원소이며, 생성다항식 G(x)에 의해 하나의 부호어로 생성되고, α는 유한체상의 원시원이다. 이때 생성다항식은 다음 식<1>과 같이 정의된다.Each of the n symbols is an m-bit element on the finite field GF ( 2n ), and is generated by one codeword by the generated polynomial G (x), and α is a finite field source. The generated polynomial is defined as

G(x)에 의해 생성된 부호어 C(x)가 전송되며, 수신된 벡터 R(x)는 전송시 발생한 에러 E(x)를 가지고 있다.The codeword C (x) generated by G (x) is transmitted, and the received vector R (x) has an error E (x) generated during transmission.

R(x) = C(x)+E(x) =Σα i χ i ------------식<2>R (x) = C (x) + E (x) = Σα i χ i ------------ Equation <2>

수신된 벡터는 디코딩하기 위해서 우선 오중 S(i)를 구한다. α를 유한제의 원시원이라하면, α1( O ≤ i ≤ 2t-1 )는 생성다항식 G(χ)의 근이되고, 이를 식<2>에 대입하면, 다음 식<3>과 같다.The received vector first obtains the quintet S (i) for decoding. When α is a finite source, α 1 (O ≦ i ≦ 2t−1) becomes the root of the generated polynomial G ( χ ), and substituting this into equation <2> gives the following expression <3>.

S(i)=R(α i )=C(α i )+E(α i ) 단, O≤i≤2t-1 ------------식<3>S (i) = R (α i ) = C (α i ) + E (α i ) where O ≦ i ≦ 2t-1 ------------ Formula <3>

이때C(α i )는 '0'이 되어 i번째 오증 S(i)는 결국 에러성분만 포함하는 하나의 파라메터가 된다. 이러한 오증을 구하는 회로는 유한체상의 연산기들 즉, 가산기와 플립플롭과 승산기의 루프로 쉽게 구현된다. 즉, 오중회로는 최소다항식x+α i 로 수신데이타 R(x)를 나누는 제산회로이다.In this case, C (α i ) becomes '0', and the i th fifth S (i) becomes a parameter including only an error component. This miscalculation circuit is easily implemented with finite field operators, i.e., loops of adders, flip-flops, and multipliers. In other words, the quintet circuit is a division circuit for dividing the received data R (x) by the least polynomial x + α i .

전송도중 발생한 오류계열을 E(x)에서 실제로 q( 0≤q≤t )개의 오류가 발생 한다면,If q (0≤q≤t) errors occur in E (x)

또한 식<3>과 식<4>에 의해 각 오증 S1는 다음 식<5>와 같다.In addition, according to equations <3> and <4>, each testimony S 1 is represented by the following formula <5>.

상기 식<5>에서 eim(1≤m≤)을 오류치라 하고,Y j 로 나타낸다. 또한,α jn (1≤n≤q, 1≤j≤q )를 오류위치라하고 Zj로 나타낸다.In Equation <5>, e im (1 ≦ m ≦) is called an error value and is represented by Y j . Α jn (1 ≦ n ≦ q, 1 ≦ j ≦ q) is referred to as an error position and denoted by Z j .

따라서, therefore,

에러위치다항식 σ(x)는The error position polynomial σ (x) is

여기서, e는 에러 갯수이고, σ1~ σe는 오증 S(i)에 대해서Where e is the number of errors and σ 1 to σ e for the positive S (i)

따라서, 식<7>에서 에러위치다항식의 계수인 σ1~ σe를 구하고, 방정식<6>의 근 xi를 구하면, 이것이 에러위치이다.Therefore, when sigma 1 to sigma e , which are coefficients of the error position polynomials, are found in equation < 7 > , and root x i of equation < 6 > is the error position.

예를 들어, e=1, e=2 일때, 식<7>에 의해 σ1~ σe는 다음과 같이 구할 수 있다.For example, when e = 1 and e = 2, sigma 1 to sigma e can be obtained as follows according to equation < 7 &gt;.

1에러일 때 (e=1);When 1 error (e = 1);

2에러일 때 (e=2);When 2 errors (e = 2);

상기와 같이 각각 에러갯수에 따라 에러위치다항식의 계수인 σ1σ2를 구하면, 방정식은 다음과 같이 된다. 여기서 e=1, e=2 에러일 경우에 한한다.As described above, when σ 1 σ 2, which is a coefficient of the error position polynomial, is obtained according to the number of errors, respectively, the equation is as follows. Only when e = 1 and e = 2 errors.

상기 식<10>,<11>로부터 에러위치를 구하고 나서,After obtaining the error position from the above formulas <10> and <11>,

에러값은 다음과 같이 구한다.The error value is obtained as follows.

이와같이 구해진 에러위치 데이타와 에러값을 사용하여 에러를 정정한다.The error is corrected using the error position data and the error value thus obtained.

상기의 과정을 정리하면 다음과 같다.The above process is summarized as follows.

1. 수신데이타 R(x)로부터 오증 S(i)를 구한다.1. The false positive S (i) is obtained from the received data R (x).

2. 오증을 사용하여 에러위치다항식의 계수 및 근을 구하면 이것이 에러위치이다.2. Use the error to find the coefficients and roots of the error-position polynomial, which is the error position.

3. 오증과 에러위치로부터 에러값을 구한다.3. Find the error value from the error and error location.

4. 에러위치의 데이타를 에러값을 사용하여 정정한다.4. Correct the data at the error location using the error value.

이상과 같은 흐름에서 에러위치와 에러값을 구하는 과정에서 유한체상에서의 연산이 필요하게 되고, 이러한 유한체상에서의 연산기(ALU)를 구현하는 대표적인종래의 방법을 도면을 참조하여 상세히 설명한다.In the above-described flow, the operation on the finite field is required in the process of obtaining the error position and the error value, and a typical conventional method of implementing the ALU on the finite field will be described in detail with reference to the accompanying drawings.

제1도는 종래의 에러정정시스템을 도시한 블럭도이다. 에러정정 시스템은 데이타버퍼(10), 신드롬발생기(11), 에러위치다항식 계수계산기(12), 에러위치 계산기(13), 에러값계산기(14) 및 가산기(15)를 구비한다.1 is a block diagram showing a conventional error correction system. The error correction system includes a data buffer 10, a syndrome generator 11, an error position polynomial coefficient calculator 12, an error position calculator 13, an error value calculator 14, and an adder 15.

데이타버퍼(10)는 입력단자로부터 수신데이타(R)을 입력하여 저장하고, 신드롬발생기(11)는 수신데이타(R)로부터 오증(S)을 계산한다. 에러위치다항식 계수 계산기(12)는 오중으로부터 에러위치다항식의 계수를 계산하고, 에러위치계산기(13)는 결정된 에러위치다항식으로부터 에러위치를 계산한다. 에러값계산기(14)는 에러위치가 계산된 후 에러값을 계산한다. 가산기(15)는 데이타 버퍼(10)의 출력과 에러값계산기(14)의 출력을 가산하여 에러를 정정한다.The data buffer 10 receives and stores the received data R from the input terminal, and the syndrome generator 11 calculates a false positive S from the received data R. The error position polynomial coefficient calculator 12 calculates the coefficient of the error position polynomial from the error, and the error position calculator 13 calculates the error position from the determined error position polynomial. The error value calculator 14 calculates the error value after the error position is calculated. The adder 15 corrects the error by adding the output of the data buffer 10 and the output of the error value calculator 14.

제2도는 제1도에 도시된 다항식 계수 계산기의 예를 도시한 세부블럭도이 다.FIG. 2 is a detailed block diagram showing an example of the polynomial coefficient calculator shown in FIG.

제2도에 있어서, 다항식 계수 계산기(12)는 신드롬버퍼(21), 콘트롤버퍼 (22), 점프버퍼(23), A레지스터(24), 어드레스 레지스터(25), B레지스터(26), C레지스터(27), 가산기(28), F레지스터(29), 대수버퍼(30), D레지스터(31), E레지스터 (32), 보수기(33), G레지스터(34), 보수 어드레스 레지스터(35), 진수버퍼(36) 및 H레지스터(37)를 구비한다.In FIG. 2, the polynomial coefficient calculator 12 includes a syndrome buffer 21, a control buffer 22, a jump buffer 23, an A register 24, an address register 25, a B register 26, and a C register. Register 27, adder 28, F register 29, logarithmic buffer 30, D register 31, E register 32, compensator 33, G register 34, complement address register 35 ), A launch buffer 36 and an H register 37.

점프제어(23) 및 콘트롤버퍼(22)는 시스템을 위한 것이고, A레지스터(24), D레지스터(31), E레지스터(32), 진수버퍼(36), 대수버퍼(30) 및 보수기(33)는 승산 및 제산을 위한 것이다. 상기의 방법은 미 특허 4,142,174호에 개시되었으며 상기시스템에서는 대용량의 대수버퍼 및 진수버퍼가 필요하게 되며 롬으로 구성된 이들 때문에 칩사이즈가 커지고 스피드가 느려지는 문제점이 있었다.The jump control 23 and the control buffer 22 are for the system, the A register 24, the D register 31, the E register 32, the launch buffer 36, the logarithmic buffer 30, and the complementary device 33. ) Is for multiplication and division. The above method is disclosed in US Patent No. 4,142,174. In this system, a large number of algebraic buffers and launch buffers are required, and due to these ROM configurations, there is a problem in that the chip size is increased and the speed is slowed.

제3도는 종래의 에러정정시스템의 다른 예로서, 에러위치다항식 계산기의 연산중 대용량의 대수버퍼 및 진수버퍼를 사용하지 않고, 오직 가산 및 승산에 의해 에러위치다항식을 풀고, 에러위치를 생성한다. 이는 유한체상에서 승산기의 구조가 복잡함으로 인해 이를 해소하기 위한 방법로서, 한국 특허공고번호 86-903(1986. 7. 16)로 개시된 바 있다.3 is another example of a conventional error correction system, which does not use a large number of algebraic and decimal buffers during operation of the error position polynomial calculator, and solves the error position polynomial only by addition and multiplication and generates an error position. This is a method for solving this problem due to the complicated structure of the multiplier on the finite body, has been disclosed in Korean Patent Publication No. 86-903 (July 16, 1986).

제3도에 있어서, 에러정정시스템은 신드롬발생기(43) 제1레지스터(47), 연산기(46), 제2레지스터(44), 제3레지스터(45), 램(48), 에러위치계산기(70) 및 이들을 연결하는 버스(40, 41, 42)를 포함한다. 또한, 에러위치계간기(70)는 래치(49, 50, 51, 52, 59, 61, 62, 63), 레지스터(53, 54, 60), 가산기(55, 56), 제로검출기 (57), 게이트(58)를 포함한다.In FIG. 3, the error correction system includes the syndrome generator 43, the first register 47, the calculator 46, the second register 44, the third register 45, the RAM 48, and the error position calculator ( 70) and buses 40, 41, 42 connecting them. In addition, the error position interpolator 70 includes latches 49, 50, 51, 52, 59, 61, 62, 63, registers 53, 54, 60, adders 55, 56, and zero detectors 57. And a gate 58.

데이타버스(40)를 통해 수신데이타(R)를 입력한 후 신드롬발생기(43)에서 신드롬(S0~S3)을 계산한다. 신드롬(S0~S3)은 전송버스(42)를 통해 메모리(48)로 저장된다. 따라서, 신드롬(S0~S3)은 필요할때 마다 메모리(48)에서 독출된다. 또한, 신드롬(S0-S3)은 전송버스를 통해 연산부(ALU, 46), 제1레지스터(47), 제2레지스터(44), 제3레지스터(45)로 공급되어 다음 식<14>으로 표현되는 Sa, Sb, Sc를 구한다.After receiving the reception data R through the data bus 40, the syndrome generator 43 calculates syndromes S 0 to S 3 . The syndromes S 0 to S 3 are stored in the memory 48 via the transmission bus 42. Therefore, syndromes S 0 to S 3 are read from memory 48 whenever necessary. In addition, the syndrome S 0 -S 3 is supplied to the operation unit ALU 46, the first register 47, the second register 44, and the third register 45 through a transmission bus. Sa, Sb, and Sc are expressed as

Sa = S1 2+ S0S2 Sa = S 1 2 + S 0 S 2

Sb = S0S3+ S1S2 Sb = S 0 S 3 + S 1 S 2

Sc = S1S3+ S2 2---식<14>Sc = S 1 S 3 + S 2 2 --- Equation <14>

연산부(70)는 갈로이스체의 원소들을 가산 및 승산한다. 연산부(70)는 이하 설명할 승산기를 포함하고 있다.The calculating unit 70 adds and multiplies the elements of the galois body. The calculating unit 70 includes a multiplier to be described below.

전송버스를 통해 Sa, Sb, Sc는 래치회로(51, 50, 49)로 각각 공급된다.Sa, Sb, and Sc are supplied to the latch circuits 51, 50, and 49, respectively, via the transmission bus.

동시에 "1"이 레지스터(6o)로 공급된다. α승산레지스터(53)는 클럭펄스 CP를 받아서 이 레지스터의 내용에 α를 곱한다. 비슷하게, α2승산레지스터(54)는 클럭펄스(CP)를 받아서 레지스터의 내용에 α2을 곱한다. 레지스터(60)는 처음에 "1"로 셋팅되며 그 내용을 클럭펄스(CP)를 받을 때 마다 매번 α로 곱해준다. 이 실시예에서 레지스터는 α031까지 발생한다.At the same time, "1" is supplied to the register 6o. The multiplication register 53 receives the clock pulse CP and multiplies the contents of this register by α. Similarly, the α 2 multiplication register 54 receives a clock pulse CP and multiplies the contents of the register by α 2 . The register 60 is initially set to "1" and the contents are multiplied by α each time a clock pulse (CP) is received. In this embodiment, registers occur from α 0 to α 31 .

Sc, Sb, Sa 및 "1"이 래치회로, α승산레지스터 , α2승산레지스터 및 레지스터에 각각 저장되어진 후에, 래치회로, 레지스터 로 차례로 31개 클럭펄스가 가해져서 2차방정식을 풀게 된다.After Sc, Sb, Sa and " 1 " are stored in the latch circuit, the α multiplication register, the α 2 multiplication register and the register, respectively, 31 clock pulses are sequentially applied to the latch circuit and the register to solve the quadratic equation.

더 자세하게는, 래치회로(52)의 출력과 α승산레지스터 (50)의 출력 Sb는 가산회로(55)로 가해져서 서로 합쳐진다. 더우기, α2승산레지스터(54)의 출력 Saα2과 가산회로(55)의 출력은 가산회로(56)에서 합해진다. 그 결과는 2차방정식의 x는 클럭펄스 CP가 가해지면 α031로 대치된다. 가산회로(56)는 "0"을 발생한다. "0"검출기(57)는 "0"을 2번 검출하면 이는 2차방정식의 근이 결정되었다는 것을 의미한다. 0검출기(57)가 "0"을 검출하면, 출력신호를 발생한다. 레지스터의 내용은 래치회로(61, 62, 63)에 저장되어 에러위치를 결정하는 α1, αi2를 구할 수 있다. αi, αj를 나타내는 데이타는 전송버스를 통해서 연산부로 전송된다. 연산부는 αi를 αj로 곱하고, αi를 αj에 더한다. 고로 에러정정계수위치 다항식의 계수 σ12를 신드롬값으로부터 구한다.More specifically, the output of the latch circuit 52 and the output Sb of the? Multiplication register 50 are applied to the adder circuit 55 and merged with each other. Furthermore, the output Saα 2 of the α 2 multiplication register 54 and the output of the addition circuit 55 are summed in the addition circuit 56. The result is that the quadratic equation x is replaced by α 0 to α 31 when the clock pulse CP is applied. The addition circuit 56 generates "0". When the "0" detector 57 detects "0" twice, it means that the root of the quadratic equation has been determined. When the zero detector 57 detects "0", an output signal is generated. The contents of the register are stored in the latch circuits 61, 62, and 63 to obtain α 1 and α i2 which determine the error position. Data representing α i and α j is transmitted to the calculating unit via the transmission bus. Computing unit multiplies the α i by α j, α adds the α i j. Therefore, the coefficients σ 1 and σ 2 of the error correction coefficient position polynomial are found from the syndrome values.

종래의 에러정정용 연산부(ALU)에서는 유한체 연산의 특성상 다항식 형태의 수신데이타를 원시원인 α의 멱형태로 변환시켜주는 롬과, 그반대의 롬을 사용하여 승산 및 제산을 수행함으로써 에러 위치와 크기를 구하였으나, 상기에서 살펴본 바와 같이 공고번호 86-903호에 따르면, 유한체 연산중 제산이 필요없이 승산만으로 에러위치를 구하도록 고안하였다.In the conventional error correction arithmetic unit (ALU), due to the characteristics of the finite field calculation, the error position and size are performed by multiplying and dividing the received data in the form of a polynomial form by the power of α, which is a primitive source, and the opposite ROM. However, as described above, according to the publication No. 86-903, it was designed to obtain the error position by multiplication only without the need for division during the finite field calculation.

그러나, '903호의 예에서도 기본적인 가산 및 승산을 위한 연산기(ALU)외에 에러위치다항식을 풀기위한 래치 및 가산회로가 부가적으로 필요하게 되어 회로가 복잡해지고 칩사이즈가 커지는 문제점이 있었다.However, in the example of '903, a latch and an addition circuit for solving the error position polynomial are additionally required in addition to the basic ALU for addition and multiplication, which causes a complicated circuit and a large chip size.

따라서, 본 발명의 목적은 상기와 같은 종래의 문제점을 해결하기 위하여 신드롬발생기의 연산기를 다항식계수 산출에도 이용하여 회로구성을 개선한 에러정 정시스템을 제공하는데 있다.Accordingly, an object of the present invention is to provide an error correction system having improved circuit configuration by using a generator of a syndrome generator for calculating a polynomial coefficient in order to solve the conventional problems as described above.

상기와 같은 목적을 달성하기 위하여 본 발명의 장치는 갈로이스체상의 원소인 수신데이타에 포함된 단일 및 이중오류를 정정할 수 있는 리드솔로만 복호기에 있어서,In order to achieve the above object, the apparatus of the present invention is a lead solo decoder that can correct single and double errors included in received data which is an element on a galloid body.

상기 수신데이타를 저장하는 데이타버퍼;A data buffer for storing the received data;

상기 수신데이타를 입력하여 신드롬을 계산하고, 에러위치다항식을 계산하는 신드롬 및 에러위치계산기;A syndrome and error position calculator for calculating a syndrome by inputting the received data and calculating an error position polynomial;

상기 신드롬 및 에러위치계산기의 출력을 입력하여 에러위치다항식의 계수와 에러값을 계산하는 연산부: 및An operation unit configured to calculate coefficients and error values of an error position polynomial by inputting the output of the syndrome and the error position calculator:

상기 데이타 버퍼의 출력을 입력하여 상기 산출된 에러위치에서 상기 상출된 에러값에 따라 에러를 정정하는 가산기를 구비한 것을 특징으로 한다.And an adder configured to input an output of the data buffer and correct an error according to the extracted error value at the calculated error position.

이어서, 첨부한 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Next, the present invention will be described in detail with reference to the accompanying drawings.

제4도는 본 발명에 의한 에러정정시스템을 도시한 블럭도이다.4 is a block diagram showing an error correction system according to the present invention.

본 발명에 의한 에러정정시스템은 데이타버퍼(80), 신드롬&에러위치계산기 (81), 유한체 연산부(82), 가산기(85)를 구비하고, 연산부(82)는 에러위치다항식 계수계산기(83)와 에러값계산기(84)를 포함한다.The error correction system according to the present invention includes a data buffer 80, a syndrome & error position calculator 81, a finite field calculation unit 82, and an adder 85, and the calculation unit 82 is an error position polynomial coefficient calculator 83. ) And an error value calculator 84.

즉, 갈로이스체상의 원소인 수신데이타에 포함된 단일 및 이중오류를 정정할 수 있는 리드솔로만 복호기에 있어서, 수신데이타를 저장하는 데이타버퍼(80)와 수신데이타를 입력하여 신드롬을 계산하고, 에러위치다항식을 계산하는 신드롬 및 에러위치계산기(81)와 신드롬 및 에러위치계산기(81)의 출력을 입력하여 에러위치다항식의 계수와 에러값을 계산하는 연산부(82)와 데이타 버퍼(80)의 출력을 입력하여 상기 산출된 에러위치에서 상기 상출된 에러값에 따라 에러를 정정하는 가산기(85)를 구비한다.That is, in a lead solo decoder capable of correcting single and double errors included in reception data, which is an element on a galloid body, a syndrome is calculated by inputting a data buffer 80 and reception data which store the reception data. Inputs of the syndrome and error position calculator 81 and the output of the syndrome and error position calculator 81 for calculating the error position polynomial of the calculation unit 82 and the data buffer 80 for calculating the coefficients and error values of the error position polynomial And an adder 85 for inputting an output and correcting the error in accordance with the extracted error value at the calculated error position.

본 발명에 의한 에러정정시스템과 종래의 에러정정시스템을 비교해보면, 에러위치다항식을 풀기 위한 에러위치다항식을 계산하는 부분이 신드롬 계산기속에 포함된 것을 알 수 있다. 즉, 일반적으로 수신데이타에서 신드롬을 계산하는 과정은 및 회로는 잘 알려져 있는데, 본 발명에서는 이를 에러위치다항식을 풀기 위해서도 사용한다. 이와같이 에러위치다항식을 풀기 위한 부가적인 부분을 신드롬 계산회로의 곱셈기를 그대로 사용하므로써 회로구성을 간단히 할 수 있다.Comparing the error correction system according to the present invention and the conventional error correction system, it can be seen that a part of the calculation of the error position polynomial for solving the error position polynomial is included in the syndrome calculator. That is, in general, the process of calculating the syndrome from the received data and the circuit are well known, and the present invention is also used to solve the error position polynomial. In this way, the circuit configuration can be simplified by using the multiplier of the syndrome calculation circuit as an additional part for solving the error position polynomial.

또한, 연산부(82)에서는 진수 및 대수버퍼를 사용하지 않고, 승산 및 가산만을 통해 에러위치다항식의 계수 및 에러값을 구한다.In addition, the calculation unit 82 calculates the coefficients and error values of the error position polynomials only through multiplication and addition without using the decimal and logarithmic buffers.

제5도는 본 발명의 따른 실시예로서, 데이타버스(87)를 통해 연결되는 신드롬&에러위치 계산부(81)와 연산부(82)와 램 (86)을 포함한다.5 is an embodiment of the present invention, which includes a syndrome & error position calculation unit 81, a calculation unit 82, and a RAM 86 connected through a data bus 87.

신드롬 및 에러위치계산기(81)는 수신데이타(R)를 궤환된 데이타와 가산하는 제1, 제2, 제2 및 제4 가산기 (94, 93, 92, 91)와, 제1, 제2, 제2, 제4 가산기(94, 93, 92, 91 )의 출력을 각각 저장하는 제1, 제2, 제3, 제4레지스터(98, 97, 96, 95)와, 제2레지스터(97)의 출력과 α를 곱하는 제1승산기(101)와, 제3레지스터(96)의 출력과 α2을 곱하는 제2승산기(100)와, 제4레지스터(95)의 출력과 α3을 곱하는 제3승산기(99)와, 제1, 제2, 제3 레지스터(98, 97, 96)의 출력을 가산하여 영(0)을검출하는 제로검출기(102)와, 셀 펄스(CP)를 발생하는 펄스 카운터(103) 및 제로검출기(102)의 출력에 따라 펄스 카운터(103)의 출력을 래치하는 래치(104)를 구비한다.The syndrome and error position calculator 81 includes first, second, second and fourth adders 94, 93, 92, 91 for adding the received data R with the feedback data, and the first, second, First, second, third, and fourth registers 98, 97, 96, and 95 for storing the outputs of the second and fourth adders 94, 93, 92, and 91, and the second register 97, respectively. The first multiplier 101 to multiply the output of and the second multiplier 100 to multiply the output of the third register 96 and α 2 , and the third multiplied by the output of the fourth register 95 and α 3 . A multiplier 99, a zero detector 102 for detecting zero by adding the outputs of the first, second and third registers 98, 97 and 96, and a pulse for generating a cell pulse CP A latch 104 is provided to latch the output of the pulse counter 103 in accordance with the output of the counter 103 and the zero detector 102.

또한, 연산부(82)는 신드롬 및 에러위치계산기(81)의 출력의 역원을 구하는 역원기(110)와, 신드롬 및 에러위치계산기(81)의 출력과 역원기(110)의 출력중 하나를 선택하는 멀티플랙서(111)와, 멀티플랙서(111)의 출력을 저장하는 제5 레지스터(112)와, 신드롬 및 에러위치계산기(81)의 출력을 각각 저장하는 제6, 제7레지스터(113, 115)와, 제5레지스터(112)의 출력과 제6레지스터(113)의 출력을 곱하는 제4승산기(114)와, 제4승산기(114)의 출력과 제7레지스터(115)의 출력을 합하는 제5가산기(116)를 구비한다.In addition, the calculating unit 82 selects one of the inverse generator 110 for obtaining the inverse of the output of the syndrome and the error position calculator 81, the output of the syndrome and the error position calculator 81, and the output of the inverse generator 110. The sixth and seventh registers 113 for storing the output of the multiplexer 111, the fifth register 112 for storing the output of the multiplexer 111, and the output of the syndrome and error position calculator 81, respectively. 115, the fourth multiplier 114 multiplying the output of the fifth register 112 and the output of the sixth register 113, the output of the fourth multiplier 114 and the output of the seventh register 115 And a fifth adder 116 to be combined.

이러한 구성의 장치가 동작하는 것을 살펴보면 다음과 같다. 데이타 버스(87)를 통해 들어오는 수신데이타(R)는 신드롬 및 에러위치계산기(81)에서 먼저 신드롬(SO~S3)을 계산한다. 연산부(82)는 가산 및 승산에 의해 식<8, 9>에 따라 다항식의 계수를 구하여 신드롬값과 함께 램(86)에 저장한다.Looking at the operation of the device of such a configuration as follows. The received data R coming through the data bus 87 first calculates the syndromes SO to S3 in the syndrome and error position calculator 81. The calculating unit 82 obtains coefficients of the polynomial according to equations <8, 9> by addition and multiplication, and stores them in the RAM 86 together with the syndrome values.

이어서, 에러위치다항식을 풀기 위하여 신드롬 레지스터의 승산회로(99, 100, 101)를 그대로 사용한다. 이때, 제1레지스터(98)에는 02를 제공하고, 제2레지스터(97)에는 σ1을 제공하고, 제3레지스터(96)에는 "1 "을 제공한다.Subsequently, the multiplication circuits 99, 100, and 101 of the syndrome register are used as they are to solve the error position polynomial. In this case, 0 2 is provided to the first register 98,? 1 is provided to the second register 97, and “1” is provided to the third register 96.

펄스카운터(103)는 셀 펄스(CP)를 발생하여 신드롬 레지스터(95~98)에 셀 펄스(CP)를 공급하고, 제로검출기(102)는 제1, 제2, 제3 레지스터(98, 97, 96)의 출력을 합한 후 영(0)이되는 것을 검출한다. 영이 검출되면, 래치(104)는 펄스 카운터(103)의 출력을 래치하는데, 이 값이 에러위치이다. 이에 따라 연산부(82)에서에러값을 계산하여 에러를 정정할 수 있도록 한다.The pulse counter 103 generates a cell pulse CP to supply the cell pulse CP to the syndrome registers 95 to 98, and the zero detector 102 is provided with the first, second and third registers 98 and 97. , Sum the outputs of 96) and detect that it is zero. When zero is detected, latch 104 latches the output of pulse counter 103, which is an error position. Accordingly, the calculation unit 82 calculates an error value so that the error can be corrected.

이상에서 살펴본 바와 같이 본 발명은 에러정정시스템에서 에러위치다항식을 풀기 위한 회로를 신드롬계산회로에서 구현되어 있는 회로를 이용하므로써 회로구성을 간단히 하여 제조 비용을 절감하고 칩구현을 용이하게 하는 효과가 있다.As described above, the present invention has the effect of reducing the manufacturing cost and facilitating chip implementation by simplifying the circuit configuration by using the circuit implemented in the syndrome calculation circuit for solving the error position polynomial in the error correction system. .

제1도는 종래의 에러정정시스템을 도시한 블럭도이고,1 is a block diagram showing a conventional error correction system,

제2도는 제1도의 에러위치다항식 계수계산기의 블럭도이고,2 is a block diagram of the error position polynomial coefficient calculator of FIG.

제3도는 종래의 에러정정시스템의 다른 예이고,3 is another example of a conventional error correction system,

제4도는 본 발명에 의한 에러정정시스템을 도시한 블럭도이고,4 is a block diagram showing an error correction system according to the present invention;

제5도는 본 발명의 실시예이다.5 is an embodiment of the present invention.

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

80...데이타버퍼 81...신드롬&에러위치계산기80 ... Data buffer 81 ... Syndrome & error position calculator

82...갈로이스체 연산기 83...에러위치다항식 계수계산기82 ... Galois calculator 83 ... error-position polynomial coefficient calculator

84...에러값 계산기 85...가산기84 ... Error calculator 85 ... Adder

Claims (3)

갈로이스체상의 원소인 수신 데이터에 포한된 단일 및 이중오류를 정정할 수 있는 리드솔로만 복호기에 있어서,In the reed solo only decoder capable of correcting single and double errors contained in the received data which is an element on the galois body, 상기 수신데이터를 저장하는 데이터버퍼:A data buffer for storing the received data: 상기 수신데이터에 응답하여 신드롬을 계산하고, 에러위치다항식을 계산하는 신드롬 및 에러위치계산기:A syndrome and error position calculator for calculating a syndrome in response to the received data and calculating an error position polynomial: 상기 신드롬 및 에러위치계산기의 출력신호에 응답하여 에러위치다항식의 계수와 에러값을 계산하는 연산부: 및An operation unit for calculating a coefficient and an error value of an error position polynomial in response to an output signal of the syndrome and error position calculator: 상기 데이터 버퍼의 출력신호, 신드롬 및 에러위치계산기의 출력신호 및 상기 연산부의 출력신호에 응답하여 산출된 에러위치에서 산출된 에러값에 따라 에러를 정정하는 가산기를 구비하는 것을 특징으로하는 에러 정정시스넴.And an adder for correcting an error according to an error value calculated at an error position calculated in response to an output signal of the data buffer, an output signal of a syndrome and an error position calculator, and an output signal of the calculator. Nem. 제 1항에 있어서, 상기 신드롬 및 에러위치계산기는 상기 수신데이터와 궤환된 데이터를 가산하는 제 1, 제 2, 제 3 및 제 4가산기:2. The apparatus of claim 1, wherein the syndrome and error position calculator adds the received data and the returned data: first, second, third and fourth adders: 상기 제 1, 제 2, 제 3 및 제 4가산기 의 출력을 각각 저장하는 제 1, 제 2, 제 3 및 제 4레지스터:First, second, third and fourth registers for storing the outputs of the first, second, third and fourth adders, respectively: 상기 제 2레지스터의 출력과 α를 곱하는 제 1승산기:A first multiplier that multiplies the output of the second register by a; 상기 제 3레지스터의 출력과 α2를 곱하는 제 2승산기A second multiplier that multiplies the output of the third register by α 2 상기 제 4레지스터의 출력과 α3을 곱하는 제 3승산기:A third multiplier that multiplies the output of the fourth register by α 3; 상기 제 1, 제 2, 제 3레지스터의 출력을 가산하여 영(0)을 검출하는 제로 검출기:A zero detector for detecting zero by adding outputs of the first, second, and third registers: 클릭 펄스를 발생하는 펄스 카운터: 및A pulse counter that generates a click pulse: and 상기 제로검출기의 출력에 따라 상기 펄스 카운터의 출력을 래치하는 래치를 구비하는 것을 특징으로 하는 에러 정정 시스템.And a latch for latching the output of the pulse counter in accordance with the output of the zero detector. 제 1항에 있어서, 상기 연산부는 상기 신드롬 및 에러 위치 계산기의 출력의 역원을 구하는 역원기:The apparatus of claim 1, wherein the calculating unit obtains an inverse of the output of the syndrome and error position calculator. 상기 신드롬 및 에러 위치계산기의 출력과 상기 역원기의 출력중의 하나를 선택하는 멀티플렉서;A multiplexer for selecting one of the output of the syndrome and error locator and the output of the inverse generator; 상기 멀티플렉서의 출력을 저장하는 제 5레지스터:A fifth register for storing the output of the multiplexer: 상기 신드롬 및 에러위치계산기의 출력을 각각 저장하는 제 6 및 제 7레지스터:Sixth and seventh registers for storing the outputs of the syndrome and error position calculator, respectively: 상기 제 5레지스터의 출력과 상기 제 6레지스터의 출력을 곱하는 제 4승산기: 및A fourth multiplier that multiplies the output of the fifth register by the output of the sixth register; and 상기 제 4승산기의 출력과 상기 제 7레지스터의 출력을 합하는 제 5가산기를 구비하는 것을 특징으로 하는 에러 정정 시스템.And a fifth adder for adding the output of the fourth multiplier and the output of the seventh register.
KR1019940020289A 1994-08-17 1994-08-17 Error correcting system KR100335482B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940020289A KR100335482B1 (en) 1994-08-17 1994-08-17 Error correcting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940020289A KR100335482B1 (en) 1994-08-17 1994-08-17 Error correcting system

Publications (2)

Publication Number Publication Date
KR960008796A KR960008796A (en) 1996-03-22
KR100335482B1 true KR100335482B1 (en) 2002-11-27

Family

ID=37479777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940020289A KR100335482B1 (en) 1994-08-17 1994-08-17 Error correcting system

Country Status (1)

Country Link
KR (1) KR100335482B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505210B1 (en) * 2002-03-12 2005-08-04 엘지전자 주식회사 Apparatus and method for correcting error

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833591B1 (en) 2006-12-27 2008-05-30 주식회사 하이닉스반도체 Phase synchronous device and a method for phase synchronous signal generation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880011660A (en) * 1987-03-16 1988-10-29 레넨골츠 그리고리 Multiple error detection and correction methods and systems
KR920006951A (en) * 1990-09-08 1992-04-28 김광호 Error Correction System
KR920017083A (en) * 1991-02-01 1992-09-26 조셉 티. 로저스 On-the-fly error correction method and device using built-in digital controller
KR930018866A (en) * 1992-02-12 1993-09-22 강진구 Reed-Solomon Decoder
KR940002844A (en) * 1992-07-24 1994-02-19 강진구 Error correction system
KR940008283A (en) * 1992-09-15 1994-04-29 문정환 Reed-Solomon Error Correction Code System

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880011660A (en) * 1987-03-16 1988-10-29 레넨골츠 그리고리 Multiple error detection and correction methods and systems
KR920006951A (en) * 1990-09-08 1992-04-28 김광호 Error Correction System
KR920017083A (en) * 1991-02-01 1992-09-26 조셉 티. 로저스 On-the-fly error correction method and device using built-in digital controller
KR930018866A (en) * 1992-02-12 1993-09-22 강진구 Reed-Solomon Decoder
KR940002844A (en) * 1992-07-24 1994-02-19 강진구 Error correction system
KR940008283A (en) * 1992-09-15 1994-04-29 문정환 Reed-Solomon Error Correction Code System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505210B1 (en) * 2002-03-12 2005-08-04 엘지전자 주식회사 Apparatus and method for correcting error

Also Published As

Publication number Publication date
KR960008796A (en) 1996-03-22

Similar Documents

Publication Publication Date Title
US4873688A (en) High-speed real-time Reed-Solomon decoder
EP1131893B1 (en) Forward error corrector
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5440570A (en) Real-time binary BCH decoder
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
US5535225A (en) Time domain algebraic encoder/decoder
US5805617A (en) Apparatus for computing error correction syndromes
JP3176171B2 (en) Error correction method and apparatus
EP0249982A2 (en) Decoder
KR100260415B1 (en) High speed serial error position polynomual calculation circuit
JPH0728227B2 (en) Decoding device for BCH code
JP3305525B2 (en) Decoder, error locator sequence generator and decoding method
EP1502356B1 (en) A method of soft-decision decoding of reed-solomon codes
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
JP2800723B2 (en) Error location detection circuit of Reed-Solomon decoder
US20100174970A1 (en) Efficient implementation of a key-equation solver for bch codes
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
KR100335482B1 (en) Error correcting system
EP0629052B1 (en) Method of and circuit for correcting errors
WO2003036798A2 (en) Decoding method and decoder for reed solomon code
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
EP0341862B1 (en) Error location system
JP2002530002A (en) Fast precomputation circuit and method for finding error locator polynomial roots in Reed-Solomon decoder

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070327

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee