KR0167390B1 - Decoder - Google Patents

Decoder Download PDF

Info

Publication number
KR0167390B1
KR0167390B1 KR1019940006312A KR19940006312A KR0167390B1 KR 0167390 B1 KR0167390 B1 KR 0167390B1 KR 1019940006312 A KR1019940006312 A KR 1019940006312A KR 19940006312 A KR19940006312 A KR 19940006312A KR 0167390 B1 KR0167390 B1 KR 0167390B1
Authority
KR
South Korea
Prior art keywords
polynomial
syndrome
error
register
circuit
Prior art date
Application number
KR1019940006312A
Other languages
Korean (ko)
Other versions
KR940023050A (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
Priority claimed from JP07465293A external-priority patent/JP3230888B2/en
Priority claimed from JP5196459A external-priority patent/JPH0749100A/en
Application filed by 사또오 후미오, 가부시기가이샤 도시바 filed Critical 사또오 후미오
Publication of KR940023050A publication Critical patent/KR940023050A/en
Application granted granted Critical
Publication of KR0167390B1 publication Critical patent/KR0167390B1/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/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 목적은 고속성을 손상시키기 않고 회로 규모를 삭감하는 것이다.An object of the present invention is to reduce the circuit scale without compromising high speed.

본 발명의 구성을 보면 레지스터(21∼28)에는 각각 신도롬 계속(S0~S7)가 저장되고, 레지스터(31∼38)에는 피제다항식의 계수가 저장된다. 승산기(51∼57)는 출력 Q(X)에 피제다항식의 계수를 승산하고, 가산기(41∼47)는 레지스터(21∼27)의 출력에 승산기(51∼57)의 출력을 승산함으로써 나머지를 다음단에 출력한다. 또, 레지스터(21∼28)의 출력은 각각 레지스터(31∼38)에 저장되고, 레지스터(31∼38)의 출력은 스위치(60∼67)를 통하여 레지스터(21∼28)에 저장되어 데이터를 교환하고 있고, 회로 규모를 저감할 수가 있다. 또 별개 양태로서는, 수정 신드롬 생성/유클리드용 제산기(3)는 신드롬 생성 회로(1)가 구한 신드롬 및 소거 위치 생성 회로(2)가 구한 소거 위치 계수로 부터 수정 신드롬을 생성하는 동시에 수정 신드롬을 사용하여 유클리드의 제산을 실시하여 에러 수치 다항식을 구한다. 소거 위치 다항식 생성/유클리드용 적화 연산 회로(4)는 소거 위치 계수로부터 소거 위치 다항식을 생성하고, 또 소거 위치 다항식과 유클리드의 제산의 몫을 사용하여 에러 위치 다항식을 구한다. 에러 위치 다항식 및 에러 수치 다항식을 체인서치 회로(6)에 부여하여 에러 위치 및 에러 수치를 구하고, 정정 프로세서(7)에 있어서 수신어의 에러를 정정한다. 수정 신드롬을 유클리드의 제산기를 이용하여 구하고, 소거 위치 다항식을 적화 연산 회로를 이용하여 구하고 있고, 회로의 공유화에 의하여 회로 규모를 저감한다.According to the configuration of the present invention, the registers 21 to 28 store the new dolomites S 0 to S 7, respectively, and the registers 31 to 38 store the coefficients of the polynomial expression. Multipliers 51 to 57 multiply output Q (X) by the coefficient of the polynomial, and adders 41 to 47 multiply the outputs of registers 21 to 27 by multiplying the outputs of multipliers 51 to 57. Output to the next stage. The outputs of the registers 21 to 28 are stored in the registers 31 to 38, respectively, and the outputs of the registers 31 to 38 are stored in the registers 21 to 28 through the switches 60 to 67, respectively. And the circuit scale can be reduced. In another embodiment, the crystal syndrome generator / euclidean divider 3 generates a crystal syndrome from the syndromes obtained by the syndrome generator circuit 1 and the erase position coefficients obtained by the erase position generator circuit 2, and simultaneously generates a crystal syndrome. Divide by Euclid to find the error numerical polynomial. The erasure position polynomial generation / Euclidean computation operation circuit 4 generates an erase position polynomial from the erase position coefficient, and obtains an error position polynomial using the quotient of the erase position polynomial and Euclid's division. The error position polynomial and the error numerical polynomial are given to the chain search circuit 6 to obtain the error position and the error numerical value, and the correction processor 7 corrects the error of the received word. The crystal syndrome is obtained by using a Euclidean divider, the erase position polynomial is obtained by using an arithmetic operation circuit, and the circuit scale is reduced by sharing the circuit.

Description

복호화 장지Decryption

제1도는 종래의 복호화 장치를 도시하는 회로도.1 is a circuit diagram showing a conventional decoding device.

제2도는 제 1도 중의 수정 신드롬 회로를 도시하는 회로도.FIG. 2 is a circuit diagram showing a crystal syndrome circuit in FIG.

제3도는 종래의 유클리드 호제(互除)회로를 구성하는 처리 소자를 도시하는 블록도.3 is a block diagram showing a processing element constituting a conventional Euclidean arcing circuit.

제4도는 제3도의 소자를 사용한 종래의 유클리드 호제 회로의 전체 구성을 도시하는 블록도.4 is a block diagram showing the overall configuration of a conventional Euclidean suppression circuit using the element of FIG.

제5도는 본 발명의 제1양태의 실시예에 관한 유클리드 호제 회로에 포함되는 제산기의 일실시예를 도시하는 블록도.5 is a block diagram showing one embodiment of a divider included in the Euclidean suppression circuit according to the embodiment of the first aspect of the present invention.

제6도는 제5도의 실시예의 원리를 설명하는 설명도.6 is an explanatory diagram illustrating the principle of the embodiment of FIG. 5;

제7도는 제5도의 실시예의 원리를 설명하는 설명도.7 is an explanatory diagram for explaining the principle of the embodiment of FIG.

제8도는 제5도의 실시예의 동작을 설명하는 흐름도.8 is a flow chart describing the operation of the embodiment of FIG.

제9도는 제5도의 실시예의 동작을 설명하는 타이밍도.9 is a timing diagram for explaining the operation of the embodiment of FIG.

제10도는 본 발명의 제2양태의 실시예에 관한 복호화 장치의 일실시예를 도시하는 블록도.10 is a block diagram showing an embodiment of a decoding apparatus according to the embodiment of the second aspect of the present invention.

제11도는 제10도 중의 수정 신드롬 생성/유클리드용 제산기(3)의 구체적 구성을 도시하는 회로도.FIG. 11 is a circuit diagram showing a specific configuration of the crystal syndrome generator / euclid divider (3) in FIG.

제12도는 제10도에 있어서의 수정 신드롬 생성연산을 실시하는 원리회로를 도시하는 블록도.FIG. 12 is a block diagram showing a principle circuit for performing crystal syndrome generation operation in FIG.

제13도는 제10도에 있어서의 유클리드 호제 연산의 제산기를 도시하는 회로도.FIG. 13 is a circuit diagram showing a divider of the Euclidean suppression operation in FIG.

제14도는 제10도 중의 소거 위치 다항식 생성/유클리드용 적화(積和) 연산회로(4)의 구체적인 구성을 도시하는 회로도.FIG. 14 is a circuit diagram showing a specific configuration of the erase position polynomial generation / euclid computation circuit 4 shown in FIG.

제15도는 제10도에 있어서의 소거 위치 다항식 생성연산을 실시하는 원리 회로를 도시하는 블록도.FIG. 15 is a block diagram showing a principle circuit for performing the erase position polynomial generation operation in FIG.

제16도는 제10도에 있어서의 유클리드 호제 연산의 적화 연산을 도시하는 회로도.FIG. 16 is a circuit diagram showing the computation operation of the Euclidean suppression operation in FIG.

제17도는 제13도의 동작을 설명하는 타이밍도.17 is a timing diagram for explaining the operation of FIG.

제18도는 제16도의 동작을 설명하는 타이밍도.FIG. 18 is a timing diagram for explaining the operation of FIG.

제19도는 제10도의 실시예의 동작을 설명하는 설명도.19 is an explanatory diagram for explaining the operation of the embodiment of FIG.

제20도는 제10도의 실시예의 동작을 설명하는 설명도.20 is an explanatory diagram for explaining the operation of the embodiment of FIG.

제21도는 제10도의 실시예의 동작을 설명하는 설명도.21 is an explanatory diagram for explaining the operation of the embodiment of FIG.

제22도는 제10도의 실시예의 동작을 설명하는 설명도.FIG. 22 is an explanatory diagram for explaining the operation of the embodiment of FIG.

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

1 : 신드롬 생성 회로 2 : 소거 위치 생성 회로1: syndrome generating circuit 2: erase position generating circuit

3 : 수정 신드롬 생성/유클리드용 제산기3: crystal syndrome generator / Euclidean antacid

4 : 소거 위치 계수 생성/유클리드 적화 연산 회로4: erase position coefficient generation / Euclidean integration circuit

6 : 체인 서치 회로 7 : 정정 프로세서6: chain search circuit 7: correction processor

8 : 지연 회로8: delay circuit

본 발명은 리드·솔로몬(Reed Solomon) 부호 및 BCH 부호를 포함하는 고퍼부호의 에러정정 부호의 복호에 적합한 복호화 장치에 관한다.The present invention relates to a decoding apparatus suitable for decoding an error correction code of a gopher code including a Reed Solomon code and a BCH code.

최근에 각종 디지탈 시스템의 신뢰성을 향상시키기 위하여 에러 정정 부호가 적용되고 있다. 에러 정정 부호로서는 시스템에 따라서 여러가지의 것이 채용되고 있다. 특히 리드 솔로몬 부호(이하 RS 부호로 기재)는 용장도(冗長度) 가 낮고, CD(컴팩트 디스크), DAT (디지탈 오디오 테이블) 및 위성 통신의 분야 등에서 널리 사용되고 있는 중요한 부호이다.Recently, error correction codes have been applied to improve the reliability of various digital systems. Various types of error correction codes have been adopted depending on the system. In particular, the Reed Solomon code (hereinafter referred to as RS code) has a low redundancy and is an important code widely used in the fields of CD (compact disc), DAT (digital audio table) and satellite communication.

RS 부호의 복호 방법으로서는 여러가지의 제안이 있다. 2 또는 3 심볼 정도의 정정에서는 RS 부호를 사용하여 대수적(代數的)인 방법으로 에러 위치 및 에러치를 구할 수 있고 그 장치화가 용이하다. 그러나 고신뢰성을 필요로 하는 시스템에 있어서는 정정 능력을 증대할 필요가 있다. 이 경우에는 피터슨법, 바레컨프·마시법 또는 유클리드법 등을 사용한다. 이들 방법은 에러 위치 다항식 및 평가 다항식을 도출하여 체인 서치(chien searcher)법 등에 의하여 에러 위치 및 에러치를 구함으로써 복호를 실행한다. 이러한 복호를 실현하는 회로는 규모가 극히 크고 또 계산에는 장시간이 필요한다.There are various proposals for the decoding method of the RS code. In the correction of about 2 or 3 symbols, the error position and the error value can be found in a logarithmic manner using the RS code, and the device is easy to be installed. However, in a system requiring high reliability, it is necessary to increase the correction capability. In this case, the Peterson method, the Barrekon-drinking method or the Euclidean method are used. These methods decode by deriving the error position polynomial and the evaluation polynomial and obtaining the error position and the error value by a chien searcher method or the like. The circuit which realizes such decoding is extremely large and requires a long time for calculation.

다음에 RS 부호에 대하여 간단히 설명한다. RS 부호는 갈루아체(Galois Field) GF의 원(element)으로 구성된다. 2m개의 원을 갖는 갈루아체 GF (2m)상의 RS 부호에 있어서 부호 길이를 n 으로 하고, 최소 거리(해밍 거리)를 d 로 하고 정보 심볼수를 K로 하면 RS 부호는 하기식 (1), (2)를 만족한다.Next, the RS code will be briefly described. The RS code consists of elements of Galois Field GF. In the RS code on Galois GF (2 m ) having 2 m circles, the code length is n, the minimum distance (hamming distance) is d, and the number of information symbols is K. The RS code is represented by the following equation (1) , (2) is satisfied.

이 RS 부호의 정정 능력 t(에러 정정 가능한 심볼수)는 하기식 (3)으로 표시할 수 있다.The correction capability t (number of error correctable symbols) of the RS code can be expressed by the following equation (3).

생성 다항식 G(X)는 부호의 검사 심볼수(n-k)(=d-1=2t)와 같은 차수(次數)를 가지고, 또 Xn-1를 정제한다(整除:나머지없이 나누다). GF(2m)의 원시원(原始元)을 α로 하면 RS 부호의 생성 다항식 G(X)는 하기식 (4)에 의하여 표현할 수 있다.The generated polynomial G (X) has the same order as the number of check symbols nk (= d-1 = 2t) of the sign, and further refines X n-1 (整除: divides the rest). When the source of GF ( 2m ) is α, the generation polynomial G (X) of the RS code can be expressed by the following equation (4).

또, G(X) = (X-1)·(X-α) ···(X-α2t-1)이라도 좋다.Moreover, G (X) = (X-1) ... (X-α) ... (X- α2t-1 ) may be sufficient.

다음에 부호화에 대하여 설명한다.Next, the encoding will be described.

부호화후의 부호 다항식 C(X)는 생성 다항식 G(X)에 의하여 정제(整除)되어야 한다. 또, 부호화하고자 하는 K 개의 정보 심볼을 I로 한다. 이 정보를 다항식으로 표현하면 정보 다항식 I(X)는The signed polynomial C (X) after encoding should be refined by the generated polynomial G (X). Also, let K information symbols to be encoded be I. Express this information as polynomial, the information polynomial I (X) is

가 된다.Becomes

정보 다항식 I(X)를 생성 다항식 G(X)로 나누었을 때의 나머지 다항식 P(X)는When the information polynomial I (X) is divided by the generation polynomial G (X), the remaining polynomial P (X) is

가 되고, 부호 다항식 C(X) 는 하기식 (8)에서 주어진다.The sign polynomial C (X) is given by the following equation (8).

식 (8)의 부호 다항식 C(X)가 G(X)로 정제되는 것은 분명하다.It is clear that the sign polynomial C (X) of the formula (8) is purified to G (X).

다음에 복호화에 대하여 설명한다.Next, decoding will be described.

제1도는 이러한 에러 정정 부호를 복호하는 종래의 복호화 장치를 도시하는 회로도이다. 제1도의 장치는 일본 특허 공고평 4-7847 호 공보에 개시된 것이다.1 is a circuit diagram showing a conventional decoding apparatus for decoding such an error correction code. The apparatus of FIG. 1 is disclosed in Japanese Patent Application Laid-Open No. 4-7847.

제1도의 장치는 시스트릭(systolic) 알고리즘에 따라서 구성되고 있다. 소거를 고려하지 않는 경우에는 복호는 이하의 (1) 내지 (5)에 표시하는 순서로 실시한다.The apparatus of FIG. 1 is constructed in accordance with a systolic algorithm. When erasing is not considered, decoding is performed in the order shown in (1) to (5) below.

(1) 신드롬 계산을 한다.(1) Calculate the syndrome.

(2) 신드롬이 모두 0 이면 에러 없음으로 판정한다.(2) If all syndromes are 0, it is determined that there is no error.

(3) 신드롬에서 피터슨 방법 또는 유클리드의 호제법 등을 사용하여 에러 위치 다항식 σ(X) 및 에러 수치 다항식 ω(X) 를 구한다.(3) The error position polynomial σ (X) and the error numerical polynomial ω (X) are obtained from the syndrome using the Peterson method or Euclid's method.

(4) 체인 서치에 의하여 σ(X)의 근(根) 즉, 에러 위치를 구한다.(4) The root of sigma (X), that is, the error position, is determined by the chain search.

(5) ω(X)의 근, 즉 에러의 값을 구한다.(5) Find the root of ω (X), that is, the value of the error.

식 (8)의 부호 다항식 C(X)가 전송로에 있어서 잡음의 영향을 받아서 수신 다항식 Y(X)로 변화하는 것으로 한다. 수신 다항식 Y(X)는 부호 다항식 C(X)와 에러 다항식 σ(X)의 합이다.It is assumed that the sign polynomial C (X) of Equation (8) changes to the reception polynomial Y (X) under the influence of noise in the transmission path. The received polynomial Y (X) is the sum of the sign polynomial C (X) and the error polynomial σ (X).

우선, 상기 순서 (1)에 있어서 수신 다항식 Y(X) 로부터 신드롬 (S1,S2,…,S2t)을 계산한다. α, α2, … , α2t를 근으로 하는 BCH 부호에서는 신드롬을First, syndromes S1, S2, ..., S2t are calculated from the reception polynomial Y (X) in the procedure (1). α, α 2 ,... in the BCH code based on α 2t ,

에 의하여 정의한다. C(αi) = 0 (i = 1, 2, …, 2t)이므로 신드롬은Defines by. Since C (αi) = 0 (i = 1, 2,…, 2t), the syndrome

가 되며, 에러가 없으면 신드롬은 모두 0이 된다.If there are no errors, the syndrome is all zeros.

여기에서 위치 j1, j2, …, jL에 값 e1, e2, …, eL 의 에러가 발생하고 있는 것으로 한다. 단, L ≤ t 로 한다. 이때,Where positions j1, j2,... , jL values e1, e2,... , an eL error has occurred. However, let L ≤ t. At this time,

이므로, 식 (10)에 의하여 하기식 (12)가 얻어진다.Therefore, following formula (12) is obtained by Formula (10).

따라서, 이 S1, S2, …, S2t 에서 에러의 위치 j1, J2, …, jL 와 에러의 값 e1, e2, …, eL 을 구하면 된다.Therefore, the S1, S2,... , Location of the error in S2t, j1, J2,… , jL and the error values e1, e2,... eL is obtained.

그러나 신드롬으로부터 직접 구하기는 곤란하므로 우선 하기식 (13)에 표시하는 갈루아체 GF (2m)상의 L 차 다항식을 구한다.However, since it is difficult to obtain | require directly from a syndrome, the L-order polynomial on galluache GF ( 2m ) shown by following formula (13) is calculated first.

이 식 (13)은 에러 위치 다항식으로 호칭되고, 근이 에러 위치에 대응한다.This equation (13) is called the error position polynomial, and the root corresponds to the error position.

여기에서 신드롬 S(Z) 를Where syndrome S (Z)

로 한다. 이때,Shall be. At this time,

인 것에 주의 하면, 하기식 (16)을 얻는다.Note that the following equation (16) is obtained.

식 (16)의 양변에 σ(Z)를 곱하면 하기식 (17)을 유도한다.Multiplying both sides of equation (16) by σ (Z) leads to the following equation (17).

즉, 적당한 다항식 A(Z) 을 사용하여 하기식 (18)과 같이 표현할 수 있다.That is, it can express as following formula (18) using suitable polynomial A (Z).

식 (18)의 ω(Z)는 에러 평가 다항식으로 호칭하고, 하기식 (19)에 의하여 정의된다.Ω (Z) in equation (18) is called an error evaluation polynomial and is defined by the following equation (19).

여기에서,From here,

또, ω(α-j1) ≠ 0 (i=1, …, L)이므로, ω(Z) 와 σ(Z)는 상호 소(素)를 이루므로 ω(Z)와 σ(Z)는 Z2t와 S(Z)의 최대공약수(GCD) 다항식을 구하는 유클리드의 호제법의 과정에서 구할 수 있다.Since ω (α -j1 ) ≠ 0 (i = 1, ..., L), ω (Z) and σ (Z) form mutually small elements, so ω (Z) and σ (Z) are Z. It can be found during Euclid's method of obtaining the greatest common divisor (GCD) polynomial of 2t and S (Z).

다음에 순서 (3)에서 채용하는 유클리드 호제법에 대하여 설명한다.Next, the Euclidean derivation method adopted in step (3) will be described.

여기에서 2 개의 다항식 r-1(Z), r0(Z)가 얻어지고 deg r0 ≤ deg r-1 일 때 다음의 제산(除算)을 반복한다.Here, two polynomials r-1 (Z) and r0 (Z) are obtained and the following division is repeated when deg r0 ≤ deg r-1.

그리고 마지막으로 정제된 0이 아닌(非零) rj(Z)가 r-1(Z)와 r0(Z)와의 최대공약수 다항식(greatest Common Devisor)(GCD)이 된다.Finally, the refined nonzero rj (Z) becomes the greatest common devisor (GCD) of r-1 (Z) and r0 (Z).

여기에서 이하의 정리를 사용한다.The following theorem is used here.

2 개의 다항식 r-1(Z), r0(Z) 가 주어지고 deg r0 ≤ deg r-1, 또한 GCD가 h(Z) 일 때,Given two polynomials r-1 (Z), r0 (Z) and deg r0 ≤ deg r-1 and GCD is h (Z),

를 만족하는 U(Z), V(Z)가 존재 하고, deg U, deg V 는 다같이 deg r-1 보다도 작다.U (Z) and V (Z) satisfying are present, and deg U and deg V are both smaller than deg r-1.

이 정리를 사용하여 r-1(Z) = Z2t, r0(Z) = S(Z)로 놓고, 하기식 (29)을 만족하는 다항식 ri(Z), Ai(Z), Bi(Z)를 차례로 산출한다.Using this theorem, let r-1 (Z) = Z 2t , r0 (Z) = S (Z), and polynomials ri (Z), Ai (Z), Bi (Z) satisfying Calculate sequentially.

그리고, Bi(Z)가 t 차 이하, 나머지 ri(Z)가 (t-1)차 이하가 되면 Bi(Z), ri(Z)는 각각 시그마(Z), ω(Z)의 후보(候補)가 된다.If Bi (Z) is less than or equal to t, and the remaining ri (Z) is less than or equal to (t-1), then Bi (Z) and ri (Z) are candidates for sigma (Z) and ω (Z), respectively. )

그러므로 우선,So first of all,

로 놓고, ri(Z), Ai(Z), Bi(Z) 를 계산한다.Set ri (Z), Ai (Z), and Bi (Z).

이 연산에 의하여 ri(Z)의 차수가 (t-1) 이하가 되었을 때 비로소When the order of ri (Z) is less than or equal to (t-1) by this operation

가 구해진다.Is obtained.

이와같이 유클리드 호제법에 의하여 구한 σ(X), ω(X)의 근을 사용하여 에러의 값 ei 는 하기식 (36)에 의하여 얻어진다.Thus, the value ei of the error is obtained by the following formula (36) using the roots of? (X) and? (X) obtained by the Euclidean method.

여기에서 σ'(Z)는 σ(Z)의 도함수이고, σ(Z)를 형식적으로 미분한 것이다. σ'(Z)는 σ(Z)의 홀수 차항만을 취출한 하기식 (37), (38)로 표현된다.Where σ '(Z) is the derivative of σ (Z) and formally differentiates σ (Z). [sigma] '(Z) is represented by following formula (37) and (38) which took out only the odd difference term of (sigma) (Z).

이와같이 하여 RS 부호의 부호화와 복호화가 실행된다.In this way, coding and decoding of the RS code are performed.

또 제1도의 장치에서는 에러의 정정 뿐만아니라 소거 위치의 플래그 신호를 사용하여 소거에 대한 정정 기능도 가지고 있다. 소거 플래그는 심볼이 에러로 생각되는 것을 표시하는 것이고, 플래그 출력 회로(201)는 이 소거 플래그를 입력 단자 rin 에서 입력되는 수신어와 동기하여 출력한다. 소거 위치 발생 회로(202)는 소거 플래그에 의해서 소거의 위치를 표시하는 소거 위치 계수 αi를 생성한다.In addition to the error correction, the apparatus of FIG. 1 has a correction function for erasing by using a flag signal of the erasing position. The erasing flag indicates that the symbol is considered to be an error, and the flag output circuit 201 outputs the erasing flag in synchronization with a reception word input at the input terminal rin. The erase position generating circuit 202 generates an erase position coefficient α i indicating the position of erase by the erase flag.

한편 입력 단자 rin 를 통하여 입력되는 수신어는 신드롬셀 호로(203)에 입력되어 신드롬 S(X)을 생성한다. 소거 위치 계수 αi및 신드롬 S(X)는 인터페이스(이하 I/F 로 기재)(204)를 통하여 소거 위치 계수 래치 회로(205) 및 수정 신드롬셀 회로(206)에 입력된다. 수정 신드롬셀 회로(206)는 신드롬 S(X)의 정보로부터 소거 위치의 정보를 제거한 수정 신드롬 Sε(X)를 작성한다. 제2도는 수정 신드롬셀 회로(206)의 구체적인 구성을 표시하는 블록도이다.On the other hand, the receiver word input through the input terminal rin is input to the syndrome cell arc 203 to generate syndrome S (X). The erase position coefficient α i and the syndrome S (X) are input to the erase position coefficient latch circuit 205 and the crystal syndrome cell circuit 206 through an interface (hereinafter referred to as I / F) 204. The crystal syndrome cell circuit 206 creates a crystal syndrome Sε (X) from which the information on the erase position is removed from the information of the syndrome S (X). 2 is a block diagram showing a specific configuration of the crystal syndrome cell circuit 206. As shown in FIG.

수정 신드롬셀 회로(206)는 제2도에 도시하는 셀을 2t 개 접속해서 구성한다. 신드롬 S(X)는 제2도의 입력 Yin 로서 래치(221)에 입력된다. 래치(221)가 신드롬 S(X)를 로드하면 Xin 으로서 소거 위치 계수 αi가 래치(222)에 입력된다.The crystal syndrome cell circuit 206 is constituted by connecting 2t cells shown in FIG. The syndrome S (X) is input to the latch 221 as the input Yin of FIG. When the latch 221 loads the syndrome S (X), the erase position coefficient alpha i is input to the latch 222 as Xin.

제어 회로(224)는 래치(223)에서의 코맨드에 따라서 래치(225,226), 가산 회로(227) 및 승산 회로(228)를 제어하여 하기식 (39)에 표시하는 연산을 실행하여 수정 신드롬 Sε(X)를 구한다.The control circuit 224 controls the latches 225 and 226, the addition circuit 227, and the multiplication circuit 228 in accordance with the command from the latch 223 to execute an operation shown in the following equation (39) to correct the crystal syndrome Sε ( Find X).

계산 결과는 멀티플렉서(229)를 통하여 래치(230)에 입력되어 출력된다. 또 상기식(39)의 계산에는 2t 스텝을 필요로 한다. 계산종료 후, 각 셀의 레지스터에는 수정 신드롬의 계수가 간직되고, 2t 스텝 출력 모드로 함으로써 수정 신드롬 Sε(X)가 출력된다.The calculation result is input to the latch 230 through the multiplexer 229 and output. In addition, 2t steps are required for calculation of said formula (39). After completion of the calculation, the coefficient of the crystal syndrome is retained in the register of each cell, and the crystal syndrome S? (X) is output by setting the 2t step output mode.

수정 신드롬셀 회로(206)가 구한 수정 신드롬 Sε(X)는 I/F(207)를 통하여 GCD (최대 공약수)셀 회로(208) 및 소거 위치 계수 래치 회로(209)에 입력된다. 또 소거 위치 계수 래치 회로(209) 및 GCD 셀 회로(208)의 출력은 I/F(210)를 통하여 승산셀회로(211) 및 에러 소거치 다항식 래치(212)에 부여한다. GCD 셀 회로(208)는 수정 신드롬의 데이타 계열에서 에러 위치 다항식 σe(X)와 에러 소거치 다항식 n(X)의 계수의 데이타 계열을 구한다. 또 승산셀회로(211)는 에러 위치 다항식 σe(X)와 소거 위치 데이타 계열에서 에러 소거 위치 다항식 σ(X)의 계수 데이타를 구한다. 또 I/F 회로(213)는 에러 소거 위치 다항식 σ(X)의 미분 σ'(X)를 구하고, 에러 소거 수치 다항식 n(X)와 함께 계산 셀 회로(214)에 출력한다.The crystal syndrome S? (X) obtained by the crystal syndrome cell circuit 206 is input to the GCD (maximum common factor) cell circuit 208 and the erase position coefficient latch circuit 209 through the I / F 207. The outputs of the erase position coefficient latch circuit 209 and the GCD cell circuit 208 are supplied to the multiplication cell circuit 211 and the error erase value polynomial latch 212 via the I / F 210. The GCD cell circuit 208 obtains the data series of the coefficients of the error position polynomial? E (X) and the error cancellation value polynomial n (X) from the data series of the corrected syndrome. The multiplication cell circuit 211 also obtains coefficient data of the error erasing position polynomial? (X) from the error position polynomial? In addition, the I / F circuit 213 obtains the derivative? '(X) of the error erasing position polynomial? (X) and outputs it to the calculation cell circuit 214 together with the error erasing numerical polynomial n (X).

계산셀 회로(214)는 에러 위치 다항식 σ(αi)가 0 이 되는 위치 i 에 있어서 하기식 (40)에 표시하는 연산에 의하여 에러 수치를 구한다.The calculation cell circuit 214 obtains an error value by an operation shown in the following expression (40) at the position i where the error position polynomial σ (α i ) becomes zero.

계산셀 회로(214)가 구한 에러 수치는 게이트 회로(215)를 통하여 가산회로(216)에 입력된다. 게이트 회로(215)는 에러 위치 다항식 σ(αi)가 0 인 경우에 위치 i 에 에러가 발생하고 있는 것으로 판단하여 에러 수치를 가산 회로(216)에 부여한다. 가산 회로(216)는 버퍼 메모리(217)로부터 수신어가 부여되고 있고, 수신어의 위치 i 의 데이타의 위치 i 의 에러수치와의 갈루아체의 가산에 의하여 에러를 정정하여 출력 단자(218)에 출력한다. 또 도면중의 COMin는 각 회로의 코맨드 입력이다.The error value obtained by the calculation cell circuit 214 is input to the addition circuit 216 through the gate circuit 215. The gate circuit 215 determines that an error has occurred at position i when the error position polynomial σ (α i ) is 0, and gives an error value to the adder circuit 216. The addition circuit 216 is provided with a receiver word from the buffer memory 217, corrects an error by adding a Galloiche to the error value of the position i of the data at the position i of the receiver, and outputs it to the output terminal 218. do. In the figure, COMin is a command input to each circuit.

제1도의 장치는 파이프라인 처리가 가능하고, 고속성이 우수하다. 그러나 회로 규모가 방대하고, 대규모 집적회로화할 경우에 경제적이 아닌 결점이 있었다.The apparatus of FIG. 1 is capable of pipeline processing and is excellent in high speed. However, the circuits are huge and have large non-economical drawbacks in large scale integrated circuits.

그러나, 복호화의 처리 시간중 신드롬으로부터 에러 위치 다항식 σ(Z)와 에러 평가 다항식 ε(Z)를 구하는 과정이 가장 긴 계산 시간이 필요하고, 이 과정에 대응하는 회로 규모는 가장 크다. 그러므로 이 부분의 회로 규모를 감소시키는 제안이 특허 공개서 63-157528 호 공보에서 실행되고 있다. 제3도 및 제4도는 이 제안을 표시하는 블록도이다. 제3도는 GCD 를 생성하는 처리 소자를 도시하고, 제4도는 제3도의 처리 소자를 사용한 전체 구성을 표시한다.However, the process of obtaining the error position polynomial σ (Z) and the error evaluation polynomial ε (Z) from the syndrome during the processing time of decoding requires the longest calculation time, and the circuit scale corresponding to this process is the largest. Therefore, a proposal to reduce the circuit size of this part is being implemented in the publication of patent publication 63-157528. 3 and 4 are block diagrams representing this proposal. FIG. 3 shows a processing element for producing a GCD, and FIG. 4 shows an overall configuration using the processing element of FIG.

이 제안에 있어서는 시스트릭·어레이에 의한 방법을 채용하고 있다. 이 시스트릭·어레이의 알고리즘은 유클리드의 호제법을 사용하여 GCD(최대공약수) 을 구하는 과정에서 σ(X)와 ω(X)를 구하는 것이나, 2개의 다항식의 최대차계수를 서로 엇갈리게 승산함으로써 차수를 저감시킨다. 또, 실제의 회로에서는 α(X)와 ω(X)를 각각 구하기 위하여 제4도의 회로를 2회 사용하거나, 또는 2계통으로 설치할 필요가 있다.In this proposal, the method by a citri array is employ | adopted. The algorithm of the cistric array is to find σ (X) and ω (X) in the process of finding the greatest common divisor (GCD) using Euclid's method, or multiply the maximum order coefficients of two polynomials by staggering the order. Reduce. In an actual circuit, it is necessary to use the circuit of FIG. 4 twice or to provide two systems in order to obtain? (X) and? (X), respectively.

이와 같이 종래의 유클리드 호제 회로에 있어서는 1개의 기본 처리 회로는 제3도의 도시와 같이 2 개 승산기, 1개의 가산기, 3 입력 2 출력의 멀티플렉서 및 7 개의 레지스터에 의하여 구성되어 있고 회로 규모가 극히 크다. 예를 들어 갈루아체 GF(28) 상의 RS 부호와 같이 1 심볼이 8 비트인 경우에는 게이트 수를 NAND 게이트 단위로 구하면 약 1.2 K 게이트를 구성할 필요가 있다. 실제로는 이 기본회로를 제4도에 도시한 바와 같이 (2t+2) 개 사용함으로 예를 들어 2t=10 인 경우에는 14.4 K 게이트를 구성해야 한다. 또 복호를 고속으로 하기 위해서는 제4도의 회로를 2 회 사용할 수가 없으므로 2 세트의 회로를 준비할 필요가 있다. 이 경우에는 LDC(Long Distance Code)를 채용하여 2t=16으로 하면 21600 게이트수가 필요하게 되어, 방대한 회로 규모가 되어 버린다.Thus, in the conventional Euclidean suppression circuit, one basic processing circuit is composed of two multipliers, one adder, a multiplexer of three inputs and two outputs, and seven registers as shown in FIG. 3, and the circuit scale is extremely large. For example, when one symbol is 8 bits, such as an RS code on galluache GF (2 8 ), when the number of gates is obtained in units of NAND gates, it is necessary to construct about 1.2K gates. In practice, the basic circuit is used as (2t + 2) as shown in FIG. 4, for example, when 2t = 10, a 14.4 K gate must be configured. In addition, since the circuit of FIG. 4 cannot be used twice in order to speed decoding, it is necessary to prepare two sets of circuits. In this case, if 2t = 16 by adopting a long distance code (LDC), 21600 gates are required, resulting in a large circuit scale.

이와같이 상기한 종래의 복호화 장치에 있어서는 회로 규모가 크고, 또 LSI화에 적합하지 않는 문제점이 있었다.As described above, the conventional decoding apparatus has a problem that the circuit scale is large and it is not suitable for LSI.

본 발명은 고속성은 손상하지 않고, 회로 규모를 대폭 삭감할 수 있는 복호화 장치를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a decoding apparatus which can significantly reduce a circuit scale without impairing high speed.

본 발명의 제 1 의 양태에 관한 유클리드 호제 회로는 피제다항식과 제다항식과의 제산의 나머지의 차수가 소정의 조건을 만족할 때까지 상기 나머지로 상기 제다항식을 반복해서 제산하는 유클리드 호제 회로로서, 상기 피제다항식과 상기 제다항식을 각각 기억하는 복수의 레지스터를 갖는 제 1 및 제 2의 레지스터군과 상기 제 1 및 제 2 의 레지스터군을 사용하여 상기 피제다항식을 제다항식으로 제산한 나머지를 상기 제 1 의 레지스터군의 각 레지스터에 기억시키는 귀환 수단과 상기 제다항식의 최대차계수가 0이 아닐때까지 1 회의 제산 종료 마다에 상기 제 1 의 레지스터군의 각 레지스터의 내용을 다음단의 레지스터에 시프트시키는 시프트 수단과, 상기 피제다항식의 계수와 제다항식의 계수를 교환하는 교환 수단을 구비한 것이다.The Euclidean suppression circuit according to the first aspect of the present invention is an Euclidean suppression circuit that repeatedly divides the polynomial with the remainder until the order of the remainder of the division between the subject polynomial and the polynomial is satisfied. The first and second register groups each having a plurality of registers for storing the first and second polynomials and the first and second register groups are divided by the polynomial using the first and second register groups. The contents of each register in the first register group are shifted to the next register at the end of one division until the return means for storing in each register of the register group of < RTI ID = 0.0 > and the < / RTI > And a shifting means and an exchange means for exchanging the coefficient of the polynomial and the coefficient of the polynomial.

상기 유클리드 호제 회로에 있어서 귀환 수단은 피제다항식을 제다항식으로 제산한 나머지를 상기 제 1 의 레지스터군의 각 레지스터에 기억시킨다. 이것에 의하여 나머지로 제다항식을 반복하여 제산시킨다. 제수의 최대차계수가 0 인 경우에는 제산이 불가능하므로 시프트수단은 최고차계수가 0 이 아닐때까지 시프트시킨다.In the Euclidean-repeating circuit, the feedback means stores the remainder obtained by dividing the polynomial by the polynomial in each register of the first register group. Thereby, the polynomial is repeatedly divided by the rest. Since the division is impossible when the maximum difference coefficient of the divisor is zero, the shifting means shifts until the maximum difference coefficient is not zero.

교환수단이 제다항식과 피제다항식과의 내용을 교환하므로 종래에 비교해서 회로규모를 삭감할 수가 있다.Since the exchange means exchanges the contents of the polynomial and the subject polynomial, the circuit size can be reduced as compared with the conventional one.

상기 유클리드 호제 회로를 사용하는 본 발명의 제 2 의 양태에 관한 복호화 장치는 수신어로부터 신드롬을 계산하는 신드롬 계산 수단과, 수신어에 동기한 소거 플래그로부터 소거위치 데이타를 발생하는 소거위치 생성 수단과, 상기 신드롬으로부터 소거 위치 정보를 제외하는 수정 신드롬을 생성하는 수정 신드롬 생성 수단과 상기 소거 위치 데이타로부터 소거 위치 다항식을 생성하는 소거 위치 다항식 생성수단과, 상기 수정 신드롬과 상기 소거 위치 다항식으로부터 에러 위치 다항식 및 에러 수치 다항식을 구하는 유클리드의 호제 연산 수단과, 이 유클리드 호제 연산 수단에 의하여 구해진 에러 위치 다항식 및 에러 수치 다항식으로부터 에러 위치 및 에러 수치를 구하는 체인 서치 수단과, 이 체인 서치 수단에 의하여 구해진 에러 위치 및 에러 수치에 따라서 상기 수신어의 에러를 정정하는 정정 실행 수단을 구비하고, 상기 수정 신드롬 생성 수단 및 상기 소거 위치 다항식 생성 수단과 상기 유클리드 호제 연산 수단을 공용하는 것이다.The decoding apparatus according to the second aspect of the present invention using the Euclidean suppression circuit comprises: syndrome calculating means for calculating a syndrome from a received word, erase position generating means for generating erase position data from an erase flag synchronized with the received word; Correcting syndrome generating means for generating a corrected syndrome excluding erased position information from the syndrome, erasing position polynomial generating means for generating an erased position polynomial from the erased position data, and an error position polynomial from the corrected syndrome and the erased position polynomial; And Euclid's call calculation means for obtaining the error numerical polynomial, the error position polynomial obtained by the Euclidean call calculation means, the chain search means for obtaining the error position and the error value from the polynomial and the error numerical polynomial, and the error position obtained by the chain search means. And errors Correction execution means for correcting an error of the received word according to a numerical value, and sharing the corrected syndrome generating means, the erase position polynomial generating means, and the Euclidean appeal calculating means.

상기 복호화 장치에 있어서, 수정 신드롬 생성 수단 및 소거 위치 다항식 생성 수단은 유클리드 호제 연산 수단을 공용한다. 이것에 의하여 회로 규모가 삭감된다.In the decoding apparatus, the corrected syndrome generating means and the erasing position polynomial generating means share the Euclidean call calculating means. This reduces the circuit scale.

이하, 도면을 참조하여 본 발명의 제 1 의 양태에 관한 유클리드 호제 회로의 실시예에 대하여 설명한다. 제5도는 본 발명에 관한 유클리드 호제 회로에 채용되는 제산기의 한 실시예를 도시하는 블록도이다.EMBODIMENT OF THE INVENTION Hereinafter, the Example of the Euclidean suppression circuit which concerns on the 1st aspect of this invention is described with reference to drawings. 5 is a block diagram showing an embodiment of a divider employed in the Euclidean suppression circuit according to the present invention.

우선, 본 실시예에 있어서 채용하는 다항식의 제산기의 원리에 대하여 제6도를 참조하여 설명한다.First, the principle of the polynomial divider employed in this embodiment will be described with reference to FIG.

제산의 예로서 피제다항식과 제다항식의 제산인 X4+aX3+bX2+cX+d 를 생각한다. 제6도에 있어서 레지스터(1) 내지 (3)은 피제다항식의 계수를 기억하기 위한 것이다. 레지스터(5) 내지 (7)은 각각 제다항식의 계수 d, c, b, a를 기억하고 있고, 각각 계수 d 내지 a를 승산기(12) 내지 (14) 및 여원 저장 ROM(8)에 출력한다. 여원 저장 ROM(8)은 레지스터(7)의 내용의 역원(inverse element)을 승산기(15)에 부여하도록 구성된다.As an example of the division, consider X 4 + aX 3 + bX 2 + cX + d, which is the division of the polynomial and the polynomial. In Fig. 6, the registers 1 to 3 are for storing coefficients of the polynomial expression. The registers 5 to 7 respectively store the coefficients d, c, b and a of the polynomial, and output the coefficients d to a to the multipliers 12 to 14 and the excitation storage ROM 8, respectively. . The excitation storage ROM 8 is configured to give the multiplier 15 an inverse element of the contents of the register 7.

44 22

44 44

수신 신호의 마지막의 정보로부터 선두의 정보까지의 15 의 정보를 0 번째 내지 14 번째의 정보로 하여 9, 10, 11, 12 번째의 값에 에러가 발생한 것으로 한다.It is assumed that an error has occurred in the ninth, tenth, eleventh, and twelfth values using the 15th information from the last information of the received signal to the first information as 0th to 14th information.

이 경우에는 신드롬 계수 S0 내지 S7 은 하기식 (42)으로 부여된다.In this case, the syndrome coefficients S0 to S7 are given by the following formula (42).

따라서 신드롬 생성 다항식 S(X) 는 하기식 (43)에 의하여 표시할 수 있다.Therefore, the syndrome generating polynomial S (X) can be represented by the following formula (43).

다음에 제8도에 도시하는 유클리드의 호제법에 따라서 계산을 한다.Next, calculations are made in accordance with Euclid's method shown in FIG.

우선 스텝 A1 에 있어서,First, in step A1,

R-1(X) = X2t= X8, R0 = S(X), B-1(X) = 0, B0 = 1 로 한다.Let R-1 (X) = X 2t = X 8 , R0 = S (X), B-1 (X) = 0, and B0 = 1.

다음의 스텝 A2 예 있어서 i=1 로 한 후, 스텝 A3 에서 하기식 (44)에 표시하는 연산을 실행한다.In the following step A2 example, after making i = 1, the operation shown by following formula (44) is performed in step A3.

여기에서, Qi(X) 은 Ri-2(X) 를 Ri-1(X)로 제산했을 때의 몫이다.Here, Qi (X) is quotient when Ri-2 (X) is divided by Ri-1 (X).

이 스텝 A4에 있어서 하기식 (45)의 연산을 실시한다.The calculation of the following formula (45) is performed in this step A4.

상기 (44), (45) 의 연산은 deg Ri(X) t(=4) 가 될 때까지 실시한다. deg Ri(X)4 일 경우에는 스텝 A5에서 스텝 A6으로 이행하여 i 에 1 를 가산하여 스텝 A3, A4을 반복한다.The above calculations (44) and (45) are performed until deg Ri (X) t (= 4). In the case of deg Ri (X) 4, the process proceeds from step A5 to step A6, 1 is added to i, and steps A3 and A4 are repeated.

이 예에서는 1 회째의 루프로, R1(X)는 하기식(46)으로 표시하는 것이 된다.In this example, R1 (X) is represented by the following formula (46) in the first loop.

deg R1(X) = 5 이므로, 스텝(A4)에서 i 를 증분하여 R2(X)를 구한다.Since deg R1 (X) = 5, in step A4, i is incremented to find R2 (X).

deg R2(X) = 4 이므로, 스텝 A4에서 i 를 증분하여 R3(X)를 구한다.Since deg R2 (X) = 4, in step A4, i is incremented to find R3 (X).

식(48) 은 deg R3(X) = 3 이므로, 계산을 종료하여 스텝 A5로부터 처리를 스텝 A7으로 이행하다. 식(48)의 R3(X) 가 ω(X) 이다. 동일하게 이 때의 B1(X)에 대하여 구하면,Since equation (48) is deg R3 (X) = 3, the calculation is completed and the process shifts from step A5 to step A7. R3 (X) in formula (48) is ω (X). Similarly, for B1 (X) at this time,

가 된다. 식 (51)의 B3(X) 가 σ(X) 이다.Becomes B3 (X) of Formula (51) is (sigma) (X).

여기에서 σ(X) 에 α-12를 대입하면, 하기식 (52)를 얻을 수 있다.Substituting alpha -12 into (sigma) (X) here, following formula (52) is obtained.

이 식(52)으로부터 12 번째에 에러가 발생한 것이 판명된다. 이 때의 에러치(e) 는 σ(X) 의 홀수항을 모아서 구한 도함수 σ'(X) = α4·X213을 사용하여 하기식 (53)으로 표시할 수 있다.From this equation (52), it is found that an error has occurred in the twelfth. The error value e at this time can be expressed by the following formula (53) using the derivative σ '(X) = alpha 4 * X 2 + alpha 13 obtained by collecting the odd terms of sigma (X).

식 (53)에 α-12을 대입하면,Substituting α -12 into equation (53),

X = α-12= α3이므로,Since X = α -12 = α 3 ,

이와 같이 하여 에러치 α9가 구해진다.In this way, the error value α 9 is obtained.

동일하게 식 (52), (53)에 α-11, α-10, α-9를 대입한다.Similarly, alpha -11 , alpha -10 , and alpha -9 are substituted into equations (52) and (53).

X = α-11= α4이므로, 식(52)는Since X = α -11 = α 4 , equation (52) is

가 된다. 또, 식 (53)에서Becomes Again, in equation (53)

가 얻어진다.Is obtained.

또, X = α-10= α5이므로, 식 (52), (53)는Because addition, X = -10 α 5 = α, equation (52), (53)

이 된다.Becomes

또, X = α-9= α6이므로,Because addition, X = α -9 = α 6 ,

가 된다. 이와 같이하여 에러 위치 및 에러치를 구한다.Becomes In this way, an error position and an error value are obtained.

본 실시예의 제산기는 상기 식(44),(45)의 Ri(X) = Ri-2(X) mod Ri-1(X)의 몫 Q(X) 및 ω(X)를 구하는 것이다.The divider of this embodiment finds the quotient Q (X) and ω (X) of Ri (X) = Ri-2 (X) mod Ri-1 (X) in the above formulas (44) and (45).

우선, 제9도의 기간 A에 있어서 제어 신호 LDN(제9도(a))에 의하여 Ri 레지스터에 S(X)를 기억시키고, Ri-1 레지스터에 X8를 기억시킨다. 이 경우에는 R1 레지스터의 차수 deg Ri(X) t(=4)인지 아닌지를 판정한다.First, and stores the S (X) in the Ri register by a control signal LDN (FIG. 9 (a)) according to claim 9 degrees period A and stores the X 8 in the Ri-1 register. In this case, it is determined whether or not the order deg Ri (X) t (= 4) of the R1 register.

이 예에서는 S(X) = α3·X7+ α13·X6+ α8·X5+ X4+ α11·X3+ α12·X2+ α·X + α이고 차수는 7이므로 다음의 처리를 실행한다.In this example, S (X) = α 3 · X 7 + α 13 · X 6 + α 8 · X 5 + X 4 + α 11 · X 3 + α 12 · X 2 + α · X + α , and the order of 7 Therefore, the following process is executed.

다음에 제9도의 기간 B에 있어서 Ri 레지스터의 최고차 계수가 0이 아닐 때까지 시프트를 실시한다. 제9도의 경우에는 최고차 계수의 R6은 α3(=8(HEX)) 이므로 시프트는 실시하지 않는다.Next, in the period B in FIG. 9, the shift is performed until the highest difference coefficient of the Ri register is not zero. In the case of Fig. 9, since R6 of the highest coefficient is α 3 (= 8 (HEX)), no shift is performed.

다음의 C기간에는 제어신호 LDN2에 의하여 Ri 레지스터와 Ri-1 레지스터의 내용을 교환한다. 이때 X8÷ S(X)의 계산을 개시하여 Q(X)에 최고차수의 α12(=F(HEX))를 얻는다. 이것에 의하여 Q(X)가 유효한 기간을 표시하는 신호 QEN가 H가 된다. 상기와 같이 차수차가 1이므로 제산은 2 클록으로 종료한다. 다음의 D기간에는Q(X)로서 계수 α7(=B (HEX))가 구해진다. 제산은 이 시점에서 종료하고, QEN는 L이 된다.In the next C period, the contents of the Ri register and the Ri-1 register are exchanged by the control signal LDN2. At this time, calculation of X 8 ÷ S (X) is started to obtain α 12 (= F (HEX)) of highest order in Q (X). As a result, the signal QEN indicating the period in which Q (X) is valid becomes H. As described above, since the degree of aberration is 1, the division ends at 2 clocks. In the next D period, the coefficient α 7 (= B (HEX)) is obtained as Q (X). Division ends at this point, and QEN is L.

제9도의 E기간에는 Ri 레지스터에 나머지 다항식의 계수가 보존된다. 즉 레지스터(21) 내지 (28)의 각 출력은 R6 = 0, R5 = α11, R4 = α11, R3 = α, R2 = α3, R1 = α14, R0 = α8이다. 이 E기간에는 A기간과 동일한 동작에 의하여 차수 판정을 실시한다. 이 경우의 차수는 5 이므로 다음의 동작으로 이행한다. 그 후는 기간 A 내지 D의 처리가 반복된다.In period E of FIG. 9, the coefficients of the remaining polynomials are stored in the Ri register. That is, each output of the register (21) to (28) R6 = 0, R5 = α 11 , R4 = α 11, R3 = α, R2 = α 3, R1 = α 14, R0 = α 8. In this E period, the order determination is performed by the same operation as the A period. Since the order in this case is 5, the process proceeds to the next operation. Thereafter, the processing of the periods A to D is repeated.

F 기간은 B 기간과 동일한 동작을 실시하고, Ri 레지스터의 최고차수가 0 이 아닐때까지 시프트를 실시한다. R6이 0이므로 1 회의 시프트를 실시하고 있다.The F period performs the same operation as the B period and shifts until the highest order of the Ri register is not zero. Since R6 is 0, one shift is performed.

G 기간은 C기간과 동일한 동작을 실행하고, 제어신호 LDN2에 의하여 Ri 레지스터와 Ri-1 레지스터와의 내용을 교환하여 제산을 개시하여 Q(X) 에 최고차수인 α7(=B(HEX)) 를 얻는다. F 기간의 1 회의 시프트에 의하여 차수차는 2 가 되므로 QEN 는 3 클록분이 된다. 즉 F기간의 시프트만큼만 QEN는 연장되고, 계산후의 차수는 시프트분만 저하된다.The G period executes the same operation as the C period, and starts division by exchanging the contents of the Ri register and the Ri-1 register by the control signal LDN2, and α 7 (= B (HEX)), which is the highest order in Q (X). Get Due to one shift of the F period, the aberration becomes two, so that QEN is equal to three clocks. That is, the QEN is extended only by the shift of the F period, and the order after the calculation decreases only by the shift.

H 기간은 제산기간이고 Q(X) 로서 α12(=F(HEX)) 가 얻어진다. I 기간은 D 기간과 동일한 처리를 실행하여 Q(X) 로 2(F(HEX)) 가 출력된다. 제산은 I 기간에서 종료하고, QEN 은 L 이 된다.The H period is a division period and α 12 (= F (HEX)) is obtained as Q (X). In the I period, the same processing as in the D period is executed, and 2 (F (HEX)) is output to Q (X). Division ends in period I and QEN is L.

J 기간은 E 기간과 동일한 동작을 실시하고, Ri 레지스터에는 나머지 다항식의 계수가 보존된다. 즉 R6 = α11, R5 = α11, R4 = 1, R3 = α12, R2 = α2, R1 = 0, R0 = 0 이다. 여기에서 차수 판정에 의하여 차수 4를 얻는다. 차수가 4 보다 작지 아니하므로 처리를 계속한다.The J period performs the same operation as the E period, and the coefficients of the remaining polynomials are stored in the Ri register. That is, R6 = α 11, R5 = α 11, R4 = 1, R3 = α 12, R2 = α 2, R1 = 0, R0 = 0. Here, order 4 is obtained by order determination. Processing is continued because the order is not less than four.

다음의 K 기간에 있어서는 R6 = α11이므로 시프트는 실시하지 않는다. L 기간은 제어 신호 LDN2에 의하여 Ri 레지스터와 Ri-1 레지스터의 내용을 교환한다. 그리고 제산을 개시하여 Q(X) 로서 최고 차수의 α0(=1(EEX))를 획득한다.In the following K period, since R6 = alpha 11 , shift is not performed. In the L period, the contents of the Ri register and the Ri-1 register are exchanged by the control signal LDN2. Then, division is started to obtain α 0 (= 1 (EEX)) of highest order as Q (X).

M 기간에 제산이 종료하고, Q(X) 의 차수 0 이 출력된다. N 기간에 있어서 Ri 레지스터에 나머지 다항식의 계수가 보존된다. R6 = α4, R5 = α10, R4 = α13, R3 = α8, R2 = 0, R1 = 0, R0 = 0 이다. O 기간에 차수 판정을 실행한다. 이 차수 판정에 의하여 차수 3 이 얻어지므로 처리를 정지한다.The division ends in the M period, and the order 0 of Q (X) is output. In the N period, the coefficients of the remaining polynomials are stored in the Ri register. R6 is = α 4, R5 = α 10 , R4 = α 13, R3 = α 8, R2 = 0, R1 = 0, R0 = 0. The order judgment is executed in the O period. Since order 3 is obtained by this order determination, the process is stopped.

이와 같이 본 실시예에 있어서는 1 회의 제산 마다에 레지스터의 내용을 교환하여 다항식의 계수에 의한 제산을 실시하고 있고, 유클리드 호제 연산에 있어서의 처리 시간을 단축하여 에러 정정의 처리 속도를 향상시킬 수 있다. 또 버퍼 메모리가 필요 없고, 실시간 처리가 가능하므로 디지탈 VTR 등과 같이 고속 데이타 전송을 하는 것에 효과적이다.As described above, in the present embodiment, the contents of the registers are exchanged for each division, and the division by the polynomial coefficients is performed, and the processing time in the Euclidean recall operation can be shortened, thereby improving the processing speed of error correction. . In addition, since a buffer memory is not required and real-time processing is possible, it is effective for high-speed data transfer such as a digital VTR.

본 실시예에 있어서는 갈루아체 GF(28) 상에서 기본 회로 부분(제5도의 점선 부분)은 약 500 게이트로 구성할 수 있고, 또 여원 저장 ROM 도 약 500 게이트로 구성할 수 있다. 기본 회로 부분을 2t 개 설치하고 여원 저장 ROM 를 1 개 설치하면 되므로 2t = 10 의 경우에는 약 5,500 게이트의 회로 규모로 되고, 2t = 16의 경우에는 약 85,000 게이트로 구성할 수가 있고, 종래에 비해서 현저히 회로 규모를 축소할 수 있다. 또 기본 회로를 종속 접속하는 것만으로 하중(荷重) 에러 정정에도 용이하게 확장할 수 있음은 명백하다.In the present embodiment, the basic circuit portion (dotted line portion in FIG. 5) on the Galois GF 2 8 can be configured with about 500 gates, and the source storage ROM can also be configured with about 500 gates. Since 2t basic circuit part and 1 storage source ROM are installed, the circuit scale of about 5,500 gates can be obtained in case of 2t = 10, and can be composed of about 85,000 gates in case of 2t = 16. The circuit size can be significantly reduced. In addition, it is clear that the slave circuit can be easily extended to correct a load error only by cascading the basic circuits.

상기 설명과 같이 본 발명에 의하면 고속성을 손상하지 않고 회로 규모를 저감할 수 있는 효과가 있다.As described above, according to the present invention, the circuit scale can be reduced without compromising high speed.

이하에 상기 유클리드 호제 회로를 사용하는 본 발명의 제 2 양태에 관한 복호화 장치의 실시예에 대하여 설명한다. 제10도는 본 발명에 관한 복호화 장치의 1 실시예를 도시하는 블록도이다.An embodiment of a decoding apparatus according to the second aspect of the present invention using the Euclidean suppression circuit will be described below. 10 is a block diagram showing one embodiment of a decoding apparatus according to the present invention.

수신어는 신드롬 생성 회로(1)에 부여된다. 수신어에 동기한 소거 플래그는 소거 위치 생성 회로(2)에 입력된다. 신드롬 생성 회로(1)는 수신어로부터 신드롬 S(X) 를 산출한다. 한편 소거 위치 생성 회로(2)는 입력된 소거 플래그로부터 소거 위치 계수 αi를 발생하여 레지스터(도시 생략)에 저장하도록 구성된다.The received word is given to the syndrome generating circuit 1. The erase flag synchronized with the received word is input to the erase position generation circuit 2. The syndrome generating circuit 1 calculates the syndrome S (X) from the received word. On the other hand, the erase position generation circuit 2 is configured to generate the erase position coefficient α i from the input erase flag and store it in a register (not shown).

본 실시예에 있어서는 수정 신드롬 생성 연산 및 소거 위치 다항식 생성 연산을 실시하기 위한 회로를 각각 유클리드 호제 연산을 위한 제산기 및 적화 연산 회로와 공용하도록 구성된다. 즉 신드롬 생성 회로(1)에서 신드롬 S(X) 및 소거 위치 생성 회로로부터의 소거 위치 계수 αi는 수정 신드롬 생성/유클리드용 제산기(3)에 입력된다. 또 소거 위치 계수 αi는 소거 위치 다항식 생성/유클리드용 적화 연산 회로(4)에 입력된다.In this embodiment, the circuits for performing the corrected syndrome generation operation and the erase position polynomial generation operation are configured to be shared with the divider and the accumulation operation circuit for the Euclidean suppression operation, respectively. That is, in the syndrome generating circuit 1, the syndrome S (X) and the erasing position coefficient alpha i from the erasure position generating circuit are input to the crystal syndrome generating / euclide divider 3. The erasure position coefficient α i is input to the erasure position polynomial generator / Euclidean accumulation circuit 4.

제11도는 제10도의 수정 신드롬 생성/유클리드용 제산기(3)의 구체적인 구성을 도시하는 회로도이다. 이 제11도를 생성하기 전에 제12도 및 제13도를 참조하여 수성 신드롬 생성의 원리 회로 및 유클리드 호제 연산의 제산기를 설명한다.FIG. 11 is a circuit diagram showing a specific configuration of the crystal syndrome generator / euclidean divider 3 of FIG. Before generating this FIG. 11, the principle circuit of aqueous syndrome generation and the divider of Euclidean suppression operation will be described with reference to FIGS. 12 and 13.

제12도는 스위치(10), 가산기(11), 레지스터(12) 및 승산기(13)로 구성되는 셀을 2t 개 접속하여 구성된다. 초기 상태에 있어서는 스위치(10)가 단자(14)를 선택하여 각 레지스터(12)에 신드롬 S0 내지 S2t-1를 부여한다. 다음에 스위치(10)는 단자(15)를 선택하여 전단의 레지스터(12)의 출력을 가산기(11)에 입력한다. 또 최하위의 차수측의 셀의 스위치(10)에는 0 을 부여한다. 가산기(11)에는 레지스터(12)의 출력과 소거 위치 계수 αi와의 승산 결과가 부여되고 있고, 가산기(11)는 mod X2t의 가산을 실시한다. 검출된 소거 위치 계수 αi가 입력됨으로써 결국 레지스터(12)에는 상기 식(39)에 표시하는 수정 신드롬 Sε(X)의 각 계수가 간직된다.12 is configured by connecting 2t cells composed of the switch 10, the adder 11, the register 12, and the multiplier 13. As shown in FIG. In the initial state, the switch 10 selects the terminal 14 to give syndromes S0 to S2t-1 to each register 12. The switch 10 then selects the terminal 15 and inputs the output of the preceding register 12 to the adder 11. Further, 0 is assigned to the switch 10 of the cell on the lowest order side. The adder 11 is given a multiplication result between the output of the register 12 and the erase position coefficient α i , and the adder 11 adds mod X 2t . As the detected erase position coefficient α i is input, the register 12 retains each coefficient of the crystal syndrome Sε (X) represented by the above equation (39).

다음에 제13도를 참조하여 유클리드 호제 연산의 제산에 사용할 수 있는 제산기에 대하여 설명한다(제13도의 제산기는 본건 출원인의 특원평 5-74652 호 명세서에 기재된 것이다).Next, with reference to FIG. 13, the divider which can be used for dividing Euclidean suppression operation is described (the divider of FIG. 13 is described in the specification of Applicant's Patent Application No. 5-74652).

레지스터(21) 내지 (28)은 피젯수인 Ri - 2(X)의 계수 기억용의 레지스터 이고, 레지스터(31) 내지 (38)은 젯수인 Ri-1(X)의 계수 기억용의 레지스터이다. 레지스터(21) 내지 (28)에는 제산 종료후의 나머지가 보존되기 때문에 이들 레지스터(21) 내지 (28)을 Ri 레지스터로 하고, 레지스터(31) 내지 (38)를 Ri-1 레지스터로 호칭한다.The registers 21 to 28 are registers for coefficient storage of Ri-2 (X) which is the number of jets, and the registers 31 to 38 are registers for coefficient storage of Ri-1 (X) which is the jet number. . In the registers 21 to 28, since the remainder after the division is completed, these registers 21 to 28 are referred to as Ri registers, and the registers 31 to 38 are referred to as Ri-1 registers.

R-1(X) = X2t, R0 = Sε(X)로 하면 제13도의 구성에 의하여 하기식(54)의 연산이 실시된다.When R-1 (X) = X 2t and R0 = Sε (X), the following formula (54) is calculated by the configuration of FIG.

여기에서 Qi(X)는 Ri-2(X)를 Ri-1(X)로 제산했을 때의 몫이다.Here, Qi (X) is the quotient of dividing Ri-2 (X) by Ri-1 (X).

제11도에 있어서, Ri 레지스터(21) 내지 (28) 및 Ri-1 레지스터(31) 내지 (38)의 구성은 제11도와 동일하다. 레지스터(21) 내지 (28)의 데이타단(D)에는 각각 스위치(60) 내지 (67)로부터 데이타를 공급한다. 레지스터(21) 내지 (28)의 출력 데이타는 각각 가산기(41) 내지 (47) 및 승산기(72)에 입력되는 동시에 레지스터(31) 내지 (38)의 데이타단 D에도 부여한다. 레지스터(31) 내지 (37)의 출력 데이타는 각각 스위치(151) 내지 (157)를 통하여 승산기(51) 내지 (57)에 입력되는 동시에 승산기(38)의 출력은 여원 저장 ROM(70)에 입력된다. 또 레지스터(31) 내지 (38)의 출력은 각각 스위치(60) 내지 (67)에도 입력된다.11, the configurations of the Ri registers 21 to 28 and the Ri-1 registers 31 to 38 are the same as those in FIG. Data is supplied from the switches 60 to 67 to the data terminals D of the registers 21 to 28, respectively. The output data of the registers 21 to 28 are input to the adders 41 to 47 and the multiplier 72, respectively, and are also applied to the data terminals D of the registers 31 to 38, respectively. The output data of the registers 31 to 37 are input to the multipliers 51 to 57 via the switches 151 to 157, respectively, while the output of the multiplier 38 is input to the source storage ROM 70. do. The outputs of the registers 31 to 38 are also input to the switches 60 to 67, respectively.

스위치(60)에는 0 및 신드롬 계수 S0도 부여되고, 스위치(60)는 후기하는 제어신호 LDN, LDN2로 제어되고, 0, 신드롬 계수 S0 및 레지스터(31)의 출력중 어느 하나를 선택하여 레지스터(21)에 부여하도록 구성된다. 동일하게 스위치(61) 내지 (67)에는 각각 전단의 가산기(41) 내지 (47)의 출력 및 S1 내지 S7 도 부여되고, 스위치는 3 입력중 1 개를 선택하여 레지스터(22) 및 (28)에 출력한다.The switch 60 is also provided with 0 and a syndrome coefficient S0, and the switch 60 is controlled by the control signals LDN and LDN2 described later, and selects any one of 0, syndrome coefficient S0 and the output of the register 31 to register ( 21). Similarly, the switches 61 to 67 are also provided with the outputs of the front adders 41 to 47 and S1 to S7, respectively, and the switch selects one of the three inputs to registers 22 and 28. Output to

여원 저장 ROM(70)는 레지스터(38) 출력의 역원을 앤드게이트(71)에 출력한다. 앤드게이트(71)는 신호QEN 의 H 로 역원을 승산기(72)에 입력한다. 승산기(72)는 레지스터(28)의 출력과 역원관의 승산을 실행하여 출력 Q(X)로서 출력하는 동시에 승산기(51) 내지 (57)에 출력한다. 승산기(51) 내지 (57)은 각각 레지스터(31) 내지 (37)의 출력과 Q(X)를 승산하여 가산기(41) 내지 (47)에 출력한다. 가산기(41) 내지 (47)은 전단의 레지스터(21) 내지 (27)의 출력과 승산기(51) 내지 (57)의 출력을 가산하여 스위치(61) 내지 (67)에 입력하도록 구성된다.The excitation storage ROM 70 outputs the inverse of the output of the register 38 to the AND gate 71. The AND gate 71 inputs the inverse to the multiplier 72 with H of the signal QEN. The multiplier 72 multiplies the output of the register 28 with the inverse tube and outputs it as the output Q (X) and outputs them to the multipliers 51 to 57. The multipliers 51 to 57 multiply the outputs of the registers 31 to 37 by Q (X) and output them to the adders 41 to 47, respectively. The adders 41 to 47 are configured to add the outputs of the registers 21 to 27 at the front end and the outputs of the multipliers 51 to 57 and input them to the switches 61 to 67.

본 실시예에 있어서는 수정 신드롬 계산 처리와 유클리드의 제산 처리를 전환하기 위한 스위치(150) 내지 (157), (158) 및 승산기(72)의 출력을 스위치(60)에 입력하는 승산기(159)를 가지고 있다. 스위치(150) 내지 (157), (158)는 수정 신드롬 계산시에는 단자 b를 선택하고 제산을 실시하는 경우에는 단자 a를 선택하도록 구성된다.In the present embodiment, a multiplier 159 for inputting the outputs of the switches 150 to 157, 158 and the multiplier 72 for switching between the correct syndrome calculation process and the Euclidean division process is provided. Have. The switches 150 to 157 and 158 are configured to select terminal b when calculating the correct syndrome and select terminal a when performing division.

제14도는 제10도의 소거 위치 다항식 생성/유클리드용 적화 연산 회로(4)의 구체적인 구성을 도시하는 회로도이다. 이 제14도를 설명하기 전에 제 15도 및 제16도를 참조하여 소거 위치 다항식 생성의 원리회로 및 유클리드의 적화 연산기를 설명한다.FIG. 14 is a circuit diagram showing the specific configuration of the erase position polynomial generation / Euclidean integration calculation circuit 4 of FIG. Before explaining FIG. 14, the principle circuit of the erasure position polynomial generation and Euclid's integration operator will be described with reference to FIGS. 15 and 16. FIG.

제15도의 회로의 구성은 제12도의 수정 신드롬 생성의 원리 회로와 동일하다. 제15도에 있어서, 2t+1개의 셀을 접속하여 스위치(10)의 단자(14)에는 1, 0, 0,… 를 입력한다. 초기 상태에서는 스위치(10)에 단자(14)를 선택시키고, 이후 스위치(10)에 단자(15)를 선택시켜서 전단의 셀 출력을 입력한다. 소거 위치 계수가 αi, αj, αk, … 로 하면 이 구성에 의하면 하기식 (55)로 표시하는 소거 위치 다항식 σε(X)의 계수가 얻어진다.The configuration of the circuit of FIG. 15 is the same as the principle circuit of crystal syndrome generation in FIG. In Fig. 15, 2t + 1 cells are connected to the terminals 14 of the switch 10 to 1, 0, 0,... Enter. In the initial state, the terminal 14 is selected at the switch 10, and the terminal 15 is selected at the switch 10 to input the cell output of the front end. The erase position coefficients are α i , α j , α k ,. In this configuration, the coefficient of the erase position polynomial?? (X) expressed by the following equation (55) can be obtained.

다음에 제16도를 참조하여 유클리드 호제 연산의 적화 연산에 사용 가능한 적화 연산기에 대하여 설명한다.Next, with reference to FIG. 16, the redundancy calculator that can be used for the redundancy calculation of the Euclidean suppression operation will be described.

레지스터(80) 내지 (88)에는 Bi(X)가 저장되고 승산기(90) 내지 (98)은 레지스터(80) 내지 (88)의 출력과 제13도의 제산기의 몫 Q(X)와의 승산 결과를 가산기(100) 내지 (108)에 출력한다. 가산기(100) 내지 (108)의 출력은 각각 QBi 레지스터(120) 내지 (128)에 부여한다. 가산기(130) 내지 (138)은 레지스터(80) 내지 (88)의 출력을 저장하는 Bi-2 레지스터(110) 내지 (118)의 출력이 주어지고, 2 입력의 가산을 실행한다.The registers 80 to 88 store Bi (X), and the multipliers 90 to 98 multiply the output of the registers 80 to 88 by the quotient Q (X) of the divider of FIG. Is output to the adders 100 to 108. The outputs of adders 100-108 are fed to QBi registers 120-128, respectively. Adders 130-138 are given the outputs of Bi-2 registers 110-118, which store the outputs of registers 80-88, and perform addition of two inputs.

B-1(X) = 0, B0 = σε(X)로 하면 이 구성에 의하여 제16도의 적화 연산기는 하기식 (56)의 적화 연산을 실시한다.If B-1 (X) = 0 and B0 = sigma (ε), by this configuration, the redundancy calculator in Fig. 16 performs the redundancy calculation in the following formula (56).

또, 상기식(55) 및 (56)의 연산은 deg Ri(X) [(2t+Nε)/2] 가 될때까지 실시한다(Nε는 소거수(소거 플래그의 수)).In addition, the calculation of said formula (55) and (56) is performed until deg Ri (X) [(2t + N (epsilon)) / 2] (N (epsilon) is the erase number (number of erase flags)).

제14도에 있어서, Bi 레지스터(80) 내지 (88)의 데이타단 D에는 각각 스위치(140) 내지 (148)의 출력이 입력된다. 레지스터(80) 내지 (88)의 출력은 각각 승산기(90) 내지 (98)에 입력되는 동시에 Bi-2 레지스터(110) 내지 (118)의 데이타 단(D)에 입력된다. 다시 레지스터(80) 내지 (88)의 출력은 스위치(161) 내지 (168)를 통하여 가산기(101) 내지 (108)에 입력된다.In Fig. 14, the outputs of the switches 140 to 148 are input to the data terminals D of the Bi registers 80 to 88, respectively. The outputs of the registers 80 to 88 are input to the multipliers 90 to 98, respectively, and to the data stage D of the Bi-2 registers 110 to 118, respectively. Again the outputs of registers 80-88 are input to adders 101-108 via switches 161-168.

승산기(90) 내지 (98)에는 Q(X)가 입력되고 있고, Bi 레지스터(80) 내지 (88)의 출력과, Q(X)를 승산하여 승산 결과를 각각 가산기(100) 내지 (108)에 출력한다. 가산기(100) 내지 (108)의 출력은 각각 QBi 레지스터(120) 내지 (128)에 입력되고 가산기(100) 내지 (108)은 각각 승산기(90) 내지 (98)의 출력과 0 또는 스위치(161) 내지 (168)의 출력을 가산하여 출력한다. 레지스터(120) 내지 (128)의 출력은 각각 스위치(161) 내지 (168)을 통하여 가산기(130) 내지 (138)에 입력되고, 가산기(130) 내지 (138)은 각각 레지스터(120) 내지 (128)과 레지스터(110) 내지 (118) 출력을 가산해서 스위치(140) 내지 (148)에 입력하도록 구성된다.Q (X) is input to the multipliers 90 to 98, and the multiplication results are obtained by multiplying the outputs of the Bi registers 80 to 88 and Q (X), respectively. Output to. The outputs of adders 100-108 are input to QBi registers 120-128, respectively, and adders 100-108 are zero or switches 161 and the outputs of multipliers 90-98, respectively. ) And (168) are added and output. The outputs of the registers 120 to 128 are input to the adders 130 to 138 through the switches 161 to 168, respectively, and the adders 130 to 138 are respectively registers 120 to (138). 128 and the outputs of the registers 110 through 118 and add them to the switches 140 through 148.

본 실시예에 있어서는 소거 위치 다항식 생성 연산과 유클리드용 적화 연산을 전환하기 위한 스위치(161) 내지 (168)을 설치하고 있다. 스위치(161) 내지 (168)은 소거 위치 다항식 생성시에는 단자 a 를 선택하고, 유클리드용 적화 연산시에는 단자(b)를 선택하도록 구성되어 있다.In this embodiment, switches 161 to 168 are provided for switching between the erase position polynomial generation operation and the Euclidean accumulation operation. The switches 161 to 168 are configured to select the terminal a when generating the erase position polynomial and the terminal b for the Euclidean accumulation operation.

소거 위치 다항식 생성/유클리드용 적화 연산 회로(4)는 소거 위치 계수 αi, αj, αk, … 에서 상기식(4)의 소거 위치 다항식 σε(X)를 구하고 동시에 수정 신드롬 생성/유클리드용 제산기(3)는 신드롬 S(X)와 소거 위치 계수 αi, αj, αk, … 로부터 상기식 (1)에 표시하는 수정 신드롬을 구한다. 이들의 연산 결과를 초기치로 하여 유클리드의 호제 연산을 실행한다. 즉 수정 신드롬 생성/ 유클리드용 제산기(3)는 수정 신드롬 Sε(X) 의 계수를 초기치로 하여 상기식 (55)에 의하여 에러 수치 다항식 ω(X)를 구하여 소거 위치 다항식 생성/ 유클리드용 적화 연산 회로(4)는 소거 위치 다항식 σε(X)의 계수를 초기치로 하여 상기 식(56)에 의하여 에러 위치 다항식 σ(X) 를 구한다.The erasing position polynomial generator / Euclidean integration circuit 4 has an erase position coefficient α i , α j , α k ,. In Eq. (4), the erase position polynomial σ ε (X) is obtained, and at the same time, the crystal syndrome generator / Euclidean divider 3 has the syndrome S (X) and the erase position coefficients α i , α j , α k ,. From the crystal syndrome shown in the above formula (1) is obtained. Euclid's call operation is executed by using these calculation results as initial values. That is, the crystal syndrome generating / Euclidean divider 3 obtains the error numerical polynomial ω (X) by Equation (55) using the coefficient of the crystal syndrome Sε (X) as an initial value, and generates the erase position polynomial / Euclidean integration. The circuit 4 calculates the error position polynomial σ (X) by the above equation (56) using the coefficient of the erase position polynomial σε (X) as an initial value.

에러 수치 다항식 ω(X) 및 에러 위치 다항식 σ(X) 는 체인 서치 회로(6)에 입력된다. 체인 서치 회로(6)는 에러 위치 다항식 σ(X)의 미분 σ'(X)를 구하고, 에러 위치 다항식 σ(αi)가 0이 되는 위치(i)에 있어서 에러 수치 ω(αi)/σ'(αi)을 연산에 의하여 구한다. 이들 에러 위치 및 에러 수치는 정정 프로세서(7)에 부여한다. 수신어 및 소거 플래그는 지연 회로(8)에도 부여하고 있고, 지연 회로(8)는 체인 서치 회로(6)까지의 처리 시간의 지연을 고려하여 수신어 및 소거 플래그를 지연시켜서 정정 프로세서(7)에 입력한다. 정정 프로세서(7)는 에러 위치 i의 수신어와 에러 수치와의 갈루아체의 가산을 실시함으로써 수신어의 에러를 정정하여 출력한다.The error numerical polynomial ω (X) and the error position polynomial σ (X) are input to the chain search circuit 6. The chain search circuit 6 finds the derivative σ '(X) of the error position polynomial σ (X), and the error value ω (α i ) / at the position i where the error position polynomial σ (α i ) becomes zero. σ '(α i ) is obtained by calculation. These error positions and error numbers are given to the correction processor 7. The received word and the erase flag are also given to the delay circuit 8, and the delay circuit 8 delays the received word and the erase flag in consideration of the delay of the processing time to the chain search circuit 6 to correct the processor 7 Type in The correction processor 7 corrects and outputs the error of the received word by adding the Galois between the received word at the error position i and the error value.

다음에 이와같이 구성된 실시예의 동작에 대하여 제17도 및 제18도의 타이밍도 및 제19도 내지 제22도의 설명도를 참조하여 설명한다. 제17도는 제13도의 제산기의 동작을 설명하기 위한 타이밍도이고, 제18도는 제16도의 적화 연산기의 동작을 설명하는 타이밍도이다.Next, the operation of the embodiment configured as described above will be described with reference to the timing diagrams of FIGS. 17 and 18 and the explanatory diagrams of FIGS. 19 to 22. FIG. 17 is a timing diagram for explaining the operation of the divider in FIG. 13, and FIG. 18 is a timing diagram for explaining the operation of the redundancy calculator in FIG.

본 실시예는 수정 신드롬 생성 및 유클리드용 제산 및 소거 위치 다항식 생성 및 유클리드용 적화 연산을 각각 제11도 및 제14도의 회로에 의하여 실현하고 있다. 그러나 설명상의 편의를 위하여 우선 이들 연산이 각각 제12도 내지 제16도의 회로에 의하여 실현되는 것을 설명하고 이어서 이들 제12도 내지 제16도의 회로 동작을 제11도 및 제14도의 회로에 의하여 실현할 수가 있음을 설명한다.In this embodiment, the modified syndrome generation, the Euclidean division and erasure position polynomial generation, and the Euclidean integration operation are realized by the circuits of Figs. However, for convenience of explanation, first, these operations are implemented by the circuits of FIGS. 12 to 16, respectively, and then the circuit operations of FIGS. Explain.

예를 들어, 상기 제 1 양태의 유클리드 호제 회로의 경우와 같이 갈루아체 GF(24)상의 (15, 7) RS 부호를 복호할 경우를 취하여 원시 다항식 P(X)를 P(X) = X4+ X + 1 로 하면 생성 다항식 G(X)에 대해서는 상기 식(41)을 사용한다.For example, as in the case of the Euclidean suppression circuit of the first aspect, the raw polynomial P (X) is decoded by decoding the (15, 7) RS code on the Galois GF (2 4 ). If 4 + X + 1, the above formula (41) is used for the generated polynomial G (X).

수신 신호의 마지막 정보로 부터 선두의 정보까지의 15 의 정보를 0 번째 내지 14 번째의 정보로 하여 9, 10, 11, 12 번째에 각각 α8, α, α6, α9의 에러가 발생한 것으로 하면 신드롬 계수 S0 내지 S7 은 동일하게 상기 식(42)으로 부여된다.An error of α 8 , α, α 6 and α 9 occurred at the 9th, 10th, 11th and 12th positions with 15 information from the last information of the received signal to the first information as 0th to 14th information. The syndrome coefficients S0 to S7 are equally given by the above formula (42).

따라서 신드롬 생성 다항식 S(X) 도 상기 식(43)으로 표시할 수 있다.Therefore, the syndrome generating polynomial S (X) can also be represented by the above formula (43).

한편, 수신어의 12 번째와 11 번째에 소거 그래프가 발생하고 있는 것으로 한다.On the other hand, it is assumed that the erasing graph is generated at the twelfth and eleventh of the received word.

그렇게 하면 제12도의 회로에 의한 상기 식(39)의 연산에 의하여 수정 신드롬 Sε(X)는 하기식 (57)과 같이 구해진다.Then, the crystal syndrome Sε (X) is obtained by the following equation (57) by the calculation of the equation (39) by the circuit of FIG.

또, 제15도의 회로에 의한 상기식 (55)의 연산에 의하여 소거 위치 다ε항식 σε(X) 는 하기식 (58)와 같이 구해진다.Further, by the calculation of the above equation (55) by the circuit of FIG. 15, the erase position polyε polynomial σε (X) is obtained as shown in the following equation (58).

다음에 유클리드의 호제법에 따라서 계산한다.Next, it calculates according to the Euclidean method.

우선, R-1(X) = X2t= X8, R0 = Sε(X), B-1(X) = 0 , B0 = σε(X)로 한다.First, let R-1 (X) = X 2t = X 8 , R0 = Sε (X), B-1 (X) = 0 and B0 = sigma ε (X).

다음에 i=1 로 한 후 제13도의 회로에 의한 상기식 (54)에 표시하는 연산을 실시한다.Next, after setting i = 1, the calculation shown in the above formula (54) by the circuit of FIG. 13 is performed.

상기와 같이 Qi(X)는 Ri-2(X)를 Ri-1(X)에 의해 제산했을 때의 몫이다.As described above, Qi (X) is the quotient of dividing Ri-2 (X) by Ri-1 (X).

이 연산은 deg Ri(X) [(8+2)/2] (=5) 가 될때까지 실시한다. deg Ri(X) 5 인 경우에는 i 에 1 를 가산하여 이 연산을 반복한다.This operation is performed until deg Ri (X) [(8 + 2) / 2] (= 5). In the case of deg Ri (X) 5, this operation is repeated by adding 1 to i.

이 예에서는 1 회째의 루프로 R1(X)가 하기식 (59)에 표시하는 것이 된다.In this example, R1 (X) is represented by the following formula (59) in the first loop.

deg R1(X) = 6 이므로 i 를 증분하여 R2(X) 를 구한다.Since deg R1 (X) = 6, increment i to get R2 (X).

식 (60)은 deg R3(X) = 3 이므로 계산을 종료한다. 식 (60)의 R3(X)는 ε(X)이다.Equation (60) terminates the calculation because deg R3 (X) = 3. R <3> (X) of Formula (60) is (epsilon).

한편 제16도의 회로는 상기식 (56)에 표시하는 연산을 실행한다.On the other hand, the circuit of FIG. 16 performs the operation shown in the above formula (56).

식 (56)의 연산도 deg Ri(X) 5 가 될때까지 실행한다.Calculate the expression (56) until deg Ri (X) 5

가 된다. 식 (62)의 B2(X)가 σ(X)이다.Becomes B2 (X) in Formula (62) is sigma (X).

여기에서 σ(X)에 α-12를 대입하면 X = α-12= α3이므로 하기식 (63)이 얻어진다.Substituting alpha -12 into (sigma) (X) here, since X = (alpha) -12 = (alpha) 3 , Formula (63) is obtained.

이 식 (63)에서 12 번째에 에러가 발생한 것이 판명된다. 이 때의 에러치 e는 σ(X) 의 홀수항을 모아서 구한 도함수 σ'(X) = α2X2+ α11를 사용하여 하기식 (64)로 표시할 수 있다.It is found in this equation (63) that an error occurs at the 12th time. The error value e at this time can be expressed by the following formula (64) using the derivative σ '(X) = alpha 2 X 2 + alpha 11 obtained by collecting the odd terms of sigma (X).

식 (64)에 α-12를 대입하면Substituting α -12 into equation (64)

X = α-12= α3이므로,Since X = α -12 = α 3 ,

이와같이 하여 에러치 α9이 구해진다.In this way, the error value α 9 is obtained.

동일하게 11 번째, 10 번째 및 9 번째에 대해서도 계산을 실행한다. 식 (62), (64)에 α-11, α-10, α-9를 대입한다.Similarly, calculations are performed for the 11th, 10th and 9th times. -11 is substituted into α, α -10, -9 α in equation (62), (64).

X = α-11= α4이므로, 식(62)는Since X = α -11 = α 4 , equation (62) is

가 된다. 또, 식 (64)에서Becomes Again, in equation (64)

가 얻어진다.Is obtained.

또, X = α-10= α5를 대입하면 식(62), (64)는Also, if X = α -10 = α 5 is substituted, the formulas (62) and (64)

가 된다.Becomes

또, X = α-9= α6를 대입하면,In addition, if X = α -9 = α 6 is substituted,

이 된다. 이와 같이 하여 에러 위치 및 에러의 값을 구한다.Becomes In this way, the error position and the value of the error are obtained.

다음에 제13도의 제산기 및 제16도의 적화 연산 회로가 상기한 연산을 실행하는 경우는 동작에 대하여 설명한다. 제13도의 제산기는 상기 식(54)의 몫 Q(X) 및 ω(X) 를 구하는 것이다.Next, an operation will be described when the divider of FIG. 13 and the accumulation operation circuit of FIG. 16 perform the above calculation. The divider in FIG. 13 calculates the quotient Q (X) and ω (X) of the above formula (54).

우선, 제17도의 기간 A에 있어서 제어 신호 LDN(제17(a)도)에 의하여 Ri 레지스터에 Sε(X)를 기억시키고, Ri-1 레지스터에 X8를 기억시킨다. 이 경우에는 R1 레지스터의 차수 deg Ri(X) 5 인지의 여부를 판정한다. 이 예에서는 Sε(X) = α2X7+ α5X6+ α2X5+ α6X4+ α6X3+ α8X2+ X + α8이고, 차수는 7 이므로 다음 처리를 실행한다.First, the X 8 and stores a control signal LDN (claim 17 (a) Fig.) And stores the Sε (X) to the register Ri, Ri-1 register by a method according to claim 17. A period degrees. In this case, whether or not the order deg Ri (X) 5 of the R1 register is determined. In this example, Sε (X) = α 2 X 7 + α 5 X 6 + α 2 X 5 + α 6 X 4 + α 6 X 3 + α 8 X 2 + X + α 8 , and the order is 7, Run

다음에 제17도의 기간 B에 있어서 Ri 레지스터의 최고 차계수가 0이 아닐 때까지 시프트를 실행한다. 제17도의 경우에는 최고차계수의 R6은 α2(=4(HEX)) 이므로 시프트는 실행하지 않는다.Next, in the period B in FIG. 17, the shift is executed until the maximum difference coefficient of the Ri register is not zero. In the case of Fig. 17, the shift is not executed because R6 of the highest difference coefficient is α 2 (= 4 (HEX)).

다음의 C 기간에는 제어 신호 LDN2에 의하여 Ri 레지스터와 Ri-1 레지스터의 내용을 교환한다. 이때 X8÷ Sε(X) 의 계산을 개시하여 Q(X) 에 최고 차수인 α13(=D(HEX))를 얻는다. 이것에 의하여 Q(X)가 유효한 기간을 표시하는 신호 QEN가 H 가 된다. 차수차가 1 이므로 제산은 2 클록으로 종료한다. 다음의 D 기간에는 Q(X) 로서 계수 α2(= 2 (HEX)) 가 얻어진다. 제산은 이 시점에서 종료하고, QEN는 L 가 되고, SFTN은 H 가 된다.In the next C period, the contents of the Ri register and the Ri-1 register are exchanged by the control signal LDN2. At this time, calculation of X 8 ÷ Sε (X) is started to obtain α 13 (= D (HEX)), which is the highest order in Q (X). As a result, the signal QEN indicating the period in which Q (X) is valid becomes H. Since the degree of aberration is 1, the division ends with 2 clocks. In the next D period, coefficient α 2 (= 2 (HEX)) is obtained as Q (X). Division ends at this point, QEN becomes L, and SFTN becomes H.

제17도의 E 기간에는 Ri 레지스터에 나머지 다항식의 계수가 보존된다. 즉 레지스터(21) 내지 (28)의 각 출력은 R7 = α13, R6 = α7, R5 = α3, R4 = α10, R3 = α10, R2 = α11, R1 = α9, R0 = 0 이다. 이 E 기간에는 A 기간과 동일한 동작에 의하여 차수 판정을 실시한다. 이 경우의 차수는 6 이므로 다음의 동작으로 이행한다. 그후는 기간 A 내지 D의 처리가 반복된다.In the period E of FIG. 17, the coefficients of the remaining polynomials are stored in the Ri register. That is, each output of the registers 21 to 28 has R7 = α 13 , R6 = α 7 , R5 = α 3 , R4 = α 10 , R3 = α 10 , R2 = α 11 , R1 = α 9 , R0 = 0. In this E period, the order is determined by the same operation as the A period. Since the order in this case is 6, the process proceeds to the next operation. Thereafter, the processing of periods A to D is repeated.

F 기간은 B 기간과 동일한 동작을 실시하고, Ri 레지스터의 최고차 계수가 0이 아닐때까지 시프트를 실시한다. R6 이 α13이므로 시프트는 실시하지 않는다.The F period performs the same operation as the B period and shifts until the highest difference coefficient of the Ri register is not zero. Since R6 is α 13 , no shift is performed.

G 기간은 C 기간과 동일한 동작을 실시하고, 제어 신호 LDN2에 의하여 Ri 레지스터와 Ri-1 레지스터와의 내용을 교환하고, 제산을 개시하여 Q(X) 에 최고 차수의 α4(= 3 (HEX))를 획득한다. 차수차는 1 이므로 QEN 는 2 클록분이 된다.The G period performs the same operation as the C period, exchanges the contents of the Ri register and the Ri-1 register by the control signal LDN2, starts division and starts the highest order α 4 (= 3 (HEX) in Q (X). Acquire)). Since the aberration is 1, QEN equals 2 clocks.

H 기간은 제산 기간이고, Q(X) 로서 α5( = 6(HEX)) 가 얻어진다. 제산을 H 기간에서 종료하고, QEN 는 L 이 된다. I 기간은 E 기간과 동일한 동작을 실시하고, Ri 레지스터에는 나머지 다항식의 계수가 보존된다. 즉 R7 = 0, R6 = 0, R5 = 0, R4 = α2, R3 = α3, R2 = α11, R1 = α6, R0 = 0 이다. 여기에서 차수 판정에 의하여 차수 3 을 얻는다. 이것에 의하여 처리를 정지한다.The H period is a division period, and α 5 (= 6 (HEX)) is obtained as Q (X). The division ends in the H period, and QEN becomes L. The I period performs the same operation as the E period, and the coefficients of the remaining polynomials are stored in the Ri register. That is, R7 = 0, R6 = 0, R5 = 0, R4 = α 2 , R3 = α 3 , R2 = α 11 , R1 = α 6 , R0 = 0. Here, degree 3 is obtained by order determination. This stops the process.

한편, 제16도의 적화 연산기는 상기식 (56)에서 σ(X)를 구하는 것이다.On the other hand, the accumulator of Fig. 16 calculates? (X) in the above formula (56).

적화 연산은 제13도의 제산기로부터 몫 Q(X) 이 입력될 때마다 실시한다. 제18도의 A 기간에는 LDN 은 L 가 되고, Bi 레지스터에는 소거 위치 다항식의 계수를 프리세트한다. Bi-2 레지스터 및 QBi 레지스터는 클리어 된다. 이 예에서는 Bi 레지스터의 프리세트 값이 상기 식(56)에서 B2 = α0, B1 = α7, B0 = α7이다.The accumulation operation is performed each time the quotient Q (X) is input from the divider in FIG. In period A of FIG. 18, LDN becomes L, and the Bi register registers the coefficient of the erase position polynomial. The Bi-2 register and the QBi register are cleared. In this example, the preset value of the Bi register is B2 = α 0 , B1 = α 7 , B0 = α 7 in the above equation (56).

다음에 제18도의 B 기간에는 몫 Q(X)의 상위 계수로부터 차례로 입력한다. 즉 α13, α 의 순으로 입력되고, A 기간에 있어서 프리세트된 Bi 레지스터의 X2+ α7, X + α7과 몫 Q(X) 을 승산하여 Bi-2 레지스터의 내용 0 과 가산한다. 여기에서 제18(O)도의 도시와 같이 QBi 레지스터를 활성화하는 신호 SFTN2 가 L 이 되고, QBi 레지스터만을 동작시킨다. Bi 레지스터 및 Bi-2 레지스터의 데이타는 보존된다.Next, in the period B of FIG. 18, input is performed in order from the upper coefficient of the quotient Q (X). In other words, it is input in the order of α 13 , α, and multiplies X 2 + α 7 , X + α 7 and the quotient Q (X) of the Bi register preset in the period A, and adds it to the contents 0 of the Bi-2 register. . Here, as shown in Fig. 18 (O), the signal SFTN2 for activating the QBi register becomes L, and only the QBi register is operated. The data in the Bi register and Bi-2 register are stored.

다음의 C 기간은 LDN3이 L이 되고, 적화 연산 결과를 Bi 레지스터에 기억시키고, 다음회의 계산용으로 Bi 레지스터의 내용 1를 Bi-2 레지스터에 전송한다. 또 QBi 레지스터는 클리어된다. 이 C 기간에 있어서 1 회째의 적화 연산 결과(α13·X3+ α2·X2+ α4·X + α8)가 Bi 레지스터에 저장된다.In the next C period, LDN3 becomes L, the result of the arithmetic operation is stored in the Bi register, and the contents 1 of the Bi register are transferred to the Bi-2 register for the next calculation. The QBi register is also cleared. In this C period, the result of the first accumulation operation (α 13 · X 3 + α 2 · X 2 + α 4 · X + α 8 ) is stored in the Bi register.

다음의 D 기간은 B 기간과 동일하게 Q(X)의 상위 계수부터 입력한다. 즉 α45의 순으로 입력한다. 그리고 C 기간에 있어서 프리세트된 Bi 레지스터의 α13·X3+ α2·X2+ α4·X + α8과 Q(X)가 승산되고, Bi-2 레지스터에 저장되어 있는 X2+ α7·X + α7과 가산된다.The next D period is input from the upper coefficient of Q (X) in the same manner as the B period. That is, it inputs in order of (alpha) 4 , (alpha) 5 . And in the preset Bi register in the C period α 13 · X 3 + α 2 · X 2 + α 4 · X + α is multiplied by 8 and Q (X), X 2 +, which is stored in the Bi-2 register It is added with (alpha) 7 * X + (alpha) 7 .

E 기간은 C 기간과 동일하게 LDN3이 L 가 되고 적화 연산 결과를 Bi 레지스터에 기억시킨다. BI 레지스터에는 적화 연산의 최종 결과가 기억된다.In the E period, LDN3 becomes L similarly to the C period, and the result of the computation is stored in the Bi register. The final result of the accumulating operation is stored in the BI register.

Bi(X) = α2·X4+ α2·X3+ α12·X2+ α11·X + α5= σ(X) 가 보존된다.Bi (X) = alpha 2 x 4 + alpha 2 x 3 + alpha 12 x 2 + alpha 11 x + alpha 5 = sigma (x).

이와같이 유클리드 호제 연산이 실행된다. 그런데 유클리드의 제산에 있어서는 프리세트 값으로서 수정 신드롬의 계수가 사용된다. 또 적화 연산에 있어서는 프리세트 값으로서 소거 위치 다항식의 계수가 사용된다. 그러므로 본 실시예에 있어서는 이 점에 착안하여 회로의 공용화를 도모함으로써 회로 규모를 저감시키고 있다.In this way, the Euclidean call operation is executed. In the Euclidean division, the crystal syndrome coefficient is used as a preset value. In the computation operation, the coefficient of the erase position polynomial is used as a preset value. Therefore, in this embodiment, focusing on this point, the circuit scale is reduced by making the circuit common.

즉, 제11도의 수정 신드롬 생성/유클리드용 제산기(3)는 제13도의 제산기에 스위치(150) 내지 (157), (159)를 부가한 것으로 최초로 신드롬(S0 내지 S7)과 소거 위치 계수(ELO0 내지 ELO7)에서 수정 신드롬을 계산하고 이어서 유클리드의 호제법의 제산에 의하여 에러 수치 다항식을 생성하고 있다.That is, the crystal syndrome generator / euclidean divider 3 of FIG. 11 adds the switches 150 to 157 and 159 to the divider of FIG. The correction syndrome is calculated at (ELO0 to ELO7), and then an error numerical polynomial is generated by dividing Euclid's method.

즉, 우선 스위치(60) 내지 (67)에 의하여 신드롬을 Ri 레지스터에 로드한다. 다음에 스위치(60) 내지 (67)에 각각 승산기(159) 및 가산기(41) 내지 (47)의 출력을 선택시키고, 스위치(150) 내지 (157), (159)에 단자 b를 선택하도록 한다. 그결과 제11도의 회로는 제19도에 도시된 회로 상태를 나타낸다.That is, the syndrome is first loaded into the Ri register by the switches 60 to 67. Next, the outputs of the multipliers 159 and the adders 41 to 47 are selected at the switches 60 to 67, and the terminals b are selected to the switches 150 to 157 and 159, respectively. . As a result, the circuit of FIG. 11 represents the circuit state shown in FIG.

즉 스위치(158)를 통하여 각 승산기(159),(51) 내지 (57)에 각각 소거 위치의 데이타 ELO0 내지 ELO07 이 입력되고, 각 승산기(159), (51) 내지 (57)는 Ri 레지스터로부터의 신드롬과의 승산을 실시한다. 이 승산 결과는 가산기(41) 내지 (47)에 의하여 전단의 Ri 레지스터의 출력과 가산되어서 스위치(60) 내지 (67)를 통하여 다음 단의 Ri 레지스터에 저장되고, 이와같이 제19도의 회로 상태는 제12도의 회로와 등가인 것을 알 수 있다. 또 이 경우에는 SFTN 는 항상 L 로 한다. 소거 위치 데이타의 입력이 종료하면 Ri 레지스터에는 수정 신드롬의 계수가 보존된다.That is, data ELO0 to ELO07 at the erase position are respectively input to each of the multipliers 159 and 51 to 57 through the switch 158, and each of the multipliers 159 and 51 to 57 is obtained from the Ri register. Multiply by the syndrome. This multiplication result is added by the adders 41 to 47 to the output of the preceding Ri register and stored in the Ri register in the next stage via the switches 60 to 67. Thus, the circuit state of FIG. It can be seen that it is equivalent to the circuit of 12 degrees. In this case, SFTN is always L. When the input of the erase position data is completed, the coefficient of the correction syndrome is stored in the Ri register.

다음에 스위치(60) 내지 (67)에 레지스터(31) 내지 (38)의 출력을 선택시키고, 스위치(150) 내지 (157),(159)에 단자 a를 선택시킴으로써 수정 신드롬 계산용의 회로로부터 유클리드의 제산기용의 접속으로 한다. 이 경우에는 제20도에 도시된 접속 상태가 된다. 제20도와 제13도와의 비교에서 명확하듯이 제 20도에 도시된 접속 상태에 따라서 유클리드의 제산기가 구성된다. 또 이 경우에는 몫 Q(X)는 승산기(72)로부터 스위치(158)의 단자 a를 통하여 출력된다. 이와같이 하여 제11도의 회로에 의하여 수정 신드롬 생성 연산 및 유클리드의 제산이 실행된다.Next, the outputs of the registers 31 to 38 are selected in the switches 60 to 67, and the terminals a are selected in the switches 150 to 157 and 159, so that the correction syndrome calculation circuit is selected. The Euclidean divider is connected. In this case, the connection state shown in FIG. 20 is obtained. As apparent from the comparison between FIG. 20 and FIG. 13, Euclid's divider is constructed in accordance with the connection state shown in FIG. In this case, the quotient Q (X) is output from the multiplier 72 via the terminal a of the switch 158. In this manner, the correction syndrome generation operation and the Euclidean division are performed by the circuit of FIG.

한편, 제14도의 소거 위치 다항식 생성/유클리드용 적화 연산 회로(4)는 제16도의 적화 연산기에 스위치(161) 내지 (168)를 부가한 것으로 최초로 소거 위치 계수(ELO0 내지 ELO7)로부터 소거 위치 다항식을 생성하고, 이어서 유클리드의 호제법의 적화 연산에 의하여 에러 위치 다항식을 생성하고 있다.On the other hand, the erase position polynomial generator 4 for erasing position polynomial of FIG. 14 adds switches 161 to 168 to the accumulator of FIG. 16, and the erase position polynomial is first removed from the erase position coefficients ELO0 to ELO7. Then, the error position polynomial is generated by the arithmetic operation of Euclid's method.

즉, 신드롬 계산이 종료하면 우선 스위치(140) 내지 (148)에 각각 가산기(100) 내지 (108)의 츨력을 선택시키고, 최하위의 레지스터에만 1 를 로드시키고, 다른 레지스터에는 모두 0을 로드시킨다. 이어서 스위치(161) 내지 (168)에 단자 a를 선택시킨다. 이것으로 제14도는 제21도에 도시된 회로 접속 상태가 된다.That is, when the syndrome calculation is finished, first, the outputs of the adders 100 to 108 are selected in the switches 140 to 148, respectively, 1 is loaded only in the lowest register, and 0 is loaded in all other registers. Next, the terminals a are selected in the switches 161 to 168. As a result, FIG. 14 is in the circuit connection state shown in FIG.

그렇게 하면 승산기(90) 내지 (98)에는 소거 위치 계수 EL0 내지 EL7 이 입력되고, 가산기(100) 내지 (108)에는 승산기(90) 내지 (98)의 출력 및 전단의 레지스터(180) 내지 (187)의 출력이 입력되고, 레지스터(180) 내지 (188)에는 가산기(100) 내지 (108)의 출력이 입력되어서 제12도와 등가의 회로인 소거 위치 다항식 생성 연산용의 회로가 구성된다. 또 소거 위치 다항식의 생성 연산시에는 LDN3 은 항상 L 이다. 소거 위치 계수의 입력이 종료하면 소거 위치 다항식의 계수가 각 레지스터(180) 내지 (188)에 유지된다.The erase position coefficients EL0 to EL7 are then input to the multipliers 90 to 98, and the outputs of the multipliers 90 to 98 and the registers 180 to 187 at the front end of the adders 100 to 108. ) Is input, and the outputs of the adders 100 to 108 are input to the registers 180 to 188 to constitute a circuit for the erase position polynomial generation operation, which is a circuit equivalent to FIG. In the generation operation of the erasure position polynomial, LDN3 is always L. When the input of the erase position coefficient is finished, the coefficient of the erase position polynomial is held in each register 180 to 188.

다음에 스위치(140) 내지 (148)에 가산기 (130) 내지 (138)의 출력을 선택시키고, 스위치(161) 내지 (168)에 단자 b를 선택시킨다. 즉 이 경우에는 제22도의 굵은선으로 표시하는 회로 접속 상태가 된다. 제22도와 제16도를 비교하면 알 수 있는 바와같이 제22도의 굵은선의 접속에 의하여 유클리드의 적화 연산기가 구성된다.Next, the outputs of the adders 130 to 138 are selected to the switches 140 to 148, and the terminal b is selected to the switches 161 to 168. That is, in this case, it will be in the circuit connection state shown by the thick line of FIG. As can be seen by comparing FIG. 22 and FIG. 16, Euclid's accumulation calculator is formed by the connection of the thick line of FIG.

또 이 경우에는 승산기(90) 내지 (98)에는 소거 위치 계수 ELO0 내지 ELO7 대신 제산의 몫 Q(X)을 부여한다. 이와같이 하여 제14도의 회로에 의하여 소거 위치 다항식 생성 연산 및 유클리드의 적화 연산이 실시된다.In this case, the multipliers 90 to 98 are given the quotient quotient Q (X) instead of the erase position coefficients ELO0 to ELO7. In this manner, the circuit of FIG. 14 performs the erase position polynomial generation operation and the Euclid's accumulation operation.

이와같이 상기 제 2 양태에 의한 복호화기의 실시예에 있어서는 유클리드 호제 연산의 제산기에 스위치를 부가하는 것만으로의 간단한 구성의 수정 신드롬 생성/유클리드용 제산기(3)를 사용하고 수정 신드롬 생성 연산에 의하여 구한 수정 신드롬을 간직하는 레지스터를 이용하여 유클리드의 제산을 실행하고 있다. 또 유클리드 호제 연산의 적화 연산기에 스위치를 부가하는 것만으로의 간단한 구성의 소거 위치 다항식 생성/유클리드용 적화 연산 회로를 사용하고 소거 위치 다항식 생성 연산에 의하여 구한 소거 위치 다항식을 간직하는 레지스터를 이용하여 유클리드의 적화 연산을 실시하고 있다. 이들의 회로의 공용화에 의하여 회로 규모를 현저히 저감할 수 있고, LSI 화가 용이해진다.As described above, in the embodiment of the decoder according to the second aspect, a crystal syndrome generation / euclide divider 3 having a simple configuration by simply adding a switch to the divider of the Euclidean suppression operation is used for the crystal syndrome generation operation. Euclid's division is performed by using a register that holds the corrected syndrome. Also, by using a register for holding the erase position polynomial obtained by the erase position polynomial generation / euclid simple operation circuit by simply adding a switch to the Euclidean suppression operation calculator, the register is stored. Computation operation of is performed. By using these circuits in common, the circuit scale can be significantly reduced, and LSI formation becomes easy.

또, 제1도 및 제2도의 종래의 복호화기에서는 I/F 를 사용하여 연산 결과의 데이타를 전송하는 동시에 연산의 시간 조정을 실시하고 있는 것에 비해, 본 발명의 복호화기에서는 회로를 공용화하고 또 구한 수정 신드롬의 계수 또는 소거 위치 다항식의 계수를 간직하는 레지스터와 다음의 제산 또는 적화 연산을 실시하기 위하여 이들의 계수를 로드하는 레지스터를 공통으로 하고 있으므로 데이타의 전송이 불필요하고, 처리 속도를 향상시킬 수 있는 잇점도 있다.In the conventional decoders of FIGS. 1 and 2, the data of the operation result is transmitted using I / F and the time adjustment of the operation is performed. In the decoder of the present invention, the circuit is shared. The registers that hold the coefficients of the obtained modified syndrome or the coefficient of the erase position polynomial and the registers that load these coefficients for the next division or summation operation are common so that data transfer is unnecessary and the processing speed can be improved. There are also benefits.

또 본 발명은 상기 실시예에 한정되는 것이 아니고, 예를들어 갈루아체GF(24)상에서 패리티(parity)수를 8 인 것으로 하여 설명했으나, GF(28) 상에 있어서도 실시가 가능하고, 패리티수에 대해서는 셀수를 증가시키고, 차수 판단을 변경하는 것만으로 용이하게 대응할 수가 있다.In addition, the present invention is not limited to the above-described embodiment. For example, the number of parities on the Galloiche GF (2 4 ) was described as being 8, but the present invention can also be implemented on the GF (2 8 ). The parity number can be easily responded by simply increasing the number of cells and changing the order judgment.

이상의 설명과 같이 본 발명에 의하면 고속성을 손상하지 않고 회로 규모를 저감시킬 수 있는 효과가 있다.As described above, according to the present invention, the circuit scale can be reduced without compromising high speed.

Claims (6)

피제다항식과 제다항식과의 제산의 나머지의 차수가 소정의 조건을 만족할 때까지 상기 나머지로 상기 제다항식을 반복해서 제산하는 유클리드 호제 회로에 있어서, 상기 피제다항식과 상기 제다항식을 각각 기억하는 복수의 레지스터를 갖는 제 1 레지스터군(제5도의 2∼28; 제6도의 1∼3)및 제 2 의 레지스터군(제5도의 31∼38; 제6도의 4∼7)과; 상기 제 1 및 제 2 의 레지스터군을 사용하여 상기 피제다항식을 제다항식으로 제산한 결과의 나머지를 상기 제 1 의 레지스터군의 각 레지스터에 기억하는 귀환 수단(제5도의 51∼55,… ; 제6도의 12∼14)과; 상기 제다항식의 최대 차계수가 0이 아닐때까지 1 회의 제산 종료마다 상기 제 1의 레지스터군의 각 레지스터의 내용을 다음단의 레지스터에 시프트시키는 시프트 수단(제5도의 41∼47; 제6도의 10∼11)과; 상기 피제다항식의 계수와 제다항식의 계수를 교환하는 교환 수단(제5도의 70; 제6도의 8)을 구비한 것을 특징으로 하는 유클리드 호제 회로.A Euclidean-like circuit for dividing the polynomial by the remainder until the order of the remainder of the division between the subject and the polynomial meets a predetermined condition, the plurality of memories storing the subject and the polynomial, respectively A first register group having registers (2 to 28 in FIG. 5; 1 to 3 in FIG. 6) and a second register group (31 to 38 in FIG. 5; 4 to 7 in FIG. 6); Feedback means for storing the remainder of the result of dividing the subject polynomial by the polynomial using the first and second register groups in each register of the first register group (51 to 55 in FIG. 5; 12-14 of 6 degrees); Shifting means for shifting the contents of each register in the first register group to the next register at the end of one division until the maximum difference coefficient of the polynomial is not zero (41 to 47 in FIG. 5; 10 to 11); And an exchange means (70 in FIG. 5; 8 in FIG. 6) for exchanging the coefficient of the polynomial with the coefficient of the polynomial. 수신어로부터 신드롬을 계산하는 신드롬 계산 수단(1)과; 수신어에 동기한 소거 플래그로부터 소거 위치 데이타를 발생하는 소거 위치 생성 수단(2)과; 상기 신드롬에서 소거 위치 정보를 제외한 수정 신드롬을 생성하는 수정 신드롬 생성 수단(3)과; 상기 소거 위치 데이타로부터 소거 위치 다항식을 생성하는 소거 위치 다항식 생성 수단(4)과; 상기 수정 신드롬과 상기 소거 위치 다항식으로부터 에러 위치 다항식 및 에러 수치 다항식을 구하는 유클리드의 호제 연산 수단(3)과; 이 유클리드의 호제 연산 수단 에 의하여 구해진 에러 위치 다항식 및 에러 수치 다항식에서 에러 위치 및 에러 수치를 구하는 체인 서치 수단(6)과; 이 체인 서치 수단에 의하여 구해진 에러 위치 및 에러 수치에 따라서 상기 수신어의 에러를 정정하는 정정 실행 수단(7)을 구비하고, 상기 수정 신드롬 생성 수단 및 상기 소거 위치 다항식 생성 수단을 상기 유클리드의 호제 연산 수단과 공용하는 것을 특징으로 하는 복호화 장치.Syndrome calculation means (1) for calculating a syndrome from a received word; Erasing position generating means (2) for generating erasing position data from an erasing flag synchronized with the received word; Modified syndrome generating means (3) for generating a modified syndrome except for erase position information in the syndrome; Erasing position polynomial generating means (4) for generating an erasing position polynomial from said erasing position data; Euclid's call calculation means (3) for obtaining an error position polynomial and an error numerical polynomial from the corrected syndrome and the erase position polynomial; Chain search means (6) for obtaining an error position and an error value from an error position polynomial and an error value polynomial obtained by Euclid's call calculation means; Correction execution means (7) for correcting an error of the received word in accordance with an error position and an error value obtained by the chain search means, and the correction syndrome generating means and the erase position polynomial generating means are subjected to the Euclid's call calculation operation; A decoding device, characterized in that it is shared with the means. 제2항에 있어서, 상기 수정 신드롬 생성 수단은 상기 유클리드의 호제 연산 수단의 제산기와 공용하고, 상기 소거 위치 다항식 생성 수단은 상기 유클리드의 호제 연산의 적화 연산 회로와 공용하는 것을 특징으로 하는 복호화 장치.3. The decoding device according to claim 2, wherein the corrected syndrome generating means is shared with the divider of the Euclid's call calculation means, and the erasing position polynomial generating means is shared with the arithmetic operation circuit of the Euclid's call operation. . 제3항에 있어서, 상기 유클리드의 호제 연산 수단의 제산기는 1 회의 제산 마다에 피제다항식과 제다항식의 계수를 저장하는 레지스터의 데이타를 교환하면서 상기 제다항식의 최대차계수가 0이 아닐때까지 제산을 실행함으로써 에러 위치 다항식을 구하는 동시에 상기 피제다항식의 계수용의 레지스터를 사용하여 수정 신드롬을 생성하는 것을 특징으로 하는 복호화 장치.4. The divider of Euclid's call calculation means exchanges data of a register which stores the coefficient of the polynomial and the polynomial at each division until the maximum difference coefficient of the polynomial is not zero. Performing a division to obtain an error position polynomial, and to generate a corrected syndrome using a register for coefficients of the polynomial. 제3항에 있어서, 상기 유클리드의 호제 연산 수단의 적화 연산 회로는 승산용 레지스터를 사용하여 상기 소거 위치 다항식을 생성하는 것을 특징으로 하는 복호화 장치.4. The decoding apparatus according to claim 3, wherein the product calculating circuit of Euclid's call calculation means generates the erase position polynomial using a multiplication register. 수신어로부터 신드롬을 계산하는 신드롬 계산 수단(1)과; 수신어에 동기한 소거 플래그로부터 소거 위치 데이타를 발생하는 소거 위치 생성 수단(2)과; 제 1 레지스터(21∼28) 및 제 2 레지스터(31∼38), 제 1 가산기(11) 및 제 1 승산기(13)를 갖는 제 1 셀이 복수 접속된 제 1 셀군과; 이 제 1 셀군에 상기 신드롬 및 상기 소거 위치 데이타를 부여하고, 상기 제 1 레지스터, 제 1 가산기 및 제 1 승산기를 사용하여 상기 신드롬으로부터 소거 위치 정보를 제외한 수정 신드롬을 생성하여 상기 제 1 레지스터에 저장하는 수정 신드롬 생성 수단(3)과; 상기 제 1 및 제 2 레지스터, 제 1 가산기 및 제 1 승산기를 사용하여 상기 제 1 레지스터에 저장된 수정 신드롬과 상기 소거 위치 다항식으로부터 에러 수치 다항식을 구하는 유클리드의 제산 수단(3)과; 제 3(80∼88), 제 4(110∼118) 및 제 5 레지스터(120∼128), 제 2 가산기(100∼108) 및 제 2 승산기(90∼98)를 갖는 제 2셀이 복수 접속된 제 2 셀군과; 상기 제 2 의 셀군에 상기 소거 위치 데이타를 부여하고, 상기 제 3 의 레지스터, 제 2 의 가산기 및 제 2 의 승산기를 사용하여 소거 위치 다항식을 생성하여 상기 제 3 의 레지스터에 저장하는 소거 위치 다항식 생성 수단(4)과; 상기 유클리드의 제산 수단의 몫이 부여되고, 상기 제 3, 제 4 및 제 5 의 레지스터와 제 2 의 가산기 및 제 2 의 승산기를 사용하여 상기 제 3 의 레지스터에 저장된 소거 위치 다항식과 상기 몫으로부터 에러 위치 다항식을 구하는 유클리드의 적화 연산 수단(4)과; 상기 유클리드의 제산 수단 및 적화 연산 수단에 의하여 각각 구해진 에러 수치 다항식 및 에러 위치 다항식에서 에러 위치 및 에러 수치를 구하는 체인 서치 수단(6)과; 이 체인 서치 수단에 의하여 구한 에러 위치 및 에러 수치에 따라서 상기 수신어의 에러를 정정하는 정정 실행 수단(7)을 구비하는 것을 특징으로 하는 복호화 장치.Syndrome calculation means (1) for calculating a syndrome from a received word; Erasing position generating means (2) for generating erasing position data from an erasing flag synchronized with the received word; A first cell group in which a plurality of first cells having first registers 21 to 28 and second registers 31 to 38, first adder 11, and first multiplier 13 are connected; The syndrome and the erase position data are given to the first cell group, and a modified syndrome except the erase position information is generated from the syndrome using the first register, the first adder, and the first multiplier, and stored in the first register. Modified syndrome generating means (3); Euclid's dividing means (3) for obtaining an error numerical polynomial from the corrected syndrome stored in the first register and the erase position polynomial using the first and second registers, the first adder and the first multiplier; A plurality of second cells having third (80 to 88), fourth (110 to 118) and fifth registers (120 to 128), second adders (100 to 108), and second multipliers (90 to 98) are connected. A second cell group; Generating an erase position polynomial by applying the erase position data to the second cell group, and generating and storing an erase position polynomial using the third register, the second adder, and the second multiplier. Means (4); An error from the quotient and the erase position polynomial stored in the third register using the third, fourth and fifth registers, the second adder and the second multiplier Euclid's integration computation means (4) for obtaining a position polynomial; Chain search means (6) for obtaining an error position and an error value from an error value polynomial and an error position polynomial respectively obtained by the Euclidean dividing means and the product calculating means; And correction execution means (7) for correcting an error of the received word in accordance with an error position and an error value obtained by the chain search means.
KR1019940006312A 1993-03-31 1994-03-29 Decoder KR0167390B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP93-074652 1993-03-31
JP07465293A JP3230888B2 (en) 1993-03-31 1993-03-31 Euclidean circuit
JP5196459A JPH0749100A (en) 1993-08-06 1993-08-06 Transmission case in blower
JP93-196459 1993-08-06
JP93-196469 1993-08-06

Publications (2)

Publication Number Publication Date
KR940023050A KR940023050A (en) 1994-10-22
KR0167390B1 true KR0167390B1 (en) 1999-03-20

Family

ID=26415826

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940006312A KR0167390B1 (en) 1993-03-31 1994-03-29 Decoder

Country Status (1)

Country Link
KR (1) KR0167390B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425083B1 (en) * 1996-12-31 2004-06-16 엘지전자 주식회사 Error correction code circuit for different kinds of optical disks

Also Published As

Publication number Publication date
KR940023050A (en) 1994-10-22

Similar Documents

Publication Publication Date Title
EP0620654B1 (en) Circuit for performing the Euclidian algorithm in decoding of arithmetical codes
US4873688A (en) High-speed real-time Reed-Solomon decoder
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
US4649541A (en) Reed-Solomon decoder
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
US5535225A (en) Time domain algebraic encoder/decoder
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
JPH1093445A (en) Error position detecting polynominal calculator
US9337869B2 (en) Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same
US6263471B1 (en) Method and apparatus for decoding an error correction code
US20080155381A1 (en) Low Area Architecture in BCH Decoder
JP2694792B2 (en) Error position polynomial arithmetic circuit
US20030131308A1 (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
JPH11136136A (en) Reed solomon coding device and method
US6871315B2 (en) Decoding circuit and decoding method thereof
KR0167390B1 (en) Decoder
JP3239522B2 (en) Data loss correction method and circuit
EP0806839A1 (en) Device and method for error correcting coding, and device and method for error correcting decoding
JP3614978B2 (en) Galois field division method and division apparatus
KR101636406B1 (en) Preprocessing apparatus and method for low latency of syndrome calculation in bch decoder
JPH0476540B2 (en)
JP3233502B2 (en) Decryption device
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
JP3230888B2 (en) Euclidean circuit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080813

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee