KR100747487B1 - 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로 - Google Patents
리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로 Download PDFInfo
- Publication number
- KR100747487B1 KR100747487B1 KR1020050042911A KR20050042911A KR100747487B1 KR 100747487 B1 KR100747487 B1 KR 100747487B1 KR 1020050042911 A KR1020050042911 A KR 1020050042911A KR 20050042911 A KR20050042911 A KR 20050042911A KR 100747487 B1 KR100747487 B1 KR 100747487B1
- Authority
- KR
- South Korea
- Prior art keywords
- polynomial
- register
- value
- error
- order
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/156—Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1525—Determination and particular use of error location polynomials
- H03M13/1535—Determination and particular use of error location polynomials using the Euclid algorithm
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
본 발명은 디지털 멀티미디어 방송(DMB)용 리드-솔로몬 디코더(Reed-Solomon decoder)에 있어서, 특히 단일의 유클리드 알고리즘 연산 셀을 사용하여, 계산 회로의 규모를 줄이고 유클리드 연산셀의 회로 구성을 단순화 함으로써 저전력 동작에 효율적인 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘 연산회로를 제공함에 있다.
본 발명에 따른 수정된 유클리드 알고리즘 연산회로에 의한 방법은 R(x)와 Q(x)의 차수값을 각각 변수로 두어 다항식으로부터 직접 계산하지 않고 조건에 따라 계산이 되게 하여, 수정된 유클리드 알고리즘 멈춤 조건이 사라지는 대신 2*t번 루프를 반복하도록 하여 제어가 쉽도록 한다.
디지털 멀티미디어 방송(DMB), 리드-솔로몬 복호 장치(Reed-Solomon decoder), 신드롬 계산 회로, 유클리드 알고리즘 계산 셀, 오류 위치 및 오류 값
Description
도 1은 일반적인 리드-솔로몬(RS,Reed-Solomon) 복호 장치를 나타낸 블록도.
도 2는 일반적인 리드-솔로몬 복호 장치에 구비된 신드롬 다항식 연산부의 신드롬 계산 회로 구조를 나타낸 도면.
도 3은 일반적인 리드-솔모몬 복호 장치에 구비된 체인 서치부와 포니 알고리즘 연산부의 연산 회로 구조를 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산방법을 나타낸 플로우챠트.
도 5는 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 하드웨어 구성을 나타낸 블록도.
도 6은 도 4의 다항식 교환에 따른 레지스터 값의 변화를 나타낸 도면.
도 7은 도 4의 R(x), U(x), Rdeg 연산에 따른 레지스터 값의 변화를 나타낸 도면.
도 8은 도 4의 Q(x), V(x), Qdeg 연산에 따른 레지스터 값의 변화를 나타낸 도면.
도 9는 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산 회로 구조를 나타낸 도면.
도 10은 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산 셀 구조를 나타낸 도면.
< 도면의 주요 부분에 대한 부호의 설명 >
100 : 신드롬 다항식 연산부 102 : 수정된 유클리드 알고리즘 연산부
104 : 체인 서치부 106 : 포니 알고리즘 연산부
108 : 선입선출부 110 : 제어부
500 : 레지스터/메모리부 502 : 처리부
504 : 제어부 506 : 레지스터 교환부
508 : 시프트 연산부 510 : 유한체 곱셈부
512 : 유한체 덧셈부 514 : 뺄셈 연산부
900 : 멀티플렉서 902 : 레지스터
904 : 수정된 유클리드 알고리즘 연산셀
906 : 제어기
본 발명은 디지털 멀티미디어 방송(DMB)용 리드-솔로몬 복호 장치 및 수정 된 유클리드 알고리즘 연산회로에 관한 것이다.
현재 디지털 통신 시스템에서는 채널상의 잡음으로 발생하는 신호 에러를 정정하기 위한 수단으로 전방오류정정부호기(Forward Error Correction, 이하 FEC로 표기)를 사용하고 있다. 이러한 FEC 기법 가운데 연집 에러에 대한 효과적인 정정방법으로 리드-솔로몬(RS,Reed-Solomon) 코드가 많이 채택되어 사용되고 있다.
리드-솔로몬 코드는 높은 코드율(R)과 우수한 정정능력으로 많은 응용분야에서 쓰이고 있는데, 대표적으로는 씨디 플레이어(Compact Disc Player), 디지털 오디오 테잎 레코더(Digital Audio Tape Recorder), 디지털 비디오 카세트 레코더(Digital VCR), 디지털 비디오 방송(DVB-T,Digital Video Broadcasting-Terrestrial), 디지털 멀티미디어 방송(DMB,Digital Multimedia Broadcasting) 등에 사용된다.
리드-솔로몬 부호는 유한체(Galois Field)라는 특수한 수 체계 내에서 부호화 및 복호화 과정이 수행된다. 유한체내에서의 사칙연산은 그 계산 방법이 일반 수 체계 내에서의 방법과 다르며, 효율적인 회로 구조가 계속 연구되고 있다.
리드-솔로몬 부호는 (N, K)로 표현되며, 여기서 N은 부호화기로부터 출력되는 코드 블록 수를 의미하고, K는 부호화기로 입력되는 메시지 블록 수를 의미한다. N-K는 부가적으로 삽입되는 블록을 의미하는데 이 값에 의해서 리드-솔로몬 코드가 정정할 수 있는 블록 수(t)가 결정된다. 일반적으로 블록수 t는 (N-K)/2로 계산된다.
리드-솔로몬 부호화기는 나눗셈기 하나를 이용하여 쉽게 회로화가 가능하지 만, 복호기는 상대적으로 복잡한 알고리즘과 연산회로를 요구한다. 따라서 복호화를 간단하고 용이하게 할 수 있는 알고리즘들이 많이 연구되어져 왔는데, 이중 대표적으로 알려진 방법이 벨르캄프(Berlekamp)의 반복 알고리즘에 메시(Massey)의 피드백 시프트 레지스터(FSR,Feedback Shift Register)을 이용한 방법, 유클리드(Euclid) 알고리즘 및 수정된 유클리드 알고리즘이 있다. 이 중 다항식 나눗셈이 필요 없는 수정된 유클리드 알고리즘이 많이 사용된다.
리드-솔로몬 디코더의 주요 기능은 입력된 신호의 오류를 정정하는 것으로 주어진 정정 능력 범위 안에서 오류가 발생한 심볼을 정정한다. 또한 정정한 후에 다시 오류 유무를 검사함으로써 다음 블록에 오류 유무를 알려주고, 오류의 발생 빈도나 오류 비트 수를 알려줌으로써 비트에러율(BER,Bit Error Rate) 계산도 가능하다.
도 1은 일반적인 리드-솔로몬(RS,Reed-Solomon) 복호 장치를 나타낸 블록도이다. 도 1을 참조하면, 상기 리드-솔로몬 복호 장치는 신드롬 다항식 연산부(100), 수정된 유클리드 알고리즘 연산부(102), 체인 서치 연산부(104), 포니 알고리즘 연산부(106), 선입선출부(FIFO,First In First Out)(108) 및 제어부(110)를 포함한다.
상기 신드롬 다항식 연산부(100)에서는 데이터 입력 신호 및 프레임 동기 신호가 수신되면, 신드롬 계산이 수행되는데, 이 신드롬 계산은 리드-솔로몬 부호의 오류 유무를 판단하고 오류 위치 다항식 및 오류 평가 다항식을 계산하기 위한 단서로 활용된다. 이는 신드롬의 값 자체가 오류 위치와 오류 값으로 이루어져 있 기 때문이다.
다음, 수정된 유클리드 알고리즘 연산부(102)에서는 신드롬 다항식값을 이용하여 오류 위치 다항식과 오류 평가 다항식을 계산한다. 이는 리드-솔로몬 복호기에서 가장 복잡한 부분이며, 계산량이 많이 요구되는 부분이다.
상기 유클리드 알고리즘 연산이 완료되면, 체인 서치 연산부(104)에서는 오류 위치 및 평가 다항식을 이용하여 오류 위치 및 오류 평가값을 계산하고, 포니 알고리즘 연산부(106)에서는 오류 값을 계산하여 오류 정정을 시작한다. 이렇게 정정된 리드-솔로몬 프레임을 이용하여 다시 신드롬 연산을 수행하고, 오류가 성공적으로 정정되었는지를 검사한다. 만약에 오류가 있을 경우에는 디코딩이 실패했음을 알린다.
한편, 선입선출부(108)는 선데이터 처리할 때까지 대기하는 역할을 수행하는 일종의 버퍼이며, 제어부(110)는 신드롬 다항식 연산부(100), 수정된 유클리드 알고리즘 연산부(102), 체인 서치부(104) 및 포니 알고리즘 연산부(108)와 연결되어 일반적인 리드-솔로몬 복호장치의 전반적인 제어를 수행한다.
도 2는 일반적인 리드-솔로몬 복호 장치에 구비된 신드롬 다항식 연산부의 신드롬 계산 회로 구조를 나타낸 도면이고, 도 3은 일반적인 리드-솔모몬 복호 장치에 구비된 체인 서치부와 포니 알고리즘 연산부의 연산 회로 구조를 나타낸 도면이다.
도 2를 참조하면, 신드롬 다항식 연산부(100)는 복수개의 플립플롭(FF), 복수개의 멀티플렉서(MUX), 복수개의 덧셈기 및 곱셈기로 구성된다. 상기 신드롬 다 항식 연산부(100)에 리드-솔로몬 프레임 동기 신호가 온(ON)상태이면 레지스터가 초기화 되면서 데이터 입력신호가 레지스터로 입력된다. 즉, 리드-솔로몬 프레임 동기 신호가 '1'인 동안에 레지스터가 초기화 되면서 데이터 입력 신호가 레지스터로 입력된다.
이때부터 리드-솔로몬 프레임 데이터가 모두 입력될 때까지 루프 연산을 수행하게 된다. 레지스터에 저장되어 있는 데이터는 각각의 상수 곱셈 연산을 한 후 다시 레지스터로 저장된다. 연산이 완료되며, 16개의 신드롬 데이터(S0 내지 S15)가 병렬로 한꺼번에 출력된다. 이렇게 16개의 계수로 이루어진 출력을 신드롬 다항식 S(x)로 정의한다.
한편, 수정된 유클리드 알고리즘은 최고차항을 소거하여 반복적으로 차수를 줄이는 방식으로 오류위치 및 오류 크기 다항식을 구하기 위해 수학식 1과 같이 초기값을 정한다.
UO(x)=0 , VO(x)=1
수학식 2는 각각 i+1번 반복 연산이 수행될 경우 다항식 Ri+1(x)와 Qi+1(x), Ui+1(x)와 Vi+1(x)의 관계식이다. ai와 bi는 각각 Ri(x)와 Qi(x)의 최고차항 계수를 나타내며, li와 σi는 다항식 R(x), Q(x)의 차수에 따라 값이 결정된다. d(Ri)와 d(Qi) 는 각각 다항식 Ri(x)와 Qi(x)의 차수(degree)를 나타낸다.
if li≥0 then σi=1
if li〈0 then σi=0
d(Ri)≤d(Ui)가 되면 반복연산을 멈추게 되고, 이 때의 Ri(x)와 Ui(x)가 각각 오류 크기 다항식과 오류 위치 다항식이 된다. 즉, 수정된 유클리드 알고리즘 연산부(102)는 상기 수학식 1 내지 수학식 3의 다항식을 연산하기 위한 것이다.
도 3을 참조하면, 체인 서치부(104)는 통상 두 개가 존재하는데 제 1 체인 서치부(300)는 오류 위치 다항식 계수를 입력으로 받아들여 오류 위치 값과 미분된 오류 위치 다항식의 근인 오류 위치 값을 계산하는 회로이며, 제 2 체인 서치부(302)는 오류 평가 다항식 계수를 입력으로 받아들여 오류 평가값을 계산하는 회로이다.
상기 제 1 체인 서치부(300)에서 계산된 오류 위치값은 포니 알고리즘 연산부(106) 내의 오류 정정블록(304)에 입력되고, 미분한 오류 위치값은 역수 계산 회로부(306)를 통해 나온 역수값과 제 2 체인 서치부(302)에서 계산된 오류 평가값을 곱하여 계산된 오류값이 오류 정정블록(304)에 입력된다.
상기 오류 정정블록(304)은 계산된 오류 위치와 오류값을 이용하여 오류 정정을 수행하는데, 해당하는 오류 위치에서 오류값을 선입선출부(108)를 통해 지연된 수신 데이터와 익스클루시브오알(XOR)연산을 함으로써 정정이 이루어진다.
상기와 같은 일반적인 리드-솔로몬 복호 장치 내에 구비되는 수정된 유클리드 알고리즘 연산 회로(102)는 알고리즘 연산을 위해 복수개의 유클리드 연산 셀(cell)이 사용되므로 계산 회로의 규모가 커지는 문제점이 있다.
또한, 상기 유클리드 연산셀의 회로 구성이 복잡하여 제어가 용이하지 않고, 많은 전력이 소모되는 문제점이 있다.
본 발명의 목적은 리드-솔로몬 디코더를 설계함에 있어 단일의 유클리드 알고리즘 연산 셀을 사용하여, 계산 회로의 규모를 줄이고 유클리드 연산셀의 회로 구성을 단순화 함으로써 저전력 동작에 유리한 구조로 설계된 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘 연산회로를 제공함에 있다.
본 발명의 일 특징에 따른 수정된 유클리드 알고리즘 연산회로가 제공된다. 상기 회로는, 신드롬 다항식(S(x))을 이용하여 오류평가 다항식(ω(x)) 및 오류 위치 다항식(σ(x))을 구하기 위한 유클리드 알고리즘 연산 회로에 있어서, 다항식 Ri(x), Qi(x), Ui(x) 및 Vi(x)(여기서, 0≤i≤2t, t는 오류정정가능한 블록수임)의 계수를 각각 저장하기 위한 4개의 레지스터로서, R0(x)= x2t, Q0(x) = S(x), U0(x) =0 및 V0(x) = 1로 각각 초기화되는 4개의 레지스터; 상기 다항식 Ri(x)의 차수(R_degi) 및 다항식 Qi(x)의 차수(Q_degi)를 각각 저장하기 위한 2개의 메모리 유니트로서, R_deg0= 2*t 및 Q_deg0= 2*t-1로 각각 초기화되는 메모리 유니트; 제 1,2 제어 신호에 따라 Ri+1(x), Qi+1(x), Ui+1(x) 및 Vi+1(x)의 계수 및 상기 Ri+1(x) 및 Qi+1(x)의 차수(R_degi+1 및 Q_degi+1)를 각각 계산하고 그 결과를 대응하는 상기 레지스터 및 메모리 유니트에 각각 저장하는 동작을 2*t번 반복 수행하기 위한 하나의 유클리드 연산 셀; 및 상기 2개의 메모리 유니트에 저장된 차수들(R_degi, Q_degi)과 t값 사이의 비교 연산 및 상기 차수들간의 비교 연산을 수행하여 중지 신호에 해당하는 상기 제 1 제어 신호와 상기 다항식 Ri(x), Qi(x)의 σi에 해당하는 상기 제 2 제어 신호를 생성하고, 상기 유클리드 연산 셀의 동작의 2*t번 반복 수행된 후에 상기 다항식 R(x)를 오류평가 다항식(ω(x))으로 출력하며, 상기 다항식 U(x)를 오류위치 다항식(σ(x))으로 출력하기 위한 제어부를 포함하며, 상기 유클리드 연산 셀은, 상기 각 레지스터에 저장된 값을 서로 교환하는 레지스터 교환부, 상기 다항식의 차수를 올려주는 시프트 연산부, 유한체내에서의 곱셈을 수행하는 유한체 곱셈부, 유한체내에서의 덧셈을 수행하는 유한체 덧셈부, 차수값을 1만큼 감소시키는 뺄셈 연산부를 포함하며, 상기 제 2 제어신호값이 1인 경우에 상기 레지스터 교환부를 통해 상기 레지스터에 저장된 Ri(x)와 Qi(x)의 교환 및 Ui(x)와 Vi(x)의 교환과, 상기 메모리 유니트에 저장된 R_degi와 Q_degi 의 교환을 수행하고, 상기 제 1 제어 신호값이 0이고 상기 Qi(x)의 최고차항 계수를 나타내는 bi이 0이 아닌 경우에 상기 유한체 곱셈부, 유한체 덧셈부 및 시프트 연산부를 통해 상기 Ri(x)의 최고차항 계수를 나타내는 ai, bi, Ri(x), Qi(x), Ui(x), Vi(x)에 대하여 유한체 곱셈, 유한체 덧셈 및 시프트 연산을 수행하여 Ri+1(x)와 Ui+1(x)를 계산하고, 상기 뺄셈 연산부를 통해 R_degi+1 = R_degi - 1로 설정하며, 상기 제 1 제어 신호값이 0이고 상기 Qi(x)의 최고차항 계수를 나타내는 bi이 0인 경우에 상기 시프트 연산부를 통해 상기 Qi(x) 및 Vi(x)에 대한 시프트 연산을 수행하여 Qi+1(x)와 Vi+1(x)를 계산하고, 상기 뺄셈 연산부를 통해 Q_degi+1 = Q_degi - 1로 설정하는 것을 특징으로 한다.
상기 다항식들의 최고차항 위치를 알려주기 위한 다항식 동기 신호를 저장하기 위한 다항식 동기 신호 레지스터를 더 포함하고, 상기 레지스터는 “000...01” 비트열로 초기화되는 것을 특징으로 한다.
상기 다항식 Ri(x), Qi(x), Ui(x) 및 Vi(x)의 계수를 각각 저장하기 위한 4개의 레지스터 각각은 총 2t+1개의 계수를 저장하고, 각각의 계수는 m(유한체내에서의 심볼 비트수를 나타냄)개의 비트로 이루어진 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 리드-솔로몬 복호 장치가 제공된다. 상기 장치는, 리드 솔로몬 코드 워드로부터 신드롬 다항식을 계산하기 위한 신드롬 다항식 연산 회로와, 상기 신드롬 다항식 연산부에 의해 계산된 신드롬 다항식을 이용하여 오류평가 다항식(ω(x)) 및 오류 위치 다항식(σ(x))을 구하기 위한 상기 단일의 유클리드 알고리즘 연산 회로; 상기 유클리드 알고리즘 연산회로에 의해 계산된 상기 오류평가 다항식(ω(x)) 및 오류 위치 다항식(σ(x))을 이용하여 오류 위치 및 오류 평가값을 계산하기 위한 체인 서치 회로; 상기 체인서치 회로에 의해 계산된 오류 위치 및 오류 평가값을 이용하여 오류값을 계산하여 오류 정정을 수행하는 포니 알고리즘 계산 회로를 포함하는 것을 특징으로 한다.
본 발명에 의거하여 이하 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예를 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산방법을 나타낸 플로우챠트이다. 도 4를 참조하면, 먼저 본 발명에 따른 수정된 유클리드 알고리즘의 연산은 R(x)=x2t, Q(x)=S(x), U(x)=0, V(x)=1과 같은 초기값을 가지고 시작하며, 여기에 R(x)의 차수값을 나타내는 Rdeg와 Q(x)의 차수값을 나타내는 Qdeg를 정의한다. 각각의 초기값은 2*t와 2*t-1로 설정한다(S400).
여기서 t는 리드-솔로몬 코드가 정정할 수 있는 블록수이며, 일반적으로 (N-K)/2로 계산된다. N은 부호화기로부터 출력되는 코드 블록 수를 의미하고, K는 부호화기로 입력되는 메시지 블록 수를 의미한다. 즉, N-K는 부가적으로 삽입되는 블록을 의미하는데 예를들어, N=15, K=9이면 리드-솔로몬 코드가 정정할 수 있는 블록수는 3이 되게 된다. 또한, i는 전체 루프 연산 횟수를 제어하는 변수로 연산을 한번씩 수행할 때마다 1씩 올라간다.
단계(S400)의 수행후, R(x)의 차수값을 나타내는 Rdeg와 Q(x)의 차수값을 나타내는 Qdeg가 리드-솔로몬 코드가 정정할 수 있는 블록수 t보다 크거나 같은지 판단한다(S402).
상기 판단결과, R(x)의 차수값을 나타내는 Rdeg와 Q(x)의 차수값을 나타내는 Qdeg가 리드-솔로몬 코드가 정정할 수 있는 블록수 t보다 크거나 같으면, Qdeg가 Rdeg보다 큰지 판단하여(S404), Qdeg가 Rdeg보다 크면, 다항식 교환을 수행하고(S406) Q(x)의 최고차항 계수인 b가 0인지 판단하며(S408), Qdeg가 Rdeg보다 크지않다면 바로 다항식 교환과정없이 Q(x)의 최고차항 계수인 b가 0인지 판단한다(S408).
여기서 상기 다항식 교환은 R(x)와 Q(x) 다항식의 교환과, U(x)와 V(x) 다항식의 교환 및 Rdeg와 Qdeg의 교환을 포함한다.
단계(S408)의 판단결과, Q(x)의 최고차항 계수인 b가 0이면 Q(x)=xQ(x), V(x)=xV(x), Qdeg=Qdeg-1 연산을 수행하는데(S410), 이것은 R(x), Q(x), U(x), V(x) 각각에 해당하는 버퍼를 이루고 있는 순차적인 블록이, R(x)와 U(x)는 변화없고 Q(x)와 V(x)만 한블록씩 시프트(Shift)하고, Qdeg값에서 1을 차감하는 연산을 수행함을 나타낸다.
상기 판단결과, Q(x)의 최고차항 계수인 b가 0이 아니면, R(x)=x(b*R(x)+a*Q(x)), U(x)=x(b*U(x)+a*V(x)), Rdeg=Rdeg-1 연산을 수행하는데(S412), 이것은 R(x), Q(x), U(x), V(x) 각각에 해당하는 버퍼를 이루고 있는 순차적인 블록이, Q(x)와 V(x)는 변화없고 R(x)와 U(x)만 한블록씩 시프트(Shift)하고, Rdeg값에서 1을 차감하는 연산을 수행함을 나타낸다. 여기서 '*'과 '+'연산은 통상 의 곱셈과 덧셈연산이 아닌 유한체내에서의 곱셈과 덧셈연산이다.
한편, 단계(S402)에서 R(x)의 차수값을 나타내는 Rdeg와 Q(x)의 차수값을 나타내는 Qdeg가 리드-솔로몬 코드가 정정할 수 있는 블록수 t보다 작은 값을 갖는 경우에는, Rdeg가 Qdeg보다 작은지 판단한다(S414).
상기 판단결과, Rdeg가 Qdeg보다 작지 않으면, 단계(S406)에서 수행한 연산과 마찬가지로, R(x)와 Q(x) 다항식의 교환, U(x)와 V(x) 다항식의 교환 및 Rdeg와 Qdeg의 교환을 포함하는 다항식 교환을 수행하고(S416), Rdeg가 Qdeg보다 작다면, 상기 다항식 교환과정을 생략한다.
연산 수행의 조건에 따라 단계(S410) 내지 단계(S416) 중 어느 한 단계의 수행이 끝나면 하나의 연산과정이 끝나게 되므로, i에 1을 가산하여(S418) 그 i가 i=2*t식을 만족하는지 판단한다(S420). 상기 판단결과, 상기 i=2*t식을 만족하지 않으면 다시 단계(S402)부터 연산을 수행하여 상기 식을 만족할 때까지 반복하고, 상기 식을 만족하면 본 발명에 따른 연산이 종료된다.
다시말해 본 발명에 따른 수정된 유클리드 연산 알고리즘은 전체 루프 연산 횟수를 제어하기 위해 i라는 변수를 두어 연산이 2*t번 반복하게 설정하여, i값이 2*t가 되는 경우에는 연산을 중단하고 알고리즘을 완료한다. 모든 연산이 완료되면 R(x) 다항식은 오류 평가 다항식 V(x) 가 되고 U(x) 다항식은 오류 위치 다항식 S(x)가 된다.
도 5는 본 발명에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 하드웨어 구성을 나타낸 블록도이다. 도 5를 참조하면, 상기 하드웨어 구성은 레지스터/메모리부(500), 처리부(502), 제어부(504)로 크게 구분할 수 있다. 상기 레지스터/메모리부(500)는 R(x), Q(x), U(x), V(x) 다항식을 저장하고, R(x)의 차수값인 Rdeg와 Q(x)의 차수값인 Qdeg를 저장한다.
상기 R(x), Q(x), U(x), V(x)의 다항식을 저장하는 레지스터에는 R0부터 R2t, Q0부터 Q2t, U0부터 U2t, V0부터 V2t까지 각각 총 2t+1개의 계수를 저장하며, 각각의 계수는 m개의 비트로 구성된다. 여기서 m은 유한체 내에서의 심볼 비트 수를 의미한다.
처리부(502)는 다항식 및 차수값을 저장하는 레지스터를 서로 교환하는 레지스터 교환부(506), 다항식의 차수를 올려주는 시프트 연산부(508), 유한체내에서의 곱셈을 수행하는 유한체 곱셈부(510), 유한체내에서의 덧셈을 수행하는 유한체 덧셈부(512), 차수값을 1만큼 감소하는 뺄셈 연산부(514)를 포함한다.
상기 처리부(502)는 레지스터/메모리부(500)로부터 다항식과 차수값을 읽어들여 해당하는 연산을 처리한 후 다시 저장하는 역할을 수행한다.
제어부(504)는 Rdeg와 Qdeg를 이용하여 각각의 연산을 처리하기 위한 조건을 판단하고 전체 알고리즘 흐름을 제어한다. 상기 제어부(504)는 Rdeg, Qdeg, t, b를 이용하여 조건 연산을 수행함으로써, 연산 흐름을 제어하는 상태 머신으로 이루어진 다.
도 6 내지 도 8은 도 4의 본 발명에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산방법을 수행함에 있어 레지스터 값의 변화를 나타낸 도면이다.
도 6은 도 4의 다항식 교환에 따른 레지스터 값의 변화를 나타낸 도면이다. 도 6을 참조하면, 도 4의 단계(S406) 또는 단계(S416)을 수행함에 따라 R(x)와 Q(x) 다항식 교환, U(x)와 V(x) 다항식 교환과 Rdeg와 Qdeg 교환 연산시 레지스터 값이 변화됨을 알 수 있다.
즉, 상기 R(x)의 계수값들인 R0부터 R2t가 Q(x)에 해당하는 위치로 이동하고, Q(x)의 계수값들인 Q0부터 Q2t가 R(x)에 해당하는 위치로 이동한다. 또한, U(x)의 계수값들인 U0부터 U2t가 V(x)에 해당하는 위치로 이동하고, V(x)의 계수값들인 V0부터 V2t가 U(x)에 해당하는 위치로 이동한다. 또한, Rdeg는 Qdeg 의 위치로 이동하고, Qdeg 는 Rdeg의 위치로 이동한다.
도 7은 도 4의 R(x), U(x), Rdeg 연산에 따른 레지스터 값의 변화를 나타낸 도면이다. 도 7을 참조하면, 도 4에 도시된 단계(S412)의 R(x)=x(b*R(x)+a*Q(x)), U(x)=x(b*U(x)+a*V(x)), Rdeg=Rdeg-1 연산을 수행함에 따라 레지스터 값이 변화됨을 알 수 있다.
즉, R(x)와 Q(x)의 관계에서, R(x)의 최고차항 계수인 a와 Q(x)의 최고차항 계수인 b를 이용하여 유한체 곱셈 및 덧셈을 수행한 후 차수를 1만큼 올려주는 시프트 연산에 의해, R0부터 R2t까지 저장되었던 R(x) 레지스터는 차수가 1만큼 올라감으로써, 상수항 위치는 '0'으로 채워지고 나머지는 계수들은 x(b*R(x)+a*Q(x))식에 따라 연산된 후, 새로운 값들인 R0부터 R2t-1까지의 값들로 채워지게 된다.
마찬가지로, U(x)와 V(x)의 관계에서, U(x)의 최고차항 계수인 a와 V(x)의 최고차항 계수인 b를 이용하여 유한체 곱셈 및 덧셈을 수행한 후 차수를 1만큼 올려주는 시프트 연산에 의해, U0부터 U2t까지 저장되었던 U(x) 레지스터는 차수가 1만큼 올라감으로써, 상수항 위치는 '0'으로 채워지고 나머지는 계수들은 U(x)=x(b*U(x)+a*V(x))식에 따라 연산된 후, 새로운 값들인 U0부터 U2t-1까지의 값들로 채워지게 된다.
또한, Q(x)와 V(x)는 변화 없이 그대로 유지되고, Rdeg값은 '1'이 감소되어 Rdeg-1 값이 저장되고, Qdeg는 변화가 없다.
도 8은 도 4의 Q(x), V(x), Qdeg 연산에 따른 레지스터 값의 변화를 나타낸 도면이다. 도 8을 참조하면, 도 4에 도시된 단계(S410)의 Q(x)=xQ(x), V(x)=xV(x), Qdeg=Qdeg-1 연산을 수행함에 따라 레지스터 값이 변화됨을 알 수 있다.
즉, 도 4에 도시된 단계(S410)는 Q(x)와 V(x)의 시프트 연산 및 Qdeg의 감소 연산을 수행하는 단계로, Q(x) 다항식 계수인 Q0부터 Q2t까지의 값들이 1만큼 시프트하고, V(x) 다항식 계수인 V0부터 V2t까지의 값들도 1만큼 시프트 한다. 또한, R(x)와 U(x)는 변화가 없고, Qdeg는 1이 감소되어 Qdeg-1값이 저장되고, Rdeg는 변화가 없다.
도 9는 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산 회로 구조를 나타낸 도면이다. 도 9는 일례로 하나의 유클리드 셀을 이용하여 반복적으로 계산하는 수정된 유클리드 알고리즘 계산 회로를 나타내었다.
리드-솔로몬 복호 장치의 신드롬 다항식 연산부로부터 입력받은 신호는 수정된 유클리드 연산부에서 유클리드 연산을 수행하기 위해 연산 초기값 또는 이전 연산값을 입력받아 R(x)와 Q(x)의 차수 신호를 출력하는 2개의 멀티플렉서(900)와, 연산 초기값 또는 이전 연산값을 입력받아 R(x), Q(x), U(x), V(x) 다항식 계수를 출력하는 4개의 레지스터(902)와 다항식 동기 신호를 출력하는 한개의 레지스터(902)와, 상기 멀티플렉서(900)와 레지스터(902)의 출력값을 입력받아 수정된 유클리드 알고리즘 연산을 수행하고, 그 수행된 연산값을 출력하여 i=2*t식을 만족할 때까지 상기 멀티플렉서(900)와 레지스터(902)에 입력하는 한개 이상의 연산셀(904) 및 상기 연산셀과 연결되어 시스템을 제어하고, 오류위치 및 오류 위치 평가 다항식의 유효 구간 지시 신호를 출력하는 제어기(906)를 포함한다.
상기 수정된 유클리드 연산부의 동작을 설명하면, 신드롬 다항식에서 계산된 신드롬 계수값들은 Q(x) 다항식을 초기화하는 레지스터로 입력되고, R(x) 다항 식은 x2t로, U(x) 다항식은 '0'으로, V(x) 다항식은 '1'로 초기화 된다.
또한 2개의 차수 신호는 R(x)와 Q(x) 다항식의 차수 신호로써, 각각 2*t와 2*t -1로 초기화 되고, 다항식 동기 신호는 '00...01' 비트열로 초기화 되는데 이는 비트 '1'의 위치가 항상 다항식의 최고차항을 지시하는 역할을 수행하도록 한다.
상기 초기화된 수정된 유클리드 알고리즘 연산 셀(904)은 i=2*t식을 만족할 때까지 전체적으로 2*t번 유클리드 셀 루프 연산을 수행하며, 루프 연산이 끝나면 제어기(906)에서 알고리즘 종료 신호를 발생시켜 더 이상 시프트 연산이 수행되지 않도록 레지스터(902)를 정지시킨다. 그 후, R(x)다항식 레지스터에 있는 값들은 오류 평가 다항식 w(x)로 출력되며, U(x)다항식 레지스터에 있는 값들은 오류 위치 다항식 s(x)로 출력된다.
도 10은 본 발명의 일실시예에 따른 리드-솔로몬 복호 장치에 적용되는 수정된 유클리드 알고리즘 연산부의 연산 셀 구조를 나타낸 도면이다. 도 10을 참조하면, 상기 연산 셀은 R(x)와 Q(x) 다항식의 최고차수인 Rdeg와 Qdeg를 계산하고, 각 변수의 조건에 따라 제어 신호를 생성하여 Rdeg가 -1 감소할지 Qdeg가 -1 감소할지를 결정하는 제 1부(1000)와 R(x), Q(x), U(x), V(x)다항식을 계산하는 제 2부(1002)로 나누어 진다.
상기 제 1부(1000)는 2개의 멀티플렉서와 5개의 플립플롭으로 구성되고, 상기 제 2부(1002)는 12개의 멀티플렉서(MUX), 14개의 플립플롭, 4개의 유한체내 곱 셈기, 2개의 유한체내 덧셈기로 구성되며, 3개의 플립으로 구성된 다항식 동기 입출력부를 포함한다.
주요한 구성 부분을 설명하면, 멀티프렉서를 통하여 R(x)와 Q(x), U(x)와 V(x)를 상호 교환하는 부분과 R(x)와 Q(x)의 최고차항 계수인 a와 b를 레지스터에 저장하여 유한체 곱셈 및 유한체 덧셈 연산을 수행하는 부분, Q(x)의 최고차항이 '0'인 경우, 즉 b가 '0'인 경우와 알고리즘 멈춤 조건인 stop신호에 따른 MUX부분 등으로 나뉘어진다.
또한 최고차항의 위치를 알려주는 다항식 동기 신호도 존재한다. 다항식 동기 신호는 각 다항식의 계수들이 직렬 방식에 따라 연산셀로 순차적으로 입력되기 때문에 계수들의 차수 위치를 알려주는데 사용된다.
본 발명에서 설계된 유클리드 연산 셀(904)은 다항식의 계수들을 직렬로 입력하는 직렬 방식이며, 단일 셀로만 사용할 수도 있고, 여러 개의 셀을 연결하여 사용할 수도 있다. 사용하는 셀의 개수가 많을수록 처리율도 그 만큼 빨라진다. 몇 개를 사용하여 구현할지는 리드-솔로몬 규격 및 유클리드 연산 처리율에 따라 의존한다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다.
예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 리드-솔로몬 복호 장치를 설계함에 있어 단일의 유클리드 알고리즘 계산 셀을 사용하여, 계산 회로의 규모를 줄이고 유클리드 연산셀의 회로 구성을 단순화 함으로써 저전력 동작에 효율적인 구조로 설계할 수 있게 한다.
Claims (8)
- 신드롬 다항식(S(x))을 이용하여 오류평가 다항식(ω(x)) 및 오류 위치 다항식(σ(x))을 구하기 위한 유클리드 알고리즘 연산 회로에 있어서,다항식 Ri(x), Qi(x), Ui(x) 및 Vi(x)(여기서, 0≤i≤2t, t는 오류정정가능한 블록수임)의 계수를 각각 저장하기 위한 4개의 레지스터로서, R0(x)= x2t, Q0(x) = S(x), U0(x) =0 및 V0(x) = 1로 각각 초기화되는 4개의 레지스터;상기 다항식 Ri(x)의 차수(R_degi) 및 다항식 Qi(x)의 차수(Q_degi)를 각각 저장하기 위한 2개의 메모리 유니트로서, R_deg0= 2*t 및 Q_deg0= 2*t-1로 각각 초기화되는 메모리 유니트;제 1,2 제어 신호에 따라 Ri+1(x), Qi+1(x), Ui+1(x) 및 Vi+1(x)의 계수 및 상기 Ri+1(x) 및 Qi+1(x)의 차수(R_degi+1 및 Q_degi+1)를 각각 계산하고 그 결과를 대응하는 상기 레지스터 및 메모리 유니트에 각각 저장하는 동작을 2*t번 반복 수행하기 위한 하나의 유클리드 연산 셀; 및상기 2개의 메모리 유니트에 저장된 차수들(R_degi, Q_degi)과 t값 사이의 비교 연산 및 상기 차수들간의 비교 연산을 수행하여 중지 신호에 해당하는 상기 제 1 제어 신호와 상기 다항식 Ri(x), Qi(x)의 σi에 해당하는 상기 제 2 제어 신호를 생성하고, 상기 유클리드 연산 셀의 동작의 2*t번 반복 수행된 후에 상기 다항식 R(x)를 오류평가 다항식(ω(x))으로 출력하며, 상기 다항식 U(x)를 오류위치 다항식(σ(x))으로 출력하기 위한 제어부를 포함하며,상기 유클리드 연산 셀은,상기 각 레지스터에 저장된 값을 서로 교환하는 레지스터 교환부, 상기 다항식의 차수를 올려주는 시프트 연산부, 유한체내에서의 곱셈을 수행하는 유한체 곱셈부, 유한체내에서의 덧셈을 수행하는 유한체 덧셈부, 차수값을 1만큼 감소시키는 뺄셈 연산부를 포함하며,상기 제 2 제어 신호값이 1인 경우에 상기 레지스터 교환부를 통해 상기 레지스터에 저장된 Ri(x)와 Qi(x)의 교환 및 Ui(x)와 Vi(x)의 교환과, 상기 메모리 유니트에 저장된 R_degi와 Q_degi 의 교환을 수행하고,상기 제 1 제어 신호값이 0이고 상기 Qi(x)의 최고차항 계수를 나타내는 bi이 0이 아닌 경우에 상기 유한체 곱셈부, 유한체 덧셈부 및 시프트 연산부를 통해 상기 Ri(x)의 최고차항 계수를 나타내는 ai, bi, Ri(x), Qi(x), Ui(x), Vi(x)에 대하여 유한체 곱셈, 유한체 덧셈 및 시프트 연산을 수행하여 Ri+1(x)와 Ui+1(x)를 계산하고, 상기 뺄셈 연산부를 통해 R_degi+1 = R_degi - 1로 설정하며,상기 제 1 제어 신호값이 0이고 상기 Qi(x)의 최고차항 계수를 나타내는 bi이 0인 경우에 상기 시프트 연산부를 통해 상기 Qi(x) 및 Vi(x)에 대한 시프트 연산을 수행하여 Qi+1(x)와 Vi+1(x)를 계산하고, 상기 뺄셈 연산부를 통해 Q_degi+1 = Q_degi - 1로 설정하는 것을 특징으로 하는 유클리드 알고리즘 연산 회로.
- 삭제
- 제 1항에 있어서, 상기 제어부는,상기 Ri(x)의 차수값(R_degi) 및 Qi(x)의 차수값(Q_degi)의 값이 t보다 작은지를 판단하고 작다면 상기 제 1 제어 신호를 1로 설정하며,상기 제 1 제어 신호값이 0이고 R_degi이 Q_degi보다 크거나 같은 경우와, 상기 제 1 제어 신호값이 1이고 R_degi이 Q_degi보다 작은 경우에는 상기 제 2 제어 신호를 1로 설정하는것을 특징으로 하는 유클리드 알고리즘 연산 회로.
- 삭제
- 삭제
- 제 1항에 있어서,상기 다항식들의 최고차항 위치를 알려주기 위한 다항식 동기 신호를 저장하기 위한 다항식 동기 신호 레지스터를 더 포함하고, 상기 레지스터는 “000...01” 비트열로 초기화되는 유클리드 알고리즘 연산 회로.
- 제 1항에 있어서,상기 다항식 Ri(x), Qi(x), Ui(x) 및 Vi(x)의 계수를 각각 저장하기 위한 4개의 레지스터 각각은 총 2t+1개의 계수를 저장하고, 각각의 계수는 m(유한체내에서의 심볼 비트수를 나타냄)개의 비트로 이루어지는 유클리드 알고리즘 연산 회로.
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040104320 | 2004-12-10 | ||
KR1020040104320 | 2004-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060065452A KR20060065452A (ko) | 2006-06-14 |
KR100747487B1 true KR100747487B1 (ko) | 2007-08-08 |
Family
ID=37160713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050042911A KR100747487B1 (ko) | 2004-12-10 | 2005-05-23 | 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100747487B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100875928B1 (ko) | 2007-05-09 | 2008-12-26 | 한국전자통신연구원 | 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법 |
KR100907547B1 (ko) * | 2007-03-21 | 2009-07-14 | 아주대학교산학협력단 | 리드-솔로몬 복호기의 에스-디씨엠이 알고리즘 연산방법 및그 연산회로 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100714447B1 (ko) * | 2005-11-28 | 2007-05-07 | 한국전자통신연구원 | 수정 유클리드 알고리즘 연산 장치 및 그 방법과 그를이용한 리드-솔로몬 복호 장치 |
KR20080112583A (ko) | 2007-06-21 | 2008-12-26 | 주식회사 코아로직 | 리드 솔로몬 디코더 및 그 방법 |
-
2005
- 2005-05-23 KR KR1020050042911A patent/KR100747487B1/ko not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
인용발명(IEE Electronics Letters, Vol.39,No.19,2003.9,pp.1371-1372) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100907547B1 (ko) * | 2007-03-21 | 2009-07-14 | 아주대학교산학협력단 | 리드-솔로몬 복호기의 에스-디씨엠이 알고리즘 연산방법 및그 연산회로 |
KR100875928B1 (ko) | 2007-05-09 | 2008-12-26 | 한국전자통신연구원 | 고속 리드-솔로몬 복호기의 수정 유클리드 알고리즘 연산회로 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20060065452A (ko) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5170399A (en) | Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack | |
US5379243A (en) | Method and apparatus for performing finite field division | |
US6920600B2 (en) | Dual chien search blocks in an error-correcting decoder | |
US7020826B2 (en) | Intra-decoder component block messaging | |
JP2005218098A (ja) | 順方向のチェンサーチ方式のリードソロモンデコーダ回路 | |
US5535225A (en) | Time domain algebraic encoder/decoder | |
US7366969B2 (en) | System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic | |
CN1653699B (zh) | 软判定解码里德-索洛蒙码的方法 | |
KR20040075953A (ko) | 에러 정정 디코더용 치엔 탐색 셀 | |
KR100747487B1 (ko) | 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로 | |
JPH11225079A (ja) | 新たな多項式配列構造を採用したリード−ソロモン復号器とその復号方法 | |
KR101094574B1 (ko) | Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법 | |
US6263471B1 (en) | Method and apparatus for decoding an error correction code | |
EP1102406A2 (en) | Apparatus and method for decoding digital data | |
EP0911983A1 (en) | Reed solomon error correcting circuit and method and device for euclidean mutual division | |
KR19990026630A (ko) | 리드-솔로몬 복호기와 그 복호방법 | |
EP0329775B1 (en) | High bandwidth reed-solomon encoding, decoding and error correcting circuit and method | |
JP3343857B2 (ja) | 復号装置、演算装置およびこれらの方法 | |
Khan et al. | Hardware implementation of shortened (48, 38) Reed Solomon forward error correcting code | |
Lee et al. | An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes | |
KR100335482B1 (ko) | 에러정정시스템 | |
KR100212829B1 (ko) | 리드 솔로몬 복호기의 신드롬 계산장치 | |
KR100298833B1 (ko) | 유크리드 알고리즘 연산 회로 | |
KR100247075B1 (ko) | 리드솔로몬 디코더에 있어서 고속시리얼 에러타위치 다항식 계산회로 | |
KR101007425B1 (ko) | 고속 저면적 리드-솔로몬 복호기를 위한 폴딩 방식 수정 유클리드 알고리즘 연산 회로 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20110729 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |