KR930003997B1 - 에러 정정부호의 복호방법 및 복호장치 - Google Patents
에러 정정부호의 복호방법 및 복호장치 Download PDFInfo
- Publication number
- KR930003997B1 KR930003997B1 KR1019850700179A KR850700179A KR930003997B1 KR 930003997 B1 KR930003997 B1 KR 930003997B1 KR 1019850700179 A KR1019850700179 A KR 1019850700179A KR 850700179 A KR850700179 A KR 850700179A KR 930003997 B1 KR930003997 B1 KR 930003997B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- error
- error correction
- pointer
- decoding
- 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/158—Finite field arithmetic processing
-
- 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
-
- 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
-
- 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
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Executing Machine-Instructions (AREA)
- Selective Calling Equipment (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
내용 없음.
Description
[발명의 명칭]
에러 정정부호의 복호방법 및 복호장치
[도면의 간단한 설명]
제1도는 본 발명의 일 실시예의 부호기의 블록도.
제2도는 본 발명의 일 실시예의 동작 설명에 사용하는 개략선도.
제3도는 본 발명의 일 실시예의 복호기의 블록도.
제4도는 본 발명의 일 실시예의 블록도.
제5도는 본 발명의 일 실시예의 주요부의 블록도.
제6도는 본 발명에 사용하는 처리 회로의 일예의 구성을 나타내는 블록도.
제7도는 그 설명에 사용하는 블록도.
[발명의 상세한 설명]
[기술분야]
본 발명은 에러 정정부호의 복호방법 및 복호장치에 관한 것이다.
[배경기술]
정보 심볼이 2차원 배열로 되고, 이 2차원 배열의 각 행마다 및 각 열마다 각각 에러 정정 부호화를 행하고, 정보 심볼의 각각이 2개의 에러 정정부호 계열에 포함되도록 한 곱 부호(product code)가 알려져 있다. 이 곱 부호의 복호시에, 각 열마다의 에러 정정 부호의 복호를 행하고, 그 복호 정보를 이용하여 각 행마다의 에러 정정부호의 복호를 행할 수가 있다. 이 복호 정보를 포인터라 칭한다.
종래는, 각 정보 심볼마다 포인터를 갖도록 하고, 따라서, 포인터의 총수가 적어도 정보 심볼의 수만큼 필요로 했다.
또한, 포인터를 사용해서 소거 정정(erasure correction)을 행할 경우, 각 행마다 포인터를 포인터 메모리에서 읽어서, 에러 값을 계산하면, 메모리의 액세스, 계산등의 처리 스텝수가 많아지는 문제점이 있었다.
한편, 에러 정정부호로서, BCH 부호 등, 복잡한 부호를 사용한 경우에는, 에러 값을 구하는 연산이 상당히 복잡해져, 하드웨어로 실현하는 경우, 많은 프로그램의 스텝수를 필요로 하는 문제점이 있었다.
[발명의 개시]
본 발명의 목적은, 복호시에 필요로 하는 포인터의 갯수를 감소할 수가 있고, 포인터를 위한 메모리 영역을 감소시킬 수가 있음과 동시에, 포인터의 기입 및 판독의 회수를 적게할 수 있는 에러 정정 부호의 복호 방법 및 복호장치를 제공하는데 있다.
본 발명의 기타 목적은, 포인터가 각 행에 관해서 동일한 것으로 되는 것에 착안하여, 처리 스텝수를 대폭적으로 감소하는 것이 가능한 에러 정정 부호의 복호방법 및 복호 장치를 제공하는데 있다.
본 발명의 기타 목적은, 소거 정정시의 계산 스텝수를 감소시킬 수가 있는 에러 정정 부호의 복호 장치를 제공하는데에 있다.
본 발명의 또다른 목적은, 복호시의 에러 값을 구하는 것이 간단한 구성으로 적은 스텝수에 의해 가능하도록 되어진 에러 정정 복호 방법을 제공하는데 있다.
이들의 기술적인 과제를 달성하기 위해서, 본 발명에서는, (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1, K1)(단, n1은 부호길이)의 제1에러 정정부호의 부호화가 행하여짐과 동시에, 각행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호 길이)의 제2에러 정정부호의 부호화가 행해진 에러 정정 부호의 복호 방법에 있어서, 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하여, 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 적어도, K1비트의 메모리에 저장하고, 정보 심볼을 출력할 때에, 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하도록 한 에러 정정 부호의 복호 방법을 구성한다.
또다시, 본 발명에서는, 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하고, 제2에러 정정 부호의 복호시에, 제2에러 정정 부호의 부호 계열의 각각에 관해서 제1포인터를 써서 소거 정정을 행함과 동시에, 이 소거 정정에 있어서의 에러 값을 구하는 연산의 일부를 제2에러 정정 부호의 부호 계열에 관해서 1회만 행하도록 한 것을 특징으로 하는 에러 정정 부호의 복호 방법을 구성한다.
또다시, 본 발명에서는, 1을 근으로 갖는 선형 비 2원 부호(liniear non-dualistic code)는, 신드롬의 하나가 수신 심볼 계열의 (mod. 2)의 가산 결과로 되는 것에 주목하고, 이 신드롬을 신드롬 레지스터에 저장하여 두고, 복수개의 에러 심볼의 정정시에, 그중의 1개의 심볼에 관한 에러 값은, 신드롬 레지스터 값에서 다른 에러 값을 빼므로서 형성하도록 한 에러 정정 부호의 복호 장치를 구성한다.
[발명을 실시하기 위한 가장 좋은 형태]
이하, 본 발명의 일 실시에에 있어서 도면을 참조하여 설명한다.
제1도는, 적부호의 부호기의 구성을 도시하고, (1)이 입력단자, (2)가 C2(제2에러 정정 부호) 패리티 발생기이다. 입력단자(1)에서의 입력 데이타가 C2패리티 발생기(2) 및 선택기(3)의 한쪽의 입력 단자에 공급되고, C2패리티 발생기(2)에 의해서 형성된 C2패리티 데이터가 선택기(3)의 다른쪽 입력 단자에 공급된다. 선택기(3)는, K2개의 정보 심볼을 선택하고 나서, (n2-K2)개의 패리티 데이터를 선택하는 동작을 K1회 반복한다. 이 동작 동안에, RAM(랜덤 액세스 메모리)(4)에 정보 심볼과 패리티 데이터가 어드레스 제어기(5)의 제어하에 차례로 기억된다.
이 RAM(4)에서 판독된 데이터가 C1(제1에러 정정 부호) 패리티 발생기(6) 및 선택기(7)의 한쪽 입력단자에 공급되고, C1패리티 발생기(6)에 의해서 형성된 C1패리티 데이터가 선택기(7)의 다른쪽 입력 단자에 공급된다. 선택기(7)는, C2패리티 데이터를 포함하는 (K1×n2)개의 심볼을 선택하고나서, {(n1-K1)×K2}개의 C1패리티 데이터를 선택한다. 이 선택기(7)의 출력 단자(8)로 보내진 디지탈 데이터가 도시하지 않았으나, 예컨대 자기헤드에 의해 자기테이프에 기록되는 등으로 전송된다. 이 경우, 일단, RAM(4)에 또다시 부호화된 출력을 기입하여 다른 순서로 판독하여 기록하여도 된다.
제2도는, 상술하는 바와 같은 부호기에서 생성된 이 일 실시예의 부호 구성을 도시하는 것으로, (K1×K2)의 2차원 배열을 정보 심볼이 갖고, 이 2차원 배열의 가로방향 즉, 각 행마다의 K2개의 정보 심볼이 C2부호의 부호화 처리를 받는다. 그래서 세로방향 즉, 각 열마다의 K1개의 정보 심볼이 C1부호의 부호화 처리를 받는다. C2패리티 데이터도 C1부호의 부호화가 이루어진다. C1부호는, 예컨대(n1, K1) 리드 솔로몬 부호(Reed-Solomon code)이고, (n1-K1)/2개의 심볼의 에러까지 정정이 가능하다. C2부호는, 예컨대(n2, K2) 리드 솔로몬 부호이고, (n2, K2)/2개의 심볼의 에러까지 정정이 가능하다.
여기에서, 리드 솔로몬 부호의 일반적인 복호 방법에 대해서 설명한다.
갈로이스(Galois)체 GF(2m)상의 (n,K)(n은 부호길이, K는 정보 심볼수) 리드 솔로몬 부호(Reed-Solomon code)의 해밍거리(hamming distance)는, (d=n-K+1)로 되고, 생성 다항식은(X+α1)로 된다. 수신어를 (r0, r1, r2,…,rn-1)라 하면, 다음식의 연산에 의해 신드롬(syndrome)이 구해진다.
다음에, 이 신드롬(Sj)을 사용해서 에러 위치(error location) 다항식 δ(Z) 및 에러 평가(error evaluation) 다항식 ω(Z)를 구한다. 이 방법으로서, 유클리드의 호제법(Euclid's mutual division method), 바레이 캠프의 방법(Varlay-Camp's method), 피터슨의 방법(Peterson's method)등이 제안되고 있다.
다음으로, (δ(Z)=0)를 풀어서, 에러 위치(Xi)를 구한다. 그러기 위해서는, 치엔 서치(chien search)가 사용된다.
그렇게 하여, 에러 위치(Xi)와 에러 평가 다항식 ω(Z)에서 에러값(Yi)을 구한다.
상술하는 복호 스텝의 연산에 대해서, 에러 위치를 Xi(i=1,2,…e; e는 에러 수), 에러 값을 Yi로 하여 설명한다. 리드 솔로몬 부호는, 선형 부호이므로,
로 된다. 이때
로 다항식 표현을 하면
로 된다. 다음으로, 에러위치 다항식 및 에러 평가 다항식을
로 정의하면,
Z에 Xi -1을 대입하여 변형하면, 에러값(Yi)가 구해진다.
일예로서 α°내지 α7이라는 근을 갖는 (32,34) 리드 솔로몬 부호에 대해서 설명한다. 이 부호는 (d=9)이므로, 4심볼 에러까지 정정이 가능하다. 4심볼 에러위치 X1내지 X4, 에러값을 Y1내지 Y4라 하면, 신드롬은, 다음식으로 구해진다.
즉, 4개의 신드롬중에서,
로 된다. 에러값 Y1, Y2, Y3이 구해지며, 나머지 1개의 에러값(Y4)은
Y4=S0-Y1-Y2-Y3
에 의해 구할 수가 있고, 에러값(Y4)은, 복잡한 연산을 행하지 않고 구할 수가 있다. GF(2m)상의 부호에서는, 감산은, (mode. 2)의 가산과 같다.
제3도는, 이 일 실시예의 복호기의 구성을 나타내고, 제3도에 있어서, (11)로 표시하는 입력 단자에서 재생 데이터가 공급되고, 이 재생 데이터가 C1복호기(12)에 공급된다. C1복호기(12)에서 C1부호의 복호가 행해진다. 이 C1복호에서 (n1-K1)/2개까지의 에러를 모두 정정한다. 단, C1부호의 1개의 계열에 에러수가 a((n1-K1)/2)개 이상의 경우에는, 이 계열의 C1포인터를 1로 하고, 그 이외는, 0으로 한다. 제2도 및 제3도에 있어서, (13)은 C1부호의 포인터가 기억되는 포인터 메모리를 나타내고, 이 포인터 메모리(13)는 n2비트로 된다. C1복호기(12)의 출력은, 일단 RAM(14)에 차례로 어드레스 제어기(15)에 제어되면서 기억된다.
RAM(14)에서 판독된 출력이 C2복호기(16)에 공급되고, C2부호의 복호 처리를 받는다. 이 C2복호기(16)에서는 포인터 메모리(13)로부터의 C1포인터가 공급된다. C1포인터는 C2부호의 K1개의 모든 계열에 대해서 공통으로 되므로, C2부호를 각 계열로 동일 순서로 복호할 수가 있다. C2복호기(16)는 (n2-K2)/2개까지의 에러를 정정함과 동시에, 3종류의 C2부호의 포인터를 발생하고,이 C2포인터가 포인터 메모리(17)에 기억된다.
C2복호기(16)에 있어서, 에러 정정을 행한 때에는, 그 계열에 관한 C2포인터가 0으로 되어진다. C2복호기(16)에 있어서, 에러 정정이 되지 않고, C1포인터의 신뢰도가 높고 이것을 복사할 경우에는, C2포인터가 1로 되어진다. C2복호기에 의해 에러 정정이 되지 않고, 더우기, C1포인터의 신뢰도가 낮고 그 계열의 모든 심볼을 에러 심볼로 할 때에는, C2포인터가 2로 된다. 따라서, C2포인터는 2비트의 것으로, 포인터 메모리(17)는 2K1비트의 것으로 된다.
이들의 포인터 메모리(13,17)는, 복호시에 정보 심볼 및 패리티 데이터가 기억되는 RAM(14)과 별개의 것이라도 좋고, 또한, 이 RAM(14)의 일부의 메모리 영역을 사용한 것도 좋다.
더우기, C1포인터도 1비트에 한하지 아니하고, 2비트 이상으로 하여도 좋다. 또한, C1패리티를 위해 C2부호의 에러 정정 부호의 처리를 행하고, (2n1)비트의 C2포인터의 메모리를 설치토록 하여도 좋다.
C2복호기(16)의 출력 데이터가 보간 회로(18)에 공급되고, 에러 정정이 되지 않은 심볼의 에러가 수정된다. 보간 회로(18)는 예컨대 평균치 보간을 행하는 것이다. 이 보간 회로(18)는 포인터 메모리(13), 및 (17)로부터의 C1포인터 및 C2포인터가 공급되는 제어회로(19)에 의해 제어된다. 보간 회로(18)의 출력 데이터가 출력단자(20)에 보내진다. 제어 회로(19)는 정보 심볼마다 C1포인터 및 C1포인터를 보고 보간을 행할 것인가의 여부를 결정한다. 제2도에 있어서, (13')로 표시하는 C1포인터의 한예와, (17')로 표시하는 C2포인터의 한 예에 의해, C1포인터 및 C2포인터의 모든 조합이 생긴다.
먼저, C1포인터가 0,1 중 어떠한 것이든, C2포인터가 0인때에는, 보간 회로(18)의 보간 동작이 행해지지 않는다. C2포인터(1)에서, C1포인터가 0인 때에는, 그 정보 심볼이 에러가 아니라고 판정되고, 보간동작이 행해지지 않는다. C2포인터가 1에서, C1포인터가 1인 때에는, 에러 심볼로 판정되고, 보간 동작이 행해진다. 또다시, C2포인터가 2인 때에는, C1포인터가 0,1 중 어느것이던, 에러 심볼로 판정되고, 보간 동작이 행해진다.
C1포인터의 신뢰도는 C2복호기(16)에 있어서 판정된다. 예컨대, C2부호는 2심볼 에러까지 정정될 때에, C1포인터가 1개만이 1인데도 불구하고, C2부호에 의해 정정되지 않는 경우가 생기면, 이 일은 이상이 있기 때문에, C1포인터의 신뢰도가 낮은 것으로 판정된다. C2포인터를 0,1,2의 3종류로 하여, C1포인터의 복사와 모든 에러를 구별하므로써, C2부호에 의해 에러 정정이 불가능할 때에도, 보간하지 아니하고 그치는 경우를 야기시키는 것으로 된다.
상술하는 C2복호기(16)에서는 C1포인터의 복사를 행하는 경우에, 이 C1포인터가 (n2-K2)개 이하인때에 소거 정정을 행하고, 소거 정정을 행한 때에는, C2포인터를 0으로 한다.
상술하는 바와같이, 리드 솔로몬 부호는, 각행의 n2개의 심볼로부터 구해진 신드롬을 사용해서, 각 행마다 에러 위치 다항식 δ(Z) 및 에러 평가 다항식 ω(Z)를 계산하므로써 이루어진다. 소거 정정의 경우에는 C1포인터가 1의 곳을 에러 위치로 하므로, 에러 위치(X1)와 에러 평가 다항식 ω(Z)에서 에러 값(Yi)이 구해진다. 즉, Z 대신에, Xi -1을 대입하므로써, (8)식과 같이
(단, i=1,2,3,…S.S는 포인터의 수임)로 된다.
위식에 있어서, 분모의 항은, 에러 위치만으로 정해진다. 한 예로서, C1포인터에 의해 표시되는 에러 위치를 X1, X2, X3이라하면, 에러 값 Y1, Y2, Y3의 각각을 구하는 식의 분모의 항은 다음과 같다.
Y1의 분모 : (1-X2X1 -1)(1-X3X1 -1)
Y2의 분모 : (1-X1X3 -1)(1-X2X3 -1)
Y3의 분모 : (1-X1X2 -1)(1-X3X2 -1)
여기에서, 포인터 메모리(13)에 저장되어 있는 포인터는 C2복호기의 K1개의 계열의 모두에 관해서 동일하다. 따라서, 에러의 값을 구하는 위식 연산의 분모 항의 연산은, K1개의 계열에 관해서 1회만 행하면 된다.
제4도는, 상술하는 C1복호기, C2복호기등에 사용되는 에러 정정 복호기의 구성을 나타내고, (21)로 표시하는 입력 단자에 수신 데이터가 공급되고, 이 수신 데이터가 지연 회로(2) 및 신드롬 발생회로(23)에 공급된다. 신드롬 발생회로(23)에서 형성된 신드롬이 에러 위치, 에러값 계산회로(24)에 공급된다. 에러 위치, 에러값 계산회로(24)로부터의 에러값 데이터가 배타적 OR 게이트(25)에 공급되고, 지연회로(22)로부터의 수신 데이터와 (mod. 2)의 가산이 행해진다. 지연 회로(22)로부터의 수신 데이터와 배타적 OR 게이트(25)로부터의 에러 정정후의 데이터가 선택기(26)에 공급된다. 선택기(26)가 에러 위치 데이터에 의해 제어되고, 에러 위치에서는, 수신 데이터 대신에, 배타적 OR 게이트(25)의 출력이 선택기(26)에 의해 선택되어서 출력단자(27)에 보내진다.
오디오 PCM 신호의 기록 재생기의 경우에는, 재생 데이터가 일단, RAM에 기입되고, 이 RAM에서 판독된 데이터를 사용해서 신드롬의 발생과 이 신드롬을 사용한 에러위치, 에러값의 계산이 행해진다. 제5도는 에러 위치, 에러값 계산회로(24)의 일부를 표시하고, 제5도에 있어서, (28)는 데이터 버스를 표시하고, 이 데이터 버스(28)를 거쳐서 데이터, 신드롬등의 전송이 행해진다.
제5도에 있어서, (29)는 신드롬 레지스터를 표시하고, 이 신드롬 레지스터(29)에는 데이터 버스(28)에서 버스 버퍼(30), 배타적 OR 게이트(31)를 거쳐서 신드롬(S0)이 저장된다. 이 신드롬(S0)은 GF(2m)상의 리드 솔로몬 부호의 경우에 m비트로 된다. 신드롬 레지스터(29)로부터의 신드롬(S0)이 배타적 OR 게이트(31) 및 버스 버퍼(32)에 공급된다.
신드롬 레지스터(29)에 신드롬(S0)을 저장하면, 데이터 버스(28)에서 버스 버퍼(30)를 거쳐서 배타적 OR 게이트(31)에 구해진 에러 값 Y1, Y2, Y3이 차례로 공급된다. 따라서, 배타적 OR 게이트(31)의 출력은 (S0 Y1), (S0 Y1 Y2), (S0 Y1 Y2 Y3=Y4)로 되고, 신드롬 레지스터(29)에는 에러값 Y4이 남게된다. 이 에러 값 Y4이 버스 버퍼(32)를 거쳐서 데이터 버스(28)에 보내어지고, 에러 정정을 위해 사용된다.
제6도는 소거 정정에 의한 복호를 행하기 위한 하드웨어의 다른 예를 표시한다. 데이터버스(28)에 기입 레지스터(33) 및 판독 레지스터(34)를 거쳐서 메인 RAM(35)이 접속된다. 또한 데이터 버스(28)에는, 신드롬 레지스터(29), 워킹 RAM(36), 연산논리(37)등이 설치된다.
리드 솔로몬 부호의 소거 정정은 (2)식과 같이 다음의 n계 1차 연립방정식(n-order liniear simultaneous equations)을 푸는 것으로 귀착된다.
단, υ=0 내지 d-2, n=소거 수, XK:K번째의 위치, Sυ:신드롬, YK:K번째 소거의 에러 크기, d:부호의 최소 거리
여기에서, n, XK, Sυ는 기지수, YK가 미지수이다.
이 식의 해법으로서 종래는, 예컨대 다음과 같은 방법이 사용되고 있다. 즉,
로서, (8)식과 같이,
을 구한다.
그러나, 이 방법에 있어서, 예컨대 d=9, n=8로서 실제의 연산의 스텝수를 계산하면,
(ⅰ) Λ(Z)의 전개
승산회수:1+2+ … +7=28
가산회수:1+2+ … +8=28
역수회수:1×8=8
승산회수:(7+6)×8=104
가산회수:7×8=56
(ⅲ) ω(Z)=S(Z)Λ(Z), mod.Z8을 구한다.
승산회수:1+2+ … +7=28
가산회수:1+2+ … +7=28
(ⅵ) ω(Xi -1)를 구한다.
역수회수:1×8=8
승산회수:7×8=56
가산회수:7×8=56
(ⅴ) Yi를 구한다.
제산회수:1×8=8
그래서 이들의 계산이 각각 1스텝씩 필요하게 되면, 전체의 스텝수는, 합계 408 스텝이나 필요해져 버린다.
제6도의 회로에 있어서, (9)식의 근을
즉, 예컨대 소거 정정을 행하려면, (11)식에 ℓ=0, i=n을 대입한다.
이것으로 Yn을 구해서 각 신드롬(Sυ에 Yn·Ynυ)을 만족시켜준다.
Sυ←Sυ+YnXn υ
단, υ=0 내지 n-2
이같이 하면, 위치 Xn의 데이터는 정확하므로, 신드롬은 (n-1)개의 소거를 포함하게 된다. 따라서 n을 1개 줄여서 Yn-1을 구할 수가 있다.
이에 따라 Yn-1을 구해서, 또다시 각 신드롬(Sυ)에 Yn-1, Xn-1 υ을 만족시켜준다.
Sυ←Sυ+Yn-1Xυ n=1
단, υ=0 내지 n-3
이것을 반복하므로서, 최후의 소거 Y1는
Y1=S0
로 구할수가 있다.
이같이 하여 소거 정정을 행할 수가 있다. 그래서 이 경우에 상술하는 바와 같이 d=9, n=8로 하여 실제의 연산 스텝수를 계산하면,
(ⅰ) 각 Λnnj를 구하는
승산회수:1+2+ … +6=21
가산회수:1+2+ … +6=21
여기에서, ∏2=X1+Y2=Λ331이므로, ∏3내지 ∏8만을 구하면 된다.
승산회수:1+2+ … +6=21
가산회수:1+2+ … +6=21
(ⅲ) Yn의 분자를 구하는
승산회수:7+6+ … +1=28
가산회수:7+6+ … +1=28
(ⅳ) Yn을 구한다. Y1=S0이므로
제산회수:7
(ⅴ) Sυ←Sυ+YnXnυ
승산회수:6+5+ … +1=21
가산회수:7+6+ … +1=28
이상의 계산의 스텝수는, 합계 202 스텝이다.
따라서, 상술하는 (11)식을 사용한 경우, 종래의 (10)식의 경우와 비교해서 계산의 스텝수를 약 50%로 할 수가 있다.
또다시, 상술하는 정정부호가 곰부호인 경우에는, 예컨대 새로 30심볼, 가로 128심볼로, 세로방향 C1, 가로방향 C2로 한 경우에, 소거와는 C1포인터의 위치에 해당하고, C2에서 봤을 때 모든 C2에서 XK(K=1 내지 n)는 같다. 이것은 (11)'식에 있어서의 Λnnj와의 계산을 C2마다 행하지 않고 미리하여 들수가 있는 것이다. 즉, 이 예에서는 상술하는 계산은 C2를 30회 행하는 사이에 1회만 행하면 된다.
따라서, 상술하는 계산의 스텝수에 있어서, (ⅰ),(ⅱ)는 30회에 1회만으로 되고, (ⅰ),(ⅱ)의 스텝수 90÷30=3으로 한 경우에 전체의 스텝수는 합계 115스텝으로 된다. 이것은 종래의 방법에 있어서(ⅰ),(ⅱ)의 스텝수 224를 30으로 나눈 경우에 전체의 스텝수가 합계 191.5스텝으로 되는데 비해서 약 40%의 스텝수의 삭감으로 된다.
이렇게 하여 이 방법에 의하면, 종래의 방법에 비해서 계산의 스텝수를 대폭적으로 삭감할 수가 있고, 처리시간의 단축이나, 처리를 위한 하드웨어의 부담의 경감등의 효과가 있다.
역시, 상술하는 계산은, 연산논리(37)등을 써서 행해지나, 한 예로서 Sυ←Sυ'+X1 υY1를 구하는 경우에는, 제7도에 표시하는 것과 같은 개념으로 행해진다. 제7도에 있어서 (38),(39),(40)은 레지스터, (41)은 가산기, (42)는 승산기, (43)은 선택기로, 이것들은 연산논리(37)에 내장되어 있다. 그래서, 이 회로에 있어서,
[1] 먼저 신드롬 레지스터(39), 워킹 RMA(36)등에서 데이터버스(28)를 통해서 레지스터(39)에 S0, 레지스터(39)에 Yi, 레지스터(40)에 Xi를 세트한다. 이에 따라 가산기(41)에서 S0+Yi가 데이터버스(28)에 출력된다.
[2] 다음으로, 승산기(42)의 내용 XiYi를 선택기(43)를 통해서 레지스터(39)에 세트(피드백)하고 데이터버스(28)에서 S1를 레지스터(38)에 세트한다. 이에 따라 가산기(41)에서 Si+XiYi가 데이터버스(28)에 출력된다.
[3] 또다시, 승산기(42)의 내용 X2 1Y1를 선택기(43)를 통해서 레지스터(39)에 피드백하고, 데이터버스(28)에서 S2를 레지스터(38)에 세트한다. 이에 따라 가산기(41)에서 S2+X2 1Y1가 데이터버스(28)에 출력된다.
[4] 이하, 이것을 반복하므로써, 차례로 S3+X1 3Yi, S4+X1 4Yi…가 구해지고, 이것들을 데이터버스(28)를 통해서 신드롬 레지스터(29)에 공급하고, 각 값을 바꾸어 쓴다.
이와 같이하여 계산을 행할 수가 있다.
또한, 상술하는 설명은 X1내지 Xn의 모두를 소거로 하였으나, X1내지 Xn-1을 소거, Xn를 에러로 한 경우에도 정정이 가능하다. 즉 이 경우의 미지수는 Y1내지 Yn및 Yn의 n+1개이다. 이 경우에 상술하는 Λnnj를 써서
로 구할 수가 있다. 따라서 이것에 의해 미지수는 Y1내지 Yn로 되고, 후는 상술하는 소거 정정과 같이하여 구할 수가 있다.
즉 예컨대, 곰부호에서 d=9(6소거+1에러)로 한 경우에,
[1] 소거위치 X1, X2, …X6을 조사한다.
[2]Λnnj를 구해서 기억한다. 여기에서 Λ221=X1, Λ331=Λ221+X2, Λ332=Λ221.X2…Λ771…Λ776의 합 21심볼을 기억한다.
이상은, 30회에 1회만 행한다.
[4] 신드롬 S0내지 S7을 계산한다.
이하 차례로 Y6내지 Y1(=S0)를 구한다.
이와 같이하여 소거 +1 에러의 정정을 행할 수가 있다. 이 경우에도 상술하는 소거 정정의 경우와 같이 계산의 스텝수가 감소되고 있다.
역시 위식 (11)식, (12)식의 증명을 이하에 표시한다.
[보제]
라 하면 명백하게
[정리 1] n계 1차 연립 방정식
이다.
[증명]
[계 1]
[정리 2] X1내지 Xn-1:소거, Xn:에러라 하면
[증명] 계 1로부터
따라서, 정리 1로부터 n소거 정정에 있어서는 S0내지 Sn-1계로부터 S1내지 Sn, S2내지 Sn+1…Sd-1-n내지 Sd-2의 어떤 것을 사용해도 정정할 수 있는 것을 알 수 있다. 즉, n소거 정정에는 n개의 연속한 신드롬이 필요하고 나머지의 신드롬은 체크용으로사용된다. 따라서 nd-1로 된다.
또한 정리 2에서 Xn을 구하려면, Sℓ내지 Sn-ℓ의 합(n+1)개의 신드롬을 필요로 한다. 따라서 nd-2로 된다. (소거 수는 n-1d-3)나머지의 신드롬은 위와 같이 체크용으로 사용된다.
본 발명에 의하면, 에러 정정 부호의 모든 데이터 수(n1, n2)개의 포인터 영역이 필요하였던 것이, (n2+2n1)개의 포인터 영역으로 감소할 수가 있고, 복호에 필요로 하는 메모리 용량의 저감을 도모할 수가 있다. 또한, 본 발명에 의하면, 포인터의 기입 또는 판독의 스텝수를 감소시킬 수가 있다.
또한, 본 발명에 의하면, C1복호에 의해 형성된 포인터를 사용해서, C2복호의 소거 정정을 행하는 경우에, C2부호의 각 계열에 관해서 C1포인터의 패턴이 공통으로 되므로, 에러 값을 구하는 연산중에서 공통 부분이 생기고, 이 연산을 1호로서 끝낼 수가 있다. 따라서, 복호시의 처리 스텝수를 대폭적으로 감소시킬 수가 있고, 복호 동작의 고속화를 실현할 수가 있다.
또다시, 본 발명에 의하면, 복수의 에러 값을 구하는 경우, 모든 에러 값을 복잡한 에러 평가 다항식에서 구할 필요가 없고, 그 중 어느 하나를 간단한 구성에 의해 얻을 수가 있고, 처리의 스텝수의 감소를 도모할 수가 있다.
더우기, 본 발명에 의하면, 소거 정정때의 계산의 스텝수를 대폭적으로 감소시킬 수가 있다.
Claims (2)
- (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1,K1)(단, n1는 부호길이)의 제1에러 정정 부호의 부호화가 행하여짐과 동시에, 각행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호길이)의 제2에러 정정부호의 부호화가 행하여진 에러 정정 부호의 복호방법에 있어서, 상기 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 n2비트의 메모리에 저장하고, 상기 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 적어도, K1비트의 메모리에 저장하고, 상기 정보 심볼을 출력할 때에, 상기 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하도록 한 에러 정정 부호의 복호 방법.
- (K1×K2)의 2차원 배열의 정보 심볼의 각 열의 K1개의 정보 심볼마다(n1,K1)(단, n1는 부호길이)의 제1에러 정정 부호의 부호화가 행하여짐과 동시에, 각 행의 K2개의 정보 심볼마다(n2, K2)(단, n2는 부호길이)의 제2에러 정정부호의 부호화가 행해진 에러 정정 부호의 복호 장치에 있어서, 상기 제1에러 정정 부호의 복호에 의해 형성된 제1포인터를 저장하는 n2비트의 메모리 수단과, 상기 제2에러 정정 부호의 복호에 의해 형성된 제2포인터를 저장하는 적어도, K1비트의 메모리 수단과, 상기 정보 심볼을 출력할 때에, 상기 제1 및 제2포인터의 상태에 의해 신뢰도를 판정하는 판정수단을 갖는 에러 정정 부호의 복호장치.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24052583A JPH0628343B2 (ja) | 1983-12-20 | 1983-12-20 | 積符号の復号方法 |
JP58-240525 | 1983-12-20 | ||
JP???58-240525 | 1983-12-20 | ||
JP???58-198079 | 1983-12-23 | ||
JP58-198079(??) | 1983-12-23 | ||
JP1983198079U JPS60104947U (ja) | 1983-12-23 | 1983-12-23 | エラ−訂正復号器 |
PCT/JP1984/000603 WO1985002958A1 (en) | 1983-12-20 | 1984-12-19 | Method and apparatus for decoding error correction code |
Publications (2)
Publication Number | Publication Date |
---|---|
KR850700196A KR850700196A (ko) | 1985-10-25 |
KR930003997B1 true KR930003997B1 (ko) | 1993-05-19 |
Family
ID=26510757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019850700179A KR930003997B1 (ko) | 1983-12-20 | 1984-12-19 | 에러 정정부호의 복호방법 및 복호장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4719628A (ko) |
EP (3) | EP0387924B1 (ko) |
KR (1) | KR930003997B1 (ko) |
AT (2) | ATE177570T1 (ko) |
BR (1) | BR8407228A (ko) |
DE (3) | DE3486200T2 (ko) |
HK (1) | HK118795A (ko) |
WO (1) | WO1985002958A1 (ko) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS601673A (ja) * | 1983-06-17 | 1985-01-07 | Sony Corp | 誤り検出方法 |
AU594995B2 (en) * | 1986-01-24 | 1990-03-22 | Sony Corporation | Data transmission method suitable for a disc |
EP0235782B1 (en) * | 1986-03-04 | 1992-01-22 | Sony Corporation | Apparatus for reproducing a digital signal |
JPS63193723A (ja) * | 1987-02-06 | 1988-08-11 | Sony Corp | リ−ドソロモン符号の復号方法 |
AU622626B2 (en) * | 1987-06-03 | 1992-04-16 | Sony Corporation | Method of processing data |
US4845714A (en) * | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Multiple pass error correction process and apparatus for product codes |
DE3852999T2 (de) * | 1987-06-30 | 1995-06-14 | Matsushita Electric Ind Co Ltd | Galois-feld-recheneinheit. |
US4849976A (en) * | 1987-08-03 | 1989-07-18 | Scs Telecom, Inc. | PASM and TASM forward error correction and detection code method and apparatus |
JP2563389B2 (ja) * | 1987-11-13 | 1996-12-11 | 松下電器産業株式会社 | 誤り検出訂正方法 |
US4847842A (en) * | 1987-11-19 | 1989-07-11 | Scs Telecom, Inc. | SM codec method and apparatus |
US4956709A (en) * | 1988-03-11 | 1990-09-11 | Pbs Enterprises, Inc. | Forward error correction of data transmitted via television signals |
FR2634035B1 (fr) * | 1988-07-07 | 1994-06-10 | Schlumberger Ind Sa | Dispositif pour le codage et la mise en forme de donnees pour enregistreurs a tetes tournantes |
US5068855A (en) * | 1988-07-18 | 1991-11-26 | Canon Kabushiki Kaisha | Error correcting method and apparatus |
JP2881773B2 (ja) * | 1988-07-30 | 1999-04-12 | ソニー株式会社 | 誤り訂正装置 |
JP2722647B2 (ja) * | 1989-04-11 | 1998-03-04 | 富士通株式会社 | 磁気テープ制御装置 |
CA2013484A1 (en) * | 1989-06-26 | 1990-12-26 | Can A. Eryaman | Erasure arrangement for an error correction decoder |
US5136592A (en) * | 1989-06-28 | 1992-08-04 | Digital Equipment Corporation | Error detection and correction system for long burst errors |
US5040179A (en) * | 1989-08-18 | 1991-08-13 | Loral Aerospace Corp. | High data rate BCH encoder |
DE69030490T2 (de) * | 1990-01-18 | 1997-10-23 | Philips Electronics Nv | Aufzeichnungsvorrichtung zum umkehrbaren Speichern von digitalen Daten auf einem Mehrspuren-Aufzeichnungsträger, Dekodiervorrichtung, Informationswiedergabegerät für die Verwendung mit einem solchen Aufzeichnungsträger und Aufzeichnungsträger für die Verwendung mit einer solchen Aufzeichnungsvorrichtung, mit einer solchen Dekodiervorrichtung und/oder mit einem solchen Informationswiedergabegerät |
US6085348A (en) * | 1990-10-17 | 2000-07-04 | Canon Kabushiki Kaisha | Error correction code encoder and decoder |
US5323402A (en) * | 1991-02-14 | 1994-06-21 | The Mitre Corporation | Programmable systolic BCH decoder |
US5315583A (en) * | 1991-04-11 | 1994-05-24 | Usa Digital Radio | Method and apparatus for digital audio broadcasting and reception |
US5432800A (en) * | 1991-10-29 | 1995-07-11 | Hitachi, Ltd. | Methods and apparatuses for transmission and reception of information signals |
JP2824474B2 (ja) * | 1992-02-17 | 1998-11-11 | 三菱電機株式会社 | 誤り訂正方式及びこの誤り訂正方式を用いた復号器 |
KR0133505B1 (ko) * | 1992-07-16 | 1998-04-22 | 구자홍 | 디지탈 브이씨알의 오류정정 부호화 방법 |
JPH06236632A (ja) * | 1993-02-09 | 1994-08-23 | Matsushita Electric Ind Co Ltd | 光ディスクおよび光ディスク再生装置 |
US5517509A (en) * | 1993-03-31 | 1996-05-14 | Kabushiki Kaisha Toshiba | Decoder for decoding ECC using Euclid's algorithm |
KR0141240B1 (ko) * | 1993-06-28 | 1998-07-15 | 김광호 | 에러정정용 메모리장치 |
KR950010768B1 (ko) * | 1993-10-20 | 1995-09-22 | 주식회사 Lg전자 | 에러 정정 코드 복호 장치 및 그 방법 |
US5483236A (en) * | 1993-12-20 | 1996-01-09 | At&T Corp. | Method and apparatus for a reduced iteration decoder |
JP3255386B2 (ja) * | 1993-12-27 | 2002-02-12 | キヤノン株式会社 | 誤り訂正符号の復号器 |
JP3154607B2 (ja) * | 1993-12-28 | 2001-04-09 | 三菱電機株式会社 | 誤り訂正復号装置及び誤り訂正復号方法 |
US5677919A (en) * | 1994-06-10 | 1997-10-14 | Hughes Electronics | Faster linear block decoding apparatus and method for receivers in digital cellular communication and other systems |
JP3328093B2 (ja) * | 1994-07-12 | 2002-09-24 | 三菱電機株式会社 | エラー訂正装置 |
US5835509A (en) * | 1994-10-24 | 1998-11-10 | Sony Corporation | Method of and apparatus for recording and reproducing data and transmitting data |
US5680156A (en) * | 1994-11-02 | 1997-10-21 | Texas Instruments Incorporated | Memory architecture for reformatting and storing display data in standard TV and HDTV systems |
KR100229015B1 (ko) * | 1996-08-06 | 1999-11-01 | 윤종용 | 디지탈 처리시스템의 에러정정장치 및 방법 |
JP3562544B2 (ja) * | 1996-08-13 | 2004-09-08 | ソニー株式会社 | 復号化装置および復号化方法 |
TW311189B (en) * | 1996-09-30 | 1997-07-21 | United Microelectronics Corp | The error-corrected decoding method and its apparatus for Reed-Soloman code |
NL1006174C2 (nl) * | 1997-04-17 | 1998-12-01 | United Microelectronics Corp | Foutdecoderingswerkwijze alsmede apparaat voor het decoderen. |
US6304992B1 (en) * | 1998-09-24 | 2001-10-16 | Sun Microsystems, Inc. | Technique for correcting single-bit errors in caches with sub-block parity bits |
JP3214478B2 (ja) * | 1998-12-28 | 2001-10-02 | 日本電気株式会社 | 誤り訂正復号装置 |
US7134069B1 (en) * | 1999-06-16 | 2006-11-07 | Madrone Solutions, Inc. | Method and apparatus for error detection and correction |
KR100611954B1 (ko) * | 1999-07-08 | 2006-08-11 | 삼성전자주식회사 | 고밀도 디스크를 위한 에러 정정방법 |
US6625774B1 (en) * | 1999-10-29 | 2003-09-23 | Stmicroelectronics, Inc. | Redundancy system and method for locating errors in interleaved code words |
US6738942B1 (en) * | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
US7159164B1 (en) | 2000-06-05 | 2007-01-02 | Qualcomm Incorporated | Method and apparatus for recovery of particular bits of a frame |
US6631492B2 (en) * | 2001-01-02 | 2003-10-07 | Eastman Kodak Company | Multitrack data recording and read out of recorded multitrack digital data for error correction |
US8656246B2 (en) * | 2001-04-16 | 2014-02-18 | Qualcomm Incorporated | Method and an apparatus for use of codes in multicast transmission |
US20030061558A1 (en) * | 2001-09-25 | 2003-03-27 | Fackenthal Richard E. | Double error correcting code system |
DE10216999A1 (de) * | 2002-04-16 | 2003-11-06 | Thomson Brandt Gmbh | ECC-Block-Enkodierer und -Dekodierer mit reduziertem RAM-Speicherbedarf |
US7100101B1 (en) * | 2002-11-08 | 2006-08-29 | Xilinx, Inc. | Method and apparatus for concatenated and interleaved turbo product code encoding and decoding |
TWI254283B (en) * | 2003-06-03 | 2006-05-01 | Sunplus Technology Co Ltd | Error correction device of block code and method thereof |
JP4056488B2 (ja) * | 2004-03-30 | 2008-03-05 | エルピーダメモリ株式会社 | 半導体装置の試験方法及び製造方法 |
US7328395B1 (en) | 2004-04-13 | 2008-02-05 | Marvell International Ltd. | Iterative Reed-Solomon error-correction decoding |
GB2415873A (en) * | 2004-06-30 | 2006-01-04 | Nokia Corp | Erasure information generation in Forward Error Correction decoding |
US8433979B2 (en) | 2011-02-28 | 2013-04-30 | International Business Machines Corporation | Nested multiple erasure correcting codes for storage arrays |
US9058291B2 (en) | 2011-02-28 | 2015-06-16 | International Business Machines Corporation | Multiple erasure correcting codes for storage arrays |
US8499219B2 (en) * | 2011-12-13 | 2013-07-30 | Broadcom Corporation | Encoding methods and systems for binary product codes |
US8874995B2 (en) * | 2012-02-02 | 2014-10-28 | International Business Machines Corporation | Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays |
US9252815B2 (en) | 2013-12-16 | 2016-02-02 | International Business Machines Corporation | Extension of product codes with applications to tape and parallel channels |
US10417090B2 (en) | 2013-12-23 | 2019-09-17 | Cnex Labs, Inc. | Computing system with data protection mechanism and method of operation thereof |
US10547332B2 (en) * | 2017-02-01 | 2020-01-28 | Tsofun Algorithm Ltd. | Device, system and method of implementing product error correction codes for fast encoding and decoding |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3714629A (en) * | 1971-06-01 | 1973-01-30 | Ibm | Double error correcting method and system |
US4030067A (en) * | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
US4044328A (en) * | 1976-06-22 | 1977-08-23 | Bell & Howell Company | Data coding and error correcting methods and apparatus |
US4107650A (en) * | 1976-08-13 | 1978-08-15 | The Johns Hopkins University | Error correction encoder and decoder |
US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
US4205324A (en) * | 1977-12-23 | 1980-05-27 | International Business Machines Corporation | Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers |
US4236247A (en) * | 1979-01-15 | 1980-11-25 | Organisation Europeene De Recherches Spatiales | Apparatus for correcting multiple errors in data words read from a memory |
CA1161565A (en) * | 1980-06-20 | 1984-01-31 | Yoichiro Sako | Method of error correction |
GB2093238B (en) * | 1981-02-18 | 1985-04-17 | Kokusai Denshin Denwa Co Ltd | Error correcting system for simultaneous errors in a code |
GB2107496B (en) * | 1981-09-30 | 1985-11-20 | Hitachi Ltd | Error flag processor |
JPS58171144A (ja) * | 1982-04-01 | 1983-10-07 | Mitsubishi Electric Corp | 復号化装置 |
JPS58219648A (ja) * | 1982-06-15 | 1983-12-21 | Toshiba Corp | ガロア体における除算装置 |
JPS5943646A (ja) * | 1982-09-03 | 1984-03-10 | Mitsubishi Electric Corp | 復号化システム |
JPH0812612B2 (ja) * | 1983-10-31 | 1996-02-07 | 株式会社日立製作所 | 誤り訂正方法及び装置 |
-
1984
- 1984-12-19 KR KR1019850700179A patent/KR930003997B1/ko not_active IP Right Cessation
- 1984-12-19 AT AT91200210T patent/ATE177570T1/de not_active IP Right Cessation
- 1984-12-19 EP EP90109867A patent/EP0387924B1/en not_active Expired - Lifetime
- 1984-12-19 US US06/767,783 patent/US4719628A/en not_active Expired - Lifetime
- 1984-12-19 AT AT90109867T patent/ATE128585T1/de not_active IP Right Cessation
- 1984-12-19 WO PCT/JP1984/000603 patent/WO1985002958A1/ja active IP Right Grant
- 1984-12-19 DE DE85900195T patent/DE3486200T2/de not_active Expired - Fee Related
- 1984-12-19 EP EP91200210A patent/EP0426657B1/en not_active Expired - Lifetime
- 1984-12-19 DE DE3486408T patent/DE3486408T2/de not_active Expired - Fee Related
- 1984-12-19 EP EP85900195A patent/EP0167627B1/en not_active Expired - Lifetime
- 1984-12-19 DE DE3486471T patent/DE3486471T2/de not_active Expired - Fee Related
- 1984-12-19 BR BR8407228A patent/BR8407228A/pt not_active IP Right Cessation
-
1995
- 1995-07-20 HK HK118795A patent/HK118795A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
AU581202B2 (en) | 1989-02-16 |
DE3486471D1 (de) | 1999-04-15 |
DE3486408T2 (de) | 1996-03-14 |
EP0167627B1 (en) | 1993-08-11 |
DE3486200T2 (de) | 1993-12-02 |
EP0387924A3 (en) | 1991-03-20 |
US4719628A (en) | 1988-01-12 |
EP0387924A2 (en) | 1990-09-19 |
EP0167627A1 (en) | 1986-01-15 |
ATE177570T1 (de) | 1999-03-15 |
KR850700196A (ko) | 1985-10-25 |
DE3486200D1 (de) | 1993-09-16 |
HK118795A (en) | 1995-07-28 |
DE3486408D1 (de) | 1995-11-02 |
BR8407228A (pt) | 1985-11-26 |
EP0167627A4 (en) | 1988-04-27 |
WO1985002958A1 (en) | 1985-07-04 |
ATE128585T1 (de) | 1995-10-15 |
DE3486471T2 (de) | 1999-09-02 |
EP0426657A3 (ko) | 1995-03-15 |
AU3781285A (en) | 1985-07-12 |
EP0426657B1 (en) | 1999-03-10 |
EP0426657A2 (en) | 1991-05-08 |
EP0387924B1 (en) | 1995-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930003997B1 (ko) | 에러 정정부호의 복호방법 및 복호장치 | |
US4099160A (en) | Error location apparatus and methods | |
US5020060A (en) | Error code correction device having a galois arithmetic unit | |
KR930001071B1 (ko) | 에러 정정회로 | |
US5631914A (en) | Error correcting apparatus | |
KR950012983B1 (ko) | 리드솔로몬부호의 복호방법 | |
JP4988731B2 (ja) | フラッシュエラー訂正 | |
EP0129849B1 (en) | Error correction method and system | |
JP3165099B2 (ja) | 誤り訂正方法及びシステム | |
US4473902A (en) | Error correcting code processing system | |
US20010014960A1 (en) | Error-correcting device and decoder enabling fast error correction with reduced circuit scale | |
JPH0653842A (ja) | Rsコードデータ信号を復号化する方法および回路 | |
EP0317197B1 (en) | Error detection and correction method | |
JPH10112659A (ja) | 誤り訂正復号装置 | |
US5541940A (en) | Error correction method and error correction circuit | |
JP2662472B2 (ja) | 誤り訂正処理用シンドローム演算回路 | |
JP3281938B2 (ja) | 誤り訂正装置 | |
AU608690B2 (en) | Method and apparatus for decoding error correction code | |
KR910009094B1 (ko) | 갈로이계 연산장치 | |
JPH0628343B2 (ja) | 積符号の復号方法 | |
JP2009048713A (ja) | デスクランブル回路及びエラー検出コード計算回路 | |
JP2553571B2 (ja) | ガロア体演算装置 | |
JPS638984Y2 (ko) | ||
KR930005439B1 (ko) | 광기록 재생 시스템의 rs엔코딩 회로 | |
KR0175331B1 (ko) | 에러 정정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20040419 Year of fee payment: 12 |
|
EXPY | Expiration of term |