KR100358357B1 - 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더 - Google Patents

가변 에러 정정 성능을 갖는 리드-솔로몬 디코더 Download PDF

Info

Publication number
KR100358357B1
KR100358357B1 KR1019990062469A KR19990062469A KR100358357B1 KR 100358357 B1 KR100358357 B1 KR 100358357B1 KR 1019990062469 A KR1019990062469 A KR 1019990062469A KR 19990062469 A KR19990062469 A KR 19990062469A KR 100358357 B1 KR100358357 B1 KR 100358357B1
Authority
KR
South Korea
Prior art keywords
error
polynomial
error correction
circuit
value
Prior art date
Application number
KR1019990062469A
Other languages
English (en)
Other versions
KR20010058253A (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 KR1019990062469A priority Critical patent/KR100358357B1/ko
Publication of KR20010058253A publication Critical patent/KR20010058253A/ko
Application granted granted Critical
Publication of KR100358357B1 publication Critical patent/KR100358357B1/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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state

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)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

디지털 신호 전송에 있어서 전송도중 발생한 연집 에러를 정정하기 위해 리드-솔로몬(Reed-Solomon code) 코드를 보통 많이 사용한다. 일반적으로 전송로를 통해 디지털 신호가 전송되는 경우 전송 거리에 따라 전송 품질이 저하된다. 이와 같이 저하된 전송 품질을 향상시키기 위해 코드워드의 에러 정정 바이트 개수를 늘린다. 본 발명은, 전송 거리에 따라 에러 정정 성능을 변화시키기 위해 에러 정정 바이트 수를 변경시킬 때 변경된 코드워드를 디코딩 할 수 있는 리드-솔로몬 디코더에 관한 내용으로서, 수신된 코드워드를 에러 정정 개수에 맞추어 디코딩 할 수 있도록 하는 에러 위치 계산회로 및 에러 크기 계산회로를 제공한다.

Description

가변 에러 정정 성능을 갖는 리드-솔로몬 디코더 {REED-SOLOMON DECODER WITH SCALABLE ERROR CORRECTION CAPABILITY}
본 발명은 디지털 신호 전송시 전송로 상에서 발생한 에러를 정정하기 위하여 사용되는 리드-솔로몬 디코더(Reed-Solomon Decoder: 이하 디코더)에 관한 것으로, 특히 디코더의 에러값 계산회로 및 에러값 정정회로에 관한 것이다.
리드-솔로몬 코더에서는 원래 데이터의 길이가 K개인 메시지를 인코딩하면 여분의 R 바이트가 추가되어 N=K+R 개의 코드워드가 생성된다. 일반적으로 리드 솔로몬 코더는 RS(N,K)로 표시되며, 이것은 N개의 코드워드에 대해 (N-K)/2 개의 에러를 정정할 수 있음을 의미한다. 따라서, R의 개수에 따라 에러 정정 성능이 달라지게 된다.
에러 정정 회로에 대한 종래의 기술로서는, 데이터를 저장매체에 저장할 때 하나의 코드워드를 저장 매체에 따라 에러 정정 개수를 다르게 저장할 수 있도록 함으로써 여러 개의 인코더가 필요 없이 한 개의 인코더로도 에러 정정 성능을 가변할 수 있는 회로(미국특허 제5,379,305호의 "Error correction system with selectable error correction capabilities"), 혹은 하나의 장치로 통합된 에러 위치 다항식 평가장치로부터 에러 위치 정보와 미분 계산값을 동시에 얻어서 리드 솔로몬 디코더 회로를 단순화할 수 있는 회로(대한민국특허 제10-0195739호), 혹은 리드 솔로몬 디코더에 사용되는 치엔, 포니 탐색 알고리즘을 변형하여 처리시간을 줄이는 에러 정정 회로등이 있다.
종래에 사용된 리드-솔로몬 디코더 회로의 디코딩 과정은 크게 4 단계로 구분된다. 즉, 수신 코드워드를 다항식으로 표현한 후에, 인코더에서 사용한 생성 다항식의 근을 대입하여 신드롬 다항식 S(x)을 찾는 단계, 신드롬 다항식을 이용하여 에러 위치 다항식 Λ(x) 및 에러 계산값 계산 다항식 Ω(x)을 찾는 단계, Λ(x) 와 Ω(x)를 이용해 에러 위치 및 에러 크기를 찾는 단계, 및 찾아낸 에러를 수신 코드워드에 더하여 에러를 정정하는 단계로 각각 구분된다. 상기 기능의 구성도가 도 1 에 도시되어 있다.
도 2 는 치엔(Chien)의 탐색 알고리즘에 의한 에러 위치를 계산하는 회로 구성도이다. 에러 위치 다항식은 하기 식과 같이 표현될 수 있다.
여기에서 t 는 에러 정정 개수를 나타낸다.
만약 상기 식의 근을라 한다면,
이다. 따라서, 도 2 에서를 찾기 위해 에러 위치 다항식의 계수를 치엔의 탐색 알고리즘 회로에 입력한 후 회로를 동작시키면가 되는를 찾을 수 있고,가 될 때 i 번째 위치에서 에러가 발생했음을 알 수 있다. 상기와 같은 방법으로 에러 계산 다항식에 대해서도 유사한 회로를 구성할 수 있다. 에러 크기는 에러 위치 다항식에서 구한를 이용하여 하기 식(Forney 알고리즘) 에 대입하면 구해질 수 있다.
도 3 은를 이용하여 에러 위치와 에러값을 계산하고 에러를 정정하는 기능에 대한 종래 방식에 대한 구성도로서, 에러 위치 다항식계산부, 에러값 계산부 및 에러 정정부로 각각 구성된다.
에러 정정 바이트 수를 변경하기 위해 인코더에서 여분의 바이트 수 R을 바꾸면 이에 상응하여 디코더에서도의 개수가 바뀌어야 한다. 예를 들어, R=2 인 경우에는 1 개의와 2 개의가, R=4 인 경우에는 2 개의와 4 개의가, 그리고 R=2t 인 경우에는 t 개의와 2t 개의가 각각 필요하게 된다. 따라서, 에러 정정 성능에 의존하여 디코딩 할 수 있는 디코더 회로가 독립적으로 필요하게 된다.
본 발명의 목적은, 상기와 같이 각각의 에러 정정 성능에 따라 독립적인 디코더 회로가 요구되는 문제점을 해결하기 위한 것으로, 에러 정정 성능이 다른 코드워드가 수신되는 경우에도 별도의 디코더를 두지 않고서도 디코딩 할 수 있는 리드-솔로몬 디코더 회로를 제공하는 것이다.
도 1 은 리드-솔로몬 디코더의 블록도.
도 2 는 치엔의 탐색 알고리즘을 수행하기 위한 회로도.
도 3 은 종래의 에러 위치 계산 및 에러 값 계산을 수행하는 기능 블록의 회로도.
도 4 는 본 발명에 따른 에러 위치 계산 및 에러 값 계산을 수행하는 기능 블록의 회로도.
* 도면의 주요부분에 대한 부호의 설명 *
40 : 에러 정정 개수 제어부 41 : A(x) 계수 선택회로
42 : A(x)다항식 동기용 SR 44 : Ω(x) 다항식 동기용 SR
45 : Ω(x) 계수 저장 SR 46 : Ω(x) 계수 선택회로
상기 목적을 달성하기 위하여, 본 발명에 따르는 리드 솔로몬 디코더 회로는,
입력된 에러 위치 다항식 및 에러값 다항식으로부터 에러 정정 개수에 대응하는 계수를 저장할 수 있도록 제어하는 에러 정정 개수 제어부,
에러 위치 다항식으로부터 에러 위치를 계산하는 에러 위치 계산부,
에러값 다항식으로부터 에러값을 계산하는 에러값 계산부,
상기 에러 위치 계산부와 상기 에러값 계산부를 이용하여 에러 위치 및 에러의 크기를 계산하는 에러 위치 및 크기 계산부, 및
수신된 코드워드와 계산된 에러 위치 및 크기를 서로 더하여 에러를 정정하는 에러 정정부를 구비한다.
또한, 본 발명에 따르는 리드 솔로몬 디코더 회로의 상기 에러 정정 개수 제어부는 계산된 에러 위치 다항식의 계수를 저장하는계수 쉬프트레지스터(이하 SR)와, 에러값 다항식의 계수를 저장하는계수 SR 과,의 계수의 개수를 선택하는 계수 선택회로와,의 계수의 개수를 에러 정정 개수만큼 치엔의 탐색회로에 입력시키는 다항식 동기용 SR 과, 에러 정정 개수를 선택하는 정정 에러 개수 선택회로를 포함하며, 상기 에러 정정 개수 제어부에서 계산된 결과에 따라 에러 정정 개수가 다른 코드워드를 디코딩할 수 있다.
도면을 참조하여 기재된 이하의 상세한 설명으로부터 본 발명의 상기한 목적 및 다른 목적, 특징 및 효과들을 명확히 이해할 수 있을 것이다.
첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 도 4 는 본 발명에 따른 에러 정정 회로에 대한 실시예로서 에러 정정 성능이 1 바이트에서 8 바이트까지 변경 가능한 경우에 대한 리드 솔로몬 디코더를 가정한 것이다. 에러 정정 개수 제어부(40) 는,계수저장 SR (쉬프트레지스터)(48, 45),,계수선택 회로 (41,46) 와,,다항식 동기용 SR(42,44)와, 에러정정 개수 선택회로(43)로 구성되어 있다. 입력되는 에러 위치 다항식의 계수는 에러 정정 개수 t 개만큼계수저장 SR(48)에 저장되고, 에러값 계산 다항식의 계수는 2t 개만큼의 계수저장 SR(46)에 각각 저장된다. 에러 정정 개수만큼의 계수를 SR에 저장하기 위하여 다항식 동기신호 (49) 는 우선의 계수를 계수저장 SR(48)에 저장시킴과 동시에, 원하는 에러 정정 개수에 대응하는 비트를 다항식 동기용 SR(42)의 회로에 입력하고고 에러 정정 개수만큼 우측으로 이동시킨다. 우측으로 이동하는 동안 미리 설정된 에러 정정 개수 선택회로에 의해 에러 정정 개수만큼의 계수가 치엔의 곱셈회로로 각각 입력된다.인 경우에도 동일한 방법을 이용하여를 치엔의 곱셈회로로 입력시킬 수 있다. 그러나,인 경우에는 t 개 만큼의 계수를,인 경우에는 2t 개 만큼의 계수를 저장해야 하므로,계수저장 SR(46)에는 2t 개의 클럭이 필요하다.계수선택회로(41) 및계수선택회로(46)는 저장된 계수를 치엔의 곱셈회로에 필요한 개수만큼 입력되도록 하기 위해 에러 정정 개수 선택회로(47)가 활성화되는 순간 쉬프트레지스터의 모든 출력이 치엔의 곱셈회로로 입력될 수 있도록 구성되어 있다. 예를 들어 에러 정정 개수를 3 으로 선택하면,다항식 동기신호 레지스터의 2 번 위치에 비트 "010" 이 저장되는 순간계수선택회로(41)가 활성화되므로, 3 개의 계수만 저장된다. 그러나,계수는계수의 개수의 2 배가 선택되어야하므로, 5 번 위치에 비트 "010"이 저장되는 순간계수선택회로가 활성화 되도록 해야 한다.
에러 정정 개수회로 (47) 는 에러 정정 개수를 미리 설정하여 에러 정정 개수에 맞는 계수의 숫자를 저장할 수 있도록 하기 위해 필요하다. 따라서, 에러 정정 개수가 1 개인 경우에 동작할 수 있도록 하기 위해서는 "000" 을 에러 정정 개수회로(47)에 입력하면 되도록 되어있고, 8 개의 에러 정정 성능이 있는 코드워드가 수신된 경우에는 "111" 을 입력하면 되도록 되어 있다.
상기에서는 바람직한 실시예에 근거하여 본 발명을 설명하였지만, 이러한 실시예는 본 발명을 제한하려는 것이 아니라 예시하려는 것이다. 본 발명이 속하는 분야에서 통상의 지식을 가진 자에게는 본 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 본 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 상기 다양한 변화나 변경 또는 조절을 모두 포함하는 것으로 해석되어야 할 것이다.
본 발명에 따르면, 에러 정정 개수가 다른 코드워드가 수신되더라도 하나의 디코더로 에러 정정 개수에 맞추어 디코딩할 수 있게 된다.

Claims (2)

  1. 에러 위치 다항식의 계수가 저장되는 에러위치 다항식 계수저장 쉬프트 레지스터,
    상기 에러위치 다항식 계수저장 쉬프트 레지스터에 저장된 계수를 에러정정개수에 따라 선택하기 위한 에러위치 다항식 계수 선택회로,
    에러값 다항식의 계수가 저장되는 에러값 다항식 계수저장 쉬프트 레지스터,
    상기 에러값 다항식 계수저장 쉬프트 레지스터에 저장된 계수를 에러정정개수에 따라 선택하기 위한 에러값 다항식 계수 선택회로,
    다항식 동기신호가 입력되는 다항식 동기회로,
    상기 다항식 동기회로를 이용하여 에러 정정 개수만큼의 계수가 선택될 수 있도록, 상기 에러 위치 다항식 계수 선택회로 및 상기 에러값 다항식 계수 선택회로를 활성화시키는 에러 정정계수 선택회로를 포함한 에러 정정 개수 제어부;
    활성화된 상기 에러 위치 다항식 계수 선택회로를 통하여 상기 에러위치 다항식 계수저장 쉬프트 레지스터에 저장된 값을 에러 정정개수만큼 입력받아, 치엔의 곱셈회로에 의한 치엔의 알고리즘을 이용하여, 에러위치가 계산되는 에러 위치 계산부;
    활성화된 상기 에러값 다항식 계수 선택회로를 통하여 상기 에러값 다항식 쉬프트 레지스터에 저장된 값을 에러 정정개수의 2배 만큼 입력받아, 치엔의 곱셈회로에 의한 포니알고리즘을 이용하여 에러값이 계산되는 에러값 계산부; 및
    상기 에러위치 계산부에서 구해진 에러 위치에, 상기 에러값 계산부에서 계산된 에러값을 보정하여 에러를 정정하는 에러 정정부를 포함하여 구성된 것을 특징으로 하는 리드 솔로몬 디코더 회로.
  2. 삭제
KR1019990062469A 1999-12-27 1999-12-27 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더 KR100358357B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990062469A KR100358357B1 (ko) 1999-12-27 1999-12-27 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990062469A KR100358357B1 (ko) 1999-12-27 1999-12-27 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더

Publications (2)

Publication Number Publication Date
KR20010058253A KR20010058253A (ko) 2001-07-05
KR100358357B1 true KR100358357B1 (ko) 2002-10-25

Family

ID=19630014

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990062469A KR100358357B1 (ko) 1999-12-27 1999-12-27 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더

Country Status (1)

Country Link
KR (1) KR100358357B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100979366B1 (ko) * 2003-02-14 2010-08-31 주식회사 케이티 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기
KR100594241B1 (ko) 2004-01-29 2006-06-30 삼성전자주식회사 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로

Also Published As

Publication number Publication date
KR20010058253A (ko) 2001-07-05

Similar Documents

Publication Publication Date Title
US5068857A (en) Error correction circuit
JP3549788B2 (ja) 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
KR101433620B1 (ko) 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법
GB2269034A (en) Selectable error correction capability
KR20020047134A (ko) 데이터를 코딩 및 디코딩하는 방법 및 장치
US5936978A (en) Shortened fire code error-trapping decoding method and apparatus
US5901158A (en) Error correction encoder/decoder
KR100659265B1 (ko) 패리티비트가 역순으로 부가된 씨.알.씨. 코드의에러검출장치 및 방법
US7096403B2 (en) Iterative concatenated code decoding circuit and encoding/decoding system using the same
KR20060125837A (ko) 데이터를 인코딩하기 위한 방법 및 장치
US5365529A (en) Circuitry for detecting and correcting errors in data words occurring in Reed-Solomon coded blocks and determining when errors are uncorrectable by syndrome analysis, Euclid's algorithm and a Chien search
EP1545011B1 (en) Optimized interleaving of digital signals
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
US6978415B1 (en) Variable redundancy cyclic code encoders
EP0660535B1 (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
KR100526222B1 (ko) 복호장치 및 복호방법
US20020108088A1 (en) Reed-solomon decoder for processing (M) or (2M) bit data, and decoding method therefor
KR100358357B1 (ko) 가변 에러 정정 성능을 갖는 리드-솔로몬 디코더
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
EP0619654B1 (en) Error correction using the Euclide algorithm and involving a check on the difference between the degrees of the dividend and divisor polynomials
KR101636406B1 (ko) 저지연 신드롬 계산을 위한 bch 디코더의 전처리 장치 및 방법
KR0141826B1 (ko) 압축 데이타의 에러 정정 방법
KR100552674B1 (ko) 병렬 리드솔로몬 부호화 장치
KR100214485B1 (ko) 정보 처리 시스템의 부호/복호기
KR970009760B1 (ko) 개선된 순환중복검사(crc) 부호화기

Legal Events

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

Payment date: 20070919

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee