KR100226837B1 - Apparatus for error correction of digital tv - Google Patents

Apparatus for error correction of digital tv Download PDF

Info

Publication number
KR100226837B1
KR100226837B1 KR1019970053005A KR19970053005A KR100226837B1 KR 100226837 B1 KR100226837 B1 KR 100226837B1 KR 1019970053005 A KR1019970053005 A KR 1019970053005A KR 19970053005 A KR19970053005 A KR 19970053005A KR 100226837 B1 KR100226837 B1 KR 100226837B1
Authority
KR
South Korea
Prior art keywords
error
polynomial
syndrome
generator
data
Prior art date
Application number
KR1019970053005A
Other languages
Korean (ko)
Other versions
KR19990032073A (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 KR1019970053005A priority Critical patent/KR100226837B1/en
Publication of KR19990032073A publication Critical patent/KR19990032073A/en
Application granted granted Critical
Publication of KR100226837B1 publication Critical patent/KR100226837B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems

Landscapes

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

Abstract

데이터 전송 시 발생하는 디지털 TV의 에러 정정 장치에 관한 것으로서, 특히 정정 데이터의 신드롬 다항식을 다시 계산하여 정정 데이터의 신드롬 다항식이 0이면 정정 데이터를 최종 데이터로 출력하고, 정정 데이터의 신드롬 다항식이 0이 아니면 정정되지 않은 원래의 데이터를 최종 데이터로 출력함으로써, 채널 상에서 t개 이상의 에러가 발생하였을 경우 R-S 디코더의 오동작에 의해 생기는 오류를 방지하고, 또한, 신드롬 발생기, 에러 위치 발생부, 에러 평가 발생부에서 보통 곱셈기 대신 상수 갈로아 필드 곱셈기를 사용하여 곱셈을 수행하고, 더불어 에러 위치 발생부와 에러 평가 발생부를 유사한 셀 기초(Based) 구조를 갖도록 설계함으로써, VLSI로 집적시 집적도를 향상시켜 칩 사이즈를 줄이고 비용을 감소시키며, 상기 신드롬 발생기는 신드롬 다항식을 병렬로 출력하고, 유클리디언 디바이더는 이를 병렬로 로딩하도록 함으로써, 디바이딩 연산 수행 시간을 단축시키고 이로인해 FIFO 램의 크기를 줄인다.The present invention relates to an error correction apparatus of a digital TV that occurs during data transmission. In particular, when the syndrome polynomial of the correction data is recalculated and the syndrome polynomial of the correction data is 0, the correction data is output as the final data, and the syndrome polynomial of the correction data is 0. Otherwise, the uncorrected original data is output as final data, thereby preventing errors caused by malfunction of the RS decoder when t or more errors occur on the channel, and further including a syndrome generator, an error position generator, and an error evaluation generator. Multiply by using a constant Galois field multiplier instead of the normal multiplier, and design the error position generator and error estimation generator to have a similar cell-based structure to improve integration density in VLSI. And reduce the cost, the syndrome generator is a syndrome Hangsik outputs in parallel, and shorten the time Dividing operation performed by Euclidean divider to load them in parallel and This reduces the size of the FIFO RAM.

Description

디지털 티브이의 에러 정정 장치Digital TV's Error Correction Device

본 발명은 데이터 전송 시 발생하는 에러를 정정하는 장치에 관한 것으로서, 특히 디지털 티브이(TV)의 하이 스피드 리드-솔로몬(High Speed Reed-Solomon) 디코더에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for correcting errors occurring during data transmission, and more particularly, to a high speed reed-solomon decoder of a digital TV.

일반적인 데이터 전송 시스템은 데이터를 전송하는 과정에서 외부 또는 내부의 노이즈에 의하여 발생하는 에러를 복원하기 위하여 채널 코딩 기법을 사용한다. 이중에서 가장 널리 사용되는 코드가 리드-솔로몬 코드이다. 그리고, 하이 데이터 레이트(Data Rate)를 필요로 하는 고화질 티브이(HDTV) 전송 시스템에서도 R-S 코드를 채택하고 있다.A general data transmission system uses a channel coding technique to recover an error caused by external or internal noise during data transmission. The most widely used code is the Reed-Solomon code. In addition, high-definition TV (HDTV) transmission system that requires a high data rate (R-S) code is adopted.

이러한 광범위한 R-S 코드를 디코딩할 수 있는 기술이 미국특허 4,873,688에 개시되어 있으며, 종래 기술로서 도 1에 도시되어 있다.A technique capable of decoding such a wide range of R-S codes is disclosed in US Pat. No. 4,873,688, which is shown in FIG. 1 as a prior art.

도 1을 보면, 신드롬(Syndrome) 발생기(33), 유클리드(Euclid) 디바이더(Divider)(34), 유클리드 곱셈기(Multiplier)(35), 다항식 해석(Polynomial Solver)부(36), 인버스 롬(Inverse Rom)(37), 에러 정정부(38), 및 선입선출(First In First Output ; FIFO) 램(39)으로 구성된 유클리디언 알고리즘을 사용하여 하이 스피드 리얼 타임 R-S 디코더를 구현하고 있다. 이와같이 구성된 도 1은 i) 신드롬 발생기(33), ii) 유클리드 디바이더(34) 및 유클리드 곱셈기(35), iii) 다항식 해석부(36) 및 에러정정부(38), iv) 에러정정 정정부(39)로부터의 출력 데이터로 된 4개의 파이프라인 구조를 갖고 있으므로, 4개의 수신된 블록 데이터를 저장할 수 있는 FIFO 램(39)이 필요하게 된다.Referring to FIG. 1, a syndrome generator 33, an Euclid divider 34, a Euclid multiplier 35, a polynomial solver 36, an inverse ROM A high speed real time RS decoder is implemented by using a Euclidean algorithm composed of Rom (37), an error correcting unit (38), and a First In First Output (FIFO) RAM (39). 1 is configured such that i) syndrome generator 33, ii) Euclidean divider 34 and Euclidean multiplier 35, iii) polynomial analysis unit 36 and error correction unit 38, iv) error correction correction unit ( Since there are four pipeline structures of output data from 39, a FIFO RAM 39 is needed that can store four received block data.

즉, 먼저 수신된 다항식(32)은 신드롬 발생기(33)와 FIFO 램(39)으로 입력된다. 상기 신드롬 계산기(33)는 블록 단위의 데이터가 모두 입력되면 2t(t는 에러정정 가능한 개수)개의 신드롬을 계산하여 유클리드 디바이더(34)와 유클리드 곱셈기(35)로 출력한다. 상기 유클리드 디바이더(34)는 신드롬을 입력받아 에러 평가 다항식 Ω(x)의 계수를 검출하고, 유클리드 곱셈기(35)는 에러 위치 다항식 Λ(x)의 계수를 생성하여 다항식 해석부(36)로 출력한다. 상기 다항식 해석부(36)는 상기 에러 평가 다항식 Ω(x)의 계수와 에러 위치 다항식 Λ(x)의 계수를 입력받아 에러 위치 다항식 Λ(x)의 근(Root)과 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)|x=root,에러 평가 다항식 Ω(x)의 근 Ω(x)|x=root를 각각 구하게 된다. 이 값들이 에러 정정부(38)로 입력되어 에러의 크기(Magnitude)를 결정하게 되며, FIFO 램(39)으로부터 입력되는 원래의 데이터와 배타적 오아링되어 에러를 정정함에 의해 정정 데이터를 출력하게 된다.That is, the polynomial 32 received first is input to the syndrome generator 33 and the FIFO RAM 39. The syndrome calculator 33 calculates 2t syndromes (t is an error correctable number) when all data in block units are input, and outputs the syndromes to the Euclidean divider 34 and the Euclidean multiplier 35. The Euclidean divider 34 receives the syndrome and detects the coefficient of the error evaluation polynomial? (X), and the Euclidean multiplier 35 generates the coefficient of the error position polynomial Λ (x) and outputs it to the polynomial analysis unit 36. do. The polynomial analysis unit 36 receives the coefficient of the error evaluation polynomial Ω (x) and the coefficient of the error position polynomial Λ (x) and the root and error position polynomial Λ (x) of the error position polynomial Λ (x). First derivative of Λ '(x) | x = root , Error Evaluation The root of the polynomial Ω (x) Ω (x) | You will get x = root respectively. These values are input to the error correction unit 38 to determine the magnitude of the error, and are exclusively ORed with the original data input from the FIFO RAM 39 to correct the error and output the correction data. .

그러나, 상기된 종래 기술은 에러가 올바르게 수정되었는지의 확인이 없이 바로 데이터를 출력하여 다음 블록으로 전송하므로 t-에러 정정 R-S 코드에서 전송 채널 상에서 에러가 t개 이상 발생하였을 경우 R-S 디코더가 오동작을 하게된다. 즉, R-S 디코더가 정정할 수 있는 에러의 개수를 t개라 하면, 전송 채널 상에서 노이즈에 의하여 t개 이상의 에러가 발생하였을 경우 원래 수신된 데이터를 그대로 출력해야 한다. 만일 이 경우에 에러 정정부에서 구해진 에러 값(잘못 정정된 데이터)과 원래 데이터를 배타적 오아링하면 오히려 원래 수신된 데이터보다 더 에러를 발생시킬 가능성이 크기 때문이다.However, the above-described prior art outputs data directly to the next block without checking whether the error is corrected correctly. Therefore, the RS decoder malfunctions when more than t errors occur on the transmission channel in the t-error correcting RS code. do. That is, if the number of errors that can be corrected by the R-S decoder is t, when the t or more errors occur due to noise on the transmission channel, the originally received data should be output as it is. This is because in this case, if the exclusive value of the error value (incorrectly corrected data) obtained from the error correction unit and the original data are exclusively generated, the error is more likely to occur than the originally received data.

그리고, 상기 신드롬 발생기(33)는 일반적인 보통 곱셈기를 사용하여 신드롬을 계산하므로 게이트 수가 많아지게 되고, 이로인해 VLSI로 집적화시 디자인이 어렵고 복잡하여 집적도가 떨어지며 비용 상승의 원인이 된다.In addition, since the syndrome generator 33 calculates syndromes using a general ordinary multiplier, the number of gates increases, which is difficult to design and complicated when integrating with VLSI, resulting in a low cost and an increase in cost.

또한, 상기 유클리드 디바이더(34)는 신드롬 다항식 S(x)를 셀(Cell) 0부터 최상위 차수의 계수까지 시리얼 로딩을 하도록 되어 있다. 이럴 경우 S(x)의 계수가 모두 2t개이고, 나누기 연산을 하는데 필요한 클럭 사이클 수가 최대 2t 사이클이 요구되므로 총 4t 클럭 사이클이 필요하게 된다. 따라서, 처리시간(Latency)이 늘어나고 이로인해 FIFO 램(39)의 크기가 커진다.In addition, the Euclidean divider 34 is configured to serially load the syndrome polynomial S (x) from cell 0 to the coefficient of the highest order. In this case, since all the coefficients of S (x) are 2t and the number of clock cycles required for the division operation is required up to 2t cycles, a total of 4t clock cycles are required. Therefore, the processing time (Latency) is increased, thereby increasing the size of the FIFO RAM 39.

또한, 4개의 파이프라인 구조를 갖고 있으므로, FIFO 램(39)은 최대 4개의 수신된 블록 데이터를 저장할 수 있어야 하고 이로인해 FIFO 램(39)의 크기는 더욱 커진다.In addition, since it has four pipeline structures, the FIFO RAM 39 should be able to store up to four received block data, thereby making the size of the FIFO RAM 39 even larger.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 GA HDTV와 같은 디지털 TV 규격에 일치하는 R-S 디코더를 VLSI(Very Large Scale Integrated Circuit)로 집적시 집적도를 향상시킬 수 있도록 하는 디지털 TV의 에러 정정 장치를 제공함에 있다.The present invention has been made to solve the above problems, an object of the present invention is to digitally improve the integration degree when the RS decoder that conforms to the digital TV standard, such as GA HDTV to the VLSI (Very Large Scale Integrated Circuit) An error correction apparatus for a TV is provided.

본 발명의 다른 목적은 수신된 데이터 또는 정정된 데이터의 신드롬 발생시 상수 갈로아 필드 곱셈기를 이용하여 곱셈을 수행하도록 하는 디지털 TV의 에러 정정 장치를 제공함에 있다.Another object of the present invention is to provide an error correction apparatus of a digital TV that performs multiplication by using a constant Galoa field multiplier when a syndrome of received data or corrected data is generated.

본 발명의 또다른 목적은 신드롬 다항식을 한 클럭 사이클동안 병렬로 로딩하여 에러 평가 다항식의 계수를 구하도록 하는 디지털 TV의 에러 정정 장치를 제공함에 있다.It is still another object of the present invention to provide an error correction apparatus of a digital TV which loads syndrome polynomials in parallel for one clock cycle to obtain coefficients of error evaluation polynomials.

본 발명의 또다른 목적은 정정 데이터의 신드롬을 다시 계산하여 정정된 데이터가 올바르게 정정되었는지를 판별하고 판별 결과에 따라 원래의 데이터 또는 정정 데이터를 최종 데이터로 선택 출력하도록 하는 디지털 TV의 에러 정정 장치를 제공함에 있다.It is still another object of the present invention to provide an error correction apparatus for a digital TV that recalculates a syndrome of corrected data to determine whether corrected data is corrected correctly and to selectively output original data or corrected data as final data according to the determination result. In providing.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지탈 TV의 에러정정 장치는 신드롬 발생기, 유클리디언 디바이더/곱셈기, 에러 평가 발생부, 에러 위치 발생부, 에러 다항식 발생부, 에러 정정부, 메모리, 에러 확인 및 데이터 출력부로 구성됨을 특징으로 한다.The error correction apparatus of the digital TV according to the present invention for achieving the above object is a syndrome generator, Euclidean divider / multiplier, an error evaluation generator, an error position generator, an error polynomial generator, an error correction unit, a memory, It is characterized by consisting of error checking and data output.

본 발명은 메시지 다항식 M(x)에 2t(t는 정정 가능한 에러의 수)개의 패리티 비트가 추가되어 만들어진 R-S 코드 워드 다항식 C(x)가 전송되면 상기 신드롬 발생기는 곱셈 수행시 상수 갈로아 필드 곱셈기를 이용하여 수신되는 다항식 R(x)의 신드롬 다항식 S(x)를 발생하여 병렬로 출력함을 특징으로 한다.According to the present invention, if the RS code word polynomial C (x) formed by adding 2t (t is the number of correctable errors) parity bits to the message polynomial M (x) is transmitted, the syndrome generator is a constant Galois field multiplier when performing multiplication. It is characterized by generating a syndrome polynomial S (x) of the polynomial R (x) received using and output in parallel.

본 발명에 따른 유클리디언 디바이더/곱셈기는 상기 신드롬 발생기에서 발생된 신드롬 다항식 S(x)를 병렬로 로딩하여 에러 평가 다항식 Ω(x)의 계수와 에러 위치 다항식 Λ(x)의 계수를 각각 구함을 특징으로 한다.The Euclidean divider / multiplier according to the present invention loads the syndrome polynomial S (x) generated in the syndrome generator in parallel to obtain the coefficient of the error evaluation polynomial Ω (x) and the coefficient of the error position polynomial Λ (x), respectively. It is characterized by.

본 발명에 따른 에러 평가 발생부는 상기 유클리디언 디바이더에서 발생된 에러 평가 다항식 Ω(x)에 α-N+1부터 α0까지 지수를 증가하면서 순차적으로 대입시킴에 의해 에러 평가 다항식 Ω(x)의 근을 구함을 특징으로 한다.Error evaluation polynomial Ω (x) by sequentially substituting the error evaluation polynomial Ω (x) generated from the Euclidean divider while increasing the exponent from α -N + 1 to α 0 . It is characterized by finding the root of.

본 발명에 따른 에러 평가 발생부는 상수 갈로아 필드 곱셈기를 사용하여 곱셈을 수행함을 특징으로 한다.The error evaluation generator according to the present invention is characterized by performing a multiplication using a constant galoa field multiplier.

본 발명에 따른 에러 위치 발생부는 상기 유클리디언 곱셈기에서 발생된 에러 위치 다항식 Λ(x)에 α-N+1부터 α0까지 지수를 증가하면서 순차적으로 대입시킴에 의해 에러 위치 다항식 Λ(x)의 근을 구하여 Λ(αi)=0을 만족하는 x=αi의 위치를 발생함을 특징으로 한다.The error position polynomial Λ (x) by sequentially substituting the error position polynomial Λ (x) generated by the Euclidean multiplier while increasing the exponent from α -N + 1 to α 0 , is increased. It is characterized by generating the position of x = α i satisfying Λ (α i ) = 0 by finding the root of.

본 발명에 따른 에러 위치 발생부는 상기 유클리디언 곱셈기에서 발생된 에러 위치 다항식 Λ(x)에 α-N+1부터 α0까지 지수를 증가하면서 순차적으로 대입시킨 후 홀수 텀의 계수들만을 추출함에 의해 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)를 출력함을 특징으로 한다.Position error generation unit according to the invention as extract only the Euclidean then with the error location polynomial generated in multiplier Λ (x) increase in the indices from -N + α 1 to α 0 is substituted to the sequence of odd coefficient terms The first order differential function Λ '(x) of the error position polynomial Λ (x) is output.

본 발명에 따른 에러 위치 발생부는 상수 갈로아 필드 곱셈기를 사용하여 곱셈을 수행함을 특징으로 한다.The error position generator according to the present invention is characterized by performing a multiplication using a constant galoa field multiplier.

본 발명에 따른 에러 다항식 발생부는 상기 에러 평가 발생부의 출력 Ω(αi)과 에러 위치 발생부에서 계산된 에러 위치 그리고, 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)를 포니 알고리즘에 적용하여 에러 다항식 E(x)를 구함을 특징으로 한다.The error polynomial generator according to the present invention includes an output? (Α i ) of the error evaluation generator, an error position calculated by the error position generator, and a first-order differential function Λ '(x) of the error position polynomial Λ (x). The error polynomial E (x) is obtained by applying the algorithm.

본 발명에 따른 에러 확인 및 데이터 출력부는 상기 에러 정정부에서 정정된 데이터의 신드롬을 계산하여 정정 데이터가 올바르게 정정되었는지를 판별하고 판별 결과에 따라 정정되지 않은 원 데이터 또는 상기 에러 정정부에서 정정된 데이터를 최종 데이터로 선택 출력함을 특징으로 한다.The error checking and data output unit according to the present invention calculates a syndrome of the data corrected by the error correcting unit to determine whether the corrected data is corrected correctly, and the raw data or data corrected by the error correcting unit according to the determination result. Select output as final data.

도 1은 종래의 디지털 TV의 에러 정정 장치의 구성 블록도1 is a block diagram of an error correction apparatus of a conventional digital TV

도 2는 본 발명에 따른 디지털 TV의 에러 정정 장치의 구성 블록도2 is a block diagram of an error correction apparatus of a digital TV according to the present invention;

도 3은 도 2의 신드롬 발생기의 상세 블록도3 is a detailed block diagram of the syndrome generator of FIG.

도 4는 도 2의 유클리디언 디바이더의 상세 블록도4 is a detailed block diagram of the Euclidean divider of FIG.

도 5는 도 2의 에러 위치 발생부의 상세 블록도5 is a detailed block diagram of the error position generator of FIG. 2;

도 6은 도 2의 에러 평가 발생부의 상세 블록도FIG. 6 is a detailed block diagram of the error evaluation generator of FIG. 2. FIG.

도 7은 도 2의 에러 다항식 발생부의 상세 블록도7 is a detailed block diagram of the error polynomial generator of FIG.

도 8은 도 2의 에러 확인 및 데이터 출력부의 상세 블록도8 is a detailed block diagram of the error checking and data output unit of FIG. 2;

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

101 : 신드롬 발생기 102 : 유클리디언 디바이더101: syndrome generator 102: Euclidean divider

103 : 유클리디언 곱셈기 104 : 에러 평가 발생부103: Euclidean multiplier 104: Error evaluation generator

105 : 에러 위치 발생부 106 : 에러 다항식 발생부105: error position generator 106: error polynomial generator

107 : FIFO 램 108 : 에러 정정부107: FIFO RAM 108: error correction unit

109 : 에러 확인 및 데이터 출력부109: error check and data output unit

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

도 2는 본 발명에 따른 디지탈 TV의 에러정정 장치의 전체 구성 블록도로서, 수신된 다항식 R(x)로부터 신드롬 S(x)을 발생하여 병렬로 출력하는 신드롬 발생기(101), 상기 신드롬 발생기(101)에서 발생된 신드롬 S(x)를 병렬로 로딩하여 에러 평가 다항식 Ω(x)의 계수를 구하는 유클리디언 디바이더(102), 상기 신드롬 발생기(101)에서 발생된 신드롬을 입력받아 에러 위치 다항식 Λ(x)의 계수를 구하는 유클리디언 곱셈기(103), 상기 유클리디언 디바이더(102)에서 발생된 에러 평가 다항식 Ω(x)의 계수를 이용하여 에러 평가 다항식 Ω(x)의 근을 구함에 의해 에러 크기를 추정하는 에러 평가 발생부(104), 상기 유클리디언 곱셈기(103)의 에러 위치 다항식 Λ(x)의 근을 구하여 에러 위치를 추정하고 에러 위치 다항식 Λ(x)의 1차 미분값 Λ'(αi)·αi을 출력하는 에러 위치 발생부(105), 상기 에러 평가 발생부(104)에서 구한 에러 평가 다항식 Ω(x)의 근과 에러 위치 발생부(105)에서 구한 에러 위치 그리고, 에러 위치 다항식 Λ(x)의 1차 미분함수 Λ'(αi)·αi을 이용하여 에러 값을 구하는 에러 다항식 발생부(106), 수신된 다항식을 저장하는 FIFO 램(107), 상기 에러 다항식 발생부(106)의 에러 값과 FIFO 램(107)에 저장된 원래의 데이터를 배타적 오아링하여 에러를 정정하는 에러 정정부(108), 및 에러 정정부(108)에서 정정된 데이터의 신드롬을 계산하여 정정 데이터가 올바르게 정정되었는지를 판별하고 판별 결과에 따라 상기 FIFO 램(108)에 저장된 원 데이터 또는 정정 데이터를 최종 데이터로 선택 출력하는 에러 확인 및 데이터 출력부(109)로 구성된다.FIG. 2 is a block diagram of an overall error correction apparatus of a digital TV according to the present invention. The syndrome generator 101 generating the syndrome S (x) from the received polynomial R (x) and outputting the syndrome S (x) in parallel, the syndrome generator ( 101. The Euclidean divider 102, which loads the syndrome S (x) generated in parallel and obtains the coefficient of the error evaluation polynomial Ω (x), receives the syndrome generated by the syndrome generator 101, and receives the error position polynomial. The root of the error evaluation polynomial Ω (x) is obtained using the coefficients of the error evaluation polynomial Ω (x) generated by the Euclidean multiplier 103 and the Euclidean divider 102 that calculate the coefficient of Λ (x). An error position estimation unit 104 for estimating an error magnitude by the root position of the error position polynomial Λ (x) of the Euclidean multiplier 103, estimates the error position, and first-order the error position polynomial Λ (x). Error position output to output derivative Λ '(α i ) · α i The generation unit 105, the root of the error evaluation polynomial? (X) obtained by the error evaluation generation unit 104, the error position obtained by the error position generation unit 105, and the first derivative of the error position polynomial Λ (x). An error polynomial generator 106 for obtaining an error value using Λ '(α i ) · α i , a FIFO RAM 107 for storing the received polynomial, and an error value and FIFO RAM of the error polynomial generator 106. An error correcting unit 108 for correcting the error by exclusively ORing the original data stored in the unit 107, and calculating the syndrome of the corrected data in the error correcting unit 108 to determine and determine whether the corrected data has been corrected correctly. According to a result, the error check and data output unit 109 selects and outputs original data or correction data stored in the FIFO RAM 108 as final data.

이와같이 구성된 본 발명에서 R-S 코드워드 다항식 C(x)는 실제 데이터인 전송하고자 하는 메시지 다항식 M(x)에 2t(t는 정정 가능한 에러의 수)개의 패리티 심볼을 추가하여 만들어진다. 이를 수학적으로 표현하면 하기의 수학식 1과 같다.In the present invention configured as described above, the R-S codeword polynomial C (x) is made by adding 2t (t is the number of correctable errors) parity symbols to the message polynomial M (x) to be transmitted. This is expressed mathematically as Equation 1 below.

Figure kpo00001
Figure kpo00001

여기서, G(x)는 생성 다항식(Generator Polynomial)으로서, 하기 수학식 2와 같이 표현되며, 정정하고자 하는 에러 개수가 10개이면 20차가 나온다.Here, G (x) is a generator polynomial, which is expressed as Equation 2 below, and when the number of errors to be corrected is 10, the 20th order comes out.

Figure kpo00002
Figure kpo00002

상기 수학식 1과 수학식 2에서 알수 있듯이 C(x)는 G(x)의 멀티플(Multiple)이 되며, G(x) = 0을 만족시키는 근은 C(x) = 0을 만족시키게 된다.As can be seen in Equations 1 and 2, C (x) becomes a multiple of G (x), and a root satisfying G (x) = 0 is satisfied C (x) = 0.

이때, GA HDTV 규격에서는 상기 생성 다항식 G(x) 및 원시(Primitive) 다항식 P(x)를 다음의 수학식 3과 같이 정하고 있다.In this case, in the GA HDTV standard, the generated polynomial G (x) and the primitive polynomial P (x) are defined as in Equation 3 below.

Figure kpo00003
Figure kpo00003

이와같이, R-S 엔코딩된 코드 워드 다항식 C(x)가 어떤 채널 상으로 전송될 경우 채널 상의 노이즈에 의해 에러가 발생될 수 있으며, 디지털 TV와 같은 수신단에서 수신된 데이터 R(x)는 다음의 수학식 4와 같이 표현된다.As such, when the RS-encoded codeword polynomial C (x) is transmitted on a channel, an error may occur due to noise on the channel, and the data R (x) received at a receiver such as a digital TV may be represented by the following equation. It is expressed as 4.

Figure kpo00004
Figure kpo00004

따라서, 에러 다항식 E(x)는 만일 채널 노이즈에 의하여 ν개의 심볼 에러가 발생하였다면 다음의 수학식 5와 같이 표현할 수 있다.Therefore, the error polynomial E (x) can be expressed as Equation 5 below if ν symbol errors occur due to channel noise.

Figure kpo00005
Figure kpo00005

여기서, jk는 k번째 에러의 위치이고, ejk는 k번째 에러의 크기이다.Where jk is the position of the k th error and e jk is the magnitude of the k th error.

그리고, 상기 수학식 4에서 C(x)는 G(x)의 멀티플임을 이용하여 에러 패턴에 대한 정보를 포함하고 있는 신드롬 다항식 S(x)를 다음의 수학식 6과 같이 정의할 수 있다.In Equation 4, C (x) may define a syndrome polynomial S (x) including information on an error pattern by using a multiple of G (x) as shown in Equation 6 below.

Figure kpo00006
Figure kpo00006

이때, C(x)가 G(x)의 멀티플이므로, G(x)의 근은 모두 C(x) = 0을 만족시키게 되어, Sj= R(αj)= C(αj) + E(αj)= E(αj) 가 된다.At this time, since C (x) is multiple of G (x), all roots of G (x) satisfy C (x) = 0, and S j = R (α j ) = C (α j ) + E (α j ) = E (α j ).

따라서, 신드롬 다항식 S(x)는 R(x)에 무관하며, 에러 패턴에 의존(Dependent)함을 알 수 있다.Therefore, it can be seen that the syndrome polynomial S (x) is independent of R (x) and depends on the error pattern.

그리고, GA HDTV 규격에서 G(x)의 근은 α0, α1, ... , α18, α19이므로 S(x)의 각 계수들은 α0∼ α19을 수신된 데이터 R(x)에 대입시켜 다음의 수학식 7과 같이 구할 수 있다.In the GA HDTV standard, the roots of G (x) are α 0 , α 1 , ..., α 18 , α 19, so that each coefficient of S (x) is α 0 to α 19 . It can be obtained as shown in Equation 7 below.

Figure kpo00007
Figure kpo00007

상기 수학식 7에서 신드롬의 계수들 Sj는 다음의 수학식 8과 같이 표현 가능하다.In Equation 7, the coefficients S j of the syndrome may be expressed as Equation 8 below.

Figure kpo00008
Figure kpo00008

상기 수학식 8에서와 같이 각 신드롬의 계수들은 갈로아 필드 가산(Addition)과 곱셈(Multiplication)의 반복에 의하여 계산할 수 있다.As shown in Equation 8, the coefficients of each syndrome may be calculated by repetition of addition and multiplication of the Galloa field.

따라서, 신드롬 발생기(101)는 도 3과 같이 구현할 수 있으며, N(즉, 20개)개의 신드롬 블럭으로 이루어진다.Accordingly, the syndrome generator 101 may be implemented as shown in FIG. 3, and is composed of N (ie, 20) syndrome blocks.

그중 두 번째 신드롬 블럭을 일실시예로 보면, 직렬로 입력되는 데이터 심볼과 피드백되는 누적 값을 더하는 가산기, 블럭 에지 신호에 따라 상기 가산기의 출력 또는 입력되는 데이터 심볼을 선택 출력하는 제 1 멀티플렉서, 상기 제 1 멀티플렉서의 출력을 일시 저장하는 제 1 레지스터, 상기 제 1 레지스터의 출력과 해당 차수의 α 지수값 즉, α1(1 ≤ i ≤ 2t)을 곱하여 상기 가산기로 피드백시키는 상수 갈로아 필드 곱셈기, 상기 블럭 에지 신호에 따라 최종 출력단(S0)에서 피드백되는 신드롬 계수 또는 상기 제 1 레지스터의 출력을 선택 출력하는 제 2 멀티플렉서, 및 상기 제 2 멀티플렉서의 출력을 1 블럭의 데이터가 모두 입력될 때까지 저장하는 제 2 레지스터로 구성된다.According to an embodiment of the second syndrome block, an adder for adding a serially inputted data symbol and a feedback accumulated value, a first multiplexer for selectively outputting an output of the adder or an inputted data symbol according to a block edge signal, A first Gallo field multiplier for temporarily storing an output of a first multiplexer, multiplying the output of the first register by an α exponent value of the order, i.e., α 1 (1 ≦ i ≦ 2t), and feeding it back to the adder, A second multiplexer for selectively outputting a syndrome coefficient fed back from a final output terminal S 0 or an output of the first register according to the block edge signal, and outputting the output of the second multiplexer until one block of data is input; And a second register for storing.

여기서, 첫 번째 신드롬 블럭, 세 번째 신드롬 블럭 내지 N 번째 신드롬 블럭도 상기된 두 번째 신드롬 블럭의 구성과 동일하다.Here, the first syndrome block, the third syndrome block to the Nth syndrome block are also the same as the configuration of the second syndrome block described above.

이와같이 구성된 도 3은 데이터 입력 심볼들이 최상위 차수의 계수부터 즉, (N,K,t) R-S 코드라고 가정하면, XN-1차 항의 계수부터 차례로 신드롬 발생기(101)의 각 신드롬 블럭의 가산기로 동시에 입력된다. 여기서, N은 한 코드 블록의 심볼 수이고, t는 정정 가능한 에러의 수, 2t는 부가되는 패리티 심볼, K는 N-2t로서, 실제 보낼려는 정보인 메세지 심볼의 수이다. 그러므로, N = K + 2t개의 심볼로 이루어진다.FIG. 3 configured as described above is an adder of each syndrome block of the syndrome generator 101, in order from the coefficient of the X N-1 order term, assuming that the data input symbols are from the highest order coefficient, that is, the (N, K, t) RS code. It is input at the same time. Here, N is the number of symbols in one code block, t is the number of errors that can be corrected, 2t is the parity symbol to be added, and K is N-2t, which is the number of message symbols which are information to be actually sent. Therefore, N = K + 2t symbols.

상기 가산기는 입력 심볼과 상수 갈로아 필드 곱셈기의 출력을 더하여 제 1 멀티플렉서로 출력한다. 상기 제 1 멀티플렉서는 블럭 에지 신호에 따라 즉, 하나의 블럭 코드가 입력될 때 첫 번째 심볼 입력 사이클에서는 누적된 데이터가 없으므로 입력되는 데이터 심볼을 선택하고, 나머지 구간에서는 상기 가산기의 가산 결과를 선택하여 제 1 레지스터로 출력한다. 이때, 상수 갈로아 필드 곱셈기는 상기 제 1 레지스터의 출력에 해당 차수의 α지수값 예컨대, S1블럭이라면 α1을 곱하여 상기 가산기로 피드백시킨다. 즉, 상기 제 1 레지스터의 출력은 S1를 계산하는 셀만 상기 가산기로 피드백되고 나머지 셀은 상수 갈로아 필드 곱셈기의 입력으로 사용된다.The adder adds an input symbol and an output of a constant galoa field multiplier to output to the first multiplexer. The first multiplexer selects a data symbol to be input since there is no accumulated data in the first symbol input cycle when one block code is input according to a block edge signal, and selects an addition result of the adder in the remaining intervals. Output to the first register. In this case, the Galois field multiplier are constant if the output value of the exponent α that order, for example, S 1 block in the first register then fed back to the adder by multiplying the α 1. That is, the output of the first register feeds only the cell calculating S 1 to the adder and the remaining cells are used as inputs to the constant Galloa field multiplier.

한편, 상기 제 1 레지스터의 출력은 제 2 멀티플렉서로 입력되는데, 상기 제 2 멀티플렉서는 상기 블럭 에지 신호에 따라 즉, 하나의 블럭 코드가 입력될 때 첫 번째 심볼 입력 사이클에서는 피드백되는 최종 출력을 선택하고, 나머지 구간에서는 상기 제 1 레지스터의 출력을 선택하여 제 2 레지스터로 출력한다. 상기 제 2 레지스터는 1 블럭의 데이터 입력이 끝나면 구해진 신드롬을 출력한다.On the other hand, the output of the first register is input to the second multiplexer, which selects the last output fed back in the first symbol input cycle according to the block edge signal, that is, when one block code is input. In the remaining sections, the output of the first register is selected and output to the second register. The second register outputs the obtained syndrome after inputting one block of data.

즉, 시리얼로 한 블럭의 데이터 입력이 끝나면 동시에 N개의 신드롬 블럭으로부터 N개의 신드롬(S0∼ S19)이 병렬로 출력된다.In other words, when one block of data is serially input, N syndromes S 0 to S 19 are simultaneously output from N syndrome blocks.

만일, 두 번째 신드롬 블럭이 2t 사이클동안 루프를 돌면, 신드롬 S1은 하기의 수학식 9와 같이 구해진다.If the second syndrome block loops for 2t cycles, the syndrome S 1 is obtained as in Equation 9 below.

Figure kpo00009
Figure kpo00009

이와같이 신드롬 발생기(101)는 보통 곱셈기보다 크기가 훨씬 작은 상수 곱셈기를 사용함으로써, 게이트 수를 종래에 비해 약 1/10 정도 줄일 수 있으므로 VLSI로 집적화시 디자인이 용이하고 칩 사이즈를 줄일 수 있으며, 더불어 비용도 절감할 수 있다.In this way, the syndrome generator 101 uses a constant multiplier that is much smaller than the normal multiplier, so that the number of gates can be reduced by about 1/10 compared to the conventional one, so that it is easy to design and reduce the chip size when integrating with VLSI. You can also save money.

그리고, 상기 신드롬 발생기(101)로부터 병렬로 출력되는 신드롬(S0∼ S19)을 입력받는 상기 유클리디언 디바이더(102)는 에러 평가 다항식 Ω(x)의 계수를 구하고, 유클리디언 곱셈기(103)는 에러 위치 다항식 Λ(x)의 계수를 구한다.The Euclidean divider 102, which receives the syndromes S 0 to S 19 output in parallel from the syndrome generator 101, obtains the coefficient of the error evaluation polynomial? (X), and the Euclidean multiplier ( 103) obtains the coefficient of the error position polynomial Λ (x).

상기 유클리디언 디바이더(102)는 도 4에서와 같이 각각의 셀은 신드롬 다항식 S(x)의 계수가 낮은 차수부터 각각의 멀티플렉서에 연결되어, 로드 인에이블 신호가 하이이면 S(x)의 계수가 상기 멀티플렉서로 입력되고, 로우이면 각 셀의 전단의 셀 출력이 상기 멀티플렉서로 입력되도록 구성되어 있다. 이때, 상기 로드 인에이블 신호는 에지 검출 신호를 이용하여 만드는데 1 클럭 사이클 동안에만 하이가 되어야 한다. 따라서, 상기 각 셀의 멀티플레서의 출력단에 연결된 각 셀의 레지스터에는 S(x)가 한 클럭 사이클 동안에 병렬로 로딩된다. 상기된 도 4는 에러 평가 다항식 Ω(x)의 차수가 t보다 작아질 때까지 수행된다. 그 이외는 종래의 기술과 동일하므로 상세한 동작 설명을 생략한다.In the Euclidean divider 102, each cell is connected to each multiplexer from a lower order coefficient of the syndrome polynomial S (x), so that the coefficient of S (x) when the load enable signal is high. Is input to the multiplexer, and if low, the cell output of the front end of each cell is configured to be input to the multiplexer. In this case, the load enable signal is generated by using the edge detection signal and should be high only for one clock cycle. Thus, S (x) is loaded in parallel for one clock cycle into the register of each cell connected to the output of the multiplexer of each cell. 4 described above is performed until the order of the error evaluation polynomial? (X) is smaller than t. Other details are the same as in the prior art, and thus detailed description of the operation is omitted.

이와같이 상기된 유클리디언 디바이더는 S(x)를 각 셀의 레지스터에 한번에 병렬로 로딩하므로 총 2t 클럭 사이클만 필요하게 되어 유클리디언 디바이딩 연산 시간을 종래의 기술보다 약 1/2로 단축시킬 수 있다.As described above, the Euclidean divider loads S (x) into the registers of each cell in parallel at the same time, requiring only a total of 2t clock cycles, reducing the Euclidean divide operation time to about 1/2 of the prior art. Can be.

그리고, 상기 에러 위치 발생부(105)는 도 5에 도시된 바와같이 상기 유클리디언 곱셈기(103)에서 출력되는 에러 위치 다항식 Λ(x)의 계수들을 입력받아 Λ(x)|x=α i= 0을 만족하는 αi를 찾아내고 Λ(x)를 1차 미분한 Λ'(x)|x=α i의 값을 계산하는 동작을 한다.Then, the error position generator 105 receives the coefficients of the error position polynomial Λ (x) output from the Euclidean multiplier 103 as shown in Λ (x) | Find the α i that satisfies x = α i = 0 and differentiate Λ (x) by the first order Λ '(x) | Calculate the value of x = α i .

즉, 도 5는 t+1개의 셀(51-0∼51-t)과 각 셀(51-0∼51-t)의 레지스터의 출력을 배타적 오아링하여 Λ(αi)의 전체 합(Total Sum)을 구하고 각 셀의 레지스터의 출력 중 오드 텀(Odd Term)의 계수들만을 추출하여 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)를 출력하는 배타적 오아 게이트(56)와 상기 배타적 오아 게이트(56)의 출력이 0인지를 판별하여 에러 위치를 추정하는 제로 검출부(57)로 구성된다.That is, FIG. 5 shows the total sum of Λ (α i ) by exclusively ORing the outputs of the t + 1 cells 51-0 to 51-t and the registers of the cells 51-0 to 51-t. Sum) and extract only the coefficients of the odd term from the output of the register of each cell to output the first order differential function Λ '(x) of the error position polynomial Λ (x) and And a zero detector 57 for estimating the error position by determining whether the output of the exclusive oar gate 56 is zero.

상기 t+1개의 셀중 t번째 셀을 예로들어 그 구성을 설명하면, 선택 신호(MUX_SEL)에 따라 초기에는 병렬로 입력되는 t번째 값 Λt을 선택 출력하고 이후에는 누적된 중간값을 선택 출력하는 제 1 멀티플렉서(52), 상기 선택 신호(MUX_SEL)에 따라 초기에는 α(255-N+1)t을 선택 출력하고 이후에는 αt값을 선택 출력하는 제 2 멀티플렉서(53), 상기 제 1, 제 2 멀티플렉서(52,53)의 출력을 곱하는 곱셈기(54), 및 상기 곱셈기(54)의 출력을 일시 저장하여 배타적 오아 게이트(56)로 출력함과 동시에 상기 제 1 멀티플렉서(52)로 피드백시키는 레지스터(55)로 구성된 루프 구조이다. 나머지 셀의 구성도 상기 t번째 셀의 구성과 동일하다. 이때, 상기 곱셈기(54)는 상수 갈로아 필드 곱셈기를 사용하면 VLSI로 집적시 집적도를 향상시킬 수 있다.Taking the t-th cell out of the t + 1 cells as an example, the configuration thereof is selected and outputted by t-value Λ t initially input in parallel in accordance with the selection signal MUX_SEL, and then selectively outputting the accumulated intermediate value. A first multiplexer 52 and a second multiplexer 53 for selectively outputting α (255-N + 1) t and then selectively outputting an α t value according to the selection signal MUX_SEL. The multiplier 54 multiplies the outputs of the second multiplexers 52 and 53, and the output of the multiplier 54 is temporarily stored and output to the exclusive OR gate 56 and fed back to the first multiplexer 52. It is a loop structure composed of registers 55. The configuration of the remaining cells is the same as that of the t-th cell. In this case, the multiplier 54 may improve the integration density when integrated with VLSI using a constant galoa field multiplier.

이와같이 구성된 상기 에러 위치 발생부(105)는 에러 위치 다항식 Λ(x)의 계수들이 병렬로 입력되면 초기 클럭 사이클에서 선택 신호(MUX_SEL)는 로우가 되고, 이 선택 신호(MUX_SEL)에 의해 각각의 셀의 제 1 멀티플렉서에서 Λtt-1,...,Λ1가 각각 선택되고, 제 2 멀티플레서에서 상수 α(255-N+1)t가 선택되어 상수 갈로아 필드 곱셈기에서 서로 곱해진 후 각각의 레지스터에 저장된다. 다음 클럭 사이클부터 선택 신호(MUX_SEL)는 하이가 되며, 각 셀의 레지스터의 출력이 배타적 오아 게이트(56)로 출력됨과 동시에 제 1 멀티플렉서로 피드백된다. 따라서, 선택 신호(MUX_SEL)에 의해 각각의 셀의 제 1 멀티플렉서에서는 각 레지스터에서 피드백되는 값이 선택되고, 제 2 멀티플레서에서는 αt가 선택되어 상기 상수 갈로아 필드 곱셈기에서 서로 곱해진 후 다시 각각의 레지스터에 저장된다.When the coefficients of the error position polynomial Λ (x) are input in parallel, the error position generating unit 105 configured as described above becomes low in the initial clock cycle, and the selection signal MUX_SEL becomes low, and each cell is selected by the selection signal MUX_SEL. In the first multiplexer of Λ t , Λ t-1 , ..., Λ 1 are selected respectively, and in the second multiplexer the constant α (255-N + 1) t is selected to multiply each other in the constant Galoa field multiplier. And then stored in each register. From the next clock cycle, the select signal MUX_SEL goes high, and the output of the register of each cell is output to the exclusive OR gate 56 and fed back to the first multiplexer. Accordingly, the value fed back from each register is selected in the first multiplexer of each cell by the selection signal MUX_SEL, and α t is selected in the second multiplexer and multiplied with each other in the constant Galloa field multiplier, respectively. Is stored in the register.

이와같은 과정을 N 사이클동안 수행한다. 여기서, N은 블록내에 있는 데이터 심볼 수이다.This process is carried out for N cycles. Where N is the number of data symbols in the block.

즉, 상기와 같은 방식으로 Λ(x)에 α-N+1부터 α0까지 지수를 증가하면서 순차적으로 대입시켜 계산된 값을 매 클럭마다 구할 수 있다. 그리고, 매 클럭마다 출력되는 각 셀(51-0∼51-t)의 레지스터의 출력을 배타적 오아 게이트(56)에서 배타적 오아링하여 제로 검출부(57)로 출력하고, 제로 검출부(57)는 그 값이 제로인지 아닌지를 판별한다. 이때, 배타적 오아 게이트(56)의 출력 즉, 에러 위치 다항식 Λ(x)의 근이 0이면 바로 그 위치가 에러가 발생한 곳이다. 만일, αp에서 에러 위치 다항식 Λ(x) = 0이 되면 p번째가 에러 위치가 된다.In other words, the calculated value can be obtained every clock by increasing the exponent of Λ (x) from α -N + 1 to α 0 sequentially. Then, the output of the registers of the cells 51-0 to 51-t output every clock is exclusively ringed by the exclusive OR gate 56 and output to the zero detector 57, and the zero detector 57 Determines whether the value is zero or not. At this time, when the output of the exclusive OR gate 56, that is, the root of the error position polynomial Λ (x) is 0, the position is the place where the error occurs. If the error position polynomial Λ (x) = 0 in α p , the p th is the error position.

한편, Λ(x)를 미분한 Λ'(x)의 값은 각 레지스터의 출력중 오드 텀(Odd Term) 즉, 1차, 3차, 5차,...의 계수들만을 배타적 오아 게이트(56)에서 추출하여 구할 수 있다. 예를들어, Λ(x) = α5X32X2+αX 7이라 할 때, 이를 미분하면 Λ'(x) = 3·α5X2+ 2·α2X1+α 가 되는데, Λ(x)의 이븐 텀(Even Term)은 미분을 하게되면 짝수가 곱해지므로 갈로아 필드 덧셈의 특성상 없어지게 되어 Λ'(x) = α5X2+ α 가 된다.On the other hand, the value of Λ '(x), which is the derivative of Λ (x), is an exclusive oar gate of only the coefficients of the odd term (ie, primary, tertiary, fifth order, ...) of the output of each register. 56). For example, Λ (x) = α5X3+ α2X2+ αX + α7When you say this, you differentiate Λ '(x) = 35X2+ 2α2XOneEven term of Λ (x) is multiplied by an even number when the derivative is multiplied, so it disappears due to the property of Galoa field addition. Λ '(x) = α5X2+ α.

이때, 상기 배타적 오아 게이트(56)에서 오드 텀의 계수들만을 추출하게 되면 Λ'(αi) 값들이 계산되어 출력되는 것이 아니라 αiΛ'(αi) 가 출력되게 된다. 그렇지만 에러 다항식 발생부(106)에서 에러 크기를 계산할 때 αiΛ'(αi) 값이 필요하므로 그대로 이 값을 출력한다.At this time, when the extracted coefficient, only the odd terms in the XOR gate Iowa (56) Λ '(α i ) values instead of being calculated and output α i Λ' (α i) is outputted. However, since the error polynomial generation unit 106 needs the value α i Λ '(α i ) when calculating the error magnitude, this value is output as it is.

도 6은 상기 에러 평가 발생부(104)의 상세 블록도로서, 에러 위치 다항식 Λ(x)의 계수대신 유클리디언 디바이더(102)에서 출력되는 에러 평가 다항식 Ω(x)의 계수들이 병렬로 입력되고, 제로 검출부가 필요없는 것을 빼고는 상기된 도 5의 에러 위치 발생부와 구성이 동일하며, 동일한 방식으로 동작한다. 즉, 상기 에러 평가 발생부(104)는 상기 유클리디언 디바이더(102)에서 출력되는 에러 평가 다항식 Ω(x)의 계수들을 병렬로 입력받아 Ω(αi), αi255-N+1255-N+2,...,α-10를 구한다.6 is a detailed block diagram of the error evaluation generator 104 in which coefficients of the error evaluation polynomial? (X) output from the Euclidean divider 102 are input in parallel instead of the coefficient of the error position polynomial Λ (x). The configuration is identical to that of the error position generator of FIG. 5 except that the zero detector is not required, and operates in the same manner. That is, the error evaluation generation unit 104 receives the coefficients of the error evaluation polynomial Ω (x) output from the Euclidean divider 102 in parallel, Ω (α i ), α i = α 255-N + 1 , α 255-N + 2 , ..., α- 1 , α 0 are found.

도 7은 에러 다항식 E(x)를 계산하는 에러 다항식 발생부(106)의 상세 블록도로서, 포니(Forney) 알고리즘에 의하여 상기 에러 위치 발생부(105)에서 구한 에러의 위치에 해당하는 에러 보정값을 구한다.FIG. 7 is a detailed block diagram of an error polynomial generator 106 that calculates an error polynomial E (x), and corrects an error corresponding to an error position obtained by the error location generator 105 by a Forney algorithm. Find the value.

즉, 도 7은 상기 에러 위치 발생부(105)의 배타적 오아 게이트(56)에서 출력되는 Λ'(αi)·αi값을 반전시키는 인버스 롬(71), 상기 인버스 롬(71)의 출력과 상기 에러 평가 발생부(104)에서 출력되는 Ω(αi)를 곱하는 갈로아 필드 곱셈기(72), 및 상기 에러 위치 발생부(105)에서 계산된 에러 위치값에 따라 제로 또는 상기 곱셈기(72)의 곱셈 결과를 선택하여 에러 다항식 E(x)로 출력하는 멀티플렉서(73)로 구성된다.That is, Figure 7 is the output of the inverse-ROM 71, the inverse-ROM 71 for inverting the Λ '(α i) · α i value which is output from the exclusive Iowa gate 56 of the error position generating unit 105 Zero or the multiplier 72 according to a Galloa field multiplier 72 multiplying by Ω (α i ) output from the error evaluation generator 104, and the error position value calculated by the error position generator 105. It consists of a multiplexer 73 which selects the multiplication result and outputs it to the error polynomial E (x).

이와같이 구성된 도 7은 상기 에러 평가 발생부(104)에서 계산된 Ω(αi) 그리고, 상기 에러 위치 발생부(105)에서 계산된 에러 위치 신호와 Λ'(αi)·αi값에 의하여 다음의 수학식 10과 같은 포니 알고리즘으로 에러의 크기를 계산한다.FIG. 7 configured as described above is based on Ω (α i ) calculated by the error evaluation generator 104 and the error position signal and Λ '(α i ) · α i values calculated by the error position generator 105. The magnitude of the error is calculated using a pony algorithm as shown in Equation 10 below.

Figure kpo00010
Figure kpo00010

여기서, h는 옵셋이며, GA HDTV 규격은 -1이다.Here, h is an offset and the GA HDTV standard is -1.

즉, 상기 에러 위치 발생부(105)의 배타적 오아 게이트(56)에서 출력되는 Λ'(αi)·αi값이 인버스 롬(71)를 거치면

Figure kpo00011
가 된다. 그리고, 갈로아 필드 곱셈기(72)에서 상기 인버스 롬(71)의 출력(
Figure kpo00012
)과 에러 평가 발생부(104)에서 계산된 Ω(αi) 값을 곱하면 에러 다항식 E(x)의 계수 즉, 에러 값이 계산된다. 이때, 멀티플렉서(73)는 상기 에러 위치 발생부(105)에서 계산된 에러 위치 신호에 따라 즉, 에러가 발생한 위치에서는 상기 곱셈기(72)에서 구한 에러 다항식 E(x)의 계수를 선택하고 에러가 발생하지 않은 위치에서는 제로 신호를 선택하여 에러 정정부(108)로 출력한다.That is, when the value of Λ '(α i ) · α i output from the exclusive OR gate 56 of the error position generator 105 passes through the inverse ROM 71,
Figure kpo00011
Becomes Then, the output of the inverse ROM 71 in the Galloa field multiplier 72 (
Figure kpo00012
) And the value of? (Α i ) calculated by the error evaluation generator 104 calculates the coefficient of the error polynomial E (x), that is, the error value. At this time, the multiplexer 73 selects the coefficient of the error polynomial E (x) obtained by the multiplier 72 according to the error position signal calculated by the error position generating unit 105, that is, at the position where the error has occurred. At the position that does not occur, the zero signal is selected and output to the error correction unit 108.

상기 에러 정정부(108)는 배타적 오아 게이트로 되어 있어 상기 에러 다항식 발생부(106)에서 출력되는 에러 값과 상기 FIFO 램(107)에 저장된 원래의 데이터를 배타적 오아링함에 의해 에러를 정정하여 에러 확인 및 데이터 출력부(109)로 출력한다.The error correction unit 108 is an exclusive OR gate, and corrects the error by exclusively ORing the error value output from the error polynomial generator 106 and the original data stored in the FIFO RAM 107. The data is output to the confirmation and data output unit 109.

도 8은 상기 에러 확인 및 데이터 출력부(109)의 상세 블록도로서, 상기 FIFO 램(107)으로부터 출력되는 원래의 데이터를 저장하는 제 1 FIFO(81), 상기 에러 정정부(108)에서 출력되는 정정 데이터를 저장하는 제 2 FIFO(82), 상기 에러 정정부(108)에서 출력되는 정정 데이터를 이용하여 신드롬을 계산하는 신드롬 계산부(83), 상기 신드롬 계산부(83)에서 계산된 신드롬이 0인지를 판별하는 제로 검출부(84), 및 상기 제로 검출부(84)의 판별 결과에 따라 상기 제 1 FIFO(81)에 저장된 원래의 데이터 또는 제 2 FIFO(82)에 저장된 정정 데이터를 선택하여 최종 데이터로 출력하는 멀티플렉서(85)로 구성된다.8 is a detailed block diagram of the error checking and data output unit 109, which is output from the first FIFO 81 and the error correcting unit 108 that store original data output from the FIFO RAM 107. FIG. A second FIFO 82 for storing correction data, a syndrome calculation unit 83 for calculating a syndrome using the correction data output from the error correction unit 108, and a syndrome calculated by the syndrome calculation unit 83. The original data stored in the first FIFO 81 or the correction data stored in the second FIFO 82 are selected in accordance with a result of the determination by the zero detection unit 84 and the zero detection unit 84 that determine whether The multiplexer 85 outputs the final data.

여기서, 상기 신드롬 계산부(83)는 상기된 도 3의 신드롬 계산기(101)와 동일한 구조를 갖는다.Here, the syndrome calculator 83 has the same structure as the syndrome calculator 101 of FIG. 3.

이와같이 구성된 도 8의 에러 확인 및 데이터 출력부(109)는 상기 에러 정정부(108)에서 정정된 데이터가 올바르게 정정되었는지 아닌지를 확인하기 위하여 정정된 데이터에 대하여 신드롬을 계산하여 S(x)=0인지 아닌지를 판별한다.The error checking and data output unit 109 of FIG. 8 configured as described above calculates a syndrome with respect to the corrected data in order to confirm whether or not the data corrected by the error correcting unit 108 is corrected or not, and S (x) = 0. Determine whether or not.

즉, 제 1 FIFO(81)에는 FIFO 램(107)에서 출력되는 원래의 데이터를 저장하고 제 2 FIFO(82)에는 에러 정정부(108)에서 출력되는 정정 데이터를 저장한다. 그리고, 신드롬 계산부(83)는 정정 데이터를 이용하여 도 3과 같은 방식으로 신드롬 S(x)를 계산한다.That is, the first FIFO 81 stores the original data output from the FIFO RAM 107 and the second FIFO 82 stores the correction data output from the error correction unit 108. The syndrome calculator 83 calculates the syndrome S (x) in the same manner as in FIG. 3 using the correction data.

제로 검출부(84)는 상기 신드롬 계산부(83)에서 계산된 신드롬 S(x)가 0인지 아닌지를 판별하고 그 결과를 멀티플렉서(85)의 선택 신호로 출력한다. 즉, 상기 정정된 데이터의 신드롬 S(x)=0이면 데이터가 올바르게 정정 되었음을 의미하므로 상기 멀티플렉서(85)는 제 2 FIFO(82)에 저장된 정정 데이터를 최종 데이터로 선택 출력하고, 정정된 데이터의 신드롬 S(x)≠0이면 전송 채널상에서 t개 이상의 에러가 발생하였음을 나타내므로 상기 멀티플렉서(85)는 제 1 FIFO(81)에 저장된 즉, 정정되지 않은 원래의 데이터를 최종 데이터로 선택 출력한다.The zero detector 84 determines whether the syndrome S (x) calculated by the syndrome calculator 83 is 0 or not, and outputs the result as a selection signal of the multiplexer 85. That is, if the syndrome S (x) = 0 of the corrected data means that the data is corrected correctly, the multiplexer 85 selectively outputs the correction data stored in the second FIFO 82 as the final data, If the syndrome S (x) ≠ 0 indicates that t or more errors have occurred on the transmission channel, the multiplexer 85 selects and outputs original data that is not corrected, that is, uncorrected, as the final data in the first FIFO 81. .

따라서, 채널 상에서 t개 이상의 에러가 발생하였을 경우 R-S 디코더의 오동작에 의해 생기는 오류를 방지할 수 있다.Therefore, when t or more errors occur on the channel, it is possible to prevent an error caused by a malfunction of the R-S decoder.

한편, 본 발명에 사용된 R-S 디코더의 구조는 모든 (N,K) R-S 코드에 적용할 수 있다.On the other hand, the structure of the R-S decoder used in the present invention can be applied to all (N, K) R-S codes.

이상에서와 같이 본 발명에 따른 디지털 티브이의 에러 정정 장치에 의하면, 정정 데이터의 신드롬 다항식을 계산하여 정정 데이터의 신드롬 다항식이 0이면 데이터가 올바르게 정정 되었음을 의미하므로 정정 데이터를 최종 데이터로 출력하고, 정정 데이터의 신드롬 다항식이 0이 아니면 전송 채널 상에서 t개 이상의 에러가 발생하였음을 의미하므로 정정되지 않은 원래의 데이터를 최종 데이터로 출력함으로써, 채널 상에서 t개 이상의 에러가 발생하였을 경우 R-S 디코더의 오동작에 의해 생기는 오류를 방지할 수 있다.As described above, according to the error correction apparatus of the digital TV according to the present invention, if the syndrome polynomial of the correction data is calculated and the syndrome polynomial of the correction data is 0, it means that the data is correctly corrected. If the syndrome polynomial of the data is not 0, it means that more than t errors have occurred on the transmission channel. Therefore, the uncorrected original data is output as final data. When more than t errors occur on the channel, the RS decoder malfunctions. This can prevent errors.

또한, 신드롬 발생기, 에러 위치 발생부, 에러 평가 발생부, 에러 다항식 발생부에서 일반적인 보통 곱셈기 대신 상수 갈로아 필드 곱셈기를 사용함과 더불어 에러 위치 발생부와 에러 평가 발생부를 유사한 셀 기초(Based) 구조를 갖도록 설계함으로써, VLSI로 집적시 디자인이 용이하고, 집적도를 향상시켜 칩 사이즈를 줄이며 비용을 감소시킬 수 있다.In addition, the syndrome generator, the error position generator, the error evaluation generator, and the error polynomial generator use a constant Galoa field multiplier instead of a general ordinary multiplier, and the error position generator and the error evaluation generator have a similar cell-based structure. Designed to have, VLSI facilitates design, improves integration, reduces chip size, and reduces cost.

그리고, 상기 신드롬 발생기는 신드롬 다항식을 병렬로 출력하고, 유클리디언 디바이더는 이를 병렬로 로딩함으로써, 디바이딩 연산 수행 시간을 단축시키고 이로인해 FIFO 램의 크기를 줄일 수 있으며, 또한 파이프라인 구조를 단축하여 FIFO 램의 크기를 더욱 줄일 수 있다.In addition, the syndrome generator outputs syndrome polynomials in parallel, and the Euclidean divider loads them in parallel, thereby reducing the execution time of the dividing operation and thereby reducing the size of the FIFO RAM, and also shortening the pipeline structure. This further reduces the size of the FIFO RAM.

Claims (14)

메시지 다항식 M(x)에 2t(t는 정정 가능한 에러의 수)개의 패리티 비트가 추가되어 만들어진 R-S 코드 워드 다항식 C(x)가 전송되면 이를 수신하여 에러를 정정하는 디지털 TV의 에러 정정 장치에 있어서,In the error correction apparatus of a digital TV that receives a RS code word polynomial C (x) formed by adding 2t parity bits (t is the number of correctable errors) to the message polynomial M (x), and corrects the error. , 수신된 다항식 R(x)로부터 신드롬 다항식 S(x)를 발생하여 병렬로 출력하는 신드롬 발생기와;A syndrome generator for generating a syndrome polynomial S (x) from the received polynomial R (x) and outputting in parallel; 상기 신드롬 발생기에서 발생된 신드롬 다항식 S(x)를 병렬로 로딩하여 에러 평가 다항식 Ω(x)의 계수를 구하는 유클리디언 디바이더와;A Euclidean divider for loading the syndrome polynomial S (x) generated by the syndrome generator in parallel to obtain a coefficient of the error evaluation polynomial? (X); 상기 신드롬 발생기에서 발생된 신드롬을 입력받아 에러 위치 다항식 Λ(x)의 계수를 구하는 유클리디언 곱셈기와;A Euclidean multiplier which receives a syndrome generated by the syndrome generator and obtains a coefficient of an error position polynomial Λ (x); 상기 유클리디언 디바이더에서 발생된 에러 평가 다항식 Ω(x)의 계수의 근을 구하여 에러 크기를 추정하는 에러 평가 발생부와;An error evaluation generator for estimating an error magnitude by obtaining a root of the coefficient of the error evaluation polynomial? (X) generated in the Euclidean divider; 상기 유클리디언 곱셈기에서 발생된 에러 위치 다항식 Λ(x)에 α-N+1부터 α0까지 지수를 증가하면서 순차적으로 대입시킴에 의해 에러 위치 다항식 Λ(x)의 근을 구하여 Λ(αi)=0을 만족하는 x=αi의 위치를 발생하고, 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)를 출력하는 에러 위치 발생부와;Obtaining the root of the error position polynomial Λ (x) by sequentially substituting the error position polynomial Λ (x) generated by the Euclidean multiplier with increasing exponents from α -N + 1 to α 0 , Λ (α i An error position generator for generating a position of x = α i that satisfies) = 0 and outputs a first derivative function Λ '(x) of the error position polynomial Λ (x); 상기 에러 평가 발생부의 에러 평가 다항식 Ω(x)의 근과 에러 위치 발생부에서 계산된 에러 위치 그리고, 에러 위치 다항식 Λ(x)의 1차 미분 함수 Λ'(x)를 이용하여 에러 다항식 E(x)를 구하는 에러 다항식 발생부와;By using the root of the error evaluation polynomial? (X) of the error evaluation generator, the error position calculated by the error location generator, and the first derivative function Λ '(x) of the error location polynomial Λ (x), the error polynomial E ( an error polynomial generator for finding x); 수신된 다항식 R(x)을 저장하는 메모리와;A memory for storing the received polynomial R (x); 상기 에러 다항식 발생부의 에러 다항식 E(x)와 상기 메모리에 저장된 원래 데이터를 논리 조합하여 에러를 정정하는 에러 정정부와;An error correction unit for logically combining an error polynomial E (x) of the error polynomial generator and original data stored in the memory; 상기 에러 정정부에서 정정된 데이터의 신드롬을 계산하여 정정 데이터가 올바르게 정정되었는지를 판별하고 판별 결과에 따라 상기 메모리에 저장된 원 데이터 또는 에러 정정부에서 정정된 데이터를 최종 데이터로 선택 출력하는 에러 확인 및 데이터 출력부를 포함하여 구성됨을 특징으로 하는 디지털 TV의 에러 정정 장치.An error check for determining whether corrected data is corrected correctly by calculating a syndrome of the corrected data by the error correcting unit, and selectively outputting original data stored in the memory or corrected data as the final data according to the determination result; Error correction apparatus of the digital TV, characterized in that it comprises a data output unit. 제 1 항에 있어서, 상기 신드롬 발생기는The method of claim 1, wherein the syndrome generator
Figure kpo00013
Figure kpo00013
를 만족하도록 설계됨을 특징으로 하는 디지털 TV의 에러 정정 장치.Error correction apparatus of the digital TV, characterized in that designed to satisfy. 여기서, N은 한 코드 블록의 데이터 심볼 수, Sj는 j번째 신드롬 계수임.Where N is the number of data symbols in one code block and S j is the jth syndrome coefficient.
제 1 항에 있어서, 상기 신드롬 발생기는The method of claim 1, wherein the syndrome generator 직렬로 입력되는 데이터 심볼과 피드백되는 누적 값을 더하는 가산기와,An adder for adding data symbols input in series and cumulative values fed back; 한 블럭 코드의 첫 번째 심볼 입력 사이클에서는 입력되는 데이터 심볼을 선택하고 나머지 구간에서는 상기 가산기의 가산 결과를 선택하여 출력하는 제 1 멀티플렉서와,A first multiplexer for selecting an input data symbol in a first symbol input cycle of one block code and selecting and outputting an addition result of the adder in the remaining intervals; 상기 제 1 멀티플렉서의 출력을 일시 저장하는 제 1 레지스터와,A first register for temporarily storing the output of the first multiplexer, 상기 제 1 레지스터의 출력과 해당 차수의 α 지수값을 곱하여 상기 가산기로 피드백시키는 상수 갈로아 필드 곱셈기와,A constant galoa field multiplier for multiplying the output of the first register by an α exponent of the order and feeding it back to the adder; 한 블록 코드의 첫 번째 심볼 입력 사이클에서는 최종 출력단에서 피드백되는 신드롬 계수를 선택하고 나머지 구간에서는 상기 제 1 레지스터의 출력을 선택하여 출력하는 제 2 멀티플렉서와,A second multiplexer that selects a syndrome coefficient fed back from a final output stage in a first symbol input cycle of one block code and selects and outputs an output of the first register in the remaining intervals; 상기 제 2 멀티플레서로부터 출력되는 신드롬 계수를 저장하는 제 2 레지스터로 구성된 신드롬 블록이 신드롬 다항식 S(x)의 차수만큼 구비됨을 특징으로 하는 디지털 TV의 에러 정정 장치.And a syndrome block comprising a second register for storing syndrome coefficients output from the second multiplexer is provided in order of the syndrome polynomial S (x). 제 3 항에 있어서, 상기 신드롬 발생기는The method of claim 3, wherein the syndrome generator 데이터 입력 심볼들이 최상위 차수의 계수부터 시리얼로 각 신드롬 블럭의 가산기에 공통으로 입력되고, 한 블록의 데이터 입력이 끝나면 각 신드롬 블록의 제 2 레지스터를 통해 각각의 신드롬 계수가 동시에 출력됨을 특징으로 하는 디지털 TV의 에러 정정 장치.The data input symbols are serially inputted from the highest order coefficient to the adder of each syndrome block, and each syndrome coefficient is simultaneously output through the second register of each syndrome block after data input of one block is completed. TV error correction device. 제 1 항에 있어서, 상기 유클리디언 디바이더에서The method of claim 1, wherein in the Euclidean divider 각각의 셀은 신드롬 다항식 S(x)의 계수가 낮은 차수부터 각각의 멀티플렉서에 연결되어, 1 클럭 사이클 동안에만 하이가 되는 로드 인에이블 신호가 하이이면 S(x)의 계수가 상기 멀티플렉서로 입력되고, 로우이면 각 셀의 전단의 셀 출력이 상기 멀티플렉서로 입력되도록 구성되어 에러 평가 다항식 Ω(x)의 계수를 구함을 특징으로 하는 디지털 TV의 에러 정정 장치.Each cell is coupled to each multiplexer from a lower order coefficient of the syndrome polynomial S (x), so that the coefficient of S (x) is input to the multiplexer if the load enable signal that is high only for one clock cycle is high. , If low, the cell output of the front end of each cell is input to the multiplexer to obtain a coefficient of the error evaluation polynomial? (X). 제 1 항에 있어서, 상기 에러 위치 발생부는The method of claim 1, wherein the error position generating unit 상기 유클리디언 곱셈기로부터 에러 위치 다항식 Λ(x)의 계수들이 병렬로 입력되면 초기 클럭 사이클에서는 Λtt-1,...,Λ1를 각각 선택하여 초기 α 지수값(α(255-N+1)i; 1 ≤ i ≤ 2t)과 서로 곱한 후 각 레지스터에 저장하고, 다음 클럭 사이클에서는 상기 각 레지스터에서 피드백되는 값을 각각 선택하여 해당 차수의 지수값(αi)과 각각 곱한 후 각 레지스터에 저장하는 과정을 N(N은 한 코드 블록의 데이터 심볼 수) 사이클 동안 수행하는 셀 블록과,When the coefficients of the error-position polynomial Λ (x) are input in parallel from the Euclidean multiplier, the initial α exponent values α 255 are selected in the initial clock cycle by selecting Λ t , Λ t-1 , ..., Λ 1 , respectively. -N + 1) i ; multiply by 1 ≤ i ≤ 2t) and store in each register.In the next clock cycle, select each value fed back from each register and multiply it by the exponent value (α i ) of the order. A block of cells performing the process of storing each register after N cycles (where N is the number of data symbols in one code block); 매 클럭마다 상기 셀 블록의 각 레지스터로부터 출력되는 값을 논리 조합하여 Λ(α1)의 전체 합을 구하는 배타적 오아 게이트와,An exclusive ora gate that logically combines values output from each register of the cell block every clock to obtain the total sum of Λ (α 1 ); 상기 배타적 오아 게이트에서 출력되는 Λ(α1)의 합이 0인지를 판별하는 제로 검출부로 구성됨을 특징으로 하는 디지털 TV의 에러 정정 장치.And a zero detector configured to determine whether the sum of Λ (α 1 ) output from the exclusive OR gate is zero. 제 6 항에 있어서, 상기 에러 위치 발생부는The method of claim 6, wherein the error position generating unit 각 셀 블록에서 상수 갈로아 필드 곱셈기를 사용하여 곱셈을 수행함을 특징으로 하는 디지털 TV의 에러 정정 장치.An error correction apparatus for digital TV, characterized in that the multiplication is performed by using a constant Galoa field multiplier in each cell block. 제 6 항에 있어서, 상기 에러 위치 발생부는The method of claim 6, wherein the error position generating unit 상기 에러 위치 다항식 Λ(x)를 1차 미분한 Λ'(x)의 값은 각 레지스터의 출력중 오드 텀의 계수들만을 배타적 오아 게이트에서 추출하여 구함(αiΛ'(αi))을 특징으로 하는 디지털 TV의 에러 정정 장치.The value of Λ '(x), which is the first derivative of the error position polynomial Λ (x), is obtained by extracting only the coefficients of the odd term from the output of each register (α i Λ' (α i )). An error correcting device for a digital TV. 제 1 항에 있어서, 상기 에러 평가 발생부는The method of claim 1, wherein the error evaluation generation unit 상기 유클리디언 디바이더로부터 에러 평가 다항식 Ω(x)의 계수들이 병렬로 입력되면 초기 클럭 사이클에서는 Ωtt-1,...,Ω1를 각각 선택하여 초기 α 지수값(α(255-N+1)i; 1 ≤ i ≤ 2t)과 서로 곱한 후 각 레지스터에 저장하고, 다음 클럭 사이클에서는 상기 각 레지스터에서 피드백되는 값을 각각 선택하여 해당 차수의 지수값(αi)과 각각 곱한 후 각 레지스터에 저장하는 과정을 N(N은 한 코드 블록의 데이터 심볼 수) 사이클 동안 수행하는 셀 블록과,When the oil cleaners coefficients of the error evaluation polynomial Ω (x) from Meridian divider are input in parallel in the initial clock cycle Ω t, Ω t-1, ..., select Ω 1 α respectively to the initial index value (α (255 -N + 1) i ; multiply by 1 ≤ i ≤ 2t) and store in each register.In the next clock cycle, select each value fed back from each register and multiply it by the exponent value (α i ) of the order. A block of cells performing the process of storing each register after N cycles (where N is the number of data symbols in one code block); 매 클럭마다 상기 셀 블록의 각 레지스터로부터 출력되는 값을 논리 조합하여 Ω(α1)의 전체 합을 구하는 배타적 오아 게이트로 구성됨을 특징으로 하는 디지털 TV의 에러 정정 장치.And an exclusive ora gate for calculating the total sum of Ω (α 1 ) by logically combining values output from each register of the cell block at every clock. 제 1 항에 있어서, 상기 에러 다항식 발생부는The method of claim 1, wherein the error polynomial generator is 상기 에러 평가 발생부에서 계산된 Ω(αi)와 상기 에러 위치 발생부에서 계산된 에러 위치 신호 그리고, 1차 미분함수 Λ'(αi)·αi를 포니 알고리즘에 적용하여 상기 에러 위치 발생부에서 구한 에러 위치에 해당하는 에러 값을 구함을 특징으로 하는 디지털 TV의 에러 정정 장치.The error position is generated by applying Ω (α i ) calculated by the error evaluation generator, the error position signal calculated by the error position generator, and a first order differential function Λ '(α i ) · α i to the pony algorithm. And an error value corresponding to an error position obtained by a negative device. 제 1 항에 있어서, 상기 에러 다항식 발생부는The method of claim 1, wherein the error polynomial generator is 상기 에러 위치 발생부에서 출력되는 에러 위치 다항식 Λ(X)의 1차 미분함수 Λ'(αi)·αi값을 반전시키는 인버스 롬과,An inverse ROM for inverting the first derivative function Λ '(α i ) · α i of the error position polynomial Λ (X) output from the error position generator; 상기 인버스 롬의 출력(
Figure kpo00014
)과 상기 에러 평가 발생부의 출력 (Ω(αi))를 곱하는 상수 갈로아 필드 곱셈기와,
Output of the inverse ROM (
Figure kpo00014
) And a constant Galloa field multiplier that multiplies the output of the error evaluation generator (Ω (α i )),
상기 에러 위치 발생부에서 계산된 에러 위치값에 따라 제로 또는 상기 곱셈기의 곱셈 결과를 선택하여 에러 다항식 E(x)로 출력하는 멀티플렉서로 구성됨을 특징으로 하는 디지털 TV의 에러 정정 장치.And a multiplexer which selects zero or a multiplication result of the multiplier according to the error position value calculated by the error position generating unit and outputs the multiplier to the error polynomial E (x).
제 11 항에 있어서, 상기 멀티플렉서는12. The multiplexer of claim 11 wherein the multiplexer is 에러가 발생한 위치에서는 상기 곱셈기에서 구한 에러 다항식 E(x)의 계수를 선택하고 에러가 발생하지 않은 위치에서는 제로 신호를 선택함을 특징으로 하는 디지털 TV의 에러 정정 장치.And selecting a coefficient of the error polynomial E (x) obtained by the multiplier at a position where an error occurs and a zero signal at a position where no error occurs. 제 1 항에 있어서, 상기 에러 확인 및 데이터 출력부는The method of claim 1, wherein the error checking and data output unit 상기 메모리로부터 출력되는 원래의 데이터를 저장하는 제 1 선입선출 메모리와,A first first-in first-out memory for storing original data output from the memory; 상기 에러 정정부에서 출력되는 정정 데이터를 저장하는 제 2 선입선출 메모리와,A second first-in first-out memory for storing correction data output from the error correction unit; 상기 에러 정정부에서 출력되는 정정 데이터의 신드롬을 계산하는 신드롬 계산부와,A syndrome calculation unit for calculating a syndrome of correction data output from the error correction unit; 상기 신드롬 계산부에서 계산된 신드롬이 0인지를 판별하는 제로 검출부와,A zero detector for determining whether the syndrome calculated by the syndrome calculator is 0; 상기 제로 검출부의 판별 결과에 따라 상기 제 1 선입선출 메모리에 저장된 원래의 데이터 또는 제 2 선입선출 메모리에 저장된 정정 데이터를 선택하여 최종 데이터로 출력하는 멀티플렉서로 구성됨을 특징으로 하는 디지털 TV의 에러 정정 장치.And a multiplexer for selecting the original data stored in the first-in first-out memory or the correction data stored in the second first-in-first-out memory according to the determination result of the zero detection unit and outputting the final data as final data. . 제 13 항에 있어서, 상기 멀티플렉서는The method of claim 13, wherein the multiplexer 상기 정정 데이터의 신드롬 S(x)=0이면 제 2 선입선출 메모리에 저장된 정정 데이터를 최종 데이터로 선택 출력하고, 정정 데이터의 신드롬 S(x)≠0이면 제 1 선입선출 메모리에 저장된 원래의 데이터를 최종 데이터로 선택 출력함을 됨을 특징으로 하는 디지털 TV의 에러 정정 장치.If the syndrome S (x) = 0 of the correction data, the correction data stored in the second first-in first-out memory is selectively outputted as final data, and if the syndrome S (x)? And outputting the selected data as final data.
KR1019970053005A 1997-10-16 1997-10-16 Apparatus for error correction of digital tv KR100226837B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970053005A KR100226837B1 (en) 1997-10-16 1997-10-16 Apparatus for error correction of digital tv

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970053005A KR100226837B1 (en) 1997-10-16 1997-10-16 Apparatus for error correction of digital tv

Publications (2)

Publication Number Publication Date
KR19990032073A KR19990032073A (en) 1999-05-06
KR100226837B1 true KR100226837B1 (en) 1999-10-15

Family

ID=19522850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970053005A KR100226837B1 (en) 1997-10-16 1997-10-16 Apparatus for error correction of digital tv

Country Status (1)

Country Link
KR (1) KR100226837B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100450320B1 (en) * 2002-05-10 2004-10-01 한국전자통신연구원 Method/Module of Digital TV image signal processing with Auto Error Correction
KR100662612B1 (en) 2005-06-29 2007-01-02 삼성전자주식회사 Guide apparatus for mounting and dismounting inner part and image forming device having the same

Also Published As

Publication number Publication date
KR19990032073A (en) 1999-05-06

Similar Documents

Publication Publication Date Title
US6374383B1 (en) Determining error locations using error correction codes
EP1131893B1 (en) Forward error corrector
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
US10812109B2 (en) Determination and use of byte error position signals
US5805617A (en) Apparatus for computing error correction syndromes
EP0621698B1 (en) Error correction method including erasure correction, and apparatus therefore
KR100260415B1 (en) High speed serial error position polynomual calculation circuit
KR100970223B1 (en) A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
EP1458105B1 (en) Method and device for decoding of Reed-Solomon codes
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
KR100731985B1 (en) Device and method for pipelined parallel crc
KR100226837B1 (en) Apparatus for error correction of digital tv
US20030159103A1 (en) Efficient method for fast decoding of BCH binary codes
US6341297B1 (en) Parallel processing syndrome calculating circuit and Reed-Solomon decoding circuit
KR101149110B1 (en) Reed solomon decoder in a digital communication system
US8156411B2 (en) Error correction of an encoded message
JP2605966B2 (en) Error correction circuit
US7693927B2 (en) Data processing system and method
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
KR100246342B1 (en) Reed solomon error correction apparatus
Lee et al. An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes
US20230091457A1 (en) Byte error correction
JP2710176B2 (en) Error position and error pattern derivation circuit
KR100335482B1 (en) Error correcting system

Legal Events

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

Payment date: 20050607

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee