KR970008645B1 - 다중 오류정정방법 및 장치 - Google Patents

다중 오류정정방법 및 장치 Download PDF

Info

Publication number
KR970008645B1
KR970008645B1 KR1019940011920A KR19940011920A KR970008645B1 KR 970008645 B1 KR970008645 B1 KR 970008645B1 KR 1019940011920 A KR1019940011920 A KR 1019940011920A KR 19940011920 A KR19940011920 A KR 19940011920A KR 970008645 B1 KR970008645 B1 KR 970008645B1
Authority
KR
South Korea
Prior art keywords
error
value
calculating
equation
triple
Prior art date
Application number
KR1019940011920A
Other languages
English (en)
Other versions
KR950034202A (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 KR1019940011920A priority Critical patent/KR970008645B1/ko
Publication of KR950034202A publication Critical patent/KR950034202A/ko
Application granted granted Critical
Publication of KR970008645B1 publication Critical patent/KR970008645B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

내용없음

Description

다중 오류정정방법 및 장치
제1도는 종래의 디지탈 오디오 데이타의 기록 및 재생 시스템의 블럭도이다.
제2도는 종래의 리드-솔로몬(RS ; Reed-Solomon) 복호기의 블럭도이다.
제3도는 종래의 C1/C2 크로스 인터리브 프로덕트 코드에 대한 메모리 맵이다.
제4도는 오류+이레이져형태의 오류정정까지도 수행할 수 있는 RS(Reed-Solomon) 복호 알고리즘을 나타내는 것이다.
제5도는 제1도에 나타낸 제40단계의 상세한 흐름도이다.
제6도는 3중 또는 4중 에러정정방법을 설명하기 위한 흐름도이다.
제7도는 제6도에 나타낸 제180단계의 상세 흐름도이다.
제8도는 제6도에 나타낸 제190단계의 상세 흐름도이다.
제9도는 제8도에 나타낸 제190-2단계의 상세 흐름도이다.
제10도는 제8도에 나타낸 제190-3단계의 상세 흐름도이다.
제11도는 제8도에 나타낸 제190-4단계의 상세 흐름도이다.
제12도는 본 발명의 다중 오류정정방법을 구현한 시스템의 블럭도이다.
본 발명은 다중 오류정정방법 및 장치에 관한 것으로, 특히 회로구성이 간단하고 연산시간을 줄일 수 있는 다중 오류정정방법 및 장치에 관한 것이다.
디지탈 오디오 테이프 레코더(DAT ; Digital Audio Tape Recorder), 또는 컴팩트 디스크(Compact Disc)와 같은 종래의 디지탈 오디오기기에서는 데이타를 C1/C2 크로스 인터리브 프로덕트 코드를 사용하여 부호화하는 것으로, C1에서는 2중 오류정정능력을 갖는 RS부호(Reed-Solomon Code)를 사용하여 부호화하고 C2에서는 3중 오류정정능력을 갖는 RS부호(Reed-Solomon Code)를 사용하여 부호화한다. 그러나, 이와같이 부호화된 데이타를 실질적으로 복호화하는 경우에는 2중 오류정정과 4중 이레이져(erasure; 오류위치만을 알고 그 오류값을 모르는 형태의 오류를 말한다.) 정정을 수행하거나 2-오류정정과 6-이레이져 정정만을 수행하였다. 즉, 2개 이하의 오류발생시 오류위치 방정식을 세워 2개 오류위치 사이의 거리를 이용하여 오류위치를 구하고, 이와 함께 수신 다항식으로부터 추출되는 오증을 이용하여 오류값을 구함으로써 오류정정을 수행하거나 또는 이미 오류위치를 알고 오류값을 모르는 형태의 이레이져정정인 경우에는 이미 그 오류위치를 알고 있으므로, 상기 오류정정의 경우보다 더 많은 4중 이레이져까지 상기 오류위치와 함께 수신 다항식으로부터 추출되는 오증을 이용하여 오류값을 구함으로써 오류정정을 수행할 수 있었다.
이와같은 종래 기술은 소니(Sony)사에 의한 국내 특허공보 공고번호 제86-500호와 마쓰시다사에 의한 국내특허 공고번호 제92-828호에 공개되어 있는데, 마쓰시다사의 특허를 살펴보면, 갈로이스 필드(Galois Field) 연산기를 구성하여 쉐인 탐색(Chein search)에 의한 직접 대입법으로서 오류위치 다항식의 근을 구하므로 2개 이상의 다중 에러위치를 구할 수 있게 된다. 그러나, 부호어(codeword)의 길이만큼의 반복 연산을 수행하여야 하는 문제점이 있게 된다. 한편, 소니사의 특허를 살펴보면, 2중 오류정정이나 4중 이레이져 정정에 대해서는 매우간편한 방법으로 오류정정을 수행할 수 있으나 3중 오류이상은 오류정정을 수행하지 못하게 된다. 이를 좀 더 설명하면, 2중 오류발생시, 오증 및 오류위치 다행식은 오류값을 ei, ej로 나타내고 오류위치를 αi, αj로 나타낼때 각각 다음과 같이 표현된다. 오증은
오류위치 다항식은 Aα2i+Bαi+C=0이다. 여기에서,
상기 오류위치 다항식은 다음과 같이 변형될 수 있다.
α2i+Dαi+E=0
여기에서,
로 나타내어지고 t=j-i로서 2개의 오류위치 사이의 거리를 말한다.
여기에서, t를 사용하기 위하여
의 값을 구하여 ROM으로 입력하면, αt의 출력을 얻는다.
라는 오류위치를 감사하여 2중 오류는 정정된다.
그러나, 상기 소니사의 특허는 2 오류정정 혹은 4중 이레이져정정까지는 간편하게 시스템을 구현할 수 있으나 그 이상의 오류에 대해서는 정정하지 못하게 된다.
또한, 마쓰시다사의 특허를 보면, 부호어의 길이를 N이라고 하고 그 위치를 α0N-1로 표현한다고 할때, 부호어내에서 발생된 오류의 위치를 찾기 위하여 오류위치 다항식에 αi를 부호어의 길이내에서 일일이 대입하는 방법을 사용한다. 그러나, 이와같은 방법은 오류위치를 찾기 위한 소정 연산을 부호어의 길이만큼 반복해야 하므로 오류정정을 수행하는 시간이 지나치게 많게 되어, DAT 또는 CD 등과 같이 실시간을 오류정정을 수행하여야 하는 시스템에서 적용하기 곤란한 점이 있게 된다.
본 발명의 목적은 보다 높은 오류정정 및 이레이져 정정을 수행할 수 있는 다중의 오류정정방법을 제공하는데 있다.
본 발명의 다른 목적은 연산시간이 빠른 다중 오류정정장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 다중 오류정정방법은 수신되는 부호어 R(x)=Rnxn+Rn-1xn-1+…+R1x+R0를 수신하는 단계, 수신된 부호어R(x)로부터 오증들(s0-s6)을 계산하는 단계, 3, 4, 5중 에러 위치 다항식 σ(x)=x3σ1x22x+σ3=0, σ(x)=x41x32x23x+σ4=0, σ(x)=x51x42x33x24x+σ5=0로부터 3, 4, 5중 오류 계수 σ13, σ14, σ15를 각각 계산하는 단계, 상기 오중값과 상기 오류 계수값을 이용하여 아래의 오류위치 판정식을 만들어 오류 갯수를 판정하는 단계,
만일, N3=0, N4≠0, N5≠0이면 3중 에러가 발생한 것으로 판단하는 단계, 만일 N3=0, N4=0, N5≠0이면 4중 에러가 발생한 것으로 판단하는 단계, 3중 에러가 발생한 경우에 3중 오류위치 다항식 σ(x)를 3차 유사 다항식 z3+z+θ=0으로 변형하여 상수값 θ를 아래의 식에 따라 계산하는 단계,
여기에서
k1= σ2+(σ1)2
k21σ23
4중 오류위치 다항식 σ(x)를 y4+Ay2+By+C=0으로 변형하여, 이 변형된 식과 변형된 식의 인수분해한 일반식(y2+m1y+m2)(y2+n1y+n2)=0을 전개한 후에 계수를 비교하는 단계, 상기 θ값을 이용하여 3중 오류위치를 계산하는 단계, 상기 계수 비교단계에서의 계수 비교에 의해 4중 오류위치를 계산하는 단계, 상기 오류위치 계산후에 이레이져정정법에 의해 에러값을 계산하는 단계로 이루어진 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 다중 오류정정장치는 수신 부호어 R(x)와 함께 에러 플래그 정보를 받아들여 저장하는 저장수단, 에러 플래그를 계수하는 플래그 계수수단, 상기 계수된 값을 수신하고 상기 수신 부호어로부터 오중값을 연산하고 3, 4중 에러정정을 수행하는 시스템 제어수단, 에러 플래그 계수값과 계산된 신드롬 값, σ값을 이용하여 곱과 합의 연속적인 계산방법으로 에러갯수 판정식 Nt값을 계산하여 3중, 4중 에러를 판단하여 상기 시스템 제어수단으로 전송하는 산술 논리 연산수단, 상기 산술 논리 연산 수단에 의해서 계산된 결과를 저장하는 연산용 저장수단, 상기 시스템 제어수단의 제어를 받아서, 2, 3차 유사 다항식상 근을 구하는 수단, 에러위치, 이레이져위치를 지정하기 위한 α-1수단을 구비한 것을 특징으로 한다.
첨부된 도면을 참고로 하여 본 발명의 다중 오류정정방법 및 장치를 설명하면 다음과 같다.
제1도는 디지탈 오디오 데이타 저장 시스템의 블럭도로서, 기록계는 A/D 변환부(1), 데이타 압축부(2), RS 부호부(3), 및 변조부(4)로 구성되고 재생계는 복조부(6), RS 복호부(7), 데이타 신장부(8), 및 D/A변환부(9)로 구성되며, 기록계에 의해서 변조된 데이타를 저장하기 위한 저장장치(5)로 구성된다. 데이타 압축부(2) 및 데이타 신장부(8)는 데이타 기록의 효율을 증가시키기 위하여 원래의 디지탈 형태의 데이타를 압축하고 재생시에는 압축된 데이타를 원래의 디지탈 형태의 데이타로 복원한다. 변조부(4), 및 복조부(6)는 데이타를 저장장치(5)의 특성에 적응시키기 위하여 요구되는 형태로 변환하였다가 복원하는 기능을 수행한다. 여기에서, 변조부(4) 및 복조부(6)의 예를 들면, 디지탈 오디오 테이프나 디지탈 콤팩트 카세트 등에서의 ETM(Eight to Ten Modulation)과 EFM(Eight to Fourteen Modulation)등을 들 수 있다. ETM은 8비트의 데이타를 그와 일대일 대응관계를 갖는 10비트의 데이타로 변환하여 기록하였다가 재생시 이를 다시 8비트의 데이타로 변환하는 것이며, EFM은 8비트의 데이타를 이와 일대일 대응관계를 갖는 14비트의 데이타로 변환하여 기록하였다가, 재생시 원래의 8비트 데이타로 변환하는 것을 말한다.
RS 부호부(3) 및 RS 복호부(7)는 데이타를 오류정정 부호인 RS 부호를 사용하여 부호화한 후 재생시이를 오류정정하며 복호하는 기능을 수행하게 된다. 여기에서, RS 복호부는 상술한 바와 같이 복조부(6)에서 복조된 데이타를 이용하여 오류정정을 수행하게 되는데 만약, 복조부(6)에서 복조시 오류가 발생하게 되면, 상기 RS 복호부(7)에서의 오류정정이 불가능하게 되는 점이 있었다. 그러나, 상기 복조부(6)에서 발생한 오류에 관한 데이타를 플래그 형태로 상기 복조부(6)의 복조 데이타와 함께 상기 RS 복호부(7)로 인가하고, RS 복호부(7)에서는 상기 복조 플래그에 담긴 오류정보를 이용하여 좀 더 많은 오류정정을 수행하도록 할 수 있다. 즉, 오류위치에 관한 정보를 상기 복조부(6)로부터 상기 RS 복호부(7)로 출력하도록 함으로써 좀 더 많은 오류정정을 수행할 수 있도록 한 것이다.
제2도는 재생시 복조부에서의 복조과정과 RS 복호부에서의 복호순서를 나타낸 것으로서, 상기 RS복호부는 상기한 바와 같이 C1/C2 프로덕트 코드에 따라 부호화된 데이타를 복호화하는 것으로, 부호화시와는 역순으로 C1 복호화된 후 C2 복호화 과정을 수행하게 된다. 즉, 부호화시에는 C2 코드에 의하여 부호화된 후 C1 코드에 의하여 부호화 되나, 복호시에는 C1 코드에 의하여 오류정정되며 복호된 후, 다시 C2 코드에 의하여 오류정정되며 복호된 후, 다시 C2 코드에 의하여 오류정정되며 복호된다. 이때 C1 복호를 수행하는 C1 복호부는 상기 복조부(106)로부터 출력되는 복조 플래그정보를 이용하여 2중 오류정정과 4중 이레이져 정정을 수행하게 되며, 이때 나타나는 오류에 대한 위치정보를 상기 복조부(106)에서와 같이 플래그로서 그 출력과 함께 C2 복호를 수행하는 C2 복호부로 출력한다. C2 복호부에서는 3중 오류정정과 상기 C1 플래그를 이용하여 6중 이레이져정정을 수행하게 된다. 이때 C1 부호는 4개의 패리티(parity)가 첨가되어 최소 부호거리(dmin)=5인 RS 부호로서
에 의해서 2개까지 오류정정이 가능하게 되고,
terasure=dmin-1
에 의하여 4개까지 이레이져정정이 가능하게 되며, C2 부호는 패리티가 6개가 부가되어 최소 부호거리 (dmin)=7인 RS 부호로서 상기 식에 의해서 3개까지 오류정정과 6개까지의 이레이져정정이 가능하게 된다. 이와같이 재생과정을 좀 더 구체적으로 설명하면 다음과 같다.
첫째, 테이프등과 같은 기록매체로부터 재생된 데이타는 ETM(Eight To Ten demodulation) 테이블을 만족하지 않을때 복조 플래그(FLD ; Flag Demodulation)를 "1"로 설정하여 출력하고 만족하면 상기 ETM 테이블에 저장되어 있는 GF(28)상의 데이타중 해당되는 값을 출력하며 동시에 상기 FLD의 값은 "0"으로 설정한다.
둘째, C1 복호부는 상기 FLD를 검사하여 1개 부호어내에서 FLD의 갯수를 계수하여 4개까지의 이레이져를 정정하며, FLD의 "1"이 아닌 순수한 오류는 2개까지 정정한다. 여기서 정정하지 못한 부호어에 대해서는 그 부호어의 모든 데이타에 대한 C1 플래그(FLCl; Flag 1)를 "1"로 설정하며, 그렇지 않은 부호어내의 모든 데이타에 대한 FLCl은 "0"으로 설정하여 C2 복호부로 출력한다.
셋째, C2 복호부는 상기 FLCl을 검사하여 1개 부호어내에서 FLCl의 갯수를 계수하여 6개까지의 이레이져를 정정하며, FLCl의 "1"이 아닌 순수한 오류는 3개까지 정정한다. 여기에서, 정정하지 못한 부호어에 대해서는 그 부호어의 모든 데이타에 대한 C2 플래그(FLC2 ; Flag C2)를 "1"로 설정하여 상기 데이타 신장부(108)에 인가함으로써 데이타 신장부(8)는 FLC2를 이용하여 좀 더 효율적으로 그 기능을 수행하도록 한다.
제3도는 C1/C2 크로스 인터리브 프로덕트 코드에 대한 메모리 맵으로서, 가로방향으로는 C2 코드(32, 26, 7)에 의한 부호어를 구성하는 데이타 심볼들과 C2 부호화시 생성되는 Q 패리티 심볼들을 배열하고, 세로방향으로는 C1 코드(24,20,5)에 의한 부호어를 구성하는 데이타 심볼들과 C1 부호화시 생성되는 P 패리티 심볼들을 배열하고 있다. 여기서 부호화시 메모리 맵의 운용에 대하여 설명하면 다음과 같다.
먼저, A/D 변환기(1)과 신호압축기(2)를 통하여 8비트로 구성되는 디지탈 소스 데이타는 상기 메모리 맵중 Di,j로 표시되는 영역에 기입된다. 모든 Di,j에 데이타 기입이 완료되면, 대각선 방향으로 배열되는 복수의 심볼을 하나의 정보어로 하여 C2 코드에 의한 RS(Reed-Solomon) 부호화가 수행되며 그로 인해 C2 부호어를 생성하게 된다. C2 부호화기 완료되면, 세로방향으로 배열되는 복수의 심볼을 하나의 정보어로 하여 C1 코드에 의한 RS 부호화가 수행되어 C1 부호어를 생성하게 된다. C1 코드에 의한 RS 부호화는 상기 C2 코드에 의한 부호화시에 발생된 패리티 심볼들에 대하여도 수행하게 된다.
제4도는 오류+이레이져 형태의 오류정정까지도 수행할 수 있는 RS(Reed-Solomon) 복호 알고리즘을 나타내는 것이다.
먼저, 부호어 R(x)=Rnxn+Rn-1xn-1+…+R1x+R0를 수신한다.(제10단계)
수신된 부호어로부터 오증 s0-s2t를 계산한다.(제20단계)
에러위치 다항식 σ(x)=xt1xt-12xt-2+…σt-1x+σt의 계수 σ1t를 아래의 식에 의해서 계산한다.(제30단계)
에러갯수 판정식 Nt=st+st-1σ1+st-1σ1+st-2σ2+…+s1σt-1+s0σt에 의해 에러갯수를 판정한다.(제40단계)
에러갯수 판정식에 의해서 판정된 에러갯수에 따라 0개 또는 4개의 에러위치를 계산한다.(제50,60,70,80,90,100단계)
에러+이레이져 또는 이레이져만인 경우의 에러위치를 계산한다.(제110단계)
상기 제50단계에서 제110단계에 의해서 계산된 에러위치를 이용하여 이레이져정정법에 의해 에러값을 계산한다.(제120단계)
제5도는 제1도에 나타낸 제40단계의 상세한 흐름도이다.
만일, Nt=st1st-1+…+σt-1s1tso=0를 만족하면 t개의 에러발생으로 판단한다.(제40-1단계)
만일, Nt-1=st-11st-2+…+σt-2s1t-1so=0을 만족하면 t-1개의 에러발생으로 판단한다.(제40-2단계)
이와 같은 방법으로 제40-t단계까지 수행하여 1개의 에러발생으로 판단하게 된다.
제6도는 3중 또는 4중 에러정정방법을 설명하기 위한 흐름도이다.
기록매체나 통신로로부터 부호어 R(x)를 수신한다.(제100단계)
수신된 부호어 R(x)로부터 오증들(s0-s6)을 계산한다.(제110단계)
에러위치 다항식 σ(x)=x31x22x+σ3=0, σ(x)=x41x32x23x+σ4=0, σ(x)=x51x42x33x24x+σ5=0로부터 계수 σ13, σ14, σ15를 각각 계산한다.(제120단계)
오증값과 계수값을 이용하여 아래의 오류위치 판정식을 만들어 오류 갯수를 판정한다.(제130단계)
만일, N3=0, N4≠0, N5≠0이면 3중 에러가 발생한 것으로 판단한다.(제140단계)
그리고, 만일 N3=0, N4=0, N5≠0이면 4중 에러가 발생한 것으로 판단한다.(제150단계)
3중 에러가 발생한 경우에 3중 오류위치 다항식 σ(x)를 3차 유사 다항식 z3+z+θ=0으로 변형하여 상수값 θ를 아래의 식에 따라 계산한다(제160단계)
여기에서
k1= σ2+(σ1)2
k21σ23
4중 오류위치 다항식 σ(x)를 y4+Ay2+By+C=0으로 변형하여, 이 변형된 식과 변형된 식의 인수분해한 일반식(y2+m1y+m2)(y2+n1y+n2)=0을 전개한 후에 계수를 비교한다.(제170단계)
3중 오류정정을 수행한다.(제180단계)
4중 오류정정을 수행한다.(제190단계)
이레이져정정법에 의해 에러값을 계산한다.(제200단계)
제6도에 나타낸 3중 오류정정과 4중 오류정정방법에 대하여 설명하면 다음과 같다.
먼저, 본 발명의 3중 에러정정방법을 설명하면 다음과 같다.
3중 에러정정시 에러위치 다항식은
σ(x)=x31x22x+σ3=0=(x+αi)(x+αj)(x+αk)(1)
에러위치 다항식 계수는 다음과 같다.
상기 식(1)로부터 다음과 같은 수식 변형을 통하여 1개의 오류위치를 구한다.
x=x11을 식(1)에 대입하면,
(x11)31(x11)22(x11)+σ3=0
x1 3+k1x1+k2=0
(여기에서, k121 2, k21σ23이다.)
상기 식에 x1=k1 1/2z를 대입하면,
z3+z+θ=0(2)
(여기에서,이다.)
θ값을 구해 ROM 어드레스로 입력하면 근 z1, z2, z3를 구할 수 있다.
여기에서, 1개의 ROM 어드레스에 의해 3개의 데이타를 출력하면 이 값을 처리하는데 있어서 시간지연 요소가 발생하므로, 1개 데이타만 출력하고 이 값을 이용하여 나머지 두 값을 구한다.
상기 식(2)의 θ값에 의해서 1개의 근z1값을 구하면,
11=z1k1 1/21(3)
식(3)에 의해 에러위치 11을 구할 수 있고, 나머지 두개의 에러위치는 아래와 같은 방식으로 구한다.
z3+z+θ=0
(z+A)(z2+Bz+C)=0
z3+(A+B)z2+(AB+C)z+(AC)=0(4)
상기 식(2)와 식(4)의 계수를 비교하면,
A+B=0, AB+C=1, AC=0(5)
위에서 구한 근 z1=A라고 할때,
A=B=z1, C=AB+1=A2+1=z1 2+1(6)
z2+Az+(A2+1)=0
상기 식의 양변을 A2으로 나누면 아래의 식으로 표현된다.
Y2+Y+θ'=0(7)
(여기에서,)
상기 식(7)에서 근은
원래의 나머지 두근
l2=z2k1 1/21(8)
l3=z3k1 1/21(9)
식(3),(8),(9)에 의해 3개의 에러위치, l1, l2, l3를 구한다.
제7도는 제6도에 나타낸 제180단계의 상세 흐름도이다.
제6도의 제160단계에서 구해진 상수값 θ를 ROM 테이블의 어드레스로 인가하여 1개의 근 z1값을 구한다.(제180-1단계)
θ'=(z1 2+1)/z1 2의 값을 구한 후에, 2차 유사 다항식의 근을 아래의 식에 의해서 계산한다.(제180-3단계)
3차 유사 다항식 z3+z+θ=0과 이 식을 인수분해하여 얻은 일반식 (z+A)(z2+Bz+C)=0을 계수 비교 하여 B, C를 A의 식으로 바꾸어 주고, 2차식 z2+Bz+C=0을 Y2+Y+θ'=0이라는 2차 유사 다항식으로 변형하여 θ'값을 계산한다.(제180-2단계)
3개의 오류위치를 아래의 식에 의해 구한다.(제180-4단계)
본 발명의 4중 오류정정방법을 설명하면 다음과 같다.
본 발명의 4 에러발생시 에러위치 다항식은 아래의 식과 같이 나타내어진다.
σ(x)=x41x32x23x+σ4=0(10)
=(x+αi)(x+αj)(x+αk)(x+α1)
상기 식(10)을 아래와 같이 수식 변형하여 한근 l1을 구한다.
를 식(10)에 대입하면,
상기 식에을 대입하면,
식(11)과 식(12)의 계수를 비교하면 다음과 같다.
m1+n1=0m1=n1
m2+n2+m1n1=Am2+n2+m1 2=A
m1n2+m2n1=Bm1(n2+m2)=B
m2n2=Cm2n2=C
m2+n2=m1 2+A=(13)
m1 3+Am1+B=0
상기 식(13)으로부터 m1=A1/2u를 대입하면
식(14)는 식(2)와 같은 형태이므로 같은 방법으로 근을 구하면, u1,u2,u3의 3개의 근을 구할 수 있다. 이중 어느 한개를 사용하여 m1을 구하면,
m1=A1/2u1 (15))
상기 식(11)과 식(12)의 계수 비교식으로부터여기에를 대입하면이식의 양변에 m2를 곱하면
이 되고, 이 식의 양변을으로 나누고라 놓고,라 놓으면,
F2+F+T2=0(16)
으로 나타내어진다. 식(16)은 식(7)과 같은 형태이므로 같은 방법으로 근을 구하면, F1, F2두근을 구할 수 있다.
(17)
상기 식(15), (17)에 의해서 m1, m2값을 구하였으므로 식(11)에 의해 아래의 식을 푼다
y2+m1y+m2=0(18)
식(18)의 양변을 m1 2으로 나누면,
γ2+γ+T3=0(19)
식(19)는 식(16)과 같은 방법으로 두근 r1,r2를 구한다.
식(11)을 근 형태로 변환하면,
y1=r1m1(20)
에러위치 다항식 σ(x)의 원래 형태의 식(10)의 근을 구하면 아래의 식과 같이 된다.
(21)
식(21)에서 구한 한 근 l1을 이용하여 나머지 3근을 구한다. 식(11)을 인수분해하면 아래의 식(22)가 얻어진다.
(y+P1)(y3+P2y2+P3y+P4=0(22)
식(22)를 전개하여 식(11)과 계수 비교하면,
식(22)에서 3차식을 풀어 나머지 근을 구한다.
y3+P2y2+P3y+P4=0(23)
상기 식(23)에 y=h+P2를 대입하면,
상기 식에서라고 하면,
상기 식(2)에서와 같은 방법으로 근을 구하면 z1, z2, z3의 3개의 근을 구할 수 있는데 이중 임의의 한 근을 취하여 원래의 근을 구하면 아래의 식 (24), (25)와 같다.
y2=z1Q1 1/2+P2(24)
(25)
이제 오류위치 다항식 σ(x)=x41x32x23x34=0에서 이미 구한 두근 l1, l2를 이용하여 나머지 두근 l3, l4를 구한다.
계수 비교하면,
미리 구한 두근 l1, l2에 의해서 D1, D2는 구할 수 있으므로 식(26)에 의해서 E1. E2를 구할 수 있다.
상기 오류위치 다항식에서 1개의 2차식(αk, αl)을 풀면 다음과 같다.
x2+E1x+E2=0 이식을 E1 2으로 나누면,
식(19)와 같은 방법으로 두근 s1, s2를 구한다.
x1=E1s1=l3(27)
x2=E1s2=l4(28)
식(27),(28)에 의해서 나머지 두근 l3, l4를 구하였다.
제8도는 제6도에 나타낸 제190단계의 상세 흐름도이다.
170단계에서 계수 비교한 결과 아래의 비교식을 구한다(제190-1단계)
상기 비교식으로부터 2,3차 유사 다항식을 유도하여 m1, m2값을 구해 y2+m1y+m2=0이라는 2차식에 대입하고 이것을 다시 2차 유사 다항식으로 변형하여 1개의 오류위치 l1을 구한다(제190-2단계).
식 y4+Ay2+By+C=0과 같은 이 식을 인수분해한 식 (y+P1)(y3+P2y2+P3y+P4)=0의 계수를 비교하고 y3+P2y2+P3y+P4=0의 3차식을 z3+z+θ1=0이라는 3차 유사 다항식으로 변형하여 한 근을 z1을 구해 또 하나의 에러위치 l2를 구한다(제190-3단계).
4차 오류위치 다항식 σ(x)=x41x32x23x+σ4=0와 식의 인수분해한 식 (x+11)(x+l2)(x+l3)(x+l4)=(x2+D1x+D2)(y2+E1x+E2)=0을 계수 비교하고, 미리 구한 두개의 에러위치 l1, l2를 대입하여 y2+E1x+E2=0의 2차식을 s2+s+θ2+0의 2차 유사 다항식으로 변형하여 나머지 2개의 오류위치 l3, l4를 구한다(제190-4단계).
제9도는 제8도에 나타낸 제190-2단계의 상세 흐름도이다.
제190-1단계의 비교식으로부터 m1+Am1+B=0이라는 3차식을 유도한다(제191-1단계)
상기 3차식을 u3+u+T1=0의 3차 유사 다항식으로 변형하여 T1값을 계산한 후, 한근 u1을 계산한다(제191-2단계). (u1값의 계산은 3중 오류위치 계산과 같은 방법으로 수행한다.)
m1=A1/2u1
을 구한다(제191-3단계).
상기 비교식으로부터의 2차식을 유도한다(제191-4단계).
상기 2차식을 F2+F+T2=0이라는 2차 유사 다항식으로 변형하여 T2값을 계산한 후, 한근 F1을 구한다(제191-5단계).
을 구한다(제191-6단계).
m1, m2값을 이용하여 상기 2차식 y2+m1y+m2=0을 γ2+γ+T3=0이라는 2차 유사 다항식으로 변형하여 T3값을 계산한 후, 한근 γ1을 구한다(제191-7단계).
y2+m1y+m2=0의 근 형태로 변환한다. 즉, y1=m1γ1이다(제191-8단계).
1개의 에러위치을 구한다(제191-9단계).
제10도는 제8도에 나타낸 제190-3단계의 상세 흐름도이다.
구해진 오류위치 l1의 변형된 값 y1을 이용하여 y4+Ay2+By+C=0을 (y+P1)(y3+P2y2+P3y+P4)=0으로 인수분해하고 두 식을 계수 비교하여 P2, P3, P4를 P1=y1의 식으로 변형한다(제192-1단계).
식 y3+P2y2+P3y+P4=0을 z3+zθ=0이라는 3차 유사 다항식으로 변형하여 상수항 θ1을 아래의 식에 의해 계산한다(제192-2단계)
, 여기에서 T-17-1 이다.
3중 오류위치 계산과 같은 방식으로 θ1값에 따라 한근 z1을 구한다(제192-3단계).
식 y3+P2y2+P3y+P4=0의 근 형태로 변환한다. 즉, y2=Z1Q1 1/2+P2로 변환한다(제192-4단계).
에러위치를 구한다(제192-5단계).
제11도는 제8도에 나타낸 제190-4단계의 상세 흐름도이다.
4차 오류의 다항식 σ(x)=x41x32x23x+σ4=0을 인수분해하면 (x+l1)(x+l2)(x+l3)(x+l4)=0가 된다. 이 식은 또한 (x2+D1x+D2)(y2+E1x+E2)=0으로 인수분해된다. 이때 D1=l1+l2D2=l1l2, E1=l3+l4, E2=l3l4이다. 오류위치 다항식과 이 식을 2차식으로 인수분해한 식을 계수 비교하면, E11+D1,를 얻는다.(제193-1단계).
2차식으로 인수분해한 식에서 x2+E1x+E2=0을 s2+s+θ2=0의 2차 유사 다항식으로 변형하여 θ2 값을 아래의 식에 의해 계산한다(제193-2단계).
3중 오류정정에서와 같은 방법으로 θ2값에 따라 한근 s1을 구한다(제193-3단계).
다른 한근 s2=1+s1를 구한다(제193-4단계).
에러위치 l3=E1s1, l4=E1s2를 구한다(제193-5단계).
이와 같은 방법으로 3중과 4중 오류정정을 수행하게 된다.
아래의 2개의 예제를 통하여 위식을 써서 3중/4중 에러위치를 구하여 보도록 한자.
RS(32,26,7)코드에서 C(x)=0 R(x)=e(x)=α3x515x1221α17이라고 하면,
오류위치 다항식 σ(x)=x31x22x+σ3=0으로 나타내어진다.
오류위치 l1은 l1=z1k1 1/21=(α1)(α232)1/2+(α21)=α17이다.
상기 식으로부터 나머지 두개의 에러위치를 구하면
에러위치 l1, l2, l3로부터 에러값을 구할 수 있다.
하나의 예를 더 들어서 설명하면 다음과 같다.
RS(32,24,9)코드
C(X)=0
R(x)=α3x515x1221x1727x29=e(x)
로 나타내어 진다고 할때 오류위치 다항식은 다음의 식으로 나타내어진다.
σ(x)=x41x32x23x+σ4
=(x+αi)(x+αj)(x+αk)(x+α1)=0
식(11)을 인수분해하면,
(y2+m1y+m2)(y2+n1y+n2)=0
이와 같은 방법으로 3중과 4중 오류위치 l3, l4를 구한다.
제12도는 본 발명의 다중 오류정정방법을 구현한 시스템의 블럭도이다.
제12도에 있어서, 다중 오류정정 시스템은 저장매체(200), 에러 플래그와 수신 부호어 저장장치(210), 가산기(220), 신드롬 연산부 및 저장장치(230), 플래그 계수기(240), 연산용 저장장치(250), α-1계산회로(260), 산술 연산장치(270), 2차 유사 다항식상 근 계산회로(280), 3차 유사 다항식상 근 계산회로(290) 및 시스템 제어회로(300)으로 구성되어 있다.
상기 구성의 동작을 설명하면 다음과 같다.
저장매체(200)로부터 수신 부호어 R(x)와 함께 에러 플래그 정보를 받아들여 저장한다. 플래그 계수기(240)에 의해 에러 플래그를 계수하여 이 계수된 값을 시스템 제어회로(300)로 전송하고 수신 부호어로부터 오증값을 연산하여 저장한다. 산술 연산장치(270)에서 "(A·B)+C"의 곱과 합의 연속적인 계산법을 통해 에러위치 다항식 계수를 계산하여 연산용 저장장치(230)에 저장한다. 에러 플래그 계수값과 계산된 신드럼 값, α값을 이용하여 산술 연산장치(270)에서 곱과 합의 연속적인 계산방법으로 에러 갯수 판정식 Nt값을 계산하여 3중, 4중 에러를 판단하여 시스템 제어회로(300)으로 전송하여 3중, 4중 에러정정을 수행하게 한다. 시스템 제어회로(300)의 제어를 받아서, 2,3차 유사 다항식상 근을 구하는 회로와 산술 연산장치(270), 연산용 저장장치(250), α-1회로(260)를 사용하여 3중, 또는 4중 에러위치를 계산한다. 산술 연산장치(270), 연산용 저장장치(250)을 사용하여 에러값을 구해 연산용 저장장치(250)에 저장한다. 수신 부호어를 출력하면서 계산해 낸 에러위치를 이용하여 에러위치를 지정한 후 Ri+ei=Ci에 의해 정정된 부호어를 구해서 출력한다. 상기 구성에서 산술 연산장치(270)를 이용하여 곱과 합의 연속적인 계산을 하기 위해서는 연산용 저장장치(250)를 사용하여 계산 중간값을 저장하였다가 다시 불러내서 계산에 이용하는 방법을 사용하고, α-1회로(260)는 에러위치, 이레이져 위치를 지정하는데 사용된다.
따라서, 본 발명의 다중 오류정정방법 및 회로는 2중 이상의 오류를 간단한 방법으로 정정할 수 있다.

Claims (7)

  1. 수신되는 부호어 R(x)=Rnxn+Rn-1xn-1+…+R1x+R0를 수신하는 단계; 수신된 부호어 R(x)로부터 오증들(s0-s6)을 계산하는 단계; 3, 4, 5중 에러 위치 다항식 σ(x)x|3σ1x22x+σ3=0, σ(x)=x41x32x23x+σ4=0, σ(x)=x51x42x|33x24x+σ5=0로부터 3, 4, 5중 오류 계수 σ13, σ14, σ1-σ|5를 각각 계산하는 단계; 상기 오증값과 상기 오류 계수값을 이용하여 아래의 오류위치 판정식을 오류 갯수를 판정하는 단계;
    만일, N3=0, N4≠0, N5≠0이면 3중 에러가 발생한 것으로 판단하는 단계; 만일 N3=0, N4=0, N5≠0이면 4중 에러가 발생한 것으로 판단하는 단계; 3중 에러가 발생한 경우에 3중 오류위치 다항식 σ(x)를 3차 유사 다항식 z3+z+θ=0으로 변형하여 상수값 θ를 아래의 식에 따라 계산하는 단계;
    여기에서 k1= σ2+(σ1)2k21σ23
    4중 오류위치 다항식 σ(x)를 y4+Ay2+By+C=0으로 변형하여, 이 변형된 식과 변형된 식의 인수분해한 일반식(y2+m1y+m2)(y2+n1y+n|2)=0을 전개한 후에 계수를 비교하는 단계; 상기 θ값을 이용하여 3중 오류위치를 계산하는 단계; 상기 계수 비교단계에서의 계수 비교에 의해 4중 오류위치를 계산하는 단계; 상기 오류위치 계산후에 이레이져정정법에 의해 에러값을 계산하는 단계로 이루어진 것을 특징으로 하는 다중 오류정정방법.
  2. 제1항에 있어서, 상기 3중 오류위치를 계산하는 단계는 상기 상수값 θ를 ROM 테이블의 어드레스로 인가하여 1개의 근 z1값을 구하는 단계; 3차 유사 다항식 z3+z+θ=0과 이 식을 인수분해하여 얻은 일반식 (z+A)(z2+Bz+C)=0을 계수 비교하여 B,C를 A의 식으로 바꾸어 주고, 2차식 z2+Bz+C=0을 Y2+Y+θ'=0이라는 2차 유사 다항식으로 변형하여 θ'값을 계산하는 단계; θ'=(z1 2+1)/z1 2의 값을 구한 후에,
    2차 유사 다항식의 근을 아래의 식에 의해서 계산하는 단게;
    3개의 오류위치를 아래의 식에 의해 구하는 단계;
    로 이루어진 것을 특징으로하는 다중 오류정정방법.
  3. 제1항에 있어서, 상기 4중 오류위치를 계산하는 단계는 상기 계수 비교단계에서 계수 비교한 결과 아래의 비교식을 구하는 단계;
    상기 비교식으로부터 2,3차 유사 다항식을 유도하여 m1, m2값을 구해 y2+m1y+m2=0이라는 2차식에 대입하고 이것을 다시 2차 유사 다항식으로 변형하여 1개의 오류위치 l1을 구하는 단계; 식 y4+Ay2+By+C=0과 같은 이 식을 인수분해한 식 (y+P1)(y3+P2y2+P3y+P4)=0의 계수를 비교하고 y3+P2y2+P3y+P4=0의 3차식을 z3+z+θ|1=0이라는 3차 유사 다항식으로 변형하여 한 근을 z1을 구해 또 하나의 에러위치 l2를 구하는 단계; 4차 오류위치 다항식 σ(x)=x41x32x2+σ|3x+σ4=0와 이 식의 인수분해한 식 (x+11)(x+l2)(x+l3)(x+l4)=(x2+D1x+D|2)(x2+E1x+E2)=0을 계수 비교하고, 미리 구한 두개의 에러위치 l1, l2를 대입하여 x2+E1x+E2=0의 2차식을 s2+s+θ2+0의 2차 유사 다항식으로 변형하여 나머지 2개의 오류위치 l3, l4를 구하는 단계를 구비한 것을 특징으로 하는 다중 오류정정방법.
  4. 제3항에 있어서, 상기 오류위치 l1을 구하는 단계는 상기 비교식으로부터 m13+Am1+B=0이라는 3차식을 유도하는 단계; 상기 3차식을 u3+u+T1=0의 3차 유사 다항식으로 변형하여 T1값을 계산한 후, 한근 u1을 계산하는 단계; m1=A1/2u1을 계산하는 단계; 상기 비교식으로부터의 2차식을 유도하는 단계; 상기 2차식을 F2+F+T2=0이라는 2차 유사 다항식으로 변형하여 T2값을 계산한 후, 한근 F1을 구하는 단계;을 구하는 단계; m1, m2값을 이용하여 상기 2차식 y2+m1y+m2=0을 γ2+γ+T3=0이라는 2차 유사 다항식으로 변형하여 T3값을 계산한 후, 한근 γ1을 구하는 단계; y2+m1y+m2=0의 근 형태로 변환하는 단계; 1개의 에러위치을 구하는 단계를 구비한 것을 특징으로 하는 다중 오류정정방법.
  5. 제3항에 있어서, 상기 오류위치 l2를 구하는 단계는 상기 구해진 오류위치 l1의 변형된 값 y1을 이용하여 y4+Ay2+By+C=0을 (y+P1)(y3+P|2y2+P3y+P4)=0으로 인수분해하고 두 식을 계수 비교하여 P2, P3, P4를 P1=y1의 식으로 변형하는 단계; 식 y3+P2y2+P3y+P4=0을 z3+zθ=0이라는 3차 유사 다항식으로 변형하여 상수항 θ1을 아래의 식에 의해 계산하는 단계;, (여기에서이다.) 3중 오류위치 계산과 같은 방식으로 θ1값에 따라 한근 z1을 구하는 단계; 식 y3+P2y2+P3y+P4=0의 근 형태 즉, y2=Z|1Q1 1/2+P2로 변환하는 단계; 에러위치를 구하는 단계를 구비한 것을 특징으로하는 다중 오류정정방법.
  6. 제3항에 있어서, 상기 오류위치 l3, l4를 구하는 단계는 4차 오류위치 다항식 σ(x)=x41x32x23x+σ4=0을 인수분해하면 (x+l1)(x+l2)(x+l3)(x+l4)=0가 된다. 이 식은 또한 (x2+D1x+D2)(x2+E1x+E2)=0으로도 인수분해된다. 이때 D1=l1+l2D2=l1l2, E1=l3+l4, E2=l3l4이다. 오류위치 다항식과 이 식을 2차식으로 인수분해한 식을 계수 비교하면, E11+D1,를 구하는 단계; 2차식으로 인수분해한 식에서 x2+E1x+E2=0을 s2+s+θ2=0의 2차 유사 다항식으로 변형하여 θ2값을 아래의 식에 의해 계산하는 단계;3중 오류정정에서와 같은 방법으로 θ2값에 따라 한근 s1을 구하는 단계; 다른 한근 s2=1+s1를 구하는 단계; 에러위치 l3=E1s1, l4=E1s2를 구하는 단계를 구비한 것을 특징으로 하는 다중 오류정정방법.
  7. 수신 부호어 R(x)와 함께 에러 플래그 정보를 받아들여 저장하는 저장수단; 에러 플래그를 계수하는 플래그 계수수단; 상기 계수된 값을 수신하고 상기 수신 부호어로부터 오증값을 연산하고 3, 4중 에러정정을 수행하는 시스템 제어수단; 에러 플래그 계수값과 계산된 신드롬값, σ값을 이용하여 곱과 합의 연속적인 계산방법으로 에러 갯수 판정식 Nt값을 계산하여 3중, 4중 에러를 판단하여 시스템 제어수단으로 전송하는 산술 논리 연산수단; 상기 논리 연산수단에 의해 계산된 결과를 저장하는 연산용 저장수단; 상기 시스템 제어수단의 제어를 받아서 2,3차 유사 다항식상 근을 구하는 수단; 에러위치, 이레이져 위치를 지정하기 위한 α-1수단을 구비한 것을 특징으로하는 다중 오류정정장치.
KR1019940011920A 1994-05-30 1994-05-30 다중 오류정정방법 및 장치 KR970008645B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940011920A KR970008645B1 (ko) 1994-05-30 1994-05-30 다중 오류정정방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940011920A KR970008645B1 (ko) 1994-05-30 1994-05-30 다중 오류정정방법 및 장치

Publications (2)

Publication Number Publication Date
KR950034202A KR950034202A (ko) 1995-12-26
KR970008645B1 true KR970008645B1 (ko) 1997-05-27

Family

ID=19384161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940011920A KR970008645B1 (ko) 1994-05-30 1994-05-30 다중 오류정정방법 및 장치

Country Status (1)

Country Link
KR (1) KR970008645B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425083B1 (ko) * 1996-12-31 2004-06-16 엘지전자 주식회사 이종 광 디스크 에러정정 회로

Also Published As

Publication number Publication date
KR950034202A (ko) 1995-12-26

Similar Documents

Publication Publication Date Title
KR950002304B1 (ko) 다중 오류정정 방법
AU603641B2 (en) Error correction method using reed-solomon code
US5373511A (en) Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same
US6854082B1 (en) Unequal error protection Reed-Muller code generator and decoder
EP0167627A1 (en) Method and apparatus for decoding error correction code
US5912905A (en) Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US6543026B1 (en) Forward error correction apparatus and methods
JPH0444447B2 (ko)
KR100213254B1 (ko) 에러 정정 방법 및 장치
EP0105499A2 (en) Method capable of simultaneously decoding two reproduced sequences
EP0317197B1 (en) Error detection and correction method
US4800515A (en) Circuit for operating finite fields
US5541937A (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
KR970008645B1 (ko) 다중 오류정정방법 및 장치
US7047481B2 (en) Decoding method and decoder for Reed Solomon code
JP3250260B2 (ja) 画像データ記録装置及び画像データ再生装置
US4974235A (en) Method of adaptive quantization in differential pulse code modulation and a system for transmitting quantized data
JP3252515B2 (ja) 誤り訂正装置
KR100209676B1 (ko) 에러정정 장치 및 방법
JP2578739B2 (ja) イレ−ジャ訂正方法
KR100213253B1 (ko) 크리스탈 및 알.씨(rc) 겸용 발진회로
US6446233B1 (en) Forward error correction apparatus and methods
JP2000236265A (ja) 疑似積符号復号装置及び方法
JP2605269B2 (ja) エラー訂正方法
JP3889738B2 (ja) 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム

Legal Events

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

Payment date: 20060830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee