KR20030013013A - 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로 - Google Patents

리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로 Download PDF

Info

Publication number
KR20030013013A
KR20030013013A KR1020010047292A KR20010047292A KR20030013013A KR 20030013013 A KR20030013013 A KR 20030013013A KR 1020010047292 A KR1020010047292 A KR 1020010047292A KR 20010047292 A KR20010047292 A KR 20010047292A KR 20030013013 A KR20030013013 A KR 20030013013A
Authority
KR
South Korea
Prior art keywords
input
polynomial
cell
register
finite field
Prior art date
Application number
KR1020010047292A
Other languages
English (en)
Other versions
KR100437845B1 (ko
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-2001-0047292A priority Critical patent/KR100437845B1/ko
Publication of KR20030013013A publication Critical patent/KR20030013013A/ko
Application granted granted Critical
Publication of KR100437845B1 publication Critical patent/KR100437845B1/ko

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/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 디지털 통신 및 디지털 데이터 저장 시스템의 채널에서 발생하는 오류 검출과 정정을 위해 널리 사용되고 있는 리드 솔로몬(Reed-Solomon) 복호기의 핵심 연산부인 수정 유클리드 알고리즘 연산 회로에 관한 것으로, 리드 솔로몬 복호기는 부호기에 비해 복잡한 알고리즘과 연산 회로가 필요하기 때문에 효율적인 복호를 위하여 성능이 우수하고 하드웨어 구현이 용이한 수정 유클리드 알고리즘의 고속 연산 방법 및 연산 회로를 제공한다.

Description

리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산 방법 및 연산 회로{High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder}
본 발명은 디지털 통신 및 디지털 데이터 저장 시스템의 채널에서 발생하는 오류 검출과 정정을 위해 널리 사용되고 있는 리드 솔로몬(Reed-Solomon, 이하 RS라 함) 복호기의 핵심 연산부인 수정 유클리드 알고리즘 연산 회로에 관한 것으로, 리드 솔로몬 복호기는 부호기에 비해 복잡한 알고리즘과 연산 회로가 필요하기 때문에 효율적인 복호를 위하여 성능이 우수하고 하드웨어 구현이 용이한 수정 유클리드 알고리즘의 고속 연산 방법 및 연산 회로를 제공한다.
상기 RS 복호기는 부호기에 비하여 복잡한 알고리즘과 연산회로가 필요하기 때문에 효율적인 복호를 위한 알고리즘과 구조들이 연구되어 왔다. 일반적으로 FEC(Forward Error Correction) 기법 중에서 연집 오류 정정에 우수한 성능을 보이는 RS 부호는 위성 통신, 이동 통신, ATM(Asynchronous Transfer Mode) 망, 디지털 저장 장치, HDTV 등 다양한 응용 분야에서 사용되고 있다. 또한 최근 신뢰성 있는고속 멀티미디어 데이터 전송을 위해 수백 Mbps 급의 전송 속도를 만족하는 RS 복호기의 필요성이 대두되었다. 따라서 고속 멀티미디어 데이터 전송이 가능하고 작은 면적으로 구현이 가능한 RS 복호기가 많이 발표되었다.
상기 RS(n,k,t) 부호에서n은 부호 심볼 수,k는 정보 심볼 수,t는 오류 정정 가능 심볼 수를 나타내며t는 (n - k) / 2 이다. 일반적인 RS 부호의 복호 과정은 신드롬 다항식(syndrome polynomial) 계산, 오류 위치 다항식(error locator polynomial) 및 오류 크기 다항식(error magnitude polynomial) 계산, 오류 위치 및 오류 값 계산, 오류 정정의 다섯 단계로 구분할 수 있다. 이 중에서 오류 위치 다항식 및 오류 크기 다항식을 구하기 위한 키 방정식(key equation) 연산은 전체 연산 수행 시간 중 가장 많은 부분을 차지하며 하드웨어 복잡도가 가장 크다. 따라서 키 방정식 연산 구조는 RS 복호기의 성능을 결정하는 중요한 부분이다.
키 방정식 연산을 위한 알고리즘으로 벨르캄프-메시(Berlekamp-Massey) 알고리즘, 유클리드 알고리즘, 수정 유클리드 알고리즘이 있다. 벨르캄프-메시 알고리즘은 유클리드 알고리즘보다 하드웨어 복잡도는 작으나 고속 구현이 어렵다. 유클리드 알고리즘은 두 정수 또는 두 다항식의 최대 공약수를 구하는 알고리즘으로 이를 이용하여 오류 위치 다항식 및 오류 크기 다항식을 빠르게 찾아낼 수 있다. 상기 유클리드 알고리즘은 유한체 연산의 역원이 사용되므로 이를 위한 LUT(Look Up Table)가 필요하다. 그러나 수정 유클리드 알고리즘은 LUT를 필요로 하지 않으므로 LUT 사용으로 발생하는 속도 지연을 줄일 수 있는 장점이 있다.
수정 유클리드 알고리즘은 최고차항을 소거하여 반복적으로 차수를 줄이는방식으로 오류 위치 및 오류 크기 다항식을 구하기 위해 수학식1과 같이 초기값을 정한다. S(x)는 신드롬 다항식이다.
수학식2와 수학식3은 각각번 반복 연산이 수행될 경우 다항식,의 관계식이다.는 다항식,의 최고차항의 계수이며,는 다항식,의 차수에 따라 값이 결정된다.는 각각 다항식,의 차수(degree)를 나타낸다.
가 되면 반복연산을 멈추게 되고 이 때의가 각각 오류 크기 다항식과 오류 위치 다항식이 된다.
수정 유클리드 알고리즘 연산 회로의 ASIC 설계시 하드웨어 크기와 연산 수행 시간을 줄이기 위한 방법으로 시스톨릭 어레이(systolic array), 파이프라인 기법, 병렬 처리 구조 등이 제안되었다.
상기 수정 유클리드 알고리즘 연산 회로는 상기 수학식1 부터 수학식4의 다항식을 연산하기 위한 것으로, 수정 유클리드 알고리즘 기본 셀의 연산 흐름은 도1에 도시된 바와 같다.
또한, 도2는 종래의 수정 유클리드 알고리즘 연산 회로에서의 기본 셀의 한 실시예로서 기본 셀을 시스톨릭 어레이 형태로 배열하여 전체 알고리즘을 연산하는 구조로 되어 있으며, 알고리즘 연산을 위해 2t개의 셀이 사용된다. 상기 기본 셀은 2 개의 다항식 연산 유닛, 차수 계산 및 비교 회로, 멀티플렉서, 지연 버퍼로 구성되어 있다.
또한, 도3a 및 도3b는 종래의 수정 유클리드 알고리즘 기본 셀과 그 기본 셀을 갖는 연산회로의 실시예로서 상기 도2와 동일한 구조를 지니고 있으며 여러 개의 셀을 시스톨릭 어레이 형태로 배열하지 않고 셀의 출력을 궤환시켜 반복적으로 이용하는 구조로 되어 있다. RS(n, k) 부호를 처리하는 경우 알고리즘 연산 수행을 위해 [(n - k)2/n]개의 셀을 사용하며n - k번 반복 연산을 수행한다. [x]는 x보다 작은 최대 정수이다. 각 반복 연산마다n - k클럭이 필요하므로 (n - k)2의 클럭 지연이 발생하여 고속 동작이 어렵다.
또한 도4a 및 도4b는 종래의 수정 유클리드 알고리즘 연산 회로에 2t개의 기본 셀을 사용한 수정 유클리드 알고리즘 연산 회로의 기본 셀과 전체 구조를 나타낸 것이다. 기본 셀은 차수 계산 회로와 다항식 연산 회로로 구성되어 있으며 차수 계산 회로에서 생성한 제어 신호를 통하여 다항식 연산 회로를 제어한다.
상기 종래의 수정 유클리드 알고리즘 기본 셀은 기본적으로 도1의 연산 흐름도를 하드웨어로 구현한 것으로, 도2, 도3a, 3b 그리고 도4a, 4b의 경우에 기본 셀마다 차수 계산 회로가 필요하다. 다항식 차수 계산 회로는 알고리즘 연산에서 대부분의 연산 및 제어를 담당하고 있으며 하드웨어 복잡도 역시 큰 비중을 차지하고 있다.
종래 수정 유클리드 알고리즘 기본 셀의 동작은 도1의 흐름도를 기본으로 하고 있으며, 도1의 연산을 수행하기 위한 세부 구조들과 셀 배열 방식에 따라 조금씩 차이가 있을 뿐이다. 도1에서 이전 단계의 기본 셀로부터 다항식,,,,의 차수,가 입력된다. 먼저t와 비교한다.t보다 작을 경우를 다음 셀로 출력하며t보다 작을 경우를 다음 셀로 출력한다.모두t보다 클 경우는 두 개를 비교하여보다 클 경우 각각,,를 교환한다. 다항식 및 차수의 교환은 멀티플렉서를 사용하여 이루어진다.
다항식의 교환 여부가 결정되면 입력되는의 첫 계수가 0인지를 판별한다. 만일 첫 계수가 0이면 실제의 계수는보다 하나 작으므로이 되고t보다 작은지 비교한다. 만일t보다 작다면가 되고 알고리즘 연산을 종료한다.의 첫 계수가 0이 아닐 경우이 되고t보다 작은지 비교한다.t보다 작을 경우,를 계산하고 알고리즘 연산을 종료한다. 이 때가 된다.t보다 클 경우에는,를 계산하고 연산을 계속 수행한다. 연산이 종료되면가 각각 오류 크기 다항식과 오류 위치 다항식이 된다.
도2의 수정 유클리드 알고리즘 연산 회로의 기본셀에서 '시작 신호'는 다항식의 시작을 의미하는 것으로 이 신호가 1일 때부터 다항식의 계수가 유효하다. 도2의 구조는 기본 셀마다 차수 계산 회로가 포함되어 있으므로 셀의 하드웨어 복잡도가 커지고 부가적인 클럭 지연이 발생하는 문제점이 있었다.
다음에 도3의 수정 유클리드 알고리즘 연산 회로의 기본 셀은 도2의 기본 셀과 동일한 구조로 되어 있으며 궤환 구조를 이용해 기본 셀을 반복적으로 사용하므로 수정 유클리드 알고리즘 연산을 수행할 때 기본 셀의 수를 줄일 수 있는 장점이 있다. 그러나 기본 셀이n - k번 반복 연산을 수행해야 하며 각 반복 연산마다n - k번의 클럭 지연이 발생하므로 총 (n - k)2의 클럭 지연이 발생하여 고속 동작이 어렵다는 문제점이 있다.
다음에 도4의 수정 유클리드 알고리즘 연산 회로는 2t개의 기본 셀로 이루어져 있다. 기본 셀은 도3의 기본 셀과 마찬가지로 다항식 연산 회로와 차수 계산 회로의 두 부분으로 구성된다. 다항식 연산 회로는 14 개의 레지스터, 12 개의 2-입력 멀티플렉서, 4 개의 유한체 곱셈기, 2 개의 유한체 덧셈기로 구성되어 있다. 차수 계산 회로는 8 개의 레지스터, 7 개의 2-입력 멀티플렉서, 2 개의 뺄셈기, 2 개의 비교기, 쉬프트 레지스터 등으로 구성되어 있다. 도4a의 차수 계산 회로는 두 가지 제어 신호를 생성하여 다항식 연산 회로를 제어한다. 입력단 멀티플렉서의 선택 신호인 '교환 신호' 는 수학식2와 수학식3의 다항식 연산을 위한 다항식 교환 여부를 제어한다. 차수 계산 블록에서 두 다항식의 차수를 비교하여 교환 조건을 판단한다.의 차수가의 차수보다 크면 교환 신호는 1로 되고 입력단 멀티플렉서 출력은 다항식, 다항식의 위치가 서로 교환되어 출력된다.
두 번째 제어 신호 '중지 신호' 는 다항식 연산의 중단 신호이며 출력단의멀티플렉서 선택 신호로 사용된다. '교환 신호'를 선택 신호로 하는 입력단 멀티플렉서를 통과한에 각 다항식의 최고차항 계수를 서로 다른 다항식에 곱한 후 두 다항식의 차를 구한다. 계산된 두 다항식의 차는가 되어 다음 상태의 반복 연산에 사용된다.의 경우도 동일한 방법으로 계산이 되므로 두 쌍의 다항식 연산 구조는 동일하게 구성되어 있다.의 차수가t보다 작을 경우 반복 연산을 중단하는 신호를 생성한다. 연산 중단 신호는 다항식 연산 회로 출력단의 멀티플렉서의 선택 신호로 입력되어 연산이 수행되지 않은 이전 상태의 데이터를 출력한다. 전체 수정 유클리드 알고리즘 연산 회로는 2t개의 기본 셀이 시스톨릭 어레이 형태로 구성되어 있다.
상술한 바와 같이 종래의 수정 유클리드 알고리즘 연산 회로의 기본 셀은 다항식의 차수를 계산하고 연산 중단 신호를 생성하기 위한 차수 계산 회로와 오류 위치 다항식 및 오류 크기 다항식을 구하는 다항식 연산 회로의 두 부분으로 이루어져 있다. 차수 계산 회로는 덧셈기, 비교기, 레지스터, 멀티플렉서 등으로 구성되어 있으며 기본 셀에서 대부분의 연산 및 제어를 수행한다. 따라서 각 기본 셀마다 차수 계산 회로를 사용하여 수정 유클리드 알고리즘 회로를 구현할 경우 하드웨어 복잡도가 커지고 부가적인 클럭 지연이 발생하는 문제점이 있었다.
따라서, 본 발명은 RS 부호의 고속 복호를 위한 수정 유클리드 알고리즘 회로의 효율적인 하드웨어 구조를 설계하여 고성능 RS 복호기의 회로를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명은 RS 복호기의 오류 크기 다항식과 오류 위치 다항식이 되는 수정 유클리드 알고리즘 연산방법에 있어서, 상위 셀 2t의 계수인및 Q편차를 입력하는 단계와; 상기 입력된,의 값들이 모두 0이 아닐 경우 Q 편차가 0이면 다항식의 교환 연산을 수행하고 Q편차를 1 증가시키며, Q 편차가 0이 아닐 경우, 상기다항식에 의해이 1일 때의 연산을 수행하고 Q편차 1을 감소시키는 단계와; 상기 입력된,의 값들 중은 0이 아니고,은 0일 경우의 계수를 오른쪽으로 한번 이동시켜의 최고차항 계수의 상위 셀 2t에 위치하도록 하고, Q편차를 1 감소시키는 단계와; 상기 입력된,의 값들이 모두 0인 경우 모든 다항식의 계수를 오른쪽으로 한번 이동시키고, Q 편차를 1 감소시키는 단계와; 상기,의 값들 중은 0이고,은 0이 아닌 경우의 계수를 오른쪽으로 한번 이동시키고, Q편차가 0이면 1을 증가시키고 0이 아니면 1을 감소시키는 단계를 포함하여서, 상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행하는 RS 복호기의 고속 수정 알고리즘 연산방법을 특징으로 한다.
또한, 상기 고속 수정 알고리즘 연산방법을 수행하기 위하여, 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 다수의 수정 유클리드 알고리즘의 상위 셀과; 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와, 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 다수의 수정 유클리드 알고리즘의 하위 셀을 포함하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로를 특징으로 한다.
도1은 종래의 수정 유클리드 알고리즘 연산방법을 순차적으로 나타낸 도면.
도2는 도1의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본 셀의 한 실시예를 나타낸 도면.
도3a는 도1의 연산방법을 반복 연산하기 위한 수정 유클리드 알고리즘의 기본 셀의 한 실시예를 나타낸 도면.
도3b는 도3a의 기본 셀을 갖는 수정 유클리드 알고리즘 연산회로를 나타낸 도면.
도4a는 도1의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본 셀의 다른 실시예를 나타낸 도면.
도4b는 도4a의 기본 셀을 갖는 수정 유클리드 알고리즘 연산회로를 나타낸 도면.
도5는 본 발명에 따른 수정 유클리드 알고리즘의 연산방법을 순차적으로 나타낸 도면.
도6은 도5의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본셀과 셀 간의 연결 관계를 나타낸 도면.
도7은 본 발명에 따른 수정 유클리드 알고리즘 연산회로를 나타낸 도면.
이하, 첨부된 도면을 참조로 하여 본 발명을 상세히 설명하기로 한다.
먼저, 도5는 본 발명에 따른 수정 유클리드 연산의 흐름을 나타낸 것이다. 종래의 수정 유클리드 알고리즘 연산 방법은 최대 4번의 비교를 통하여 연산을 수행하나 본 발명에 따른 연산방법은 도5에 도시한 바와 같이 최대 총 3번의 비교 연산을 수행하며 기존 연산 흐름에 비하여 간단한 연산 흐름을 나타낸다. 또한 종래의 연산은 기본 셀 마다 도1에 도시된 바와 같은 알고리즘 연산을 수행하여 총 2t개의 차수 계산 회로가 필요하다. 그러나 본 발명의 수정 유클리드 알고리즘 연산 회로는 하나의 독립된 제어 블록을 통하여 연산을 수행하므로 하드웨어 수를 줄일 수 있다.
다음에, 도6은 본 발명에 따른 수정 유클리드 알고리즘 연산 회로의 기본 셀과 셀 사이의 연결 구조를 나타낸 것이고, 도7은 본 발명에 따른 전체 수정 유클리드 알고리즘 연산 회로를 나타낸 것이다. 도시한 바와 같이 4t+ 3 개의 기본 셀을 시스톨릭 어레이 방식으로 연결하여 하드웨어의 크기 부담을 줄이면서 효율적으로 반복적인 수정 유클리드 알고리즘을 연산할 수 있도록 하였다. 도7의 상위 셀은 수학식2의 다항식을 연산하기 위한 회로이며, 하위 셀은 수학식3의 다항식을 연산하기 위한 것이다.i는 현재 반복되는 연산 순서이며k는 셀의 번호(차수)를 나타내며 0≤k≤2t의 범위를 갖는다.
상기 도5에 도시한 수정 유클리드 알고리즘 연산 방법에서 상위 셀 2t의 계수인는 상위 셀 2t의 계수, 즉 다항식,의 최고차항 계수이며 'Q 편차'는의 차수를 맞추기 위한 제어 신호로 'Q 편차'가 0이면 수학식2에서의 교환 연산이 수행된다. 상위 셀 2t의 두 다항식 계수를 검색하여 그 계수가 0인지 아닌지에 따라 연산 흐름이 다음 4 가지 경우로 나뉘어진다. 여기서 기본 셀들의 수 t=16이라 할 때, 상위 셀 16의 계수는,이며, 이는 기본 셀들을 시스톨릭 어레이 방식으로 연결하기 위한 것이다.
첫 번째,,경우, 두 다항식의 최고차항 계수가 0이 아니므로 'Q 편차'가 0이면 다항식의 교환 연산을 수행하고 'Q 편차'를 1 증가시킨다. 'Q 편차'가 0이 아닐 경우에는 수학식2의이 1일 때의 연산을 수행하고 'Q 편차'를 1 감소시킨다.
두 번째,,경우,의 계수를 오른쪽으로 한 번 이동시켜의 최고차항 계수가 상위 셀 2t에 위치하도록 한다. 이 때 'Q 편차'는 1 감소시킨다.
세 번째,,경우, 모든 다항식의 계수를 오른쪽으로 한 번 이동시키고 'Q 편차'는 1 감소시킨다.
네 번째,,경우,,의 계수를 오른쪽으로 한 번 이동시킨다. 이 때 'Q 편차'의 값은 'Q 편차'가 0이면 1 증가시키고 0이 아니면 1 감소시킨다.
상술한 바와 같은 수정 유클리드 알고리즘 연산 방법은 항상 상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행되면 최종 결과인 오류 위치 다항식과 오류 크기 다항식을 구할 수 있다.
도6은 상술한 도5의 연산 방법을 수행하기 위한 수정 유클리드 알고리즘 기본 셀과 그 연결 관계를 나타낸 것이다. 상위 셀과 하위 셀의 동작은 동일하므로 상위 셀을 예로 들어 동작을 설명한다. 4-입력 멀티플렉서의 선택 신호는,이 0인지 아닌지에 따라 결정되며 상기 도5의 설명과 같은 4 가지 상태에 따라 입력을 선택하는 2비트 지시 신호가 사용된다. 4-입력 멀티플렉서의 입력은, 첫째, 수정 유클리드 알고리즘 연산의 초기 값,, 둘째, 이전 셀에서 이동된 값인,, 셋째, 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,, 넷째, 레지스터 입력을 초기화하기 위한 0 입력으로 이루어진다. 로드0, 로드1은 각각,의 값을 저장하는 레지스터의 데이터 입력 신호로 그 값이 1 일 때 레지스터에 4-입력 멀티플렉서의 출력 값이 저장된다. 로드0나 로드1의 값이 0일 경우 레지스터는 이전 상태의 값을 유지한다. 두 개의 레지스터 출력은 두 개의 유한체 곱셈기의 입력으로 사용되며 각각,의 유한체 곱셈 결과를 출력한다. 두 개의 유한체 곱셈기 출력은 유한체 덧셈기로 입력되며 유한체 덧셈기의 출력은 다음 기본 셀의 멀티플렉서 입력으로사용된다.
상기 로드0, 로드1, 지시 신호는 독립된 제어 블록에서 생성되며의 값에 따라서 생성된다. 수정 유클리드 알고리즘 연산 시작 신호가 인가되면 지시 신호로 "01"이 발생하며의 초기값을 선택하여 각각의 레지스터에 저장한다. 상위 셀 2t의 2 개의 레지스터 값을 검색하여 0일 경우또는의 최고차항이 그 자리에 없는 것을 의미하며 이 때 지시 신호를 "10"으로 전환하고 로드0 또는 로드1을 1로 선택하여 각 셀의 값들을 오른쪽으로 이동시키고의 차수를 맞춘다. 차수를 맞춘 후 연산이 수행되면의 계수들이 갱신되며 이 때 지시 신호를 "11"로 전환하고 로드1을 1로 선택하여 각각의 계수들을 레지스터에 저장한다. 연산 후 최고차항이 소거되므로 레지스터에 연산된 값을 저장할 때 오른쪽으로 이동시켜 클럭 지연 없이 최고차항의 계수가 상위 셀 2t의 레지스터에 저장될 수 있다.
수정 유클리드 알고리즘 연산이의 조건을 만족할 때까지 수행되므로 연산 종료 상태의보다 1이 크다. 상기 연산이 반복적으로 이루어질 때 최종 출력 값이 저장되는 셀들은 다항식계수의 경우 상위 셀t+1부터 상위 셀 2t이며, 다항식계수의 경우 하위 셀t+1부터 하위 셀 2t+1이 된다. 따라서 도7에 도시된 바와 같이 하위 셀은 2t+2 개로 상위 셀보다 하나 많다.
상술한 바와 같은 수정 유클리드 알고리즘 연산 방법 및 그 연산 회로는 디지털 TV 수신기, Cable 모뎀, WLAN 모뎀, ATM 및 WATM 모뎀, 광통신 데이터 서비스, 위성통신, 고품질의 디지털 데이터 저장 시스템(Compact Disk, VCR, HDD 등)등의 RS 복호기에 사용될 수 있다.
상술한 바와 같이 본 발명에 따른 수정 유클리드 알고리즘 회로는 병렬 처리 구조 및 파이프라인 기법 등을 이용하여 고속 멀티미디어 데이터 처리가 가능한 RS 복호기에 적용 가능하도록 설계되었다. 또한 기존 수정 유클리드 알고리즘 연산 셀의 차수 계산 회로를 제거하여 하드웨어 구현을 간단히 할 수 있으며, 종래의 수정 유클리드 알고리즘 연산 회로와 비교해 볼 때 각각의 셀에 추가된 차수 계산 회로를 제거하여 하드웨어 복잡도를 감소시킬 수 있다.
도4b의 회로는 각 기본 셀마다 8 개의 레지스터, 7 개의 2-입력 멀티플렉서, 2 개의 뺄셈기, 2 개의 비교기, 쉬프트 레지스터 등으로 구성된 차수 계산 회로가 포함되며 다항식 연산 회로는 14 개의 레지스터, 12 개의 2-입력 멀티플렉서, 4 개의 유한체 곱셈기, 2 개의 유한체 덧셈기로 구성되어 있다. 반면에 본 발명에 따른 수정 유클리드 알고리즘 연산 방법을 수행하기 위한 연산 회로는 2 개의 레지스터, 2 개의 4-입력 멀티플렉서, 2 개의 2-입력 멀티플렉서, 2 개의 유한체 곱셈기, 1 개의 유한체 덧셈기와 로드0, 로드1, 지시 신호를 생성하기 위한 제어 블록으로 구성된다.
표1은 본 발명에 따른 레지스터, 멀티플렉서 등 하드웨어 수를 기본 셀 한 개를 기준으로 도3과 비교한 것으로,t= 8 일 경우 발명한 구조와 도3의 레지스터 수는 각각 70 개, 352 개이며 멀티플렉서는 각각 280 개, 304 개가 사용되었다. 4-입력 멀티플렉서는 2-입력 멀티플렉서 3 개로 계산하였다. 이는 종래 구조에 비해 레지스터 수는 약 80%가 감소한 것이며 멀티플렉서 수는 약 8% 감소한 것이다.
레지스터 멀티플렉서 유한체 곱셈기 유한체 덧셈기 기타 기본 셀
본 발명의 구조 차수 연산 0 0 0 0 비교기덧셈/뺄셈기로직 게이트 4t+ 3
다항식 연산 2 2(2-입력)2(4-입력) 2 1
합계 2 8(2-입력기준) 2 1
종래의 구조 차수 연산 8 7 0 0 쉬프트 레지스터차수 계산 회로뺄셈기비교기로직 게이트 2t
다항식 연산 14 12 4 2
합계 22 19 4 2
또한 연산 수행 후 값을 이동시키도록 하여 알고리즘 연산 수행 시간이 2t+ 1로 감소하였다. 이는 도2와 도4b의 기존 수정 유클리드 알고리즘 연산 회로 연산 수행 시간인 4t 2, 3t+ 37에 비해t= 8일 경우 각각 93%와 72%의 클럭 지연이 감소되는 효과를 가져온다.

Claims (5)

  1. RS 복호기의 RS(n, k, t) 부호에서 n은 부호 심볼수, k는 정보 심볼수, t=(n-k)/2로 오류 정정 가능 심볼수로 정의하며, 오류 위치 및 오류 크기 다항식을 구하기 위해,,,으로 초기값을 정하고,번 반복 연산이 수행될 경우,,,의 값은
    이고,,
    이라 하며,는 다항식,의 최고차항의 계수라 할 때, 다항식의 차수가 되면 반복 연산을 멈추게 되고 이 때의가 각각 오류 크기 다항식과 오류 위치 다항식이 되는 수정 유클리드 알고리즘 연산방법에 있어서,
    상위 셀 2t의 계수인및 Q편차를 입력하는 단계와;
    상기 입력된,의 값들이 모두 0이 아닐 경우 Q 편차가 0이면 다항식의 교환 연산(이 0일 때)을 수행하고 Q편차를 1 증가시키며, Q 편차가 0이 아닐 경우, 상기다항식에 의해이 1일 때의 연산을 수행하고 Q편차 1을 감소시키는 단계와;
    상기 입력된,의 값들 중은 0이 아니고,은 0일 경우의 계수를 오른쪽으로 한번 이동시켜의 최고차항 계수의 상위 셀 2t에 위치하도록 하고, Q편차를 1 감소시키는 단계와;
    상기 입력된,의 값들이 모두 0인 경우 모든 다항식의 계수를 오른쪽으로 한번 이동시키고, Q 편차를 1 감소시키는 단계와;
    상기,의 값들 중은 0이고,은 0이 아닌 경우의 계수를 오른쪽으로 한번 이동시키고, Q편차가 0이면 1을 증가시키고 0이 아니면 1감소시키는 단계를 포함하여서,
    상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행하는 것을 특징으로 하는 RS 복호기의 고속 수정 알고리즘 연산방법.
  2. 제 1 항의 고속 수정 알고리즘 연산방법을 수행하기 위하여
    연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 2t+1개의 수정 유클리드 알고리즘의 상위 셀과;
    연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와, 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 2t+2개의 수정 유클리드 알고리즘의 하위 셀을 포함하는 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.
  3. 제 2 항에 있어서,
    상기 연산 회로는 상위 셀 2t+1개와 하위 셀 2t+2개가 시스톨릭 어레이로 구성된 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.
  4. 제 2 항에 있어서,
    상기 상위 셀과 하위 셀을 하나의 셀로 구성하는 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.
  5. 제 1 항의 연산 방법을 수행하기 위해 4t+3 개의 셀을 갖는 RS 복호기 고속 수정 유클리드 알고리즘 연산 회로에 있어서,
    상기 연산 초기 값을 레지스터에 저장하는 단계와;
    상위 셀 2t의 레지스터 값이 0일 경우 레지스터의 값을 다음 셀로 이동하는 단계와;
    상기 상위 셀 2t의 두 개의 레지스터 값이 모두 0이 아닐 경우 다항식 연산을 수행하는 단계와;
    상기 연산을 위하여 4가지의 지시 신호를 발생하는 단계와;
    상기 연산된 신호를 레지스터에 저장할 경우 로드 신호를 인가하는 단계를 포함하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로의 제어방법.
KR10-2001-0047292A 2001-08-06 2001-08-06 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로 KR100437845B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0047292A KR100437845B1 (ko) 2001-08-06 2001-08-06 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0047292A KR100437845B1 (ko) 2001-08-06 2001-08-06 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로

Publications (2)

Publication Number Publication Date
KR20030013013A true KR20030013013A (ko) 2003-02-14
KR100437845B1 KR100437845B1 (ko) 2004-06-30

Family

ID=27718087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0047292A KR100437845B1 (ko) 2001-08-06 2001-08-06 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로

Country Status (1)

Country Link
KR (1) KR100437845B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406651B2 (en) 2004-01-29 2008-07-29 Samsung Electronics Co., Ltd. Forward Chien search type Reed-Solomon decoder circuit
US7757156B2 (en) 2005-11-09 2010-07-13 Electronics And Telecommunications Research Institute Reed-Solomon decoding apparatus and method having high error correction capability

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100907547B1 (ko) * 2007-03-21 2009-07-14 아주대학교산학협력단 리드-솔로몬 복호기의 에스-디씨엠이 알고리즘 연산방법 및그 연산회로

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406651B2 (en) 2004-01-29 2008-07-29 Samsung Electronics Co., Ltd. Forward Chien search type Reed-Solomon decoder circuit
US7757156B2 (en) 2005-11-09 2010-07-13 Electronics And Telecommunications Research Institute Reed-Solomon decoding apparatus and method having high error correction capability

Also Published As

Publication number Publication date
KR100437845B1 (ko) 2004-06-30

Similar Documents

Publication Publication Date Title
US6209114B1 (en) Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US20030192007A1 (en) Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method
Yuan et al. LLR-based successive-cancellation list decoder for polar codes with multibit decision
US5535225A (en) Time domain algebraic encoder/decoder
US6519737B1 (en) Computing the CRC bits at a time for data whose length in bits is not a multiple of M
KR20030095249A (ko) 리드-솔로몬 디코더
US6256763B1 (en) Reed-Solomon decoder having a new polynomial arrangement architecture and decoding method therefor
KR101094574B1 (ko) Bch 복호기를 위한 고속 소면적 파이프라인 폴딩 방식 벨르캄프-메시 알고리즘 연산 회로 및 그 방법
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
EP1154578B1 (en) High-speed turbo decoder
KR100437845B1 (ko) 리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산방법 및 연산회로
KR100756424B1 (ko) 파이프라인 재귀적인 기술을 이용한 면적 효율적인 리드솔로몬 복호기
US5931894A (en) Power-sum circuit for finite field GF(2m)
US7178090B2 (en) Error correction code decoding device
KR100963015B1 (ko) 고속 저복잡 BCH 복호기의 불합도 계산이 필요 없는 RiBM 알고리즘을 이용한 오류위치 연산 방법 및 오류위치 연산 회로
KR20060065452A (ko) 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로
Lin et al. An improved soft BCH decoder with one extra error compensation
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
KR100907547B1 (ko) 리드-솔로몬 복호기의 에스-디씨엠이 알고리즘 연산방법 및그 연산회로
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
CN117200809B (zh) 用于纠两个误码的rs码的低功耗钱搜索和错误估值电路
Hsu et al. An area-efficient VLSI architecture for decoding of Reed-Solomon codes
Lee et al. An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes
KR940011659B1 (ko) 유클리드 알고리즘 연산장치
KR100714447B1 (ko) 수정 유클리드 알고리즘 연산 장치 및 그 방법과 그를이용한 리드-솔로몬 복호 장치

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: 20080523

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee