KR100407131B1 - Reed solomon decoder using combinational circuits - Google Patents

Reed solomon decoder using combinational circuits Download PDF

Info

Publication number
KR100407131B1
KR100407131B1 KR10-1999-0003699A KR19990003699A KR100407131B1 KR 100407131 B1 KR100407131 B1 KR 100407131B1 KR 19990003699 A KR19990003699 A KR 19990003699A KR 100407131 B1 KR100407131 B1 KR 100407131B1
Authority
KR
South Korea
Prior art keywords
error
reed
inverse
solomon decoder
gates
Prior art date
Application number
KR10-1999-0003699A
Other languages
Korean (ko)
Other versions
KR20000055193A (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 KR10-1999-0003699A priority Critical patent/KR100407131B1/en
Publication of KR20000055193A publication Critical patent/KR20000055193A/en
Application granted granted Critical
Publication of KR100407131B1 publication Critical patent/KR100407131B1/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Abstract

본 발명은 입력된 데이터를 신드롬 테스트하여 얻어진 에러 심볼을 디코딩하는 리드-솔로몬 디코더에서, 상기 입력심볼들을 입력처리하는 다수개의 앤드게이트와 이 앤드게이트들의 출력신호를 논리연산하는 다수개의 오아게이트로 구성되어, b/a의 연산시 피젯수 a의 역수(c)를 구하기 위한 역수계산 조합회로부와; 상기 역수계산 조합회로부의 출력신호(b)와 출력신호(c)를 곱셈연산하고 다수개의 XOR게이트와 앤드게이트의 조합으로 구성된 곱셈연산 회로부를 포함하는 조합회로를 이용한 리드-솔로몬 디코더를 제공한다.The present invention is a reed-solomon decoder that decodes an error symbol obtained by syndrome test of input data, and comprises a plurality of AND gates for input processing the input symbols and a plurality of OGs for logical operation of output signals of the AND gates. A reciprocal calculation combining circuit unit for obtaining the reciprocal c of the pidget number a during the calculation of b / a; The present invention provides a Reed-Solomon decoder using a combination circuit including a multiplication operation circuit unit configured to multiply the output signal (b) and the output signal (c) by the inverse calculation combination circuit unit and combine a plurality of XOR gates and an AND gate.

상기와 같은 본 발명은 임의의 에러 가중치(a)가 입력되면 그에 대응하는 역수(c)가 출력되도록 발생 가능한 에러 가중치(a)의 역수(c)가 미리 패턴화되어 한정된 개수의 역수를 제공할 있게 하여 그 구현 비용이 저렴해지고 처리속도를 향상시킬 수 있게 된다.As described above, the present invention provides a limited number of reciprocals by patterning the inverse (c) of the error weights (a) that may occur so that an inverse (c) corresponding thereto is output when an arbitrary error weight (a) is input. This makes the implementation cost cheaper and improves the processing speed.

Description

조합회로를 이용한 리드-솔로몬 디코더{REED SOLOMON DECODER USING COMBINATIONAL CIRCUITS}Reed-Solomon Decoder Using Combination Circuits {REED SOLOMON DECODER USING COMBINATIONAL CIRCUITS}

본 발명은 디지탈 통신 시스템(Digital Communication System)의 수신단에 적용되는 리드-솔로몬 디코더(Reed Solomon decoder)에 관한 것으로서, 더욱 상세하게 말하면 리드-솔로몬 디코더에서 수행되는 임의의 나눗셈 연산을 별도의 프로세서 없이 조합회로로 구성하여 역수연산과 곱셈연산으로 처리하는 조합회로를 이용한 리드-솔로몬 디코더에 관한 것이다.The present invention relates to a Reed Solomon decoder applied to a receiving end of a digital communication system. More specifically, the present invention relates to a combination of arbitrary division operations performed in a Reed-Solomon decoder without a separate processor. The present invention relates to a Reed-Solomon decoder using a combination circuit composed of a circuit and processed by inverse and multiplication.

고도로 발달된 정보사회에서는 효율적이고 신속하며 신뢰할 수 있는 정보 전달 시스템이 절대적으로 요망된다. 이를 실현하기 위해서는 컴퓨터가 개입된 다양한 통신수단과 획기적인 기술혁신을 바탕으로 한 개선된 통신계의 재정비가 있어야 할 것이다. 그런데, 통신계에서 피할 수 없는 문제의 하나는 전송로(channel)상의 잡음으로 인한 오류의 발생인데 이로 인하여 정확한 정보전달이 어렵게 된다.In a highly developed information society, an efficient, fast and reliable information delivery system is absolutely required. To realize this, there must be a reorganization of the improved communication system based on various communication means involving computers and breakthrough technological innovation. However, one of the inevitable problems in the communication system is the occurrence of an error due to noise on a channel, which makes it difficult to accurately transmit information.

이러한 문제점을 극복하고 정보전달을 효율적으로 수행하기 위해서는 송신측에서 정보를 부호화하여 전송로상에서 발생한 오류를 수신측에서 효율적으로 정정할 수 있도록 해야 한다.In order to overcome this problem and efficiently perform information delivery, the transmitting side should encode information so that the receiving side can efficiently correct an error occurring on the transmission path.

오류정정을 효과적으로 수행하기 위하여 다양한 부호들이 등장하였는데 이들은 크게 블록부호(block code)와 길쌈부호(convolution code)로 나뉘어진다. 이 두 종류의 부호에 대한 부호기(encoder)간의 주된 차이는 전자는 기억장치를 포함하지 않는데 비하여 후자는 기억장치를 포함한다는 것이다.In order to perform error correction effectively, various codes have emerged, which are largely divided into block code and convolution code. The main difference between the encoders for these two types of codes is that the former does not contain memory, whereas the latter does contain memory.

블록부호는 선형부호(linear code)와 순회부호(cyclic code)로 나눌 수 있는데, 순회부호의 대표적인 예인 비시에이취(BCH : Bose - Chaudhuri Hocquenghem)부호는 비교적 구조가 간단하면서도 다중 오류를 정정할 수 있다는 장점이 있다.The block code can be divided into linear code and cyclic code. The BCH (Bose-Chaudhuri Hocquenghem) code, which is a representative example of the cyclic code, is relatively simple in structure and can correct multiple errors. There is an advantage.

이러한 비시에이취 부호는 2원(binary) 비시에이취 부호와 비2원(non-binary )비시에이취 부호로 나눌 수 있는데, 솔로몬 디코더에 적용되는 부호는 비2원 비시에이취 부호로서 지금까지 알려진 부호들 중에서 연집오류(burst error)를 정정하는데 가장 우수한 것으로 알려져 있다.These BSI codes can be divided into binary BSI codes and non-binary BSI codes. Codes applied to the Solomon decoder are non-binary BSI codes. It is known to be the best at correcting burst errors.

리드-솔로몬 부호는 RS(n,k)로 표시되며 (n-k)/2개의 심볼에러를 정정할 수 있다. 리드-솔로몬 부호는를 생성 다항식으로 가지며 k개의 직렬 심볼 입력을 g(x)로 나눈 후에 발생하는 나머지(n-k 심볼)를 붙여서 전송한다. 수신측에서는 입력되는 n개의 심볼을 다시 g(x)로 나누는데, 이때 입력되는 심볼에 에러가 있으면 신드롬 테스트 값이 '0"이 되지 않고 에러 심볼의 위치와 가중치를 결정해 준다.The Reed-Solomon code is represented by RS (n, k) and can correct (nk) / 2 symbol errors. Reed-Solomon code is Is a polynomial that is generated by dividing k serial symbol inputs by g (x) and sending the remainder (nk symbol) that occurs. The receiver divides the n input symbols into g (x) again. If there is an error in the input symbol, the syndrome test value does not become '0' and determines the position and weight of the error symbol.

리드-솔로몬 부호의 한 형태로 RS(17,15) code의 경우에는 15개의 심볼을 전송할 때 2개의 overhead 심볼을 붙여 전송한다. 1개의 심볼은 5개의 비트로 구성된다. 이에 따라 1개의 심볼을 정정할 수 있고 최대 5개의 비트에러를 정정할 수 있다. 도 1 에는 리드-솔로몬 코드의 인코딩부가 도시된다.In the case of the Reed-Solomon code, RS (17, 15) code transmits two overhead symbols when transmitting 15 symbols. One symbol consists of five bits. Accordingly, one symbol can be corrected and a maximum of five bit errors can be corrected. 1 shows an encoding part of a Reed-Solomon code.

도면에서은 5개의 병렬 레지스터(심볼)로 구성되어져 있으며, 인코딩 회로의 생성함수는 도시된 바와 같이이다. 15개의 심볼이 모두 지나가면에 나머지 값이 남는데 이것이 에러정정 패리티이다. 2개의 에러정정 패리티 중 1개의 심볼은 에러의 가중치(weighting)를 나타내고 나머지 1개의 심볼은 에러의 위치를 나타낸다. 갈로아 필드에서를 이용한다.In the drawing Is composed of 5 parallel registers (symbols), and the generation function of the encoding circuit is to be. When all 15 symbols have passed Wow The remaining value remains in error correction parity. One symbol of the two error correction parities represents the weighting of the error and the other symbol represents the location of the error. In the galoa field of Use

리드-솔로몬 디코더에 의한 복호동작은 다음과 같은 방법으로 이루어진다.The decoding operation by the Reed-Solomon decoder is performed in the following manner.

먼저 입력된 데이터를 이용하여 신드롬(syndrome)을 구하고 이를 이용하여 오류위치다항식(error locator polynomial)과 오류추정다항식(error evaluatorpolynomial)을 계산한다. 오류위치다항식과 오류추정다항식으로부터 오류의 위치와 값을 알아내어 입력 데이터에 오차를 보정함으로써 오류정정을 한다.First, a syndrome is obtained from the input data, and the error locator polynomial and the error evaluator polynomial are calculated using the syndrome. Error location polynomial and error estimation The error correction is performed by finding the location and value of the error from the polynomial and correcting the error in the input data.

위에서, 입력 데이터의 신드롬을 계산하는 방법에 관해서는 린 코스텔로(Lin Costello)의 Error control coding에 개시된 바 있다.Above, a method for calculating the syndrome of input data has been disclosed in Lin Costello's Error control coding.

한편, 송신단의 리드-솔로몬 인코더에 의해 부호화된 코드에 오류가 너무 많은 경우, 즉 수신단의 리드-솔로몬 디코더의 오류정정 능력을 초과할 경우에는 오류가 정정될 수 없다. 어떠한 데이터에 오류가 있는가 없는가 하는 것은 수신단 이후에 연결되는 신호처리부분에서 중요한 정보가 될 수 있다.On the other hand, if the code encoded by the Reed-Solomon encoder of the transmitter has too many errors, that is, if the error correction capability of the Reed-Solomon decoder of the receiver is exceeded, the error cannot be corrected. Whether or not there is an error in the data can be important information in the signal processing part connected after the receiving end.

도 1에는 종래의 리드-솔로몬 디코더의 구조가 도시된다.Figure 1 shows the structure of a conventional Reed-Solomon decoder.

도시된 바와 같이 수신 신호의 에러정정 기능을 사용할 경우와 그렇지 않을 경우를 구분하기 위한 게이트(1)와, 상기 게이트(1)를 통하여 수신된 신호를 신드롬 테스트하여 에러 가중치(a)와 에러의 위치를 유추할 수 있는 값(b)을 출력하는 신드롬 테스트부(2)와, 상기 b/a의 연산을 수행하는 나눗셈 연산부(3)와, 상기 나눗셈 연산부(3)의 출력으로부터 에러위치 및 에러값을 검출하는 에러 검출부(4)와, 상기 게이트(1)를 통하여 수신된 신호를 저장하는 n-stage buffer(5)와, 상기 에러 검출부(4)의 에러위치 및 에러값을 수신하고 상기 n-stage buffer(5)의 출력 데이터 신호를 수신하여 합산하여 에러를 정정한 후 출력하는 합산기(6)로 구성된다.As shown in the figure, a gate 1 for distinguishing between using an error correction function of a received signal and a case where the error correction function is not used and a signal received through the gate 1 are syndrome-tested to determine the error weight a and the position of the error. An error position and an error value from the output of the syndrome test unit 2 for outputting a value b that can be deduced, a division operation unit 3 for performing the operation of b / a, and an output of the division operation unit 3 An error detector 4 for detecting a signal, an n-stage buffer 5 for storing a signal received through the gate 1, an error position and an error value of the error detector 4, and receiving n- and a summer 6 for receiving and adding the output data signal of the stage buffer 5 to correct the error and outputting the error.

상기 신드롬 테스트부(2)는 에러 가중치(a)를 구하는 패리티(가중치) 체크 블록과 에러의 발생위치를 유추할 수 있는 값(b)을 계산하는 블록으로 이루어진다.The syndrome test unit 2 includes a parity (weighting) check block for obtaining an error weight a and a block for calculating a value b for inferring an error occurrence position.

도 3에는 상기 패리티(가중치)체크 블록이 도시된다. 도시된 바와 같이 패리티 체크 블록에서는 수신신호가일 경우를 계산한다.3 shows the parity (weight) check block. As shown in the parity check block, the received signal is If Calculate

도 4에는 에러의 발생위치를 계산하는 블록이 도시된다. 도시된 바와 같이값을 계산한다.4 shows a block for calculating the position of occurrence of an error. As shown Calculate the value.

상기 나눗셈 연산부(3)에서는 상기 패리티 체크 블록으로부터 얻어진과 에러의 발생위치를 계산하는 블록에서 얻어진를 이용하여연산하여 에러의 발생위치를 알아낼 수 있게 된다.In the division calculating section 3, obtained from the parity check block. Obtained from a block that calculates the occurrence of Using By calculating, you can find out where the error occurred.

RS(17,15) code의 경우를 들어 종래의 리드-솔로몬 디코더의 동작 및 효과를 설명한다.In the case of the RS (17, 15) code, the operation and effect of the conventional Reed-Solomon decoder will be described.

RS(17,15)code는 15개의 심볼에 두 개의 overhead 심볼을 추가하여 전체 17개의 심볼을 전송한다. 그리고, (17-5)/2=1의 에러심볼을 정정할 수 있다. 생성 다항식를 가지는데 이 식을 수신측에서 신드롬 테스트(syndrome test)을 할 때에도 사용한다. 신드롬 테스트는 신드롬 테스트부(2)에서 이루어지는 것으로 입력되는 15개의 심볼을로 나누어서 에러 심볼의 가중치(a)를 구한다(도 3에서의에 해당됨). 그리고 입력되는 심볼을로 나누어서 에러 심볼의 위치를 유추할 수 있는 값(b)을 구한다(도 4에서에 해당됨). 나눗셈 연산부(3)에서 b/a를 이행하고 에러 검출부(4)에서는 그 결과를 이용하여 에러 심볼의 위치와 값을 정확히 찾는다. 에러 정정부(6)에서는 이렇게 구해진 에러 심볼의 위치 및 그 값을 수신하고 n-stage buffer(5)에 에러정정을 위해 저장되어 있던 수신 데이터를 수신하여 XOR 게이트를 이용하여 에러를 정정하게 된다.RS (17,15) code transmits a total of 17 symbols by adding two overhead symbols to 15 symbols. Then, the error symbol of (17-5) / 2 = 1 can be corrected. Produce polynomials This expression is also used for the syndrome test at the receiving end. The syndrome test is carried out by the syndrome test section 2 and the 15 symbols inputted are medium Divide by to obtain the weight symbol a of the error symbol (in FIG. )). And input symbol Divide by to get the value (b) from which the location of the error symbol can be inferred (in FIG. 4). )). The division calculating section 3 executes b / a, and the error detecting section 4 uses the result to find the position and value of the error symbol accurately. The error correction unit 6 receives the position and the value of the error symbol thus obtained, receives the received data stored in the n-stage buffer 5 for error correction, and corrects the error using the XOR gate.

이때 상기 나눗셈 연산부(3)에는 CPU 또는 DSP칩이 사용되며, b/a의 계산을 쉬프트 레지스터에 의해 계산하게 됨으로써 너무 많은 시간이 소요되어 에러정정을 할 수 없게 된다.In this case, a CPU or DSP chip is used in the division calculating section 3, and the calculation of b / a is calculated by the shift register, so that too much time is required and error correction cannot be performed.

상술한 바와 같이 리드-솔로몬 부호는 비2원(non-binary)신호이기 때문에 신드롬 테스트에서 임의의 나눗셈 연산이 필요하다. 그래서 나눗셈 연산을 고속으로 처리할 수 있는 프로세서가 필요하다. 따라서 비용 및 처리 속도에서 많은 문제가 발생한다.As described above, since the Reed-Solomon code is a non-binary signal, a random division operation is required in the syndrome test. So we need a processor that can handle division operations at high speed. Therefore, many problems arise in cost and processing speed.

본 발명은 상기 문제점을 해결하기 위해 안출된 것으로, 리드-솔로몬 디코더에서 수행되는 임의의 나눗셈 연산을 별도의 프로세서 없이 조합회로로 구성하여 역수연산과 곱셈연산으로 처리하는 조합회로를 이용한 리드-솔로몬 디코더를 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and includes a reed-solomon decoder using a combination circuit configured to perform an inverse operation and a multiplication operation by forming a combination circuit without any processor. To provide that purpose.

상기 목적을 달성하기 위한 본 발명은 입력된 데이터를 신드롬 테스트하여 얻어진 에러 심볼을 디코딩하는 리드-솔로몬 디코더에서, 상기 입력심볼들을 입력처리하는 다수개의 앤드게이트와 이 앤드게이트들의 출력신호를 논리연산하는 다수개의 오아게이트로 구성되어, b/a의 연산시 피젯수 a의 역수(c)를 구하기 위한 역수계산 조합회로부와; 상기 역수계산 조합회로부의 출력신호(b)와 출력신호(c)를 곱셈연산하고 다수개의 XOR게이트와 앤드게이트의 조합으로 구성된 곱셈연산 회로부를 포함하는 조합회로를 이용한 리드-솔로몬 디코더를 제공한다.In order to achieve the above object, the present invention provides a logic method for performing logical operation on a plurality of AND gates for processing the input symbols and the output signals of the AND gates in a Reed-Solomon decoder which decodes an error symbol obtained by syndrome testing input data. A reciprocal calculation combining circuit portion composed of a plurality of oragates, for obtaining the reciprocal number c of the pidget number a during the calculation of b / a; The present invention provides a Reed-Solomon decoder using a combination circuit including a multiplication operation circuit unit configured to multiply the output signal (b) and the output signal (c) by the inverse calculation combination circuit unit and combine a plurality of XOR gates and an AND gate.

도 1 은 종래의 리드-솔로몬 디코더의 구조도,1 is a structural diagram of a conventional Reed-Solomon decoder,

도 2 는 일반적인 리드-솔로몬 코드의 인코딩블록도,2 is an encoding block diagram of a typical Reed-Solomon code,

도 3 은 일반적인 신드롬 테스트부의 패리티 체크 블록도,3 is a parity check block diagram of a general syndrome test unit;

도 4 는 일반적인 신드롬 테스트부의 에러 발생 위치를 계산하는 블록도,4 is a block diagram for calculating an error occurrence position of a general syndrome test unit;

도 5 는 본 발명의 일실시예에 의한 리드-솔로몬 디코더의 구조도,5 is a structural diagram of a Reed-Solomon decoder according to an embodiment of the present invention;

도 6 은 본 발명의 일실시예에 의한 역수 계산 조합부의 상세한 회로도,6 is a detailed circuit diagram of a reciprocal calculation combining unit according to an embodiment of the present invention;

도 7 은 본 발명의 일실시예에 의한 곱셈 연산부의 상세한 회로도,7 is a detailed circuit diagram of a multiplication operation unit according to an embodiment of the present invention;

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

10 : 게이트20 : 신드롬 테스트부10: gate 20: syndrome test unit

30 : 역수 계산 조합회로부40 : 곱셈 연산회로부30: inverse calculation combination circuit unit 40: multiplication calculation circuit unit

50 : 에러 검출부60 : n-stage buffer50: error detection unit 60: n-stage buffer

70 : 합산기70: summer

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

도 5에는 본 발명의 일실시예에 의한 리드-솔로몬 디코더의 구조가 도시된다.5 shows a structure of a Reed-Solomon decoder according to an embodiment of the present invention.

도시된 바와 같이 수신 신호의 에러정정 기능을 사용할 경우와 그렇지 않을 경우를 구분하기 위한 게이트(10)와, 상기 게이트(10)를 통하여 수신된 신호를 신드롬 테스트하여 에러 가중치(a)와 에러의 위치를 유추할 수 있는 값(b)을 출력하는 신드롬 테스트부(20)와, 상기 b/a의 연산시 피젯수 a의 역수(c)를 구하기 위한 역수 계산 조합회로부(30)와, 상기 b와 c의 곱셈을 수행하기 위한 곱셈연산 회로부(40)와, 상기 곱셈 연산 회로부(40)의 출력으로부터 에러위치 및 에러값을 검출하는 에러 검출부(50)와, 상기 게이트(10)를 통하여 수신된 신호를 저장하는 n-stage buffer(60)와, 상기 에러 검출부(50)의 에러위치 및 에러값을 수신하고 상기 n-stage buffer(60)의 출력 데이터 신호를 수신하여 합산하여 에러를 정정한 후 출력하는 합산기(70)로 구성된다.As shown in the figure, the gate 10 for distinguishing between the case of using the error correction function of the received signal and the other case and the syndrome received by the signal received through the gate 10 are syndrome-tested and the position of the error weight a and the error. Syndrome test unit 20 for outputting a value (b) that can be deduced, reciprocal calculation combination circuit unit 30 for calculating the inverse (c) of the pidget number a during the calculation of the b / a, and b and a multiplication operation circuit unit 40 for performing a multiplication of c, an error detection unit 50 for detecting an error position and an error value from an output of the multiplication operation circuit unit 40, and a signal received through the gate 10 Receives the n-stage buffer (60) and the error position and the error value of the error detection unit 50, and receives and sums the output data signal of the n-stage buffer (60) to correct the error and output Is composed of a summer 70.

상기와 같이 구성된 리드-솔로몬 디코더의 동작을 살펴보면 다음과 같다.The operation of the Reed-Solomon decoder configured as described above is as follows.

본 발명은 종래의 리드-솔로몬 디코더의 나눗셈 연산부(3)에서 이루지는 나눗셈 연산을 수행함에 있어 개선을 한 것이다.The present invention has been improved in performing the division operation performed in the division operation unit 3 of the conventional Reed-Solomon decoder.

즉, 상기 신드롬 테스트부(20)에서는 수신신호를 신드롬 테스트하여 에러의 가중치(a)와, 그 에러의 가중치(a)에 위치가 곱해진 값(b)을 알 수 있다. 그리고, b/a연산을 수행하게 되는데 본 발명에서는 더 이상 종래처럼 쉬프트 레지스터를 이용하지 않고 피젯수 부분(b/a에서 a)을 변경하였다. 즉, b/a를 b*1/a로 변경하였다.In other words, the syndrome test unit 20 may syndrome test the received signal to know a weight a of the error and a value b multiplied by a position of the weight a of the error. Then, the b / a operation is performed. In the present invention, the pidget portion (b / a to a) is changed without using the shift register. That is, b / a was changed to b * 1 / a.

이는 곱하기 연산에서는의 배분법칙이 성립하지만 나누기 연산에서는가 성립하지 않기 때문이다.This is a multiplication operation The distribution law of is true, but in division operation Is not true.

따라서, 상기 b/a의 연산을 수행함에 있어 b/a = b*1/a = b*c(c는 a의 역수)임을 이용하여 상기 역수 계산 조합회로(30)에서는 상기 신드롬 테스트부(20)로부터 구해진 a값을 입력받아 그 역수인 c를 구하고, 곱셈 연산회로부(40)에서는 그 c를 이용하여 b*c의 연산을 수행하여 b*(1/a)를 행하여 에러의 위치 값만을 추출해 낸다. 에러 검출부(50)에서는 이 값을 이용하여 에러 심볼의 위치 및 값을 검출하게 된다.Accordingly, in performing the operation of b / a, the syndrome test unit 20 in the reciprocal calculation combining circuit 30 uses b / a = b * 1 / a = b * c (c is an inverse of a). A value obtained from a) is obtained, and the inverse c is obtained. The multiplication operation unit 40 performs b * c operation using the c to perform b * (1 / a) to extract only the position value of the error. Serve The error detection unit 50 uses this value to detect the position and value of the error symbol.

상기 합산기(70)에서는 이렇게 구해진 에러 심볼의 위치 및 값을 이용하여 상기 n-stage buffer(60)를 지나온 수신신호중 에러가 발생한 심볼의 위치에 에러의 가중치를 XOR 연산을 하여 에러를 정정한다. 그런 다음 신드롬 테스트부(20)를 다시 초기화하여 다음 수신 신호를 받을 준비를 한다.The summer 70 corrects the error by performing an XOR operation on the weight of the error at the position of the symbol in which the error occurred among the received signals passing through the n-stage buffer 60 by using the position and the value of the error symbol thus obtained. Then reinitialize the syndrome test unit 20 to prepare to receive the next received signal.

도 6에는 상기 역수 계산 조합부의 구체적인 회로가 도시된다.6 shows a specific circuit of the reciprocal calculation combining unit.

도면에서 SO_1 ∼ SO_5는 신드롬 테스트를 통하여 얻어진 에러의 가중치(a)를 나타내는 5비트이며, DIV1 ∼ DIV5는 a의 역수(c)를 나타내는 5비트를 표시한다. 도시된 바와 같은 조합회로는 임의의 에러 가중치(a)가 입력되면 그에 대응하는 역수(c)가 출력되도록 발생 가능한 에러 가중치(a)의 역수(c)가 미리 패턴화되어 한정된 개수의 역수를 제공하도록 조합되어 있다.In the figure, SO_1 to SO_5 are five bits representing the weight a of the error obtained through the syndrome test, and DIV1 to DIV5 represent five bits representing the inverse c of a. The combination circuit shown in FIG. 5 provides a limited number of inverses by inversely patterning the inverse number c of the error weights a that can occur so that a corresponding inverse number c is outputted when an arbitrary error weight value a is input. To be combined.

이러한 조합회로를 설계하기 위해서는 전술한 바와 같이 갈로아 필드라는 수학개념이 이용되는데 리드-솔로몬 코드에서는 하나의 심볼이 5비트이기 때문에이다.이다. 5비트로 구성된 심볼이므로 심볼은개의 경우의 수를 가진다. 따라서, 필요한 역수는 32의 경우의 수를 가지는데 32개의 각각의 역수를 미리 다 구하여 표를 만든다. 여기서 구한 표를 최적화하는데 카누-맵이 사용되며 따라서, 도 6에 도시된 조합회로는 카누-맵 또는 테이블 방법을 사용하여 최적화하여 역수를 구하도록 조합된 회로이다. 에러 가중치(a)를 나타내는 5비트로 이루어지는 2진값 경우의 수(32)만큼의 역수만이 생성하면 되므로 도시된 바와 같은 간략한 조합회로를 설계하여 종래의 CPU 또는 DSP칩과 그 연산에 따른 쉬프트 레지스터가 필요없게 하였다.To design such a combination circuit, a mathematical concept called a galoa field is used as described above. In Reed-Solomon code, one symbol is 5 bits. to be. to be. Since the symbol consists of 5 bits, Has the number of cases. Therefore, the required reciprocal has 32 cases, and each of the 32 reciprocals is obtained in advance to form a table. A canoe map is used to optimize the table obtained here. Thus, the combination circuit shown in FIG. 6 is a circuit combined to obtain the inverse by optimizing using a canoe map or a table method. Since only a reciprocal of the number 32 of binary values consisting of 5 bits representing the error weight a needs to be generated, a simple combination circuit as shown is designed to provide a conventional CPU or DSP chip and a shift register according to its operation. It was not necessary.

도 7에는 상기 곱셈 연산부의 구체적인 회로가 도시된다. 도면에서 A1 ∼ A5, B1 ∼ B5, C1 ∼ C5, D1 ∼ D5, E1 ∼ E5는 상기 b*c를 수행하여 얻어진 값들이다. 이 값들을 이용하여 에러 검출부(50)에서는 에러의 위치와 값을 구하게 되는 것이다. DS1_1 ∼ DS1_5는 신드롬 테스트부(20)로부터 얻어진 b의 1클럭 지연값들을 나타내며, DIV_Y1 ∼DIV_Y5는 역수 계산 조합부(30)로부터 얻어진 c(DIV1 ∼ DIV5)를 1클럭 지연시킨 값들을 나타낸다. 곱셈 연산 회로부가 다수개의 AND 게이트와 XOR 게이트로 구성되는 이유는 GF(갈로아 필드)의 특수성 때문이다.7 shows a specific circuit of the multiplication operation unit. In the drawings, A1 to A5, B1 to B5, C1 to C5, D1 to D5, and E1 to E5 are values obtained by performing b * c. Using these values, the error detector 50 obtains the position and value of the error. DS1_1 to DS1_5 represent one clock delay values of b obtained from the syndrome test section 20, and DIV_Y1 to DIV_Y5 represent values obtained by one clock delay of c (DIV1 to DIV5) obtained from the inverse calculation combination section 30. The reason why the multiplication operation circuit portion is composed of multiple AND gates and XOR gates is because of the uniqueness of the GF (galoa field).

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정된 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러가지 치환, 변환 및 변경이 가능한 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common knowledge in the art that various substitutions, conversions, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those who have

상술한 바와 같이 본 발명에 의하여 임의의 나눗셈 회로를 조합형태로 구현하면, 쉬프트 레지스터를 이용하여 연산하던 종래에 비하여 나눗셈 연산을 위하여 레지스터의 시간지연이 줄어들게 됨으로 그 구현 비용이 저렴해지고 처리속도를 향상시킬 수 있게 된다.As described above, when the arbitrary division circuit is implemented in a combination form according to the present invention, the time delay of the register is reduced for the division operation, compared to the conventional operation using the shift register, thereby reducing the implementation cost and improving the processing speed. You can do it.

특히, 종래에는 리드-솔로몬 코드를 위해서는 별도의 상용화된 RS code 칩이 사용되어야 했으나 본 발명의 역수 계산 조합회로를 구현함에 있어 필요한 개수의 역수만이 출력되도록 카누-맵을 통하여 최적의 조합회로를 구성함으로써 종래의 RS code 칩을 대신할 수 있는 효과를 제공한다.In particular, a conventional commercially available RS code chip has to be used for the Reed-Solomon code. However, in order to implement the reciprocal calculation combination circuit of the present invention, an optimum combination circuit is output through a canoe map. The configuration provides an effect that can replace the conventional RS code chip.

Claims (3)

입력된 데이터를 신드롬 테스트하여 얻어진 에러 심볼을 디코딩하는 리드-솔로몬 디코더에 있어서,A Reed-Solomon decoder for decoding an error symbol obtained by syndrome test of input data, 상기 입력심볼들을 입력처리하는 다수개의 앤드게이트와 이 앤드게이트들의 출력신호를 논리연산하는 다수개의 오아게이트로 구성되어, b/a의 연산시 피젯수 a의 역수(c)를 구하기 위한 역수계산 조합회로부와;A reciprocal calculation combination for calculating an inverse (c) of the number of pidgets a when calculating b / a, comprising a plurality of AND gates for input processing the input symbols and a plurality of OA gates for logical operation of output signals of the AND gates. A circuit section; 상기 역수계산 조합회로부의 출력신호(b)와 출력신호(c)를 곱셈연산하고 다수개의 XOR게이트와 앤드게이트의 조합으로 구성된 곱셈연산 회로부를 포함하는 것을 특징으로 하는 조합회로를 이용한 리드-솔로몬 디코더.Reed-Solomon decoder using a combination circuit characterized in that the multiplication operation of the output signal (b) and the output signal (c) of the inverse calculation combination circuit unit and a combination of a plurality of XOR gate and the end gate . 삭제delete 제 1 항에 있어서, 상기 역수 계산 조합회로부는 임의의 에러 가중치(a)가 입력될 경우 그에 대응하는 역수(c)가 출력되도록 발생 가능한 에러 가중치(a)의 역수(c)가 미리 카누-맵을 통해 패턴화되어 한정된 개수의 역수를 제공하는 조합회로인 것을 특징으로 하는 조합회로를 이용한 리드-솔로몬 디코더.According to claim 1, wherein the reciprocal calculation combination circuit unit is inverse of the error weight (a) that can be generated so that the corresponding reciprocal (c) when a certain error weight (a) is input canoe-map Reed-Solomon decoder using a combination circuit, characterized in that the combination circuit is patterned through to provide a limited number of inverse.
KR10-1999-0003699A 1999-02-04 1999-02-04 Reed solomon decoder using combinational circuits KR100407131B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0003699A KR100407131B1 (en) 1999-02-04 1999-02-04 Reed solomon decoder using combinational circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0003699A KR100407131B1 (en) 1999-02-04 1999-02-04 Reed solomon decoder using combinational circuits

Publications (2)

Publication Number Publication Date
KR20000055193A KR20000055193A (en) 2000-09-05
KR100407131B1 true KR100407131B1 (en) 2003-11-28

Family

ID=19573306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0003699A KR100407131B1 (en) 1999-02-04 1999-02-04 Reed solomon decoder using combinational circuits

Country Status (1)

Country Link
KR (1) KR100407131B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980040847A (en) * 1996-11-29 1998-08-17 배순훈 Error value calculation and correction device of Reed Solomon decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980040847A (en) * 1996-11-29 1998-08-17 배순훈 Error value calculation and correction device of Reed Solomon decoder

Also Published As

Publication number Publication date
KR20000055193A (en) 2000-09-05

Similar Documents

Publication Publication Date Title
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
JP3256517B2 (en) Encoding circuit, circuit, parity generation method, and storage medium
US20020023246A1 (en) Combination reed-solomon and turbo coding
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
US5936978A (en) Shortened fire code error-trapping decoding method and apparatus
US20140195881A1 (en) Bose-chaudhuri-hocquenghem (bch) decoder
US7058876B1 (en) Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial
JPH0728227B2 (en) Decoding device for BCH code
US8631307B2 (en) Method for encoding and/or decoding multimensional and a system comprising such method
EP1102406A2 (en) Apparatus and method for decoding digital data
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
Potey et al. Error Detection and Correction Capability for BCH Encoder using VHDL
US11804855B2 (en) Pipelined forward error correction for vector signaling code channel
US6081920A (en) Method and apparatus for fast decoding of a Reed-Solomon code
Hanumanthakari et al. Design and analysis of high reliable fault tolerance subsystem for micro computer systems
KR100407131B1 (en) Reed solomon decoder using combinational circuits
US20020124223A1 (en) Soft input - soft output forward error correction decoding for turbo codes
US3500320A (en) Error correcting means for digital transmission systems
JPH06276106A (en) Error correcting/decoding device
KR0149298B1 (en) Reed-solomon decoder
KR0155762B1 (en) Reed-solomon decoder enable to correct error
RU2282307C2 (en) Method for syndrome decoding for convolution codes
JP3268926B2 (en) Error correction circuit
Hajare et al. Design and Implementation of Parallel CRC Generation for High Speed Application
KR20040073642A (en) Decoder of Reed-Solomon code with variable error correcting capability

Legal Events

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

Payment date: 20111011

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20121015

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee