KR890004677B1 - 순회부호의 복호화 방법 및 장치 - Google Patents

순회부호의 복호화 방법 및 장치 Download PDF

Info

Publication number
KR890004677B1
KR890004677B1 KR1019840007045A KR840007045A KR890004677B1 KR 890004677 B1 KR890004677 B1 KR 890004677B1 KR 1019840007045 A KR1019840007045 A KR 1019840007045A KR 840007045 A KR840007045 A KR 840007045A KR 890004677 B1 KR890004677 B1 KR 890004677B1
Authority
KR
South Korea
Prior art keywords
code
feedback
input
polynomial
shift register
Prior art date
Application number
KR1019840007045A
Other languages
English (en)
Other versions
KR850003648A (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
Priority claimed from JP58210855A external-priority patent/JPS60105055A/ja
Priority claimed from JP59104541A external-priority patent/JPS60249432A/ja
Application filed by 가부시기가이샤 히다찌세이사꾸쇼, 미쓰다 가쓰시게 filed Critical 가부시기가이샤 히다찌세이사꾸쇼
Publication of KR850003648A publication Critical patent/KR850003648A/ko
Application granted granted Critical
Publication of KR890004677B1 publication Critical patent/KR890004677B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • 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/17Burst error correction, e.g. error trapping, Fire codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

내용 없음.

Description

순회부호의 복호화 방법 및 장치
제1도는 본 발명에 사용되는 순회부호(巡廻符號)의 복호화 회로도.
제2도는 본 발명에 따른 실시의 제어 회로도.
제3도와 제4도는 제2도 회로의 타이밍(timing)도표.
제5도는 계산값을 나타낸 것.
제6도는 제2도 회로의 타이밍 도표.
제7도는 파이어(Fire) 부호의 부호화 회로도.
제8도는 파이어 부호의 복호화 회로도.
제9도는 파이어 부호의 구성을 나타낸 것.
제10도는 제어회로도.
제11도와 제12도는 타이밍 도표.
제13도는 계산값을 나타낸 것.
제14도는 타이밍 도표.
제15도는 계산값을 나타낸 것이다.
본 발명은 순회 부호의 복호화 방법 및 장치에 관한 것이다.
순회 부호는 데이타(date) 전송선에서 발생하는 버스트(burst) 오차(버스트 길이는 b이다)를 정정하기 위한 부호들중의 하나이다.
순회 부호의 생성(生成) 다항식은 다음과 같이 표현된다.
Figure kpo00001
여기서 Pi(x)는 mi차(次) 기약(旣約) 다항식이다. 기약 다항식은 이를 1이상 mi-1이하 차수를 갖는 어떤 다항식으로 나누었을 때 나머지가 생기는 다항식이다. m은 다음과 같이 정의 한다.
Figure kpo00002
데이타의 버트수가 S이고, n-m-c≥s(n은 순회 부호의 부호길이이다)이고, c≥2b+d-1일때 b≤m인 어떠한 버스트 오차도 정정할 수 있다.
("Burst-Correcting Codes with High Speed Decoding" 저자 Robert T. Chien, IEEE Trans. on information Theory, Vol.IT-15, No. 1, January 1969 참고)
순회 부호의 부호길이 n은 Pi(X)의 주기 ei와 C의 최소 공배수, 즉, LCM(c, e1, e2, …e1)이다.
Pi(X)의 주기 e1는 (1+xα)의 형태이면서 나머지없이 P(X)로 나누어 떨어지는 다항식들 중에서 최소 차수 다항식인(1+xa)의 차수이다.
우선 순회 부호의 부호화 방법에 대해서 설명한다.
① 순회 부호의 부호화 방법
전송할 데이타 D(x)는 다음과 같이 표현된다.
D(x)=aS-1·xS-1+aS-2·xS-2+…+a0..........................(2)
순회 부호는 나머지 없이 생성 다항식 G(x)로 나누어 떨어지도록 다음과 같은 곱의 꼴 D(x)·xm+c로 표현하므로써 부호화된다. 다항식 D(x)는 전송선으로 보내질 비스(bis) 데이타(aS-1, aS-2, …. a0)를 나타낸다. D(x)·xm+c를 G(x)로 나눌때 생기는 나머지는 검사 패턴(pattern) R(x)=Rm+c1·xm+c-1+Rm+c-2·xm+-2+…+R0(검사 패턴 R(x)의 비트 길이는 m+c이다. 그러므로, D(x)·xm+c=G(x)·Q(x)+R(x)이며, 여기서 Q(x)는 몫이다.
순회 부호의 부호 단어 F(x)는 다음과 같이 표현된다.
F(x)=D(x)·xm+c+R(x).........................(3)
F(x)는 나머지없이 G(x)로 나뉘어지므로 순회 부호의 부호화가 되었다.
D(x)·xm+c를 G(x)로 나누어 나머지가 R(x)가 되게 하는 분할기는 일반적인 것이다.
② 순회 부호의 복호화 방법
수신국에서 부호단어 F*(x)를 수신한다. F*(x)를 생성 다항식으로 나눈다.
F*(x)에 오차가 포함되어 있지 않으면 나머지 없이 나뉘어져야 한다. (송신된 부호단어 F(x)는 나머지없이 F(x)로 나뉘어진다). 그러나 F*(x)가 (j+1)번째 비트(bit)에서 시작되는 버스트 오차 B(x)를 포함하고 있다면, F*(x)는 G(x)로 나뉘어 지지 않는다. 이러한 조건에서 F*(x)는 다음과 같이 표현된다.
F*(x)=F(x)+xj·B(x).....................(4)
생성 다항식 G(x)는 다항식 (xc+1)과 기약 다항식 Pi(x)로 구성된다. F*(x)를 이러한 다항식들로 나누었을 때의 나머지의 각각 신드롬(syndrome) RC(x)와 RPi(x)가 된다. 이러한 신드롬들을 xn-j로 곱하여, 그 곱들을 각각 (xc+1)과 Pi(x)로 나눈다. 이때 나머지가 같으면, (j+1)은 오차의 위치를 나타내고, xn-j·RPi(x)는 버스트 오차 B(x)를 나타낸다. 따라서 다음의 식들이 만족된다.
Figure kpo00003
양번에 xn-j를 곱하여 위의 식을 다시 쓰면 다음과 같다.
Figure kpo00004
여기에서, xj·B(x)≡Rc(x) (모듈 P(x))는 P(x)로 나누었을때 나머지가 같음을 나타낸다. 앞으로, 순회부호의 생성 다항식을 다음과 같이 가정한다.
G(x)≡(x22+1)·(x12+x11+x10+…+x+1)·(x11+x7+x6+x+1)·(x11+x9+x7+x6+x5+x+1)....................(7)
P1(x)=x12+x11+x10+…+x+1
P2(x)=x11+x7+x6+x+1
P3(x)=x11+x9+x7+x6+x5+x+1
다항식(7)에서 (x12+x11+x10+…+x+1)이 (x13+1)을 나누므로, P1(x)의 주기는 13이다.
다항식 (x11+x7+x6+x+1)과 (x11+x9+x7+x6+x5+x+1)의 주기는 각각 89와 23이다.
("Code Theory" 저자 H. Miyagawa, Y.Iwadare, H.Imai, 편집인 Shokodo, 페이지 530참고).
따라서, 부호길이 n은 LCM(22, 13, 89, 28)=585442이다. 여기서 은 최소 공배수를 나타낸다.
그러므로 11비트까지의 단일 버스트 오차가 정정된다.
제1도는 복호기이다. 여기서 FSRC는 신호선 160을 통하여 들어온 입력부호 F*(x)를 (xc+1)로 나누어 주는 분할기이다. FSRP1, FSRP2, RSRP3는 입력부호 F*(x)를 다항식 P1(x), P2(x), P3(x)로 각각 나누어 주는 분할기이다.
이에 관해서는 본 발명의 실시에서 설명될 것이다.
일치(一致)회로 323은 FSRC의 낮은 차수의 11개 비트와 FSRP1,의 낮은 차수의 11개 비트가 서로 각각 일치하는가를 검사한다. 일치회로 324는 FSRP1,의 낮은 차수의 11개 비트와 FSRP2의 낮은 차수의 11개 비트가 서로 각각 일치하는가를 검사하며, 일치 회로 325는 FSRP2의 비트들과 FSRP3의 비트들이 서로 각각 일치하는가를 검사한다.
영점 검출기 326은 FSRC의 높은 차수의 11개 비트 전부와 FSRP1의 높은 차수의 1비트가 0인가를 검사한다.
FSRC의 낮은 차수의 11개 비트와 FSRP1의 낮은 차수의 11개 비트, 그리고 FSRP2의 비트들과 FSRP3의 비트들이 비트별로 서로 각각 일치하며, FSRC의 높은 차수의 11개의 비틀들과 FSRP1의 높은 차수의 1비트가 0이면 AND게이트(gate) 170의 출력에 연결된 신호선 171이 높은 레벨(level)이 된다.
입력 부호 F*(x)가 FSRC, FSRP1FSRP2와 FSRP3에 입력될때에는 입력 부호가 각자리 이동 레지스터(m'=min(m1,m2,m3))의 m'번째 단에 들어가게 되므로 신도롬 Sc(x), Sp1(x), Sp2(x)와 Sp3(x)는 다음과 같은 조건을 만족 시킨다.
xj+m'·B(x) Sc(x) (모듈 xc+1)
xj+m'·B(x) Sp1(x) (모듈 P1(x))..................(8)
xj+m'·B(x) Sp2(x) (모듈 P2(x))
xj+m'·B(x) Sp3(x) (모듈 P3(x))
식(8)의 양변에 xn-j-m'를 곱하면 좌변은 B(x)가 된다. 이것은 FSRC, FSRP1, FSRP2와 FSRP3의 모든 낮은 차수 m' 비트가 일치하며, m'보다 높은 차수의 모든 비트는 0임을 뜻한다. B(x)는 오차 패턴을 나타내고 j는 오차의 위치를 나타낸다.
종래의 복호화 방식에서는, j를 찾기위해 최대(n-m')번의 자리 이동이 필요하다.
순회 코드가 실제로 사용될때에는, 입력 부호 F*(x)의 차수가 아무리 낮더라도 최대(n-m')번의 자리 이동이 필요하다.
실시예를 들면, 디스크의 데이타에서, 한 섹테(sector)는 128바이트(1024비트)거나 256바이트(2047비트)이다. 반면에 공식(7)로 표시되는 생성 다항식 G(x)를 사용하는 파이어 부호에서는 n의 값이 거의 200-500배나 되는 585442이다. 이런 경우에서 조차도 최대 580,000번의 자리 이동이 필요하다.
자리 이동 횟수를 줄이기 위해서는 "Chinese Remainder Theorem" (앞에서 나온 "Burst-Correcting Codes With High Speed Decoding" 참고)을 사용하도록 제안되어 왔다. 그러나 이 방법은 젯수 n을 갖는 정수 분할기가 필요하게 되므로, 하드웨어(hardware)가 복잡해진다.
짧은 부호 길이를 갖는 입력 부호에 대해서 자리 이동 횟수를 줄이고 하드웨어의 증가를 맞는 순회 코드의 복호화 방법 및 장치를 제공하는 것이 본 발명의 목적이다.
본 발명을 기술함에 있어서, 입력 보호 F*(x)를 다음과 같이 가정한다.
F*(x)=s+m+c-1·xs+m+c1+bx+m+m+c-2·xs+m+c-2+…+b0...........(9)
여기에서S는 입력 부호의 데이타 영역 길이이고, n x+m+c과 bs+m+c-1-b0는 입력 데이타 비트이다.
순회 부호 F(x)의 부호 길이는 n이다. 그에 따라, 공식 (9)에서 xn-1에서 xs+m+c항까지의 계수는 0이 된다.
입력부호 F*(x)에서 버스트 오차를 검출하려면, 공식(8)에 의해 적어도 (n-s-m-c)번의 자리 이동이 필요하다. n>>s+m+c이므로, 자리 이동 횟수는 상당히 많게 된다. 바꾸어 말하면, 그 만큼의 자리 이동이 없으면 오차의 위치 j를 검출할 수 없다는 뜻이다.
여기에서 상당한 자리 이동의 횟수가 생략될 수 있다면, 본 발명의 목적은 이루어진다.
본 발명에서는 다음과 같은 사항들이 언급되었다.
① 기약 다항식 Pi(x)는 주기 ei을 갖는다. 이는 다항식 Rpi(x)의 곱이 Pi(x)보다 낮은 차수를 갖고 xei이 P1(x)로 나누어지면, 나머지가 다항식 Rpi(x)와 같음을 의미한다. 제1도에서 실시예를 들면, 입력신호 160이 모두 0이라면 분할기 FSRP1의 내용은 ei번의 자리 이동을 한 후 원래의 값으로 돌아간다.
② 순회 코드의 부호단어 F(x)가 ei비트의 블럭(block)으로 나누어졌을 때에는 (여기에서 i는 임의의 수이다), 입력부호 단어 F*(x)가 후반부 블럭에 나타난다.
③ 다항식 (xc+1)도 c의 주기를 갖는다.
실시예를 들면, 입력 신호 160이 모두 0일때, 제1도의 분할기 FSRC의 내용은 c번의 자리 이동을 한 후에 원래의 값으로 되돌아 간다.
④ 다항식 Pi(x)와 다항식(xc+1)은 서로 다른 주기를 갖는다. 다항식 Rp1(x), …, Rp1(x), Rc(x)에 xei'가 곱해지고 그 곱이 P1(x), …, P1(x), (xc+1)로 각각 나누어지면, "
Figure kpo00005
"일때,"
Figure kpo00006
"일때,"
Figure kpo00007
"다항식 (xc+1)에 대해서,여기에서 βi는 ei'≥βiei'을 만족하는 최대의 정수이며, βc는 eicC는 를 만족하는 최대 정수이다.
βi와 βc는 계산으로 얻을 수 있다.
그러면, (ei'-βiei)와 (ei'-βcC)가 얻어지고, xei'-βiei·Rpi(x)는 로 는 로 나누어진다. 이것은 와 에 각각 을 곱하고, 각각 와 을 곱해서 얻어진 곱들로 나누것과 동등하게 된다.
⑤입력부호 F*(x)의 차수(s+m+c)는 부호 길이 보다 훨씬작다.
종래의 복호화 방식에서는 적어도 (n-s-m-c)번의 나눗셈이 이루어져야 오차의 위치를 검출할 수 있다. 주기 ei와 c는 이 주기동안 각각 ti번과 tc번씩 (i=1-l)순회된다. ti과 tc는 계산으로 얻을 수 있다.
반면에,
Figure kpo00008
일때,
Figure kpo00009
일때, 다항식 (xc+1)일때, 주기 (ei)와 c는 (ei'·t1')의 순회동안, 각각 ki번지 ke번씩 순회된다. ei'·ki와 의 차는 pi이고, ei'·ti'의 c.kc차는 Pc이다. i=i일때 Pi는 0으로 간주된다. Pi와 Pc는 계산으로 얻을 수 있다. 따라서 Pi와 Pc가 계산되며, Rpi(x)에 xpi곱해지고 Rc(x)에 xpc가 곱해져서, 그 곱이 각각 Pi(x)와 (xc+1)로 나누어지는데 이것은 Rpi(x)와 Rc.(x)에 각각 xei'.t1'를 곱해서 그곱들을 각각 Pi(x)와 (xc+1)로 나눈것과 동등하게 된다.
⑥그것들은 차례로 x를 곱하고 그 곱들을 각각 Pi(x)와 (xc+1)로 나눈것이다. 오차의 위치는 양변을 나눈 나머지가 같을때 x를 곱한 수 ij에 의해 검출된다.
위의 연산은 공식으로 나타낼 수 있다.
먼저 신드롬 Rpi(x)와 Rc(x)가 결정된다.
Rpi(x)≡F*(x) (모듈P1(x))
Figure kpo00010
Rpi(x)≡F*(x) (모듈P1(x))
RC(x)≡F*(x) (모듈xc+1)
그다음, Rpi(x)와 Rc(x)에 각각 xpi와 xpc가 곱해지고 그 곱들이 각각 P1(x)와 (xc+1)로 나누어진다.
i=i'이고, P1=O일때, xP1·RP1≡xe1'. j 1'·RP1(x) (모듈 P1(x))
Figure kpo00011
xP1·RP1≡xe1'.t1'·RP1(x) (모듈 P1(x))
xPc·Rc≡xe1'. j t1'·Rc(x) (모듈 xc+1) 마지막으로 거기에 xj가 각각 곱해진다.
BP1(x)≡xj+p1·RP1(x)≡xj+p1· F*(x) (모듈 P1(x))
Figure kpo00012
BP1(x)≡xj+p1·RP1(x)≡xj+p1· F*(x) (모듈 P1(x))
Bc(x)≡xj+pc·Rc(x)≡xj+pc· F*(x) (모 xc+1)
Bp1(x)∼Bp1(x)와 Bc(x)가 모두 같을때에는 j는 오차의 위치를 나타낸다.
이때 Bp1(x)는 버스트 오차B(x)의 패턴을 나타낸다.
위에서 서술한 바와같이, 공식(7)의 생성 다항식G(x)를 사용한 순회 부호에서는 부호 길이 n이 585442가 되고, 오차를 검출하기 위해 약 58만번의 자리 이동이 필요하다. 반면에 디스크 데이타의 비트수는 1024나 2048비트이다. 데이타 비트의 수 s가 부호 길이 n보다 훨씬 작을때에 공식(9)로 표시되는 입력부호 F*(x)의 차수 (s+m+c)는 n보다 훨씬 작고 순회 부호의 부호 단어F(x)에서 xn-1에서 xs+m에 이르는 모든 항들은 0이된다.
본 발명에 있어서, 입력 부호 F*(x)의 차수가 순회 부호의 부호길이 보다 작을경우, 초기 입력부호 단어 F*(x)가 없는 순회 부호의 부호단어 F(x)의 대부분에 대해, 윗 부분의 자리 이동이 되어 있으면 분할기의 자리이동 결과는 계산으로 얻어진 작은 선자리 이동 횟수로 세트된다. 그러고나면, 입력 부호F*(x)를 포함하는 위치에 대해, 오차의 위치는 순회부호 시스템에서 결정된다.
기약 다항식Pi(x)와 다항식 (xc+1)은 각기 다른 주기를 갖고, 입력 부호가 들어 왔을때 분할기에서 세트된 다항식의 신드롬은 입력 부호가 모두 0인 경우, 다항식들의 주기와 일치하는 수만큼의 자리 이동을 거친 후 그들 본래의 내용으로 되돌아간다. 그에 따라 순회 부호의 부호 단어F(x) 는 다항식Pn(x)의 주기 en과 같은 비트수의 블럭으로 나누어지고, 순회부호의 부호단어F(x)의 시작에서 부터 입력부호 F*(x)의 최고차 부호를 포함하기 직전까지의 블럭에 대해서는(이 이후에서 입력부호 F*(x)를 전혀 포함하지 않는 블럭이라고 한다). 다항식 Pn(x)의 분할기 내용은 주기의 정수배 만큼 자리 이동을 하였으므로 변함이 없게 된다. 다른 분할기에 대해서는 입력 부호 단어 F*(x)를 포함하지 않는 블럭에 포함된 다항식의 주기의 정수 배만큼 자리 이동이 이루어졌을 경우, 분할기의 내용은 각각 원래의 값으로 되돌아 간다. 따라서, 블럭에 남아 있는 부호 비트의 수만큼 분할기를 자리 이동시키면 윗 부분에 대한 자리 이동의 결과가 얻어진다. 이러한 방식으로, 입력 부호 단어 F*(x)를 포함하지 않는 블럭에 대한 분할기의 자리 이동 결과는 계산으로 얻어진 작은 횟수의 선자리 이동으로 알수 있게 된다. 그에 따라, 본 발명에 맞추어, 입력 부호 단어 F*(x)의 차수가 순회 부호의 부호 길이 n보다 낮은 경우, 복호화 시간을 단축함으로써 자리 이동 횟수를 줄일 수 있다. 입력 부호 단어 F*(x)를 포함하는 순회 부호의 부호 단어 부분은 고속의 복호화 방식에서 필요한 복잡한 하드웨어 없이도 순회 부호 시스템 만으로 복호화할 수 있다. 따라서, 본 발명에 따르면, 복잡한 하드웨어 없이도 고속의 복호화를 할 수 있다. 선자리 이동을 제어하는 데에 있어서는 하드웨어를 조그만 부가하면 실현할 수 있다.
도면을 참고하여 본 발명의 실시를 설명하고자 한다. 공식(7)로 표시되는 생성 다항식 G(x)를 사용하는 순회 부호를 가정한다. 앞서 설명했듯이 다항식 (x22+1), (x12+x11+x10+…+x+1)들의 주기는 각각 22, 13, 89 그리고 23이 된다. 그에 따라 부호 길이 n은 다음과 같이 주어진다.
n=LCM(22, 13, 89, 23)=22×13×89×23=585442 검사 패턴 R(x)의 길이는 32비트이다. 11비트까지의 버스트 오차는 정정할 수 있다.
제1도와 제2도는 공식(7)로 표시되는 순회 부호에 대한 복호기와 그에 따른 제어 회로이다. 101-122단과 익스클루시브 OR게이트(exclusive OR Gate)301은 젯수로 다항식(x22+1)을 갖는 분할기 FSRC를 구성한다.
123-134단과 익스클루시브 OR게이트 302-303은 젯수로 다항식(x12+x11+x10+…+x+1)을 갖는 분할기 FSRP1을 구성한다. 135-145단과 익스클루시브 OR게이트 314-316은 젯수로 다항식(x11+x7+x6+x+1)을 갖는 분할기 FSRP2를 구성한다. 146-156단과 익스클루시브 OR게이트 137-322는 젯수로 다항식(x11+x9+x7+x6+x5+x+1)을 갖는 분할기 FSPR3을 구성한다.
일치회로 323은 FSRC의 낮은 차수 11개 비트와 FSRP1의 낮은 차수 11개 비트가 일치하는지를 검사하게 되는데, 바로 101과 123, 102와 124, 103과 125, 104와 126, 105와 127, 106과 128, 107과 129, 108과 130, 109와 131, 110과 132, 그리고 111과 133단을 검사한다. 일치회로 324는 FSRP1의 낮은 차수 11개 비트와 FSRP2의 낮은 차수 11개 비트가 일치하는지를 검사하게 되는데, 바로 123, 135, 124와 136, 125와 137, 126과 138, 127과 139, 128과 140, 129와 141, 130과 142, 131과 143, 132와 144, 그리고 133과 145단을 검사하게 된다. 일치회로 325는 FSRP2단과 FSRP3단이 일치하는지를 검사하게 되는데 바로 135와 146, 136과 147, 137과 148, 138과 149, 139와 150, 140과 151, 141과 152, 142와 153, 143과 154, 144와 155, 그리고 145와 156단을 검사하게 된다. 영점 검출기 326은 112-122의 모든 단과 134가 0인치를 검사한다. AND게이트(AND gate)170은 일치회로 323-325의 모든 출력과 영점 검출기 326의 높은 레벨일때, 신호선 171에 높은 레벨의 출력을 보낸다. 즉, FSRC의 낮은 차수의 11개 비트와 FSRP1의 낮은 차수 11개 비트, FSRP2의 비트, 그리고 FSRP3의 비트가 모두 일치할때 신호선 171은 높은 레벨이되고, FSRC의 높은 차수의 11비트와 FSRP1의 높은 차수의 한 비트는 0이된다.
신호선 161이 높은 레벨일때, FSRC에 의해 자리 이동이 되고, 신호선 162, 163이나 164가 높은 레벨일때 FSRP1, FSRP2나 FSRP3에 의해 자리 이동이 이루어 진다.
다음은 복호화 과정을 설명하기로 한다. 복호화 과정은 다음의 세 단계를 거침으로써 이루어진다.
(S1)신드롬 SC(X)SP1(X), SP2(X)와 SP X(X)의 생성.
(S2)FSRC, FSRP1, FSRP2와 FSRP3의 선자리 이동.
(S3)오차 패턴 B(x)의 결정과 오차 위치의 결정.
제2도에 있는 회로는 위의 세 단계를 제어하게 되고, 제3도, 제4도, 제5도는 (S1), (S2)와 (S3)단계의 수행 과정을 나타내는 타이밍 도표(timing chart)이다. (S1), (S2)와 (S3)의 수행 과정을 설명 하기로 한다.
먼저(S1)단계에서 신드롬의 생성을 설명한다. 제1도에서, 입력 데이타 160은 익스클루시브 OR게이트301, 313, 316과 322를 통하여 각각 FSRC, FSRP1, FSRP2와 FSRP3에 전해진다. 데이타의 입력이 끝날때쯤의 FSRC, FSRP1, FSRP2와 FSRP3의 일련의 내용이 순회 부호의 신드롬이 된다.
자리이동 유효화 신호 161-164는 제2도의 회로에서 만들어지고 그에 따른 타이밍은 제3도의 타이밍 도표에 나와있다. 제2도와 제3도를 참고하면, 신호의 수신을 제어하는 전송 제어부 223을 통해 나온 신호선 200은 입력 데이타 160(F*(x)의 첫번째 비트의 데이타가 복호기에 공급되게한 클럭(clock) 전시간인 T1에서 클럭 ψ2와 동기되어 높은 레벨로 된다.
신호선 200은 플립플롭 200의 Q출력을 낮은 레벨로 만들고, 클럭 입력 ψ2를 받는 클럭 OR게이트 203과 게이트 405-408을 통해
Figure kpo00013
출력이 신호선 161-164에 보내진다. 그에따라 신호선 161-164는 입력 데이타 160의 첫번째 비트 데이타와 동기되어 높은 레벨이 된다. 신호선 201은 입력 데이타가 끝났음을 나타낸다. 입력 데이타의 마지막 비트 데이타와 동기된 신간 T2에서 높은 레벨이 된다. 신호선 201은 플립플롭 202의
Figure kpo00014
출력을 높은 레벨로 만들고 신호선 161-164를 클럭된 게이트 203과 OR게이트 405-408을 통해 낮은 레벨로 만든다. 제3도에 보인 것처럼, 신드롬 SC(X), SP1(X), SP2(X)와 SP3(X)가 발생되었을때, 신호선 161-164는 데이타의 입력 주기동안만 높은 레벨이 된다. 입력 데이타의 마지막 비트의 입력이 끝날때쯤의 분할기 FSRC, FSRP1, FSRP2와 FSRP3와 의 일련의 내용이 바로 신드롬이다.
제2도, 제3도, 제4도와 제6도에서 ψ1과 ψ2는 겹치지 않는 2-위상 클럭을 나타낸다. 다음은 (S2)단계의 선자리 이동을 설명하기로 한다. 이 단계에서는 FSRC, FSRP1, FSRP2와 FSRP3에서 각각 μC, μ1, μ2,와 μ3에 의해 자리 이동이 실행된다. 선자리 이동은 디스크 데이타처럼, 입력부호 F*(x)의 길이가 짧을때 자리 이동 횟수를 상당히 줄여주는 역할을 한다.
제2도에서, 분할기의 자리 이동을 제어하는 자리 이동 제어기 224로 부터 나온 선자리 이동 선택신호 409-412는 AND게이트 401-404에 전해진다. 선자리 이동 선책 신호 409-412가 높은 레벨일때, 클럭된 게이트 208의 출력은 각기 OR게이트 405-408을 통하여 신호선 161-164에 저송된다.
FSRC를 μC번 선자리 이동하는 과정을 먼저 설명한다. 선자리 이동 선택 신호 409는 높은 레벨이고, 선자리 이동 선택 신호 410-412는 낮은 레벨이다. 선자리 이동 시작 신호 206은 Ta시간 (제4도)에서 플립플롭 207의
Figure kpo00015
출력을 낮은 레벨로 만들고, 클럭 입력 ψ2를 받는 클럭된 게이트 208과 AND게이트 401-404, 그리고 OR게이트 209에 전송된다. 따라서 신호선 161과 210은 높은 레벨이 된다. 신호선 161의 높은 레벨은 FSRC를 자리 이동하게 하고, 신호선 210의 높은 레벨은 계수기 213을 증가시킨다. 선자리 이동시작 신호 206은 NOR게이트 (NOR gate)211과 클럭 입력 ψ1을 받는 클럭된 게이트 212를 통해 계수기 213의 클리어(clear)단자에 공급된다. 그 결과, 계수기 213에서 나온 출력 214는 선자리 이동 시작 신호 206에 따른 클럭과 동기되어 "0"으로 세트된다. 기록 길이 RL과 계산된 선자리 이동 수 μ1는 선자리 이동 계수기 검출기 215에 공급되는데 거기에서 신호선 216이 높은 레벨로 되고, 클럭된 게이트 208의 출력이 높은 레벨이고, 계수기 213의 출력 214가 (μC-1)(시간 Tb에서)일때 플립플롭 207은 리세트된다. 제4도에서처럼, 신호선 161은 μC클럭 동안만 높은 레벨이 되어 FSRC에서 μC번 자리 이동이 이루어진다. FSRP1, FSRP2와 FSRP3의 선자리 이동은 FSRC의 선자리 이동과 같은 방식으로 이루어진다. 선자리 이동 선택신호 409-412중 410, 411이나 412신호만이 높은 레벨로 되고, 선자리 이동 계수 검출기 215가 (μ1-1), (μ2-1)이나 (μ3-1)을 검출했을때 신호선 216은 높은 레벨로 되어 플립플롭 207은 리세트된다. 선자리 이동 계수가 0일때에는 선자리 이동을 할 필요가 없다.
선자리 이동 회수μC, μ1, μ2,와 μ3를 설명하기로 한다. 공식(7)에서, 다항식(x22+1), (x12+x11+x10+…+x+1), (x11+x7+x6+x+1)과 (x11+x9+x7+x6+x5+x+1)의 주기는 앞에서 설명한 것처럼 22, 13, 89와 23이된다. 그에 따라 FSRC, FSPR1, FSRP2와 FSRP3의 패턴은 각각 22, 13, 89와 23번 자리 이동을 한 후에 원래의 값으로 되돌아 간다. 따라서, 89의 배수만큼 자리 이동이 생략된다면, FSRP2는 선자리 이동을 할 필요가 없고, FSRC, FSRP1와 FSRP3에 대해서는 생략된 자리 이동 횟수와 일치하도록 최고 21, 12, 22번의 선자리 이동이 필요하다. 선자리 이동 회수 μC와 μ1그리고 μ3와 μ2는 0이 된다.
FSRP2에서 선자리 이동이 없다는 조건하에 μC,μ1그리고 μ3는 수식화할 수 있는데, 즉, μ2=0이고 56비트의 순회 부호 검사 패턴R(x)를 포함하는 (RLx8+56)비트의 데이타가 디스크에 기록된다. 여기에서 RL은 디스크 데이타의 기록 바이트수를 나타낸다. 따라서 입력 부호 단어 F*(x)의 길이 s는 RLx8+56이고 최대585442-(RL×8+56) 번의 자리 이동이 생략된다.
585442-
Figure kpo00016
× 89
Figure kpo00017
의 선행 비트가 모드 0이면 FSRC, FSRP1과 FSRP3에서의 선자리 이동 횟수 μC, μ1과 μ3은 다음과 같이 표시된다.
μC=585442-[
Figure kpo00018
]x89(모듈 22)
μ1=585442-[
Figure kpo00019
]x89(모듈 13)
μ3=585442-[
Figure kpo00020
]x89(모듈 23)
제5도는 RL, μC, μ1과 μ3를 계산하는 실시예인데, a 는 a 의 반올림 값이다.
공식(1)과 같은 생성 다항식을 갖는 순회 부호에 대해, FSRP1 '에서 자리 이동이 없을때의 선자리 이동 횟수는 다음과 같이 표시된다.
μC=n-[
Figure kpo00021
] x e1' (도듈 c)
μ1=n-[
Figure kpo00022
] x e' (도듈 e1)
이제 마지막 단계(S3)을 설명하기로 한다. 이 단계는 오차 패턴 B(X)와 오차의 위치을 j를 결정한다. 제2도에서, 오차 검출 시작 신호 217은 시간 t1(제6도)에서 플립플롭 218의
Figure kpo00023
출력을 낮은 레벨로 만들고, 신호선 161-164를 클럭 입력가 수신된 클럭된 게이트 219와 OR게이트 405-408과 209를 통해 높은 레벨로 만든다. 동시에 오차 검출 시작 신호 217은 NOR게이트 211과 클럭된 게이트 212를 통하여 계수가 213을 클리어시킨다.
제6도에서 보인 것처럼, 신호선 161-164는 클럭 ψ2에서 FSRC, FSRP1, FSRP2와 FSRP3에서의 자리 이동을 시작하는 오차 검출 시작 신호 217에 따라 높은 레벨이 된다. 계수기 213의 출력 214는 "0"에서 그 값이 증가된다.
FSRC, FSRP1, FSRP2와 FSRP3에서 자리 이동이 이루어 지려면 다음과 같은 조건을 만족해댜 한다.
(C1)FSRC의 낮은 차수 11비트. FSRP1의 낮은차수 11개 비트, FSRP2의 비트와 FSRP3의 비트는 일치해야 하고, FSRC의 높은 차수 11개 비트와 FSRP1의 높은 차수 한 비트는 모두 0이어야 한다.
(C2)자리 이동 회수가 예정된 수 Q보다 크다.
조건(C1)이 만족될때 제1도의 신호선 171은 유효화 되고, 오차 패턴은 FSRC의 낮은 차수 11개 비트로 표현되며 선행 위치로 부터 585442-[
Figure kpo00024
]×89자리 이동 회수 i에 오차가 있게 된다. 클럭된 게이트 출력 219와 계수기 출력 214에 의해 제2도의 초과 자리 이동 검출기 220으로 조건 (C2)가 검출된다. 숫자 Q는 PL×8+56보다 클수도 있다. 조건 (C2)는 정정할 수 없는 오차의 발생을 나타낸다.
조건(C1)과 (C2)가 검출되었을때, 제2도의 신호선 222는 OR게이트 221을 통해 높은 레벨로 되고 플립플롭 218은 시간 t2(제6도)에서 리세트된다. 제6도에서 보인것처럼, 오차 검출 시작 신호 217은 높은 레벨이되고, 신호선 161-164는 다음 클럭 ψ2에서 높은 레벨이 되며, 계수기 출력 214는 "0"에서 증가된다. 그 이후 조건(c1)과 (c2)가 검출되면, 신호선 222는 높은 레벨이 되고, 신호선 161-164는 무시된다. 계수기의 증가도 중지된다.
위에서 설명한 단계(S1), (S2)와 (S3)이 본 발명에서 순회 부호의 복호화 방법이 된다.
순회 부호가 공식(7)로 표현되는 생성 다항식을 사용하고 기록 길이 RL이 1024바이트라고 가정하면, 종래의 방법은 최대(585442-11)번의 자리 이동을 해야하는 반면, 본 방법은 단지 8277+17+4+3=8301번만 자리 이동을 하면된다. 한 자리 이동의 순회가 100ns(10MHz)이면, 종래의 방법은 약 59.5초가 소요되는 반면, 본 방법은 0.8초가 소요된다. 실제로 사용할때의 잇점은 매우 많다.
Chienese Remainder theorem에 근거를 둔 고속 복호화 방법을 사용했을때에는 정수의 곱셈과 나눗셈에서 log2585442 =20진(digit)이 필요하기 때문에 16비트의 마이크로 컴퓨터 조차도 부적합하다. 본 발명은 그러한 곱셈이나 나눗셈이 필요없다.
순회 부호의 생성 다항식에서 기약 다항식의 수가 하나인 본 발명의 두번째 실시를 설명하고자 한다.
첫번째 부호는 데이타 전송선에서 발생한(길이 b를 갖는)버스트 오차를 정정하는 부호중이 하나이다. (앞에서 언급된 "Code Theory"309page참고)파이어 부호의 생성 다항식은 다음과 같이 표현된다.
G(x)=P(x)(XC+1).............(11)
여기서 P(x)는 기약 다항식이다. 차수 m의 기약 다항식은 나머지 없이한 차수나 m-1차의 다항식으로 나누어질수 없는 식으로 정의된다.
데이타의 비트수(부호 길이)가 s이고, n-m-c s(여기에서 n은 파이어 부호의 부호 길이이다)이며, c
Figure kpo00025
2b-1일때,
Figure kpo00026
〈m을 만족ㅎ는 모든 버스트 오차는 정정할 수 있다.
파이어 부호의 부호 길이 n은 P(x)의 주기 e와 c의 공배수이어야 한다. P(x)의 주기 e는 (1+x )의 형태를 갖고 나머지 없이 P(x)로 나누어 지는 다항식 중에서 최소 차수의 다항식(1+1e)의 차수가 된다. 먼저 파이어 부호의 복호화 방법을 설명한다.
(1)파이어 부호의 복호화 방법 전송될 데이타D(x)는 다음과 같이 표현된다.
D(x)=aS-1.x12 1+aS-2.xS-2+.......+a0.................(12)
파이어 부호는 곱 D(x).Xm+n로 복호화되어 나머지 없이 생성 다항식 G(x)로 나눌수 있다.
다항식 D(x)는 전송선에 보내진 비트 데이타(as-1, as- 2,…, a0)를 나타낸다.
D(x).Xm+c를 G(x)로 나누었을때의 나머지는 검사 패턴 R(x)=Rm+c-1·Xm+c-1+Rc+c-2·Xm+c-2+…+R0로 표현된다.
(검사패턴의 비트 길이는 m+c이다). 그러므로, D(x).Xm+c=G(x).Q(x)+R(x)여기에서 Q(x)는 몫이다.
파이어 부호의 부호 단어는 다음과 같이 표현된다. F(x)=D(x).xm+c+R(x)........(13) F(x)는 나머지 없이 G(x)로 나눌 수 있고 파이어 부호의 복호화는 종료된다.
제7도는 사용된 생성 다항식 G(x)가 다음과 같이 표현될때 부호기 FSRG를 나타낸다.
G(x)=(x11+x2+1)(x21+1) =(x32+x23+x21+x11+x2+1.....(14)
FSRG는 공식 (14)로 표현되는 다항식에 의해 전송된 비트 데이터 D(x)를 나누는 분할기이다. 제7도에서 숫자 1-32는 자리 이동 레지스터에서 단을 나타낸다. 단(段)의 전체 갯수는 최고 차수와 같다. 각 단에서의 데이타는 선 61에서 나온 클럭 신호에 의해 다음 단으로 이동된다. 숫자 40-44는 익스클루시크 OR게이트를 나타낸다. 이러한 분할기는 잘 알려져 있는 것이다.
FSRG가 젯수로 G(x)를 갖는 분할기가 되기 위해서는 G(x)의 각항의 차수(2, 3, 21, 11, 2, 0(공식 (14))보다 한 차수 큰 숫자를 갖는 각 레지스터 사이에 익스클루시브 OR게이트가 들러가야하여 전단(前段)과, 익스클루시브 OR게이트 40의 출력단자는 각 익스클루시브 OR게이트의 다른 입력 단자에 연결되어야 한다.
FSRG에 전송된 데이타 D(x)가 as로 부터 a0까지 순차적으로 전달될때, 1-32단들의 내용은 검사패턴R(x) 가 된다.
그 다음, 스위치 50이 접지에 연결되어 자라 이동을 시작시켜서 단 32에서 R(x)를 뽑아내게 된다. 그것은 전송 비트 데이트에 따라 전송된다. 이러한 방식으로, 파이어 부호의 부호단어 F(x)가 생성된다.
(2) 파이어 코드의 복호화 방법 수신국은 입력 부호 단어F*(x) 를 수신한다. F*(x)는 생성다항식으로 나눌 수 있다. F*(x)내에 오차가 없다면, 나머지 없이 나누어져야 한다. (파이어 부호의 전송된 부호 단어 F(x)는 나머지 없이 G(x)로 나눌 수 있다.). 그러나, F*(x)가 (j+1)번째 비트에서 시작되는 버스트 오차 G(x)를 포함하고 있는 경우에는 G(x)로 나눌 수 없다.
이러한 조건하에서 F*(x)는 다음과 같이 표현된다.
F*(x)=F(x)+Xj.B(x)..................(15)
생성 다항식 G(x)는 기약 다항식 p(x)와 다항식(xc+1)으로 구성된다, F*(x)를 그러한 다항식으로 나누었을때의 나머지는 각각 신드롬 RP(x)와 RC(x)가 된다. 그러한 신드롬에서 xm 2 j를 곱하고 그 곱을 P(x)와 (xc+1)로 각각 나눈다. 그에 따른 나머지가 같으면, (j+1)은 오차의 위치를 나타내고 xn-j·RP(x)는 버스트 오차 B(x)를 나타낸다. 따라서 다음 조건이 만족된다.
xj.B(x)=Pp(x) (모듈 P(x) v
Figure kpo00027
.........................(16)
xj.B(x)=RC(x) (모듈 xc+1)
xn-j.RP(x)≡xn.B(x)≡B(x) (모듈 P(x)
Figure kpo00028
............(17)
xn-j.Rc(x)≡xn.B(x)≡B(x) (모듈 xc+1)
여기에서 xj.B(x)≡RP(x) (모듈 P(x))는 P(x)로 나눈 나머지 같음을 뜻한다. 제8도는 복호기를 나타낸다. FSRP는 생성 다항식 P(x)에 의해 신호선 160을 통하여 공급된 입력 부호 단어 F*(x)를 나누는 분할기이다. FSRC는 입력부호 F*(x)를 (xc+1)로 나누는 분할기이다. 일치회로 150과 영점 검출기 151은 FSRC와 FSRP의 내용이 일치하는지를 검출한다.
이들이 일치할때, 신호선 171에 신호가 나타난다. 입력 부호 단어 F*(x)가 FSRC와 FSRP, 신드롬 Sc(x)와 Sp(x)에 입력으로 가해졌으므로 다음의 식들이 만족된다. 왜냐하면 입력 부호가 각각의 m-단자리 이동 레지스터의 출력단에 입력으로 가해지기 때문이다.
xj+m.B(x)·SP(x) (모듈 P(x))
xj+m.B(x)·Sc(x) (모듈 xc+1)
이들을 서로 일치하게 하기 위하여 xn-j-m으로 곱하면, 자리 이동이 FSRC와 FSRP에서 (n-j-m)번 0일 입력으로 영향을 받는다.
xn-j-m.xj-m.B(x)≡xn.B(x)≡B(x)≡xn-j-m.SP(x) (모듈 P(x))................(18)
xn-j-m.xj-m.B(x) xn.B(x)=B(x)=xn-j- S.Sc(x) (모듈 xc+1)
종래의 복호화 방법에서 최대(n-m)번의 자리 이동이 필요하다.
그와 같은 복호화 방벋이 실제로 사용될 때, 입력 부호 F*(x)의 낮은 치수가 아무리 낮더라고 최대 (n-m)번의 자리 이동이 필요하다.
실시 예로서, 디스크(disk)데이타에서 한 섹터는 128바이트(1024비트)나 256바이트(2047비트)를 갖는다.
반면에 공식(14)로 표현되는 생성 다항식 G(x)를 사용하는 파이어 부호에서, 약 20-40배가 긴 n=42987이다. 심지어 이런 경우헤서도 약 400,000번의 자리 이동이 필요하다.
반면에, 입력부호 F*(x)의 부호 길이가 아무리 작더라도, 부호 길이 n은 줄일 수 없다. 외냐하면 파이어 부호 F(x)의 부호 길이 n이 정정할 수 있는 버스트 오차 길이와 연관되어 있기 때문이다.
좀더 자세히 설명하면, 정정할수 있는 오차 길이가 주어질때, m이 결정되고, c가 결정된다.
반면에 e가 m을 기초로 결정되어지고, n은 c와 e를 기초로하여 결정되어 진다. 따라서, 정정할수 있는 오차 길이를 늘이기 위하여, n이 증가되어야 한다. 자리 이동의 횟수를 줄이기 위하여, "Chinese Remainder Theorem"을 사용하는 것이 제안되어 왔다("Burst-Correcting Code with High Speed Decoding"앞에서 참고)/
이것이 파이어 부호의 복호화에 적용 되었을때, FSRC는 FSRCL이 모두 0일 될때가지 자리이동이 되고, 그러면 FSRP는 FSRCH와 일치될때까지 자리이동이 된다. 오차 위치(j+1)은 FSRC에 대하여 필요한 자리 이동의 횟수 rc와 FSRP에 대하여 필요한 자리이동의 횟수 rp와 Ac,그리고 Ap에 의하여 결정된다. 이는 다음의 공식으로 표현된다.
j=Ac.erc+Ap.crp(모듈 n)................(19)
그러나, 이 방법은 공식(19를 풀기위한 젯수(除數)n 을 분할기가 필요하므로, 하드웨어가 복잡해 진다.
본 발명의 실시에 따르며, 자리 이동의 횟수는 입력 부호의 길이가 작아서 파이어 부호가 하드웨어를 조금만 늘려 복호화 될대 줄어든다.
본 발명의 실시의 복호화 방법을 설명한다. 본 실시예의 설명에서 입력 부호 F*(x)가 다음과 같이 표현된다고 가정한다.
F*(x)=bs+m+c-1·xs+m+c-1+bs+m+c-2·xs+m+c-2+........+b0.................(20)
여기서 s는 입력 부호 단어의 데이타 영역의 길이이고, n>>s+m+c이고, bs-1-b0는 입력 데이타 비트들이다.
파이어 부호 F(x)는 n까지 길이를 갖는 부호를 복호화할 수 있다.
따라서 공식(20)에서 xn-1에서 xs+m+c의 항들의 계수는 0이다.
입력 부호 단어 F*(x)로 부터 버스트 오차를 검출하기 위하여는 공식(18)에 의하여 적어도 (n-s-m-c)번의 자리이동이 필요하다. n>>s+m+c이므로, 자리이동의 횟수는 매우 크게 된다.
즉, 오차 위치 j는 그 정도 횟수의 자리 이동을 하기전에는 검출해 낼수없다. 자리 이동 횟수를 많이 줄일수 있다면, 본 발명의 목적은 이루어진 것이다.
본 발명은 다음과 같은 특징을 갖고 있다.
(1)기약 다항식 P(x)는 주기 e를 갖는다. 이는 Pi(x)와 xe보다 더 낮은 차수를 갖는 다항식 Rp(x)의 곱을 로 P(x)나눈다면, 나머지가 다항식(Rp(x))와 같음을 의미한다. 실시예를 들면, 제8도에서 분할기 FSRP의 내용은 e번의 자리 이동후 원래의 내용으로 된다.
(2) 파이어 부호 F(x)가 e-비트 블럭으로 나누어질때, 입력 부호 단어 F*(x)가 뒷부분의 반 블럭에 나타난다.
(3) 다항식(xc+1)은 주기c 를 갖는다. 실시예를 들면, 제8도의 분할기 FSRC와FSRF의 내용은 c번의 자리 이동후에 원래의 내용으로 된다.
(4) 다항시 P(x)와 다항식(xc+1)은 서로 다른 주기를 갖는다. 다항식 RP(x)와 RC(x)를 xe로 곱하여, 그곱들을 각각 P(x)와 (xc+1)로 나눌때, P(x)로 나눈 경우의 나머지는 RP(x)와 같지만, (xc+1)로 나눌때의 나머지는 xe.Rc(x)=xe-c.Rc(x)(모듈xc+1)이며, 이때 β는 e>>βc를 만족하는 최대 정수이다.
가 계산될 수 있으며 그러면, e-βc가 결정되고, Rc(x)가 xe-βc로 곱하여, 그 곱이 (xc+1)로 나누어진다. 이는 xe로 Rp(x)와 Rc(x)를 곱하여 그 곱을 각각 P(x)와 (x)와 (xc+1)로 나누는 것과 동일하다.
실시예를 들면, (e-βc)가 결정되어 FSRC가 (e-βc)번 자리 이동하였을때, 이것은 FSRC와 FSRP를 e번 자리이동하는 것과 같다.
(5) 입력부호 F*(x)의 차수(s+m+c)는 부호 길이 n보다 훨씬 작다. 제9도에 보인 바와 같이, 오차 위치를 찾아내기 위하여는 적어도 (n-s-m-c)번의 나누기가 필요하다. 주기 e는 이 주기동안 t번 순회된다. 이 t는 계산에 의하여 구할 수 있다. 반면에 Rc(x)는 xet로 곱하여져서 그 곱이 (xc+1)로 나누어진다. 이때의 나머지는 Rc(x)와 xp의 곱을 (xc+1)로 나누었을때의 몫과 같다. 즉, (xe+1)의 주기 c는 (e.t)순회동안 k번 순회된다. e.t와 e.k의 차이는 P이다. P는 계산에 의하여 구할 수 있다. 따라서, P를 먼저 결정하여, Rc(x)를 Xf로 곱하여, 그 곱을 (xc+1)로 나눈다. 이는 Rp(x)와 Rc(x)를 xet로 곱하여 그 곱들을 각각 P(x)와 (xc+1)로 나누는 것과 같다. 실시예를 들면, FSRC가 P번 자리 이동되는 것은 ESRP와 FSRC를 e.t번 자리 이동하는 것과같다.
(6) 위의 것들이 순차적으로 x로 곱해져서 그 곱들을 각각 P(x)와 (xc+1)로 나눈다 오차 위치 j는 두 나누기의 나머지들이 같을때 x로 j번 곱하여 검출된다.
위의 연산을 공식으로 나타낸다. 신드롬 Rp(x)와 Rc(x)를 먼저 결정한다.
Rp(x)≡F*(x) (모듈 P(x))
Rc(x)≡F*(x) (모듈 xc+1)
그리고나서, Rc(x)를 xp로 곱하여 글 곱을 (xc+1)로 나눈다.
Rp(x)≡xet.Rp(x)≡F*(x) (모듈 P(x))
xpRc(x)≡xe.Rc(x)≡xck+p.Rc(x) (모듈 xc+1) 마지막으로, 이들을 xj로 각각 곱한다.
Bp(x)≡xj.Rp(x)≡xj.F*(x) (모듈 P(x))
Bc(x)≡xp+1.Rc(x)≡xp+1.F*(x) (모듈 xc+1)
Bp(x)와 Bc(x)가 같을때, 정수 j는 오차 위치를 나타낸다. 이 때의 Bp(x)는 버스트 오차 B(x)패턴을 나타낸다.
요약하면, 정수 j는 다음의 식들로부터 결정된다.
Bp(x)=xj.F*(x) (모듈 P(x))
Bc(x)=xp+1.F*(x) (모듈 xc+1)
Bp(x)=Bc(x)=B(x)
본 발명의 실시의 구성은 도면을 참고로 하여 설명한다. 생성 다항식이 G(x)인 파이어 부호가 공식(14)로 표현된가고 가정하자, 부호 길이 n은 다음과 같이 주어진다.
n=21×(211-1)=42987...............(21)
검사패턴 R(x)의 길이는 32비트이다.
b=11비트까지의 길이를 갖는 버스트 오차는 정정될수 있다.(
Figure kpo00029
<m)
제8도와 제10도는 공식(14)로 표현되는 파이어 부호의 복호기와 기의 제어 회로이다. 501-511단과 익스클루시브(exclusive) 게이트 540은 젯수로 (x11+x2+1)다항식을 갖는 분할기 ESRP를 구성한다. 512-532단은 젯수로 (x2+1)다항식을 갖는 분할기(궤환 자리이동 레지스터 FSRC)를 구성한다. 512-522단은 FSRC1.이라하고, 52-532단은 FSRCH라 한다. 일치회로 550은 RSRP와 FSRCL의 비트들이 서로 일치하는가를 검사한다. 즉. 501과 512, 502와 516, 503과 514, 504와 515, 505와 516, 506과 517 507과 518, 508과 519, 509와 520, 510과 521, 511과 522단이 서로 일치하는가를 검사한다. 영점검출기 551은 523-532단 모두 0인가를 검사한다.
AND게이트 570은 일치회로 550과 영점 검출기 551둘다 높은 레벨일때 신호선 571을 높은 레벨로 되게 한다. 신호선 561이 높은 레벨로 바뀔때, FSRP가 자리 이동이 되면, 신호선 562가 높은 레벨이 될때, FSRC(FSRCH와 FSRCL)가 자리이동이 된다.
다음은 복호화 동작을 설명한다.
복호화는 다음의 세단계로 된다.
(S1)신드롬 SC(x)와 SP(x)의 생성.
(S2) FSRC의 P번 선자리 이동.
(S3)오차패턴 B(x)와 오차위치 j의 결정.
제10도의 회로는 위의 세단계를 제어하며, 제11도, 제12도, 제14도는 (S1), (S2), (S3)단계를 처리할때의 타이밍 도표를 각각 나타낸 것이다.
다음은 (S1), (S2), (S3)단계에서의 처리과정을 설명한다.
신드롬을 생성하는 단계(S1)을 먼저 설명한다. 제8도에서, 입력 데이타 560이 익스클루시브 OR게이트 541과 542를 통하여 각각 FSRP와 FSRC에 전해진다. 데이타를 모두 입력하였을대의 FSRP와 FSRC의 내용들은 파이어 부호에 대한 신드롬이다. 자리이동 유효화 신호 561과 562는 제10도의 회로에 의하여 생성되며, 이의 타이밍 도표는 제11도이다. 제10도와 제11도에서, 신호 수신을 제어하기 위한 전송 제어부 623으로부터의 신호선 600은 입력 데이타 560(F(x))의 첫번째 비트 데이타가 복호기에 전해지기 한 클럭(clock)전에 시간T1에서 클럭 ψ2와 동기되어 높은 레벨로 된다.
신호선 600은 플립 플롭(fliP-floP)602의
Figure kpo00030
-출력을 낮은 레벨로 하며,
Figure kpo00031
-출력은 클럭입력 ψ2를 받아 들이는 클럭된 게이트 603과 OR 게이트 604와 605를 거쳐서 신호선 561과 562에 보내어 진다.
따라서, 신호선 561과 562는 입력 데이타 560의 첫번째 비트 데이타와 동기되어 높은 레벨로 된다.
신호선 601은 입력 데이타의 끝을 나타낸다. 이는 입력 데이타 560의 마지막 비트 데이타와 동기되어 시간T2에서 높은 레벨로된다. 신호선601은 플립 플롭 602의 Q-출력을 높은 레벨로 되게하며, 클럭된 게이트 603과 OR 게이트 604와 605를 통하여 신호선 561과 562를 낮은 레벨로 만든다. 제11도에 보인바와 같이, 신드롬 SP(x)와 SC(x)가 생성될때, 신호선 561과 562는 단지 데이타 입력의 주기동안만 높은 레벨로 된다.
입력 데이타의 마지가막 비트까지 입력시켰을때 분할기 FSRP와 FSRC의 내용들은 신드롬 SP(x)와 SC(x)이다. 제10도, 제11도, 제12도, 제14도에서, ψ1과 ψ2는 겹치지 않는 2-위상 클럭이다. 다음은 선자리 이동인(S2) 단계를 설명한다.
이 단계에서, 지리이동이 FSRC에서 P번 일어난다. P의 계산 방법은 나중에 설명하기로 한다. 선자리 이동은 디스크 데이타와 같이 입력 부호단어 F(x)의 길이가 짧을 때 자리이동의 횟수를 줄이는 데 효율적으로 사용된다.
선자리이동 시작신호 606은 제6도의 시간 Ta에서 플립플롭 607의-출력을 낮은 레벨로 되게 하며, 클럭 입력 ψ2를 받아들이는 클럭된 게이트 608과 OR 게이트 605와 609를 통하여 신호선 562와 610을 높은 레벨로 만든다.
신호선 562의 높은 레벨은 FSRC가 자리이동이 되게 하며, 신호선 610의 높은 레벨은 계수기를 증가시킨다. 선자리이동 시작 신호 606은 클럭입력 ψ1을 받아들이는 클럭된 게이트 612와 NOR 게이트 611을 통하여 계수기 613의 클리어(clear)단자에 가해진다. 이 결과, 계수기 613의 출력 614는 선자리이동 시작신호 606다음에 오는 클럭과 동기되어 0으로 된다.
기록 길이 RL과 선자리이동의 횟수인 계산된 P는 선자리 이동 계수 검출기 615에 전달되어, 신호선 616을 높은 레벨로 만들며, 클럭된 게이트 608의 출력이 높은 레벨이고, 계수기 613의 출력 614가 (P-1)(시간Tb에서)일때 플립 플롭 607을 리세트(reset)시킨다.
제12도에 보인 바와같이, 신호선662는 P클력기간 동안만 높은 레벨로 되어 FSRC에서 자리이동이 P번 일어난다. 다음은 선자리이동의 횟수 P에 대하여 설명한다. 공식(14)에 보인 생성 다항식에서, 다항식(x11+x2+1)은 기본 다항식이며, FSRP의 주기 e는 2047(=211-1)이다. 다항식(x21+1)로 표현되는 FSRC는 단순한 순환으로서 이의 주기는 21이다 FSRP와 FSRC 의 패턴들을 각각 2047번과 21번 자리이동후에 원래의 패턴으로 된다. 따라서 자리이동이 2047의 배수 배인 수에 의하여 생략된다면, FSRP에 대하여 자리이동이 필요하지 않으며, 생략된 자리이동의 횟수에 따라서 FSRC에 대하여 최대 20번의 자리 이동이 필요하다. 선자리이동의 횟수는 P이다. 디스크 데이타에서, 기록 길이 PL은 128, 256,…바이트이다. 공식(14)에 조인 생성 다항식을 갖는 파이어 부호에 대하여, 선자리 이동의 횟수 P는 제9도를 참고로하여 설명한다. 섹터 데이타는 1024비트를 갖고, 검사 패턴 R(x)의 길이는 32비트이므로, 42987-비트인 파이어 부호의 앞의 41931개의 비트들은 모두 0이라고 생각할 수도 있다. 특히, 41931비트중 2047×20=40940 비트들을 모두 0이라고 생각할 수 있다.
이 경우, 선자리 이동의 횟수 P는 다음과 같이 주어진다.
P={(21-[
Figure kpo00033
)×2047} (모듈 21)..............(22)
여기서 [a]는 a의 반올림 값을 나타낸다.
생략된 자리이동의 횟수는 e,t이며, 여기서 t는 다음과 같다.
T=(21-[
Figure kpo00034
])
FSRC에서 선자리 이도의 횟수는 P를 구비하는 방법이 공식회되었다. 디스크 데이타의 기록 길이를 RL 바이트라고 가정하며, 32-비트 파이어 부호 검사패턴을 포함하는 (RL×8+32)-비트 데이타는 디스크에 기록된다. 따라서, 입력 부호 F(x)의 길이는 (RL×8+32)이며, 자리이동이 최대 {42987-(RL×8+32)}번 생략될수 있다. 만일,
(21-[
Figure kpo00035
])×2047...................(23)
개의 앞의 비트들이 모두 0이라면, FSRC에서의 선자리 이동의 횟수 P는 다음과 같이 표현된다.
P={(21-[
Figure kpo00036
])×2047} (모듈 21)................(24)
P={(c-[
Figure kpo00037
])× e} (모듈c)
제13도에 RL과 P의 계산값의 실시예를 나타내었다.
다음은 마지막 단계(S3)을 설명한다.
이 단계에서는 오차 패턴 B(x)와 오차 위치 j를 결정한다. 제10도에서, 오차 검출 시작힌호 617은 시간 (제6도)에서 플립 플롭 618의
Figure kpo00038
-출력을 낮은 레벨로 만들며, 클럭 입력 ψ2를 받아들이는 클럭된 OR 게이트 619와 OR게이트 604, 605, 609를 통하여 신호선 561, 562 그리고 610을 높은 레벨로 만든다.
동시에, 오차 검출 시작힌호 617은 NOR 게이트 611과 클럭된 게이트 612를 통하여 계수기 613을 클리어한다.
제14도에 보인바와 같이, 신호선 651과 562는 FSRP와 FSRC에서 자리이동을 시작하게는 오차 검출시작신호 617뒤에 오는 클럭 ψ2에서 높은 레벨로 되고, 계수기 613의 출력 614는 0에서 부터 증가된다.
RSRC와 RSRP에서의 자리이동은 다음의 조건중 어느 것이라도 만족될때까지 된다.
(C1) FSRP의 비트들과 FSRCL의 비트들이 서로 일치하고, FSRCH의 비트들이 모두 0이다.
(C2) 자리이동의 횟수가 예정된 수 Q를 초과한다. 조건(C1)이 만족되면, 제8도의 신호선 571이 높은 레벨이 되고, 오차 패턴은 FSRC의 비트들로 표현되며, 오차 위치는 선행 위치로부터의 자리이동의 횟수 40940+j 가 된다.
조건(C2)는 제9도의 클럭된 게이트 619의 출력과 계수기 출력 614로 초과 자리이동 검출기에 의하여 검출된다.
숫자 Q는 (RL×8-32)보다 큰 숫자이어야 한다. Q가 4098의 배수일때 검출기는 간단해 진다.
제15도는 Q는 계산값의 실시예이다. 조건(C2)는 정정할 수 없는 오차가 발생하였음을 나타낸다.
조건 (C1) 이나(C2)가 검출되면, 제9도의 신호선 622가 OR 게이트 621을 통하여 높은 레벨이 되고, 풀립풀롭 618을 시간 t2에서 리세트 된다.
제14도에서 보인바와 같이, 오차 검출 시작신호 617이 높은 레벨이 될때, 신호선 561과 562가 다음 클럭 ψ2에서 높은 레벨이 되며, 계수기 출력 614가 0에서 부터 증가된다. 조건(C1)이나 (C2)가 이 이후에 검출되면, 신호선 622는 높은 레벨이 되며, 신호선 561과 562는 무시되어, 계수기의 증가는 멈춘다.
앞에서 설명한 단계(S1), (S2), (S3)는 본 발명에서 파이어 부호에 대한 복호화 방법이다. 공식(14)로 표현되는 생성 다항식을 갖는 파이어 부호화, 기록 길이 RL이 128 바이트라고 가정하면, 종래의 방법은 자리 이동이 최대(42987-11)번이 필요한 반면에 , 본 발명은 단지(2048+11)번의 자리이동이 필요하다. 하나의 자리 이동 주기가 100ns(10MHz)라고 가정하면, 종래의 방법은 약 4.3초가 필요한 반면에, 본 발명의 방법은 단지 0.2초가 필요하다. 그러므로 실제 사용할때 대단히 장점을 갖게 된다.
Chienese Remainder Theorem을 기초로 한 고속 복호화 방법이 사용될때, 공식(15)에 보인 정수 n으로 나누는 것이 필요하다. 공식(14)로 표현되는 생성 다항식 G(x)를 사용하는 파이어 부호에서 n=42987이고, 17-비트 나누기가 요구된다. 따라서, 8/06-비트 마이크로컴퓨터에 대해서는 적합하지 않다. 본 발명은 그와 같은 나누기를 할 필요가 없다. 위의 실시에서 선자리이동을 P번한 후에, FSRP와 FSRC는 그들의 내용이 서로 일치할때 까지 자리이동된다. 또는, RSRC와 FSRP가 선자리 이동 P번하기 전이나 후에 동시에 q'번 자리이동 되어도 되며, q'는 다음과 같으며,
q'=(c-p),e-(s+m+c)
그러면 FSRC와 FSRP는 이들의 내용이 일치할때까지 동시에 자리이동 된다.
위의 실시에는, FSRC는 선자리이동 된다. 또는, FSRP가 선자리이동이 되어도 된다. 이 경우에, 선자리 이동의 횟수 P'는 다음과 같이 주어진다.
P'={(e-[
Figure kpo00039
])×c}
발명의 특별한 실시를 보였고, 설명하였는 데, 회로에 능숙하면 넓은 관점에서 부터 본 발명을 다양하게 변화시킬 수 있으며, 변형시킬 수 있을 것이다.

Claims (7)

  1. 생성 다항식
    G(x)=(xc+1)
    Figure kpo00040
    (여기서 Pi(x)는 miㅡ차 기약 다항식이다)에 의하여 생성되고, (xc+1)항과 Pi(x)항에 대응하는 0번째에서 1번째 까지의 궤환 자리 이동 레지스터와, 상기 0번째에서 1번째까지의 궤환 자리이동 레지스터들의 소정의 낮은 차수 비트들이 일치하였는가를 검출하고, 또한, 높은 차수의 비트들은 모두 0인 조건에 일치하였는가를 검출하는 일치 회로와, 상기 소정의 낮은 차수 비트들의 수는 최소한 상기 궤한 자리이동 레지스터의 비트(c, m1, m2, …ml)들 중의 하나이며, 그의 출력단자가 그의 입력단자에 접속된 상기 0번째의 궤환 자리이동 레지스터와, 각각 그의 출력단자가 그의 입력단자에 접속되어 있고, 또한 관련된 기약 다항식에 의하여 결정되는 단들 사이에 설치되어서 각각 관련된 궤환 자리이동 레지스터의 출력을 한쪽의 입력단자에 받아들이는 엑스클루시브 OR 게이트, 를 포함하는 순회 부회의 복호기를 하기 위한 장치에서 상기 0번째에서 1번째까지의 궤환 자리이동 레지스터들 중에서 적어도 하나의 자리이동 레지스터을 소정의 회수만큼 자리이동 시키고, 또한 상기 소정의 회수만큼 시프트가 된 다음 상기 일치회로가 일치가 되었음을 검출할때 까지 상기 0번째에서 1번째까지의 궤환 자리이동 레지스터를 동시에 자리이동 시키는 과정에 의하여 상기 일치회로가 일치가 되었음을 검출할 때까지 상기 0번째에서 1번째까지의 궤환 자리이동 레지스터를 자리이동 시키는 것에 의하여 버스트 오차를 정정하게 하는 것을 특징으로 하는 순회 부호의 복호화방법.
  2. 생성 다항식
    G(x)=(xc+1)V
    Figure kpo00041
    (여기서 Pi(x)는 miㅡ차 기약 다항식이다)에 의하여 생성된 순회 부호를 복호화하는 장치에서, (xc+1)항과 Pi(x)항에 대응하는 0번째에서 1번째까지의 궤환 자리이동 레지스터와, 그의 출력 단자가 그의 입력단자에 접속된 상기 0번째의 궤한 자리이동 레지스터와, 또, 각각 그의 출력 단자가 그의 입력단자에 접속되고 또한 관련된 기약 다항식에 의하여 결정된 단들 사이에 설치되어서 관련된 궤환 자리이동 레지스터의 출력을 그의 한쪽의 입력으로 받아들이는엑스클루시브 OR 게이트와 또한, 상기 0번째에서 1번째 까지의 궤환 자리이동 레지스터들의 소정의 낮은 차수 비트들이 일치하였는가를 검출하고, 또한 높은 차수의 비트들은 모두 0인 조건에 일치하였는가를 검출하는 일치회로, 이 소정의 낮은 차수 비트들의 수는 최소한 상기 궤한 자리이동 레지스터의 비트(c, m1, m2, …ml)들 중의 하나이나. 그리고 상기 또, 상기 0번째에서 1번째 까지의 궤한 자리이동 레지스터들 중의 적어도 하나의 자리이동 레지스터를 소정의 회수만큼 자리이동 시키기 위한 제1제어 회로와, 그리고 또, 상기 제1제어회로에 의하여 소정의 회수만큼 자리이동을 시킨다음 상기 0번째에서 1번째까지의 궤환 자리이동 레지스터를 상기 일치회로가 일치 되었음을 검출할 때까지 동시에 자리이동 시키기 위한 제2제어회로에 의하여 구성되는 것을 특징으로 하는 순회 부호를 복호화하는 장치.
  3. 생성 다항식
    G(x)=P(x). (xc+1)
    에 의하여 생성된 파이어 코드를 보호화하는 방법에서 복호화하고자하는 입력 코드 F(x)를 각각 P(x)와 (xc+1)로 나누었을 때의 나머지들은 각각 곱수 Xj와 Xp+j를 곱하여서 다항식 Rp(x)와 Rc(x)를 생성하는 과정과, 그리고 오차의 위치 정보로서 다항식 Rp(x)와 Rc(x)가 같아지게하는 정수j 의 선정 과정:
    Rz(x)=r+j. F(x) (모듈P(x)
    Rc(x)=xw+j.(x) (모듈xc+1)
    여기서 r 와 w는 정수이다.
    w-r=e.t-c.k
    e.t e.c-g
    c.k e.k-g
    t=0, 1, …, c
    k=0, 1, … e
    t와 k는 동시에 0이 되지 않는다. e는 P(x)의 주기이다.
    g는 입력 코드(x)의 차수보다 큰 것이다.
    이상과 같은 과정에 의하여 이루어지는 것을 특징으로 하는 파이어 코드의 복호화 방법.
  4. 상기의 j는
    r=〔(c-[
    Figure kpo00042
    ]).e}
    인 것을 특징으로 하는 특허 청구 범위 제3항 기재의 파이어 코드의 복호화 방법.
  5. 상기 w와 j가 각각
    w=(c-p).e-g
    P={(c-[
    Figure kpo00043
    ]).e} (모듈 c)
    r=(P+w)
    인 것을 특징으로 하는 특허 청구 범위 제3항 기재의 파이어 코드의 복호화 방법.
  6. 입력 코드를 받아들이기 위한 제1과 제2의 궤환 자리이동 레지스터, 이 제1궤환 자리이동 레지스터는 그의 출력단자가 그의 입력 단자에 접속되어 있으며, 제2궤환 자리이동 레지스터는 그의 출력단자가 그의 입력단자에 접속되어 있고, 또한 그들의 각 단 사이에 설치되어서 상기 제2궤환 자리이동 레지스터의 출력을 한 쪽의 입력으로 받아들이는 엑스클루시브 OR 게이트를 갖고 있다. 그리고 상기 제1과 제2의 궤환 자리이동 레지스터의 내용이 일치되었음을 검출하는 일치 회로를 포함하고 있는 파이어 코드의 복호화 장치에서, 상기 제1과 제2의 궤환 자리이동 레지스터중의 하나를 소정의 회수만큼 자리이동 시키는 과정과, 상기 일치회로가 일치가 되었음을 검출할 때까지 상기 제1과 제2의 궤환 자리이동 레지스터를 동시에 자리이동 시키는 과정에 의하여 상기 일치회로가 일치가 되었음을 검출할때까지 상기 제1과 제2의 궤환 자리이동 레지스터를 자리이동 시킴으로써 버스트 오차를 전정하게 하는 것을 특징으로 하는 상기 파이어 코드의 복호화방법.
  7. 입력 코드를 받아들이는 제1과 제2의 궤환 자리이동 레지스터, 이 제1의 자리이동 레지스터는 그 출력 단자가 그의 입력 단자에 접속되어 있으며, 제2궤환 자리이동 레지스터는 그 출력 단자가 그의 입력 단자에 접속되어 있고, 또한 그들의 각단 사이에 설치되어서 상기 제2궤환 자리이동 레지스터의 출력을 한 쪽의 입력으로 받아들이는 엑스클루시브 OR 게이트를 갖고 있다. 그리고 상기 제1과 제2의 궤환 자리이동 레지스터의 내용이 일치되었음을 검출하는 일이 회로와, 그리고 또 상기 제1과 제2의 궤환 자리이동 레지스터중의 하나를 소정의 회수만큼 자리이동 시키는 제1제어 회로와, 또한 상기 제1제어 회로에 의하여 자리이동이 된 다음에 상기 일치회로가 일치가 되었음을 검출할때까지 상기 제2궤환 자리이동 레지스터들은 동시에 자리이동 시켜서 버스트 오차를 검출하게 하는 제2의 제어회로에 의하여 구성되는 것을 특징으로 하는 파이어 코드의 복호화을 하는 장치.
KR1019840007045A 1983-11-11 1984-11-10 순회부호의 복호화 방법 및 장치 KR890004677B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP58210855A JPS60105055A (ja) 1983-11-11 1983-11-11 フアイヤ符号の復号方法および復号装置
JP58-210855 1983-11-11
JP59104541A JPS60249432A (ja) 1984-05-25 1984-05-25 巡回符号の復号方法および復号装置
JP59-104541 1984-05-25

Publications (2)

Publication Number Publication Date
KR850003648A KR850003648A (ko) 1985-06-20
KR890004677B1 true KR890004677B1 (ko) 1989-11-24

Family

ID=26444995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019840007045A KR890004677B1 (ko) 1983-11-11 1984-11-10 순회부호의 복호화 방법 및 장치

Country Status (2)

Country Link
US (1) US4677623A (ko)
KR (1) KR890004677B1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03219725A (ja) * 1988-10-28 1991-09-27 Mitsubishi Electric Corp 誤り検査コード生成装置および伝送誤り検出装置
IT1231540B (it) * 1989-07-25 1991-12-17 Italtel Spa Procedimento e dispositivo per la decodifica con correzione di errore di un codice binario ciclico accorciato
US5381423A (en) * 1989-07-25 1995-01-10 Italtel Societa Italiana Telecomunicazioni S.P.A. Process and device for the decoding of a shortened, cyclic binary code using error correction
FR2654659B1 (fr) * 1989-11-23 1992-02-07 Siderurgie Fse Inst Rech Procede et dispositif de coulee continue sur un ou entre deux cylindres.
US5179996A (en) * 1989-11-23 1993-01-19 Usinor Sacilor Process and device for continuous casting on a roll or between two rolls
NL9000204A (nl) * 1990-01-29 1991-08-16 Philips Nv Televisie-overdrachtsysteem van het mac/packet type.
CA2050123C (en) * 1990-10-11 1997-12-09 Subrahmanyam Dravida Apparatus and method for parallel generation of cyclic redundancy check (crc) codes
JPH0787090A (ja) * 1993-06-30 1995-03-31 Toyo Commun Equip Co Ltd 巡回符号検出方法及び装置
US5521929A (en) * 1994-06-16 1996-05-28 Quantom Corporation Robust and redundant physical block identification scheme for data storage devices
JP3249405B2 (ja) * 1996-09-30 2002-01-21 株式会社東芝 誤り訂正回路および誤り訂正方法
US5936978A (en) * 1996-12-05 1999-08-10 Telefonaktiebolaget L M Ericsson (Publ) Shortened fire code error-trapping decoding method and apparatus
DE19846723A1 (de) * 1998-10-13 2000-04-20 Bosch Gmbh Robert Vorrichtung und Verfahren zur Codierung und Decodierung von Daten
AUPR440901A0 (en) * 2001-04-12 2001-05-17 Silverbrook Research Pty. Ltd. Error detection and correction
US7028245B2 (en) * 2001-08-21 2006-04-11 Equator Technologies, Inc. Even-load software Reed-Solomon decoder
US7134067B2 (en) * 2002-03-21 2006-11-07 International Business Machines Corporation Apparatus and method for allowing a direct decode of fire and similar codes
US7249309B2 (en) * 2002-11-13 2007-07-24 International Business Machines Corporation Single-burst-correction / double-burst-detection error code
US7707483B2 (en) * 2005-05-25 2010-04-27 Intel Corporation Technique for performing cyclic redundancy code error detection
US7823053B2 (en) * 2006-12-19 2010-10-26 International Business Machines Corporation System and method for searching error messages
US8244909B1 (en) * 2009-06-18 2012-08-14 Google Inc. Method, apparatus and networking equipment for performing flow hashing using quasi cryptographic hash functions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3159810A (en) * 1960-03-21 1964-12-01 Sylvania Electric Prod Data transmission systems with error detection and correction capabilities
US4151510A (en) * 1978-04-27 1979-04-24 Honeywell Information Systems Method and apparatus for an efficient error detection and correction system
FR2485237B1 (fr) * 1980-06-19 1987-08-07 Thomson Csf Dispositif de correction, en temps reel, d'erreurs sur des donnees enregistrees sur un support magnetique, et systeme de traitement de donnees comportant un tel dispositif
US4377863A (en) * 1980-09-08 1983-03-22 Burroughs Corporation Synchronization loss tolerant cyclic error checking method and apparatus
JPS58147807A (ja) * 1982-02-26 1983-09-02 Toshiba Corp 誤り訂正回路

Also Published As

Publication number Publication date
KR850003648A (ko) 1985-06-20
US4677623A (en) 1987-06-30

Similar Documents

Publication Publication Date Title
KR890004677B1 (ko) 순회부호의 복호화 방법 및 장치
US7590920B2 (en) Reduced complexity error correction encoding techniques
JP3046988B2 (ja) データストリームのフレーム同期検出方法及び装置
US4649541A (en) Reed-Solomon decoder
US6141786A (en) Method and apparatus for performing arithmetic operations on Galois fields and their extensions
EP0158510A2 (en) Error detection and correction in digital communication systems
EP0340139A2 (en) Fast processor for multi-bit error correction codes
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
JPS60213131A (ja) デジタル通信システムのエラ−検出及び補正のためのパリテイ及びシンドロ−ム発生装置
US4312069A (en) Serial encoding-decoding for cyclic block codes
EP0393080B1 (en) Hypersystolic reed-solomon encoder
JPS59151246A (ja) エンコ−ダ検査装置
EP0944963A1 (en) Shortened fire code error-trapping decoding method and apparatus
CN101779379A (zh) 使用通用级联码(gcc)进行编码和解码
CA1213673A (en) Burst error correction using cyclic block codes
EP0262944B1 (en) Error correction apparatus
US5471485A (en) Reed-solomon decoder using discrete time delay in power sum computation
KR200141094Y1 (ko) 비씨에이취 코드워드를 부호화하는 장치
US20080140740A1 (en) Systems and methods for processing data sets in parallel
KR100281946B1 (ko) 신드롬 계산 장치
US6859905B2 (en) Parallel processing Reed-Solomon encoding circuit and method
EP0584864B1 (en) A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
EP0341851A2 (en) Method and apparatus for interleaved encoding
CN1167373A (zh) 用在里德-所罗门解码器中的多项式求值器
JP2710176B2 (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: 20010919

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee