KR920010184B1 - Circuit for calculating finite fields - Google Patents

Circuit for calculating finite fields Download PDF

Info

Publication number
KR920010184B1
KR920010184B1 KR1019850700212A KR850700212A KR920010184B1 KR 920010184 B1 KR920010184 B1 KR 920010184B1 KR 1019850700212 A KR1019850700212 A KR 1019850700212A KR 850700212 A KR850700212 A KR 850700212A KR 920010184 B1 KR920010184 B1 KR 920010184B1
Authority
KR
South Korea
Prior art keywords
circuit
data
aerator
bit
path
Prior art date
Application number
KR1019850700212A
Other languages
Korean (ko)
Other versions
KR850700170A (en
Inventor
가쓰야 호리
쓰네오 후루야
Original Assignee
쏘니 가부시기가이샤
오오가 노리오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쏘니 가부시기가이샤, 오오가 노리오 filed Critical 쏘니 가부시기가이샤
Priority claimed from PCT/JP1985/000017 external-priority patent/WO1985003371A1/en
Publication of KR850700170A publication Critical patent/KR850700170A/en
Application granted granted Critical
Publication of KR920010184B1 publication Critical patent/KR920010184B1/en

Links

Images

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/033Theoretical methods to calculate these checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • G11B27/3063Subcodes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

내용 없음.No content.

Description

[발명의 명칭][Name of invention]

유한체(有限體)의 연산회로Finite Field Computation Circuit

[도면의 간단한 설명][Brief Description of Drawings]

제1도 본원 발명의 일실시예의 블록도.1 is a block diagram of one embodiment of the present invention.

제2도 및 제3도는 이 일실시예의 곱셈동작의 설명을 위한 플로우차아트 및 약선도.2 and 3 are flowcharts and schematic diagrams for explaining the multiplication operation of this embodiment.

제4도 및 제5도는 이 일실시예의 나눗셈동작의 설명을 위한 플로우차아트 및 약선도.4 and 5 are flowcharts and schematic diagrams for explaining the division operation of this embodiment.

제6도는 본원 발명의 다른 실시예의 블록도.6 is a block diagram of another embodiment of the present invention.

제7도 및 제8도는 다른 실시예의 테이블의 설명을 위한 약선도.7 and 8 are schematic diagrams for explaining a table of another embodiment.

제9도는 다른 실시예의 곱셈동작의 설명을 위한 플로우차아트.9 is a flowchart for explaining the multiplication operation of another embodiment.

제10도는 다른 실시예의 나눗셈동작의 설명을 위한 플로우차아트.10 is a flowchart art for explaining a division operation of another embodiment.

제11도는 본원 발명을 적용할 수 있는 디지탈오디오디스크의 재생회로의 블록도.11 is a block diagram of a reproduction circuit of a digital audio disc to which the present invention can be applied.

제12도는 디지탈오디오디스크의 재생데이터의 설명을 위한 약선도.12 is a schematic diagram for explaining the reproduction data of a digital audio disc.

제13도 및 제14도는 에러정정회로의 설명을 위한 타임차아트 및 블록도.13 and 14 are time difference art and block diagrams for explaining the error correction circuit.

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

1 : 기억부 2 : 애큠레이터 및 연산부1: Memory 2: Aerator and Compute

3 : 제어부 10 : 애큠레이터3: control unit 10: aerator

11 : (mod.2)의 가산기 21 : ROM11: adder of (mod.2) 21: rom

22 : RAM 23 : CPU22: RAM 23: CPU

24,25,26 : 메모리영역 28 : 인덱스레지스터24,25,26: Memory area 28: Index register

29 : 연산부 50 : 버퍼메모리29: calculator 50: buffer memory

51 : 에러정정회로51: error correction circuit

[발명의 상세한 설명]Detailed description of the invention

본원 발명은 에러정정부호의 부호기(符號器), 복호기(復號器)에 적용되는 유한체의 연산회로에 관한 것이다.The present invention relates to a finite field calculation circuit applied to an encoder of an error correcting code and a decoder.

[기술배경][Technology Background]

디지탈비데오신호, 디지탈오디오신호 등을 기록 재생할 때에, 에러정정부호로서, 인접부호(隣接符號), 리이드솔로몬부호 등이 실용화되어 있다. 이들 에러정정부호의 부호기에서는, 패리티데이터(용장(冗長)데이터)의 발생이 이루어지고, 복호기에서는 패리티데이터를 포함하는 수신어에서 신드로움을 발생하며, 이 신드로움을 사용하여 에러정정이 이루어진다. 이 패리티발생회로, 신드로움발생회로 및 에러정정회로의 하아드웨어로서, 유한체의 연산회로가 사용된다. 유한체란, 차수(次數)m의 원시(原始) 다항식 P(x)로 인도된 pm 개의 원(元)을 갖는 체(體)이며, 에러정정부호에 대해서는 (P=2)의 경우가 중요하며, 따라서 본원 발명은, (P=2)의 유한체에 적용된다.When recording and reproducing a digital video signal, a digital audio signal, or the like, adjacent codes, lead solomon codes, and the like have been put into practical use as error correcting codes. In the encoders of these error correcting codes, parity data (redundant data) is generated, and in the decoder, a credibility is generated from a destination word including parity data, and error correction is performed using this credibility. As hardware of this parity generation circuit, syndrome generation circuit, and error correction circuit, a finite field calculation circuit is used. A finite sieve is a sieve with pm circles guided by a primitive polynomial P (x) of order m, and (P = 2) is important for error correcting codes. Therefore, this invention is applied to the finite body of (P = 2).

부호기 및 복호기에 사용되는 유한체의 연산회로로서, 유한체상의 임의의 원 αi에 α의 벽승을 곱하는 것이 사용된다. 이 곱셈을 위해 αi를 ROM에 입력하여, 치수i를 얻도록 하고 있었다. 이 때문에 ROM을 필요로 하며, 회로 규모가 커진다는 결점이 있었다. 또, 차수 m의 경우에, 지수에 관해서 mod.(2m-1)의 판단이 필요해져, 이 판단이 2의 벽승이 아니기 때문에 번잡하게 된다고 하는 결점이 있다.As a finite field arithmetic circuit used for an encoder and a decoder, multiplying any circle α i on a finite field by the wall square of α is used. For this multiplication, α i was input into the ROM to obtain the dimension i. For this reason, ROM is required and the circuit size becomes large. Moreover, in the case of order m, the judgment of mod. ( 2m- 1) is required with respect to the exponent, and there is a drawback that it is complicated because the judgment is not a power of two.

디지탈오디오디스크(콤팩트 디스트라고 불리움)의 메인채널의 에러정정부호로서 리이드솔로몬부호가 사용되고 있으며, 그 복호회로는 TTL 회로를 사용한 하아드웨어방식의 구성으로 되어 있다. 근래, 마이크로프로세서의 동작속도의 향상 및 기억용량의 증대가 현저하며, 통상 사용되는 마이크로프로세서에 의해 에러정정회로를 구성할 수 있다면, 새로 LSI을 설계할 필요가 없어져서 원가 절감을 도모할 수 있다. 특히 상술한 디지탈오디오디스크의 서브코우팅신호는 메인채널에 비해 데이터레이트가 낮고, 또 디지탈오디오디스크를 이용하여 비데오데이터 등의 디지탈데이터를 기록할 때에는 재생데이터의 일시적인 버어링이 가능하며, 이들 경우에는 에러정정부호의 복호기를 통상 사용하는 마이크로프로세서에 의해 실현할 수 있다.The lead solomon code is used as an error correcting code for the main channel of a digital audio disc (called compact disc), and the decoding circuit has a hardware configuration using a TTL circuit. In recent years, the operation speed of the microprocessor and the increase of the storage capacity are remarkable, and if the error correction circuit can be configured by the microprocessor which is usually used, there is no need to design a new LSI, thereby reducing the cost. In particular, the sub-coating signal of the above-mentioned digital audio disc has a lower data rate than the main channel, and when recording digital data such as video data using the digital audio disc, temporary burring of the reproduction data is possible. This can be realized by a microprocessor which normally uses a decoder of error correction code.

따라서, 본원 발원 발명의 목적은 ROM, 레지스터 등의 메머리의 필요량이 감소되며, 회로규모가 작아진 유한체의 연산회로를 제공하는데 있다.Accordingly, it is an object of the present invention to provide a finite body of arithmetic circuit with a reduced amount of memory, such as a ROM, a register, and the like.

본원 발명의 다른 목적은 메모리의 필요수를 감소시킴으로써 스텝수가 감소하며, 연산처리의 고속화를 도모하도록 한 유한체의 연산회로를 제공하는데 있다.Another object of the present invention is to provide a finite field circuit for reducing the number of steps by reducing the required number of memories and for speeding up the processing.

본원 발명의 또다른 목적은 프로그램스토어방식에 의해 유한체상의 임의의 2개원(元)의 곱셈 또는 나눗셈을 할 수 있는 유한체의 연산회로의 제공을 목적으로 하는 것이다.It is another object of the present invention to provide a finite field computation circuit capable of multiplying or dividing arbitrary two circles on a finite field by a program store method.

본원 발명의 또 다른 목적은 에러정정부호의 부호기 및 복호기에 적합한 유한체의 연산회로를 제공하는 데 있다.Another object of the present invention is to provide a finite field calculation circuit suitable for an encoder and an decoder of an error correcting code.

[발명의 개시][Initiation of invention]

본원 발명은 유한체상의 임의의 원αi와 α(단, α는 유한체의 원시다항식의 근)과의 곱셈 또는 나눗셈을 하도록 한 유한체의 연산회로에 있어서, 임의의 원αi에 저장하는 애큐레이터와, 애큠레이터의 내용 및 원시다항식의 벡터 표현된 것을(mod.2)의 가산(加算)을 하는 가산기와, 애큠레이터의 비트프트 및 가산기의 동작을 프로그램 제어하는 제어부를 구비한 유한체의 연산회로이다.The present invention according to a predetermined circle on the finite field α i and α of a finite field for the multiplication or division of the (where, α is a root of the primitive polynomial of the finite field) operation circuit, for storing a predetermined circle α i A finite body having an accumulator, an adder for adding the contents of the aerator and the vector representation of the primitive polynomial (mod. 2), and a control unit for program controlling the operation of the abiter's bit shift and adder. Is the operation circuit of.

본원 발명은 유한체상의 2개의 원 αi및 αj(단, α는 유한체의 원시다항식의 근)의 곱셈 또는 나눗셈을 하도록 한 유한체의 연산회로에 있어서, 유한체의 원에서 그 지수를 발생하기 위한 제1의 테이블과, 지수에서 유한체의 원을 발생하기 위한 제2의 테이블과, 지수의 가감산을 하는 2진연산기와, 제1 및 제2의 테이블에 의해 이루어지는 데이터변환 및 2진연산기의 동작을 프로그램 제어하는 제어부를 구비한 유한체의 연산회로이다.In the present invention, in the finite field computation circuit for multiplication or division of two circles α i and α j (where α is the root of the finite polynomial), A first table for generating, a second table for generating a finite circle in the exponent, a binary operator for adding and subtracting the exponent, a data conversion consisting of the first and second tables, and 2 It is a finite field computation circuit having a control unit for program control of the operation of the true operand.

[발명을 실시하기 위한 최선의 형태]Best Mode for Carrying Out the Invention

제1도에 의거하여 본원 발명의 일실시예에 대해 설명한다. 제1도에 있어서, (1)이 기억부, (2)가애큠레이터 및 연산부를 나타내며, (3)이 제어부를 나타낸다. 이 예는 원시다항식으로서, GF(26)상의 (P(x)=x7+x+1)을 사용한 것이다. 이때 각원은 a5x5+a4x4+a3x3+a1x+a0로 표시되며, 이 원에 α를 곱하면 a5x6+a4x5+a3x4+a2x3+a1x2+a0x이다.(a5=0)일 때에는 a4x5+a3x4+a2x3+a1x2+a0x(a5=1)일 때 x6=x+1이므로, a4x5+a3x4+a2x3+a1x2+(a0+1)x+1로 된다. 백터표현에 의하면, (a0=0)일 때에는 (a4, a3, a2, a1, a0, 0) (a5=1)일 때에는 (a4, a3, a2, a1, a0+1,1)로 된다. 기억부(1)의 레지스터(4)에는 원시다항식(P(x)의 백터표현된 것에, 다시 상위(上位)에 0이 부가된(01000011)이 저장되어 있다.An embodiment of the present invention will be described with reference to FIG. In FIG. 1, (1) shows a storage part, (2) an aerator and a calculation part, and (3) shows a control part. This example uses (P (x) = x 7 + x + 1) on GF (2 6 ) as a primitive polynomial. Each circle is represented by a 5 x 5 + a 4 x 4 + a 3 x 3 + a 1 x + a 0 , and multiplying this circle by α gives a 5 x 6 + a 4 x 5 + a 3 x 4 + a 2 x 3 + a 1 x 2 + a 0 x (a 5 = 0), then a 4 x 5 + a 3 x 4 + a 2 x 3 + a 1 x 2 + a 0 x (a 5 = Since x 6 = x + 1 when 1), a 4 x 5 + a 3 x 4 + a 2 x 3 + a 1 x 2 + (a 0 +1) x + 1. According to the vector representation, when (a 0 = 0) (a 4 , a 3 , a 2 , a 1 , a 0 , 0) when (a 5 = 1) (a 4 , a 3 , a 2 , a 1 , a 0 +1,1). In the register 4 of the storage unit 1, the vector representation of the primitive polynomial P (x) is stored, and 0 is added to the upper level (01000011).

기억부(1)에는 프로그램 ROM(5)과 RAM(6)과 판정회로(7)가 설치되어 있다. 프로그램 ROM(5)에는, 판정회로(7)의 판정출력이 공급되는 어드레스 발생부(도시생략)로부터의 어드레스가 공급되며, 프로그램 ROM(5)에서 명령이 소정의 순서로 발생한다. 이 명령이 제어부(3)에 공급되어, 제어부(3)에서 패스(8), 패스(9), 애큠레이터 및 연산부(2)의 각각을 제어하는 콘트롤신호가 발생한다.The storage unit 1 is provided with a program ROM 5, a RAM 6, and a determination circuit 7. The program ROM 5 is supplied with an address from an address generator (not shown) to which the determination output of the determination circuit 7 is supplied, and instructions are generated in the program ROM 5 in a predetermined order. This command is supplied to the control unit 3 to generate a control signal for controlling each of the path 8, the path 9, the aerator and the calculation unit 2 in the control unit 3.

애큠레이터 및 연산부(2)는, 애큠레이터(10)와 애큠레이터(10)의 내용 및 패스(8)를 통한 레지스터(4)의 내용인(mod.2)의 가산을 하고, 가산출력을 애큠레이터(10)에 공급하는 가산기(11)를 가지고 있다. 애큠레이터(10)는 제어부(3)로부터의 콘트롤신호에 의해 1비트 좌(左)시프트 또는 1비트 우(右)시프트의 동작을 하며, 이 시프트동작시에 끝부분의 비트가 레지스터(12)의 출력에 의해 0으로 된다. 애큠레이터(10)에는 패스(9)를 통해 RAM(6)으로부터의 데이터가 세트되는 동시에, 연산출력이 패스(9)를 통해 RAM(6)에 공급된다.The attenuator and arithmetic unit 2 adds the contents of the aerator 10 and the aerator 10 and the mod. 2 which is the contents of the register 4 through the path 8, and amplifies the addition output. It has the adder 11 supplied to the radar 10. The attenuator 10 performs one-bit left shift or one-bit right shift operation in response to a control signal from the control unit 3, and at the time of this shift operation, the bit at the end portion of the register 12 is moved. The output is 0. The attenuator 10 is set with data from the RAM 6 via a pass 9, and arithmetic output is supplied to the RAM 6 via a pass 9.

상술한 본원 발명의 일실시예에 있어서, GF(26)상의 임의의 원αi와 α와의 곱셈을 할 때의 동작을 제2도 및 제3도에 의거하여 설명한다.In the above-described embodiment of the present invention, the operation of multiplying arbitrary circles α i and α on GF 2 6 will be described based on FIG. 2 and FIG. 3.

최초로, RAM(6)에서 αi의 벡터표현의 6비트가 독출되며, 패스(9)를 통해 애큠레이터(10)에 격납된다. 애큠레이터(10)의 8비트를 비트 0에서 비트 7까지라고 하면, 제3도에 나타낸 것처럼 비트 0에서 비트 5가지에 αi의 벡터표현의 6비트(a5, a4, a3, a2, a1, a0)가 격납된다.Initially, 6 bits of the vector representation of α i are read out from the RAM 6 and stored in the aerator 10 via a path 9. If 8 bits of the attenuator 10 are referred to as bit 0 to bit 7, as shown in Fig. 3, the six bits of the vector representation of α i from bit 0 to bit 5 (a 5 , a 4 , a 3 , a) 2 , a 1 , a 0 ) are stored.

다음의 스텝으로서 애큠레이터(10)가 좌측으로 1비트 시프트된다. 제3b도는 좌측으로 1비트 시프트된 상태를 나타낸다. 그리고, 판정회로(7)에 의해 애큠레이터(10)의 비트 6즉, a5가 0인가 아닌가가 조사된다. (a5=0)일 때에는 애큠레이터(10)의 비트0에서 비트5까지의 6비트(a4, a3, a2, a1, a0, 0)가 (αi×α)의 곱셈출력으로 되며, 패스(9)를 통해 애큠레이터(10)에서 RAM(6)가 출력된다.As a next step, the agitator 10 is shifted 1 bit to the left. 3B shows a state shifted 1 bit to the left. Then, the bit 6 of aekyum concentrator 10 by the decision circuit 7, i.e., a 5 that is irradiated is to whether the zero. When (a 5 = 0), the six bits (a 4 , a 3 , a 2 , a 1 , a 0 , 0) from bits 0 to 5 of the attenuator 10 are multiplied by (α i × α). It becomes an output, and the RAM 6 is output from the aerator 10 through the path 9.

(a5=1)일 때에는 애큠레이터(10)의 내용(제3b도)와 기억부(1)의 레지스터(4)의 내용(제3c도)이 (mod.2)의 가산기(11)에 의해 가산된다. 이 가산출력의 비트 0에서 비트 5까지의 6비트는(a4, a3, a2, a1, a0, 1+1)로 되며 이 가산출력이 (αi×α)의 곱셈출력으로 되고, 패스(9)를 통해 애큠레이터(10)에서 RAM(6)에 출력된다.When (a 5 = 1), the contents of the aerator 10 (FIG. 3B) and the contents of the register 4 of the storage unit 1 (FIG. 3C) are added to the adder 11 of (mod. 2). It is added by. The six bits from bit 0 to bit 5 of this sum output become (a 4 , a 3 , a 2 , a 1 , a 0 , 1 + 1) and this sum output is a multiplication output of (α i × α). The path 9 is output from the aerator 10 to the RAM 6.

원시다항식(P(x)=x6+x+1)의 근을 α로 할 때의 백터표현은 구체적으로는 다음에 나타낸 것으로 된다. 단 간소화를 위해(α°~α12)를 나타낸다.Expression vector at the time of a muscle α to the primitive polynomial (P (x) = x 6 + x + 1) will be specifically shown below. However, for the sake of simplicity, (α ° to α 12 ) are shown.

α0=(000001)α 0 = (000001)

α1=(000010)α 1 = (000010)

α2=(000100)α 2 = (000100)

α3=(001000)α 3 = (001000)

α4=(010000)α 4 = (010000)

α5=(100000)α 5 = (100000)

α6=(000011)α 6 = (000011)

α7=(000110)α 7 = (000110)

α8=(001100)α 8 = (001100)

α9=(011001)α 9 = (011001)

α10=(110001)α 10 = (110001)

α11=(100011)α 11 = (100011)

α12=(000101)α 12 = (000101)

일례로서, (α11×α)의 곱셈에 본원 발명을 적용하면(a5=1)이므로 가산동작이 행해져(000101)즉 α12의 곱셈출력을 얻을 수 있다.As an example, when the present invention is applied to the multiplication of (α 11 × α) (a 5 = 1), the addition operation is performed (000101), that is, the multiplication output of α 12 can be obtained.

또 이 실시예는(αi+α)의 나눗셈을 할 수 있다. 제4도는 나눗셈 동작시의 플로우차아트를 나타낸다. 최초로 RAM(6)에서 패스(9)를 통해 αi의 백터표현된 6비트(a5~a0)가 제5a도에 나타낸 것처럼 애큠레이터(10)의 비트0에서 비트5까지에 격납된다. 다음에 비트 0즉 a0가 0인가 아닌가 판정회로(7)에 의해 조사된다. (a0=0)일 때에는 애큠레이터(10)가 1비트 우측으로 시프트되며, 제5b도의 상태로 된다. 그리고 애큠레이터(10)의 비트 0에서 비트 5까지가 나눗셈출력으로서 패스(9)를 통해 RAM(6)에 공급되어, RAM(6)에 격납된다.In this embodiment, (α i + α) can be divided. 4 shows a flowchart art in the division operation. Initially, the vectored six bits (a 5 to a 0 ) of α i through the path 9 in the RAM 6 are stored in bits 0 to 5 of the aerator 10 as shown in FIG. 5A. Next, the judgment circuit 7 checks whether the bit 0, i.e., a 0 is zero. When (a 0 = 0), the attenuator 10 is shifted to the right by one bit, and the state of Fig. 5b is reached. Then, bits 0 to 5 of the attenuator 10 are supplied to the RAM 6 as a division output through the path 9 and stored in the RAM 6.

(a0=1)일 때에는 제5a도에 나타낸 애큠레이터(10)의 내용과 패스(8)를 통한 제5c도에 나타낸 레지스터(4)의 내용이 (mod.2)의 가산기(11)에 의해 가산된다. 이 가산출력이 1비트 우측으로 시프트되며, 애큠레이터(10)의 비트 0에서 비트5까지 나눗셈출력으로서 패스(9)를 통해 RAM(6)에 공급되어 RAM(6)에 격납된다.When (a 0 = 1), the contents of the aerator 10 shown in FIG. 5A and the contents of the register 4 shown in FIG. 5C through the path 8 are added to the adder 11 of (mod. 2). It is added by. This addition output is shifted right by one bit and supplied to the RAM 6 through the path 9 as a division output from bit 0 to bit 5 of the attenuator 10 and stored in the RAM 6.

구체적인 예로서, (α6+α)의 나눗셈을 할 경우(α6=000011)이 애큠레이터(10)에 격납되며, (a0=1) 때문에 가산동작이 행해진다. 가산 출력이 격납된 애큠레이터(10)의 내용은(01000000)으로 되며, 1비트 우측으로 시프트된 다음의 비트 0에서 비트5까지의 내용(100000=α5)이 나눗셈출력으로 된다.As a specific example, in the division of (α 6 + α) (α 6 = 000011) is stored in the aerator 10, and the addition operation is performed because of (a 0 = 1). The content of the attenuator 10 in which the addition output is stored is (01000000), and the content (100000 = alpha 5 ) from bit 0 to bit 5 after being shifted right by one bit becomes a division output.

또한, (αi×αn)의 곱셈 또는 (α+iαn)의 나눗셈은 상술한 연산 행정을 n회 반복하면 된다.The multiplication of (α i × α n ) or the division of (α + i α n ) may be repeated n times of the above-described calculation steps.

제6도는 본원 발명의 다른 실시예를 나타낸다. 이 밖의 실시예는 유한체상의 임의의 2개의 원αi및 αj의 곱셈 또는 나눗셈을 하기 위한 연산회로에 본원 발명을 적용한 것이다.6 shows another embodiment of the present invention. Another embodiment applies the present invention to an arithmetic circuit for multiplying or dividing any two circles α i and α j on a finite field.

제6도에 있어서(21)이 ROM, (22)가 RAM, (23)이 CPU를 각기 나타낸다. RAM(21)은 프로그램의 명령이 기입된 메모리영역(24)과, 데이터변환용인 제1의 테이블이 기입된 메모리영역(25)과, 제2테이블이 기입된 메모리영역(26)을 가지고 있다. 원시다항식이 예를 들어 GF(26)상의 (P(x)=x6+x+1)일 경우에는 원시다항식의 근을 α라고 하면, α0에서 α62까지와 제로원의 64개의 원이 존재한다.In Fig. 6, 21 represents a ROM, 22 represents a RAM, and 23 represents a CPU. The RAM 21 has a memory area 24 in which a program command is written, a memory area 25 in which a first table for data conversion is written, and a memory area 26 in which a second table is written. If the primitive polynomial is (P (x) = x 6 + x + 1) on GF (2 6 ), for example, the root of the primitive polynomial is α, and α 0 to α 62 and 64 circles of zero circle exist.

ROM(21)의 메모리영역(25)의 테이블은 제7도에 나타낸 것처럼, n~n(+63)의 어드레스를 가지며, 벡터표현된 GF(26)상의 원 αi가 이 어드레스로서 공급되며, 그 지수 i를 데이터로서 출력하는 것이다. αi의 백터표현을(α0=00000001)에서 1식 증가하는 순번으로 고치면, (α162....α595758)로 된다. ROM(21)으로서 8비트 단위의 것을 사용하고 있으므로, 테이블중의 데이터는 8비트로 되며, 각각의 상위의 2비트가 모두 0으로 되어 있으며, 3i의 벡터표현도 6비트의 상위에 0이 2비트 부가된 8비트로 된다. 도 αi가 0으로 되는 제로원과 대응하는 어드레스 n에는 데이터가 기입되어 있지 않다.The table of the memory area 25 of the ROM 21 has an address of n to n (+63), as shown in FIG. 7, and the circle α i on the vector-expressed GF 2 6 is supplied as this address. The index i is output as data. When the vector expression of α i is corrected in the order of increasing by one expression from (α 0 = 00000001), it becomes (α 1 , α 6 , α 2 .... α 59 , α 57 , α 58 ). Since the ROM 21 uses an 8-bit unit, the data in the table is 8 bits, and the upper 2 bits of each are all 0, and the vector representation of 3 i is 0 in the upper 6 bits. 8 bits are added. No data is written in the address n corresponding to the zero source in which alpha i is zero.

ROM(21)의 메모리영역(26)의 테이블은 제8도에 나타낸 것처럼, m~(m+63)의 어드레스를 가지며, 0~62의 지수 i가 이 어드레스로서 공급되며, αi를 데이터로서 출력하는 것이다. 이 데이터는 ii의 벡터표현으로 6비트의 상위에 2비트가 부가된 것이다. 어드레스(m+63)은 (α630)으로 되므로, 이 어드레스는 실제로는 사용되지 않는다.The table of the memory area 26 of the ROM 21 has an address of m to (m + 63), as shown in FIG. 8, an index i of 0 to 62 is supplied as this address, and α i as data. To print. This data is a vector representation of i i , with two bits added to the top of six bits. Since the address m + 63 becomes (α 63 = α 0 ), this address is not actually used.

CPU(23)에는 제어부(27)와 인데스레지스터(28)와 애큠레이터를 포함하는 연산부(29)가 설치되어 있다. 인덱스레지스터(28)는 패스(30)를 통해 RAM(22)과 결합되며, 연산부(29)는 패스(32)를 통해 RAM(22)과 결합되어 있다.The CPU 23 is provided with an operation unit 29 including a control unit 27, an indes register 28, and an aerator. The index register 28 is coupled to the RAM 22 through a path 30, and the calculation unit 29 is coupled to the RAM 22 through a path 32.

인덱스레지스터(28)의 내용은 패스(31)를 통해 ROM(21)의 메모리 영역(25) 및 메모리영역(26)에 대한 어드레스로 되는 동시에, 패스(34)를 통해 연산부(29)에 공급된다. ROM(21)의 메모리영역(25) 및 메모리영역(26)에서 출력되는 데이터는 패스(33)를 통해 연산부(29)에 공급된다. 제어부(27)는 ROM(21)의 메모리영역(24)에서 독출된 명령을 받아, 인덱스레지스터(28), 연산부(29) 및 패스(30),(31),(32),(33),(34)를 제어하는 콘트롤신호를 발생한다. 메모리영역(24)에는 도시를 생략했지만, 어드레스카운터의 출력이 공급된다.The contents of the index register 28 become addresses for the memory area 25 and the memory area 26 of the ROM 21 via the path 31 and are supplied to the calculation unit 29 through the path 34. . The data output from the memory area 25 and the memory area 26 of the ROM 21 is supplied to the calculation unit 29 through the path 33. The control unit 27 receives a command read from the memory area 24 of the ROM 21 and receives the index register 28, the calculation unit 29, and the paths 30, 31, 32, 33, Generate a control signal to control 34. Although not shown, the output of the address counter is supplied to the memory area 24.

상술한 본원 발명의 다른 실시예에 있어서 GF(26)상의 임의의 2개의 원 αi및 αj의 곱셈(αi×αj)를 할 때의 동작에 대해 설명한다.In another embodiment of the present invention described above, an operation when multiplying (α i × α j ) of any two circles α i and α j on the GF 2 6 will be described.

제9도에서는 인덱스레지스타(28)를 Ir로서 나타내며, 연산부(29)의 애큠레이터를 ACC로 나타내고 있다.In FIG. 9, the index register 28 is shown as Ir, and the aerator of the calculating part 29 is shown as ACC.

최초로, RAM(22)에서 αi의 벡터표현된 데이터를 인덱스레지스터(28)에 패스(30)를 통해 전송된다. 이 인데스레지스터(28)에 격납된 αi가 제로원인가 아닌가가 조사된다. 제로원일 때에는 곱셈출력은 당연히 제로이므로 패스(34)를 통해 제로원을 연산부(29)의 에큠레이터에 전송하여 연상동작이 종료한다.Initially, the vectorized data of α i in the RAM 22 is transferred to the index register 28 via the pass 30. It is checked whether alpha i stored in this indes register 28 is a zero source. Since the multiplication output is naturally zero when it is zero, the associative operation is terminated by transmitting the zero source to the emulator of the calculating unit 29 through the pass 34.

αi가 제로원이 아닐 때에는 인덱스레지스터(28)의 내용에 n이 가산된 것이 피스(31)를 통해 ROM(21)에 어드레스로서 공급되며, 메모리영역(25)의 테이블에 의해 ROM(21)에서 지수 i가 액세스되고, 패스(33)를 통해 지수 i가 연산부(29)의 애큠레이터에 격납된다.When α i is not zero one, n added to the contents of the index register 28 is supplied as an address to the ROM 21 through the piece 31, and is stored in the ROM 21 by a table in the memory area 25. The index i is accessed and the index i is stored in the aerator of the calculating part 29 via the path 33.

다음에 RAM(22)에서 αi가 독출되며, 패스(30)를 통해 인덱스레지스터(28)에 격납되고, 이 αj가 제로원인가 아닌가가 조사된다. αj가 제로원일 때에는 곱셈출력은 당연히 제로로되므로, 제로원이 패스(34)를 통해 연산부(29)의 애큠레이터에 격납되어 곱셈동작이 종료된다.Next, α i is read from the RAM 22, stored in the index register 28 through the path 30, and it is checked whether or not this α j is a zero source. When? j is a zero source, the multiplication output is naturally zero, so the zero source is stored in the aerator of the calculating unit 29 via the pass 34 and the multiplication operation is completed.

αj가 제로원이 아닐때에는 인덱스레지스터(28)의 내용에 n이 가산된 것이 패스(31)를 통해 ROM(21)에 어드레스로서 공급되며, 메모리영역(25)의 테이블에 의해 ROM(21)에서 지수 j가 액세스되고, 패스(33)를 통해 지수 j가연산부(29)에 공급된다. 연산부에서는 (i+j)의 가산이 행해지며, 가산결과가 연산부(29)의 애큠레이터에 격납된다. 연산부(29)에서는 (i+j)의 (mod.63)의 연산이 이루어져, 이(i+j)(mod.63)의 값이 패스(34)를 지나 인덱스레지스터(28)에 격납된다.When α j is not zero, the addition of n to the contents of the index register 28 is supplied as an address to the ROM 21 through the path 31, and is stored in the ROM 21 by a table in the memory area 25. The exponent j is accessed and the exponent j is supplied to the calculation unit 29 through the pass 33. In the calculating section, addition of (i + j) is performed, and the addition result is stored in the aerator of the calculating section 29. The calculation unit 29 calculates (i + j) of (mod. 63), and the value of (i + j) (mod. 63) passes through the path 34 and is stored in the index register 28.

이 인덱스레지스터(28)의 내용에 m이 가산된 것이 패스(31)를 통해 ROM(21)의 어드레서로서 공급되며, 메모리영역(26)의 테이블에 의해 αi±j)의 벡터표현치가 엑세스되며, 패스(33)를 통해 연산부(29)의 애큐레이터에 격납된다. 이(αi×αj)의 벡터표현치가 필요에 따라 패스(32)를 통해 RAM(22)에 되돌려진다.The addition of m to the contents of the index register 28 is supplied as an address of the ROM 21 via the path 31, and the vector expression value of α i ± j is accessed by the table of the memory area 26. It is stored in the accumulator of the calculating part 29 through the path 33. This vector representation value (α i × α j ) is returned to the RAM 22 via the path 32 as necessary.

본원 발명의 다른 실시예에 있어서, GF(26)상의 임의의 2개의 원 αi및 αj의 나눗셈(αiP)을 할 때의 동작에 대해 제10도에 의거하여 설명한다.In another embodiment of the present invention, the operation when dividing (α i + α P ) of any two circles α i and α j on GF 2 6 will be described based on FIG. 10.

최초에 RAM(22)에서 α0의 백터표현된 데이터를 인덱스레지스터(28)에 패스(30)를 통해 전송한다. 이 인덱스레지스트(28)에 격납된 αi가 제로원인가 아닌가가 조사되며, 제로원일 때에는 나눗셈출력은 당연히 0이므로 제로원이 패스(34)를 통해 연산부(29)의 애큠레이터에 격납된다.Initially, the vectored data of α 0 in the RAM 22 is transferred to the index register 28 through the pass 30. It is checked whether alpha i stored in the index resist 28 is a zero source, and when it is a zero source, the division output is naturally 0, so that the zero source is stored in the aerator of the calculating unit 29 through the pass 34.

αi가 제로원이 아닐 때에는 인덱스레지스터(28)의 내용에 n이 가산된 것이 패스(31)를 통해 ROM(21)에 어드레스로서 공급되며, 메모리영역(25)의 테이블에 의해, ROM(21)에서 지수 i가 액세스되고, 패스(33)를 통해지수 i가 연산부(29)의 애큠레이터에 격납된다.When α i is not zero, the addition of n to the contents of the index register 28 is supplied as an address to the ROM 21 via the path 31, and the ROM 21 is supplied by the table in the memory area 25. The index i is accessed at, and the index i is stored in the aerator of the calculation unit 29 via the pass 33.

다음에 RAM(22)에서 αj가 독출되며, 패스(30)를 통해 인덱스레지스터(28)에 격납되고, 이 αj가 제로원인가 아닌가가 조사된다. αP가 제로원일 때에는 나눗셈을 할 수 없으므로, 이상(異狀)이라는 것을 나타내는 플랙(일리이걸플랙)의 발생이 이루어져 연산이 종료된다. αP가 제로원이 아닐 때에는 인덱스레지스터(28)의 내용에 n이 가산된 것이 패스(31)를 통해 ROM(21)에 어드레스로서 공급되며, 메모리영역(25)의 테이블에 의해, ROM(21)에서 지수 j가 액세스된다. 이 지수 j가 패스(33)를 통해 연산부(29)에 공급되며, 연산부(29)에서는 (i-j)의 감산이 행해지고, 감산 결과가 연산부(29)의 애큠레이터에 격납된다. 이 (i-j)의 연산 출력은 (mod.63)의 형식으로 되며, 이 (i-j)(mod.63)의 값이 패스(34)를 통해 인덱스레지스터(28)에 격납된다.Next, α j is read out from the RAM 22, stored in the index register 28 through the path 30, and it is checked whether or not α j is a zero source. When alpha P is zero, no division is possible, and thus a flag (i.e. girl flag) indicating that an abnormality is generated is generated and the operation is terminated. When α P is not zero, the addition of n to the contents of the index register 28 is supplied as an address to the ROM 21 through the path 31, and the ROM 21 is supplied by the table of the memory area 25. The index j is accessed at This exponent j is supplied to the calculating part 29 via the path 33, the subtraction of (ij) is performed in the calculating part 29, and the subtraction result is stored in the aerator of the calculating part 29. The operation output of this (ij) is in the form of (mod.63), and the value of this (ij) (mod.63) is stored in the index register 28 via the path 34.

이 인덱스레지스터(28)의 내용에 m이 가산된 것이 패스(31)를 통해, ROM(21)의 어드레스로 공급되며, 메모리영역(26)의 테이블에 의해 αO P의 벡터표현치가 액세스되고, 패스(33)를 통해 연산부(29)의 애큠레이터에 격납된다. 이(αiP)의 백터표현치가 필요에 따라 패스(32)를 통해 RAM(22)에 되돌려진다.Through the contents of that path (31) m is added to the index register 28, it is supplied to the address of the ROM (21), a memory region 26 Table α O P vector representation value and access by the Then, the path 33 is stored in the aerator of the calculation unit 29. This vector expression value α i + α P is returned to the RAM 22 via the path 32 as necessary.

상술한 본원 발명이 적용된 유한체의 연산회로는 에러정정부호 예를 들어 리이드솔로몬부호의 복호기에 사용된다. 이 에러정정부호는 디지탈오디오디스크의 재생신호중에 포함되는 서브코오딩신호에 관해서 사용된다.The finite field calculation circuit to which the present invention described above is applied is used for an error correcting code, for example, a decoder of a lead solomon code. This error correcting code is used for the sub-coding signal included in the reproduction signal of the digital audio disc.

제11도는 광학식(光學式)의 디지탈 오디오디스크(이른바콤팩트디스크)의 재생회로의 구성을 나타내며, (41)로 나타낸 입력단자에 디스크에서 과학헤드에 의해 독해된 재생신호가 EFM 복조회로(42)에 공급된다. 디스크에 기록되어 있는 디지탈신호는 EFM 변조되어 있다. EFM변조는, 8비트의 데이터를 14비트의 바람직한(즉, 변조된 신호이 최소반전시간이 길고, 그 저역성분이 작아지는 14비트)패터언으로 블록변환하는 방법이다.11 shows the configuration of a reproduction circuit of an optical digital audio disc (so-called compact disc), wherein a reproduction signal read by the science head from the disc is input to the input terminal indicated by (41). Is supplied. The digital signal recorded on the disk is EFM modulated. EFM modulation is a method of block converting 8-bit data into a 14-bit desirable pattern (i.e., 14-bit modulated signal has a minimum minimum inversion time and a low frequency component thereof).

EFM복조회로(42)에서 8비트 데이터로 되돌려진 디지탈오디오신호가 에러정정회로(43)에 공급되어, 에러정정이 이루어진다. 이 에러정정회로(43)에서 출력되는 스테레오오디오신호의 한쪽 채널의 디지탈오디오신호가 D/A 콘버어터(44)에 공급되어 아날로그신호로 변환되고, 로우패스필터(45)를 통해 출력단자(46)에 꺼내어진다. 에러정정회로(43)에서 출력되는 다른쪽 채널의 디지탈오디오 신호가 D/A 콘버어터(47)에 공급되어 아날로그신호로 변환되고, 로우패스필터(48)를 통해 출력단자(49)에 꺼내어진다.The digital audio signal returned by the EFM demodulation circuit 42 as 8-bit data is supplied to the error correction circuit 43, thereby performing error correction. The digital audio signal of one channel of the stereo audio signal output from the error correction circuit 43 is supplied to the D / A converter 44, converted into an analog signal, and output through the low pass filter 45 to the output terminal 46. Taken out). The digital audio signal of the other channel output from the error correction circuit 43 is supplied to the D / A converter 47, converted into an analog signal, and taken out to the output terminal 49 through the low pass filter 48. .

디스크로부터의 재생신호중에는 스테레오오디오신호 이외에 서브코오딩신호라고 불리우는 제어용 또는 표시용의 디지탈신호가 포함되어 있다. 서브코오딩신호는 기록데이터의 1프레임마다 8비트씩 포함되어 있으며, 98프레임을 주기로 해서 반복하는 것으로서, 98프레임마다의 최초의 2프레임에 서브코오딩신호의 동기신호가 삽입되어 있다. 서브코오딩신호의 8비트는(P,Q,R,S,T,U,V,W)와 구별된다. P채널은 디스크의 음악신호의 기록구간 및 포오즈구간을 구별하기 위한 것이다. Q채널은 디스크의 음악신호의 각각에 붙여진 뮤우직번호, 각 음악을 다시 분할하는 인덱스, 음악의 구간에서 증가하여 포오즈구간에서 감소하는 타임코오드, 디스크의 프로그램영역의 최초로부터 순차 변화하는 타임코오드, 프리엔퍼시스의 유무 등을 나타내는 콘트롤비트 등으로 이루어지는 것이다. Q채널에 관해서는 98프레임의 종단측의 16프레임에 에러검출용의 CRC코오드가 삽입되어 있다. P채널 및 Q채널의 서브코오딩신호를 사용하여 지정된 음악의 머리내기 등을 할 수 있게 된다.The reproduction signal from the disc includes, in addition to the stereo audio signal, a digital signal for control or display called a sub-coding signal. The sub-coding signal contains 8 bits per frame of the recording data, and is repeated every 98 frames, and the synchronization signal of the sub-coding signal is inserted in the first two frames of each 98 frames. The eight bits of the subcoding signal are distinguished from (P, Q, R, S, T, U, V, W). The P-channel is for distinguishing the recording section and the pose section of the music signal of the disc. The Q channel is a music number assigned to each of the disc's music signals, an index for subdividing each piece of music, a timecode that increases in the music section and decreases in the poise section, a timecode that changes sequentially from the beginning of the program area of the disc, It consists of a control bit indicating the presence or absence of pre-operation or the like. As for the Q channel, an CRC code for error detection is inserted into 16 frames on the end of 98 frames. By using the sub-coding signals of the P channel and the Q channel, it becomes possible to put out the specified music or the like.

R채널~W채널은 디스크에 기록되어 있는 곡(曲)의 작사자(作詞者), 작곡자, 그 해설, 시 등을 표시하거나 음성으로 해설하기 위해 사용된다.The R channel to W channel are used to display or narrate the writer, composer, commentary, poem, etc. of a song recorded on the disc.

(8비트×98프레임)의 서브코오딩신호중에서 싱크패턴 및 P채널, Q채널을 제외한 96프레임의 데이터가 패키트로 된다. 제12도에 나타낸 것처럼, (6×96)비트의 피키트는 다시 24심벌씩의 4개의 팩으로 분할된다. 각 팩의 최초의 심벌이 코맨드이며, 그 다음의 19심벌이 데이터이고, 나머지 4심벌이 각 팩의 에러정정코오드의 패리티이다. 이 코맨드는 3비트의 모우드와 3비트의 아이템으로 이루어진 6비트의 것이다. 모우드의 3비트에 의해, 데이터의 종류(그래픽데이터, 정지화(靜止畵) 데이터, 사운드데이터등)가 표시되며, 이아템의 3비트에 의해, 각 모우드의 더욱 상세한 동작모우드의 정보가 표시된다.Among the sub-coded signals (8 bits x 98 frames), 96 frames of data except for the sync pattern, the P channel, and the Q channel are packaged. As shown in FIG. 12, the (6x96) bit kit is further divided into four packs of 24 symbols. The first symbol of each pack is the command, the next 19 symbols are data, and the remaining 4 symbols are the parity of the error correction code of each pack. This command is 6 bits with 3 bits of mode and 3 bits of item. Types of data (graphic data, still picture data, sound data, etc.) are displayed by three bits of the mode, and information of more detailed operation modes of each mode is displayed by three bits of this item.

상술한 서브코오딩신호가 EFM 복조회로(42)에 의해 분리되며, 버퍼메모리(50)에 저장되고, R~W채널의 서브코오딩신호가 에러정정신호(51)에 의해 에러정정된다. 서브코오딩신호중에서 P채널 Q채널의 데이터는 도시를 생략하지만, 시스템콘트로울러에 공급된다. 에러정정회로(51)에서 출력되는 R~W채널의 서브코오딩신호는 그래픽데이터 또는 정지화데이터의 경우에 버퍼메모리(52)에 기입되며, 버퍼메모리(52)에서 독출된 데이터가 표시 제어회로(53)에 공급되고, CRT 디스플레이 등의 표시장치(54)에 표시된다.The above-described subcoding signals are separated by the EFM demodulation circuit 42, stored in the buffer memory 50, and the subcoding signals of the R to W channels are error corrected by the error correction signal 51. Among the sub-coding signals, the data of the P channel Q channel are supplied to the system controller although not shown. The sub-coding signals of the R to W channels output from the error correction circuit 51 are written to the buffer memory 52 in the case of graphic data or still picture data, and the data read out from the buffer memory 52 is displayed in the display control circuit ( 53, and displayed on a display device 54 such as a CRT display.

또, R~W채널의 서브코오딩신호가 사운드데이터일 경우에 D/A 콘버어터(55) 및 로우패스필터(56)를 통해 출력단자(57)에 꺼내어진다.When the subcoding signals of the R to W channels are sound data, they are taken out to the output terminal 57 through the D / A converter 55 and the low pass filter 56.

제13a도는 재생데이터중의 서브코오딩신호의 심벌클록(7.35kHz)을 나타내며, 제13b도는 입력심벌을 나타낸다. 에러정정회로(51)에서는 제13c도에 나타낸 것처럼, 1팩씩 에러정정이 이루어지며, 이 에러정정동작중에 이미 복호(復號)된 팩이 제13d도에 나타낸 것처럼 출력된다.FIG. 13A shows the symbol clock (7.35 kHz) of the sub-coded signal in the reproduction data, and FIG. 13B shows the input symbol. In the error correction circuit 51, error correction is performed one pack at a time, as shown in FIG. 13C, and a pack already decoded during this error correction operation is output as shown in FIG. 13D.

에러정정회로(51)는 제14도에 나타낸 것처럼 CPU(61)와, 프로그램이 기입되어 있는 ROM(62)과, 워어크에어리어용 RAM(63)을 가지고 있다.The error correction circuit 51 has a CPU 61, a ROM 62 in which a program is written, and a RAM area RAM 63, as shown in FIG.

에러정정회로(51)는 RAM(63)에 버퍼메모리(50)에서 1팩의 24심벌이 기입되는 입력동작과, RAM(63)에서 독해된 데이터를 사용하여 신드로움의 연산, 에러로케이션의 계산, 에러정정을 하는 에러정정동작과, 에러정정 후의 데이터를 RAM(63)에서 출력하는 출력동작이 CPU(61)의 제어하에 이루어진다.The error correction circuit 51 calculates an error and calculates an error location by using an input operation in which one pack of 24 symbols is written to the RAM 63 in the buffer memory 50, and data read from the RAM 63. The error correction operation for error correction and the output operation for outputting the data after error correction from the RAM 63 are performed under the control of the CPU 61.

(6×24)비트의 팩에 대한 에러정정부호로서, (24,20)리이드솔로몬부호가 사용된다. 이 리이드솔로몬 부호는 GF(26)상에서 원시다항식이 (P(x)=x6+x+1)의 것이다. 패리티검사 행렬 HP로서,As an error correcting code for a (6x24) bit pack, the (24, 20) lead solomon code is used. This Lidsolomon code is of primitive polynomial (P (x) = x 6 + x + 1) on GF (2 6 ). Parity check matrix H P ,

Figure kpo00001
Figure kpo00001

가 사용되며, 1팩의 서브코오딩신호를 행렬 표현한 것 VP과 패리티검사행렬 HP에서 신드로움이 연산된다. 재생된 1심벌을 Wi로서 나타내면, 신드로움 S0, S1, S2, S3Is used, and the reliability is calculated from the matrix representation of one pack of sub-coded signals V P and the parity check matrix H P. Representing a reproduced symbol as W i , synthism S 0 , S 1 , S 2 , S 3

Figure kpo00002
Figure kpo00002

로 된다. 단,

Figure kpo00003
을 뜻한다. 윗식에서 구해지는 신드로움에 의해 에러의 크기가 체크된다.It becomes only,
Figure kpo00003
It means. The magnitude of the error is checked by the simplicity obtained from the above equation.

에러가 없을 때 : S0=0, S3=0Without error: S 0 = 0, S 3 = 0

A=B=C=0A = B = C = 0

1심벌 에러일 때 : S0≠0, S3≠01 symbol error: S 0 ≠ 0, S 3 ≠ 0

A=B=C=0A = B = C = 0

2심벌 에러일 때 : A≠O, B≠0, C≠0 단, (A=S0S1+S1 2, B=S1S2+S0S3, C=S1S3+S2 2)이다.2 symbol error: A ≠ O, B ≠ 0, C ≠ 0 However, (A = S 0 S 1 + S 1 2 , B = S 1 S 2 + S 0 S 3 , C = S 1 S 3 + S 2 2 ).

상술한 1심벌 에러일 때 및 2심벌 에러일 때의 각각의 경우에 대해, 에러로케이션이 구해진다.In each case of the above-mentioned one symbol error and two symbol errors, an error location is obtained.

1심벌 에러일 때(에로로케이션 i라고 함)1 symbol error (called location i)

: αi=S1/S0 : α i = S 1 / S 0

ei=S0 e i = S 0

로 되며, i=Log(S1/S0)로 된다.I = Log (S 1 / S 0 ).

2심벌 에러일 때(에러로케이션을 i,j라고 함)2 symbol error (error location is called i, j)

: αi=D/X: α i = D / X

αj=D/Yα j = D / Y

ei=S0/Y+S1/De i = S 0 / Y + S 1 / D

ej=S0/X+S1/De j = S 0 / X + S 1 / D

단, D=B/A이다. X,Y는 E=C/A로 하고, (D2/E→X)로 해서 X를 구하며, (단 D2/E=α←aa, X=1+αa: a=j-i=1~23), Y는 Y=D2/E+X로 하여 구한다.However, D = B / A. X and Y are set to E = C / A, and X is obtained by (D 2 / E → X), where D 2 / E = α ← a + α a , X = 1 + α a : a = ji = 1 to 23), Y is obtained by Y = D 2 / E + X.

1심벌 에러 및 2심벌 에러가 모두 정정은 재생된 에러심벌로 구해진 에러 패턴(mod.2)의 가산을 하면된다.Correction of both 1 symbol error and 2 symbol error is performed by adding the error pattern (mod. 2) obtained by the reproduced error symbol.

상술한 에러정정 동작시에, 본원 발명에 의한 유한체의 연산회로가 적용된다.In the error correction operation described above, the finite field calculation circuit according to the present invention is applied.

특히 에러상태를 조살할 때나, 에러패턴을 계산할 때에, 벡터표현된 GF(26)상의 원의 곱셈 및 나눗셈이 행해지므로, 본원 발명의 적용해서 적합하다.Particularly, when multiplying and dividing a circle on the vector-expressed GF 2 6 is performed when the error state is struck or the error pattern is calculated, the present invention is suitable.

디지탈 디스크의 서브코오딩신호는 데이터전송레이트가 메인채널의 데이타와 비교하여 느리며, 서브코오딩신호의 에러정정회로(51)는 본원 발명을 적용함으로써 통상 사용하는 마이크로컴퓨터를 사용하여 구성할 수 있게 된다.The subcoding signal of the digital disk has a slower data transfer rate compared to the data of the main channel, and the error correction circuit 51 of the subcoding signal can be configured using a microcomputer that is commonly used by applying the present invention. do.

본원 발명에 의하면 유한체상의 원의 벡터표현 그대로 ROM을 사용하지 않고 더구나, 지수의 (mod.2m-1)의 판단을 필요로 하지 않으며, 유한체상의 곱셈(αi×α) 및 나눗셈(αj+α)을 할 수 있다. 따라서 하아드웨어의 규모를 작게 할 수 있는 동시에 연산을 위한 스텝수를 대폭 삭감 할 수 있다. 본원 발명을 리이드솔로몬부호의 복호기에 적용하면 복호기의 하아드웨어 간략화 및 복호시간의 단축을 도모할 수 있다.According to the present invention, ROM is not used as the vector representation of a circle on a finite body, and furthermore, it does not require determination of (mod.2 m −1) of an exponent, and it is a finite field multiplication (α i × α) and division ( α j + α). Therefore, the size of the hardware can be reduced, and the number of steps for calculation can be greatly reduced. When the present invention is applied to a decoder of the lead solomon code, the hardware of the decoder can be simplified and the decoding time can be shortened.

또, 본원 발명에 의하면, 유한체상의 원의 벡터표현 그대로 2개의 임의의 원의 곱셈 또는 나눗셈을 할 수 있고, 하아드웨어로서 통상 사용하는 마이크로 컴퓨터를 사용할 수 있다. 따라서, 하아드웨어를 저렴한 원가로 실현할 수 있다.In addition, according to the present invention, two arbitrary circles can be multiplied or divided in a vector representation of a circle on a finite body, and a microcomputer normally used as hardware can be used. Therefore, hardware can be realized at low cost.

Claims (2)

유한체상(有限體上)의 임의의 원(元) αi과 α(단, α는 상기 유한체의 원시다항식(原始多項式)의 근(根)과의 곱셈 또는 나눗셈을 하도록 한 유한체의 연산회로에 있어서, 상기 임의의 원 αi을 저장하는 애큠레이터와, 상기 애큠레이터의 내용 및 상기 원시다항식의 벡터(Vector)표현된 것을 (mod.2)의 가산을 하는 가산기와, 상기 애큠레이터의 비트시프트 및 상기 가산기의 동작을 프로그램 제어하는 제어부를 구비한 유한체의 연산회로.Arbitrary circles α i and α in a finite body phase, where α is the operation of a finite body to multiply or divide with the roots of the primitive polynomials of the finite body. A circuit comprising: an aerator for storing the arbitrary circle α i , an adder for adding (mod. 2) the content of the aerator and the vector representation of the primitive polynomial, and the And a control unit for program control of bit shift and operation of the adder. 유한체상의 2개의 원 αi및 αj(단, α는 상기 유한체의 원시다항식의 근)의 곱셈 또는 나눗셈을 하도록 한 유한체의 연산회로에 있어서, 상기 유한체의 원에서 그 지수(指數)를 발생시키기 위한 제1의 테이블과, 상기 지수에서 상기 유한체의 운을 발생시키기 위한 제2의 테이블과, 상기 지수의 가감산을 하는 2진연산기와, 상기 제1 및 제2의 테이블에 의해 행해지는 데이터변환 상기 2진연산의 동작을 프로그램제어하는 제어부를 구비한 유한체의 연산회로.In a finite field calculation circuit for multiplying or dividing two circles α i and α j (where α is the root of the primitive polynomial of the finite body), the exponent A first table for generating a), a second table for generating a fortune of the finite body at the index, a binary operator for adding and subtracting the index, and a first table and a second table. Data conversion performed by a finite field calculation circuit comprising a control unit for program control of the operation of the binary operation.
KR1019850700212A 1984-01-21 1985-01-18 Circuit for calculating finite fields KR920010184B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9150 1984-01-21
JP???59-9150 1984-01-21
JP59009150A JPS60153546A (en) 1984-01-21 1984-01-21 Arithmetic circuit of finite body
JP15704 1984-01-31
PCT/JP1985/000017 WO1985003371A1 (en) 1984-01-21 1985-01-18 Circuit for calculating finite fields

Publications (2)

Publication Number Publication Date
KR850700170A KR850700170A (en) 1985-10-25
KR920010184B1 true KR920010184B1 (en) 1992-11-19

Family

ID=11712586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850700212A KR920010184B1 (en) 1984-01-21 1985-01-18 Circuit for calculating finite fields

Country Status (2)

Country Link
JP (1) JPS60153546A (en)
KR (1) KR920010184B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6386922A (en) * 1986-09-30 1988-04-18 Victor Co Of Japan Ltd Code error correcting device
JPH07114376B2 (en) * 1986-12-19 1995-12-06 富士通株式会社 Numerical operation circuit in decoding of Reed-Solomon code with multiple error correction

Also Published As

Publication number Publication date
KR850700170A (en) 1985-10-25
JPS60153546A (en) 1985-08-13

Similar Documents

Publication Publication Date Title
DK172468B1 (en) Method and apparatus for processing / coding primary and secondary data to be transmitted in the same way as well as to court
US4498175A (en) Error correcting system
JPH05290527A (en) Deinterleave circuit
US4800515A (en) Circuit for operating finite fields
JP2713902B2 (en) Address generation circuit
JPS632370B2 (en)
KR920010184B1 (en) Circuit for calculating finite fields
JPH11328880A (en) Error correcting device and optical disk reproducing device
JPS638648B2 (en)
US5440571A (en) Circuit of addressing a memory buffer for error correction in a digital audio tape recorder
JP3248315B2 (en) Error correction device
JPS60160729A (en) Arithmetic circuit of finite field
JPS59152749A (en) Error correction and coding method
KR100215807B1 (en) Error correcting apparatus and method for digital signal
JPS638650B2 (en)
JPS58219648A (en) Dividing device for galois field
JPH0793913A (en) Error corrector
JPH10150367A (en) Error correction device
JPS638649B2 (en)
JPH07296527A (en) Recording/reproducing error correction device
JPH01158828A (en) Error detection/correction device
JPH0629953A (en) Error detection circuit
JPS6248254B2 (en)
JPH07160520A (en) Error corrector
JPH07123013A (en) Error correction device

Legal Events

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

Payment date: 20041020

Year of fee payment: 13

EXPY Expiration of term