KR930002853B1 - 오류 정정방법 및 장치 - Google Patents

오류 정정방법 및 장치 Download PDF

Info

Publication number
KR930002853B1
KR930002853B1 KR1019900014001A KR900014001A KR930002853B1 KR 930002853 B1 KR930002853 B1 KR 930002853B1 KR 1019900014001 A KR1019900014001 A KR 1019900014001A KR 900014001 A KR900014001 A KR 900014001A KR 930002853 B1 KR930002853 B1 KR 930002853B1
Authority
KR
South Korea
Prior art keywords
error
word
error position
output
polynomial
Prior art date
Application number
KR1019900014001A
Other languages
English (en)
Other versions
KR920007367A (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 KR1019900014001A priority Critical patent/KR930002853B1/ko
Priority to JP3093319A priority patent/JPH0722965A/ja
Publication of KR920007367A publication Critical patent/KR920007367A/ko
Application granted granted Critical
Publication of KR930002853B1 publication Critical patent/KR930002853B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms

Abstract

내용 없음.

Description

오류 정정방법 및 장치
제 1 도는 본 발명에 따른 실시예의 블럭도.
제 2 도는 제 1 도에 도시된 회로중 오류위치다항식 연산부(103)의 상세회로도.
제 3 도는 제 2 도의 각 부분에 대한 출력파형도.
제 4 도는 제 1 도에 도시된 회로중 워어드위치계수부(104)의 상세회로도.
제 5 도는 제 1 도에 도시된 회로중 오류위치값검출부(105)의 상세회로도.
제 6 도는 제 1 도에 도시된 회로중 오류값 산출부(106)의 상세회로도.
* 도면의 주요부분에 대한 부호의 설명
101 : 신드로움발생부 102 : 오류위치다항식계수연산부
103 : 오류위치다항식연산부 104 : 워어드위치계수부
105 : 오류위치값검출부 106 : 오류값 산출부
107 : 완충기록기 108 : 가산기
109 : 완충기억장치 110 : 제어부
본 발명은오류정정기술에 관한 것으로, 특히 1블록에서 2워어드 오류까지 정정가능한 오류정정코오드에 의하여 오류를 정정할 수 있는 오류정정방법 및 장치에 관한 것이다.
종래의 오류정정기술의 예를들면, 1980년 12월 19일, 일본국의 소니사에 의해 국내에 출원되어 공고된 특허공고번호 "제86-500호"에 의해 제안되었으며, 이 발명에 따르면, 한 블럭내에 각 워어드가 m비트로 이루어지는 n워어드를 포함하는 데이터와 오류정정방법은 다음과 같다.
수신된 n워어드와 패리티(parity)검사행렬 H로 이루어지는 한 블록 VT의 아래 연산에 의하여 k신드로움 SoSk-1을 구할 수 있다.
Figure kpo00001
상기 패리티검사행렬 H은 n열(column) 및 k행(row)을 가지며, 한 규정행의 각 원소는
Figure kpo00002
0(=1)-
Figure kpo00003
2-2까지 선택되며, 원소
Figure kpo00004
는 F(x)가 CF(2)상에서 기약(旣約)의 다앙식일때, F(x)=0을 충족시킬 수 있는 근이며, 따라서 동일치의 상상 규정행 내에 두번 나타나지 않으며, 나머지의 행내의 원소는 각개 행내의 모든 원소에 대하여 상기 규정 행내의 대응원소의 주어진 누승에 의하여 선택된다 ; 상기 신드로움에 의한 아래의 계수 A, B 및 C를 구하면,
Figure kpo00005
상기 신드로움 및 계수에 의한 (a), (b) 및 (c)와 같이 표시된 오류검지 및 오류정정을 수행한다.
(a) S0=S3=S4=…=Sk-1=0, A1=A2=…Ak-3=0, B1=B2=…Bk-3=0 및 Ck-3이 충족될 때, 오류 워어드가 없다는 사실이 검지된다.
Figure kpo00006
여기서 K'=1~3 및 Ck-3=0이 충족될 때, 1위 어드오류가 존재한다는 것이 판단되며, 다음으로 오류정정은 상기 신드로움을 계산에 의하여 수행한다.
c)
Figure kpo00007
이 충족될 때 아래식이 성립된다.
Figure kpo00008
Figure kpo00009
21+D
Figure kpo00010
1+E=0의 오류로케이션식을 풀어서 오류로케이션 i 및 j를 검지하고 2워어드오류는 정정된다.
우선, GF(2)상에서는 기약된 m차의 다항식 f(x)를 생각한다. "0"과 "1"의 원소밖에 없는 체(體) GF(2)상에서는 기략된 다항식 F(x)은 근을 갖지 않는다.
여기서 F(x)=0을 충족시키는 가상적인 근
Figure kpo00011
을 생각한다. 이때 0원소를 포함하여
Figure kpo00012
의 누승으로 나타내는 2m개의 상이한 원소 0,
Figure kpo00013
,
Figure kpo00014
2,
Figure kpo00015
3,…
Figure kpo00016
2m-1은, 확대체 GH(2m)를 구성한다. GF(2m)확대체는 GF(2)상의 m차의 기약 다항식 F(x)을 법으로 하는 다항식 환이다. GF(2m)의 원소는 1,
Figure kpo00017
=[X],
Figure kpo00018
2=[X2],…am-1=[Xm-1]의 선형 결합으로 표시할 수 있다.
즉 a0+a1[X]+a2[X2]+…am-1[Xm -1]=
a0+a1
Figure kpo00019
+a2
Figure kpo00020
2+…am-1
Figure kpo00021
m -1
또는 (am'31am'-2…a'2a'1a0)
여기서 a0, a1, …am-1은 GF(2)로 된다.
한 예로서, GF(28) 확대체를 생각하면, 법으로서 다항식 F(x)=X8+X4+X3+X2+X1(모두 8비트의 데이터)는 아래와 같다.
a7X7+a6X6+a5X5+a4X4+a3X×+a2X-+a1X+a0
또는 (a'5a'6a'5a'4a'3a'2a'1a'0
그러므로 예를들면, a7를 MSB(most significant bit)측, a0를 LSB(least significant bit)측에 할당한다. an은 GF(2)에 속하므로 그 원소는 0 또는 1이다.
또, 다항식(X)에서 (m×m)의 아래의 행렬 T가 도출된다.
Figure kpo00022
다른 표현으로서는 순회군을 이용한 것이 있다. 이것은 GF(2m)은 (0원소를 제거)확대체의 나머지의 원소의 자리수 2m -1의 승법군을 이루는 것을 이용한 것이다. GF(2m)의 원소를 순회군을 사용하여 표현하면, 아래와 같다.
0, 1(=
Figure kpo00023
2m1),
Figure kpo00024
,
Figure kpo00025
2,
Figure kpo00026
3…a2m-2
또 설명을 위한 한 예로서, m비트를 1워어드로 하고, n워어드를 1블록으로 구성할 때, 하기의 패리티검사 행렬 H에 의거하여 k개의 체크워어드를 발생할 수 있도록 되어 있다.
Figure kpo00027
또 행렬 T에 의해서 마찬가지로 패리키검사행렬 H을 표현할 수 있다.
Figure kpo00028
다만, I은 m×m의 단위 행렬이다.
상기한 바와 같이, 근
Figure kpo00029
을 사용한 표현과 생성행렬 T를 사용한 표현과의 양자는 본질적으로 동일하다. 또 4개(k=4)의 체크워어드를 사용하는 경우를 예로들면, 패리티검사행렬 H는 아래와 같다.
Figure kpo00030
수신데이터의 1블록을 열백터 v=(Wn-1, Wn-2, …W1.W0)미만 Wi=Wi+ei : 오류패턴으로 하면 수신측에서 발생하는 4개의 신드로움 S0, S1, S2, S3은 아래와 같다.
Figure kpo00031
이 오류정정부호는 한개의 오류정정블록 내의 2워어드 오류까지의 오류정정이 가능하며, 오류로케이션이 판명되어 있을 때에는 3워어드오류 또는 4워어드오류의 정정이 가능하다.
1블록중에 4개의 체크워어드(p=W3, q=W2, r=W1, s=W0)가 포함된다. 이들 체크워어드는 아래와 같이 구해진다.
Figure kpo00032
계산과정을 생략하고 결과만을 표시하면 다음과 같다.
Figure kpo00033
이리하여 체크워어드 p,q,r,s를 형성하는 것이 송신측에 설치된 코우더의 역할인 것이다. 다음에 상기와 같이 형성된 체크워어드를 포함하는 데이타가 전송되고, 수신된 경우의 오류정정의 기본적 앨고리즘에 대하여 설명한다.
[1] 오류가 없는 경우 신드로움은 모두 제로이다 :
S0=S1=S2=S3=0
[2] 1워어드 오류의(오류패턴을 ei로 하는)경우 :
S0=ei, S1=
Figure kpo00034
iei, S2=
Figure kpo00035
2iei, S3=
Figure kpo00036
3iei
따라서 아래 관계가 성립된다.
Figure kpo00037
iS0=S1
Figure kpo00038
iS1=S2
Figure kpo00039
iS2=S3
i를 순차적으로 변화시켰을 때, 상기 관계가 성립하는 가의 여부로 1워어드 오류인가의 여부를 판정할 수 있다.
다음 관계가 성립된다.
Figure kpo00040
Figure kpo00041
i의 패턴을 미리 ROM(read only memory)에 기억되어 있는 것과 비교하여 오류로케이션 i이 판명된다. 그때의 신드로움 S0가 오류패턴 ei 그 자체로 된다.
[3] 2워어드 오류(ei, ej)의 경우, 신드로움을 아래 관계가 성립된다.
S0=ei+ej
S1=
Figure kpo00042
iei+
Figure kpo00043
iej
S2=
Figure kpo00044
2iei+
Figure kpo00045
2jej
S3=
Figure kpo00046
3iei+
Figure kpo00047
3jej
윗식을 변형시키면 다음과 같다.
Figure kpo00048
iS0+S1=(
Figure kpo00049
i+
Figure kpo00050
j)ei
Figure kpo00051
iS1+S2=
Figure kpo00052
i(
Figure kpo00053
i+
Figure kpo00054
j)ei
Figure kpo00055
iS2+S3=
Figure kpo00056
2i(
Figure kpo00057
i+
Figure kpo00058
j)ei
따라서 아래식이 성립되면 워어드 오류가 식별된다.
Figure kpo00059
j(
Figure kpo00060
jS0+S1)=
Figure kpo00061
jS1+S2
Figure kpo00062
j(
Figure kpo00063
jS1+S2)=
Figure kpo00064
jS2+S3
상기식이 성립되면 2워어드 에로로 판정되고, 오류로케이션 i, j를 알 수 있다. 요컨대 i 및 j의 조합을 변형시켜 윗식의 관계가 성립하는 여부를 조사한다.
그때의 오류패턴은 아래와 같다.
Figure kpo00065
[4] 3워어드 오류(ei, ej 및 ek)의 경우, 그 신드로움은 아래와 같이 표현된다.
S0=ei+ej+dk
S1=
Figure kpo00066
iei+
Figure kpo00067
jej+
Figure kpo00068
kek
S2=
Figure kpo00069
2iei+
Figure kpo00070
2jej+
Figure kpo00071
2kek
S3=
Figure kpo00072
3iei+
Figure kpo00073
3jej+
Figure kpo00074
3kek
위의 식을 변형하면
Figure kpo00075
kS0+S1=(
Figure kpo00076
i+
Figure kpo00077
k)ei+(
Figure kpo00078
j+
Figure kpo00079
k)ej
Figure kpo00080
kS1+S2=(
Figure kpo00081
i+
Figure kpo00082
k)ei+
Figure kpo00083
j(
Figure kpo00084
j+
Figure kpo00085
k)ej
Figure kpo00086
kS2+S3=
Figure kpo00087
2i(
Figure kpo00088
i+
Figure kpo00089
k)ei+
Figure kpo00090
2j(
Figure kpo00091
j+
Figure kpo00092
k)ej
따라서, 아래 식이 도출된다 :
Figure kpo00093
j(
Figure kpo00094
kS0+S1)+(
Figure kpo00095
kS1+S2)=
Figure kpo00096
i(
Figure kpo00097
i+
Figure kpo00098
j)(
Figure kpo00099
i+
Figure kpo00100
k)ej
Figure kpo00101
j(
Figure kpo00102
kS1+S2)+(
Figure kpo00103
kS2+S3)=
Figure kpo00104
i(
Figure kpo00105
i+
Figure kpo00106
j)(
Figure kpo00107
i+
Figure kpo00108
k)ej
따라서 아래식이 성립되면 3워어드 오류로 판정된다.
Figure kpo00109
j{(
Figure kpo00110
kS0+S1)+(
Figure kpo00111
kS1+S2)=
Figure kpo00112
j(
Figure kpo00113
kS1+S2)(
Figure kpo00114
kS2+S3)
이때의 각 오류패턴은 아래와 같이 구한다.
Figure kpo00115
실제로는, 3워어드 오류의 정정을 위한 구성이 복잡해지고, 정정 동작에 요하는 시간도 길어진다. 따라서 오류표시버트 또는 포인터에 의하여 i j, k, 1의 오류로 케이션이 알려져 있는 경우와 조합시켜, 그때의 체크용으로 위의 식을 사용하고, 오류정정동작을 행하는 것이 실용적이다.
[5] 4워어드 오류(ei, ej, ek, el)의 경우 신드로움은 아래와 같다 :
S0=ei+ej+ek+el
S1=
Figure kpo00116
iei+
Figure kpo00117
jej+
Figure kpo00118
kek+
Figure kpo00119
lel
S2=
Figure kpo00120
2iei+
Figure kpo00121
2jej+
Figure kpo00122
2kek+
Figure kpo00123
2lel
S3=
Figure kpo00124
3iei+
Figure kpo00125
3jej+
Figure kpo00126
3kek+
Figure kpo00127
3lel
위의 식을 변경시키면 아래와 같다.
Figure kpo00128
포인터에 의하여 오류로케이션(i, j, k, l)이 알려져 있는 경우에는 상기 연산에 의하여 오류정정을 행할 수 있다.
상기 오류정정의 기본적 앨고리즘은 신드로움 S0-S3을 사용하여 제 1 스텝에서 오류의 유무를 검사하고, 제 2 스텝에서 1워어드오류의 여부를 점검하고, 제 3 스텝에서 2워어드 오류인가의 여부를 점검하는 것으로서, 2워어드 오류까지도 정정하려고 할때에는 모든 스텝을 종료할 때까지 요하는 시간이 길어지고, 특히 2워어드 오류의 오류로케이션을 구할 때에는 이와 같은 문제가 발생한다.
상기 문제를 발생시키지 않고 2워어드 오류의 정정을 상정할 경우에 적용하여 유효한 변형된 기술인 한국특허공고 제86-500호의 발명에 대해서 아래에 설명한다.
2워어드 오류(ei, ej)의 경우의 신드로움 S0, S1, S2, S3에 관한 식은 아래와 같다.
S0=ei+ej
S1=
Figure kpo00129
iei+
Figure kpo00130
jej
S2=
Figure kpo00131
2iei+
Figure kpo00132
2jej
S3=
Figure kpo00133
3iei+
Figure kpo00134
3jej
이 식을 변형시키면 아래와 같다.
(
Figure kpo00135
1S0+S1)(
Figure kpo00136
1S1+S3)(
Figure kpo00137
1S1+S2)2
다시 변형시켜 아래의 오류로케이션 다항식을 구한다.
(S0S2+S1 2
Figure kpo00138
2i+(S1S2+S0S3
Figure kpo00139
i+(S1S3+S2 2)=0
여기서 상기 각 다항식의 계수를 아래와 같이 가정한다.
S0S2+S1 2=A
S1S2+S0S3=B
S1S3+S2 2=C
위의 식의 각 계수 A, B, C를 사용하여 2워어드 오류의 경우의 오류로케이션을 구할 수 있다.
[1] 오류가 없는 경우 : A=B=C=0, S0=0, S3=0
[2] 1워어드 오류의 경우 : A=B=C=0, S0
Figure kpo00140
0, S3
Figure kpo00141
0일때, 1워어드 오류로 판정된다.
Figure kpo00142
1=S1/S0로부터 오류로케이션 i을 용이하게 구할 수 있으며, ei=S0를 사용하여 오류정정이 이루어진다.
[3] 2워어드 오류의 경우 : 2워어드 이상의 오류의 경우에는, A
Figure kpo00143
0, B
Figure kpo00144
0, C
Figure kpo00145
0이 성립하고, 그 판정이 매우 간단하게 된다. 또 이때 아래의 관계가 성립된다.
A
Figure kpo00146
21+B
Figure kpo00147
1+C=0
다만, i=0~(n-1)
여기서 B/A=D, C/A=E로 가정하면, 아래와 같은 식이 각각 구하여진다.
D=
Figure kpo00148
i+
Figure kpo00149
j
E=
Figure kpo00150
i+
Figure kpo00151
j
이것으로 부터 아래와 같은 식이 도출된다.
Figure kpo00152
2i+D
Figure kpo00153
j+E=0
여기서 2개의 오류로케이션의 차가 t, 즉 j=i+t일 때, 아래와 같은 식이 구하여진다.
D=
Figure kpo00154
j(1+
Figure kpo00155
i)
E=
Figure kpo00156
2j+t
따라서 아래의 식이 도출된다.
Figure kpo00157
t=1~(n-1)의 각 값의
Figure kpo00158
-t+
Figure kpo00159
t의 값을 ROM에 미리 기입하여 두고, ROM의 출력과 수신워어드로부터 연산된 D2/E의 값과의 일치를 검출하는 것으로 t가 구하여진다. 만약 이 일치 관계가 성립하지 않으면, 3워어드 이상의 오류이다.
따라서 다음과 같이 가정한다.
X=1+
Figure kpo00160
t
Figure kpo00161
로 아래의 식이 구하여 진다.
Figure kpo00162
상기 표현으로부터 오류로케이션 i 및 j가 구하여진다. 다음에는 오류패턴 ei 및 ej가 아래와 같이 표현된다.
Figure kpo00163
이리하여 오류는 정정된다.
그러나 상기 한국 특허공고에 기재된 방법은 오류위치 다항식 계수를 이용하여 오류위치값을 구하기 위한 수순이 많을 뿐만 아니라,
Figure kpo00164
에 대한 결과치들을 저저장하기 위한 롬을 필요로 하여 실행할 회로구성이 복잡해지고, 또한 집적화하기가 곤란한 문제점이 있었다.
따라서 본 발명의 목적은 종래의 복잡한 수순에 의한 폐단을 해소한 간소한 수순에 의해 오류를 정정할 수 있는 오류정정방법을 제공함에 있다.
본 발명의 또 다른 목적은 계산회로 및 하드웨어 구성을 간단히하고 집적화가 용이하도록 할 수 있는 오류 정정장치를 제공함에 있다.
상기 목적을 달성하기 위하여, 본 발명의 방법은 1블록내에 n워어드와 각 워어드가 m비트로 이루어지는 데이터의 오류정정방법에 있어서, 수신 n워어드 및 패리티검사행렬 H로 이루어지는 1클럭 VK의 아래 연산에 의하여 k신드로움 S0~Sk-1을 구하는 단계와,
Figure kpo00165
(다만, 패리티검사행렬 H은 n열(column) 및 k행(row)을 가지며, 1규정행의 각 원소는
Figure kpo00166
0(=1)~
Figure kpo00167
2m-2에서 선택되며, 원소는
Figure kpo00168
는 F(x)가 GF(2)상에서 기약(旣約)의 다항식 일 때, F(x)=0을 충족시키는 평방근(root)이며, 따라서 동일값은 상기 소정행에 두번 나타나지 않으며, 그밖의 행의 원소는 각 행내의 모든 원소에 대하여 상기 소정행의 대응원소는 누승으로 선택되게 이루어져 있음).
상기 신드로움에 의하여 아래의 계수 A, B 및 C를 구하는 단계와,
Figure kpo00169
상기 계수 A, B 및 C에 의해 오류위치다항식 계수 D, E를 연산하는 단계와, 오류위치다항식의 1,2차 변수
Figure kpo00170
i,
Figure kpo00171
2i와 워어드 위치값
Figure kpo00172
i를 계수하면서 상기 오류위치다항식계수 D, E 및 1, 2차변수
Figure kpo00173
i,
Figure kpo00174
2i로 이루어지는 오류위치다항식
Figure kpo00175
2i+D
Figure kpo00176
i+E를 연산하는 단계와,
상기 오류위치다항식
Figure kpo00177
2i+D
Figure kpo00178
i+E가 "0"될 때의 워어드위치값을 오류위치값들로 검출하는 단계와,
상기 오류위치값들과 상기 신드로움 S0,S1및 오류위치다항식계수 E에 의하여 오류값들을 산출하고 산출된 오류값들을 오류가 발생된 워어드에 가산하는 단계를 포함하여, 2워어드 오류까지 정정되도록 포함함을 특징으로 한다.
상기 또 다른 목적을 달성하기 위하여, 본 발명의 장치는 블록단위의 수신워어드를 수신하여 신드로움을 발생하기 위한 신드로움발생부와, 상기 신드로움에 의해 오류위치다항식계수들 D, E를 생성하기 위한 오류위치다항식 계수연산부와, 상기 오류위치다항식계수들 D, E를 유입하여 워어드 위치별 오류위치다항식을 연산하는 오류위치다항식 연산부와, 워어드위치를 계수하는 워어드위치계수부와, 상기 오류위치다항식연산부의 출력신호에 의해 상기 워어드위치계수부의 계수값을 샘플링하는 오류위치값 검출부와, 상기 오류위치값 검출부의 출력과 상기 신드로움 발생부 및 오류위치다항식계수연산부의 출력을 유입하여 오류값을 산출하는 오류값 산출부와, 상기 오류값산출부의 출력을 일시 저장하기 위한 완충기록기와, 상기 완충기록기의 출력을 수신워어드에 가산하여 정정된 워어드를 송출하는 가산기와, 상기 가산기로 유입되는 수신워어드를 오류정정에 소요되는 시간만큼 지연시키기 위한 완충기억장치와, 상기 각 회로부에 적절한 타이밍제어신호를 제공하기 위한 제어부를 포함함을 특징으로 한다.
이하 본 발명을 첨부한 도면을 참조하여 상세히 설명하기로 한다.
제 1 도는 본 발명에 따른 블럭도로서, 이를 설명하면, 다음과 같다.
입력단자(100)는 전단으로서 접속될 수 있는 디인터리이버로 부터 수신데이터인 워어드데이터를 유입한다.
상기 입력단자(100)에 접속된 신드로움발생부(101)는 상기 입력단자(100)을 통해 유입되는 1블록의 수신워어드 데이터와 자체에 제작시 설정된 패리티검사행렬에 의하여 신드로움들을 발생한다
상기 신드로움연산부(101)에 접속되어 상기 신드로움들을 유입하는 오류위치 다항식계수연산부(102)는 상기 신드로움들에 의해 계수 A, B 및 C를 산출하고, 산출된 상기 계수 A, B 및 C에 의해 다시 오류위치다항식계수들 D, E을 발생한다.
상기 오류위치다항식계산연산부(102)에 접속되어 오류위치다항식계수들을 유입하는 오류위치다항식연산부(103)는 워어드위치별로
Figure kpo00179
2i
Figure kpo00180
i를 계수하여 상기 오류위치 다항식계수와 함꼐 이루어지는
Figure kpo00181
2i+D
Figure kpo00182
i+E의 값이 "0"인가를 나타내는 다항식 연산결과신호를 발생한다.
한편 워어드위치계수부(104)는 매블록마다 워어드위치값인
Figure kpo00183
i를 계수한다.
상기 오류위치다항식연산부(103) 및 상기 워어드위치계수부(104)에 접속되어 상기 다항식연산결과신호 및 워어드위치값을 유입하는 오류위치값 검출부(105)는 상기 다항식연산결과가 "0"을 나타내는 일정로직상태의 다항식 연산결과신호가 유입될 때의 상기 워어드위치값을 포착하여 포착된 워어드위치값들을 오류값산출부(106) 및 제어부(110)에 공급한다.
상기 오류위치값검출부(105) 및 신드로움발생부(101)에 접속되며 상기 포착된 워어드위치값과 신드로움들을 유입하는 오류값산출부(106)는 상기 포착된 워어드위치값들과 신드로움들에 의해 오류값들을 산출한다.
상기 오류값산출부(106)에 접속되어 상기 오류값들을 유입하는 완충기록기(107)는 상기 오류값들을 저장하였다가 적절한 시기에 가산기(108)에 공급한다.
상기 입력단자(100)에 상기 신드로움발생기(101)와 함께 접속되어 수신워어드를 유입하는 완충기억장치(109)는 상기 신드로움발생부(101)에서 부터 완충기록기(107)까지의 오류정정에 소요되는 시간동안 상기 수신워어드를 지연시켜 가산기(108)에 공급한다.
상기 완충기억장치(109) 및 상기 완충기록기(107)에 접속되어 수신워어드 및 오류값을 유입하는 가산기(108)는 상시 수신워어드에 상기 오류값을 가산하여 정정된 워어드를 출력단자(111)을 통하여 송출한다.
출력단자(111)는 상기 입력단자(100)에 접속된 디인터리이버가 아닌 다른 디인터리이버나 디코오더에 접속된다.
그리고 제어부(110)는 상기 신드로움발생부(101) 및 오류위치다항식연산부(103), 워어드위치값계수부(104), 오류위치값검출부(105), 완충기록기(107), 완충기억장치(109)에 적절한 타이밍의 클럭펄스 및 또는 제어신호를 공급하며, 이를 상세히 피력하면, 다음과 같다. 제어부(110)는 수신워어드의 입력주기를 결정하기 위한 마스터클럭열을 신드로움발생부(101), 및 오류위치다항식연산부(103), 오류위치값검출부(105), 워어드위치계수부(104), 완충기억장치(109)에 공통적으로 공급하며, 수신워어드의 블럭주기에 해당하는 블럭동기신호를 오류위치다항식연산부(103) 및 워어드위치계수부(104)에 공급한다.
또한 제어부(110)는 신드로움들의 연산시기를 제어하기 위한 신드로움 연산제어신호를 상기 신드로움발생부(101)에 공급하며, 상기 오류위치값검출부(105)로 부터 인입되는 오류위치값에 의해 오류값을 상기 가산기(108)에 공급되도록 제어하기 위한 오류값 송출제어신호를 상기 완충기록기(107)에 공급한다.
제 2 도는 제 1 도에 도시된 회로도중 오류위치다항식 연산부(103)의 상세회로도이며, 이를 설명하면, 다음과 같다.
레지스터(200)는 입력단자들(240, 241)상에 공급되는 블럭동기신호와 마스터클럭펄스를 논리곱연산하는 논리곱소자(G1)와, 상기 논리곱소자(G1)의 출력을 각각 클럭단자로 유입하여 상기 논리곱소자(G1)의 출력에 의해 제 1 입력포트(242~249)을 통해 각각의 입력단자(D1)로 한비트씩 유입되는 8비트의 오류위치다항식계수 E를 1블록기간 저장하는 8개의 플립플롭의(FF1~FF8)으로 구성되어 있다.
Figure kpo00184
1연산수단(210)은 입력단자(241)상에 공급된 마스터클럭펄스를 클럭단자(CLK)로 유입하는 플립플롭들(FF9~FF16)과, 상기 플립플롭들(FF9~FF16)의 출력들을 논리연산하여 상기 각 플립플롭들(FF9~FF16)의 입력단자 쪽에 공급하기 위하여 세개의 배타적논리합소자들(G2~G4)로 이루어진 피드백루우프(211)와, 상기 피드백루우프(211) 및 오류위치다항식계수 D를 유입하기 위한 제 2 입력포트(250~257)와 상기 각 플립플롭(FF9~FF16)의 입력단자들 사이에 각각 접속되어 상기 입력단자(240)을 통해 각각의 선택단자(SEL)에 공급되는 블럭동기신호의 논리상태에 따라 상기 피드백로우프의 출력과 상기 오류위치 다항식계수 D를 선택적으로 출력하는 멀티플렉서들(ML1~ML8)로 이루어져 있다.
Figure kpo00185
21연산수단(220)은 입력단자(241) 상에 공급된 마스터클럭펄스를 클럭단자(CLK)로 유입되는 플립플롭들(FF17~FF24)과, 상기 플립플롭들(FF17~FF24)의 출력들을 논리연산하여 상기 각 플립플롭들(FF17~FF24)의 입력단자쪽에 공급하기 위하여 세개의 배타적논리합소자들(G5~G10)로 이루어진 피드백루우프와, 상기 피드백루우프 및 상기 각 플립플롭들(FF17~FF24)의 입력단자들 사이에 각각 접속되어 상기 입력단자(240)을 통해 각각의 선택단자(SEL)에 공급되는 블록동기신호의 논리상태에 따라 상기 피드백 루우프의 출력과 초기설정값을 선택적으로 출력하는 멀티플렉서들(ML9~ML16)로 이루어져 있다.
가산기(203)은 상기 레지스터(200)의 출력과 상기 D
Figure kpo00186
1의 출력 그리고 상기
Figure kpo00187
21연산수단(220)의 출력을 가산하며, 부논리합소자(G11)는 상기 가산기(230)의 출력을 부논리곱연산하여 "0"일때 하이논리상태의 다항식연산결과 신호를 출력단자(258)에 공급한다.
제 3 도는 제 2 도의 각 부분에 대한 출력파형도로서, 제 3 도중에서, 300은 입력단자(240)상에 공급되는 블록동기신호의 파형도이고, 301은 입력단자(241)상에 공급되는 마스터 클럭펄스의 파형도이며, 302는 레지스터(200)의 출력파형도이고, 303은 D
Figure kpo00188
1연산부(210)의 출력파형도이며, 304는 21연산부(220)의 출력파형도이다.
이어서 제 2 도를 제 3 도와 결부시켜 설명하기로 한다.
입력단자들(240, 241)은 제 1 도상에 도시된 회로도중 제어부(110)에 접속되며, 이중 제 1 입력단자(240)은 제 3 도중 300과 같은 블록동기신호를 유입하게 되고, 그리고 제 2 입력단자(241)는 제 3 도중 301과 같은 마스터클럭펄스열을 공급받게 된다. 한편 제1, 2입력포트들(242~249, 250~257)은 오류위치 다항식계수연산부(102)에 접속되며, 이중 제 1 입력포트(242~249)는 오류위치다항식계수 E를 그리고 제 2 입력포트(250~257)는 오류위치다항식계수 D를 각각 공급받는다.
레지스터(200)은 상기 제 1 입력포트(242~249)상의 오류위치다항식계수 E를 상기 제1, 2입력단자들(240, 241)을 통해 공급되는 블록동기신호 및 마스터클럭펄스에 의해 제 3 도중 302와 같이 상기 블록동기신호의 하이논리상태의 펄스기간중 상기 마스터클럭펄스의 폴링에지시에 유입하여 다음 블록동기신호의 하이논리상태펄스기간중 마스터클럭펄스의 폴링에지시까지 저장하게 되며, 이를 상세히 설명하면 다음과 같다.
논리곱소자(G1)는 상기 제1, 2입력단자들(240, 241)상의 블록동기신호 및 마스터클럭펄스를 논리곱연산하여 상기 블록동기신호의 하이논리상태의 펄스기간중에 포함되는 하이논리상태의 마스터클럭펄스를 검출한다. 8개의 플립플롭들(FF1~FF8)은 각각 상기 논리곱소자(G1)로 부터 하이논리상태의 펄스가 클럭단자(CLK)로 인가될 때마다 제 1 입력포트(242~249)로 부터 입력단자(DI)로 분산유입되고 있는 오류위치다항식계수 E의 1비트데이터를 출력단자(Q)쪽으로 래치하여 제 3 도중 302와 같이 오류위치 다항계수 E를 가산기(230)에 블록동기기간동안 공급한다.
D
Figure kpo00190
1연산수단(210)은 제 1 입력단자(240)상의 블록동기신호에 의해 제 2 입력포트(250~257)상의 오류위치다항식계수 D를 초기값으로 유입한 다음, 상기 제 2 입력단자(241)상의 마스터클럭펄스에 의해 누승계수를 실행하여 가산기(230)에 공급하게 되며, 이의 작동을 설명하면, 다음과 같다.
피드백로우프(211)을 구성하는 세개의 배타적논리합소자들(G2~G4)의 접속관계를 설명하면, 배타적논리합소자(G2)는 플립플롭(FF16)의 출력과 플립플롭(FF10)의 출력을 비교하여 같을때 "0"을 다를때는 "1"을 멀티플렉서(ML11)에 공급하고, 배타적논리합소자(G3)는 플립플롭(FF16)의 출력과 플립플롭(FF11)의 출력을 비교하여 같을때 "0"을 그리고 다를 때엔 "1"을 멀티플렉서(ML12)에 공급하며, 배타적논리합소자(G4)도 플립플롭(FF16)의 출력과 플립플롭(FF12)의 출력을 비교하여 같을 때 "0"을 다를 때엔 "1"을 멀티플렉서(ML13)에 공급한다. 그리고 피드백루우프(211)는 상기 세개의 배타적논리합소자들(G2~G4)뿐아니라, 플립플롭(FF9)의 출력단자(Q)와 멀티플렉서(ML2)의 입력단자간의 접속라인과 플립플롭(FF13)의 출력단자(Q)와 멀티플렉서(ML6)의 입력단자간의 접속라인, 플립플롭(FF14)의 출력단자(Q)와 멀티플렉서(ML7)의 입력단자간의 접속라인, 플립플롭(FF15)의 출력단자와 멀티플랙서(ML8)의 입력단자의 접속라인, 플립플롭(FF16)의 출력단자(Q)와 멀티플랙서(ML1)의 입력단자간의 접속라인을 포함한다.
8개의 멀티플랙서들(ML1~ML8)은 각각 상기 입력단자(240)을 통해 선택단자(SEL)로 인가되는 블록동기신호에 의해 하이논리상태의 펄스기간동안에 제 2 입력포트(250~257)상에 공급된 8비트의 오류위치다항식계수를 1비트씩 분산입력하여 각각 대응접속된 플립플롭(FF9~FF16)의 입력단자(D1)에 공급하고, 반대로 블록동기신호의 로우논리상태의 펄스시간에는 상기 피드백루우프(211)의 해당 출력을 각각 유입하여 대응 접속되어진 플립플롭들 (FF9~FF16)의 입력단자(DI)에 공급한다.
8개의 플립플롭(FF9~FF16)은 각각의 입력단자(DI)에 대응 접속되어진 상기 멀티플렉서들(ML1~ML8)의 출력을 상기 입력단자(2A1)을 통해 클럭단자(CLK)로 인가되는 마스터클럭펄스의 폴링에 지시에 래치하여 제 3 도중 303과 같이 누승 카운터된 D
Figure kpo00191
0~D
Figure kpo00192
31을 순차적으로 발생하고, 발생된 D
Figure kpo00193
0~
Figure kpo00194
31을 순차적으로 가산기(230)에 공급한다.
Figure kpo00195
21연산수단(220)은 제 1 입력단자(240)상의 블록동기신호에 의해 초기화된 후 제 2 입력단자(241)상에 마스터클럭펄스에 의해 누승 카운하여 카운트된
Figure kpo00196
21을 가산기(230)에 공급하게 되며, 이를 상세히 설명하면 다음과 같다.
피드백루우프(221)은 6개의 배타적논리합소자들(G5~G10)을 포함하며, 이들 배타적논리합소자들(G5~G10)의 접속구성을 설명하면, 배치적논리합소자(G5)는 플립플롭(FF17)의 출력과 플립플롭(FF23)의 출력을 비교하여 같을 때 "0"을 그리고 다를 때엔 "1"을 멀티플렉서(ML11)에 공급하고, 두개의 배타적논리합소자(G6, G7)는 세개의 플립플롭(FF18, FF23, FF24)의 출력을 비교하여 같을때 "0"을 그리고 다를때 "1"을 멀티플렉서(ML12)에 공급하며, 두개의 배타적논리합소자들(G8, G9)은 세개의 플립플롭들(FF19, FF23, FF24)의 출력을 비교하여 같을때 "0"을 그리고 다를때 "1"을 멀티플렉서(ML13)에 공급하고, 배타적논리합소자(G10)는 두개의 플립플롭(FF20, FF24)의 출력을 비교하여 같을때 "0"을 그리고 다를때 "1"을 멀티플렉서(ML14)에 공급한다.
또한 상기 피드백루우프(221)는 플립플롭(FF21)의 출력단자(Q)와 멀티플렉서(ML15)간의 접속라인, 플립플롭(FF22)의 출력단자(Q)와 멀티플렉서(ML16)간의 접속라인, 플립플롭(FF23)의 출력단자(Q)와 멀티플렉서(ML9)간의 접속라인, 플립플롭(FF24)의 출력단자(Q)와 멀티플렉서(ML10)간의 접속라인을 더 포함한다.
한쪽입력단자를 공급전원(Vcc)에 접속하고 있는 멀티플렉서(ML9)와 한쪽입력단자를 기저전원(GND)에 접속하고 있는 멀티플렉서(ML10~ML16)들은 나머저 한쪽입력단자를 상기 피드백루우프(221)에 각각 접속하여 상기 제 1 입력단자(240)을 통해 선택단자(SEL)로 인가되는 블럭동기신호의 논리상태에 따라 상기 블럭동기신호의 하이논리상태 펄스기간동안에는 상기 기저전원(GND) 및 공급전원(Vcc)쪽에 접속된 입력단자쪽의 초기값인 "00000001"을 선택하여 대응 접속된 플립플롭들(FF17~FF24)에 공급하며, 반대로 상기 블럭동기신호의 로우논리상태 펄스시간동안에는 상기 피드백로우프(221)의 출력을 선택하여 대응접속된 플립플롭들(FF17~FF24)에 공급한다.
8개의 플립플롭들(FF17~FF24)은 각각 상기 제 2 입력단자(241)을 통해 클럭단자(CLK)로 인가되는 마스터클럭펄스의 폴링에지시마다 각각의 입력단자(DI)에 대응접속된 멀티플렉서들(ML9~ML16)의 출력을 출력단자(Q)로 래치하여 제 3 도중 304와 같이 누승카운트된
Figure kpo00197
0,
Figure kpo00198
2
Figure kpo00199
60,
Figure kpo00200
62를 순차적으로 발생하며, 발생된
Figure kpo00201
0,
Figure kpo00202
2
Figure kpo00203
60,
Figure kpo00204
62들을 발생순차에 의해 가산기(230)에 공급한다.
가산기(230)은 상기 레지스터(200)중의 8개의 플립플롭(FF1~FF8)의 출력과 상기 D
Figure kpo00205
1연산수단(210)내의 8개의 플립플롭(FF9∼FF16)의 출력과 상기
Figure kpo00206
21연산수단(220)내의 8개의 플립플롭(FF17~FF24)을 가산하여 부논리합소자(G11)에 공급한다.
부논리합소자(G11)는 상기 가산기(230)의 8비트 출력값이 "0"인가를 검사하기 위하여 부논리곱연산을 하여 연결결과 "0"일 경우 하이논리상태 갖고 반대로 "0"이 아닌 경우에는 로우논리상태를 갖는 다항식연산결과신호를 출력단자(258)에 공급한다.
출력단자(258)은 제 1 도에 도시된 회로도중 오류위치 검출부(105)에 접속된다.
제 4 도는 제 1 도에 도시된 회로도중 워어드위치계수부(104)의 상세회로도이며, 이의 구성을 설명하면, 입력단자(401)상에 공급되는 마스터클럭펄스를 클럭단자(CLK)로 유입하는 8개의 플립플롭(FF25~FF32)과, 상기 각 플립플롭들(FF25~FF32)의 출력을 논리연산하여 상기 각 플립플롭들(FF25~FF32)에 공급하기 위하여 세개의 배타적논리합소자(G12~G14)들로 이루어진 피드백루우프(400)와, 상기 피드백루우프(400)와 상기 각 플립플롭들(FF25~FF32)의 입력단자(DI) 사이에 접속되어 입력단자(401)을 통해 선택단자(SEL)로 인가되는 블록동기신호의 논리상태에 따라 상기 피드백루우프(400)의 출력과 초기설정값을 선택출력하는 8개의 멀티플렉서들(ML17~ML24)로 구성된다.
이어서 제 4 도에 도시된 회로의 작동을 상세히 설명한다.
제1, 2입력단자(401, 402)는 제 1 도에 도시된 회로중 제어부(110)에 접속되어 블록동기신호 및 마스터클럭펄스를 공급받는다. 피드백루우프(400)을 구성하는 세개의 배타적 논리합소자들(G12~G14)의 접속관계를 설명하면, 배타적논리합소자(G12)는 플립플롭(FF26)의 출력과 플립플롭(FF32)의 출력을 비교하여 같을때 "0"을 다를때 "1"을 멀티플렉서(ML19)에 공급하고, 배타적논리합소자(G13)는 플립플롭(FF27)의 출력과 플립플롭(FF32)의 출력을 비교하여 같을 때 "0"을 그리고 다를때엔 "1"을 멀티플렉서(ML20)에 공급하며, 배타적논리합소자(G14)도 플립플롭(FF28)의 출력과 플립플롭(FF32)의 출력을 비교하여 같을때 "0"을 그리고 다를때엔 "1" 멀티플렉서(ML21)에 공급한다. 그리고 피드백루우프(211)는 상기 세개의 배타적논리합소자들(G12~G14)뿐 아니라, 플립플롭(FF25)의 출력단자(Q)와 멀티플렉서(ML18)의 입력단자간의 접속라인과 플립플롭(FF29)의 출력단자(Q)와 멀티플렉서(ML22)의 입력단자간의 접속라인, 플립플롭(FF30)의 출력단자(Q)와 멀티플렉서(ML23)의 입력단자간의 접속라인, 플립플롭(FF31)의 출력단자와 멀티플렉서(ML24)의 입력단자간의 접속라인, 플립플롭(FF32)의 출력단자(Q)의 멀티플렉서(ML17)의 입력단자간의 접속라인을 포함한다.
한쪽입력단자를 공급전원(Vcc)에 접속하고 있는 멀티플렉서(ML17)와 한쪽입력단자를 기저전원(GND)에 접속하고 있는 멀티플렉서(ML18~ML24)들은 나머지 한쪽입력단자를 상기 피드백루우프(400)에 각각 접속하여 상기 제 1 입력단자(401)을 통해 선택단자(SEL)로 인가되는 블럭동기신호의 논리상태따라 상기 블럭동기신호의 하이논리상태 펄스 기간동안에는 상기 기저전원(GND) 및 공급전원(Vcc)쪽에 접속된 입력단자쪽의 초기값인 "00000001"을 선택하여 대응 접속된 플립플롭들(FF25~FF32)에 각각 분산 공급하며, 반대로 상기 블럭동기신호의 로우논리상태 펄스기간동안에는 상기 피드백루우프(400)의 출력을 선택하여 대응 접속된 플립플롭들(FF25~FF32)에 각각 분산 공급한다.
8개의 플립플롭들(FF25~FF32)은 각각 상기 제 2 입력단자(402)을 통해 클럭단자(CLK)로 인가되는 마스터클럭 펄스의 폴링에지시마다 각각의 입력단자(DI)에 대응접속된 멀티플렉서들(ML17~ML24)의 출력을 출력단자(Q)로 워어드위치값
Figure kpo00207
0,
Figure kpo00208
1,…
Figure kpo00209
30,∼31들을 순차적으로 누승 카운트하게 되며, 누승카운트된 워어드위치값을 출력포트(403~410)에 공급한다. 출력포트(403~410)은 제 1 도에 도시된 회로중 오류위치값 검출부(105)에 접속된다.
제 5 도는 제 1 도에 도시된 회로중 오류위치값검출부(105)의 상세회로도이며, 이의 구성을 설명하면, 다음과 같다.
제 1 레지스터(500)는 입력포트(520~527)을 통해 유입되는 워어드위치값을 저장하기 이해 8개의 플립플롭(FF33~FF40)으로 이루어져 있고, 상기 제 1 레지스터(500)의 출력을 저장하기 위한 제 2 레지스터(510)도 8개의 플립플롭(FF41~FF48)로 이루어져 있다.
논리곱소자(G15)는 제 1 입력단자(528)을 통해 유입되는 마스터클럭펄스에 동기화시켜 상기 제1, 2레지스터(500, 510)에 공급한다.
이어서 제 5 도에 제시된 회로의 작동을 상세히 설명한다.
입력포트(520~527)는 제 1 도에 도시된 회로중 워어드위치계수부(104)에 접속되며, 좀더 상세히 설명하면, 제 4 도에 도시된 회로중 출력포트(403~410)에 접속된다.
제 1 입력단자(528)은 제 1 도에 도시된 회로중 오류위치 다항식연산부(103)에 접속되며, 좀 더 상세히 설명하면, 제 2 도중 출력단자(258)에 접속된다.
그리고 제 2 입력단자(529)는 제 1 도에 도시된 회로중 제어부(110)에 접속된다.
논리곱소자(G15)는 상기 제 1 입력단자(528)상에 공급되는 다항식연산결과신호와 상기 제 2 입력단자(529)상에 공급되는 마스터클럭펄스를 논리곱 연산하여 상기 다항식 연산결과신호를 마스터클럭펄스에 동기된 펄스를 생성한다.
제 1 레지스터(500)를 구성하는 8개의 플립플롭(FF23~FF40)들은 상기 입력포트(520~527)상에 공급되는 워어드 위치값을 상기 논리곱소자(G15)로부터 펄스신호가 각각의 클럭단자(CLK)로 인가될 때 각각 1비트씩 래치하여 제 1 출력포트(530~537)와 대응접속된 제 2 레지스터(510)내의 개의 플립플롭(FF41~FF48)의 입력단자(DI)에 공급한다.
제 2 레지스터(510)을 구성하는 8개의 플립플롭들 (FF41~FF48)도 상기 제 1 레지스터(500)내의 8개의 플립플롭(FF33~FF40)으로 부터 각각 유입되는 워어드위치값을 상기 논리곱소자(G15)로 부터 각각의 클럭단자(CLK)로 펄스가 인가될 때마다 래치하여 제 2 출력포트에 공급한다.
상기 제1, 2출력포트(530~537, 538~545)는 제 1 도에 도시된 회로중 오류값산출부(105)에 접속된다.
제 6 도는 제 1 도에 도시된 회로중 오류값산출부(105)의 상세회로도로서, 이의 구성을 설명하면, 다음과 같다.
제 1 승산기(600)는 제 1 입력포트(630~637)와 제 3 입력포트(646~653)에 접속되고, 제 2 승산기(601)는 제 2 입력포트(638~645)에 접속된다. 제 1 가산기(610)는 상기 제 1 승산기(600)의 출력포트와 제 4 입력포트에 접속되고, 제 2 가산기(610)는 상기 제 2 승산기(601)의 출력포트와 상기 제 4 입력포트(654~661)에 접속된다. 제 1 반전회로(620) 및 제 2 반전회로(621)는 제 5 입력포트와 공통접속된다.
제 3 승산기(602)는 상기 제 1 가산기(610)의 출력포트 및 상기 제 1 반전회로(620)의 출력포트와 제 1 출력포트(670~677) 사이에 접속되고, 제 4 승산기(603)는 상기 제 2 가산기(611)의 출력포트 및 상기 제 2 반전회로(621)의 출력포트와 제 2 출력포트(678~685)사이에 접속된다.
이어서 제 6 도에 도시된 회로의 작동을 상세히 설명한다.
제1, 2입력포트(630~637, 638~645)는 제 1 도에 도시된 회로중 오류위치값검출부(105), 즉 제 5 도에 도시된 제1, 2 출력포트(530~537, 538~545)에 접속되어 검출된 두개의 오류위치값을 공급받는다.
제3, 4입력포트(646~653, 654~661)는 제 1 도에 도시된 회로중 신드로움발생부(102)에 접속되어 각각 8비트의 신드로움 S0, S1을 공급받는다.
제 5 입력포트(662~669)는 제 1 도에 도시된 회로중 오류위치다항식계산연산부(103)에 접속되어 8비트의 오류위치다항시계수 D를 공급받는다.
제 1 승산기(600)는 상기 제 1 입력포트(630~637)상 공급되는 두번째 검출된 8비트의 오류위치값과 상기 제 3 입력포트(646~653)상에 공급되는 신도로움 S0와 곱셈연산하여 연산된 결과를 제 1 가산기(610)에 공급한다.
제 2 승산기(601)도 상기 제 2 입력포트(638~645)상에 공급되는 첫번째 검출된 8비트의 오류위치값과 상기 제 3 입력포트(646~653)상에 공급되는 신드로움 S0와 곱셈연산하여 그 결과는 제 2 가산기(611)에 공급한다.
제 1 가산기(610)은 상기 제 1 승산기(600)의 출력을 상기 제 4 입력포트(654~661)상에 공급되는 신드로움 S1과 가산하여 그 결과를 제 3 승산기(602)에 공급한다.
제 2 가산기(611)도 상기 제 2 승산기(601)의 출력을 상기 제 4 입력포트(654~661)상에 공급되는 신드로움 S1과 가산하여 그 결과를 제 4 승산기(603)에 공급한다.
제1, 2반전회로(520, 521)은 상기 제 5 입력포트(662~669)상에 공급되는 오류위치다항식계수 D를 유입하여 "1"을 상기 오류위치다항식계수 D로 나눈 값이 되도록 반전시키고, 반전된 결과값, 즉 오류다항식계수 D의 역수값을 각각 제3, 4승산기(602, 603)에 공급한다.
제 3 승산기(602)는 상기 제 1 가산기(610)의 출력과 상기 제 1 반전회로(620)의 출력을 곱셈연산하여 산출된 나중에 발생된 오류에 대한 오류값을 제 1 출력포트(670~677)에 인가한다. 제 4 승산기(603)는 상기 제 2 가산기(611)의 출력과 상기 제 2 반전회로(621)의 출력을 곱셈연산하여 산출된 첫번째 발생된 오류에 대한 오류값을 제 2 출력포트(678~685)에 인가한다.
상기 산출된 오류값을 공급받는 제1, 2출력포트(670~677, 678~685)는 제 1 도에 도시된 회로중 완충기록기(107)에 접속한다.
상술한 바와같이 본 발명은 오류위치다항식
Figure kpo00210
21+D
Figure kpo00211
1+E의 값이 "0"이 될때, 카운트된 위어드위치값을 오류위치값으로 하여 오류값 연산을 하게 함으로 수행수순이 종전보다 간소화되고, 회로구성에 있어서도 롬의 필요성이 없어지므로 간단히 구성되며 또한 직접화가 가능하게 되는 이점이 있다.

Claims (11)

1블럭내에 n워어드와 각 워어드가 m비트로 이루어지는데 데이터의 오류정정방법에 있어서, 수신 n워어드 및 패리티검사행렬 H로 이루어지는 1블록 VK의 아래 연산에 의하여 k 신드로움 So~Sk-1을 구하는 단계와,
Figure kpo00212
(다만, 패리티검사행렬 H은 n열(column) 및 k행(row)을 가지며, 1규정행의 각 원소는
Figure kpo00213
o(=1)~
Figure kpo00214
2m-2에서 선택되며, 원소는
Figure kpo00215
는 F(x)가 GF(2)상에서 기약(旣約)의 다항식 일 때, F(x)=0을 충족시키는 평방근(root)이며, 따라서 동일값은 상기 소정행에 두번 나타나지 않으며, 그밖의 행의 원소는 각 행내의 모든 원소에 대하여 상기 소정행의 대응원소는 누승으로 선택되게 이루어져 있음).
상기 신드로움에 의하여 아래의 계수 A, B 및 C를 구하는 단계와,
Figure kpo00216
상기 계수 A, B 및 C에 의해 오류위치다항식 계수 D, E를 연산하는 단계와, 오류위치다항식의 1, 2차변수
Figure kpo00217
i,
Figure kpo00218
2i와 워어드 위치값
Figure kpo00219
i를 계수하면서 상기 오류위치다항식 계수 D, E 및 1, 2차변수
Figure kpo00220
i,
Figure kpo00221
2i로 이루어지는 오류위치다항식
Figure kpo00222
2i+D
Figure kpo00223
i+E를 연산하는 단계와, 상기 오류위치다항식
Figure kpo00224
2i+D
Figure kpo00225
i+E가 "0"될 때의 워어드 위치값들을 오류위치값들로 검출하는 단계와, 상기 오류위치값들과 상기 신드로움 S0, S1및 오류위치다항식 계수 E에 의하여 오류값들을 산출하고 산출된 오류값들은 오류가 발생된 워어드에 가산하는 단계를 포함하여, 2워어드 오류까지 정정되도록 함을 특징으로 하는 오류정정방법.
블록단위의 수신워어드를 수신하여 신드로움을 발생하기 위한 신드로움발생부와, 상기 신드로움에 의해 오류위치다항식계수들 D, E를 생성하기 위한 오류위치다항식계수연산부와, 상기 오류위치다항식계수들 D, E를 유입하여 워어드 위치별 오류위치다항식을 연산하는 오류위치다항식 연산부와, 상기 워어드위치를 계수하는 워어드위치계수부와, 상기 오류위치다항식연산부의 출력신호에 의해 상기 워어드위치계수부의 카운터값을 포착하기 위항 오류위치값 검출부와, 상기 오류위치값검출부의 출력과 상기 신드로움발생부 및 상기 오류위치다항식계수의 출력을 유입하여 오류값을 산출하는 오류값 산출부와, 상기 오류값산출부의 출력을 일시 저장하기 위한 완충기록기와, 상기 완충기록기의 출력을 수신워어드와 가산하여 정정된 워어드를 송출하는 가산기와, 상기 가산기로 유입되는 수신워어드를 오류정정에 소요되는 시간만큼 지연시키기 위한 완충기억장치와, 상기 각 회로부에 적절한 타이밍제어신호를 제공하기 위한 제어부를 포함함을 특징으로 하는 오류정정장치.
제 2 항에 있어서, 오류위치다항식연산부가 상기 오류위치다항식계수연산부로 부터 발생된 오류위치다항식계수 E를 블록동기기간에 유입하여 블록워어드기간동안 저장하기 위한 레지스터와, 상기 오류위치다항식계수연산부로 부터 블록동기간에 오류위치다항식계수 D를 유입한 후 블록워어드기간동안 1차변수
Figure kpo00226
i를 카운트하면서 카운트된
Figure kpo00227
i와 상기 유입된 오류위치다항식계수 D를 승산하는 D
Figure kpo00228
i연산수단과, 블록워어드기간에 2타변수
Figure kpo00229
2i를 카운트하는
Figure kpo00230
2i연산수단과, 상기 레지스터 및 D
Figure kpo00231
i연산수단과
Figure kpo00232
2i연산수단의 출력을 가산하기 위한 제 2 가산기와, 상기 제 2 가산기의 출력을 논리연산하여 상기 가산기의 출력이 "0"일시 특정 논리상태를 다항식 연산결과신호를 상기 오류위치값검출부에 인가하는 논리소자를 포함함을 특징으로 하는 오류정정장치.
제 3 항에 있어서, 논리소자가 부논리합 연산을 포함함을 특징으로 하는 오류정정장치.
제 3 항에 있어서, 상기 D
Figure kpo00233
i연산수단이 상기 제어부로 부터 인가되는 클럭펄스에 의해 작동되는 적어도 2개이상의 기억용소자와, 상기 기억용소자들의 출력들을 논리연산하여 상기 기억용소자들의 입력단자쪽에 공급하기 위한 피드백 루우프와, 상기 리드백루우프와 상기 기억소자들의 입력단자들과 상기 오류위치 다항식계수연산부의 계수 D출력포트사이에 접속사이에 각각 접속된 적어도 2개이상의 선택소자를 포함함을 특징으로 하는 오류정정장치.
제 5 항에 있어서, 상기 적어도 2개이상의 선택소자가 상기 제어부로 부터 인가되는 블록동기신호에 의해 블록동기기간에는 상기 오류위치다항식계수연산부의 출력인 오류위치다항식계수 D를 선택하고 블록워어드기간에는 상기 피드백루우프의 출력을 선택함을 특징으로 하는 오류정정장치.
제 3 항에 있어서, 상기 제어부로 부터 인가되는 클럭펄스에 의해 작동되는 적어도 2개이상의 기억용소자와, 상기 기억용소자들의 출력들을 논리연산하여 그 결과를 상기 기억용소자들의 입력단자쪽에 공급하기 위한 제 2 피드백루우프와, 각각 상기 피드백루우프에 한쪽 입력단자를 그리고 출력단자를 대응된 상기 기억용소자쪽에 접속하고 나머지 한쪽단자로 각각 초기값을 유입하는 적어도 2개이상의 선택소자를 포함함을 특징으로 하는 오류정정장치.
제 7 항에 있어서, 상기 선택소자들에 유입되는 전체 초기값이 "1"임을 특징으로 하는 오류정정장치.
제 2 항에 있어서, 상기 오류위치값검출부가 상기오류위치다항식연산부롤 부터 다항식연산결과신호가 인가될때마다 상기 워어드위치계수부의 계수값을 오류위치값으로 검출하여 상기 오류값산출부에 공급하는 적어도 1개이상의 레지스터를 포함함을 특징으로 하는 오류정정장치.
제 9 항에 있어서, 상기 오류위치값검출부가 상기 오류위치다항식연산부의 출력인 다항식연산결과신호를 상기 제어부로 부터 인가되는 클럭펄스와 동기시켜 상기 적어도 1개 이상의 레지스터에 공급하기 위한 제 2 논리소자를 더 포함함을 특징으로 하는 오류정정장치.
제 9 항에 있어서, 상기 제 2 논리소자가 논리곱연산을 수행함을 특징으로 하는 오류정정장치.
KR1019900014001A 1990-09-05 1990-09-05 오류 정정방법 및 장치 KR930002853B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019900014001A KR930002853B1 (ko) 1990-09-05 1990-09-05 오류 정정방법 및 장치
JP3093319A JPH0722965A (ja) 1990-09-05 1991-03-29 エラー訂正方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900014001A KR930002853B1 (ko) 1990-09-05 1990-09-05 오류 정정방법 및 장치

Publications (2)

Publication Number Publication Date
KR920007367A KR920007367A (ko) 1992-04-28
KR930002853B1 true KR930002853B1 (ko) 1993-04-12

Family

ID=19303259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900014001A KR930002853B1 (ko) 1990-09-05 1990-09-05 오류 정정방법 및 장치

Country Status (2)

Country Link
JP (1) JPH0722965A (ko)
KR (1) KR930002853B1 (ko)

Also Published As

Publication number Publication date
KR920007367A (ko) 1992-04-28
JPH0722965A (ja) 1995-01-24

Similar Documents

Publication Publication Date Title
EP0158510B1 (en) Error detection and correction in digital communication systems
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
US5157669A (en) Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
EP0567148B1 (en) Operating circuit for galois field
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
EP0838905B1 (en) Reed-Solomon Decoder
EP0112988A2 (en) Syndrome processing for multibyte error correcting systems
US5805617A (en) Apparatus for computing error correction syndromes
US4841300A (en) Error correction encoder/decoder
EP0105499B1 (en) Method capable of simultaneously decoding two reproduced sequences
JPH0728227B2 (ja) Bch符号の復号装置
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
KR100258952B1 (ko) 새로운 다항식 배열 구조를 채용한 리드-솔로몬(rs) 복호기와그 복호방법
JPH0879094A (ja) リード−ソロモン・デコーダ
KR930002853B1 (ko) 오류 정정방법 및 장치
US5694405A (en) Encoder and decoder of an error correcting code
JPH05227041A (ja) Crc演算に基づく1ビット誤り訂正回路
EP0619654B1 (en) Error correction using the Euclide algorithm and involving a check on the difference between the degrees of the dividend and divisor polynomials
JP3614978B2 (ja) ガロア体の除算方法および除算装置
JP3812983B2 (ja) エラー評価多項式係数計算装置
JP2726902B2 (ja) 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路
JP3398560B2 (ja) 短縮化誤り訂正復号装置
KR930002854B1 (ko) 오류 정정방법 및 장치
KR100335482B1 (ko) 에러정정시스템
JPH08340342A (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: 20090316

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee