KR100220694B1 - Modified syndrome polynomial generator - Google Patents

Modified syndrome polynomial generator Download PDF

Info

Publication number
KR100220694B1
KR100220694B1 KR1019960050739A KR19960050739A KR100220694B1 KR 100220694 B1 KR100220694 B1 KR 100220694B1 KR 1019960050739 A KR1019960050739 A KR 1019960050739A KR 19960050739 A KR19960050739 A KR 19960050739A KR 100220694 B1 KR100220694 B1 KR 100220694B1
Authority
KR
South Korea
Prior art keywords
syndrome
laser
register
polynomial
multiplier
Prior art date
Application number
KR1019960050739A
Other languages
Korean (ko)
Other versions
KR19980031192A (en
Inventor
이규용
Original Assignee
전주범
대우전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019960050739A priority Critical patent/KR100220694B1/en
Publication of KR19980031192A publication Critical patent/KR19980031192A/en
Application granted granted Critical
Publication of KR100220694B1 publication Critical patent/KR100220694B1/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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/159Remainder calculation, e.g. for encoding and syndrome calculation

Abstract

본 발명은 채널 디코더에서의 확장된 신드롬 다항식 (modified syndrome polynomial) 연산을 처리하는 구현 회로에 관한 것이다. 본 발명의 확장된 신드롬 다항식 T(X) 전개 장치는 상기 이레이저 다항식의 이레이저 근을 순차적으로 제공하는 이레이저 레지스터와 상기 이레이저 레지스터로부터 제공되는 이레이저 근과 상기 신드롬 다항식의 각 차수의 신드롬 계수를 연산하여 연산결과를 생성하는 일련이 제1내지 제(n+1)의 연산기를 수행한다. 또한, 각각의 상기 연산기는: 상기 이레이저 레지스터로부터 제공되는 상기 이레이저 근과 상기 신드롬 다항식의 계수를 승산하는 승산기; 상기 신드롬 계수와 전단의 연산기내 승산기에 의해 승산된 결과를 가산하는 가산기; 상기 신드롬 계수를 일시 저장하고 상기 저장된 신드롬 계수를 상기 승산기와 상기 가산기로 제공하는 신드롬 레지스터를 구비하며; 상기 신드롬 레지스터에 저장된 신드롬 계수는 상기 가산기에 의해 가산된 결과로 갱신되는 것을 특징으로 한다.The present invention relates to an implementation circuit for processing extended syndrome polynomial operations in a channel decoder. The extended syndrome polynomial T (X) expansion apparatus according to the present invention is characterized in that it comprises a laser resistor for sequentially providing this laser polynomial of the laser polynomial, a laser diode provided from the laser resistor and a syndrome of each order of the syndrome polynomial The first through (n + 1) -th arithmetic operators are operated to calculate the coefficients and generate the arithmetic result. Each of the arithmetic operators includes: a multiplier for multiplying the laser beam provided from the laser register by a coefficient of the syndrome polynomial; An adder for adding the syndrome coefficient to a result multiplied by a multiplier in a preceding stage of the multiplier; And a syndrome register for temporarily storing the syndrome coefficients and providing the stored syndrome coefficients to the multiplier and the adder; And the syndrome coefficient stored in the syndrome register is updated as a result of being added by the adder.

따라서, 종래 기술에 비해 승산기 및 가산기의 수를 대폭적으로 줄여 간단한 회로의 구현이 가능하다.Therefore, the number of multipliers and adders can be greatly reduced compared to the prior art, and a simple circuit can be realized.

Description

확장된 신드롬 다항식 전개 장치Extended syndrome polynomial expansion device

본 발명은 채널 디코더에서의 에러 정정에 관한 것으로, 특히, 채널 디코더에서의 확장된 신드롬 다항식 (modified syndrome polynomial) 연산을 처리하는 구현 회로에 관한 것이다.The present invention relates to error correction in a channel decoder, and more particularly to an implementation circuit for processing an extended syndrome polynomial operation in a channel decoder.

통상적으로, 데이터를 전송, 저장 또는 검색하는 과정중에 발생하는 잡음은 데이터의 전송, 저장 또는 검색시에 에러를 발생시킬 수 있다. 따라서, 전송 또는 저장될 데이터를 디코딩하는 여러 가지 기술에서 이러한 에러를 정정할 수 있는 기술이 개발되어 있다.Typically, noise that occurs during the process of transmitting, storing, or retrieving data may cause errors in transmission, storage, or retrieval of data. Accordingly, techniques have been developed that can correct such errors in various techniques for decoding data to be transmitted or stored.

이러한 디코딩 기술중의 한가지는 한 세트의 체크 비트를 메시지 비트 또는 정보 비트의 그룹에 첨가하여 하나의 코드 워드를 형성하는 것이다. 이러한 체크 비트는 인코더에 의해 결정되며, 에러를 검출하고 정정하는데 사용된다. 이와 관련하여, 인코더는 메시지 비트를 2진 메시지 다항식의 계수로서 처리하고 승산 또는 제산 연산을 통해 메시지 다항식에 대하여 생성 다항식을 연산함으로써 체크비트를 유도한다.One such decoding technique is to add a set of check bits to a group of message bits or information bits to form a codeword. These check bits are determined by the encoder and are used to detect and correct errors. In this regard, the encoder processes the message bits as a coefficient of the binary message polynomial and derives the check bit by computing the generator polynomial for the message polynomial through a multiplication or division operation.

에러 정정 코드의 한 부류는 잘 알고 있는 리드 솔로몬(Reed-Solomon)코드를 포함하는 BCH(Bose-Chaudhuri-Hocquenghen) 코드이다.One class of error correcting codes is the Bose-Chaudhuri-Hocquenghen (BCH) code containing well-known Reed-Solomon codes.

리드 솔로몬 코드는 디지탈 통신에 적용을 위해 발전된 에러 정정 이론으로서 전송 채널에서 발생 혹은 유입되는 에러를 수신단에서 검출 및 정정하여 원래의 전송 데이터를 얻어내는 이론이다.Reed-Solomon code is an error correction theory developed for digital communication applications. It detects and corrects errors generated or introduced in a transmission channel by the receiving end to obtain original transmission data.

정보 소스에서 정보 데이터, 예로 "d"가 생성되어 인코더로 전송되면 인코더에서는 규정된 코드 포맷에 의거하여 정보 데이터에 일대일 대응하는 코드 워드를 생성한다. 생성된 코드 워드는 채널의 특성에 맞게 변조되어 전송 채널을 통해 송신된다. 전송 채널에서는 잡음과 외란에 의해 송신된 신호가 변질되어 복조부에 도달하는데 이때 변질되어지는 값을 에러 "e"로 정의하여 복조부를 거쳐 수신된 워드 "r"에는 코드워드 "c"와 에러 "e"가 결합되어 존재하는 것으로 본다.When information data such as "d" is generated from the information source and transmitted to the encoder, the encoder generates a codeword corresponding to the information data one-to-one based on the prescribed code format. The generated codeword is modulated according to the characteristics of the channel and transmitted through the transmission channel. In the transmission channel, a signal transmitted by noise and disturbance is altered and reaches a demodulation unit. The value to be altered is defined as an error "e" e "are considered to be present.

즉, r = c + e 로 표현하는데 디코더에서는 규정된 코드 포맷을 토대로 수신된 워드에 에러가 포함되어 있는 가를 판단하고 에러가 포함되어 있는 경우에는 에러 값 e를 계산하여 수신된 워드에 섞여있는 에러 성분을 제거하여 원래의 소스 데이터로 복원시켜 정보 수신기로 전송한다.That is, r = c + e. The decoder determines whether an error is included in the received word based on the prescribed code format. If the error is included, the decoder calculates an error value e, Components are removed and restored to the original source data and transmitted to the information receiver.

소스 데이터로부터 코드 워드를 생성하는 인코딩 과정과 수신된 수신 워드에서 에러 발생 여부를 판별하고, 에러값을 구하여 정정하는 디코딩 과정은 매우 복잡하고 까다로운 수학적 계산으로 이루어지고 있다.A decoding process for generating a codeword from the source data and a process for determining whether or not an error has occurred in the received word and obtaining and correcting an error value is performed by a complicated and difficult mathematical calculation.

또한, 어떤 코드워드가 n개 심볼(symbol : 코드워드를 구성하는 기본 단위)로서 구성되어 있다고 할 때, 이 코드워드의 i(1<i<n)번째의 심볼이 틀린 것 같다고 알았을 때, 이 심볼의 위치를 이레이저 위치(erasure position)라고 지칭하며, 이를 나타내는 심볼을 이레이저라고 지칭한다. 이와 같이 오류로 추정되는 위치를 알았을 경우에 에러 정정 코드는 이레이저를 정정하거나 또는 에러 및 이레이저를 동시에 정정하는데 사용될 수 있다.Further, when it is assumed that a codeword is configured as n symbols (a basic unit constituting a codeword), when it is found that i (1 <i <n) th symbol of this codeword is wrong, The position of the symbol is referred to as the erasure position, and the symbol representing this is called the laser. When such a position estimated as an error is known, an error correction code can be used to correct the laser or to correct the error and the laser simultaneously.

전송된 또는 저장된 코드워드를 수신 또는 검색하는 과정에 있어서, 어떤 부가적인 잡음 성분이 코드워드의 에러 패턴으로 변환 될 수도 있다. 리드 솔로몬 코드에 부과된 에러 패턴을 처리하기위하여, 다음과 같은 과정의 절차가 이용된다. 그 설명에 앞서 리드 솔로몬 코드는 n개의 m 비트 심볼로 이루어지며, n개의 심볼중에서 k개의 심볼은 데이터 심볼이고, 나머지 n-k개 심볼은 체크 심볼이라 가정한다.In the process of receiving or retrieving a transmitted or stored codeword, some additional noise components may be converted into an error pattern of the codeword. To process the error pattern imposed on the Reed-Solomon code, the following procedure is used. Prior to the description, the Reed-Solomon code is made up of n m-bit symbols, k symbols among the n symbols are data symbols, and the remaining n-k symbols are check symbols.

첫 번째 에러 정정 단계로서, 하기 수학식 1에서와 같이 리드 솔로몬 코드의 신드롬 다항식(syndrome polynominal) "S(X)"의 각 차수의 신드롬 계수(또는 값) S0, S1…, S2t-1을 계산한다.As a first error correction step, the syndrome coefficients (or values) S 0 , S 1, ... of each order of the syndrome polynomial "S (X)" of the Reed Solomon code as shown in the following equation , And S 2t-1 are calculated.

상기 수학식 1에서 t는 에러 정정 능력지수(error correction capability)를 나타낸다.In Equation (1), t denotes an error correction capability.

두 번째 단계는 생성된 이레이저를 이용하여, 하기 수학식 2에서와 같이 이레이저 다항식 "Г(X)"을 생성한다. 이때, 이레이저 다항식의 근(root)은 에러의 위치를 나타낸다.The second step generates the laser polynomial "G (X) " using the generated laser as shown in the following equation (2). At this time, the root of the laser polynomial represents the position of the error.

상기 수학식에서 k는 이레이저 개수이고, E0,E1,…,Ek는 이레이저를 나타낸다.In the above equation, k is the number of the laser, and E 0 , E 1 , ... , And E k represents this laser.

그 다음 단계는 확장된 신드롬 다항식을 전개하기위하여 신드롬 다항식 "S(X)"과 이레이저 다항식 "Г(X)"을 승산하여 하기 수학식 3과 같은 확장된 신드롬 다항식 "T(X)"을 전개한다.The next step is to multiply the syndrome polynomial "T (X)" by the syndrome polynomial "S (X)" and this laser polynomial "Γ (X)" to expand the extended syndrome polynomial Develop.

그 다음에는 유크리드(Euclid) 알고리즘과 친 서치(chien serarch)를 이용하여 수신된 코드워드에서의 에러 위치를 나타내는 근을 구하고, 에러 위치와 신드롬 값을 이용하여, 에러 값을 계산한다.Next, the root representing the error position in the received codeword is obtained using the Euclid algorithm and the chien serarch, and the error value is calculated using the error position and the syndrome value.

상술한 과정에서, 이레이저 정정을 위해 신드롬 다항식 S(X)과 이레이저 다항식 Γ(X)을 승산하여 확장된 신드롬 다항식 T(X)을 전개할 때 통상 다이렉트 전개 방식이 이용되고 있다.In the above process, a direct development method is generally used for developing the extended syndrome polynomial T (X) by multiplying the syndrome polynomial S (X) and the laser polynomial Γ (X) for this laser correction.

제1도에는 전형적인 다이렉트 전개 방식을 이용하여 확장된 신드롬 다항식을 전개하는 연산 회로가 도시된다.Figure 1 shows an arithmetic circuit for developing an extended syndrome polynomial using a typical direct expansion scheme.

도시된 바와같이, 이 연산회로는 신드롬 다항식 S(X)의 각 차수의 신드롬 계수값 S0, S1…, S2t-1을 각기 저장하는 제1 레지스터 어레이(10)와, 이레이저 다항식 Γ(X)의 이레이저 근을 각기 저장하는 제2레지스터 어레이(20)와, 제1레지스터 어레이(10)와 제2레지스터 어레이(20)내에 저장된 신드롬 계수값과 이레이저 근값을 승산하는 다수의 승산기(31∼33)와, 승산기의 승산 결과를 가산하는 다수의 가산기(41∼43)와, 가산기(41∼43)로부터의 가산 결과를 확장된 신드롬 다항식의 각 차수의 계수로서 저장하는 제3레지스터 어레이(50)를 포함한다. 결과적으로, 각각의 제3레지스터(50)의 각 레지스터셀은 확장된 신드롬 다항식 T(X)의 각 차수의 계수값을 저장하게 된다.As shown, this arithmetic circuit calculates the syndrome coefficient values S 0 , S 1 ... of the respective orders of the syndrome polynomial S (X) A first register array 10, and the second register array 20 which respectively store the laser near the laser polynomial Γ (X), the first resistor array 10 for each store the S 2t-1 and A plurality of multipliers 31 to 33 that multiply the syndrome coefficient values stored in the second register array 20 and the laser meandering values, a plurality of adders 41 to 43 that add the multiplication results of the multipliers, 43) as coefficients of each order of the extended syndrome polynomial. As a result, each register cell of each third register 50 stores the coefficient value of each degree of the extended syndrome polynomial T (X).

그러나, 다이렉트 방식을 이용하여 구현된 종래기술의 확장된 신드롬 다항식의 전개장치는 승산기가 2t(k+1)개, 가산기는 2t(k+1)-2 개가 사용되므로 하드웨어 구조가 복잡하고, 이를 집적회로로 구현하는 경우에 크기가 커진다는 문제가 있었다.However, since the expansion apparatus of the prior art expanded syndrome polynomial implemented using the direct method uses 2t (k + 1) multipliers and 2t (k + 1) -2 multipliers, the hardware structure is complicated, There is a problem in that the size is increased when the circuit is implemented by an integrated circuit.

그러므로, 본 발명은 간단한 구조의 하드웨어로서 확장된 신드롬 다항식을 전개할 수 있는 장치를 제공하는 것을 목적으로 한다.Therefore, it is an object of the present invention to provide an apparatus capable of developing an extended syndrome polynomial as hardware of a simple structure.

상술한 목적을 달성하기 위한 본 발명에 따르면, 리드 솔로몬 코드를 이용하여 인코드되어 디코딩 시스템으로 전송된 코드워드에 포함된 에러를 정정하기 위하여, n차 신드롬 다항식 S(X)과 상기 코드의 에러 위치를 나타내는 이레이저 다항식 Г(X)을 연산하는 확장된 신드롬 다항식 T(X) 전개 장치는:According to an aspect of the present invention, there is provided an apparatus for correcting errors included in a codeword that is encoded using a Reed-Solomon code and transmitted to a decoding system, includes an n-th order syndrome polynomial S (X) An extended syndrome polynomial T (X) expansion device which computes this laser polynomial G (X) representing the position is:

상기 이레이저 다항식의 이레이저 근을 순차적으로 제공하는 이레이저 레지스터; 상기 이레이저 레지스터로부터 제공되는 이레이저 근과 상기 신드롬 다항식의 각 차수의 신드롬 계수를 연산하여 연산결과를 생성하는 일련의 제1내지 제(n+1)의 연산기를 포함하며, 각각의 상기 연산기는:The laser register sequentially providing the laser beam of the laser polynomial; And a series of first to (n + 1) -th arithmetic operators for calculating a syndrome coefficient of each order of the laser beam and the syndrome polynomial provided from the laser register to generate an arithmetic result, :

상기 이레이저 레지스터로부터 제공되는 상기 이레이저 근과 상기 신드롬 다항식의 계수를 승산하는 승산기; 상기 신드롬 계수와 전단의 연산기내 승산기에 의해 승산된 결과를 가산하는 가산기; 상기 신드롬 계수를 일시 저장하고 상기 저장된 신드롬 계수를 상기 승산기와 상기 가산기로 제공하는 신드롬 레지스터를 구비하며; 상기 신드롬 레지스터에 저장된 신드롬 계수는 상기 가산기에 의해 가산된 결과로 갱신되는 것을 특징으로 한다.A multiplier for multiplying the laser beam provided from the laser register by a coefficient of the syndrome polynomial; An adder for adding the syndrome coefficient to a result multiplied by a multiplier in a preceding stage of the multiplier; And a syndrome register for temporarily storing the syndrome coefficients and providing the stored syndrome coefficients to the multiplier and the adder; And the syndrome coefficient stored in the syndrome register is updated as a result of being added by the adder.

제1도는 선행 기술의 확장된 신드롬 다항식 전개 장치를 구현한 회로구성도.FIG. 1 is a circuit diagram of a prior art extended syndrome polynomial expansion apparatus.

제2도는 본 발명에 따른 확장된 신드롬 다항식 전개 장치를 구현한 회로구성도.FIG. 2 is a circuit diagram showing an implementation of the extended syndrome polynomial expansion apparatus according to the present invention. FIG.

* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

60 : 이레이저 레지스터 71,72,73 : 가산기60: This laser register 71, 72, 73:

81,82,83 : 승산기 91,92,93,94 : 신드롬 레지스터81, 82, 83: multipliers 91, 92, 93, 94:

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

설명에 앞서, 이레이저 다항식 Г(X)과 신드롬 다항식 S(X)은 상술한 바와 같이 각기 하기 수학식 4 및 5와 같이 규정된다.Prior to the description, the laser polynomial G (X) and the syndrome polynomial S (X) are defined as shown in Equations 4 and 5, respectively, as described above.

상기 수학식 4 및 5에서 t는 에러 정정 능력지수(error correction capability)이며, k는 발생된 이레이저 개수를 나타낸다.In Equations (4) and (5), t is an error correction capability, and k represents the number of generated laser beams.

본 발명에 따른 확장된 신드롬 다항식을 전개하는 하드웨어 구조는 n차 이레이저 다항식 Г(X)의 이레이저 근을 순차적으로 제공하는 이레이저 레지스터(60)와, 상기 이레이저 레지스터로부터 제공되는 이레이저 값과 신드롬 다항식 S(X)의 각 차수의 신드롬 계수를 연산하여 연산결과를 생성하는 일련의 제1내지 제(n+1)의 연산기(100,110,120,…)를 포함한다.The hardware structure for developing the extended syndrome polynomial according to the present invention includes a laser register 60 in which the n-th order provides the laser roots of the laser polynomial G (X) sequentially, And a series of first to (n + 1) -th arithmetic operators 100, 110, 120, ... for calculating the syndrome coefficients of each order of the syndrome polynomial S (X) to generate the arithmetic result.

본 발명에 따른 각각의 상기 연산기(100,110,120,…)는 이레이저 레지스터(60)로부터 제공되는 이레이저 값과 대응하는 신드롬 다항식의 계수를 승산하는 승산기(81,82,83,…)와, 신드롬 계수와 전단의 연산기(110,120,130,…)내 승산기(81,82,83,…)에 의해 승산된 결과를 가산하는 가산기(71,72,73,…)와, 신드롬 계수를 일시 저장하고 저장된 신드롬 계수를 승산기(81,82,83,…)와, 가산기(71,72,73,…)로 제공하는 신드롬 레지스터(91,92,93,…)를 구비한다.Each of the operators 100, 110, 120, ... according to the present invention includes multipliers 81, 82, 83, ... for multiplying the laser value provided from the laser register 60 by the coefficients of the corresponding syndrome polynomials, (71, 72, 73, ...) for adding the results multiplied by multipliers (81, 82, 83, ...) in the preceding stage of the arithmetic units 110, 120, 130, ..., and syndrome registers 91, 92, 93, ... provided to the adders 71, 72, 73, ....

이때, 각각의 신드롬 레지스터(91,92,93,…)에 저장된 신드롬 값은 각기 대응하는 가산기(71,72,73,…)에 의해 가산된 결과로 갱신되며, 갱신된 가산된 결과는 이레이저 레지스터(60)로부터 다음 차수의 이레이저 계수가 제공될 때 전단의 연산기내 신드롬 레지스터((91,92,93,…)로 제공된다.At this time, the syndrome values stored in the respective syndrome registers 91, 92, 93, ... are updated as a result of being added by the corresponding adders 71, 72, 73, ..., And is provided to the preceding stage in-circuit syndrome register (91, 92, 93, ...) when this laser coefficient of the next order is provided from the register (60).

또한, 본 발명에 따르면, 확장된 신드롬 다항식 전개 장치는 임시 레지스터(94)와 임시 레지스터(94)에 저장된 값과 최하단의 (n+1)째 연산기(120)내 승산기에 승산된 결과를 가산하는 가산기(74)로 구성된 연산기(130)를 더 포함한다. 이 때, 임시 레지스터(94)내에 저장된 값은 이레이저 레지스터(60)로부터 다음 차수의 이레이저 근이 제공될 때 (n+1)째 연산기(120)내 신드롬 레지스터(93)로 제공되고, 제로값으로 갱신된다.According to the present invention, the extended syndrome polynomial expansion apparatus adds the values stored in the temporary register 94 and the temporary register 94 to the result multiplied by the multiplier in the (n + 1) &lt; th &gt; And an adder (74). At this time, the value stored in the temporary register 94 is supplied to the syndrome register 93 in the (n + 1) th arithmetic operator 120 when the laser arc of the next order is supplied from this laser register 60, Lt; / RTI &gt;

상술한 바와같이 구성된 본 발명의 확장된 신드롬 다항식 전개 장치는 하기와 같은 단계에 따라 연산을 실행한다.The expanded syndrome polynomial expansion apparatus of the present invention configured as described above executes the operation according to the following steps.

제1단계에서, 먼저 연산기(130)내 플립플롭(94)에는 제로값이 로드되며, 각각의 연산기(100,110,120)내 플립플롭(91,92,93)에는 신드롬 다항식 S(X)의 각차수의 신드롬값 S0, S1…, S2t-1이 각기 로드된다. 이후, 각각의 플립플롭(91,92,93,94)에 저장된 다항식 S(X)의 각 차수의 신드롬값 S0, S1…, S2t-1이 각기 대응하는 승산기(81,82,83)에 제공되며, 근 레지스터(60)로부터 이레이저 다항식 Г(X)의 첫 번째 근이 출력되어 각 연산기(100,110,120)내 승산기(81,82,83)에 제공된다. 또한, 근 레지스터(60)로부터 이레이저 다항식 Г(X)의 각 치수의 근은 제1 연산기(100)내 가산기(71)에 제공된다.In the first step, a zero value is first loaded into the flip-flop 94 in the arithmetic unit 130, and the flip-flops 91, 92 and 93 in the arithmetic units 100, 110 and 120 are supplied with the respective degrees of the syndrome polynomial S The syndrome values S 0 , S 1 ... , And S 2t-1 are respectively loaded. Then, the syndrome values S 0 , S 1, ... of the respective orders of the polynomial S (X) stored in the respective flip-flops 91, 92, And S 2t-1 are provided to the corresponding multipliers 81, 82 and 83 and the first root of the laser polynomial Γ (X) is outputted from the nearest register 60 and multipliers 81, , 82, 83). Further, the root of each dimension of the laser polynomial G (X) from the nearest register 60 is provided to the adder 71 in the first calculator 100.

제2단계에서, 각각의 연산기(100,110,120)내 각각의 승산기(81,82,83)는 근 레지스터(600)로부터 제공된 이레이저 다항식의 근과 각각의 연산기내 플립플롭(91,92,93)으로부터 제공되는 신드롬 계수를 승산하여 승산된 결과를 다음단의 연산기내 가산기(72,73,74)에 각기 제공한다. 이때, 가산기(72,73,74)는 각기 전단의 승산기(81,82,83)에 의해 승산된 결과와 각기 대응하는 연산기(110,120,130)내 플립플롭(92,93,94)으로부터 제공되는 신드롬값을 가산한다.In the second step, each multiplier 81, 82, 83 in each of the arithmetic units 100, 110, 120 is connected to the root of the laser polynomial provided from the nearest register 600 and the flip flops 91, And provides the result of multiplication to the adder 72, 73, 74 in the next stage of operation. At this time, the adders 72, 73, and 74 receive the syndromes 81, 82, and 83, which are supplied from the flip-flops 92, 93, and 94 in the arithmetic units 110, .

제3단계에서, 각각의 가산기(71,72,73,74)에 의해 가산된 결과는 각각의 연산기(100,110,120,130)내 플립플롭(91,92,93,94)내에 저장된다.In the third step, the results added by the respective adders 71, 72, 73 and 74 are stored in the flip-flops 91, 92, 93 and 94 in the arithmetic units 100, 110, 120 and 130, respectively.

제4단계에서, 각각의 연산기내 플립플롭(91,92,93,94)내에 저장된 값은 전단의 연산기내 플립플롭(91,92,93)으로 이동되며, 연산기(130)내 플립플롭(94)에는 제로 값이 로드된다.In the fourth step, the values stored in the flip-flops 91, 92, 93 and 94 in the respective arithmetic units are transferred to flip-flops 91, 92 and 93 in the preceding stage, ) Is loaded with a zero value.

그 다음, 제5단계에서, 이레이저 다항식 Г(X)의 또 다른 근이 있으면, 제2단계부터 반복하며, 또 다른 근이 없으면 각각의 플립플롭(91,92,93,94)에 저장된 최종값이 하기와 같은 확장된 신드롬 다항식 T(X)의 각 차수의 계수로서 결정된다.Then, in the fifth step, if there is another root of this laser polynomial Γ (X), it repeats from the second step, and if there is no other root, the end of the last stored in each of the flip-flops 91, 92, 93, 94 Value is determined as a coefficient of each order of the extended syndrome polynomial T (X) as follows.

상기 수학식 6에서 k는 이레이저 개수를 나타낸다.In Equation (6), k denotes the number of the laser.

본 발명의 이해를 돕기 위하여 하기와 같은 이레이저 다항식 Г(X)과 신드롬 다항식 S(X)을 이용하여 상술한 연산과정을 설명하기로 한다.In order to facilitate the understanding of the present invention, the above calculation process will be described using the laser polynomial G (X) and the syndrome polynomial S (X) as follows.

이고, ego,

이라고 가정한다. .

이러한 가정하에, 이레이저 다항식 Г(X)의 근은 2 4이며, 신드롬 다항식 S(X)의 신드롬 계수값은 1, 2, 3, 4이다. 따라서, 신드롬값 1, 2, 3, 4이 각기 로드되는 4개의 플립플롭와 1개의 임시 플립플롭이 필요하며, 각각의 플립플롭에는 1, 2, 3, 4,0가 로드된다.Under this assumption, the roots of this laser polynomial G (X) 2 and 4 , and the syndrome coefficient value of the syndrome polynomial S (X) is 1 , 2 , 3 , 4 . Thus, the syndrome value 1 , 2 , 3 , 4 requires four flip-flops and one temporary flip-flop to be loaded each, and each flip-flop has 1 , 2 , 3 , 4 , 0 are loaded.

그 연산은 하기 표에 예시된 바와같은 과정을 거쳐 T(X) = 6X3+ 7X2+ 4X + 10 The operation is performed as shown in the following table to obtain T (X) = 6X3+ 7X2+ 4X + 10

상기 표1에서 제1 내지 제4플립플롭은 신드롬 계수값을 각기 저장하기 위한 4개의 플립플롭을 나타내며, Tmp는 임시 플립플롭을 나타낸다.In Table 1, the first to fourth flip-flops represent four flip-flops for storing syndrome coefficient values, respectively, and Tmp represents a temporary flip-flop.

또한, 상기 연산과정에서, P(X) = X4+ X +1을 사용하여 구한 갈로아 필드(Galois Fiend) GF[24]에 대한 원소(element) {0, 0, 1, …, 15}는 각기 하기와 같이 정의된다.In addition, in the calculation process, the element {0, 1, 2, 3 , 4 , 5 ] for GF [2 4 ] obtained using P (X) = X 4 + 0 , 1 , ... , 15 } are defined as follows.

이와 관련하여, 본 발명에 따른 확장된 신드롬 다항식을 전개하는데 사용되는 승산기의 수는 2t 개, 그리고 가산기의 수는 2t+1개만이 필요할 것이다.In this regard, only 2t multipliers and 2t + 1 multipliers are needed to develop the extended syndrome polynomial according to the present invention.

이상 설명한 바와같이, 종래 기술의 확장된 신드롬 다항식을 전개하는데 사용되는 승산기와 가산기의 수를 현저하게 절감할 수 있으며, 전체적으로 대략 1/k+1개로 구현가능하므로, 하드웨어 구현에 있어서 종래 기술보다 크기가 적으면서 보다 효율적인 연산을 실행할 수 있는 장점이 제공된다.As described above, since the number of multipliers and adders used for developing the extended syndrome polynomial of the prior art can be remarkably reduced and can be implemented as approximately 1 / k + 1 as a whole, There is provided an advantage that a more efficient operation can be performed while reducing the number of operations.

Claims (3)

리드 솔로몬 코드를 이용하여 인코드되어 디코딩 시스템으로 전송된 코드워드에 포함된 에러를 정정하기 위하여, n차 신드롬 다항식 S(X)과 상기 코드의 에러 위치를 나타내는 이레이저 다항식 Г(X)을 연산하는 확장된 신드롬 다항식 T(X) 전개 장치에 있어서, 상기 이레이저 다항식의 이레이저 근을 순차적으로 제공하는 이레이저 레지스터; 상기 이레이저 레지스터로부터 제공되는 이레이저 근과 상기 신드롬 다항식의 각 차수의 신드롬 계수를 연산하여 연산결과를 생성하는 일련의 제1내지 제(n+1)의 연산기를 포함하며, 각각의 상기 연산기는: 상기 이레이저 레지스터로부터 제공되는 상기 이레이저 근과 상기 신드롬 다항식의 계수를 승산하는 승산기; 상기 신드롬 계수와 전단의 연산기내 승산기에 의해 승산된 결과를 가산하는 가산기; 상기 신드롬 계수를 일시 저장하고 상기 저장된 신드롬 계수를 상기 승산기와 상기 가산기로 제공하는 신드롬 레지스터를 구비하며; 상기 신드롬 레지스터에 저장된 신드롬 계수는 상기 가산기에 의해 가산된 결과로 갱신되는 것을 특징으로 하는 확장된 신드롬 다항식 전개 장치.Order polynomial S (X) and the laser polynomial G (X) representing the error location of the code are computed in order to correct the error contained in the codeword encoded using the Reed-Solomon code and transmitted to the decoding system (X) expansion device, comprising: a laser register for sequentially providing the laser beam of the laser polynomial; And a series of first to (n + 1) -th arithmetic operators for calculating a syndrome coefficient of each order of the laser beam and the syndrome polynomial provided from the laser register to generate an arithmetic result, : A multiplier for multiplying the laser beam provided from the laser register by a coefficient of the syndrome polynomial; An adder for adding the syndrome coefficient to a result multiplied by a multiplier in a preceding stage of the multiplier; And a syndrome register for temporarily storing the syndrome coefficients and providing the stored syndrome coefficients to the multiplier and the adder; Wherein the syndrome coefficients stored in the syndrome register are updated as a result of being added by the adder. 제1항에 있어서, 상기 신드롬 레지스터에서 갱신된 가산된 결과는 상기 이레이저 레지스터로 부터 다음번의 이레이저 근이 제공될 때 상기 전단의 연산기내 신드롬 레지스터로 제공되는 것을 특징으로 하는 확장된 신드롬 다항식 전개 장치.2. The method of claim 1, wherein the updated addition result in the syndrome register is provided to the pre-computation intra-operative syndrome register when the next laser lobe is provided from the laser register. &Lt; Device. 제2항에 있어서, 상기 확장된 신드롬 다항식 전개 장치는, 상기 연산기중의 (n+1)째 연산기내 승산기에 의해 승산된 결과를 일시 저장하는 임시 레지스터를 더 구비하며, 상기 임시 레지스터내에 저장된 값은 상기 이레이저 레지스터로 부터 다음번의 이레이저 근이 제공될 때 상기 (n+1)째 연산기내 신드롬 레지스터로 제공되고, 제로값으로 갱신되는 것을 특징으로 하는 확장된 신드롬 다항식 전개 장치.3. The apparatus of claim 2, wherein the extended syndrome polynomial expansion apparatus further comprises a temporary register for temporarily storing a result multiplied by an (n + 1) -th operator multiplier in the computing unit, wherein the value stored in the temporary register Is provided to the syndrome register in the (n + 1) th arithmetic unit when the next laser beam is provided from the laser register, and is updated to a zero value.
KR1019960050739A 1996-10-31 1996-10-31 Modified syndrome polynomial generator KR100220694B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960050739A KR100220694B1 (en) 1996-10-31 1996-10-31 Modified syndrome polynomial generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960050739A KR100220694B1 (en) 1996-10-31 1996-10-31 Modified syndrome polynomial generator

Publications (2)

Publication Number Publication Date
KR19980031192A KR19980031192A (en) 1998-07-25
KR100220694B1 true KR100220694B1 (en) 1999-09-15

Family

ID=19480121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960050739A KR100220694B1 (en) 1996-10-31 1996-10-31 Modified syndrome polynomial generator

Country Status (1)

Country Link
KR (1) KR100220694B1 (en)

Also Published As

Publication number Publication date
KR19980031192A (en) 1998-07-25

Similar Documents

Publication Publication Date Title
KR100594241B1 (en) RS decoder circuit having forward Chien search type
US6374383B1 (en) Determining error locations using error correction codes
KR100683624B1 (en) Accelerated reed-solomon error correction
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
US7096409B2 (en) Reed-solomon decoder and decoding method for errors and erasures decoding
JP3176171B2 (en) Error correction method and apparatus
KR19980033277A (en) Galois field multiplier for Reed-Solomon decoder
US5805617A (en) Apparatus for computing error correction syndromes
KR100260415B1 (en) High speed serial error position polynomual calculation circuit
EP0660535A2 (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
US6915478B2 (en) Method and apparatus for computing Reed-Solomon error magnitudes
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
KR100336234B1 (en) Data error correction apparatus
KR100220694B1 (en) Modified syndrome polynomial generator
US5971607A (en) Polynomial evaluator for use in a Reed-Solomon decoder
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
EP1037148B1 (en) Error coding method
KR100192802B1 (en) Apparatus for calculating error-value and for correcting error in reed-solomon decoder
KR100212830B1 (en) Syndrome calculation apparatus of reed solomon decoder
KR100307583B1 (en) Reed-solomon decoder using modified chien search algorithm
KR100212825B1 (en) Syndrome calculating apparatus of reed solomon decoder
KR890000336B1 (en) R s decoder for single error correction
JPH08102680A (en) Method and device for correcting data
JPH1098391A (en) Method for encoding burst error of bch code

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee