李晩榮 서울대학교 工學士 (B. S. E. E.) 미국 콜로라도 대학교工學碩士 ( M. S.E . E.) 工 學博 士 (Ph . D. ) 미국 버지니아 주립대학교 공대교수 미국 캘리포니아 I 大 JPL 연구원 국방과학연구소 부소장 한국전자통신 사장 삼성반도체통신 사장 한양대학교 부총장 현재 한양대학교 명예교수 저서 Error Correcti ng Codin g The or y, McGraw- Hi ll, New York, 198 9.
BCH 부호와 Reed-Solomon 부호
,.¢. ,. 广.혼 \—\( .lm\ i.'\ 떠. ' ‘ g[—Eg )- ,`i건七 Fl. ` ` .-. ;. \. 5‘·. .. r:. ~b ..r 一} . - . f一t - ?.,f'I .`,. '·.3f1. `,··.'I1 ’ .
BCH 부호와 Reed- So lomon 부호
책 머리에 디지탈 통신 시스템의 도입이 거 의 모 든 동신망 에 확산됨 에 따라 통 신 채널에서 발생하는 오류 를 효율 적 으로 제 어 하기 위한 오 류정정 아 론은 이 제 더 이상 부호 이론가 둘 의 전 유 물 이 아니 라 동신 시스템 설계 시 반 드 시 고려되어야 할 매우 중요한 기 술분 야로 정착되 었다. 또한 V LSI 기 법 의 발전, 새로운 서비스에 대한 사용 자 의 일정 수 준 이상의 전송 품질 의 요구, 광대역 전송기법 및 전 송매 체 의 개발 등은 오 류정 정 부호 의 디지 탈 시스템 통신에의 도입을 가속화시 킬 것 이다 . 따라서 이 책 에서 는 통 신 망 에서 발생하는 오류를 효율적으로 제 어하기 위해 통 신 시 스템 에 현재 널 리 이용되고 있거나 도입될 예정인 alge braic 부호 (BCH , RS 부호 ) 에 대 해 1980 년 이후 소개된 복호기법을 자세히 기술하며, al g ebra i c 부호 의 복호기 설계시 필연적으로 소요되는 승산기 (multip li c a ti on circ uit ), 제산 기 (div i s i o n circ uit ) , 가산기 (addit ion cir c uit ) , 역 산기 (inv ersio n cir c uit ) 등 의 연산기 기본구조 및 설계이론을 제시한다. 이 책의 1 장에서는 오류정정이론의 통신망에 있어서의 역할, 역사, 오 류정정부호의 종류, 발전단계, 그리고 기술 발전추이 등을 개괄적으로 고찰하고, 2 장에서는 al g ebra ic부호의 부호기 및 복호기 설계시 소요되는 승산기, 제산기, 가산기, 역산기 그리고 이중근 및 자승기회로 (s q uare root and squ arin g circ uit s ) 등의 여 러 연산기 에 대 해 Galois 체 상에 서 의 표준기 지 (sta n dard basis ) , 정 규기 지 (normal basis ) , 쌍대 기 지 (dual basis ) 그리 고 지 수표현 (exp o nenti al rep re senta t i on ) 등을 이 용하여 기 본 이 론을 분석하고 관련 하드웨어 구조를 제시한다. 또한 이 를 실제로 부호기 및
복호기 설계시 널리 이용될 수 있도록 관련 회로를 설계한다• 3 장에서는 다수개의 오류 를 정정할 수 있는 BCH 부호에 대한 여러 복 호기법웅 소 개한다. BCH 부호의 복호시 가장 중요한 복호단계는 오류위 치 다항식의 계수를 구하는 것이다. 이 를 위하여 지금까지 발표된 I3crlekam p의 반복 알고리즘, Pe t erson 의 직접 복호 알고리즘, 오류위치 다항식의 근윤 쉽게 결정할 수 있는 Chie n 알고리즘, 그리고 오류위치 다항식 의 근옹 병 련로 계 산할 수 있는 ROM (Read Only Memory ) 을 이 용 한 복호 안고 리 즘 등 여러 복호기법의 기본 이론을 분석하고 관련 알고 리 즘을 이용 했운 때의 복호 기 구조를 제시한다. 이 책 의 4 장 에서 는 비 2 원 BCH 부호의 일종이고 십벌 단위로 오류정정 이 가능하여 현대의 유선 및 무선 통신 시스템에 널리 이용되고 있는 Reed-Solomon 부호의 복호 기 법을 소개 한다. 여 기 에서 소개한 복호기 법 은 Pe t erson-Gorens t e i n-Z i eler 의 복호 알고리 즘, Berlekam p의 반복 복 호 알고리즘 , Fourie r 변환 영역에서의 복호 알고리즘, VLSI 의 파이프 라인 구조에 적합한 변형된 Eucl i d 의 알고리즘을 이용한 복호 알고리즘, 그리고 콤퓨 터의 메모리 시스템에 이용 가능한 아중오류정정_삼중오류겁 출 RS 부호에 대한 간단한 복호 알고리즘 등의 기본 이론을 분석하고 관 련 알고리즘 실현시의 복호기 구조를 제시한다. 이 책에서는 디지탈 통신 시스템, 암호 통신 시스템, 콤퓨터의 메모리 시스템, 광 통신 시스템, 비데오 통신 시스템 그리고 CD(Comp a ct Dis k ) , DAT (Digital Audio Tape ) 등의 가전제 품 분야를 포함한 거 의 모 든 통신 시스템에 널리 이용될 수 있는 alge braic 오류정정부호의 부호화 및 복호기법을 자세히 분석하고 제시하였다. 이 책은 대학원 석 • 박사 과정의 학생, 콤퓨터 및 통신 시스템 분야의 경력 과학 기술자 그리고 관련 분야의 연구원들을 위하여 쓰여졌으며 오 류정정부호의 부호기 및 복호기 설계시 널리 이용될 수 있을 것이다. 1990 년 3 월 이만영
차례 / BCH 부호와 Reed-Solomon 부호
책 머리에 7 제 1 장 개요 11 1-1 디지탈 부호화 시스템의 모델 • 12 1-2 오류정정부호의 체계 • 14 1-3 부호이론의 역사 • 16 1-4 부호의 응용 • 18 제 2 장 유한체 연산 21 2-1 벡터표현에 의한 연산 • 22 2-2 지수표현에 의한 연산 • 39 2-3 정규기지에 의한 연산 • 44 제 3 장 BCH 부호의 복호법 55 3-1 순회부호의 표현 • 55 3-2 BCH 부호의 구조와 부호화 • 57 3-3 오중계산 • 61 3-4 BCH 복호 • 63 3-5 Peterson, Gorenstein, Zierler의 직접복호기 • 653-6 Chien의 직접복호법 • 75
3-7 Berlekamp 알고리즘에 의한 BCH 부호의 복호 • 83 3-8 오증대칭행렬에 의한 복호법 • 93 3-9 BCH 부호의 복호를 위한 직접적인 접근방법 • 109 제 4 장 Reed-Solomon 부호의 복호법 121 4-1 RS부호의 부호화 기법• 122 4-2 RS부호의 Berlekamp복호법 • 130 4-3 Peterson-Gorenstein-Zierler 복호법 • 136 4-4 유한체 Fourier 변환을 이용한 복호법 • 141 4-5 Euclid알고리즘을 이용한 RS부호의 복호법 • 152 4-6 DBEC-TBED RS 부호 • 165 부록 A 유한체 GF(2m)상에서 Field Element의 다항식표현 및 벡터표현 173 부록 B BCH부호의 생성다항식 191 참고문헌 199 찾아보기 207제 1 장 개요 동 신 시 스 템에서 통신로 를 통한 디지탈 데이터 전송은 콤퓨터 기억장 치 에 서 의 데이터 저장과 많은 유사점을 갖고 있다. 통신로나 데이터 저 장 시스 템은 여러 형태의 잡음, 왜곡, 그리고 간섭 등에 영향을 받아 전 송중 발 생하는 오류로 인해 일반적으로 수신 데이터는 송신 데이터와 서 로 다 릅 수 있다. 따라서 통신 시스템이나 데이터 저장 시스템에서 처리 되 는 광대한 양의 데이터에 대한 오류제어의 필요성은 두말할 나위도 없 다. 오류정정부호나 정정알고리즘은 이와 같은 필요성을 만족시키기 위 해 발전되어 왔으며 현대의 많은 통신 시스템 또는 데이터 저장 시스템 에 응용되고 있다. 더구나 반도체 집적화 기법의 급속한 발전은 지금까 지 제안된 부호 및 복호알고리즘을 이용하여 오류정정용 부호기와 복호 기를 하나의 IC( Int e g rat e d C i rcu it)로 설계하고 제작할 수 있게 하였다. 오류정정부호이론은 고유한 역사와 연산 시스템을 갖는 특별한 학문 분야로서 데이터 전송시나 저장시에 발생되는 오류로부터 디지탈 데이터 를 보호하기 위해서 제안되고 발전되어 왔다. 지금까지 수많은 오류정정 알고리즘이 제안되어 왔고 실제 시스템에 적용되어 옹용되고 있으므로 이제 오류정정이론은 통신 시스템에 없어서는 안될 분야로 정착되었다.
1-1 디지탈 부호화 시스템의 모델 부호화된 통신 시스템은 그림 1.1에서 나타낸 바와 같 이 데이터 소스 (source), 채널부호기 그리고 변조기, 통신채널 또는 저장장치` 복소기 등으로 구성된 디지탈 통신채널, 채널복호기 및 데이터 싱크 (s i nk) 로 크 게 구성되어 있다. 그립 1.1의 각 블럭 사이의 정보교환은 오류제어옵 위 해 디지탈 형태로 이루어져야 한다• 정보원과 소스부호기로 구성되어 있는 데이터 소스에서는 정보원으로 부터의 신호를 2 원 (b i na ry)형태의 디지탈 데이터로 변환한다. 죽 소스부 호기는 정보원의 출력 신호 를 2 원정보계열 d 로 변환하는 역할을 수행한 다. 한편, 정보원의 출력은 연속적인 파형이거나 이산계열의 심볼 형태 이다. 아날로그 출력인 경우 소스부호기는 PCM(Pulse Code Modulati on )
i「- - --------- --- ----- --- ---、 ,---- ---- -- --- --~ --7
그림 1.1 디지탈 부호화 시스템의 블럭도
과 같은 아 날로그-디 지 탈 변 환 (AD : Analog to Dig ital Conversio n ) 기 능을 수행한다 . 채널부호기는 정보 계열 d 를 부호계열 c 로 변환하는 기능을 갖는다. 일반적으로 부호어는 오류정정을 위한 패리티 겁사 심볼과 정보계열로 구성되야 정보계열 d 의 길 이보다 크다는 것을 쉽게 알 수 있다. 부호어 에서 각각의 심봉은 2 원 비트 또는 2 원 비트의 군으로 표현될 수 있다. 채 \ ! - 't-r』 -호 기로부터 부호어 각각의 심볼은 변조기에 입력되어 통신채널 에 적합한 형 태의 신호로 변환된다. 따라서, 변조기는 심볼을 전송하기 위해 주 기 T 동안 부호어 각각의 심볼을 적당한 형태의 신호로 변환하 는 기 능을 수행하고 있다. 변조기법의 대표적인 예는 BPSK(Bi na 11· Phase Sh if t Ke y in g ) 또는 FSK (Freq u ency Shif t Key in g ) 변조 방식 등이 있다. 통신 시 스템 의 경우 채널은 유선 또는 우선의 통신채널이고, 데이 터 저장 시 스 템의 경우 채널은 데이터 저장 매개체가 될 것이다. 변조기 의 출력 파형은 채널을 통과하는 동안 여러 형태의 잡음에 의해 왜곡 또 는 변조된다. 일반적으로 디지 탈 통신채널은 변조기, 통신채널, 복조기 로 구성된다 . 통산 시스템의 경우 디지탈 통신채널은 · 전화선, 마이크로 파 링크, 고주파 무선 링크, 텔리메터리 링크, 위성 링크 등을 들 수 있 고 , 데이터 저장 시스템의 경우 저장 매개체는 코아 메모리, 자기 테이 프 , 드럼 , 디스크 파일과 광메고리 유닛 등을 들 수 있다. 위에 나열한 각각의 통신채널은 여러 형태의 잡음으로 인해 간섭받고 있다. 따라서 심볼 파형에는 산발 또는 연집 형태의 잡음이 부과된다. 이와 같은 형태의 잡음은 일반적으로 부가 Gauss i an 형태로 모델화된다. 또한 통신채널은 그 특성에 따라 오류의 형태가 각 심볼에 서로 무관하 게 발생 하는 무기 억 통신 채 널 (memoryl e ss channel) 과 오류가 각 심 볼에 서로 영향을 미치는 기억 동신채널 (memo ry channel) 로 구분된다. 무기억 통신채널로는 가시 전송 링크, 인공위성 링크 그리고 우주통신 링크 등 을 들 수 있고 기억 통신채널로는 다경로 신호 전송으로 인해 신호에 페 이 딩 (fad in g ) 현상이 발생하는 무선통신 링크, 스위 치 잡음 또는 선로간의 간섭현상으로 인해 영향받는 전화회선 그리고 디스크의 표면손상, 또는 표면상의 먼지 등으로 인해 발생되는 자기 기억장치 등을 들 수 있다. 물론 산발 또는 연집 형태의 오류가 복합적으로 발생되는 채널 또한 존
재한다. 채널을 동과한 수신 신호 는 먼저 복 조기 에 의해 처리된 후 다음 채널 복호기에 의해 원래의 정보계열로 복호된다. 복조기는 주기 T 동안 어떤 심볼이 실 제로 전송되었는가 를 결정한다 . 복조기의 출력 신호를 수신 부호어 r 이라고 한다. 이 수신 부호어 r 은 일반적으로 전송 오류로 인해 송신 부호어와 서로 다르고 복조기의 출력 은 일반적으로 2 원 디지탈 신호 형태 를 갖는다. 복조기는 출력 수신 부 호어 r 이 송신 부호어 c 로 가장 찰 추정될 수 있도 록 선 계되어 있지만 채널에서 발생된 잡음으로 인해 잘못 추정할 경우도 있다. 위와 간은 겅 우의 확률은 신호대 잡음비, 과도한 필터링, 또는 비선 형 목 성으로 인한 신호 왜곡, 그리고 검출 방법 등에 따라 달라질 수 없다. 채널복호기는 수신 부호어 r 을 정보어 d 로 변환하는 기능을 수행한 다. 채널복호기는 과도한 오류로 인해 수신 부호 어에 오류 를 부가하는 경우가 발생될 수 있으므로 복호 오류확 률 이 최소화될 수 있도 록 설계되 어야 한다. 또한, 채널복호기는 수신 부호어에서의 오류 를 정정하기 위 해 수신 부호어로부터의 오중을 이용하여 복호한 후 , 정보어 d 를 결정한다 . 소스복호기는 추정된 정보어 d 로부터 원래 형태의 신호 몰 재생하여, 이를 사용자에 전달하는 기능을 수행한다. 이 책에서는 . BCH 부호 및 RS 부호의 부호기와 복호기에 대해 분석하 고, 설계하며, 이를 장치화하는 기법을 제시한다. 소스부호기나 복호기 에서 수행되는 데이터 압축기법은 취급되지 않으며 정보와 소스부호기는 출력이 d 인 디지탈 데이터 소스로 합쳐지며 변조기, 통신채널(또 는 저장 매개체) 그리고 복조기는 입력이 C 이고 출력이 r 인 부호채널로 합쳐지 고 소스복호기와 사용자는 디지탈 데이터 싱크로 합쳐진다. 따라서 이 책에서는 채널부호기와 채널복호기를 단순히 부호기 또는 복호기로 지칭 하였다. 1-2 오류정정부호의 체계 오류정정부호는 크게 블럭부호 (block code) 와 길쌈부호 (convolu ti onal
cod e ) 로 나 누 어져 발전 되어 왔다. 불럭부호의 모 든 데이터 는 〈 1 〉 과 〈 O 〉 의 2 원계열로 표현된다. 블럭부호의 부호기 는 정보 계 열 이 k 비 트로 구성된 정보어 를 n 바트로 구성된 부호어로 변환하 는 기능을 수 행한다. 따라서 각각의 정보어는 k 차 벡터 형태로 표 현된 수 있 으 며 , 이 는 d= (do, d,, …, dk - 1) 로 표현된다. 따라서 정보어에 는 전체 2k 가지 의 서로 다 른 정보계열 을 가질 수 있다. 부호기는 이 k 비 트 의 정보 어 d 웅 n 차 부호 어 c 로 변환한다• 한편 c 는 C = (co, C1, •••. C11 - 1) 로 표현되고 부호어 각각의 요소는 q개 의 요 소강 갖 는 알파벳으 로 부 터 선 택된다. q = 2 인 경우 2 원불럭부호, q > 2 인 경우 비 2 원 문 러부호 라 한 다. 따라서 2 원 불 럭부호에는 모두 2n 개의 부호 어 가 존 재 하지만 그중 간 개 를 뽑아서 2 원블럭부호를 형성한다. 따라 서 k 정보계열은 부호 기에 의해 길이가 n 인 2 원 부호어로 사상 (ma ppi n g) 된 다 . 한편 (11, k) 블럭부호는 길 이가 n 인 간 개의 부호어로 구성되어 있다. 여가 서 부호화율 R 은 R = k /n 이다. 따라서 n 비트의 부호어 c 는 k 비트 의 정보 어 d 에만 영향 을 받으므로 부호기는 조합논리회로 (comb i na ti onal log ic c i r c u it) 로 구현될 수 있다. 블럭부호의 경우 n-k 비트의 용장 (r e dund a nc y) 을 k 비트의 정보어에 첨가함으로써 부호어를 형성하므로, 이 용 장 비 트 를 이용하여 채널에서 발생하는 오류를 정정한다. 따라서 용 장 n - k 비트 를 패리티 검사 비트라 한다. 오 류 정정부호에 있어서 또 하나의 중요한 변수는 부호어의 중 (we ig h t) 으 로써 이는 각 부호어에서 영이 아닌 성분의 갯수를 나타낸다. 일반적 으로 각각의 부호어는 자신의 중을 가지고 있다. 따라서 부호의 중의 집 합은 부호의 중 분포를 형성한다. 두 부호어 사이의 거리는 대응되는 성 분 중 서로 다른 성분 쌍의 갯수로 정의된다. 이를 Hamm i n g거리라 하 며 간부호어에 대한 Hamm i n g거리의 집합 중 가장 작은 것이 그 부호의 최소거리 dm1n 이라 정의한다. 최소거리가 dm1n 인 (12, k) 선형부호는 t =L(dm i n-1) /미개 이하의 오류 룰 정정할 수 있다. 여기서 Lx 」 는 x 이하의 최대정수이다. 한편, 선형블럭부호의 복호시 Group , Ri ng , Galo i s 체와 같은 추상 대수 학 분야가 이용되며 이 책의 2 장에서는 Galo i s 체를 이용한 연산을 수행
했을 때 쉽게 장치화하는 기법들에 대해 기술하였다 한편, 오류정정부호의 또 다른 분야인 길쌈부호는 m 단의 치환레지스 터와 n 개의 modulo ― 2 가산기, 그리고 다중화기 (multip l exer) 등으로 구 성된 부호기에 의해 생성된다. 일반적으로 최우길쌈부호의 복호기법은 Vi ter bi 알고 리 즘 을 이 용 한 최 우 복 호 법 (maxim um-lik l ih o od decodin g ) , Fano 혹은 스택 (sta c k) 알고리즘을 이용한 축차복호법 (seq u enti al decod- ing ) 그리고 대수학적 특성을 이용한 임계 또는 다수결복호기법 동이 있 다. 1967 년 제안된 Vi ter bi 알고리즘은 길쌈부호의 도형적 구조에서 최소 경로(p a t h) 를 찾는 알고리즘으로 최우복호기법이라 하며, 비교적 구속장 (constr a in t len gt h) 의 길이가 짧은 길쌈부호의 복호시 능 률 적인 복호법으 로 평가되고 있다. 그러나 구속장의 길이가 큰 경우는 복호기의 복잡도 (com p lex ity)가 기하급수적으로 증가한다는 단점이 있다. 1961 년 Wozencra ft에 의해 제안된 축차복호법은 그후 25 년여 동안 계 속해서 연구되어 왔다. 1963 년 Fano 는 Fano 알고리즘이라 불리는 새로운 축차복호법을 제안했고 1966 년과 1969 년에 Z ig an gi rov 와 J e li nek 가 각각 제안한 ZJ 또는 스택 알고리즘도 축차복호법의 한 부류이다. 축차복호 법은 비교적 구속장이 큰 길쌈부호의 복호시 널리 이용되고 있으나, 한 프레임에서 발생하는 잡음이 많은 경우 계산량이 급격히 증가하여 복호 시간이 상한치를 초과하여 데이터가 유실되는 단점이 있다. 1963 년 Masse y는 대수학적 특성을 이용하여 길쌈부호에도 적용될 수 있는 다수결 또는 임 계 치 복호법 (thr eshold decodin g algo rit hm ) 을 제 안하였 는데 이 기법의 성능은 축차 또는 최우복호법에 비해 약간 떨어지나 장 치화가 간단하다는 장점이 있다• 1-3 부호이론의 역사 1948 년 Claud Shannonol 발표한 통신이론에 관한 논문은 비록 통신채 널상에서 발생한 오류를 정정하기 위한 구체적인 부호 선정방법에 대해
서는 제시하지 못했지만 그의 논문이 발단이 되어 이후 많은 부호학자들 에 의해 부호의 성질, 부호 구성법, 부호기 및 복호기 설계, 효율적인 복호알고리즘 등에 관한 다수의 연구가 발표되었다. 1950 년대에서의 부호이론은 대수학적 특칭을 이용한 불러부호에 초접 이 맞춰져 연구되어졌으며, 이중 대표적인 부호가 단일오류정정이 가능 한 Hamm i n g부호이 다. 1960 년대의 부호이론은 복호 후 오류확률을 현저히 줄일 수 있는 길이 가 긴 부호 을 발전하고 관련 부호의 부호알고리즘을 개발하는 데 초점이 맞추어졌다. 이 중의 대표적인 경우가 Bose, Chaudhuri( 1 960) 그리고 Hoc q uen g hem(1959) 에 의해 각각 재안된 다중오류정정이 가능한 BCH 부호의 발견이다. 다수의 오류정정에 효율적인 BCH 부호에 대해 이후 Pe t erson(1960) 은 보다 실질적인 복호알고리즘을 제안하였고 Gorenste i n 과 Zie r ler ( 1961 ) 가 이 를 발전시 켰으며 Berlekamp , Massey, Chie n , Forney 등에 의해 이를 확대 적용시켰다. 또 한 가지 중요한 발전은 Reed 와 Solomon(1960) 이 제안한 연집 형태의 오류를 정정 가능케 한 비 2 원 BCH 부호의 일종인 RS 부호의 발견이다. 이 RS 부호는 산발 또는 연집 형태의 오류를 모두 정정할 수 있으며 실제 널리 이용되고 있는 매 우 중요한 부호로서 이후 수많은 부호이론가에 의해 연구되어 있고 지금 까지 계속 연구되고 있다. Me ggit에 의해 제안된 순회부호의 복호법인 오류포착복호법 (error-tr a p ping decodin g ) 역 시 Kasami , Mi tch el, Rudolph 등에 의해 발전되었는데, 이 복호법은 길고 부호화율이 큰 부호의 경우 비효율적안 단점이 있다. 한편 Masse y (1963) 는 순회부호 또는 길쌈부호 에 대한 다수결논리복호법을 제안하였다. 1955 년 E li as 에 의해 제안된 길쌈부호에 대해, 1961 년 Wozencra ft가 축차복호법을, 1963 년 Fano 가 축차복호법을 발전시킨 알고리즘을, · Zig a ng iro v(1966), J e li nek(1969) 는 각각 스택알고리즘을 제안하였다. 그 리고 1967 년 V it erb i는 최우복호법인 Vi ter bi 알고리즘을 제안하였고 이 후 Om ti ra(1969) 와 Fome y (l972-1974) 가 구속장이 작은 길쌈부호의 최우 복호법이 Vi ter bi 알고리즘을 이용한 복호법임을 증명하였다. 한편 1963 년 Masse y는 임 계복호법을 제 안하였다. 또한 Berlekamp ( 1964), Prep a rata ( l964), Massey (1 965), lwadare(196s), Kohlenberg 와 Forney
(1968), Gallag e r(1968), Tong ( 1910) 그리고 Fergu s on(191 1 ) 등이 길쌈부 호를 이용하여 연집 특성의 오류 를 정정할 수 있는 복호법 등을 제안하 고 발전시켰다. 1970 년대의 부호이론은 1960 년대에 제안된 복호알고리즘을 개선하고 이를 실제 통신 시스템 및 데이터 저장 시스템에 응용하는 방향으 로 방 전되어 왔다. 그 대표적인 경우는 Forne y (1912-1974) 가 Vi ter bi 알고리즘 울 이용하여 복호기를 설계한 것이고, 이 복호법은 우주봉신 멋 위성동 신 분야의 디지탈 통신 시스템에 널리 적용되고 있다. 한편 실제적으로 통신 시스템에 널리 이용되어 온 RS 부호 에 대 한 복 호알고리즘에 대한 연구는 Murakami , Reed, Welch(1977) 에 의해 1977 년 제안된 변환 복호알고리즘을 들 수 있으며, 이는 오류추정다항식 을 구하 지 않고 오류를 정정하는 복호알고리즘이다. 또한 RS 부호의 복호시 중 요한 복호과정 중에 하나인 오류위치다항식을 구하기 위해 종전의 Berlekamp -M assey 알고리즘보다 훨씬 개념적으로 간단한 Euclid 알고리 즘을 이용한 새로운 복호법이 Mandelbaum(1977) 에 의해 제안되었다. 1980 년대에 접어들면서 부호이론은 더 이상 일부 부호이론가 들 의 전유 물로 남아 있지 않게 되었으며 이 부호 및 복호알고리즘 을 이용한 새 로 운 복호법들이 계속 제안되었으며, 1960 년대와 1970 년대에 제안된 알고 리즘을 효율적으로 이용하여 실제 통산 시스템에 적용 가능케 하기 위한 연구가 현재까지 계속 진행되고 있다. 이 책에서는 1980 년도에 수행된 BCH 부호 및 RS 부호의 새로운 복호 알고리즘과 관련 장치화이론, 그리 고 이둘 부호에 중요한 소자로서 기능을 발휘하는 연산기의 구조 및 관 련 이론에 대해 집중척으로 분석하고 부호기 및 복호기의 구조를 제안하 였다. 1- 4 부호의 응용 오류정정부호에 대한 연구는 주로 통신 시스템에서 발생되는 문제를 해결하기 위해 추전되었다. 예를 들어 대부분의 경우 통신 시스템은 송
신 출력 에 제한이 있으며, 이 경우를 위해 오류정정부호 를 이용한 통신 시스템은 미약한 수신 신호가 수신단에 도착하였을 때에도 신뢰성 있는 통신 이 가능하기 때 문 에 송신 출력 제한을 효율적으로 극복할 수 있다. 오류정정부호는 콥퓨터 메모리 시 스 템, 마그네틱 테이프, 또는 디스크 저장 시 스 템 등 에 이용되 고 있으며 또한 디지탈 논리회로의 고장 진단을 위해서도 응용되고 있다. 선-러부호 는 주로 통신 시스템뿐만 아니라 콤퓨터 메모리 시스템에서 밍생하 는 오류 · 강 정정하는 데 이용되고 있으며, 길쌈부호는 산발오류 특 성이 강한 우 주 및 위성동신 분야에 응용되고, 특 히 RS 부호와 쇄상시켜 산발오 류 뿐만 아니라 연집오류 를 모두 정정 가능한 지상 무선통신 분야, 유선통신 분야, 광 파이 버 링크 그리고 암호통신 분야에 널리 이용되고 있다. 단일오류정정- 이 중오류검출 Hammi ng 부호는 IBM 시스템 360 과 370 의 자기 메모리에서 발생하는 오류 를 정정하기 위해 이용되고 있다. 반도체 메모리는 일반적 으 로 코아 메모리보다 속도는 빠르나 신뢰성이 떨어지므 로 이 들 시스템 에 오류정정부호의 도입이 요구되었다. 이들 분야에 널리 이용되고 있는 부호는 연집오류의 정정이 가능한 F i re 부호나 연집뿐만 아니라 산발오류를 모두 정정 가능한 RS 부호를 둘 수 있다. 왜냐하면 자기 데이 프 나 디스크에서 발생되는 오류 형태는 자기 네이프나 디스크 표면 의 손상 또는 먼지 등으로 인해 발생되는 연집오류이기 때문이다. 한편 , 소스부호 화 기술의 발달로 인해 비데오 신호를 부호화하여 얻은 비데오 데이터 를 유선 또는 무선통신 채널을 통해 전송할 때 발생되는 오류 를 정정하기 위해 CCITT 또는 관련 표준화 기구에서 BCH 부호 또 는 RS 부호의 도입이 적극 검토되고 있다. 그리고 CD(Comp a ct Dis k ), DAT (Digital Audio Tape ) 그리 고 TV 문자 다중방송 분야에 도 BCH 부호 또는 RS 부호가 도입되어 채널에서 발생되는 오류를 정정하고 있다. 길쌈부호는 많은 우주 또는 위성통신 시스템에 이용되고 있다. 예를 들어 화성, 목성, 토성을 람사하기 위한 Vo y a g er 호 (1977) 에 (2,1,6) 길쌈 부호를 이용했으며 길쌈부호는 주로 RS 부호와 쇄상시켜 V it erb i복호법 울 이용하여 설계된 복호알고리즘을 이용하여 위성통신 분야에 널리 이 용되고 있다. 한편, 위성통신 채널을 이용하여 음성 데이터를 전송하기
위 한 SCPC (Sin g le Channel Per Carrie r ) 시 스템 에 임 계 복호법 을 이 용한 (8,7,4 7 ) 자기직교길쌈부호가 적용되고 있다. NASA 의 태양계 추적 우주 선 Pio n eer 9 은 1968 년 발사된 오류정 정 부호를 이 용한 최 초의 우주선 이 다. 여기서 이용된 부호는 (2,1,24) 길쌈부호로써 축차복호 알고리즘을 기 초로 한 복호기법을 사용하였다. 이와 같은 응용 영역을 갖는 오류정정부호는 앞으로 시분할 다중 시 스 템, 패킷 스위칭 시스템, 디지탈 레이다 신호처리 시스템, 이동 동 신 시 스템, 스프레드 스펙트럼 시스템, 그리고 암호 시스템 등 대부분의 동신 시스템과 콤퓨터의 기억장치, CD 그리고 DAT 분야에도 널리 이용될 것 이다. 따라서 오류정정부호이론은 통신채널에서 발생되는 오류 를 정정하 기 위한 매우 중요한 분야가 될 것이다.
제 2 장 유한체 연산 유한체 (fini t e fiel d) 의 연산은 오류정 정 부호 (error-correcti ng codes) , 스 위 칭 이 론 (swi tch in g the ory ) 및 암호이 론 (cry ptog rap h y) 등 많은 분야에 적 용되고 있다. 예를 들어 오류정정부호인 BCH 부호나 Reed-Solomon 부 호의 복호과정에서는 GF(2 기상의 연산을 이용하여 관련 알고리즘을 실 현한다. 그러므로 유한체 연산의 간소화는 전체 복호회로의 복잡성에 매 우 큰 영향을 미친다. 이 장에서는 유한체 중에서 실질적으로 부호기와 복호기에 널리 적용되고 있는 GF(2 이상에서의 연산에 관하여 고찰해 보 기로한다. 원소의 개수가 2m 개 인 유한체 GF(2m) 상의 각 원소들의 표현방법은 크 게 벡 터 표현 (vecto r rep r esenta t i on ) 과 지 수표현 (exp o nent rep r esenta t i on ) 의 두 가지로 나눌 수 있다. 일반적으로 벡터표현에 의한 연산에서 가산 (addit ion ) 은 용이 한 반면 승산 (multip lica ti on ) 및 제 산 (div i s i o n ) 이 어 렵 고 지수표현에 의한 연산에서는 승산 및 제산이 비교적 쉬운 반면 가산은 매우 복잡하게 된다. 2-1 과 2-2 에서는 벡터표현과 지수표현에 의한 표준기지 (sta n dard basis ) 룰 이용한 연산들을, 2-3 에서는 벡터표현 중 정규기지 (normal bas i s) 를 이용한 연산에 대하여 설명하기로 한다.
2-1 벡터표현에 의한 연산 a 를 GF(2m) 상의 원시원(p r i m iti ve elemen t)이라 할 때에 0 원 ( ze ro elemen t)을 제의한 2m_1 개의 모든 유한체 원소(fi eld e lem e n t) 들 은 a 의 멱(p ower) 으로써 표시된다. 또 이 a 가 차수가 m 인 원시다 항 식 . P (x) =Po+P1X+… + Pm - 1X m -l+ xm p,- EGF(2), O b 匡 m ― 1 (2. 1) 의 근이라 하면 P (a) =Om 이므로 a m =Po+P1a+ … +Pm - la m - I 가 되어 GF(2 이상의 각 원소들을 차수가 m-l 이하인 a 의 다항식들로 표 현할 수있다. 이와 같은 표현방법을 다항식표현(p ol y nom i al re p resen t a ti on) 이라 하며 이 다항식들의 계수들만으로 표현하는 방법을 벡터표현이라 한 다. 예 를 둘어 CF( 한)상에서 원시다항식을 p(x ) =I+x 2 +x5 라 할 때 CF( 안)상 의 모든 원소들을 다항식표현과 벡터표현으로 나타내면 표 2.1 과 같 이 된 다. GF(2 이상이 임의의 두 원소 A 와 B 를 다항식표현으로 나타내면 A= ao+ a1a+ …+ am-lam- I (2.2) B=bo+b1a+… + bm-1am-i (2.3 ) 가 되고 이 두 원소의 합을 H라 하면 H=A+B= (ao+bo) + (a1+b1) a+… + (am- 1 +bm-1) am- I (2.4 ) 이므로 벡터표현에 의한 가산은 각 비트별로 EX-OR 함으로써 쉽게 수 행할 수 있다.
표 2.1 p(x ) =1+x2 十균일 때의 유한체 GF(2 이 다항식표현 벡터표현 다항식표현 벡터표현 。 00000 a15 = 1 + a +a2+a3+a ◄ 1 1 1 1 1 ao 10000 a16 = 1 + a + · a3+a ◄ 1 1 0 1 1 a I 0 l O O 0 a11 = 1 + a +a ◄ 1 1 0 0 1 a’ 2 0 0 l O 0 a1e = 1 + a 1 1 0 0 0 a 3 0 0 0 l 0 a19 = a +az 0 11 0l ' a4 0 0 0 0 l a20 = a2+a3 0 0 1 1 0 a 5 = 1 + a2 l O l O 0 a21 = a3+a ◄ 0 0 0 1 1 a6 = a +a3 0 l O l 0 a22 = 1 +같 +a• 1 0 1 0 1 aa 87 == 1 + aa22 + a3 + a• Ol OO ll Ol 01 aa2” ◄ == 1 +aa ++aa22++aa33 +a ◄ 01 11 11 11 01 a9 = a’ +a3+a• 0 1 0 1 1 a25 = 1 +a3+a ◄ 1 0 0 1 1 a10 = 1 +a• l O O O 1 a26 = 1 + a + a2 + a• 1 1 1 0 1 a11 = 1 + a + a2 1 1 1 0 0 a21 = 1 + a +a3 1 1 0 1 0 a12 = a+a2+ a 3 0 1 1 1 0 a28 = a+a2 +a• 0 1 1 0 1 a13 = a2+a3+a• 0 0 1 1 1 a29 = 1 +a3 1 0 0 1 0 a” = 1 +갑 +a3+a• l O 1 1 1 a3o = a +a• 0 1 0 0 1 2-1-1 조합논리회로 (comb in a ti onal log ic c iruit)를 이용한 승산기 GF(2m) 상의 임의의 두 원소 A 와 B 의 곱을 생각해 보자. A 와 B 를 각각 A=ao+a1a+ … +am-1«m-l= 접다 (2·5(`2·`,6' ` `,' m-1 B=bo+b1a+···+bm-1«m-i= ;~~o b,a' 이라 할 때 두 원소의 곱 Z 는 다음과 같이 쓸 수 있다. m-1 m-1 Z=A·B=A· ~ b;ai= ~-bi( Aa;) (2.7) i= O i= O
위 식을 행렬 (ma t r i x) 로 표현하면 다음과 같다. A (zo z,···zm-1) = (bo 싸 •• 도) I AAaa2 (2.8) Aa'-1 예를 들어 p (x)=l+x2+x5 인 GF( 한)상에서의 임의의 두 원소 A,B 간의 승산을 생각해 보자. 식 (2 . 7) 의 Aa' 는 A = ao+ a1a+ a2a2+ a3a3+a.a4 Aa= aoa+ a1a2+ a2a3+ a3a4+ a4 (1 +a2) = a ◄ + aoa+ (a1 +a ◄) a2+a2a3+ a3a4 Aa2= a3+a ◄ a+ (a 。 +a3) a2+ (a1 + a ◄) a3+ a2a4 Aa3= a2+a3a+ (a2+a ◄ )a 나 (ao+a3) a 포 (a1+a.) a• Aa 두 (a1+a ◄) +a2a+ (a1+a3+a ◄) a 나 (a2+ a ◄) a 나 (a 。+ a3) a• 이므로 행렬로 표현하면 (zoZ1Z2Z3Z4) = (bob1b2b3b.) a 。 a1 a2 a3 a4 a4 a 。 (a1+a.) a2 a3 a3 a. (ao+a3) (a1 + a.) a2 (2.9) a2 a3 (a2+ a4) (ao+aa) (a1+a.) (a1+a.) a2 (a1+a3+a.) (ai, + as) (ao+ a3) 가 된다. 위 식을 풀어쓰면 다음과 같다. zo= aobo+a,b1+aab i+fh.ba + (a1 + a,) b, Z1 = a1bo+ aob1+ a.l>i + aaba + thh , z2= thb o+ (a1 +a.) bi + (ao+aa) &+ (th+ a,) ha+ (a1 +as+ a.) b,
Z3 = a3& + a2b 汗 (a1 + a.) b-z + (ll-0 + aa) ~ + (a2 + a.) b. z. = a.bo + aab1 + a2b -z + (a1 + a.) ~ + (ll-0 + aa) b. (2.10) 이 식을 이용하여 GF(25) 상의 승산기를 설계하면 그립 2.1 과 같다. 그립 에서 보듯이 이와 같은 승산기는 '.5 X '.5개의 2 입력 AND 게이트와 2 '.5개의 2 입력 EX-OR 로 구성할 수 있다. 조합논 리회로 를 이용한 승산기는 승산에 소요되는 지연시간이 매우 짧
a, a,
그림 2.1 조합논리회로를 이용한 GF(25) 의 승산기
은 반면 회로연결 (w i re rou ti n g)이 불규칙적아고 m 이 커지면 회로가 복잡 해지는 단점을 가지고 있다. 2-1-2 순차논리회로 (se q uen ti al log ic ci rcu it)를 이용한 승산기 승산 지연 시간이 매우 짧아야 할 필요가 없는 경우 치환 레지스터 (shif t reg iste r ) 를 이 용하면 조합회 로를 이 용한 승산기 보다 간단하고 경 제 적인 승산기를 구성할 수 있다. 식 (2.7) 에서와 같이 두 원소의 곱 Z 는 다음과 같이 나타낼 수 있다. m-1 Z=A·B= ~ b;(Aa;) i= O = [… [[b 。 (A) + b1 (Aa)] +b2 (Aa2) ]+ …]+ bm-1 (Aam-l) (2.11) 위 식에서 살펴보면 A 와 B 의 곱 Z 는 A 에 a 를 계속 곱하면서 거기에 B 의 계수들을 차례로 곱하여 계속 더해 나가면 구할 수 있다. 그러면 먼저 임의의 원소 A 에 a 를 곱해 나가는 회로를 생각해 보자. A= a, +a1a+ … am-1am-l 이고 p( a) =O 에서 am=Po+P1a+ … +Pm-1a'-1 이므로 Aa= a,a +a1a2+… am-lam = a,a + a1a2+… + am-1 (p。 +P1a+… + Pm-1am-l) (2.12) = am-1Po+ (t1o+ am-1P1) a+ (a, + am-1P2) a2+··· + (am-2+am-1Pm-1) am 키 가 된다. 이 식을 이용하여 회로를 구성하면 그립 2.2 와 같다.
그림 2.2 유한체 원소 A에 a 를 곱하는 희로
그림 2.3 순차논리회로 를 이용한 승산기 I
그립 2.2 를 이용하여 식 (2 . 11) 를 구현하면 그립 2.3 과 같은 승산기를 얻 을 수 있다. CF( 안)상에서 p(x ) =1+x2+x5 일 때 식 (2.11) 은 Z=A·B = [[[bo (A) +b1 (Aa)]+b i (Aa2)]+ ~ (Aa3)]+b.Aa4 (2.13) 가 되며 이 식을 이용하여 승산기를 설계하면 그립 2 .4와 같다. 또한 식 (2 . 11) 을 다음과 같이 변형하면 다론 형태의 승산기를 구성할 수있다. Z=A·B= m:l-!1 (b;A) a; i= O = (… ( (bm-1A) a+ bm-2A) a + …) a+ boA (2.14) 죽 bm-1A 에 a 를 곱하여 bm-2A 와 더 하고 그 결과에 다시 a 를 곱하고
그림 2.4 순차논리회로를 이용한 GF(25) 의 승산기 I
그림 2.5 순차논리회로를 이용한 승산기 I
그럼 2.6 순차논리회로를 이용한 GF( 양)의 승산기 Il
bm-3A 와 더하고 이런 식으로 m 번을 계속 수행하면 A 와 B 의 곱 Z 를 얻을 수 있다. 이상을 그림으로 나타내면 그립 2 . 5 와 같다. 예 를 들어 GF(25) 상에서 p(x ) =l+x2+x5 일 때 식 (2.14) 는 Z=A·B= ( ( ((b.A) a+~A) a+i> zA ) a+b iA ) a+boA (2.15) 가 되며 이 식을 이용한 GF(25) 의 승산기는 그립 2.6 과 같다. 이상의 순차논리회로를 이용한 승산기는 회로가 비교적 간단한 반면 승 산을 수행하는데 m clock 의 시간이 지연되는 단접이 있다. 2-1-3 • Cellular -A rray 승산기 앞에서 설명하였듯이 순차회로를 이용한 승산기는 GF(2m) 상에서 임의 의 두 원소를 곱하는 데 있어서 m clock 의 시간이 소요된다. 이러한 지 연 시간을 줄이고 회로연결을 규칙화하여 LSI 화에 적합하게 하기 위하여
z a
그림 2.7 Cellular-Array 승산기의 기본적인 cell
Law 러 Rus hfo rth는 그림 2.5 와 같은 승산기를 조합논리회로를 이용하 여 각 비트별로 cell 로 만든 다음 이 cell 둘을 공간적으로 나열한 Cellular-Array 승산기를 제안하였다. 그립 2.7 에 이 cell 을 나타내었다. 그립 2.7 에서 a 와 b 는 입력 비트이고 z 에는 한 행 전, 한 열 옆의 출 력이, 1/ 1 에는 한 행 전의 fee dback t erm 이 연결된다. Cellula~-Arra y승 산기는 이 cell 둘을 m 행 m 렬로 배치하여 승산을 수행한다. 그립 2.8 의 Cellular-Arra y승산기에서는 첫행에서 식 (2.14) 의 bm-1A 의 연산이 수행되며 각 cell 둘의 출력들은 오른쪽으로 한 열씩 이동되어
a 。 a 1 am- I
그림 2.8 Cellular-Array 승산기
다음 행으로 연결되므로 두번째 행에서는 (bm - 1A)a+bm-2A 가 나타난 다. 이러한 과정을 m 번 계속함으로써 A 와 B 의 곱 Z 가 Z 레지스터에 저 장되게 된다. 그림 2.7 의 기본적인 cell 를 pi =0 일 경우와 pi =1 일 경우의 두 가지 형태로 나누어 보면 그림 2 . 9 와 같이 된다. 예를 들어 GF(25) 상에서 p( x) =l+ 났 +x5 인 경우 Cellular- f:rr a y승 산기를 구성하면 그립 2.10 과 같다 .
z a
(a) P1 = O 인 경우
z a
그림 2.9 변형 된 cell
a, a, a, a, a.
그립 2.1 0 GF( 산)의 Cellular-Array 승산기
2-1-4 재산회로 GF(2m) 상의 임의의 두 원소 A 와 B 에서 A 를 B 로 나누는 경우를 생 각해 보자. A 를 B 로 나눈 결과를 Y 라 할 때 이 Y 는 다음과 같이 쓸 수있다.
Y=A/B=A·B- 1 (2 .16) 죽 Y 를 구하기 위해서는 B 의 역원(i nverse elemen t)을 구하여 A 에 곱하 면 된다. GF(2 이상에서 임의의 한 원소 B 의 역원을 구하는 방법은 B2m 기 =1 (2.17) 이므로 이 식의 양변에 B-1 을 곱하면 s-1 =B2m-2 (2.1 8 ) 가 된다. 여기에서 2m-2 =2+22+23+… + 2m-1 (2.19) 이므로 B 의 역원 B-1 은 다음과 같이 쓸 수 있다. B-1 = (B2) (B22) (B”) …( B2m-l) (2.2 0 ) 이 식을 이용하여 GF(2m) 상의 임의의 한 원소에 대한 역원 계산기 를 설 계하면 그립 2.11 과 같다. 그림 2.11 에서 SW(sw it ch) 들을 초기 상태에서 SWl 은 B 에 SW2 는
B 제곱기
그립 2.1 1 역원 계산기
표 2.2 CF( 간)상의 역원 계산 과정 단계 제곱기 입력 제곱기 출력 승산기 입력 승산기 출력 1 B B2 B2•1 = B2 2 B2 B• B••B2 = B6 3 B' B8 Bs·B6 = B 4 B8 B16 B16•B14 = B30 5 AB30 = AB-1 1= (00···1) 에 연 결 되어 있다가 다음 단계부터는 각 f eedback 에 연결된다. 예 를 들어 CF( 선)상의 임의의 원소 B 의 역원은 식 (2.18) 에 의하여 s-1 = B3o = (B2) (B2') (B2') (B2 ') (2.21) 가 된다. 이 계산 과정을 표로 나타내면 표 2 . 2 와 같다. 표 2.2 에서 보듯이 임의의 한 원소에 대한 역원을 구하는 데는 m-1 clolck 의 지연이 생긴다. 2-1-5 제곱 및 제곱근회로 GF(2') 상에서 임의의 한 원소 A 의 재곱을 S 라 할 때 S=A 도 (ll<)+ a1a+… + am-1am-l)2 =~+a1 (a) 나… +am-1(am 크 )2 (2.2 2 ) 가 된다. 이 식을 행렬표현으로 나타내면 다음과 같다. (aO) 2 (al)2 (S0S1… S m-1) = (0oa1:· ·a m,--1) • I (a2)2 (2.23) (am-1)2 예를 들어 GF(25) 상에서 p (x)=l+x 나갔라 할 때
(aO) 2 = 1 (a1)2=a2 (a2)2=a• (a3)2= 간 =a+a3 (a•)2= aa= 1 +a2+ a3 이므로 식 (2.23) 은 다음과 같이 쓸 수 있다. 10000 00100 (soS1SzS3S4) = ((1-0 a1aza 이 • 10 0 0 0 1 (2.24) 0 1 0 1 0 1 0 1 1 0
그림 2.12 GF( 산)상의 제곱기
여기서 So = a。 +a. s1=a3 s2 = a1 + a. (2.25) s3=a3+a. s.=a2 위 식을 이용하여 CF( 산)상이 제곱기를 구성하면 그립 2.12 와 갇다. GF(2m) 상의 임의의 한 원소 A 의 제곱근을 R 이라 하면 R=IA=A½= (~+a1a+ … +am-1am-l) 승 (2.26) = ~ (aO)½+ a1 (a1) 살+ …+ am-I (am-I) 승 가 되며 행렬로 표현하면 (a0)2I (a 답 (ror1·Ym-1) = (GQ a1am-1) • I (a 캬 (2.27) (am-I) 승 가된다. 예를 들어 GF(25) 상에서 p(x ) =l+x 나갔이라 할 때 (aO)tI = l (al) 송= ac31+1>12= a16= 1 +a+a3+a' (a2)tI = a (a 답= a<31+3>12 = a11 = i + a + a' (a')tI = a2 이므로 식 (2 . 27) 은 다음과 같이 쓸 수 있다.
10000 (rmr品 ) = (a.a, a,a,a,) • I: : : : : (2.28) 1 1 0 0 1 00100 여기서 r。 = ao + a1 + as r1 = a1 + a2 + as r2=a. (2.2 9 ) rrs.==aa11 +as
그립 2.13 GF( 산)상의 제곱근기
위 식을 이용하여 제곱근의 회로를 구성하면 그림 2 . 13 과 같다. 2-2 지수표현에 의한 연산 CF(2 기상에서 0 원을 제의한 모든 원소들은 원시원 a 의 멱으로 나타 낼 수 있다. 이 a 의 멱을 2 진수로 표시한 것을 CF(2m) 상의 원소들의 지 수표현 (exp o nent rep re senta ti on ) 이 라 한다. 지수표현으로 나타낼 경우 ao 원소와 0 원소와의 구별이 요구되는데 다 음과 같은 두 가지 방법으로 나타낼 수 있다. (방법 •1) {0a°- 一(1 (100… … 1 )0 ) (방법 .2) { oa0-(-o(1o1… … 0 )1 ) 예 를 들어 p(x ) =1+ 났 +x5 인 GF(25) 상의 원소들을 지수표현으로 나 타내 면 표 2.3 과 갇다. GF(2 이상의 벡터표현에서 지수표현으로의 변환이나 그 역변환은 m 비 트 address 와 m 비트 ou tp u t을 갖는 ROM 으로 처리할 수 있다. 지수표현에 의해서 연산을 하는 경우 승산과 제산은 지수표현들의 2 진 덧셈과 뺄셈으로 쉽게 수행할 수 있는 반면 가산은 매우 복잡하게 된다. 2-2-1 승산회로 GF(2 기상의 0 원이 아닌 임의의 두 원소 A 와 B 를 각각 a', a; 라 할 때두원소의곱 Z 는 Z=A •B = ai • aj = ai+ J(m od2•-1) (2.30) 가 된다. 그러므로 Z=A•B 를 구하기 위하여는 A 와 B 를 지수표현으로 바꾼 다음 2 진 덧셈을 하면 된다.
(방법 .1) 의 경우 mod(2m-1) 은 carr y가 생성될 때와 2 진 합이 모두 1 일 경우에 수행된다. carr y가 생성될 경우에는 2 전 합의 최하위 비트에 carr y를 더함으로써, 또 2 진 합이 모두 1 일 경우에는 최하위 비트에 1 을 더함으로써 mod(2m-1) 을 수행할 수 있다. 예) GF(2 이상에서 a's.a2o=a‘ 이다. 0 1 1 1 1 --+a15 의 지 수표현 + 1 0 1 0 0 --+a” 의 지수표현 0 0 0 1 1 + 1 0 0 1 0 0 -+a' 의 지수표현 또한 a1s.a1s=ao 이다. 0 1 1 1 1 -+a” 의 지수표현 + 1 0 0 0 0 --+al6 의 지수표현 1 1 1 1 1 + 1 0 0 0 0 0 -+ao 의 지수표현 두 원소 A 와 B 중에서 한 원소만이라도 0 원일 경우 두 원소의 곱 Z
i+j
그립 2.14 지수표현에 의한 승산회로 1
는 0 원이 된다. 그러므로 이와 같은 경우 승산회로는 2 전 덧셈을 하지 않고 0 원을 출력하여야 한다. 이상과 같은 방법으로 승산기를 구성해 보 면 그립 2 . 14 와 같다 . 그립 2 . 14 에서 FA1(fu ll adder 1) 은 두 원소의 지수표현을 2 진 덧셈하는 것이고 FA2 는 mod(2m-1) 을 수행하기 위한 m 비트 전 가산기이다. A1 D(all 1 de t ec t or) 는 i와 j가 모두 1 인가, 죽 O 원소인가를 검출하는 것으 로 m 입력 AND g a t e 로 실현할 수 있다. 또한 AIO(all1 ou tp u t)는 지수 표현의 0 원 , 즉 모두 1 을 출력하는 회로이다. 그러나 (방법 •2) 의 경우 2 진 합이 모두 1 일 경우, 예를 들어 GF(25) 상에서 a” 와 a” 을 곱할 경우 2 전 합이 모두 1 이 되는데 이것이 바로 ao 원을 나타내므로 최하위 비트에 1 을 더해 줄 필요가 없게 된다. 0 1 1 1 1 .-.a15 의 지수표현 + 1 0 0 0 0 .-.a16 의 지수표현 1 1 1 1 1 -a0 의 지수표현 그러므로 이와 같은 방법으로 승산기를 구성하면 그립 2.15 와 같다. 그립 2.15 에서 AZD(all zero de t ec t or) 는 0 원의 지수표현, 죽 여기에서 는 (00 … 0) 를 검출하는 회로이며 m 입력 NOR g a te..5드 실현할 수 있다.
FA 2 i+j
그림 2.1 5 지수표현에 의한 승산기 n
AZO(all zero ou tp u t)은 0 원, 즉 모두 0 을 출력하는 회로이다. 그립 2.15 에서 보듯이 (방법 •2) 로 지수표현을 나타내는 경우 2 진 합이 모두 1 일 때 mod(2m-1) 을 수행하는 회로를 생략할 수 있어 간략화할 수 있는 장점이 있다. 2-2-2 제산회로 GF(2m) 상의 임의의 두 원소 A 와 B 를 a i와 a j라 할 때 A 를 B 로 나 누면 y= AlB=aiI aj= ai- j(mo d2f fl- 1) (2.31) 과 같이 된다. 그러므로 Y 를 구하기 위해서는 A 와 B 를 지수표현으로 바꾼 다음 2 진 뺄셈을 하면 된다. 2 진 뺄 셈은 빼는 수 j에 1 의 보수 (l's com p lemen t)을 취하여 더해 주는 것으로 제산회로는 승산회로와 비슷하 게 된다• 그림 2.16 에 제산회로를 나타내었다. 여기에서 지수표현은 (방 법 •2) 를 택하였다. 그립 2.16 에서 1c (l's com plemen t)는 j에 1 의 보수를 취하는 회로이며 DE 는 분모가 0 일 때 불능을 나타내 주는 회로이다.
DE j亨i-j
그립 2.16 지수표현에 의한 제산회로
2-2-3 가산회로 벡터표현일 경우 가산은 각 비트들간의 EX ― OR 로 간단하게 수행할 수 있는 반면 지수표현일 경우에는 여러 연산 중에서 가장 복잡한 것이 가산이다. 지수표현에 의한 가산은 다음과 갈이 승산과 제산의 형태로 변형하여 수행할 수 있다. 임의의 두 원소 A 와 B 의 합을 H라 하면 H =A+B = a;+ a; =ai ( ai- ;+ 1) (2.32) 그립 2.17 에서 0 은 그림 2.16 의 제산기를, 修은 그립 2.15 의 승산기를 나타낸다. ROM 에서는 (aE j +1) 의 지수표현을 출력하여 DE 는 a j가 0 원일 경우 a1 만을 출력하기 위한 selec t or 의 신호선으로 이용된다.
선택기 H
그림 2.17 지수표현에 의한 가산기
2-2- 4 제곱 및 제곱근회로 GF(2m) 상의 임 의의 한 원소 A 를 a’라 할 때 A 의 제곱을 S 라 하면 S = A2 = a2i( m 0d2'-l) (2.33) 가 된다. 여기에서 A=a; 의 지수표현을 (&g ··am-l) 이라 하면 i = ao + a12 + ai. 2 나 …+ a'-12'-1 (2.34) 이고 2i (m od 2' 一 1) 은 2' = 1 의 관계를 이용하면 2i = a'-1 +ao2+a122+ …+ am-22'-1 (2.35)
am aa-3 。I 二..... a 。 aa 。1 디aaam21 - 2
그림 2.1 8 제 곱 및 제 곱 근 회로
가 된다• 그러므로 S=a 2’ 의 지수표현은 (am -I (i-O • •• a m - 2 ) 이다. 죽 임의 의 한 원소의 제곱은 그 원소의 지수표현의 비트 를 오 른 쪽으로 한 번 순 최치환한 것이 된다. A 의 제곱근을 R 이라 하면 R = IA= R= ai /2 (m o d2 '- 1 ) (2 .3 6 ) 가 되고 1=2m 이므로 식 (2.3 4 ) 에서 i/2 = a1 + 1222+… + am - 12m- 2+ ao2m- 1 (2. 37 ) 가 된다. 그러므로 R=a i 1 2 의 지수표현은 (a1( h. .. •am-I tJo)가 된다. 죽 임 의의 한 원소의 제곱근은 그 원소의 지수표현의 비트 를 왼 쪽 으로 한 번 순회치환한 것이 된다. 이상에서 설명한 제곱 및 제곱근회로를 그림 2 . 18 에 나타내었다. 2-3 정규기지에 의한 연산 2-3-1 정규기지 GF(2m) 상의 m 개의 선형독립(li nearl y i nde p enden t)인 원소들의 집합을
GF (2 기 의 기 지 (basis ) 라 한다. a 를 차수가 m인 원시다항식 p (x) 의 근이라 할 때 {a-}, O~k~m-I 은 GF(2 기의 기지이다. 이 기지를 GF(2m) 의 표준기지 (sta n dard basis ) 라한다. GF(2 기상에서 {a, a2, a 핫 …, a2m - 1} 가 선형독립이면 이들은흩 GF(2m) 의 기지가 되는데 이러한 기지를 정규기지 (normal bas i s) 라 한다. 예 를 들어 CF( 간)상에서 p (x)=1+x2+x5 라 하면 a+a2+ a •+a8+a16= a+a2+a•+ (1+a2+a3) + (I+a+a3+a4) =O (2.38) 이므로 {a, a2, a4 , a8, a16} 은 GF(25) 의 기지가 되지 못한다. p( x) =1+ 났 +x3+x•+x5 를 택하면 a+ a2 +a 4+a8+ a16=a+a2+a•+ (a2+a3+a4) + (1+a+a3) =1 (2.39) 가 되어 {a, a2, a4, 군, al6} 이 선형독립이므로 CF( 건)의 정규기지가 될 수있다. 표준기지에서 정규기지로의 변환을 생각하여 보자. CF( 간)상의 임의 의 한 원소 A 를 A= ao+a1a+( ha 2+a3a3+~a• (2.4 0 ) 이라 할 때 표준기지 (a0, a1, a2, a3, a~) 를 정규기지로 바꾸면 a0 = a1 + a2+a ◄ +a8+ a16 같 =al a2= a2 (2.4 1 ) a3= a2+a+as a•= a• 가 되므로 A 를 정규기지로 바꾸면 다음과 갇이 된다. A= ao (a+a2+a•+a8+a16) +a1a+a 꿉 +a3(a2+a4+ 군) +a4a4
표 2.4 GF(25) 의 정규기지 표현 멱 표준기지 표현 정규기지 표현 멱 표준기지 표현 정규기지 표현 。 00000 00000 alS 1 1 0 1 1 0 0 1 0 1 ao 1 0 0 0 0 1 1 1 1 1 al6 1 1 0 1 0 0 0 0 0 1 al 01000 10000 al1 0 l l O l l l l O 0 a2 00100 01000 a18 1 0 0 0 1 l l O l l a3 0 0 0 1 0 0 1 1 1 0 a19 1 1 1 1 1 0 l l O l a' 00001 0 0 1 0 0 a20 1 1 0 0 0 0 I I I I a5 1011. .1 1 1 1 0 1 a2 1 0 1 1 0 0 1 1 0 0 0 a6 l l l O 0 0 0 1 1 1 a2 2 00110 0 0 1 1 0 a1 fl 1 1 1 0 1 0 1 1 0 a2 3 0 0 0 l l 0 1 0 1 0 a8 0 0 1 1 1 0 0 0 1 0 a2 • 1 0 1 1 0 l l O O l a9 1 0 1 0 0 1 0 1 1 1 a25 0 1 0 1 1 1 1 0 1 0 alO 0 1 0 1 0 1 1 1 1 0 a2 6 1 0 0 1 0 1 0 0 0 1 all 0 0 1 0 1 01100 a2 1 0 1 0 0 1 1 0 1 0 0 al2 1 0 1 0 1 1 0 0 1 1 a28 1 0 0 1 1 1 0 I O I al3 1 1 1 0 1 0 0 0 11 a29 1 l l l 0 0 1 0 0 1 a” 1 1 0 0 1 0 1 0 1 1 a3o 0 1 1 1 1 1 0 0 1 0 = (ao+a1) a+ (ao +a2+ a3) a 나 (ao+a3+a.) a4+ (ao + a3) a 나 aoa16 (2.4 2 ) 위 식을 이용하여 p(x ) =1+ .x 2+ .x 3+ .x나+.X S 일 때 GF(25) 의 정규기지 표 현을 표 2 .4에 나타내 었다. 2-3-2 제곱 및 제곱근회로 GF(2m) 상에서 임의의 한 원소 A 를 정규기지로 표현하면 다음과 갇 다. A=~a+a1a2+… + am-1a2m-l (2.4 3 ) 여기에서 A의 제곱을 S 라 하면
a。 aI a2 •••• •>
그립 2.19 정규기지 표현을 이용한 제곱회로
S=A2= (aoa+a1a2+… + am-1a2m-1)2 = am-1 a + aoa2 + a1 a4 + …+ am-2a2'-• (2.4 4 ) 가 된다. 즉 A 의 제곱은 A 의 정규기지 표현(a.i a1 … am-1) 을 오른쪽으로 한 번 순회치환한 S = (am-h {lo, a1, …, am-2) (2. 4,) 가 된다. 따라서 GF(2 이상에서 임의의 한 원소 A 의 제곱 A2 의 장치화 는 치환 레지스터를 사용하여 그립 2.19 와 갇이 장치화할 수 있다. A 의 제곱근을 R 이라 하면 R= (A) i1 2= (aoa+a1a 도 .. +am-1a2'-')112 = a1a+ 0-2.a 2+… + am-1a2 .. -'+aoa2. . _, (2.4 6 ) 가 된다. 죽 A 의 제곱근 R 은 A 의 정규기지 표현 (ao,a1, … ,am-I) 을 왼 쪽으로 한 번 순회치환한 R= (a1, ai, …, am-h llo) (2.4 7 ) 가된다. 2-3-3 승산회로 GF(2m) 상에서 임의의 두 원소 A 와 B 를 정규기지 표현으로 나타내면 다음과같다. A= 0oa+a1a2+···+am-1a2 .. -I B = boa+ b1a 나··· + bm-1a2•-•
이 두 원소 A 와 B 의 곱을 Z 라 하고 Z 롤 정규기지 표현으로 나타내면 Z=A • B=zoa+z1a 도 .. +zm -1 a2m- l (2. 5 0) 가 된다. 죽 다시 쓰면 Z=A·B= (~. a1, …, am-1) • (ho, b1, …, bm -1 ) = (Zo , Z1, …, Zm-1) (2.51) 로 쓸 수 있으며 여기에서 Z 의 마지막번째 계수 Zm - 1 은 A 와 B 의 계수 둘의 2 진 함수이므로 다음 식과 같이 나타낼 수 있다. Zm-1=/(~. a1, ···, am-I ; bo, b1, …, bm-1) (2.52) 식 (2 .4 5) 에서 보듯이 제곱은 한 번의 순회치환을 의미하므로 Z2=A2•B2= (am-i. C4i, a1, …, am -2) • (bm -1, bo, b1, …, bm-2) = (Zm-1, Zo, Z1, …, Zm-2) (2.53) 과 갇이 된다. 여기에서 마지막번째 계수 Zm-2 는 식 (2.52) 와 같이 Zm-2 =I(am-1, ao, a1, …, am-2 ; bm-1, ho, b1, …b m-2) (2.54) 가 된다. 이런 식으로 계속 제곱해 나가면 A 와 B 의 곱 Z 의 모든 계수 들을 차례로 얻을 수 있다. Zm-1=I(ao, a1, …, am-I ; bo, bi, …, bm-1) Zm-2=/(am-t, flo, a1, …, am- 2 ; bm-1, bo, b1, …, bm-2) (2.5 5 ) zo=f (a 1%, …, am-1' % ; h, &, …, bm-i, bo) 그러므로 식 (2.55) 를 이용하면 그립 2.20 과 갈은 승산기를 구성할 수 있다. 예를 둘어 p(x ) =l+x2+ 났 +x•+x5 인 GF( 산)상의 승산기를 구성해 보자. a 가 P(x) 의 근일 때 {a, a2, a\ a8, a16} 은 GF( 안)상의 정규기지이 다. GF(25) 상의 임의의 두 원소 A 와 B 의 곱 Z 는 다음과 같다. Z=A·B= (aoa+a1a 포(h. a 나如군 +a.a16) • (boa+ bi a 나 &a 나 &as+b,al&) =zoa+Z1a2+Zza4+z3a8+z.a18 (2.56)
a 。 a, ... a m- I
그립 2.20 정규기지를 이용한 승산기
표 2 .4를 이용하여 A 와 B 를 서로 곱한 다음 갇은 항별로 모으면 Z 의 계 수 Zi, O~ i ~4 은 다음과 같이 구해전다. z, = a3f h+ a2ba+ aobz + a2b, + a,bz + a3ba+ aob3 + a3bz + a2b3 + a,b, + a,b, + a,bz + a2b, + a,lh + a3b, Z3 = a2bz+ a,ba+ aab, +a2b1 + a,bz + a3ba + aolh + a3b1 +a1lh + a3bz + a2lh + a,b, + a,b, +a,bz+a2b, z2 = a1 b1 + a, ba + ao b, + a2 ba + ao bz + a2 b1 + a1 bz + a3 ba + ao lh + a3 b1 + a1 lh + a,ba + aob, + a,bz + a2b, Z1 = aoba+ a1ba+aab1+a2ba+ aobz + a3b1 + a1lh +a,ba + aob, + a,b1 + a1b, + a,bz + 0,zb , + a,lh + a3b, Zo = a,b, + a2ba +aobz +a3ba + aolh + a3b1 + a1lh + a3bz +a2lh + a,ba+ aob, + a,b1 +a,b, + a,lh+ a3b, (2.57) 가 된다. 그러므로 그립 2.20 의 논리함수 (Lo gi c function ) f는 식 (2.57) 과 같이 15 개의 AND 게이트와 14 개의 EX-OR 게이트로 구성할 수 있다. 논리함수 f를 구성하는데 있어서 원시다항식 p (x) 를 적철히 선택하면 게이트 수를 줄일 수 있다. 예를 들어 GF( 산)에서 p(x ) =l+x+ 났+/
표 2.5 p(x ) =l+x+x2+x•+x5 일 때 GF( 간)의 정규기지 표현 멱 표준기지 표현 정규기지 표현 멱 표준기지 표현 정규기지 표현 。 00000 00000 alS 1 0 1 0 1 1 0 0 1 1 ao 10000 1 1 1 1 1 a” 1 0 1 1 1 0 0 0 0 l al 01000 1 o.o O0 a11 1 0 1 1 0 0 0 1 0 1 a2 00100 01000 alB 0 1 0 1 1 0 0 1 1 0 a3 00010 10010 a19 11000 0 1 1 1 1 a• 00001 00100 a20 0 1 1 0 0 1 1 0 0 0 a5 1 11 0 1 0 0 0 11 a21 0 0 1 1 0 l l O l 0 a6 1 0 0 1 1 0 1 0 0 1 a22 0 0 0 1 1 1 0 1 1 0 a7 1 0 1 0 0 1 0 1 11 a23 1 1 1 0 0 0 0 1 1 1 aB 0 1 0 10 00010 a2• 0 1 1 1 0 0 1 0 1 0 a9 0 0 1 0 1 01100 a2s 0 0 1 1 1 l l l l 0 alD 1 1 1 1 1 10001 a26 111 1 0 1 0 1 0 1 all 1 0 0 1 0 0 1 1 0 1 a21 0 11 1 1 0 1 1 1 0 al2 0 1 0 0 1 1 0 1 0 0 a28 1 1 0 1 0 1 1 1 0 1 al3 1 1 0 0 1 0 1 0 1 1 a29 0 11 0 1 1 1 1 0 0 a” 1 0 0 0 1 11 0 1 1 a30 1 1 0 1 1 1 1 0 0 1 +xs 를 택하면 각 원소들은 표 2.5 와 같이 표현되는데 이 표를 이용하여 식 (2.56) 의 각 계수들을 구해 보면 다음과 같이 된다. Z4 = a3&+ {h.b.,+ aobz+ a2b i +a1bz+ asb1 + a1l> .i +a.ho +aob. zs = a2bz + a1 bo + aob i + {h.b., + tzob z + a.bi + a1 b. + a.l>.i + asb• z2 = a1b1 +야&+ %& + asbz+a2l> .i+ a.ho+aob.+ a.bi + a1b• Z1 = %&+{h.bi + a1bz+ asbo+tz ol>.i+ a.b i+ {h.b . +a.l>.i +asb• Zo = a•b• + a1bo +tzob 1 + asb i + a1l> .i + asbz + th.l>.i + a.bi + a2b• (2.5 8 ) 죽 식 (2.58) 에서 보듯이 P(x) =l+x+x2+x•+x5 로 생성되는 정규기지 표현을 이용하면 논리함수 f가 9 개의 AND 게이트와 B 개의 EX-OR 게이 트로 구성되는 그립 2.21 과 같은 직렬형승산기 (se q uen ti al-mul tipli er) 를 구 성할 수 있다. 한편 그립 2 . 22 의 병렬형승산기는 5 개의 논리함수 f를 사 용하여 Z 의 원소 Z;(O~ i ~4) 를 동시에 계산할 수 있도록 한 것이다.
기산승 형렬직 한용 이 를 지기규정 의상)6 2 (F G .212 립그
二 三
그림 2.22 GF( 잔)상의 정규기지롤 이용한 병렬형 승산기
2-3- 4 역원 계산기 유한체 GF(2m) 상에서 임의의 한 원소 B 의 역원은 식 (2.18) 과 같이 B-1 =B2m-2=B< 2+ 2 사 ... +2m-1J = (B2) (B2') (B2•) … (B2m-1) (2.59)
B
그립 2.23 정규기지를 이용한 GF(25) 상의 역원 계산기
로 쓸 수 있다. 정규기지 표현에 의하면 B” 는 B 를 j번 순회치환시킨 것 과 동일하므로 식 (2 . 59) 를 이용하여 CF( 안)상에서 그립 2 . 11 과 같은 역 원 계산기를 구성하면 그림 2.23 과 같다. 그림 2.23 에서 selec t or 는 초기 상태에서 각각 B 와 1 에 연결되어 있다 가 다음 단계부터는 각 fe edback 에 연결된다.
제 3 장 BCH 부호의 복호법 BCH (Bose-Chaudhuri- H oq u eng h em) 부호는 블럭 부호 (block codes) 인 순 회 부호 (cy cl ic codes) 의 일종으로 매 우 강력 한 오류 정 정 능력 을 갖는 부 호로서 콤퓨터 기 억 장치 , 광 디스크, DAT (Di gital Audio Tape ) 등과 같 은 디지탈 정보 저장 시스템은 물론 위성통신, 우주통신, 암호통신 및 이동 무선전화와 같은 디지탈 통신 시스템에 널리 사용되고 있다. 2 원 BCH 부호의 효과적인 복호알고리즘은 1960 년 Pe t erson 에 의하여 처음 제안되었으며 이 알고리즘은 1961 년 Gorens t e i n 과 Z i erler 에 의해서 개선되어 비 2 원 BCH 부호에까지 적용될 수 있게 일반화되었다. 또한 BCH 부호의 복호알고리즘으로 가장 보편적으로 알려져 있는 Berlekamp -Masse y의 반복알고리 즘이 있다. 이 장에서는 2 원 BCH 부호의 부호화 방법 및 여러가지 복호알고리즘들 을 연구 분석하고 그리고 장치화의 관점에서 비교적 상세하게 설명하기 로한다. 3-1 순회부호의 표현 부호장이 n 이고 정보장이 k 인 (n,k) 순회부호의 생성다항식을 g( x)=
go+ g1 X+ …+g n-kXn-k 이라 할 때 d(x) =d。 +d1x+ … +dk - !Xk - l 을 부호 화될 정보다항식이라 하면 부호다항식 c(x) 는 다음과 같은 비조직형으로 표현된다. c (x) = d(x) •g( x) = Co+ C1X+C2X2+… +Cn- 1 Xn- l (3.1 ) 조직형 (n, k) 순회부호의 부호어는 다음과 같이 d(x) 에 Xn - k 룹 곱하 여 g (x) 로 나누면 구할 수 있다. xn-1id (x) =q( x) • g( x) +p( x) (3.2) 여기에서 q (x) 는 몫 다항식이고 나머지 P(x) 는 (n ― k ― 1) 차 이하의 패 리티검사 다항식이다. 그러므로 조직형 부호다항식은 다음과 같 이 표 현된다. c(x) =P (x) +xn-kd(x) =Po+P1X+ … +Pn-k-1Xn- k -l + doxn-k+ d1xn- k +I + … + dk-1Xn- l (3. 3) 이것은 다음의 부호어에 대응된다. C = (Po, P1, …, Pn-k-I, do, dI, …, dk-1) (3.4 } 식 (3 .4)로부터 부호어는 n_k 개의 패리티검사 디지트들과 k 개의 정보 디지트들로 구성된다. 조적형 생성행렬 G 는 다음과 같이 xn-k” 를 g (x) 로 나눔으로써 구할 수있다. xn-Hi =q;( x) g( x)+p ;( x), O£:i £ :k— 1 (3.5 ) c,·( x )=p i(x )+xn-k+i, 0 스i스 k ― 1 (3.6) 그러므로 이 k 개의 다항식들은 kXn 행렬의 행으로 나열하면 다음과 같 은 조직형 생성행렬 G 를 구할 수 있다. g。 Poo Po1 Po,n-k.- 1 1 0 0 … O G=1 g\ = pIO pII P1,n-1t- 1 o 1 o … O (3.7) g1,.-1 P1c-1,o P1c-1,1 … pk- In-k-IO O O … 1
그러므로 부호어 c 는 c = (co, c,, C2, …, Cn- I) = (do, d,, d2, …, dk- 1 ) •[go, g,, g2 , …, gk _ ,] T (3.8) o] 다. 3-2 BCH 부호의 구조와 부호화 [72] 부호장이 n=2m- 1 인 2 원 t중 오류정정 BCH 부호의 생성다항식 g( x) 는 근 a, a2 . …, a” 에 대응하는 최소다항식 m i( x), I~ i ~2 t의 곱으로 이루어진다. 여기서 a E GF(2m) 는 원시다항식 p (x) 의 근이다. 2 원 기호 {0 , 1} 을 계수로 하는 c(x) = co + c1x+c2 x2 + … +Cn - 1Xn - l 을 부호다항식이 라 할 때, 부호다항식 c(x) 가 a,a 러… ,a” 을 근으로 갖는다면 c(x) 는 이러한 근들에 대응하는 최소다항식 m1(x), mi (x), …대Zit (x) 로 나누어 떨 어지므로 t중 오류정정 BCH 부호의 생성다항식 g (x) 는 이들 최소다항 식 의 최 소공배 수 (lea st common multip le ) 이 어 야 한다. 죽 g (x) =LCM{m1 (x) , 1n2 (x) , …, 1n2, (x) } (3.9) 그러나 a 의 모든 우멱지수는 같은 최소다항식을 갖기 때문에 식 (3.9) 는 다음과 갇이 표현된다. g (x) = LCM.{ m 1 (x) , m.i (x) , …, 11Zit- l (X) } (3.1 0 ) 이는 부호다항식 c(x) 가 a,a 3, · · ·,a21 - 1 을 근으로 가질 때 한해서 부호어 가 된다는 것을 의미하며 각 최소다항식의 차수는 m 이하이므로 g (x) 의 차수는 m t 이하가 된다. 따라서 BCH 부호는 mt 이하인 검사 디지트 수 를 갖는다 .. 죽 n-k£,_mt . [예제 3. 디 생성다항식이 g (x) = m1 (x) ms (x) ms (x) (3.1 1 ) 인 3 중 오류정정 (31,16) BCH 부호를 생각해 보자. a 를 표 2.1 에서 주어
전 GF(25) 의 원시원이라 할 때 a, a3 , a5 에 대응하는 최소다항식들은 표 2.1 을 이용하여 다음과 같이 쉽게 구할 수 있다. m, (x) = (x+a) (x+a2) (x+a4) (x+ 군) (x+a16) = l +x2+xs 같은 방법으로 ms(x) =1+x2+x3+x•+x5 ms(x) =1+x+ 났 +x•+x5 식 (3.11) 에 이들 m;(x), i =I,3,5 를 대입하면 g( x) =I+x+ 났 +x3+x5+x 나갔 +x9+x10+x11+x15 (3.12) 가 된다. 생성행렬 G 를 만들기 위해서 x15+’ 를 g (x) 로 나누면 x1s+i =q; (x)g ( x) +P; (x) 또는 C;(x)=p ;( x)+x15+i , O~i ~ 15 (3.13) 가 되고 이들 16 개의 부호다항식을 16X31 행렬의 행으로 배열함으로써 조직형 생성행렬을 얻을 수 있고 이는 다음과 같다. 1111010111110001000000000000000 0111101011111000100000000000000 0011110101111100010000000000000 0001111010111110001000000000000 1111101010101110000100000000000 1000100010100110000010000000000 1011000110100010000001000000000 1010110100100000000000100000000 G= 0101011010010000000000010000000 (3.14) 0010101101001000000000001000000 0001010110100100000000000100000
000010101~010010000000000010000 1111000010011000000000000001000 0111100001001100000000000000100 0011110000100110000000000000010 1110101111100010000000000000001 따라서 이 부호의 부호어는 정보벡터 d= (rk, d1, …, d15) 가 주어졌을 때 c= (co, C1, C2, …, c30) (3.15) = (do, d,, d2, …, d,s) • G 에 의해 얻어진다. 이때 식 (3.15) 에서 생성행렬 G 는 식 (3.14) 로 주어진 다. 예를 들어 d(x) =1 이라 하면 부호어는 c(x) =I+x+x2+x3+x5+x1 +x 나갔 +x10+x11+x15 이 된다. 식 (3.15) 를 이용하여 3 중 오류정정 (31,16) BCH 부호의 병렬부호기를 설계하면 그립 3.1 과 같다. a;, 1 같b, 2 t가 c(x) 의 근이면 c(ai) =Co+c,(ai) 1+C2(a;)2+ ... +en 一 I(a;)n~1=0 이 되고 이는 다음과 같이 행렬 형태로 표현할 수 있 다.
d(x) { l .: | ,,,, 기 EX•••- 0 R ••• >/ ` fc (x)
그림 3.1 3 중 오류정정 (31,16) BCH 부호의 병렬부호기에 대한 불럭도
(a'.) ° (ai) I (co,C1,C2,… , Cn-1) ./ (ai) 2 /=O, l~i ~ 2t (3.16) (ai) n-1 식 (3.16) 은 c = (co, c,, C2, …, Cn-1) 이 t증 오류정정 BCH 부호의 부호 어이므로 c •HT=o 인 관계가 성립함을 나타낸다. 따라서 이 부호의 검사 행렬 H 는 H=[(a i )o(a i )'(a i )2 … (a i )n 기] , 1 같 £2 t (3.17) 로 되고 H의 각 요소들은 GF(2 기의 원소들로 구성된다. 식 (3.17) 에서 a 의 멱둘은 2 t차원 열벡터로 표현되며 길이가 2 t(또는 tfo -1) 인 모두 영 이 아닌 H 의 열로 나타내면 다음과 같다. 1 a a2 … an-I 1 a2 (a2) 2 (a2) n-1 H=I I a3 (a3)2 (a3) n-1 (3.18) 1 a21 (a21)2 … (a2t ) n 기 H 의 각 요소를 GF(2) 상의 m 차원 열벡터로 대치하면 이는 BCH 부호 의 2 원 검사행렬 H 가 될 것이다. 그러나 H의 임의의 2 t개 열이 1 차 종 속이 되어서는 안되므로 t중 오류정정 BCH 부호의 최소거리는 적어도 2 t +1 이어야 한다. 따라서 식 (3.18) 로 주어진 H의 2t 이하 어떤 열들의 합도 0 이 되지 않는다. a;, j= 2i ,4 i, …를 임의의 i에 대한 a’의 공액근 들이라 하면 a’는 c(x) 의 근이므로 c(ai) =O 이 된다. 따라서 H 의 우수 행 (even nwnber rows) 은 식 (3.18) 로부터 제거된다. [예제 3. 기 최소거리가 dm;n=1 인 3 중 오류정정 (31,-16) BCH 부호를 다 시 생각해 보자. 식 (3.18) 과 표 2.1 을 이용하면 이 부호의 검사행렬 H 는 다음과 같다.
[1 al a2 a3 a4 a5 a6 a1 군 a9 硏 all 硏 a” a” a15 H= 11 aJ as a9 a12 a1s at e a21 a2• a21 alo a2 as 간 a11 au 1 as a10 a's a20 a2s alo a' 건 au a19 a2• a29 al 군 a13 aa1lBs aa1213 aa21Be a#1 9 aa210 aa2l12 ad22 aa2232 aa2z7• aa 2s aa26s aa2l1l aa216e aa2 이9 a니30 a11 azo a23 a2s a29 a a• a1 a10 at l a1s a19 a22 a2s a2e (3.19) 식 (3.19) 의 모든 요소는 Galo i s 체 CF( 안)의 원소들이다. 표 2.1 로부 터 F 의 각 요소는 이에 대응되는 5 비트 열벡터로 대치될 수 있다. 따라 서 이 부호의 검사행렬 H 는 다음과 같은 15X31 행렬로 된다. 1000010010110011111000110111010 0100001001011001111100011011101 0010010110011111000110111010100 0001001011001111100011011101010 0000100101100111110001101110101 1000011001001111101110001010110 0011111011100010101101000011001 H= I o o o o 11 o o 1 o o 11111 o 111 o o o 1 o 1 o 11 o 1 (3.20) 0 1 1 1 1 1 0 1 1 1 0 0 0 1 O· 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0001010110100001100100111110111 1111010001001010110000111001101 0001001010110000111001101lll101 0101100001110011011111010001001 0001110001011111010001001010110 0011011111010001ooi o 10110000111 3-3 오중 계산 [72) 복호의 첫단계는 수신어 r(x) 로부터 오중 s(x) 를 계산하는 것이다. t
중 오류정 정 BCH 부호를 복호하는데 2 t차원 오중 (sy n drome) 은 s = (s1, s2, …, s21) = r • Hr (3.2 1 ) 로 표시된다. 여기서 검사행렬 H 는 식 (3.18) 로 주어진다. 부호어 c(x) 를 전송했을 때 수신어 r(x) 는 오류 형태 e(x) =ea+e.x+… + en - 1X n- l 로 인해 r(x) =c(x) +e(x) (3.2 2 ) 가된다. 실제로 l/개의 오류가 e (x) = AL)=1! I xh , Obh b n-1 (3.2 3 ) 와 같이 임의의 위치 jA, l~ ,1~l/에서 발생하였다고 가정하자. a, a2, …, a” 가 이 부호의 각 부호다항식의 근이므로 c(ai) = o, I~ i ~2 t가 된다. 따라서 식 (3.22) 은 r(ai) =e(ai) , i= l,2,… , 2t (3. 24 ) 이다. 한편, 오중요소들은 r(x) 를 a- 의 최소다항식 m,,,(x), I~k~2 t로 나 눔으로써, 죽 r(x) =Q1i(x ) m11(x) +s11(x) (3.25) 으로부터 구해진다. 여기서 x=a 일 때 나머지 (remain d er) s,.(a) 는 mk( 간) =0 으로 인해 오중요소 (s yn drome comp on ent) s,. 가 된다. 그러 므로 일반적으로 r(a i)를 계산한다는 것은 s,.(a;) 를 계산하는 것과 일치 한다. 따라서 식 (3.24) 와 함께 오중요소는 s,.=s,.( 건 )=r(a)=e(a), l~k~2t (3.26) 와 같은 관계식으로 표현된다. 식 (3.26) 로부터 오중 s 는 오류형태 e 에 의존함을 알수 있다. [예제 3.3] 3 중 오류정정 (31, 16) BCH 부호를 행각해 보자. 모든 요소
가 영인 부호계열 c(x) 를 전송했을 때 수신계열이 r(x) =x2+x11+x” 이 라 하면 2 t =6 이므로 이에 대응되는 오중은 s=(sI,S2,S3,s4,s5,S6) 와 갇 다. 한편, 예제 3.1 에서 구한 최소다항식은 각각 m1 (x) = l+x2+x5, ma(x) =l+x2+x3+x•+x5, ms(x) =l+x+x2+x 나갔이므로 r(x) 를 m1(x) 로 나눈 나머지는 ,1(x)=1+x+x2+ 났가 되고 이때의 오중요소는 S1 = ,1 (a) = l+a+a2+a3=a23 S2= 11 (a2) =1 +a+a2+a3+a4=a15 s.= ,1 (a 이 = a+a•=a30 로 구해진다. 같은 방법의 의해 r(x) 를 1n3(x) 로 나눈 나머지는 r3(x) = 1+x+/ 가 되어 x=a3 과 군에 대한 오증요소는 각각 S3 = r3 (a3) = 1 + a+a2= a11 s6 = r3 (a5) = 1+a2+a•= a22 이다. 끝으로 r(x) 를 ms(x) 로 나눈 나머지 rs(x) =l+x+ 갔으로부터 ss=rs( 감) =1+a+a3+a'=a11 가 된다. 따라서 구하고자 하는 6 차원 오중은 s = (a23,a1s,a11,a3o,a16 ,a 22) 와같다. 3- 4 BCH 복호 BCH 부호의 복호에 관한 알고리즘과 기법은 1964 년 이래 여러 편의 논 문이 발표되었지만 각 복호기법은 정정 가능한 오류의 갯수에 따라 장단 점을 지니고 있다. 식 (3.26) 에서와 같이 각각의 오중요소 s& 는 오류형태 e(x) 를 x=a 에서 계산한 값과 같다• 따라서 이는 GF(2m) 의 원소로 표현된자. 11(1
스J.1스t)개의 오류가 미지의 위치 jU J.2, …, j ll 에서 발생했다고 가정하자. 그러면 오류형태는 e (x) = LII! xi, , O~h~n-1 (3.27) A= I 가 된다. 식 (3.26) 과 (3.27) 로부터 오중요소는 s,,= A2=! I (간)j A= A2= I (aj A) k= A2= I (8A) k (3.2 8 ) 이 되며 이 식은 오중요소 Sk, l~k~2t와 오류위치번호 /3A =aJA , l~ ,-l 스 v 간의 결합된 방정식 집합을 만든다. 죽 s1 = ~µ /3A A= l S2 = Lu! (/3A ) 2 (3.2 9 ) A= l :. S2 t = L”! (/3A ) 2t A= l 이러한 2 t개의 방정식을 오증방정식 또는 멱합대칭함수라 한다. BCH 부 호의 복호기법은 이러한 오중방정식을 푸는 방법과 오중요소로부터 오류 위치번호 a1•, ,.\=1,2,… , v 를 찾아내는 것이다. 四죽t인 오류가 발생했다 고 가정하자. 오류위치다항식은 6(x) =야+아 x+ 아갔+… Gux = (1+P1x) (1+/3 ix ) …( 1+P11x) (3.3 0 ) 이며 이때 오류위치번호의 역수가 근이 된다. 식 (3 . 30) 에서 계수 6,, 0~ 로 v 는 오류위치번호의 기초 대칭함수로 주어지며 다음과 같다. ~=1 II 아 =Ei= 8l i 야= viE=- 1l B iB i+ 1 (3.3 1 ) : (J11 = /31 & …/311
여기서 /3,는 a(x) 의 근 /3 ;1 의 역수가 되는 ai i, O~ i ~v 이다. 위 BCH 복호를 위한 주요 단계는 다음과 같다. 1) 수신어 r(x) 로부터 오중 s 를 계산 2) 오중 s 로부터 오류위치다항식 a(x) 의 계수 a 를· 결정 3) a(x) 의 근을 구함으로써 오류위치번호 /3;, O~ i ~v 를 결정 4) 오류위치번호가 나타내는 위치에서 r(x) 의 오류를 정정 다음 절에서는 이미 발표된 여섯 가지 다른 복호법에 대해 설명하고 이에 따른 적절한 예를 둘어 본다. 3-5 Pete r son, Gorenst ei n , Z i erler 의 직 접 복호기 (28) 2 원 BCH 부호에 대한 Pet er son 알고리즘 (1960) 은 Gorens t e i n 과 Zie r ler (1961) 에 의해 비 2 원 BCH 부호로 확장되었다. 그러면 이 절에서는 BCH 부호뿐만 아니라 Reed-Solomon( 이하 RS) 부호의 복호에도 적용할 수 있 는 일반적인 경우에 대해 고찰한다. l/ be t이고 계수들이 O(zero) 이 아닌 오류다항식 e(x) =ea+e1x+… +en - 1Xn-l 은 j A(1 스 A 스기 위치에서 오류가 무작위로 발생하였다면 e (x) = e;1x'1 + e;.x12+ … + eju xIv (3.32 ) 이 된다. 여기서 e j A 는 jA 위치에서의 오류치 (error value) 라 한다. 실제로 2 원 BCH 부호의 경우는 e;;=1 이 되지만 RS 부호와 같은 비 2 원인 경우에는 오류위치 x'A 와 오류치 e;A 를 모두 계산해야만 한다. 일반적으로 오증요소 S 1,는 수신다항식 r(x) 로부터 구해지며 k=l 일 때, S1 은 s1 = r(a) =e (a) = e;. 건 + ej2 aJ 2 + … + eju aJI J (3.33) = Y1f3 1 + Y2& + … + Yl) /31) 가 된다. 여기서 f3A =aJA , 1 스 A 스y는 오류 위치 번호이고 YA=e;A, 1 스 A
~v 는 오류치를 나타낸다. 일반적으로 오중요소 Si ,., l~k~2 t는 s.=r(a 시 =e(a시 = Y1f1 ~+ Y2 않+…+ YJ 3t, l tt,_k tt, _ 2t (3.34) 가 되며, 식 (3.34) 로부터 미지수 8A 와 YA, 1 스 A 스 U 를 갖는 간개의 방정 식은 다음과 같다. s1 = Y1/3 ; + Y2!3 i + •• • + Yv /311 S2 = Y1/3 ?+ Y2/3 g+ … + Y11/3 t ss := Y1/3 ~ + Y2 /:3방 + … + Y11/:3 1 /3 (3.35) S21= Y1 /3안+ Y2 /3점나 .. + y碑 식 (3 . 35) 의 연립방정식을 풀어 적어도 하나의 해를 구해야 한다. 오류위치다항식 a(x) 가 6(x) =1+ 아 x+ 야갔 +···+6 /,I x /,I = (1 +/31x ) (1 +gx ) … (1 +/3/,Ix) (3.3 6 ) 일 때, 식 (3 . 36) 의 양변에 Y7 f3?+"를 곱하고 x= f3 r1 라 놓으면
S11< J.,+ s11+ 1< J11 - 1 + … + S211 - 1 아 = -S 211 로 되며 이 식은 a(x) 의 계수와 오중이 결합된 선형연립방정식으로 New t on 의 항등식이라 한다. 식 (3 .4 0) 을 행렬식으로 표현하면 SS12 SS23 SS43 •• •• •• SS1 111 - 1 SS1 111 + 1 a61II1 -1 I= I -—s1S11+1 +12 (3.4 1 ) S11S11+ 1 S11+ 2 ••• S211- 2 S211- 1 아 -s2v 또는 :6I: I =M I 〔l—s二2l / 一 (3.4 2 ) 와 같다. 여기서 S1 S2 S3 ••• S11-1 S11 M= S2 S3 S4 ••• S11 S11+ 1 (3.4 3 ) S11 S11+1 S11+2 ... S211-2S211-1 이다. 따라서 a(x) 의 계수 야, l~ i ~II 는 M 이 비특이 (nons i n gul ar) 일 경 우 이에 대한 역행렬로부터 구할 수 있다. 복호알고리즘을 적용할 첫번째 과정은 식 (3 .4 1) 로부터 실제로 발생한 오류의 갯수 J/를 결정하는 것이다. 만일 t=J/이라면 오증행렬 M 은 비특 이가 되나 J/
반복하여 |Ml ct= o 이 되는 u 값을 구해야 한다. 식 (3 .4 3) 에서와 갇이 우선 M 의 역행렬을 구하여 6,, 1 스”다를· 결정 한다. 그다음 오류위치다항식 a(x) 를 구하여 오류위치번호를 결정하기 위해 a(x) 의 근을 구한다. [예제 3 . 산 생성다항식이 g( x) =1+x+x2+x3+x5+x7+x8+x9+x10 +Xll+XIS 인 3 중 오류정정 (31,16) BCH 부호에 대해 생각해보자. 복호 알고리즘을 수행하기 위해서는 우선 오중요소를 다음과 같이 계산하여야 한다. 모든 요소가 영인 부호다항식 c(x) 에 대한 수신다항식이 r(x) =x +x12+x2s 이라 하자. 결국 이는 오류 다항식 e(x) 와 갇고 예제 3 . 1 로부 터 a,a3 과 a5 에 대한 최소다항식은 각각 다음과 같다. m1 (x} =1+ 갔 +x5 11¾ (x) = 1+X 탸갔 +x•+x5 ms(x) =l+x+x2+x 나갔 오중요소는 r(x) 를 최소다항식 m.(x), k=l,3,5 로 나눈 나머지이므로 결국 오중요소는 s1 = I +a2+ a'= a22 s2=I+a'+a8=a13 S3 = 1+a5+a9= a10 s, = 1+as+a1s= a2s Ss = a10+ a1s = a12 Ss = 1 + a12+ a1s = a20 와 같이 쉽게 구해진다. 따라서 r(x) 의 오중은 s = (a22, a1a, a10, a2&, a12, a20) 이 된다. 그리고 그립 3.2 는 이 부호의 오중계산회로이다. 이제 앞에서 언급했던 바와 같이 Pete r son 알고리즘을 적용하기 위한 오류위차다항식
S,
그립 3.2 (31,1 6 ) BCH 부호에 대한 오중 계산회로
M = _Si525_S2SSS s_s &&—— slsa_ 22a13aaI 130al 2a0 a106a - 26 a12 - 一 이 되며 M 의 행렬식은 IMI=[ aa1232 硏a1 3 aa1260〔 국 13+a12+a7+a30=a7 a10 a26 a12 이므로 영이 아니다. |Ml -:t: o 이기 때문에 11=3 은 정확한 값임을 알 수 있 다. 다음은 M 의 역행렬 M-1 을 구하는 것으로 M 됴?〔 ;:3 ::: ::: ]=[::4 ::6 :::] 이 된다. 따라서 식 (3 .4 2) 로[부:터] = M [:: ] =[:::: : ::: ::}[::,] 가 되어 오류위치다항식 a(x) 은 다음과 같이 표현된다. <1( x) =l+a22x+x2+a1x3 (3.4 4 )
a(x) 의 근을 구하는 데는 두 가지 방법이 있는데 하나는 GF(2 키의 모 든 근 ai , O !f.. i!f.. 30 을 식 (3 .4 4) 에 대입하는 것이고 다른 하나는 Chie n 의 담지법에 의한 것이다. 그러므로 a(x) 의 근은 위 방법 중 하나를 택 하여 구하면 a30,a19’ 간뿐이며, 오류위치번호는 이 근들의 역수이므로 1/a3o=a, 1/a'9=a'2, 1/a6=a 2 s 가 된다. 따라서 오류형태는 이 부호가 2 원 부호이므로 오류치가 〈1 〉이기 때문에 e(x) =x+x12+x25 가 됨을 알 수 있다. [예제 3.5 ] (31,16) BCH 부호를 이용하여 2 중 오류롤 정정하는 경우에 대해 생각해보자. 전송된 부호다항식이 c(x)=O 이고, 수신다항식이 r(x) =갔 +x28 이라면 x5 과 x28 위치에 두 개의 오류가 발생한 것이다. 식 (3.3 4 ) 로부터 오중은 다음과 갇이 구해 진다. S1 = r(a) =as+a2s=a11 s2=r(a2)=a3 S3=r(a3) =a15+a22=a6 s.=r(a•)=a6 ss = r(as) =a2s+a11 =a S6= r( 감) =al2 이때 11=2 라 놓으면 식 (3 .4 3) 로부터 M =[:: ::]=[::길 가 된다. 또한 IMI=a23+as=as 이므로 M 의 역행렬 M-1 은 M 기 =事 :1: ]=[:29 :::] 이다. 식 (3 .4 2) 로부터 오류위치다항식
[:]=[:29 :::] • [::]=[::7] 따라서 오류위치다항식은
A
그림 3.3 Ch i en 의 담지회로
환기의 출력은 〈 1 〉이며 버퍼레지스터에서 출력되는 rn-1 디지트를 복호한 후 다시 ak 국농산기를 동작시켜 그. 합을 검토한다. 만일 합이 〈 O 〉이면 버 퍼레지스터에서 나오는 오류 비트 rn-2 는 2 원 변환기에 의해 정정된다. 따라서 탐지회로는 이런 방식으로 수신어를 버퍼레지스터 출력으로 완전 히 읽혀질 때까지 바트 대 비트 단위로 r(x) 를 복호한다. [예제 3. 이 다시 3 중 오류정정 (31,16) BCH 부호에서 c(x) =O 일 때 r (x) =x+x12+x2s 인 경우를 생각해보자. 예제 3 .4로부터 오류위치다항식 은
입력
그림 3.4 3 중 오류정정 (31,1 6 ) BCH 부호에 대한 Ch i en 의 탐지회로
이므로 다음과 같이 a, a2, a3 을 곱하는 세 개의 승산기가 필요하다. a/3 =b .+boa+ (bi +b.) a2+/; za 3+baa• a2/3 =& +b.a+ (bo+ba) a2+ (b1+b.)a 나 &a4 a3/3 =& +&a+ (l;z +b.) a 나 (l;z+ ba) a 난 (bi +b.) a• 이 세 가지 승산울 이용하여 3 중 오류정정 (31 .16 ) BCH 부호에 대한 Ch i en 의 탐지회로를 장치화한 것이 그립 3 .4에 나타나 있다. 한편, a(x) =l+a22x+x2+a1x8 의 근을 구하는 데는 대입법 (substi tu-
tion me t hod) 이 있다. 이는 GF(25) 의 원소 air , l~k~31 을 a(x) 에 대입 하여 a(ak) =O 을 만족하는 근을 찾는 것으로 이 경우는 a6, a”, a 임을 알 수 있다. 따라서 오류위치번호는 이 근들의 역수를 취함으로써 쉽게 구해지며 각각 a2s, a12, a 이다. 그러므로 오류형태는 e(x) =x+x12+x1s 가 되고 이 오류형태 e(x) 에 수신다항식 r(x) 를 더함으로써 모든 성분 이 영인 전송된 부호어를 얻을 수 있다. 3-6 Ch i en 의 직 접복호법 (13) Ch i en 에 의해 제안된 직접복호법은 3-5 에서 설명한 Pe t erson 의 방법 과는 약간 다르나 여러가지 면에서 어느 정도 유사한 점이 있다. 수신다항식 r(x)=ro+r1X+ … +Yn-1Xn-l 로부터 오증요소(또는 멱합) S ; 는 S;=r(ai) , i= l,3,S,… ,2t - 1 (3.4 7 ) 가 되므로 오류위치다항식 a(x) 의 계수(또는 기초대칭함수) 야, k=l,2, …, t는 오중요소 s i로부터 계산할 수 있다. sl· 로부터 야를 구하기 위해 서는 2 전 BCH 부호에 대한 Ne wt on 의 항등식이 필요하며 이는 다음과 갇다. S1+ 아 =O S3+ 아 S2+~S1+ 야 =O (3.4 8 ) S5 + 아 s, + ~S3 + 야 S2 + <1,S 1 + as =O 여기서 a,., k=l,2,… , t는 미지수이다. 식 (3 .4 8) 을 다시 행렬로 표현하 면 A ··< J = B (3.4 9 ) 이 되며, 여기서
1 。 。 ... 0 S2 S1 1 ... 0 A=I s, S3 S2 ... 0 (3.50) S2t - 2 S2 t一 3 Sz t-4 ••• St - I 아 S1 6 = 68 B=I SS3s at S21-1 이다. 행렬식 |A| 이 영이 아니면, 식 (3 .4 9) 는 임을 알 수 있다. 그러므로 야, k=l,2, …,t는 야=―I'A1 lli.-!J<_ ; ;' l A i ,kS2 i-lt k= l,2,… ,t (3.'.5 3 ) 으로 표현되며, 여기서 A;,,., l~k~ t는 |Al 의 여인자 (co fac t or) 이다. a(x) 를 오류위치다항식이라 하면 a(x) =1+ 아 x+ 아갔+… +6 갑 = (1 +/3ix) (l +Szx) … (1 +/31X ) (3.5 4 ) 이 되며 a(x) 의 근을 찾는 한 가지 방법은 a(a•) =o 이 되도록 모든 원 소갑를 대입하는 것이다. 이것은 다음 식들 중 a(a)=O 을 검사함으로 써 가능하다.
.Ll,=t !I iL=t !I A ;,1,.S 2i -!+ IAl=o (3.57) 이 되며 식 (3.57) 을 전개하면 다음과 같다. (A1,1 + A1.2 +… +A1,1) S1 + (A2,1 +A2,2 +… + A2,1 ) S3 +…+ (A1,1 +A1,2 +… +At ,t) S2 t- l =IAI (3.5 8 ) 따라서 젊 접 A;, 1t S2 i-1 +IAl=IAI+ (A1,1 + A1,2 +··· +A1,1) S1 + (A2 .1 +A2.2 +… +A2,t) s3+… + (A1,1 +A1.2+ · .....+ A,.,) S21- 1 =0 (3.59) 임을 알 수 있다. 이제 식 (3.59) 가 행렬식 4 를 0 으로 놓은 것과 정확히 같다는 것을 보이자. 죽 1 11s1 0 ·~··1 00 ~~
S1 4=I S3 2 S1 Sz t-1 S21-z Szt - 3 ••• S1-1 =Llo + S1Ll1 + SaL13 + •·· + S21-1Ll21- 1 = O (3.60) 여기서 4。 =IAI 1 1 1 1 1 S2 S1 1 。 。 L11= s, S3 S2 S1 。 S2t - 2 S2 t-3 S2t - 4 s2t - 5 St - 1 S1 1 。 ... 。 S2 1 。。 S3 S2 S1 ... 。 s • S2 s1· 。 = + s2t - 3 S2t - 4 S2t - 5 ••• st - 1 S2E2 S2t - 4 S2t - 5 St - 1S2 S1 1 。 +…+ S:.4 S3 S2 。 =A1.1+A,.2 +… +A1,1 S21- 2 S2t _ 3 S2t - 4 … S t L13 = A2.1 + A2.2 + …+ A2,t : 42t - 1 =Am+At ,2 +… + At ,t 이다. 4,. i =0,1,3, … ,2 t― 1 를 식 (3 . 60) 에 대 입하고 식 (3 . 58) 을 이용 하면 LJ= IAl+s, (A,.,+A1.2+… + A,.1) +S3(A2,1+A2 ,2+… A 교 +… +s21-1 (A1., +A1,2 + … + At ,t ) =o (3.61) 이 됨을 알 수 있다. 식 (3.59) 와 식 (3.60) 을 비교하면 LI= k~I= l i~=t lA i , kS 2i - 1+IAl=o (3.62) 이 입증된다. 이러한 오류정정 과정과 장치화는 다음 예제를 통해서 상 세히 설명한다. 〔예제 3 기 t =3 인 (31,16) BCH 부호의 복호기를 앞에서 설명된 직접 복호법을 이용하여 설계해 보자. 식 (3.60) 에서 t =3 일 경우 4 는 다음과 같다. 1 111 01 01 LJ= I S1 S3 S2 S1 Ss S4 S3 S2 = S1S2 + S3 + s!s2 + S1Ss + S1S 웅+ S1S4+ S2Ss + Ss + S1°S 2 S3 +sis . +si+ S 1Ss 식 (3.28) 로부터 s2=s i이고 s,=s t이므로 4 는 LJ= (1+ s1 +sn s~+ (l+ s1+sf+ sf+ S s) Ss+ (l+s1) Ss
가 된다. 수신어가 r(x) =:x +x12+x2s 인 경우, 오중요소 S1, S2, … s2 t는 각각 S1 = r (a) = a+a12+a25= 1 +a2+ a4= a22 s2 = r (a2) = sf = a13 S3= r(a3) =a3+a5+a13= 1+a•= a10 s.= r(a•) =s 덩 =a26 (3.63) Ss = r (a5) =a5+ a29+a= a+ a2+a3= a12 s6= r (감) = s:= a20 이다. 이제 4=0 인 조건을 만족하는지 검사하는 것이 필요한데 다음 표 에 의해 오류위치 x,x12,x2s 에서 4=0 임을 검사할 수 있다. 위치번호 31 30 29 28 27 26 25 24 …1 3 12 11 …2 1 0 SI a22 a23 a a25 a26 a27 a28 a29 a9 al0 aII a20 a21 a22 Sa a10 a1s a1s a'g a22 a2s a2s 갑 a5 군 a• a1 a10 Ss a12 a17 a22 a27 a a6 aII a16 …a 9 a a” …a 2 a7 al2 우선 위치번호가 25 인 경우 s1=a28, Ss=a28, Ss=a11 이므로 4 의 값 은
LJ= (1+S1+sDs~+ (l+s1+sr+s~+S3) S3+ (1+S1) Ss = (l + a2s+ a22) a22+ (l + a2s+ a2s+a22+ a2s) a2s+ (l + a2s) au = (a) a22+ (l+a 2+aa) a2s+ (a2+a') au =a2s+as+a&=o 이다. 따라서 4=0 이므로 x25 이 오류위치임을 알 수 있다. 마찬가지로, 위치번호가 12 인 경우 S1=a10, S3=a5, Ss=a” 이므로 4 의 값은 Ll= (l+a1o+a3o) a3o+ (l +a1o+a2o+aao+as) a 탸 (l+a lO) aU =l+a+a18=0 가 되어 坪가 오류위치임이 입증되었다. 마지막으로 위치번호가 1 인 경 우 &=a21, s3=a7, s5=a7 이므로 4 의 값은L1 = (l + a21 + a63) as3 + (l + a21 + a•2 + as3 + a1) a1+ (l + a21) a1 =a11+a1o+a=O 이 된다. 따라서 x 역시 오류위치이므로 오류형태는 e(x) =x+x12+x25 가 됨을 알 수 있다. 이제 (31,16) BCH 부호의 복호기를 구성해 보자. 식 (3.50) 을 이용하여 t= 3 또는 2 인 경우 행렬식 |Al 는 1s0sS 0S1 s A = 24 13 2 = S1 S2 + S3 = sf + S3 가 된다. 만일 IAl =l= O 이면 두 개 또는 세 개의 오류가 발생한 것이 되는 데, 그 이유는 S; 가 t= 3 또는 2 인 서로 다른 근의 멱합이기 때문이다. 이런 경우에 복호를 하기 위해서는 4=0 인지를 검사해야 한다. 죽 1 1 1 1 LJ= I S-1· 1 0 0 I =O 또는 *O S3 S2S1 1 Ss S4 S3 S2 IAl=o 이면 s i가 t -2=1 의 멱합이므로 단일오류 또는 오류가 발생하지 않았음을 알 수 있다. 이 경우 역시 |Al:::/=0 일 때와 마찬가지로 L1=0 인지 룰 검사한다. 4= Sl : I =s1+1=0 또는 *O 따라서 이상에서 언급한 복호법에 의해서 (31,16) BCH 부호의 복호기를 구성하면 그립 3,5 와 같다.
)(cx
로 회호복 접직 한대 에 호부CH B 31(1,) 6 , 3. 립그
3-7 Berlekamp 알고리즘에 의한 BCH 부호의 복호 Pete r son(3-5) 또는 Ch i en(3-6) 이 제안한 직접 복호법은 오류정정 능력 t가 5 보다 적은 오류형태의 경우에 이상적이며 적합한 복호방법이다. 이 기법은 오류위치다항식을 구하는 Berlekam p의 반복알고리즘을 사용하지 않고 오 중 으로부터 직접 오류위치번호를 구하도록 설계되어 있다. 그러 나 많은 오류 를 정정해야 할 경우 이 직접 복호법은 계산해야 하는 승산 과 제산의 횟수가 많아지기 때문에 복잡하고 비효율적이다. 이 철에서는 Berlekam p가 제안하고 Masse y와 Pe t erson 이 발전시킨 일반적인 반복알고리즘을 소개한다. 3-7-1 Berlekam p의 반복알고리 즘 (3 1( 72) 오류위치다항식을 구하기 위한 방법으로 Berlekam p의 반복알고리즘을 소개한다. 앞에서 기술한 바와 같이 2 원 BCH 부호어의 경우 오류 형태가 커지면 오중요소로부터 직접 a(x) 의 계수를 구하는 방법이 비현실적임을 알 수 있다. 그 대신 1967 년에 Berlekam p가 발전시킨 반복알고리즘을 채택하는 것이 보다 효과적일 것이다. 직접 복호법꽈 마찬가지로 이 방 법은 정정해야 하는 오류의 수가 증가함에 따라서 계산은 복잡해지나 어 떠한 오류형태에도 적용시킬 수 있다는 장접이 있다. 오류위치다항식 · a(x) 의 최소해를 구하는 문제는 반복과정을 수행하는 것으로 반복되는 각 단계마다 이 알고리즘은 반드시 New t on 의 항등식을 만족하는 계수를 갖는 최소해와 불합도 (d i scre panc y)와 연관된 교정항 (correcti on ter m) 을 유지 해 야만 한다. 이제 Pe t erson 이 발전시킨 Berlekam p의 반복알고리즘을 기술하면 다 음과같다. 1. 초기 조건 a<-1>(x) =l, l-1=0, d-1=1
l1 =max[o, o+o+ 1]= 1 d1 = S2 + S1< 1\ 1> = 0 1-/1=1-1=0 2 단계 6(2)(x) =6(I)(x) =1+a22x h=!1=l 3 단계 d62(3_ =)l ( 2xS=3) +2= S—a2 (<2l 1)\= 2(> x=l) 1— d2d 갑군(J (Ol (X) 2
la=ma=x [1l ,+ 0a+222x— + 0a]9= 갔2 d3 = s4 + s36(3)+ s26&3) = a26 + a + a22 = 0 3-[3=3-2=1 4 단계 6U) (x) = a(3) (x) = 1 + a22x + a9 났 l4=k=2 d4 = s5 + sg l 4)+ s36g4 ) 4_=L 1=+4a—+ a23= +2a •=a1& 5 단계 6(5)(x) = f (x) _ d4di 1 x26(2)(x) =·1 + a22x +갔+ a7x3 ls =ma x:[2 , 1+4 크 ]=3 d5= s6 + ss6{5)+ s46i5 )+ s36i5 ) = a2o + as + a2& + a11 = 0 5 一'5 =5-3=2 6 단계 6(6) (x) = a(5) (x ) = 1 + a22x + / + a7x3 이것이 바로 구하려는 오류위치다항식 a(x), 죽 <1( x) =l+a22x+ 났 +a1 군 이다. 이렇게 구한 6(x) 에 GF( 안)의 원소 a\ O~k~31 을 모두 대입하 떤 6(x) 를 만족하는 근은 a6 , a_1 9, a” 뿐이며, 이 근들의 역수를 취하면 오류위치번호는 각각 a26, a12, a 가 된다. 따라서 오류형태 e(x) 는표 3.1 a(x) 를 구하는 반복 과정 n 6(n)(x) dn In n— ln 一 · 1 1 。 -1 。 1 a22 。。 1 1+a22x 。。 2 1+a22x 1 1 3 1 + a22x + a9x2 。 2 1 4 1+a22x+a9 갔 a16 2 2 5 1+a22x +x2+a1x3 。 3 2 6 1+a22x+x2+a1x3 e (x) =x+x12+X25 로 되고 이 e(x) 를 수신다항식 r(x) 에 더함으로써 전송된 부호다항식 c(x) =O 을 얻을 수 있다. 그리고 a(x) 를 구하기 위한 반복 절차를 요약 하면 표 3.1 과 같다. a(x) 를 구하기 위한 Berlekam p알고리즘은 또 다른 형태로 나타낼 수 있다. 오증 s 의 벡터 성분을 s;= r(a1+i) , O~ i~ 2t -1 (3.64) 로 정의하자. 여기서 r(a1+i) =c(a1+i) +e(a1+ i)이다. a1+i , o;t ;, i;t;,2 t -1 는 c(x) 의 근이므로 식 (3 . 64) 는 s;=e(a1+ i), O£,i £ ,2t - l (3.65) 가 된다. v~L(dm i n 크 )/2 」인 오류가 전송 도중 발생했다고 가정한다. 그래서 j=j1,j2, … ,j ll 울 제의한 나머지 오류 성분은 e;=O 이 된다. 따라 서 오류형태는 e (x) =x11+x12+… + xJII (3.66) 가 되므로 각오중 성분은 s;= (a1H)i• + (ai+ • )h+… + (a1+’)JI I
= 2u! (aI+i) JA, 0~i ~ 2t— 1 (3.67) A= l 로 표현된다. 한편, n 번째 반복시 결정되는 최소다항식 해를 6(n)(x) =1+6\n}x+ a~n)x2 + … +6 i인 Xln 이라 하면 불합도는 dn = sn+ 2n 6}n)Sn-· (3.6 8 ) i= l 가 되며 alnl, 1,f , i,f, ln 는 6(n)(x) 의 계수이다. 또한 dn=O 이면 n+1 번 반복시 동일한 기억 내용을 유지하지만 dn -:t- o 일 때는 정확하게 Sn 을 생 성하도록 6(n)(x) 에 교정항을 첨가한다. Berlekam p에 의 한 또 다른 알고리즘에 대하여 요약하면 다음과 칸다. 1. n=O 일 때부터 다음의 초기 조건으로 시작한다. a<- 1)(x)=1, /_,=o, d-1=1 a<0>(x)=1, lo=O, ~=-1 2. dn=O 인 경우 a
이다. 상세한 복호철차를 다음 예제를 통해 알아보자 . [예제 3 . 이 예제 3 . 8 에서 기술한 3 중 오류정정 (31,16) BCH 부호를 다 시 생각해 보자. 위에 기술된 반복알고리즘을 적용하여 오류위치다항식 a(x) 를 구하라. 오중 성분 so=a22, s,=a13, s2=a10, S3=a26, s.=a12 와 ss=a20 을 이 용하면, a(x) 를 구하기 위한 반복 철차는 다음과 같다. 1 단계 n=O 을 취할 때 6(I) (x) = 6(O) (x) 一 dodkolx-ko (J ( k o) (x) 인데 do = So + i2=。 ! l a f 0s 1,, 0 - i = a22 d,,,0=d-1=l 이므로 a
., d,.2=s,.2+ i~= l 어 ”lS&- i= So=a22 2 d2 = S2 + i~= l a?>S2-i = S2 + a~2>S1 + a~2>So = a•o+ a22,a13= a10+ a4= 1 이다. 3 단계 n=2 를 취할 때, d2 -:f=. O 이므로 6(3) (x) = 6(2) (x) _ d2d g1 x2-k26 山) (x) = 1 + a22x + (a22)-1x2 = l+a22x+a9 균 /3 =max[1,2]=2 이다. 그리고 la > '2이므로 /¾=2 이고 d,.3= sk,+ iZ&= l ai& ) s&-i= s2+ i고=2 l 어 2)s2- i = s2+a\2>s1 =a10+a 도 1 d3 = s 3 + i=i3J l a 13> s 3 -; = s s + a pi s 2 + ag3 )s I = a26+a+a22=0 이다. 4 단계 n=3 을 취할 때, d3=0 이므로 60) (x) = 6(3) (x) = 1 + a22x + a9 갔 l,=ls=2 k,=ks=2
이고 dk‘= sk,+ i2k= ,l a}&)S&-i = S2 +ai2> s1 = a10+ a'= 1 d4 = s4 + i2=4 l a}4)s4-I. = s4 + ai 4)s3 + 6i 4)s2 = a12+ a11+ a19= a16 이다. 5 단계 n=4 를 취할 때, d건 =0 이므로 6(5)(x) =aU)(x)-d4d 갔갔_바꾼 4)(x) = 1 + a22x + a9 났 + a16 갔 (1 + a22x) = 1 + a22x + 났 + a7x3 k=max[l4, 4— (2 -h)]=max[2,3]=3 이다. 그리고 ls>L 이므로 ks=4 이다. 따라서 dko.= S ko + i~k= •-l a f •s k. 규 4 = s, + i~= l 어 4)s4- i = al2+ 6i 4)s3 + o&4)s2 = a16 d5 = s5 + iZ=5 l 6{5)s5 기 = s5 + 6i 5)& + 6i 5)s3 + 6i 5)s2 = a2o + aa + a2s + a11 = o 이 된다. 6 단계 n=5 를 취할 때, d5=0 이므로 6 번째 반복에서 최소차 다항
표 3.2 a(x) 를 구하는 반복 과정 n 6(n)(x) ln dn kn dkn -1 。 1 。 1 。 a22 -1 1 1 1+ a22x 1 。 。 a22 2 1+ a22x 。 a22 3 1+a22x+a9 났 2 。 2 1 4 1+ a22x + a9x2 2 a16 2 1 5 1+a22x+x2+a7x3 3 。 4 al6 6 1+ a22x +xz+ a1xl 식은 결국 a<6>(x) =a(x) =l+a22x+x2+a1x3 으로 구해지며, 이 식이 바로 오류위치다항식이며 예제 3 . 8 에서 얻은 해 와 동일하다. a(x) =a(6)(x) 의 근은 a6 , a19, a” 이므로 오류위치번호는 각각 a25' a12, a 가 된다. 그러므로 오류형태는 e (x) =x+x12+X25 이며 결국 복호기의 출력은 c(x)=r(x)+e(x)=O 가 되어 복호가 완료됨 을 알 수 있다. 이 부호의 a(x) 를 구하는 자세한 과정은 표 3.2 와 같다. 3-7-2 복호기 의 장치화 BCH 부호의 복호과정을 다음과 갇이 요약할 수 있다. 1, 수신어 r(x) 로부터 오중 S=(So,S1, … ··,S 2t)를 계산한다. 2. 반복알고리즘을 이용하여 오중요소 S;, 1£. i £.2 t로부터 오류위치다 항식 a(x) 를 구한다. 3. a(x) 의 근을 구함으로써 오류위치번호를 결정한다. 4. 오류형태 e(x) 를 결정하고 c(x)=r(x)+e(x) 에 의해 오류를 정정
입력
그립 3.6 오류정정 (31,16) BCH 부호에 대한 복호회로
한다. [예제 3.1 이 (31,16) BCH 부호에 대한 복호기를 설계해 보자. 앞 예제 로부터 오증은 s = (a22, a13 , a10, a26, a12, a”) 이 고, 오류위 치 다항식 은 a(x) =l+a22x+x2+a1 균이다. Ch i en 의 담지법을 이용하면 오류위치 번호는 예제 3.6 에서 설명된 방법에 의해 결정된다. 지금까지 기술한 바 에 의해 3 중 오류정정 (31,16) BCH 부호에 대한 복호회로를 그립 3.6 과 같이 설계할 수 있다. 3-8 오증대칭행렬에 의한 복호법 (87) 지 금까지 는 Pe t erson 과 Ch i en 에 의 해 각각 제 안된 직 접 복호법 과 Berlekam p에 의해 제안된 반복알고리즘에 의한 BCH 복호방법에 대해 설명하였다. 이 절에서는 오류위치다항식의 근을 수정된 오중요소의 대 칭행렬로부터 계산할 수 있는 방법에 대해 기술한다. 3-8-1 오중대칭행렬과 오류위치다항식 식 (3 . 27) 로부터 오중요소는 s/c =III! (P A)/c , k=l,3,··,2t - l (3.69) .i= l 으로 표현되며, 여기서 8A=aJA , 1 스 A 스 u 는 오류위치번호로서 정의되고 II 는 실제 발생한 오류수이다. s,. 를 수정오중요소로 다음과 같이 정의한 다. s,.= 고” (8A)L+8k A=O =s,.+/1 . k=o,1,2,… ,2 t (3.70) 여기서 So=So+ fl 0+1+1+ … +1 이고 았는 미지수이다. 요소들이 수정오중요소 s,. 로 구성된 다음과 같은 대칭행렬을 생각해
보자. S。 S1 S11-1 sl/ Mv=I 5.1 요 S11 S.: 四 I I,1~ (3.71) L S11 S11+1 S.,...1 S211 여기서 So= AL=u ! l (/JA )0+f ]0= 1+1+… + 1+1 S1 = ALl=J! l (JJA ) 나-fJ l =/31+ g + … +JJ.,+JJ (3.7 2 ) 1,J Sv= A~=I (fJA} J J+/31,J=fJr +fJ t+…+fJt+fJ1,J 이다. 임의의 행렬과 그 전치행렬의 적(積)은 대칭이므로, 식 (3.71) 은 아래에 보인 것처럼 식 (3.71) 에 식 (3 . 72) 을 대입함으로써 적의 형태로 쉽게 재구성할 수 있다. 1 1 ... 1 1 1 /31 /3f … /3f 1 /k鉛…斜 M11 =1./f1.3-.:1• f 斜f•h .=- .…… /•fJ3 .. u; /f3J...I J 11..• ./.B3I• I 1低32 …… 郞f3IJ l=Dv•DL (3.73) 이때 식 (3.73) 으로부터 M 겨 행렬식은 다음과 같이 쓸 수 있다. 1 /31 … f3r 1 1 ... 1 1 1 /k … /3t I Mv l =I ~..1 ~.. … fJ: II fJ: 1 f3II …郞: • l=ID11l • ID 깁 (3.74) /3f /3; … /3t /3IJ 1 p ... /3
식 (3 . 74) 을 살펴보면, 행렬식 |D..,I 는 행렬의 마지막 열의 원소를 B= /3,, +1 로 대 치 하면 Vandermonde 행 렬식 형태를 나타낸다. 따라서, 이것은 I D 』= 1iI1>T+ 1j (/3;+/3j) (3.7 5 ) j= I 로 주어지며 행렬식 |D.,I 는 전치행렬식 |D 때와 같은 값을 가지므로 IM.,I = //331:1r -1 //331:r2 -1 …•.• {f331:.. t, -I .1B.. .U I+8+81 U U l11l l11 B/8:3I2 1I ppp:. rrt---11 I ///:333 ¥;f = j1i1I=>/ 1+3 1lj f( /3i +//33¥; ) 2 ••• Pt uIJ + /31 1+1 … 8t; t /3;+ (3I. 76) 가 되며 식 (3.76) 은 다시 IM11I= jnI집/ (/3;+/3;} 2 /,n,U= I (/3+/3,., )2 (3.77) 로 나타낼 수 있다. 여기서 B 는 /3 11+1 이다. 따라서, |M11l -=1=- o 이면 오류가 발생하지 않은 것이며 반면에 i*j일 때 8 j *Bi 이므로 |M11I 는 /3(=/311 +1) 가 임의의 f3k , k=1,2, … l1 와 같을 때만 영이 된다. 이러한 경우 수신어는 오류를 포함한 것이다. 그러므로 오류위치다항식은 |M11l=O 가 되므로 반 드시 구할 수 있다. [예제 3.11] IM11I= 없nII ( /J; +/J;}2l<_ =II II I_ (Pv+I+ p,.)정을 증명하라. 11+1 IM11I = II ({3; +/3J) 2 없 = [(/32 + /31) 2 (/33 +/3 1 ) 2 (/33 +/3 2 ) 2… ( /31 1+/ 3i) 2 (/31 1+/3 2 ) 2… ( /31 1+/3 1 1-1) 기 • [ (/311 + 1 +f]i) 2 (/311 +1 +/32) 2 ' (/311 +1 +/311 ) 기 = ji;ur:{ (/•3 ;• + •fJ •J ) 2 l_tn=11_ l (/311 + 1+ fl,.) 2 식 (3.76) 에서 |D,,I 를 생각해 보자.
1 1 ... 1 1 /31 & … /3II /31 1+ 1 I D 』 =I /3f f3g … /3t /3t+1 /3t 斜 … [3t /3t+1 첫번째 열을 제의한 모든 열들에 대해 첫번째 열을 각각 빼면, 행렬식 ID.,I 는 fh-/31 A-/31 …/3I I-/31 /31 1+1-/3 1 IDul= /3딩 一 :/ 3f /3i -/:3 f … /3i-/:3 f /3t+ 1: _ /3f (3.78) /3;_/3t /3t-/3f …/3t-/3t /3t+1 _/3 ti 가 된다. 식 (3.78) 을 부분행렬식으로 나타내고 두 열 이상의 열들이 서 로 같이 행렬식이 영인 부분행렬식을 소거하면, 남아 있는 부분행렬식들 은 각 열이 서로 다르게 되고 영이 아니다. 그러므로 식 (3.78) 은 다음과 갇이 쓸 수 있다. ID11I= /&3웅 /&3궁 …•• • /m3II /3f11t 1++11 + Pf31 f Agg …… //33µt //331t 1++11 B; 8t … Bt 8t+ 1 f3t f3t ••• /3t f3t+1 & /31 … f3u f3U +1 82 & … f3IJ f31 + Bg f3f … Bt {Ji+1 +…+ 鉛 鉛 … 8; 8f (3.79) 鉛' 8f … f3t f3t+1 f3g f3t … /3t /3f IDvl=I D! | 이므로, 식 (3.76) 은 다시 f3.z f3a •• ' f3v f3v +l /31 A … /311 /31 1+1 IMJ /1 =IDUP=I 爵. 鉛. …p • i Pi•+ 1 1 + 8f 鉛 … 低 f3i+1 + ... 斜 p~ ... Pt Pt+ l f3f f3t …flt f3t+1
伐A … 8u BI +I B... 출 f3...§ …8 ...t B...f (3.8 0 ) f3; f3t … Bt 8f 가 됨을 알 수 있다. 이제 {J1 ,t% , …,{J11+ 1 중에서 임의의 8 i를 영으로 놓은 경우를 생각해 보 자 . 1011,1 2= 1 mf3...1 m& ... …••• // 33?i --1 1 //33:i+ +1 l …… ///33311t1 1+++111 f3f f3¥ … /3Y -1 /3Y +1 … /3t+1 = /3f/3I ••• /3r -1/3 r+ 1 … /3i+ 1 A1I1>I+µ 1 (/3. + /3µ ) 2 µ.(** ij = j1I1:I+ 1i /3 J = Rµ1I1*I+1 1i (f3A +{3µ) 2 (3.8 1 ) 이것은 실제로 식 (3 . 80) 에 있는 행렬식들 중의 하나를 나타낸다. 식 (3.81) 을 식 (3.80) 에 적용하면 I M 』= }11n:+t1 /3J µR1n1*+?1i (/3,t뀝f3µ)나 썹1I1I+ 1 /3j iµ1I1*갑+I1 1. (/3.t+{3µ )2 + j1I1!+If1 B11µ11~11*+1 i1 (BA+8µ)2+… + J1jI1~I+ 1t l 鉛 µ.1*1I1UiI+t+ 1t 11 ( BA+8µ)2 정[ 硏짊 (8A 따 )2] (3.82) NII 를 행렬 MII 의 첫째 행과 열을 소거하여 이루어진 행렬이라 하자. -츠,
S2 S3 … S11+1 s3 s. … S11+2 NII=I . (3.83) S11+ 1S 11+2 …S 211 이며, 여기서 Sk= 2L/ (8A)k+/3 ~+1, k=2,3,… , 211 이다. A=l 식 (3 . 83) 에 S,., k=2,3, … , 2)) 를 대입하고 모든 원소로 확장하면 /3I & 8II f3U + 1 N i,= I Bf f3g /3t f3t+1 I /3r -1 /3; ~1 … /3t-1 81J J1-+ 11 Bt /3; /3t f3i+1 /31 f3f /3r -1 /3t & 鉛 /3r - 1 f3t (3. 84 ) /3II 低 {3t-1 8t /31 1+1 /3~ +I … 81I J1-+ 11 Pt +1 이다. 따라서 식 (3.84) 에 일치하는 행렬식은 f31 & … f111 f11 1+1 /11 8f … 8t ’ IN 。|= Bf gg … /3t /3i+l • Pi f3g … f3; Bf B; … /3t /3t+1 /311 +1/ 3i+1 … /3t+1 P1 & … BJ/ /31 8f •.• /3f 8f 鉛 …低 • /:k /3g … B; = 8f B; … f3t f3u f3t ... /3t
+ BBf..l 2l .. I 88&I…. .2iI I1 ………v 2 ///333.: 1 it1 --- 111 ///333.:1 it1 +++ 111 &Bf3:.l1 1 -1 爵P鉛.:i - 1 ……… B斜fl:. tt ' - 1 +… f31 1+1 f3i+1 … flt+1 + . Ba… 28 1'88&…u 2. i13 ……… v3 1/鈴33:1 t1+ ++ 11I II · II &//33:1 1 1 + 1 B鉛/:;3 fi + 1 ……… 8//33.: :tt :’ + 1 + 斜伐.潟 伐鉛…斜 ~~~ ·8·U++8 I2 .U+·I: Bu…요&I u 爵fl:~ …… //33;t (3.85) 8 u +I /lt+1 • •• flt+1 가 되고, 식 (3.82) 에서처럼 갇은 형태를 식 (3 . 85) 에 적용할 수 있다. 그러므로 식 (3.85) 는 다음과 같이 된다. | NI / l= 11I1:+I1 i B } iµ1I1*+I접l 1 (BA+Bµ)2+ 엽1•I1 +I1 鉛 µi1I1*;+I2성1 (8A+8µ) 나 + )1_I1!+Ir1 / 33 P.11I1!*+I~I 1 I (f3 A+ {• 3µ)나 ij11I~+ I1 t l /3 J• PAi*1 1It +l Il'+ 1: - 1l ( /3A +{3 µ )2 = i정-Ji-W법針g + RFµ ) 2 -- (3.86) 없
이제 식 (3.82) 가 식 (3.i86) 과 정확히 같으므로 |M11l=IN11| 이다. 행렬 식 | N11 I 는 오류위치다항식으로 이용할 수 있으며 다시 식 (3.83) 을 생 각해 보면, 행렬의 원소로 · s,.,=s 너 +8k, 2 스 k 스 2 y를 갖는 행렬식 |N11I 는S2 S3 …S 11+1 IN.,I s3 요 … S:1 1+2 S11+1S11+2 … S211 S2+/3 2 S3+/3 3 … S11+1+/ 31 1+1 S3 +/J3 S4 +/34 … S11+2 +/311 +2 : : : S11+1+/ 3v +I S11+2+/ 31 1+2 … S211+/ 321 1 S2 S3 … S11+I I I {]2 S3 … S11+1 S3 S4 … s11+2 I + I /33 s. … S11+2 : : : I I : : : S11+1 S11+2 … S211 I I /31 1+1 s11+2 … S211 S2 /32 … S11+1 I I S2 S3 ••• S11 pll+ l + S:3 /3: 4 ••• S:1 1+2 I + … + I S:3 S:4 . … s1: 1+1 /3: 1 1+2 S11+1/ 31 1+2 ••• S211 I I S11+1 S11+2 … S211-1 /J21 1 +~R; (3.87) 가 됨을 알 수 있다. 여기서 /32 /33 … s+I S2 S3 … 맑 /3v +I ~Ri = 1·B. 3 /34 … sU+2 +…+ s:3 S:4 … ./3 +1 /3.JJ + 2 +… /31 1+1 /3 +2 … S211 I I S11+1 S11+ 2 … /3 -I /32 JJ /32 /33 … 8U+ 1 + 83 /3'. … /31 1+2 1311+1 1311+2 … 합 이고, ~R 를 살펴보면 다음과 같음을 알 수 있다. 132 /33 … S11+ 1 I I 1 1 … S11+1 f33 /3' … S11+2 I = /3 2 안 /3 /3 … S11+ 2 I =O : : : I I : : : 1311+1 1311+2 …S 211 I I 13ll-l 13ll-l ... S211
그리고 일반적으로 S2 … /3'. 13i +l f]i+L S11+1 S3 … /3'. + 1 /3i+2 [3i+( l+I) Sv+2 S11+ 1 … /3i+(1 1- l ) /3' + 1 … /3i+( ll+ l-1 ) S211 S2 •.• 1 1 ... 1 S11+1 =f 3l /3i+l … Bl+1 S3 B /3 /3 S11+2 =O S11+1 … f3u -I f3v -I … /3v -1 S211 이다. l: R, 내의 각 성분 행렬식의 2 열 이상이 동일하므로 2R=0 가 된다. 식 (3.87) 을 긴 항으로 전개시키고 갇은 항을 제거시키면 다음과 같은 항 만 남게 된다. SS32 sS3. sS1,1,++ 12 I: : SS6s SS1111++12 SS1u1++32 IN 』 = I = +p2 Sv S11+1 ••• S211-1 S11+1 S11+2 ••• S211-2 S211-1 S11+1 S11+2 ... S211 I S11+2 S11+3 ... S211-1 S211 S2 s. ••• Sv S11+1 S2 S3 ... S11-1 SI J +/34 | S:4 S6 ... S11+2 S11+3 S3 s, ... s,., S11+ 1 +…+JJ2) I , S11 S11+2 •••• S211-2 S211-1 S11-1 S11 ••• S211-• S211-3 S11+1 S11+a ••• S211-1 S211 S11 S11+1 … S2) I-3 S2) I-2 =A 。 +{)2A1+{)4A2+ … +{)211A11 (3.88) 여기서 A}'2, i= 0,1,2,… , v 는 오류위치다항식의 계수를 나타낸다. v=2, 3, 4(2 중, 3 중, 4 중 오류)인 중에 오류위치다항식을 구하기 위해 I N11 I 를 결정하는 예를 살펴보자. [예제 3.1 기 v=2, 3, 4 인 경우에 대하여 | N 니를 구하라. S2 i =S? 이 성립하므로, Sz=Sf, S4=S~=S1, S&=SJ, Sa=S~=S? 이 다.
v=2(2 중 오류정정부호)의 경우 IN2 I= I !: !: I =S2s,+s~=s1+s 는 (Sl+Sa)2 (3.89) v=3(3 중 오류정정부호)인 경우 |N31= SS23 5sg4s s S요 s. s5
=SHS t S 伊 +s6 n +S3 (S~+Sf Ss ) +S1 (S 3Ss+SY > =s12+s~+sts ~ +Sf s~ = (St +S 5+SJ S3 +S,Ss)2 (3.9 0 ) 11=4(4 중 오류정정부호)인 경우 S2 SS54요s sSGS sSG57Ss IN.I= ss3. Ss5=S Ss f 0+ S~+ S675f Sg + s1•s~+ Sl0Si + S t S 伊+ s~s 꿈+ St S~ S~ = (Sl0+S~+S1S~+SISs+S 쵸 +S f S+S3s1+S f S3s5)2 (3.9 1 ) 견제 3.1 작 A;, i =o,1,2, … ,v 를 계산하여라. v=2 일 때 A 。 =I :: :: l=st+ s ~, Ai = s.=s1, A2=s2=sf 을 얻을 수 있다. 따라서 N2(x)=(sf+ ss)2+stx 2 +sfx 4 ={(s?+Ss)+sfx +s1x .2} 2 가 된다. 그러므로 오류위치다항식은 6i (x) = (sf + sa) + sfx + S1X2 (3.9 2 ) 이다. v=3 인 3 중 오류정정부호의 경우S2 S3 s. A 。 = S3 s. Ss = sl2 + s~+ s1s~ + sfs ~ S4 Ss S6 A1 = I sSs. SS6s l= s1s~+s~ A2 = I sS2. sS6. l=sfs ~ +s1 A3 = SS23 SS43 I=st+ s ~ 가 된다. 따라서 N3(x) 는 N3 (x) = (sl2 + s:+ sts ~ + sfs n + (sts ~ + s~) 갔+ (sfs ~ + sv x• + (s t +s 궁)갔 = [(st+ s~+Si S3 +S1Ss) + (sfS a +Ss)x+ (s1Ss+s t)났 + (s f +sa) 났 ]2 이다. 그러므로 오류위치다항식은 다음과 갇이 쓸 수 있다. 야 (x) = (st+ s~+SiS a +S1Ss) + (sfS 3 +ssh+ (s1S3+s t)났+ (s t +s3) 났 (3.93) 이제 우리는 오중대칭행렬식 INvl 를 알 수만 있으면 쉽게 오류위치다 항식 a(x) 를 구할 수 있음을 알 수 있다. 3-8-2 BCH 복호기의 장치화 3-8-1 에서 전개한 이론을 바탕으로 2 원 (n,k) v 오류정정 BCH 복호기에 대한 실제적인 응용을 생각하여 보자. 두 가지 형태로 BCH 복호기를 장 치화할 수 있는데, 하나는 식 (3.87) 의 오중대칭행렬식 |N11I 를 이용하는 것이고, 다른 하나는 식 (3.88) 로부터 얻어지는 오류위치다항식
S1 S2 ••• Sv Qv = S2 S3 ... s)1+ 1 (3.94) S11 S11+1 ... S211-1 여기서 QI = S1 Q2 = I SS2I ;: I S1 S2 S3 Q3 = S2 S3 s. S3 S4 Ss S1 S2 … S11- 1 Q11-1 = I S2- .: S.:3 … S1:1 S11-1 S11 ••• S211-3 이며, 만약 y개의 오류가 발생했다면 QIJ *O( 비특이)이며, v 개보다 적은 수의 오류가 발생하면 QIJ =0( 특이)이 된다. 예제 3 . 12 와 3.13 에서 살펴본 바와 같이, 행렬식 |N IJ I 는 수정된 오중 성분으로 표현되며, 오류위치다항식의 계수는 직접적으로 오중성분의 행 렬식 형태로 표현된다. ROM 을 이용하면 복잡한 논리회로를 제거할 수 있어, 식 (3.87), (3.88), (3 . 94) 를 이용하여 쉽게 복호기를 구성할 수 있 다. 따라서 INvl 는 S i의 행렬식 또는 f3의 다항식으로 표현되므로 QIJ롤 포함하는 복호기는 S i의 계산 또는 A, 의 계산회로로써 장치화할 수 있 다. Si 성분의 행렬식 INul 의 경우, f3i에 해당하는 각각의 s i값을 먼저 결 정한 후, |Nul 를 계산해야 한다. 만일 /3=a n-.i, .il =l,2, … ,n 에서 |NIJ I =O 이면 수신어 r 의 A 번째 비트에 오류가 발생했으며 이 비트롤 정정해
수산어
그림 3.7 제 1 형 (n, k) BCH 복호기
야 한다. 그립 3.7 은 S,· 의 원소로 구성된 행렬식 INvl 를 이용한 제 1 형 (n, k) BCH 부호의 복호기 이다. [예제 3 . 1 사 3 중 오류정정 (31,16) BCH 부호를 사용하여 전송한 부호 다항식 c(x) 가 영일 때 수신다항식이 r(x)=x+x12+x2s 이라 하면, 이는 전송로상에서 세 개의 오류가 x, x12, x2s 의 위치에서 발생하였음을 알 수 있다. 예제 3 .4에서 얻은 r(x) 의 오중은
s= (a22, a'3, a10, a26, a12, a20) 이다. 3 중 오류정정부호인 경우 11=3 이므로 /3 i =0,1,2,- •• ,11 에 대한 계 수는각각 A 。 = (st+ s f+ sfs 3 +S1Ss)2 A1 = (sfs 3 +ss)2 A2 = (S1S3 + s1) 2 (3.95) A3 =(si+ s 3)2 이다. &=a22, s2=a13, S3=a10, s.=a26, ss = a12, S5 = a20 을 식 (3.95) 에 대입하면, A}12 , i =O,l,2,3 은 AJ 12 =a1, A}'2 = 1 A~'2 = a22, A1 ' 2=1 이 됨을 알 수 있다. 따라서, 오류위치다항식은 다음과 갇이 쓸수 있다. a(x) =a1+x+a22 났 +x3 (3.9 6 ) 6(x) 의 근을 구하기 위해, GF(25) 의 모든 원소를 6(x) 에 대입하여 6 (a31-A) =O, tl =l,2, … ,31 이 되는 A 를 찾아낸다. 그러면 아래와 갇이 A= 31,20,17 에서만 a(a31-A) =O 가 됨을 알 수 있다. a(a) =a7+a+a2'+a3=0 a(a-12 ) = (a2+a') + (a+a2+a3) + (1+a+a2+a3+a') + (1+a2) =O a(a25) = (a2+a') + (l+a3+a') + (1+a') + (a2+a3+a') =O 이런 사실로부터 오류위치번호는 a, a12, azs 이며, 결국 오류형태는 e (x) =x+x12+x25 (3,97) 가 된다. 결국 c(x)=r(x)+e(x) 의 관계에 의해 전송된 부호어 c(x)= 0 가 얻어진다. 물론 오류위치번호는 GF(2m) 내의 모든 원소를 탐지하는 C hi en 방법을 이용할 수 있다. 제 1 형 3 중 오류정정 (31,16) BCH 복호기 는 그립 3.8 과 같다. 오류의 개수는 Q 11 회로를 이용하여 구할 수 있다. 만일 s!=s3 이면, 비 교기 1 은 1 을 출력하며 이는 하나의 오류가 발생하였음을 가리킨다. sf *s3 이면 비교기 1 의 출력은 0 이 되어 세 개의 오류가 발생하였음을 알 수있다.
31 비트버퍼레지스터
그립 3.8 제 1 형 3 중 오류정정 (31,16) BCH 복호기
R 8’ p•
그림 3.9 미지수 8, 83, 85 의 생성희로 구성도
그립 3 . 8 에서 미지수 /3,/33,13s 은 다음과 같은 방법에 의해 생성된다. GF(25) 의 임의의 원소를 ,-l=0-0 +a,a+a2a2+a3a3+a.a• 로 표시하자. 미 지수 f3는 그림 3,9 에서처럼 8=Aa30 = a1 + (ao + a2) a+ asa2+ a,a3+asa' 로부터 계산할 수 있으며 ROM 을 사용하면 /3 3 과 합도 쉽 게 구할 수 있 다.
n 비트버퍼레지스터
그립 3.1 0 제 2 형 (n, k) BCH 부호의 복호기
3 1 비 트버퍼 레 지스터
그림 3.1 1 제 2 형 3 중 오류정정 (31,16) BCH 부호의 복호기
식 {3 . 88) 로부터, A i의 계산울 기초로 한 제 2 형 (n, k) BCH 부호의 복호기는 그립 3.10 과 같다. 〔예제 3.1 기 3 중 오류정정 (31,16) BCH 부호를 생각해 보자. 오류위치 번호를 결정하기 위한 QI/회로는 제 1 형 3 중 오류정정 (31,16) BCH 부호 의 복호기에서 구성한 것과 동일하다. 이에 대해 제 2 형 복호기는 8 의 다항식을 기초로 한 것이며 그립 3 . 11 과 같다. 3-9 BCH 부호의 복호를 위한 직접적인 접근방법 [82] RS 부호뿐만 아니라 BCH 부호는 탁월한 오류정정 능력울 가지고 있
다. 따라서 디지탈 통신과 콤퓨터 시스템은 물론 최근 가전 전자제품(예 를 들면, CD 와 DAT) 등에서 점점 더 이 부호들을 채택하고 있다. 이 절 에서는 Polk i n g hom1651 에 의해 제안된 BCH 복호 방법을 오류정정 능력이 적은 경우에 한하여 소개한다. 복호기에 ROM 을 사용하여 복잡한 논리회로를 제거할 수 있고 복호 속도도 또한 향상시 킬 수 있다. 우선 Polk i n g horn 의 방법 을 도입 하여 n 차 방정식을 풀고 이를 이용하여 DEC/TED BCH 부호의 효율적인 복호 기를 구성하는 방법에 대해 기술한다. 3-9-1 n 차 다항식 의 해 법 n=3 차 이하의 방정식은 Polk i n g horn 기법을 사용하면 쉽게 해를 구할 수 있다. n 차 방정식을 Xn +
DE
그립 3.1 2 y 3+A y +µ=O 의 근을 구하는 블럭도
가 된다. 여기서 A= (J ~I+ 야 2 이고 µ=야 1 야 2+ 야 3 이다. 만일 식 (3.103) 에 서 A=O 이면 y =µl / 3 이 되고 A*O 일 경우 y =A% 를 식 (3.103) 에 대입 하면 검 +z+C,,. = o (3,104} 으로 된다. 여기서 C,.=µ/A3 12 이다. 따라서 식 (3 . 104) 의 근을 c,. 의 모 든 가능한 값에 대하여 메모리에 기억시켜 둔다. 그러면 식 (3 . 102) 의 근 은
Xi = A112 Z i + <1J1 , i= l,2,3 (3.105) 이다. 여기서 Z; , i =1 , 2 , 3 은 식 (3 . 104) 의 근이다. 그립 3.12 는 방정식 y나 ¼+µ=O 의 근을 구하기 위한 회로의 블럭도 이다. 식 (3.103) 에 의해 ,1 =0 이면 DE=l 이 되며 스위치 A 가 아래로 전환되 어 해는 3 차방정식의 3 근을 갖는다. ROM C 는 이들 근에 대한 표이다. 반면에 A :::f= 0 이면 스위치 A 는 위로 전환된다. ROM 3 은 z3+z+C,.=o 의 근을 구하기 위한 표이며 세 개의 ROM 으로 구성된다. [ 예제 3.1 6 ] GF(25) 상에서 방정식 z3+z+C,.=O 의 근을 구하면 표 3.3 과 같다.표 3.3 검 +z+ck=0 의 근 ck Z1 Z2 Z3 。 1 1 a alS a2 a3o a3 al6 a• a29 as a20 a22 a25 a6 a a1 a8 a27 a9 as au a21 alO a9 al3 al9 all a12 a2 a13 a” al5 a'1 al.6 a23 a” a8 alB alO all a28 al9 a20 a1 a18 a26 a21 a22 a23 a24 a2• a• a25 a26 a21 al2 a28 a2s a6 a30 a3
3-9-2 오류위 치 다항식 의 계수 3-5 의 식 (3 .4 1) 에 의해 오류위치다항식 a(x) 의 계수와 오증의 관계를 나타내는 선형방정식의 집합을 행렬 형태로 나타내면 SS12 SS32 •..••. sS1,.1, 기 Ss1 )1I +1 II :二 I -—s.s,)+ ) +1 2 = (3,1 0 6} S11- 1 S11 ••• S21 1- 3 S211- 2 GII -S211-1 S11 S11+ 1 ••• S211- 2 S2 11-1
s- 1 =Cdl S I= (— 1)'+j ( M,J I S |) (3.1 0 9) 와 같다. 여기서 M, j는 소행렬식 (m i nor) 을 나타낸다. 또한 2 원체에서 士부호는 무의미하므로 S 의 행렬식은 I S l=s1S3Ss+s,s i +s 출 Ss+s~ 이다. s2=sL s.=st, Ss= 여의 관계를 행렬식 I S i에 적용하면 I S I= S1SsSs+sf +s 1ss+sJ (3.1 1 0) 이 된다. 다음 여인자 C ij롤 계산해 보면 Cu = s3Ss —s 는 SsSs + sf C12 = -s2Ss + SsS, = s~Ss + s1ss C1s = s2s,-si = st + Si Gl = s3sr-s2 S5 = s3st + s?s5 Ci2 = S1Ss -Si = S1Ss + s~ (3.111) Cis = S2S3 -S1S, = S~S3 + sf Ci1 = s2s,-si = st + Si GCi32 == s-I:-S-3s 1—S4s+~ S =2S S31 =S ss+f s+t S~S3 이다. 식 (3.110) 과 식 (3 ‘ 111) 을 식 (3.109) 에 대입하면 1 s-1_ S1SaSs+ sf + st ss + si _53S_ss+S sss8 +s4 1 2SSISs+i5S S4ssI +lS2 Sl SSs s6+s12.2s;1;Ss s1s+l - 216+12 SaS S +2SI s5s14 1 (3.112) + 을 얻을 수 있다. 일단 S 의 역행렬이 구해지면 오류위치다항식 6(x) 의 계수를 식 (3.107) 로부터 쉽게 계산할 수 있다.
[::3l = S • [::g l -sI12s_8+S1ss312+oS 112+6 S+ss1 S2ss 61 t +S S 2 sS+3 2sSls45+s 3IS l-=_ Sls 3 Ss +s 9 l1 + s4 1s 5 + s3 3 SJ + .ss.+ 2s33ss+3sI s 2 1s 3 3+ s 5 1s 2 3 (3.113) 식 (3.113) 으로부터 6(x) 의 계수는 각각 야 1=S1 cJJ2 = (sfS 3 + Ss) I (sf + S3) (3.114) 야 3 = sf + S3 + s1 (sfs 3 + S3)I (sf+ S3) 가 된다. 따라서 오류위치다항식 a(x) 는 6(x) =났+야 1X2+ 야 2X+ °-3 3 = x3 + S1X 프 [(sfS 3 + ss) / (sf+ S3) ]x + sf+ s3 + s1 (sfs s +ss) / (s?+ss) (3.115) 와 갇이 표현할 수 있다. 3-9-1 을 근거로 식 (3 . 114) 를 이용하여 A 와 µ 를 구하면 각각 ll=a~1+ 야 = (s~+ss)/(s?+ss) (3.116) µ=야 1 야 2+ 야 3 =s?+ss 이 되고 이들 값은 그림 3.12 의 입력이 된다. 이렇게 하여 3 중 오류정정 BCH 부호의 복호기를 구성하면 그립 3.13 과 같다. 여기서 ROM E 는 벡 터표현을 지수표현으로 변환시킨다. 그립 3.12 는 방정식 y 3+ Ay +µ=O 을 푸는 데 적용할 수 있다. 만일 S1=Ss=Ss=O 이면 오류가 발생하지 않을 것이고 s f +ss=O 이면 스위치 D 는 상단 위치로 전환하여 단일오류가 발
S1
그림 3.13 X3+ 야 1 났+야 2X+ 야 3=0 의 해를 구하는 회로
생하였음을 가리킨다. s~+S3 =t: O 이면 스위치 D 는 아래로 내려오게 되고 2 중 또는 3 중 오류가 발생한 것으로 간주한다. 그러므로 오류정정회로는 오류위치번호와 일치하는 오류를 적절하게 정정하게 된다. [예제 3.1 기 2 중 오류정정 BCH 부호에 대해 생각해 보자. x j 1 과 xJ2 위치에서 2 중 오류가 발생하였다면 오류형태다항식은 e(x) =xit + xh, O
으로 변형되며, 식 (3.118) 로부터 A= 야 1 +0z2 µ=
ss=r(a5) =a5+a29+a•=a+a2+a3=a12 식 (3.122) 를 식 (3.116) 에 대입하면 3 중 오류가 발생한 경우 A 와 µ는 다음과 같이 계산된다. A= ss?f ++s ss3 1+aa42++aaI3O+ a ◄ a (3.123) µ= si +s 3 =a'+a10= 1 식 (3.104) 에 의해 ck 는 C1e= 春 - =숭 =aIO (3.124) 가된다. 표 3.3 을 이용하여 C 1t =alO 에 해당하는 근이 z1= a 9 , z2=a13, Z3=a 임을 알 수 있다. y=;l 1 1 2z=a1z 이므로 y에 대한 3 차방정식의 근 은각각 Y1 = a1Z1 = a1a9= a16 Y2 = a1Z2 = a1a13 = a20 (3.125) Ys = a1Z3 = a1a19 = a2s 이=y고; + 이S i, 근 i들 =은 l, 2,메3 은모 리다에음 과저 장같된이다 .된 다결.국 , 오류위치다항식 a(x) 의 근 Xi X1 =y1 + s1 =a16+a 끄 =a+a2+aa=a12 Xi = Y2 + s1 = a20 + a22 = 1 + a3 + a4 = a25 (3.126) ~ =::Ya +S1 = a26+a22= a 식 (3.126) 은 세 개의 산발오류가 x,xl2,x25 의 위치에 발생하였음을 나타 낸다. 그러므로 오류형태 e(x) 는 e (x) =x+x12+x2s 로 되고 e(x) 에 수신계열 r(x) 를 더함으로써 전송된 부호계열 c(x) 를 얻을 수 있는데, 예상한 바와 같이 c(x) 의 모든 성분은 영이 되어 복호 가 정확히 이루어졌음을 알 수 있다. 이에 따른 3 중 오류정정 (31,1 6 ) BCH 부호의 복호회로를 구성하면 그
SI
그림 3.1 4 3 중 오류정정 (31,16} BCH 부호의 복호회로
립 3.14 와 같다. ROM E 는 벡터표현을 지수표현으로 변환시키며 ROM V 는 지수표현을 벡터표현으로 바꾼다. 따라서 지수표현은 ROM E 와 ROM V 사이에서만 사용된다. 벡터표현은 그립 3.14 의 나머지 부분에서 사용된다.
제 4 장 Reed-Solomon 부호의 복호법 앞 장에서 기술한 2 원 BCH 부호는 비 2 원 BCH 부호로 일반화될 수 있 다. 1960 년 LS.Reed 와 G.S . Solomon 이 처 음 제 안한 이 래 계 속 연구되 어 온 Reed-Solomon(RS) 부호는 비 2 원 BCH 부호의 한 범주에 속하며 Galo i s 체 GF( q)의 원소로 부호어가 구성되고 GF( q)상의 심볼 단위로 부호화되고 복호되기 때문에 통신로상에서 발생하는 산발오류 (random error) 와 연집오류 (burs t error) 를 모두 정정할 수 있어서 각종 디지탈 통 신 시스템 및 데이터 저장 시스템의 신뢰성 향상 대책으로 광범위하게 사용되고 있다. RS 부호는 복호과정에서 오류위치 뿐만 아니라 2 원 BCH 부호의 복호에 서 요구되지 않았던 오류치를 구해야 하므로 오류정정 능력이 커침에 따 라 복호기 회로의 규모가 복잡하나 개선된 여러가지 복호알고리즘을 사 용함으로서 복호 장치화의 복잡성을 극복할 수 있다. 이 장에서는 RS 부 호의 병렬 부호화 처리와 직렬 부호화 기법을 기술하고 일반적인 복호방 법뿐만 아니라 여러가지 개선된 복호알고리즘들에 대한 철저한 이론적 분석과 이를 장치화하는 기법을 기술한다.
4-1 RS 부호의 부호화 기법 4-1-1 RS 부호의 구조와 일반적인 부호화 기법 RS 부호는 q개의 원소를 갖는 GF( q)상의 블럭계열이다. 여기서는 q =2m 인 경우만을 고려한다. GF(2m) 의 각 원소는 m 개의 비트로 이루어 져 있으며 (n,k) RS 부호의 오류정정 능력이 t라 하면 부호장 : n=2m-1 (sy mb ols) = m(2m-1) (bit s) 정보장 : k= n— 2 t (s y mb ols) = m(n-2t) (bit s) 검 사장 : n -k = 2 t (sy mb ols) = 2 tm (bit s) 최소거리 : dmi n =2!+1 의 변수를 갖는 RS 부호가 된다. 정보다항식을 d(x) =do+d1x+ … +d 1t. -1X lt. -l 라 하고 검사다항식을 P(x) =P 。+p 1x+ … +Pn- 1t. -1Xn- 1t. -l 이라 하면 RS 부호의 조직형 부호다항식 c(x) 는 c(x) =P(x) +x--d(x) =p( x) +I(x) = nZ-1 c,.x i (4.1 ) i= O 로 표현할수 있다. 한편 t중 오류정정 RS 부호의 생성다항식 g (x) 는 a'o, alo+I, …, a t o+Z t -1 을 근으로 갖는 GF(2m) 상의 최소다항식의 곱이므로 g(.x) = 2It -I 1 (.x+ alo+i) = ~2~t g;.X (4.2) i= l i= O 이다. 여기서 k 는 임의의 정수, a 는 GF(2m) 의 원시원이며 g;( O~i ~ 2 t)는 GF(2m) 상의 원소이다. (보통 k=l 로 한다.) 일반적 인 순회부호 (c y clic codes) 의 부호기 와 마찬가지 로 RS 부호의 부
그립 4.1 일반적인 RS 부호기
호기는 정보다항식 d(x) 를 생성다항식 g (x) 로 나누는 나눗셈회로로 구 성할 수 있으며 그립 4.1 과 같다. 여기서 모든 선은 m 비트선이며 ®는 입력 m 비트인 두 원소의 Exclusiv e -OR, (®)는 GF(2m) 상에서의 곱셈을 巳 m 개의 플립플롭 (F lip -Flo p)을 나타낸다. 4-1-2 직렬승산 알고리즘을 적용한 부호화 기법 (6 1[ 3 ◄) 앞 철에서 기술한 일반적인 부호와 방법은 모든 연산이 m 비트 단위로 수행되므로 부호기의 복잡도가 매우 크다. 이러한 복잡도를 줄이기 위해 서는 기존의 부호화 방법 대신에 Berlekam p의 직렬승산 (B it -Se ri al Multip lier ) 알고리즘을 적용한 부호기를 구성함으로써 가능하고 이는 종 래의 부호기에 비해 장치화가 간단하며 직렬로 동작하는 장점이 있으므 로 최근 널리 연구되고 있다. 이와 같은 형태의 부호기를 통상 RS 부호 의 직렬부호기 (Bi t-S eria l RS encoder) 라 한다. 직렬부호기를 구성하기 위 한 직렬승산 알고리즘에는 Trace 에 관한 개념을 도입하고 있으므로 그 내용을 먼저 기술하면 다음과 같다. [정의 4.1] GF(P 이내의 임의의 원소 8 에 대한 Trace, Tr(P) 는 다음 과 갇이 정의된다 .1•e1
Tr (/3) = mk2=-O 1 /3 (4.3) 이 Trac 타근 다음과 같은 성질을 가지고 있다. 1) [ Tr (/3) ]P = Tr (/3) (죽 Tr( /3)는 GF( p)상의 원소이다. ) 2) Tr (/3 + r) = Tr (/3) + Tr ( r) 3) Tr(c/3 ) =c • Tr(/3) (cEGF(p )) 4) Tr(l) = m (mod p) 〔정의 4. 기 GF( p m) 내의 m 개의 선형독립 (lin e arly i nde p enden t)인 원소들 의 집합을 GF( p m) 의 기지 (bas i s) 라 한다. 〔정의 4. 기 두 개의 기지 {µJ, {Ak} 가 다음과 같은 조건을 만족할 때 이 두 개의 기지를 각각에 덴한 쌍대기지 (dual basis ) 또는 상보기지 (comp le menta r y basis ) 라 한다. Tr( 따,.) ={t o1 jj ==t -kk [추론〕 GF( p m) 상에서 원시 다항식의 근을 a 라 할 때 {a 사, (o~k~ m-1) 을 GF( p m) 의 표준기지라 한다. GF( p m) 상의 임의의 원소 Z 를 쌍대기지로 표현하면 Z=Zo~+ 라 +… +Zm-1 도=접。l zkAk (4.4 ) 가 되며 식 (4 .4)의 양변에 값을 곱하여 Trace 를 취하면 z. 간= ( mZ-1 ziA i) • ak i= O m-1 Tr(Z• 값) = Tr( ~ z,A; 갑) i= O m-1 = ~ Tr(z 쩌i갑) i= O = miZ= -O1 z i Tr(A i갑) =z,. , i= k (4.5)
따라서 식 (4 .4)는 m-1 m -1 Z= k~= O Zk11,.= k~= O Tr(z·a ... )11,,, (4.6 ) 로 표현된다. 그러므로 임의의 원소 Z 를 쌍대기지로 나타낼 수 있다. [예제 4.1 ] a 를 원시다항식 p(x ) =났+났 +1 의 근이라 할 때 GF(25) 내의 한 원소 a4 에 대한 Trace 값과 이를 쌍대기지 {tlo,tl 1, _,l”心 ,A} 로 표 현해 보자. GF( 안)의 임의의 한 원소 Z 롤 표준기지 {a 사, O~k~4 로 나타내면 Z= Uo + U1a+ u,za 2+ Usa3+ u.a4 이고 양변에 Trace 를 취하면 Tr (Z) = Uo Tr (1) + U1 Tr (a) + u,z Tr (a2) + Us Tr(a3) + u. Tr(a4) 가된다. 여기서 Tr(1)=5(mod 2)=1 Tr(a) =a+a2+a•+a8+a16=0 Tr(a2) = Tr(a) =O Tr(a3) =a3+a&+ai2 + a2•+a11=1 Tr(a4) = Tr(a) =O 이므로 Tr(Z) = u,+ Ua (4.7 ) 이다. 따라서 Z=a• 일 때 Tr(a4) =O 이 된다. 한편 GF(25) 의 임의의 한 원소 Z 는 식 (4.6) 에 의해 Z 의 계수 Z* 는 z,.= Tr(Z• 갑) , o~k~4 이고, Z=ai, O~ i ~30 이라 하면 Z*=Tr (a ' +,. )가 되어 Z=a• 일 때
표 4.1 p(x ) = l+ x2 +x5 인 GF( 안)의 쌍대기지 멱 표준기지 TRACE 쌍대기지 • 00000 。 00000 。 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 。 0 0 l O l 2 00100 。 0 1 0 1 1 3 0 0 0 1 0 1 1 0 1 1 0 4 00001 。 0 1 1 0 0 5 1 0 1 0 0 1 1 1 0 0 1 6 0 1 0 1 0 1 1 0 0 1 1 7 0 0 1 0 1 。 0 0 1 1 1 8 1 0,1 1 0 。 0 l l l l 9 0 1 0 1 1 1 1 1 1 1 1 10 1 0 0 0 1 1 1 1 1 1 0 11 1 1 1 0 0 1 1 1 1 0 0 12 0 1 1 1 0 1 1 1 0 0 0 13 0 0 111 1 1 0 0 0 1 14 l O l l l 。 0 0 0 1 1 15 1 1 1 1 1 。 0 0 1 1 0 16 1 1 0 1 1 。 0 1 1 0 1 17 1 1 0 0 1 1 1 1 0 1 1 18 11000 1 1 0 111 19 01100 。 0 1 1 1 0 20 00110 1 1 1 1 0 1 21 0 0 0 11 1 1 1 0 1 0 22 1 0 1 0 1 1 1 0 1 0 1 23 1 11 1 0 。 0 1 0 1 0 24 0 1 111 1 1 0 1 0 0 25 1 0 0 1 1 。 01000 26 11 1 0 1 1 10000 27 11 0 1 0 。 00001 28 0 1 1 0 1 。 00010 29 10010 。 00100 30 01001 。 01001
zo= Tr(a.4) =O Z1 = Tr(a5) = Tr(1 + a2) = Tr(1) + Tr(a2) =1 z2 = Tr (a6) = Tr(a+a3) = 1 z3= Tr(a1) = Tr(a2+a•) =O z◄ = Tr(a8) = Tr(1+a2+a3) =O 이므로 Z=a4 를 쌍대기지로 표현하면 (01100) 이 된다. 식 (4 . 6) 과 {4.7) 로부터 GF(25) 의 각 원소에 대한 Trace 값과 쌍대기 지 표현을 표 4.1 에 나타내었다. 표 4.1 에서 보면 원시다항식 P(x)= 갔 +x 도 1 로 구성되는 GF(25) 의 쌍대기지 {心 ,AI,A” 心 ,A} 는 {a26,a25' a29, a28 갤 ,2 가임을 알 수 있다. GF(2m) 내에서 이미 알고 있는 임의의 두 원소 G 와 Z 를 곱하는 경우 G 를 GF(2 기의 원시원 a 의 멱으로, Z 를 쌍대기지로 각각 나타내면 G=aj (O~j ~ 2m-l) (48(`4~9 `- ~ m- 1 Z= ~ ZkA1 t /t= O 이다. 두 원소의 곱 Y= G·Z 를 식 (4.5) 와 식 (4 . 6) 을 이용하여 쌍대기 지로 나타내면 Y= m~-1 y,,. A,,.= m~-1 Tr(G•Za,,.)A,,. (4.10) ,,.=0 k=O 가 되고 이를 이용하면 GF(2m) 상에서의 직렬승산이 가능하게 된다. Y 의 각 계수 yj는 식 (.4.10) 으로부터 다음과 같이 구할 수 있다. Yo= Tr(G·Z) Y1=Tr(G·(Za)) Y2= Tr(G· (Za2)) (4.11) Ym-1= Tr(G• (Zam 크) 식 (4.1 1 ) 에서 보는 바와 같이 Y 의 계수둘은 Tr(G·Z) 를 구한 다음 Z 대신에 Za 를 대입하면 차례로 얻을 수 있다.
Zo I Z1 I Z3 • • •
그림 4.2 직렬승산기
G 는 GF(2m) 내의 이미 알고 있는 원소이고 Z 를 m 비트 레지스터에 저장된 변수라 하면 첫번째 계수 Yo~ Tr(G·Z) 는 Z 레지스터의 일정한 비트들의 조합으로 이루어지는 한 개의 비트로 나타낼 수 있다. 그리고 Tr(G· (Za)) 는 Z 대신 Za 로 변환시킨 Z 레지스터의 일정한 비트들의 조합이고 Za 는 Z 레지스터를 왼쪽으로 한 번 치환시킨 결과이므로 Trace 계산회로의 출력은 Y의 1 차 계수 Y1 이 됨을 알 수 있다. 이와 갇 은 동작을 m-1 번 반복하면 Y 의 모든 계수들을 차례로 얻을 수 있게 된다. 죽 유한체내에서의 승산 Y=G·Z 는 그립 4 . 2 와 같이 직렬화된다. 그립 4.1 과 같은 RS 부호기는 입력을 쌍대기지로 표현하고 승산을 직렬 승산기로 대치하면 그림 4.3 과 같이 구성할 수 있다. 여기서 Trace 계산 회로에서는 제일 먼저 T。 = Tr(go •Z) T1= Tr(g1 ·Z) T2 t- 1= Tr(g2 t-1 ·Z) Tf = Tr(Z•am) 가 각각 계산되며 Z 레지스터를 한 번 치환시키며 두번째 비트가, 계속해 서 m-1 번 치환시키면 마지막 비트가 계산된다. 죽 입력단으로 정보가 칙렬로 입력되어 출력단으로 송출됨과 동시에 위에서 설명한 바와 같이 T,, o £ai£a 2t -1 의 값에 의해 페리티검사 비트들이 직렬연산으로 구성되
입 력 레지 스 터
그림 4.3 RS 부호의 직 렬부호기
고 정보 비트에 이어서 송출된다. 그립 4 . 3 에서 알 수 있듯이 직렬승산 부호기는 모든 선이 단선이고 ®는 2 입력 Exclus i ve-OR 이므로 그립 4.1 과 같은 일반적인 부호기에 비 해 훨씬 간단함을 알 수 있다. [예제 4.2 ] 3 중 오류정정 (31,25) RS 부호의 생성다항식은 식 (4.2) 에 의해 g( x) = (x+a) (x+a2) (x+a3) (x+a4) (x+a5) (x+a 이 = a21 + a 랐 + a16 났 + a” 갔 + a9 갔 + a!O 났 + x6 (4.12) 로 구해진다. 이 생성다항식을 이용하여 직렬부호기를 설계해 보자. 식 (4.12) 에서 g0 =a21, g1 =g s =a2', g2 =a16, g.. =a 어 gs =a!O 이다. 임 의의 원소 Z 와 g (x) 와의 직렬승산 결과 각 계수는 To= Tr(Z•g0 ) = Tr(Z·a21) = Tr(Z· (a3+a')) =zs+z, T1 = Tr (Z• g1 ) = Tr(Z·a2') = Tr(Z· (a+a2+a3+a'))
입 력레지스터
그림 4.4 (31,25) RS 칙 렬부호기
=z1+z2+Z3+z, T2= Tr(Z•g2 ) = Tr(Z·a16) = Tr(Z· (l+a+a3+a')) =zo+z1 +zs+z, T3= T1=z1+z2+z3+z. T.= Tr(Z•g. ) = Tr(Z·a9) = Tr(Z· (a+a3+a4)) =z1+z3+z. Ts= Tr(Z•gs ) = Tr(Z·a10) = Tr(Z• (l+a•)) =zo+z, Tf = Tr(Z·am) = Tr(Z•a5) = Tr(Z· (l+a 2)) =Zo+Z2 가 되므로 이 식을 이용하여 (31,25) RS 직렬부호기를 설계하면 그림 4.4 와같다. 4-2 RS 부호의 Berlekamp 복호법 3 장에서 기술한 Berlekam p의 반복알고리즘은 가장 일반적으로 알려진
복호알고리즘으로 RS 부호에도 적용되지만 2 원 BCH 부호와 다른 점은 오류위치에서의 오류치를 계산해야 하는 것이다. 이 장에서는 오류추정 다항식 (error-evaluato r pol yn o mi al ) 요 (x) 를 유도하고 오류치 를 계 산하는 방법 에 대 해 설명 하며 이 를 Berlekam p의 반복알고리즘과 함께 RS 부호 에 적용하여 복호과정을 기술한다. c(x) 를 전송된 부호다항식 그리고 r(x) 를 수신다항식이라 하면 통신 로상의 잡음으로 인하여 발생한 오류형태는 e (x) = r (x) + c (x) = n2-1 (r,+c,)x'= n2-1 eix (4.13) i= O i= O 로 표시된다. 여기서 e;=r;+C;, Ob i bn-1 는 GF(2m) 의 원소들이다. 만일 11 개의 오류가 x1•, 1bkb11 의 위치에서 발생했다면 식 (4.13) 은 e (x) = ejI X J ' + ej2 Xj 2 + … + e;,.,x; (4.14} 로 표현될 것이다. 따라서 오류위치 X’ 요와 오류치 e i.군눌 2 알아야 정확한 오류형태 e(x) 를 결정할 수 있다. 2 원 BCH 부호의 경우와 마찬가지로 t중 오류정정 (n,k) RS 부호의 오 류위치다항식은 a(x)= IIII (1+aj1 x) l=l = 1 + 아 x + 아났 + …+ <11 1-1X11-1 + <1v X11 (4.15) 이므로 Berlekam p의 반복알고리즘을 사용하여 구할 수 있다. 앞에서도 설명한 바와 갇이 바 2 원 BCH 부호에서는 각 오류위치에 대응되는 오류치 를 계산해야 하는데 이는 오류추정다항식 요 (x) 와 오류위치다항식 a(x) 룰 이용해야 한다. 식 (4.14) 와 갈이 l/개의 오류가 발생한 오류형태에 대해 각 오중요소 는 다음과 같이 표시된다. SA= ~II ej. (aj•) A, 1£.A£.2t (4.16) /,,=I 여기서 a/*, lbkbll 는 h 에 대웅하는 오류위치번호이고 오중요소의
수는 2 t개이다. 오증다항식의 계수 역시 2 t개이지만 편의상 무한대의 차 수라놓으면 5 (x) = L00! SAXA (4.17) A=O 가 되는데 식 (4.16) 을 식 (4.17) 에 대입하면 S(x) = 2I/ ej. 200 (E)ix A (4.1 8 ) k=I A=O 이고 흡 a 짜났 = 1 + ai• x + a 판 + … =1 +a1 J• x (4.19) 로 된다. 따라서 식 (4 . 18) 은 S(x)~=u1 1~+~ai • x (4.20) 로 표현된다. 이때 식 (4.15) 와 식 (4 . 17) 로부터 오류추정다항식 요 (x) 는 요 (x) = a(x) S (x) =1 + (s1 +아 )x+ (s2+< 11 s1 + 아)났 +…+ (s11+ 아 S11-1+ … +6u) 갔 (4.21) 와 같이 정의되며 요 (x) = ~II eJ • IIII (1 + aJz x) (4.22) k=l ll*=kl 로 쓸 수 있다. 그러므로 x,;,. 에서 발생한 오류의 오류치는 식 (4.22) 로 부터 구해지며 다음과 같다. (19 ) eim IJII (f;1J +( aa-li1ma )- lm) {4.2 3 ) tl*=ffll RS 부호의 일반적인 복호기를 블럭도로 표시하면 그림 4. '.i와 같다. 이 러한 복호기에서 한 개의 수신계열을 복호하는데 걸리는 지연시간은 최
r(x)
그림 4.5 일반적 인 RS 부호의 복호기
소한 n 클럭 시간 (clock ti me) 이 필요하다• 그립 4.5 로부터 오중계산회로는 r(x) 를 ak, 1 스 k 스 2 t의 최소다항식으 로 나누는 2 t개의 회로로 구성되며 r(x) 에 생성다항식의 근 ak 를 대입 하면 오증요소 S1c 는 sk=r(ak) =e( 간), l~k~2t = Yo + Y1ak+ Y2«2k+ ••• + 'rn- 1 «(n-l)k = ro + a,. (r1 +갑 (r2 +/ (r3+… +ak(Yn-2+ Yn-1ak) …) ) ) (4.2 4 ) 로 표현되고 오중계산회로는 그립 4 . 6 과 같은 나눗셈회로 2 t개로 구성된 다.
그림 4.6 RS 부호의 오중희로
이상에서 설명한 바를 예를 통해 알아보자. 견제 4.3] 3 중 오류정정 (31,25) RS 부호의 생성다항식은 g( x) = (x+a) (x+a2) (x+a3) (x+a•) (x+a5) (x+ 군) = a21 + a2•x + a1s 났 + a” 났 + a9 갔 + alO 났 + x6 이다. 전송된 부호계열이 c(x) =O 이고 수신계열 r(x) =a8x 2+a2x +ax10 이라 가정하자. r(x) 로부터 오중을 계산하면 각 오증요소는 다음 과 같이 구해진다. s, = r(a) = a10+ a1+a11 = a S2 = r(a2) = a12+a'2+a21 = a2 1 sa = r(a3) = a+a11+a31 = a23 s.= r(a 이 =a1s+a22+a'o=a's Ss=r(as) =a1s+a21+a20=a2 ss= r(a6) = a20+a+a30= a13 먼저 Berlekam p의 반복알고리즘을 이용하여 오류위치다항식 a(x) 는 다 음과 같은 절차를 거쳐 구해진다• (초기조건) 6( 기 )(x)=l, l-1=0, d-1=1 a'0>(x)=l, k=O, do=s1=a=I= -O 1 단계 n=O, m= ― 1 을 취하고 초기조건을 이용하면 6(I)(x) =a(O)(x)-dod 二 {x6(-1)(x) =l+ax d1 =s2+ s1ail l= a21+a2= a13 2 단계 n=l, m=O 을 취할 때 6(2)(x) =a(I)(x) -dId 갑 (x) = l + ax + a13a 一IX =l+a20x d2 = Ss + S2< Ji2> = a2s+a10= a2•
3 단계 n=2, m=o 을 취할 때 6(3) (x) = 6(2) (x) - d2dii IX 26(O) (x) = 1 + a2ox + a2•a-1x2 = 1 + azox + a2ax2 d3 = s4 + s36\3)+ s26&3) =a+a12+a13=a8 4 단계 n=3, m=2 를 취할 때 60)(x) =6(3)(x)-d3d;IX6(2)(x) = 1 + a20x + a23 났 + a15x + a•? = l+a11x+a1s 갔 d4 = s5 + s46\4)+ s36i4 ) = a2 + a + a1 = aJ o 5 단계 n=4, m=2 를 취할 때 6(5)(x) =6U)(x) 一 d4d i IX26(2)(x) = 1 + a17x + a22x2 + a26 군 d5 = s6 + ss6i5 )+ s46i5 )+ s36S5) = a13+a19+a&+a1s=a11 6 단계 n=5, m=4 를 취할 때 6(6)(x) =6(5)(x) —dsd i IX 6(4)(x) =I+a4x+a5 났 +a” 났 결국 6(6)(x) 이 오류위치다항식으로 6(x) =6(6)(x) =1+a4x+a5 났 +a” 갔 (4.25) 가 된다. 여기서 ~=1, 아 =a4, ai= a5, 야 =a” 이다. a(x) 의 근은 a21, a26, a” 가 되며 이들의 역수인 a10, as, a2 가 오류위치번호가 된다. 결국 군 ,X5,XIO 에서의 오류치를 계산해야 한다. 식 (4.23) 으로부터 오류치를 계산하면
g (a- 2) a26 e2=~= 꾼 F=a8 Q (a-s) a3o e5= (1+a2.a-5) (1+aIO•a-5) =군 F=a2 요 (a-10) a10 e10=~=7=a 가 됨을 알 수 있다. 죽 3 중 오류가 발생한 이 경우의 오류형태는 e(x) =e2 났 +esx5+e1ox10=a8 났 +a2xs+ax10 이 되고, 결국 c(x)= e(x)+r (x) 의 연산에 의해 전송된 부호계열 c(x) =O 이 얻어전다. 다음 철부터는 이상에서 설명된 복호알고리즘 의엔 최근 제안된 몇 가 지 복호방법들을 소개하고 이에 따른 복호절차와 복호기 구성방법에 대 해서 체계적으로 설명한다. 4-3 Pete r son-Gorenste i n - Zie r ler 복호법 (28] 비 2 원 BCH 부호의 한 범주에 속하는 Reed-Solomon 부호에 관한 복호 는 치환 레지스터를 이용한 복호, Eucl i d 알고리즘을 이용한 복호, 유한 체 Fou ri er 변환을 이용한 Blahu t의 연구 등이 있어 왔다. 이 절에서는 2 원 BCH 부호에 대해 Pe t erson 이 창안한 결과를 Gorens t e i n 과 Z i erler 가 개선한 알고리즘에 대해 기술한다. 이 알고리즘은 t차원 정방행렬을 계 산하면 되므로 오류정정 능력 t가 비교적 적을 경우 계산이 간단하고 장 치화에 이접이 있다. RS 부호의 경우 오류다항식 e(x) 는 오류가 발생한 위치에서 GF(2m) 의 원소로 표시되는 오류치를 가진다. 실제로 11, O; t;,11 , t;,t 개의 오류가 k, k, …, lv 의 위치에 발생하였다면 오류다항식은 디옴괴· 갈이 표현된다. e(x) =e ii x+e i.갔나 ····+e i ,X1 (4.2 6 ) 이때 오류치를 Yi = ez 오류위치번호를 Z i =a1’ 라 하면 오중요소는 s,,_= e (a•) ' 1£k£2t (4.27)
로 정의되므로 아래와 같이 2 t개의 방정식이 얻어진다. S1= Y1Z1+ Y2Z i+…+ Y.,Z., s2= Y,Z~+ Y2Z~+… + Y.,zi S3= Y1Zf + Y2 꺽+…+ Y.,Zt (4.28) Su= Y1Zf 1 + Y2Z 『t+…+ Y.,Z 꾼 이 식으로부터 Y i와 Z, 의 값을 알아내는 것이 RS 부호의 복호이다. )1개의 오류가 발생한 경우 오류위치다항식은 u
에 대입하여 오류위치다항식의 계수 를 구할 수만 있다면 근의 역수를 구 할 수 있고 이것이 곧 오류위치번호가 된다 . 식 (4.33) 을 행렬로 표시하면 s1s2s83& s&3s4 s5 S11-1 S11 6II S11+1 S11 S11+1 <11 1- 1 S11+ 2 SJ J+ l SJ J+ 2 I • I
... 1 A=I Z1. Z2 Zµ (4.37) zr-1 z:-1 … z;-1 라 하고 행렬 B 를 Y1Z1 o … 0 B= o Y2Z2 … 0 (4.38) L 。。 … YµZµ 라 하면 「 S1 S2 ••• Sµ ABAT=I S2 S3 ••• s~ .. I (4.39) Sµ Sµ+ I ••• S2µ-1 가 되므로 식 (4.39) 의 행렬식은 det( A ) det (B ) de t (AT) 이다. 식 (4.37) 은 Vandermonde 행 렬로서 열이 서로 다르고 〈 O 〉이 아니면 det (A ) *o 이 다. 또 식 (4.38) 은 µ>l/이면 det (B ) =O 이고 µ=v 이면 det (B ) *o 이다. 따라서 µ가 l/보다 크면 식 (4.39) 의 행 렬식은 값이 〈 O 〉이 된다. 그러므로 실제 오류의 갯수 v 를 구하기 위해서 v=t로 놓고 de t (M) 을 계산한다. det (M ) =O 이면 v= t -1 로 하여 행렬 M 를 재구성하고 다시 de t (M) 을 계산한다. 이와 갈이 l/의 값을 t에서 시작하여 하나씩 줄여가면서 det (M) 을 계산할 때 최초로 det (M ) *o 인 값 l/가 실제로 발생한 오류의 수 이다. 이상에서 기술한 내용을 t =2 인 경우에 적용해 보자. 식 (4.35) 에서 l/ =t =2 이면 행렬 M 은
M=[:: ::] (4.4 0 ) 가 되며 det (M ) =s1sa+s~ 의 값에 따라 실제 오류의 수가 결정된다. det (M) *O 이면 두 개의 오류가 발생한 것으로 판단되고 식 (4.36) 으로부터 오류위치다항식의 계수는 다음과 같이 구해진다. 아 = (s2S3 + S1 s,) I (s, S3 + sn 6z= (s:+s2s,)I(s1S3+sD (4.4 1 ) de t (M)=O 이면 M=[s1) 으로 재구성되며 de t (M)-::/=O 이면 111=S3/S1 로서 단일오류가 발생한 경우이다. 이때 s1=0 이면 오류가 발생하지 않은 경 우가된다. 오류위치다항식이 구해지면 그 근을 구하여 오류위치를 알게 된다. Z1 위치에서의 오류치를 계산하면 2 중 오류의 경우는 Y1 = (s1Z2 + S2) / (z,z2 + zn Y2 = (s,z, + s2) / (z1z2 + z 웅) (4.4 2 ) 이고 단일오류일 때는 Yi = s1!z1 (4.4 3 ) 이다. 오류위치와 오류치가 구해지면 복호기에서는 오류정정을 행하게 된다. [예제 4.4 ] (31,21) RS 부호를 사용하여 모든 요소가 〈 O 〉인 부호어를 전송하여 두 개의 오류가 발생한 r(x) =aax2+a2sx22 를 수신하였을 경우 원시다항식이 P(x)=1+ 났 +x5 인 GF(25) 상에서 오중의 각 요소는 S1= a6 , s2=a9, S3=a7, s4=a26 으로 구해진다. 식 (4 .4 0) 에 대입하여 det (M) 을 계산하면 det (M ) =a1s+a1s=a1s =I= 0 이므로 실제 두 개의 오류가 발생했다고 판단한다. 식 (4 .4 1) 로부터 a(x) 의 계수를 계산하면 아 =a10, ai =a” 가 되어 a(x) 의 근의 역수인 오류위치번호 Z1=a2, Z2=a22 를 구 할 수 있다. 그리고 식 (4 .4 2) 에 대입하여 오류치를 구하면 Y1=a8, Y2
=a2s 이므로 오류다항식은 e(x) =a8 균 +a2sx22 가 된다. 한편 모든 요소가 〈 O 〉 인 부호어 를 전송하여 단일오류 e (x) = a15x11 이 발생한 경우 각 오중요소는 s1=a, s2=a18, S3=a', s,=a21 이 된다. 이 를 식 (4 .4 0) 에 대입하여 de t (M) 을 계산하면 det (M ) =a36+a5=0 이므로 v = l 로 놓고 M 을 재구성한다. &=a-:/=O 이므로 실제 발생한 오류의 갯수 는 한 개이다. 오류위치다항식의 계수는 아=a18/a=a” 이며
e- j 2 1t /n 을 변환의 핵 (kenel) 으로 하여 정의된다. 실수 벡터를 V = (Vo, V1, …, Vn-1), 변환 벡터를 V= ( Vo, V1, …, Vn-1) 이라 하면 두 백터의 관계 는 다음과 같다. V,,_= ni~=- 1O e-iZ lril t./n V i , 0 —1 (4.4 4 ) 같은 방법으로 유한체의 원소를 성분으로 갖는 n 차원 벡터에 대하여 유한체 의 Four i er 변환을 정 의 할 수 있다. [정의 4. 이 c={c; I i =o,1, … ,n_1} 를 GF( q)상의 n 차원 벡터 (n=q m _1) 라 하고 a 를 GF( q m) 내의 위수가 n 인 원소라 할 때 c 에 대한 유한 체 Four i er 변환 C={C;I j =O,l, … ,n_I} 는 다음과 같이 정의된다. C;= n2-! 1 a ;;c;, o~j ~ n-1 (4.4 5 ) i= O 이때 두 벡터 c 와 C 는 변환쌍이며 c 를 시간영역함수, C 를 변환영역함 수 또는 S pe c t rum 이 라 한다. 실수함수에 대한 Four i er 변환이 복소수함 수인 것처럼 정의 4 .4로부터 알 수 있듯이 시간영역함수는 GF( q)상의 벡터이고 변환영역함수는 확대체 GF( q m) 상의 벡터로서 유한체 Fourie r 변환이 이루어전다. [정리 4 . 다 GF( q)상에서 유한체의 표수 (charac t er i s ti c) 가 p일 때, 임의 의 한 벡터와 그에 대한 S p ec tru m 은 각각 다음과 같다. Cj = n~-1 aij c; (4.4 6 ) i= O Ci = n(mo1 d p) j'2!.= ::O ,l a-ijc j (4.4 7 ) [증명〕 유한체에서 (xn-1) = (x-1) (xn-1+xn-2+… + x+l) (4.4 8 ) 이며 원시원 a 의 정의로부터 ar 은 모든 r 에 대해 좌변의 근이다. 따라 入1 r=l= O (mod n) 인 경우 ar 은 식 (4 .4 8) 의 두번째 항의 근이 된다. 죽 r
*0 일 때 aT 은 식 (4 .4 8) 의 두번째 항에 대입하면 njL=- 1!O ar1=0 (4.4 9 ) 이고, r=O 일 때 n-t j~= O ar1= n(mod p) (4.50) 가 된다. 식 (4 . 50) 에서 n 은 유한체의 표수 p의 배수가 아니므로 〈 O 〉이 아니다. 이러한 사실로부터 in~=- O 1 a - iJ nk~=- O 1 a ,.1c,,,= nk~=- O1 c ,. nj~=- 1O a<11 .- ;>;= (n modp ) c (4.51) 가 됨을 알 수 있다. 이때 유한체가 표수 P 를 갖는다면, 임의의 정수 s 에 대해, q m-1= p s-1 은 n 의 배수이지만 n 은 p의 배수가 아니므로 n (mod p} -=t o 이다. (증명 끝} 일반적 으로 GF (q) 상의 벡 터 를 변환하면 확대 체 (exte n sio n field ) 인 CF (q m) 상의 원소로 변환영역 벡터가 구성되며, GF( q')상의 원소를 성분 으로 갖는 변환 영역 벡터를 역변환하면 시간 영역의 벡터는 GF( q)상의 원소로 구성된다. 벡터 c 와 C 는·다항식 형태로 다음과 같이 표현할 수 있다. c(x) = ni~=- O 1 c ;x;=co+c1x+c2 났+… +Cn-1Xn-l C(x) = nj2=- 1O C j났= C,+ C1x+ ~났+…+ Cn-1Xn-l (4.5 2 ) 이때 식 (4 .4 6) 과 식 (4 .4 7) 을 이용하면 각 다항식의 계수는 C i=첩 Cj (a- i)i= C(a-i) Off = itf=n -1 Cj = 쳅 c, (ai) ;=c(ai) , o~j ~ n-1 (4.'.53 ) 로 표현된다. 식 (4.52) 와 식 (4.53) 은 벡터의 다항식 표현에서 한 영역 의 근과 변환영역의 성분과의 관계를 보여준다. 죽 C;=O 이면 c(x) =a;
를 근으로 갖고, 역으로 C i = O 이면 C(x) 는 a - ’ 를 근으로 갖는다는 것을 의미한다. [정리 4 기 GF( q)상의 벡터 c 의 성분 c 1 가 다른 두 벡터 a,b 의 성분 a i와 b, · 의 곱일 때 C i =a i b i의 이 산 Four i er 변 환 C J는 다음과 같다. Cj = —n1 k nL=-!1 O A u-1,,, B1, ,= A_ *B_ , O~j ~ n-1 여기서 A 와 B 는 각각 a 와 b 의 이산 Four i er 변환아다. [증명〕 정리 4.1 과 c i =a,b i로부터 C;= 7i~!=.= O. l ai. i. ci = 7i~!=.= .O l a i. i.a i b _ i= 7i~!=.= o.l a i. i. ai ( , —n1 k7~!=. =.O l a - ik B k ) =—1 n2- IB k( n2- 1 ai( j-k ) aj ) =—1 BkA(j- k n k=O j= o n 1 n-1 _ _ =-=n -kL=O! Au-1,,iB 1r=A *B (증명 끝) 죽 시간영역의 곱은 변환영역에서의 대 합 (convoluti on ) 이 된다. 또한 이 관계의 역도 성립한다. 4_4-2 RS 부호에의 응용 시간영역에서 GF( q)상의 부호어 c(x) 는 차수가 k-1 인 정보어 d(x) 와 n-k 차인 생성다항식 g (x) 의 곱으로 표시된다. 죽 c(x) =d(x)g ( x) 이고, c(x) 의 각 성분은 n-1 c;= £0g ;-. td .t 이다. 이것은 시간영역에서 대합형태이므로 변환영역에서 부호화는 곱의 형태로 CJ = G;C;
가 된다. 그러므로 변환영역의 부호는 2 t개의 검사 주파수(p ar ity fr e quenc y)의 S p ec t rum 성분이 〈 O 〉인 GF( q)상의 벡터이다. 수신벡터는 부호벡터와 오류벡터의 합이므로 r;=c;+e; O~i ~ n-1 R;= C;+E; O~j ~ n-1 (4.5 4 ) 와 갇 다. 이때 C j =c(a i)이므로 c(x) 가 a, a2, …, a” 등의 근을 갖는 부호다항식이면 C(x) 의 계수 중 C1, Ci, …, G t의 값은 〈 O 〉이다. 따라서 식 (4 . 54) 는 R;=E;=e(ai) 1 스 1· 스 2 t (4.55) 이 되며, 변환영역에서 수신다항식의 계수 중 R1 』t,… ,R21 는 오류형태 의 변환만으로 표현할 수 있다. 또한 식 (4.55) 는 S1=R1=E1, l~j ~ 2! (4.5 6 ) 와 같이 되어 오중이라고 하며 오류형태의 창 (w i ndow) 이 된다. 그립 4.7 은 이러나한 관계를I •나 타 •낸 •것I 이 다. IC 21- 1 I • • • IC n- 1 I 。 。 E, I E, I· . ·I IE ,… | • • • I&-• I R, I R, I· . ·I 니 R,' I • • • I R.-• I 。 I 나 ... I s. . 0 I • • • 。 | 그림 4.7 변환영역에서 부호계열, 오류, 수신계열의 관계
만일 II £ct인 1/개의 오류가 i ,.(k=l,2 , … , II) 의 위치에 발생하였다면 변 환영역에서의 오류위치다항식을 (x) = kIu=I I (1— xa i• ) . 0fu fu n-1 = l +
r( x)
그림 4.8 변환복호기
환하면 시간영역에서의 복호가 종료된다. 이러한 일련의 과정을 거쳐 오 류 를 정정하는 장치를 변환복호기라 부르며 그립 4.8 은 변환복호기의 불 럭도이다. 4-4 - 3 (31,2 7 ) RS 부호의 변환복호기 구성 오증은 수신계열을 변환하여 구할 수 있으며 식 (4.53) 과 식 (4.55) 에 의해서 S1 =E1 = 230! a;r;= r(a) i= O S2=&= 230! a2;r;= r(a2) i= O S3 =& = ~30 a3; r; = r(a3) (4.63) i= O S4=E4= 230 a”ri= r(a4) i= O 이 되고 오중계산회로는 그림 4.6 으로부터 쉽게 구성할 수 있으며 여기서 는 생략하기로 한다. 2 중 오류가 발생한 경우 식 (4 . 61) 에 의해 E;= - 22 0, .E;-k , O~j ~ n-1 (4.64) .11= 1 이 되며, j= 3, 4 일 때 &과 E, 는 각각
-E3 =아&+cI> 2E1 ―요 =cI>1 E3 +cI>2 E2 (4.6 '. i ) 이 된다. 이를 ma t r i x 형태로 표현하면 [::] = E1&1+Eg [_:::] • [二:] (4.6 6 ) 이므로 결국 cI>1 = &E3-EIE4 E1&+E~ cI>2 = EE21 요&― + EE~ 출 (4.67) 이다 한 개의 오류가 발생한 경우 식 (4 . 61) 은 Ej = -cI>1 Ej- I, O~j .~ n-1 (4.68) 이 되 며 <1> 1 은 다음과 같이 구할 수 있다. <1>1 =요E1 (4.69) 이러한 계산과정은 그립 4.9 와 같이 설계함으로써 오중으로부터 지연 없이 오류위치다항식의 계수를 구할 수 있다. 그림 4.9 에서 團은 GF(25) 상의 곱셈기를 江는 역을 구하는 회로를 나 타낸다. 식 (4.61) 을 이용하면 오중과 오류위치다항식의 계수로부터 변환영역에 서의 오류를 모두 구할 수 있다 .• 2 중 오류가 발생한 경우에는 -Es=4> 1 E•+4> 2 Ea -&=4>1 Es+4 >2 E• (4.70) -E30=OIEm+02E28
EJ
그림 4.9 오류위치다항식의 계수결정회로
-E 。 =<1>1 &0 +中 2E29 이 되며, 단일오류인 경우에는 _&=o1E4 -&=4'1Es (4.71) -E30=~1&9 -E,=~ 1&0 아다. 그림 4.10 은 식 (4.70) 과 식 (4.71) 을 수행하는 회로를 설계한 것으 로 수신부호의 마지막 심볼이 복호기에 입력되는 순간 최대로 빠르게 모 든 오류를·얻을 수 있는 희로로서 소자들의 지연시간 후에는 바로 복호
E,
그림 4.10 변환영역에서의 오류구성회로
된 신호롤 출력할 수 있도록 설계한 것이다. 변환영역에서의 오류를 역변환시킴으로써 시간영역에서 e;(O~i ~ 30) 를 차례로 얻을 수 있다. 죽 식 (4 . 53) 을 이용하면 e3o = j~3= 0O a-3oiE i =E(a-30) =E(a) (4.72) 이 되며, 갇은 방법으로 e29 = l30: a-291E; ;=O =E (a-29) =E (a2) : (4.7 3 ) e1 = l3:0 a-1E; = E ( a29) j= O 30 eo= 흡 &=E(l) . 이 된다. 그립 4.11 은 식 (4.72) 와 식 (4.73) 을 이용하여 변환영역의 오류를 역변 환하는 회로로 설계한 것이다. 변환영역의 모든 오류가 입력되는 순간 eso 이 계산되어 출력되고, 동시에 귀환되어 F lip -Flo p에 저장된다. 다음 클럭에 저장된 값을 이용하여 e29 가 출력되고 이러한 과정을 반복하여 e1 까지 출력되며 마지막으로 @값이 출력되는 순간에 F lip -Flo p을 clear 하
E1
그림 4.1 1 역변환기
여 다음 수신계열의 오류를 받을 준비를 한다. (3'1 , 27 ) 2 중 오류정정 RS 부호의 변환복호기의 블럭도는 그립 4.12 와 같다. 복호기의 수신계열 저장 레지스터를 30 단으로 하면 마지막 심볼이 입력되는 순간 E1' 표,E, ,E, 가 계산되며 동시에 논리회로로 구성되는 야 412 의 값이 출력된다. 0 군l> 2,Es,E, 롤 이용하여 &,&,···,&o, E,를
수신계언 비미에지 스 다
그림 4.12 • (31,27) RS 부호의 변환복호기
구하고, 마지막으로 e30, e29, …, e,, eo 의 순서대로 출 력되는 역변환기 를 구성하여 레지스터의 수신계열을 정정한다. 4-5 Eucli d 알고리즘을 이용한 RS 부호의 복호법 4-5-1 RS 부호를 복호하기 위 한 Eucli d 알고리 즘 이 철에서는 수신벡터 r 로부터 얻어진 오중을 이용하여 오류의 위치를 결정하는 오류위치다항식을 Euclid 알고리즘을 이용하여 구하는 RS 부호 의 복호법에 대해 기술한 후 3 중 오류정정 (31,25) RS 부호를 선정하여 그 복호과정을 자세히 설명한다. 먼저 다항식에 대한 Euclid 알고리즘을 정리하면 다음과 같다.
[정리 4 . 기 다항식에 대한 Euclid 알고리즘GF( q)상의 두 다항식 a(x) 와 b( x ) 가 주어졌을 때 이들의 최대공약수 (GCD) 는 다음과 같은 나눗셈을 반복적으로 수행하여 구할 수 있다. 즉 deg ( a(x)) ~d eg ( b(x)) > o 인 관계를 만족할 때, a (x) = Q1 ( x) b (x) + b1 (x) b (x) = Q2 (x) b1 (x ) + bi (x) b1 (x) = Q3 (x) bz (x) + ~ (x) {4.74) bn- 2 ( x ) = Qn (x) bn- 1 ( x) + bn (x) bn- 1 ( x) = Qn + 1 ( x) bn (x) 으로 나머지가 〈 O 〉 일 때 bn(X) 는 aGCD[ a (x),b (x 月이다. 여기서 a 는 상수이다. 〔 증명 〕 식 (4.74) 의 첫번째 식에서 GCD[a(x),b(x)] 는 a(x) 와 b(x) 를 모두 나눌 수 있으므로 bl(x) 도 나눌 수 있다. 두번째 식에서도 GCD [a(x ) , b( x ) ]는 b(x) 와 bl(x) 를 모두 나눌 수 있으므로 &(x) 도 역시 나눌 수 있다. 갇은 원리로 마지막 식에서 GCD[a(x), b(x) ]는 bn-1(x) 와 bn(x) 를 모두 나눌 수 있고 de g (bn-1(x) ) ~de g (bn(x)) 이므로 GCD [a(x), b(x) ]는 bn(X) 를 나눌 수 있다. 한편, 마지막 식에서 bn(X) 는 bn - 1(x) 를 나눌 수 있고 de g (bn-2(X) ) ~de g (bn(x)) 이므로 bn-2(x) 를 나 눌 수 있다. 마찬가지로 첫번째 식에서 bn(X) 는 b1 (x) 를 나눌 수 있으므 로 b(x) 와 a(x) 를 나눌 수 있게 되어 bn(X) 는 GCD[a(x), b(x) 〕를 나 눌 수 있다. 따라서 bn (x) =aGCD[ a (x),b (x)] 이댜 (증명 끝) [정리 4.4 ] GCD[a(x), b(x)]=/(x)a(x)+ g (x)b(x) 이다. 여기서 a (x) 와 b(x) 는 GF( q)상의 다항식이다. 〔증명] 정리 4 . 3 에서 bn(x) ~aGCD[a(x), b(x) 〕이므로 식 (7.74) 에서 aGC 미 a(x), b(x)] =-Qn (x) bn-1 (x) +bn-2(x) (4.75) 라 할 수 있다. 한편 bn- 3 ( x) = Qn -1 (x) bn-2 (x) + bn-1 (x) 로부터 bn-1 (x) =-Q n -' 1(x)bn-2(x)+bn - a(x) 가 되고, 식 (4.74) 는 aGC 虹 a(x), b(x)]
= —Qn (X) [-Qn -iC x ) bn-2 (x) + bn- 3 (x) ]+ bn- 2 (x) = [ Qn (x) Qn - 1 ( x) +니 bn-2(x)- Q n(x) bn-3(x) 가 된다. 따라서 앞의 식들을 이용하여 bn- 2 (x) 와 bn - 3(X) 를 차례로 제거해 가면 aGCD[a(x), b(x)J = f. (x) a(x ) +g1 (x)b(x) 이므로 GCD[a(x), b(x) 〕=J (x)a(x)+ g (x)b(x) 가 된다. (증명 끝) 정리 4 . 3 과 정리 4 .4를 이용하여 Euclid 알고리즘은 다음과 같이 요약될 수있다. 임의의 다항식 a(x), b(x) 의 GCD 를 d(x) 라 하면 정리 4.4 에 의해 다 음의 관계식을 만족한다. I(x) a (x) +g (x) b (x) = d (x) {4.76) de g (a(x) ) ~de g . (b(x) )라 할 때 /(x) 와 g (x) 는 f-1 (x) =1, g_ 1 (x) =O, r-1 (x) = a (x) fo (x) =O, g。 (x) = 1, r。 (x) = b(x) (4.7 7 ) 울 초기 조건으로 하여 ri (x) = rE2 (x) .- qi (x) rEl (x) Ii (x) =Ii-2 ( x) - qi (x) Ii- l (x) (4. 78 ) g; (x) =g;- 2 ~x) -q; (x) ·g;- 1 (x) 에서 r i +1(x)=0 일 때까지 반복계산을 수행한 후 그때의 Ii (x) 와 gi(x ) 가 된다• 여기서 qi (x) 는 r i -2(x) 를 r ••- l (x) 로 나눌 때의 몫이며 Ii (x ), gi(x ), r i (x) 와의 관계는 다음을 만족한다. /; {x) a (x) +g; {x) b (x) = r; (x) (4.79) 만일 i =n+l 일 때 rn+I(x) =O 가 되면 식 (4.76) 을 만족하는 f( x), g . (x), d(x) 는 각각 fn( x), gn -1(x), rn(X) 가 되며 이 알고리즘의 반복 계산 횟수는 식 (4.78) 의 모든 i에 대해 de g [r;(x) 〕
의 오중 s = (so, S1, …, S21-1) 로부터 다음과 같은 오중 다항식을 정의하 자. 21-1 s(x) = i~= O s; 났 (4.80) 한편 차수가 무한대인 오중다항식 s..,(x) 를 다음과 같이 정의하자. SOO(x) = i2o= o O s j났 (4.81) =·so + S1X + Sz 균 + …+ s2t -1 X2t - 1 + … 이때 오중요소는 s;=r(a'), O~i ~ 2t - 1 = c (ai) + e (a') = e (a') (4.82) 가 된다. 만일 l/스 t인 )/개의 오류가 ]·I, …, j,, 위치에 발생했다면 식 (4. 82) 는 Sl = e (ai) == .e±lt=; ll ae ;i;. l (+a ie• )뇨 ia i ;2 + …+ e;ua i ju (4.8 3 ) Ol 다. 오류위치다항식 6(x) 는 다음과 같다. a(x) = lT=III l (1+ahx) = 1 + 아 x + 아났 + … +
a(x) ·s. . (x) = I~r.u= ! ej. lI=u I I (l+ ai1 ·x) II~ t (4.8 6 ) l*k S (x) = [sco (X) ]급 1-1 이다. Sco(X) 의 dmi n -2 이상 차수의 항은 Sco(x) •
오중계산
그립 4.13 a(x) 를 구하기 위한 Euc li d 알고리즘
오S==r중( a(계Sio+산 ,• )s , . .j.=. .O , .sl,..…_ , . 2t
그림 4.14 개선된 Eucl i d 알고리즘을 이용한 a(x) 의 계산
다. 따라서 이러한 문제점을 국복하여 나눗셈 과정이 제거된 새로운 형 태의 Eucl i d 알고리즘이 제안되었다. 죽 두 다항식 A 。 (x)=x21, Bo(x)= S(x) 에 대해 각 다항식의 최고차항의 계수가 Fo, &라 할 때 A 。 (x) 와 B。 (x) 에 각각 상대방의 최고차항의 계수를 곱하여 A i (x) 와 B i (x) 의 차 수 를 줄여 나가는 방법이다. 이를 흐름도로 나타내면 그립 4.14 와 갇고, 여기서 L ; (O) 는 L i (x) 의 〈 O 〉차 항의 계수, M;(O) 는 M;(X) 의 〈 O 〉차 항의 계수이고, F i - I 은 A, - I(x) 의 최고차항의 계수, E i -1 은 B i-l (x) 의 최고 차항의 계수이며, de g [A;(x)] 는 A;(X) 의 차수를 나타낸다. 4-5-2 Euclid 알고리즘과 변환복호법을 이용한 (31,25) RS 부호의 복호 이 철에서는 3 중 오류정정 (31,25) RS 부호에 대한 복호알고리즘을 설 명한다. Eucl i d 알고리즘과 변환복호법을 이용한 RS 부호의 복호과정은 다음과 같은 4 단계로 나누어 수행된다. 1 단계 오중의 계산 (Four i er 변환). 2 단계 Eucl i d 알고리 즘을 이 용한 오류위 치 다항식 , 6 (x) 의 계 산. 3 단계 변환오류 계산 4 단계 오류정 정 (Four i er 역 변환) 위의 복호 단계를 이용하여 복호기를 설계했을 경우 그립 4.15 와 같은 블럭도로 나타낼 수 있다. 부호다항식 c (x) = O 울 전송하였을 때 수신다항식 이 r (x) = a8 났 + a2 갔 +ax10 인 경우의 복호과정을 설명하자. 복호의 첫단계는 수신계열로부터
그립 4.1 5 Eucl i d 알고리즘과 변환복호법을 이용한 RS 부호의 복호기 블럭도
오중을 계산하는 것이므로 식 (4.82) 로부터 다음과 같은 오중을 구할 수 있다. 한편 오중은 4-4 에서 알 수 있듯이 Four i er 변환 영역의 오중요소 이다. s1= r(a) =a13=E1 s2 = r (a2) = a21 =E2 S3= r(a3) =a16=E3 (4.91 ) s, = r (a') = a18=E, ss= r(a5) =a=& s6 = r (a6) = a1o =E6 S J는 시스토릭 구조 (s y s t o li c s t ruc t ure) 의 하드웨어이고, 이를 구현하기 위해서는 다음과 같은 순환형태의 식으로 표현될 수 있다. Sj= (… (((Y30a;+r29)a;+r2s)a;+… ) a;+r0), l~j ~ 6 (4.92) 따라서 오중요소 s j는 그림 4.16 과 같은 cell 로 구현될 수 있다. 복호의 두번째 단계는 s(x) 로부터 오류위치다항식 a(x) 를 계산하는 과221-정 1 s이 i x다2 .t- j에 이대는한 개Eu선cl된 i d 알E고uc리l 즘i d 을알 고적리용즘하을여 그이림용하 4여.1,4 와 x같”은 와 흐s름(x도)를= j= O 이용하면 다음과 갇이 계산된다. 한편 그림 4.14 의 u i (x) 와 V;(x) 는 오 류위치다항식 a(x) 를 구하는데 이용되지 않으므로 이에 대한 계산은 생 략한다.
r,, r,. ... , r,.
그립 4.16 (31,25) RS 부호의 오중계산을 위한 시스토릭 구조
초기 조건: i= O u。 = M。 =1, L= Vo=O A 。 (x) =x21 =x6 B 。 (x) = s (x) = a13xs+ az'x•+a16 났 +al8 갔 +ax+a10 1. i =1 인 경우 deg A 。 (x) ~d eg B。 (x) 이므로 A 1 (x) = EoA 。 (x) -FoB。 (X) Xdeg (A o(X)]- de g (B o(X)] = al3 갔 ― 1 (a13x5+ a21x4+ a16x3+a18 갔+ ax+a1°)x6- 5 = az 1x s + a1&x4 + a1a 났+ ax2+ a10x B1 (x) = B 。 (x) = a1J x s+az1 x•+ a1& 났 +a18 갔 +ax+a10 L1 (x) = E。 Lo (x) - Fo Mi。 (X) Xde S(A o(X)]- de g (B o(X)] =al3•Q — I•I•x=x MI (x ) =M。 (x) = 1 2. i =2 인 경우 deg A1 (x) =deg B1 (x) 이므로 Az (x ) =E 1A1 (x) -F1B1 (x)xdeg( A ,(x)l -d eg( B ,(x)I =a13A1 (x) ― a 뗄 (x)xo=a10 갔 +a22 났 +asox2+a1ox+1 B2 (x) =B1 (x) = a13x5+a 2 1x•+a16 났 +al8 군 +ax+a10 L2 (x) ==Ea113Lx1 —( xa)z-1F .1l M=a11 (3xx)x+dea12I(1A i (x) J- d eg( B ,(x)I Mz (x) =M1 (x) = 1 3. i =3 인 경우 =a1s (a1ox•+ az2 갔 + a3ox2 + a1ox + l) x-a1 0 (a1 J갔 + a21x• + a16 났 + al8 났 + ax + a10) = a14x4 + a16 갔 + a21 났 + a18x + a20 As (x) =Az (x) =a10 갔 +a22 갔 +a30 났 +a10x+1 deg A2 (x)
Ms (x) = &Li (x) xde11(B2(X))-de [l(샤
~ (x) = Es • Ls (x) -Fs . Ms (x) . xdeg ( Ao(x)l -d eg( B o(X) I = 군 (as 갔 + a1x + a29) - a22 ( a19 났 + a21 났 + a2•x + a) = alO 났 + x2 + al1x + a27 deg A6 (x) < 3 이므로 a(x) =Lr, (x)/Lr, (o) = (a10 났 +xz+a11x+az1)/a10 =x 3+a21x2+ax+a” (4.9 3 ) 따라서 a1=a21, ~=a, £1.i =a” 이다. 복호의 세번째 단계는 식 (4.61) 을 이용하여 변환오류의 나머지 항을 구하는 것이다. 죽 E,=아 &+~Es+ 야 E. Ea= 아E,+~&+6.t& (4.94) &o = 아 Ez9 + ~Ezs + 야 E27 &1 = Eo =
E,, ... , E,, E, cell 1 cell 2 cell 3
그립 4.1 7 (31,2 기 RS 부호의 변환오류계산을 위한 시스토릭 셀 희로
a1, &o=a8, &1=Eo=a21 를 구할 수 있다. 복호의 네번째 단계는 변환오류 성분을 Four i er 변환한 후 오류성분 e, (O~ i ~30) 을 구한 후 오류정정을 수행하는 과정이다. 한편 Four i er 역변 환은 다음 식을 이용하여 구할 수 있다. ei= j~3= 0O E ja -Ji =E (a-i) , O£. i £. 30 (4.95) 식 (4 . 95) 를 순환형태로 표현하면 e,·= (··· ( ( (&oa-i+ &9) a-i+ &8) a-i+ … +E0), Ob ib 30 (4.96) 이고, 오류성분 e i는 그림 4 . 18 과 같은 cell 구조로 된 회로를 이용하면 쉽게 구할 수 있다. 그립 4 . 18 을 이용하여 구하면, e2 = a8, es=a 러 e1o=a10 이고, 오류형태는 e (x) =a8 갔 +a2 났 +ax10 (4.97) 가 되어 c(x)=r(x)+e(x) 의 관계식에 의해 복호가 완료된다. Eo, E,, ... , E• •
• •
그립 4.1s (31,25) RS 부호의 오류계산울 위한 시스토릭 셀 구조
4-6 DBEC-TBED RS 부호 I1s1 반도체 메모리 칩의 집적도가 높아져감에 따라 콤퓨터 기억장치의 용 량이 커지고 있는 추세이다. 이에 따라 현재 대부분의 중형, 대형 컴퓨 터 주기억장치의 신뢰도 향상을 위해 오류정정부호가 필수적으로 사용되 고 있다 . 메모리 칩은 한 칩에 한 비트씩 정보를 저장하는 비트형 칩 (one-bit -pe r-c h ip ) 과 여 러 비 트씩 정 보를 저 장하는 바이 트형 칩 (multi- b it -per-ch ip)이 있다. 그러나 집적도가 LSI 에서 VLSI 화되어감에 따라 기억 장치를 구성하는 칩의 수가 줄어들고 조각화(gr anular ity)를 방지할 필요 성 때문에 비트형 칩보다는 바이트형 칩이 일반화되어 있다. 예를 들면, 1 메가바트 DRAM 의 경우 256kX4 비트 형식으로 구성되고, 4 메가비트 DRAM 의 경우에는 512kX8 비트 형식으로 구성된다. 따라서, 이 절에서는 바이트형 칩으로 구성된 기억장치에 적합한 RS 부 호 중 에 서 DBEC-TBED (double by te error correcti ng and triple error dete c ti ng ) 을 위 한 고속복호법 에 대 해 기술한다. 이 방법은 오중으로부터 반복알고리즘을 사용하여 오류위치다항식을 계산하는 과정없이 오류위치 와 오류치 를 구하는 방법으로 오중의 중 (weig h t) 을 검 색 하여 바로 오류 의 발생을 결정하는 방법이다. 4-6-1 dm i n=6 인 RS 부호의 특성 최소거리가 dm;n=6 인 RS 부호의 생성다항식은 g( x) = 2ItI- 2 . (x +a1•.+ i ) =2 ~t-- 2 g;갔 (4.98) i= O i= O 으로부터 k 를 -2 로 놓으면 2 g( x) =효 2(x+a i) (4.99) 와 같이 변형된 형태로 주어진다. 식 {4.99) 에 의해 생성되는 RS 의 부호
의 패리티 겁사행렬은 1 a- 2 (a-2) 2 … (a- 2) n- 1 1 a- ' (a-1) 2 … (a-I) n- 1 F=I 1 1 1 ... 1 (4.100) 1 a (a)2 … (a)n-1 1 a2 (a2)2 … (a2)n- 1 와 같이 된다. 이 부호는 dm i n=6 이므로 2 바이트 이하의 오류 를 정정하 는 동시에 3 바이트 이하의 오류를 검출할 수 있다. 전송로상의 잡음에 의해 발생하는 오류형태 e= r+c=(eo,e1,… , en-1) 으로부터 오중은 s = e +MT= (s-2, S-1, so, s1, S2) (4.1 0 1) 로 계산된다. 수신계열에 단일 바이트 오류 e(x) =e;,x ii (11 = 1 이므로)가 발생하였다면 오중은 S- 2 =ejl a- 2j l S-l = ej l a -jl So = e;, (4.1 0 2) S 1 =e 파균 S2=ejl a 2jl 이다. 여기서 e j 1 은 오류치이고 i1 (O~ jl ~n-1) 은 오류위치를 가리킨다. 또한 2 중 바이트 오류 e(x) =ehxh+ehx” 가 발생한 경우는 s-2 = ei, a-21, + e1za-2iz (4.1 0 3 a) S-1 = e1 ,a -1i + e1za 켜 (4.103 b) So =e1, + e1z (4.103 c) Sl = eJI ai1 + ej2 ai z (4.103 d) s2 = eJ, a21 i + e1za2iz (4.103 e) 가 된다. 역시 여기서, e j 1 과 e j 2 는 오류치를 가리키고 0 스 1.1 소 1.2 스 n-1 이 다.
dm i n=6 인 RS 부호는 GF(2 이상의 2 차방정식을 아용하여 복호할 수 있 댜 식 (4.1 0 3 a) 와 (4.1 0 3 C) 로부터 det I:O ’ ~-,,,] eJi = det a 1 1 ] = (Sa-2-+h +saaa-- 꼬2 )h2 (4.1 0 4) [2jl a-2j2 가 되고, 식 (4 .1 03b) 와 (4.1 0 3 c) 로부터 det [:~, 1-h _ a-a eh 1 l— -Sa-_-1 j+ 1S+oaa 켜 켜 (4.105) det [al n. 이다. 따라서 (Sa--2j+l + s oaa-- j22 i)z 2 =_ Sa--1+ +S oaa--jh2 (4.106) 가 되므로 양변에 (a 기 +a 玉 )2*0 을 곱하면 다시 S-1 (a1' + a12) + s-2a% 균+ s。 =O (4.107) 으로 된다. 마찬가지로 식 (4.103 c), (4.103 d), (4.103 e) 로부터 s1 (a;, + ah) + saa;,a;•+ s2 = 0 (4.108) 이 됨을 알 수 있다. 1J1 = s~+ s-1s1 =l:-O 7/2 = S2S-2+ S~= l:-0 (4.109) 1/s =S 1S-2 + S-1S0 =l:-0 1/, = S0S1 + S2S-1 =/:-0
라 정의하면 식 (4.107) 과 (4.108) 로부터 a 로 E= S2S-2+s°2 =.!h...= A S1S-2 + S-1So 7/a (4.110) aj l aj2 = SoSl+s2S 크 =.!l.!..= a S1S-2+S-1So 7Js 가 되므로 a j l 과 a j 2 는 y2 +.- ly+ 8=0 (4.111) 의 두 근이 된다. 식 (4.111) 을 다시 변형시키면 났 +x+C=o (4.112) 이 된다. 여기서 x= y/tl이며 C=o/ tl 2 에 따라 식 (4.112) 로 표현된 CF (2m) 상의 2 차방정식의 해를 구할 수가 있으며 근은 아래와 같은 식에 의 해서 구해전다. GF(2m) 의 임의의 원소를 B 라 하면 8 의 Trace 는 다음과 같이 정의된 다. Tr (f]) = m2-!1 /]21 i= O 이때 Tr( /3)의 값은
(m-6)/4 Xi = a1+ ~ (C+C2)22· i=O 여기서 a1 은 따 +a1+1=0 의 해이다. 3. m=O (mod 4) Tr(C) = 1 일 때 X1=K+K2+c2m-•(1+·( m~/4) -i c 2mm,z ) (4.115) i= O 여 기 서 K = (m2/4) -1 (m2/4) -1 C(22,-Em / 2+2ZI-” 이 다. i= I i=j Tr(C) =O 인 경우는 Tr(/3) =1 인 GF(2m) 상의 임의의 원소 /3를 택하 여 C1= /3+/3 2 으로 놓은 후 검 +z+C1+C=o 의 해를 구한다. 죽 식 (4. 115) 에서 C 대신 C1+C 를 대입하여 구한 근이 Z1 일 때 식 (4 . 112) 의 근 은 X1= /3 +Z1 가 된다. 예를 들어, m=4 인 경우는 X1=Cs+c12 이고 m= 8 이면 x, = c33+ c66+ cl29+ c1” 이다. 4-6-2 DBEC-TBEC RS 부호의 복호 단일 바이트 오류가 J~의 위치에서 오류치 e j I 를 가진 경우 식 (4.102) 에서 Si * O, i =- 2 ,-1,0,1,2 (4.116) 이고 뇨S-2= 후S-1= 요So -=_S§1 _=ah (4.117) 이므로 1/ 1= 1/s=7/ 4=0 이다. 죽 단일 바이트 오류가 발생한 경우는 si* O, i= -2, -1, 0, 1, 2 이면서 1/ 1= 1/s=1/ •=O 가 된다. 이때 오류위치와 오류형태 는 각각 다음과 같다. a j l= 요 s 。 e ;i =s 。 (4.118)
2 중 바이트 오류가 발생한 경우는 n2*O, n3*O, n4*O 이 된다. 그러므 로 식 (4.110) 과 같이 두 근 a j'과 E 가 존재하고 이것은 바로 오류위치 률 가리킨다. 오류위치는 GF(2m) 상의 2 차방정식인 식 (4.112) 의 근으로 부터 구해전다. 그리고 오류치는 식 (4.103 c) 와 (4.103 d) 로부터 각각 ejl = saoja l h++asj12 e j톤 So+e;. (4.119) 이다. 적어도 3 중 바이트 오류가 발생한 경우는 1) GF(2 이상에서 식 (4. 112) 의 2 차방정식이 근을 갖지 않으며 2) %, n3, n4 가 모두 〈 O 〉이 아니면서 최소한 하나는 〈 O 〉의 값을 갖는다. 또한 3) 오중의 값은
의 해이다. 그러므로 구해진 X1,X2 와 y =xA 로부터 오류위치는 aj l =a16. a3=a'9, a iz =a9-a3=a'2 로 구해진다. 또 이때의 오류치는 식 (4.119) 로 부터 e j l=a” 와 e;.=a3 으로 구해진다. 그러므로 오류형태는 e (x) = a3x12 + a2•x19 가 되어 복호할 수 있다.
부록 A 유한체 GF(2m) 상에서 F i eldElemen t의 다항 식표현 및 벡터표현 표 1 p( a) =l+a + a 3= 0 인 Galois Fi el d GF( 언) 멱 다항식표현 벡터표현 。 000 1 1 100 a’ a’ 01 0 a’2 a’2 001 a’3 1+a 11 0 a’4 a + 값 0 11 a’5 1 + a +a2 1 11 a’6 1 +같 1 0 1 표 2 p( a) = l +a+a•=o 인 Galois Fi el d GF( 건) 멱 다항식표현 벡터표현 갑 1 1000 a’I a’ 0100 a’2 a’2 0010 ()(3 a3 0001 a4 1+a 11 0 0 a’5 a+ 갑 0110 갑 값 +a3 0011 a’7 1+a +갑 11 0 1
a8 1 +a2 1 0 1 0 a’9 a’ +a3 0 1 0 1 a’10 1 + a +a2 1 1 1 0 a’JI a+ 갑+값 0 1 1 1 a12 1 + a +a2+a3 1 1 1 1 a13 1 +같+갑 1 0 1 1 a’14 1 +값 1 0 0 1 a’15 1 1 0 0 0
표 3 p (a)=1+a2+a5=O 인 Galois Fi el d GF(2s) 멱 다항식표현 벡터표현 。 00000 1 10000 al 01000 a’2 001 0 0 a’3 00010 a4 00001 a5 l +a2 1 0 10 0 a6 a’ + a3 01 0 10 a7 a’2 +a• 0 0 1 0 1 a’8 1 +값 + a3 1 0 11 0 a’9 a’ +a3+a• 0 1 0 11 a’10 1 +a' 1 o·o o 1 aII l + a +a2 1 1 1 0 0 ((12 a +a2+a3 0 1 11 0 a’1 3 a2+a3+a• 0 0 11 1 a’1 4 1 +a2+a3+a• 1 0 111 a15 1 + a +a2+a3+a• 1 11 1 1 ((16 l+a +갑 +a4 1 1 0 1 1 a’17 l+a +a’ 11 0 0 1 a’1 8 l+a 11000 a19 a + 값 01100 a’2 0 갑 +a3 00110 a21 a3+a4 00011 a22 1 +a2 +a' 1 0 1 0 1 a!23 1 + a +a2+a3 1 1 11 0 a2 • a +a2+a3+a' 0 1 111 a2 5 1 +갑 +a4 10011 (}(26 1 + a +a2 +a' 11 1 0 1 a21 1+a +a3 110 10 a(2 8 a+a2 +a• 01101 a’29 1 +as 10010 a’30 a’ +a• 01001
표 4 p( a) =l+a+a6=0 인 Galois Fi el d GF(26) 멱 다항식표현 벡터표현 。 。 000000 1 1 100000 a’ a’ 010000 a’2 a’2 001000 a’3 . a’3 000100 a4 a’4 000010 a’s a’5 000001 a’6 1+a 110000 a’7 a+ 값 011000 a’8 a2+ 갑 001100 a’9 a3+a 000110 a’10 a'+a5 000011 a’1 1 1+a +갑 110001 a’12 1 +a2 101000 a?13 a’ +값 010100 a” a’2 +a' 001010 a’15 a’3 +a5 000101 al6 1+a +a' 110010 a’17 a+a2 +갑 011001 alB 1 + a +a2+a3 111100 al9 a+a2+ 갑 +a4 011110 a20 aa+a3·' + a•+a5 001111 a21 1+a +a3+a•+ 갑 110111 a22 1 +a2 +a'+ 갑 101011 a’2S 1 +a3 +as 100101 a.2 ’ 1 +a• 100010 a,25 . a’ +갑 010001 a26 1 + a +a2 111000 a21 a+ 갑 +a3 011100 a28 · a2+a3+a' 001110
a’30 l+ a + a• +a 5 110011 a’31 +값 + as 101001 a’32 1 +a3 100100 a’3 3 a’ + a• 010010 (}(3 4 a’2 + as 001001 a’35 1 + a + a3 110100 a’36 a + a2 + a• 011010 a3 1 a2+a3 + 갑 001101 a’38 1 + a + a3 +a • 110110 a’39 a + a2 +a•+a5 011011 a’, o l + a +a2+a3+ as 111101 a’41 + a2 +a 3 +a ' 101110 a’4 2 a’ +a3+a'+ 갑 010111 a• 3 1 + a + a2 +a4+a5 111011 a’44 +a2+a3 + as 101101 a’< S 1 +a3+a' 100110 a’4 6 a’ + a• +a 5 010011 a’4 7 1 + a +a2 +as 111001 a48 +갑+갑 101100 a• 9 a’ +a3+ a ' 010110 as o 같 +a'+ a5 001011 a’51 1+a +갑 +as 110101 a’52 1 +a2 +a• 101010 a53 a’ +a3 +as 010101 a’54 1 + a +a2 +a• 111010 a’55 a +a2+a3 +a5 011101 a’5 6 1 + a +a2+a3+a• 111110 a57 a + 갑 +a3+a•+ 갑 011111 a58 1 + a +a2+a3+a•+a5 111111 a59 1 +갑 +a3+a'+a5 101111 a’60 1 +a'+a•+ 값 100111 a’6 1 1 +a4+a5 100011 a’62 1 +a5 100001
표 '.i p (a)=l+a3+a7=0 인 Galois Fi el d GF(27) 멱 다항식표현 백타표현 。 0000000 1 1 1000000 a’ a’ 0100000 a’2 a’2 0010000 a’3 a’3 0001000 a’4 a4 0000100 a’5 0(5 0000010 a6 a’6 0000001 a’7 1 +a3 1001000 a8 a’ +a• 0100100 a’9 a’2 +값 0010010 alO a’3 +갑 0001001 aII 1 +a3+a' 1001100 a’12 a’ +a'+a5 0100110 alS a’2 +as+a6 0010011 ar14 1 +갑 1000001 a’15 1+a +갑 ·1 1 0 1 0 0 0 a16 a+a2 +a• 0110100 a’17 갑 +a3 +as 0011010 a18 a3+a ◄ +갑 0001101 a19 1 +a3+a•+a5 1001110 a2D a’ +a•+a5+a6 0100111 a’21 1 +a2+a3 +갑 +a6 1011011 a22 l+a +a• +a6 1100101 a23 1 + a +a2+a3 +갑 1111010 a2' a +a2+ 갑 +a’ +갑 0111101 a25 1 +a2 +a'+a5 1010110 aa2261 1 “ +a2++ a갑3 +a4 +갑 ++a군6 01100111011011 a28 1+a +a'+a5 1100110
0!29 {)( +{ )(2 +a5+a6 0110011 a’30 +a2 +a6 1010001 Cl/3 1 l+a 1100000 a’32 a +a2 0110000 a’33 값+(X 3 0011000 a’3 ◄ 값 +a4 0001100 a’35 a ◄ + 갑 0000110 a’36 값+(X 6 0000011 a’3 7 1 +값 +갑 1001001 a38 1 + a +a3+a• 1101100 a39 a +a2 +값 +as 0110110 a’4 0 값+갑 +갑+갑 0011011 a
a’63 a’ +값 0101000 a’64 a2 +a• 0010100 a65 (¥3 +갑 0001010 a’66 a4 +a6 0000101 a’67 1 +a3 +as 1001010 a’68 a’ +a' +갑 0100101 a’6 9 l +값 +a3 +갑 l0ll0l0 a10 a’ +갑 +a4 +갑 0101101 a71 1 +값+갑 +a•+ 갑 1011110 a’72 a’ +a3+a•+ 갑 +a6 0101111 a’73 1 +a2+a3+a•+a5+a6 1011111 a’74 l+a +a•+ 갑+갑 1100111 a75 1 + a +a2+a3 +값+갑 1111011 a76 1 + a +a2 +a• +a6 1110101 a’77 1 + a +a2 +갑 1110010 a’78 a+ 값+갑 +값 0111001 a’79 1 +a2 +a• 1010100 a’80 a’ +a3 +갑 0101010 a81 a’2 +a' +값 0010101 a82 1 +갑 1000010 a’83 ()( +값 0100001 a?84 1 +a2+as 1011000 a’85 a’ +값 +a4 0101100 ar86 a2 +a'+ 값 0010110 a87 갑 +갑+값 0001011 a88 1 +a3+a' +a6 1001101 ar89 1+a +값 +a'+ 값 1101110 a’90 a+a2 +a•+ 갑+갑 0110111 a91 1 +a2 +값+갑 1010011 a92 1+a +갑 1100001 a93 1 + a +a2+a3 1111000 a9• a +a2+a3+a' 0111100 a95 값 +a3+a•+ 갑 0011110 a96 갑 +a•+a5+a6 0001111
a’97 + 갑 + a• + 갑 + 값 10 0 1111 a’98 l+ a + a 3 +a• + a5+ 갑 1101111 a’9 9 1 + a +a2+ a3 +a•+ a 5+a 6 1111111 a’1 0 0 1 + a +a2 +a•+ a 5+ 갑 111 0 111 a’101 1 + a +a2 +갑+값 1110011 a’1 0 2 1 + a + a2 + a6 1110001 a’103 1 + a + a2 111000 0 (X l04 a +값 + a 3 01 110 00 a’1 0 5 값 + a 3 + a 4 00 11100 a’1 0 6 a3+a•+ a5 00 01110 a’107 a4+ 갑 + a 6 000 0111 a’1 08 + a3 +갑+갑 1001 0 1 1 a’109 l+ a + a3+a• +값 110 1 101 a’110 1 + a + 값 +a 3+ a • +a5 1111110 a’I ll a + 값+갑 +a 4 + 갑+갑 O li l lll a’1 12 1 +값 +a•+ 갑 + a 6 101 0111 a’113 1+a +갑+갑 110 001 1 al14 1 + Ct + et2 + et3 +값 1111001 0(1 15 1 + a +a2 +값 1110100 a’116 a +a2+a 3 +갑 01 110 1 0 a111 값 + a 3+a• + 갑 001 110 1 a’118 l +a'+ a 5 1000110 a’119 a’ + as+a6 01 00011 al20 1 +« 맛 + a 3 +a6 10 1 1001 a(1 21 1+a +a• 11 0 01 0 0 a’1 2 2 a +a2 +갑 01 10 01 0 a’123 값+갑 + 갑 00 11001 a!1 24 1 +a‘ 10 0 0 1 00 (Xl 25 a’ +갑 01 0 001 0 a’1 2 6 a2 +갑 001 0 001
표 6 p (a)=l+a2+a3+a 나값 =0 인 Galois Fi el d GF( 간) 멱 다항식표현 백터표현 。 。 00000000 1 10000000 a’ a’ 01000000 a’2 a’2 00100000 a’3 a’3 00010000 a4 a’4 00001000 a’s a’s 00000100 a’6 ()(6 00000010 a’7 a’7 00000001 a’8 1 +a2+a3+a' 10111000 a’9 a’ +갑 +a•+ 갑 01011100 alO a2 +a•+ 값 +a6 00101110 ar11 ()(3 +갑+g +a7 00010111 al2 1 +갑 +a3 +갑 +a7 10110011 a13 1 + a +a2 +a7 11100001 &” l+a +a' 11001000 a’15 a+a2 +as 01100100 a16 값 +a3 +갑 00110010 a’17 a3+a• +a7 00011001 al8 1 +a2+a3 +갑 10110100 al9 a +a3+a4 +a6 01011010 a20 a’2 +a•+ 값 +a7 00101101 a21 1 +값 +a'+ 갑 +a6 10101110 a22 a’ +a3 +갑 +a6+a1 01010111 a23 1 +as +a&+a1 10010011 a” 1 + a +a2+a3 +a7 11110001 a’25 1+a 11000000 a26 a+a2 01100000 a21 갑 +a3 00110000 az• a3+a4 00011000
a’29 a•+a5 00001100 a30 갑+갑 00000110 a’31 a5 +a1 00000011 cr32 1 +a2+a3+a• +a1 10111001 a33 1 + a +a2 +as 11100100 d a +값 +a3 +as 01110010 a’35 값 +a 3+ a • +a7 00111001 a36 1 +a2 +as 10100100 a(3 7 a’ +a3 +a6 01010010 a’38 a’2 +a' +a7 00101001 a’39 +a2 +a•+a5 10101100 a’40 a’ +a3 +값+값 01010110 a’4 1 a’2 + a• +a6+a7 00101011 a•2 1 +a2 +a'+a5 +a1 10101101 a4 3 1 + a +a2 +a•+a5+a6 11101110 a” a +a2+a3 +as+a6+a1 01110111 a45 1 +갑 +a1 10000011 a ◄ 6 1 + a +a2+a3+a ◄ +a1 11111001 a’4 7 1+a +갑 11000100 a4 8 a+a2 +갑 01100010 a' 9 a2+ 값 +a1 00110001 a50 1 +a2 10100000 a?51 a’ +a3 01010000 as2 a’2 +a• 00101000 a53 a’3 +값 00010100 a(54 a' +갑 00001010 a’55 a’5 +a1 00000101 a?56 1 +a2+ 갑 +a4 +a6 10111010 as1 a’ +갑 +a•+ 갑 +a1 01011101 ()(58 1 +갑 +g+ a6 10010110 as9 a’ +a• +a6+a7 01001011 a?60 1 +갑 +a'+a5 +a1 10011101 a61 1 + a +a2+a3 +갑+군 11110110 a’62 a +a2+a'+a• +a'+a7 01111011
a’6 3 1 +as +a7 10000101 d 1 + a +a2+a3+a' +a6 11111010 a6s a +a2+a3+a•+a5 +a1 01111101 a’66 1 +0(5 + 0(6 10000110 a67 1 +갑 +a1 01000011 a?68 1 +갑 +a4 +a1 10011001 a69 I +a +같 +a3 +a5 11110100 a!70 a +값 +a3+a• +a6 01111010 a71 a2+a3+a'+a5 +a1 00111101 a?72 1 +값 +{)(s+{)(6 10100110 a?7 3 a’ +a3 +a6+a7 01010011 a’74 1 +a3 +a7 10010001 a’75 1 + a +a2+a3 11110000 a16 a +a2+a3+a• 01111000 a’77 a2+ 갑 +a•+a5 00111100 a78 갑 +a•+ 값 +a6 00011110 a?79 a•+a5+a6+a1 00001111 a80 1 +a2+ a3+ a' + 갑 + a6+ a1 10111111 aBI 1 + a +a2 . +as+a&+a1 11100111 a’82 1+a +a• +a6+a1 11001011 C 1+a +a3+a•+ 갑 +(l(7 11011101 a’8‘ 1+a +a3 +a5+a6 11010110 a?85 a+ 값 +a• +as+a1 01101011 a86 1 +a'+ 갑 +a1 10001101 a87 1 + a +az+a3+a'+a5+a6 11111110 a88 a +a2+a3+a•+ 갑+갑 +a1 0 1 1 1 1 1 1 1 a’89 1 +갑+갑 +a7 10000111 a90 1 + a +값 +a3+a• +갑 +a1 11111011 a91 1 +()( +갑 +a1 11000101 a92 1+a +a3+a• +a6 11011010 a93 a+a2 +a4+as +a7 01101101 a 1 +a’+ 갑 +a6 10001110 a95 a’ +갑+갑 +a1 01000111 a” 1 +a3+a' +as+a1 10011011
a’9 7 1 + er + cr2 + cr3 + as + a1 11110 1 0 1 a’98 1 + a + 갑 110 0001 0 a9 9 a + a2 + a1 01 10 0001 a’1 0 0 +a• 10001000 a!1 0 1 a’ + a5 01000100 a’10 2 a’2 + 갑 001 0 0010 a’10 3 a’3 +a1 00010001 al 04 +값 + a 3 10110000 a’1 05 a’ + a3 +a • 01 0 1 1 000 a1 06 a!2 + a •+ 갑 00101 10 0 a’1 0 7 a’3 + 값 + 값 0001 0 1 1 0 a’1 0 8 a’4 +값 + a 1 00001011 a’1 09 +갑 + a 3+ a •+ 갑 + a7 10 11 1 1 0 1 al lO 1 + cr+ cr2 + 갑 + 갑 1110 01 10 a’l 11 a + 값 + a 3 + 갑 + a 1 01 11 0011 al l2 + a7 10 000001 a’1 1 3 1 + a + a2 +a 3 +a • 111110 00 al l4 a + a 2+ 값 + a 4+ 갑 01 1 11100 a’1 1 5 값 +a 3+ a • + 갑 +갑 001 1111 0 a’1 1 6 a3 +a ' +a 5 + a1 00011 11 1 a’1 1 7 1 + 값 + 값 + a5 +a 6+ a1 10 1 10 1 11 al 18 1 + a + a2 + 값 + a 1 11 1 0 001 1 a’1 1 9 1+ a + a• + a1 110 01 0 01 (¥ 120 1+a + a 3 +a •+ 갑 110 1 1 1 0 0 a’1 21 a + a2 + a • + 갑+갑 01 10 11 1 0 a1 22 a2 +a 3 + 값 + a6+a 7 001 10 1 11 a1 23 1 + a2 + 갑 + a 1 101 0 001 1 a’12 4 1 + a + a2 +a• +a1 1110 1001 a1 2s 1+a +a•+ a5 11 0 01100 (11 26 a + a2 + a5+ a6 01100110 a?1 27 a2 +a 3 + as +a 1 0011 0 011 a?1 28 1 + 값 + a7 101 0 0001 a’1 29 1 + a +a2 +a' 11101000 a’13 0 a +a2+ a3 +0(5 011 10 1 0 0
a’131 a2+a3 +a ' +a6 00111010 a132 a3+a•+a5 +a1 00011101 (¥133 1 +값 +a3 +as+a6 10110110 a’134 a’ +cr3+cr• +값 +a 7 01011011 a13S 1 +a3 +as +a1 10010101 a’136 1 + a +a2+a3 +a6 11110010 a’137 a +a2+a3+a• +a1 01111001 (Xl 38 1 +as 10000100 a’139 a’ +값 01000010 a’140 a2 +a7 00100001 a’I'I 1 +a2 +a' 10101000 a’142 a’ +값 +as 01010100 a(143 a2 +a‘ +갑 00101010 a’1 4 4 a!3 +as +a1 00010101 al•S 1 +a2+ 갑 +갑 10110010 al46 a’ +갑 +a4 +a7 01011001 al47 1 +값 +값 10010100 al48 a? +a• +갑 01001010 al49 a’2 . +as +a1 00100101 a150 1 +a2 +a• +갑 10101010 a’1 5 1 a’ +a3 +갑 +a7 01010101 a’152 1 +a3 +갑 10010010 a’153 a’ +a' +a7 01001001 a1s• 1 +a3+a•+ 갑 10011100 a’155 a’ +a•+ 갑+갑 01001110 a’1 5 6 a2 +갑 +a6+a7 00100111 al57 1 +a2 +a' +갑 +a1 10101011 al58 1 + a +a2 +a•+ 갑 +a1 11101101 a159 l+a +a'+ 갑+군 11001110 a’160 a+a2 +갑 +a6+a7 01100111 a’161 1 +a• +군 +a7 10001011 a’162 1 + a +a2+ a3+a•+a5 +a1 11111101 a163 1+a +갑 +a6 11000110 al84 a+a2 +값 +a7 01100011
al65 1 +a• +a1 10001001 a’166 1 + a +c:r2 +a3+a•+a5 11111100 a’167 a +a2+a3+a•+a5+a6 01111110 al68 값 +a3+a•+a5+a6+a1 00111111 a’169 1 +같 +갑 +a6+a1 10100111 a’170 1 + a +a2 +a' +갑 +a1 11101011 a’171 1+a +a'+ 갑 +a1 11001101 a’172 l+a +값 +a•+ 값+값 11011110 a173 a +a2 +a•+ 갑 +a6+a1 01101111 a’1 7 4 +a•+a5+ 값 +a1 10001111 a’175 1 + a +a2+a3+a•+a5+ 갑 +a1 11111111 a’176 l + a +값+갑 +a7 11000111 a(177 l+a +a3+a• +a6+a7 11011011 (X l78 1+a +a3 +a5 +a1 11010101 a’179 l+a +a3 +cr6 11010010 a’180 a +a2 +갑 +a7 01101001 a181 1 +a•+a5 10001100 a’182 a’ +값 +a6 01000110 al83 a2 +a6+a1 00100011 al84 1 +값 +a• +a1 10101001 a’185 1 + a +a2 +a4+a5 11101100 (Xl 86 a +a2+a3 +갑+갑 01110110 a’187 값+갑 +c• +a6+a7 00111011 (Xl 88 1 +a2 +a5 +a1 10100101 al89 1 + a +a2 +a' +a6 11101010 a190 a +a2+a3 +갑 +a1 0111010·1 (Xl 91 1 +갑 10000010 a’192 a’ +a7 01000001 (Xl 93 1 +a3+a' 10011000 a!194 a’ +a•+ 갑 01001100 a(195 a2 +a5+as 00100110 a?196 a’s +군 +a1 00010011 a191 1 +a2+as +a7 10110001 a’198 1 + a +a2 11100000
a199 Cl+ 값+값 01110000 a?2 00 값 +a3+a• 00111000 a’2 01 a3+a•+a5 00011100 a’2 02 a•+a5+a6 00001110 a’203 갑+갑 +a7 00000111 a204 1 +a2+a3+a• +갑 +a7 10111011 a’205 1 + a +a2 +as +a7 11100101 a’206 1+a +a• +값 11001010 a’2 0 7 a+a2 + 값 +a1 01100101 a’208 1 +a•+a5 10001010 a’209 a’ +as +a1 01000101 a’210 1 +갑 +a4 +갑 10011010 a’211 a’ +a•+a5 +a1 01001101 a212 1 +a3+a•+a5+a6 10011110 a’213 a’ +a4+ 값 +a6+a1 01001111 a’21• 1 + a3+ a• +a5+ 갑+ (J/1 100111 11 a’215 l +a +같 +a3 +갑 +a6+a7 11110111 a’216 1+a +값+(X 1 11000011 a’217 1+a +a3+a• +a7 11011001 a21s l+a +a3 +a5 11010100 a’219 a+a2 +a• +a6 01101010 a'22 0. g+ a3 +as +a7 00110101 a221 1 +값 +값 10100010 ar222 a’ +a3 +a7 01010001 a’223 1 +a3 10010000 a22• a’ +a• 01001000 (¥225 a’2 +갑 00010100 a(226 a’3 +a6 00010010 a221 a’4 +a7 00001001 a228 1 +값 +a3+a•+a5 10111100 a229 a’ +a3+a'+ 갑+값 01011110 a’230 .a2 +a'+ 갑 +a6+a7 00101111 a?231 1 +값 +a•+ 갑+값 +a1 10101111 a232 1 + a +a2 +a'+a5+a6+a1 11101111
a2 JJ 1 + 0( + a• +a 5 + a6+ a 1 11001111 a’2 34 1 + a + a3 +a • +a 5+a6+ a1 1101111 1 a’2 3 5 1 + a + a3 + 갑+값 +a1 110101 1 1 a2 36 1 + a + a3 +갑 +a1 11010011 a’2 37 1+a + a3 +a1 11010001 a’2 38 1 + a + 갑 11010000 a’2 39 a + a2 + a' 01101000 a’24 0 a2+ a3 +as 00110100 a’2 41 a3 + a' +갑 00011010 a’2 42 a• +a 5 + a1 00001101 a’2 43 + 값 + a 3+ a •+ 갑+값 10111110 a’2 44 a + a 3+ a •+ a 5 + 값 +a 1 01011111 a2 45 +a3 +갑+갑 + a 1 10010111 a’24 6 1 + a + a2 +a 3 +갑 +a 1 11110011 a’2 4 7 l+a + a1 11000001 a2 48 1 + a + a3+ a• 11011000 a’2 49 a +a2 +a•+ a5 01101100 a?2 50 같 +a 3 + 값 +a6 00110110 a2 51 a3+a• +a6+ a7 00011011 a?2 5 2 1 +갑 + a 3 +as +a7 10110101 a’2 53 1 + a +a2 + ()(6 11100010 a’25 4 a +값 +a3 +a1 01 1 10001
부록 B BCH 부호의 생성다항식 부호장이 29-1 까지인 BCH 부호의 생성다항식 1l k 생성다항식 (8 진) 7 4 13 15 11 1 23 15 7 2 721 3”1 265 3 4254 67 31 21 2 3551 31 16 3 107657 31 11 5 5423325 31 6 7 313365047 63 57 1 103 63 ~l 2 12471 63 45 3 1701317 63 39 4 166623567 63 36 5 1033500423 63 30 6 157464165547 63 24 7 17323260404441 63 18 10 1363026512351725 63 16 11 6331141367235453 63 10 13 472622305527250155 63 7 15 5231045543503271737 127 120 1 211 127 113 2 4D67
127 106 3 11554743 127 99 4 3447023271 112277 9825 6’ 612304770304042726332272 273 127 78 7 26230002166130115 127 71 9 6255010713253127753 127 64 10 1206534025570773100045 127 57 11 335265252505705053517721 127 50 13 54446512523314012421501421 127 43 14 l7721772213651227521220574343 127 36 15 314607466652207504476457472l735 127 29 21 403114461367670603667530141176155 127 22 23 123376070404722522435445626637647043 127 15 27 22057042445604554770523013762217604353 127 8 31 70472640527510306514762242715677331302l7 255 247 1 435 255 239 2 267543 255 231 3 156720665 255 223 4 75626641375 255 215 5 23157564726421 255 207 6 16176560567636227 255 199 7 7633031270420722341 255 191 8 2663470176115333714567 255 187 9 527553I1 3540001322236351 255 179 10· 226247107173404324163004'.i '.i 255 171 11 15416214212342356077061630637 255 163 12 7500415510075602551574724514601 255 155 13 3757513005407665015722506464677633 255 147 14 164213017353716552530416530544101l711 255 139 15 461401732060175561570722730247453567445 255 131 18 215713331471510151261250277442142024165471 255 123 19 120614052242066003717210326516141226272506267 255 115 21 60526665572100247263636404600276352556313472737 255 107 22 22205772322066256312417300235347420176574750154441
255 99 23 10656667253473174222741416201574332252411076432303 431 255 91 25 6750265030327444172723631724732'.i l 107'.i '.i5 07627207243 44561 255 87 26 l10136763414743236435231634307l.72 0462067225452733l 1721317 255 79 27 66700035637657500020270344207366174621015326711766 541342355 255 71 29 24024710520644321515554172112331163205444250362557 643221706035 255 63 30 107544750551635443253152173577076036661ll726455267 613656702543301 255 55 31 73154252035011001330152753060320543254143267550105 57044426035473617 255 47 42 25335420170626465630330413774062331751233341454460 45005066024552543173 255 45 43 l'.>2020'.> 60 '.i '. >234161131101346376423701'.> 63 670024470762 3730332021570250'.5 1541 255 37 45 51363302550670074141774472454375304207357061743234 32347644354737403044003 255 29 47 30257155366730714655270640123613771153422423242011 7411406254657410403565037 255 21 55 1256215257060332656001773153607612103227341405653 07454252l153121614466513473725 255 13 59 46417320050525645444265737142500660043306774454765 6140317467721457026134460500547 255 9 63 15726025217472463201031043255355134614162367212044 074545112766115547705561677516057 511 502 1 1021 511 493 2 1112711 511 484 3 1530225571 511 475 4 1630256304641 511 466 5 1112724662161763 511 457 6 1142677410335765707
511 448 7 1034122337164372224005 511 439 8 1561350064670543777423345 511 430 9 1727400306127620173461431627 511 421 10 1317711625267264610360644707513 511 412 11 1337530164410305712316173767147101 511 403 12 1573436303657311762726657724651203651 511 394 13 1102510344130333354270407474305341234033 511 • 385 14 177554602577771237245545210730053033144403l 511 376 15 1116744706521725532227162607146216210106733203 511 367 17 1126657202505666323017001652245562614435511600655 511 358 18 15744561545454504147334161765351560700377604113732 55 511 349 19 14550122346757532420745015556573770061655215573760 50313 511 340 20 10360754270624746232206620471226116773635113641101 0'.5 '.51 7777 511 331 21 15406447211060505703427724051171774532151366636774 61641457321 511 322 22 11536146755061112113743666756246707552365236450626 77061770735073 511 313 23 10370430053464111027745164470470707356023272246374 21536736251517437 511 304 25 15107362122721333535023525363207034101472252730643 37077160035254047351 511 29:5 26 11126304775300331700445247477277675327520466126030 77472052247671744467035 511 286 27 131746340326'.5 64 '.5 0 4206477'.5 3260447757374167140717560 16714523650022734505401471 511 277 28 l111l707521225471003414227736603022562303177512454 1~717303607737426401526326045 511 268 29 12411602471513671656153720231702212644272264376531 63043503436310631425301735205601 511 259 30 11213141111621015323707222437110144633334772'.5 60 250 51656614354713760662350433214646117
511 250 31 10072766074314443426245132775727522374652773105153 76325757760735235335336157163637347245 511 241 36 11426306526224153050264605454432304067012432776321 666056566417103l7303600602611251467341721 511 238 37 126611576510435745472173242021775554741l1377076177 455240605755033452532207221321266342055373 511 229 38 14414741253776307234665440741043635272625l10602507 742556745735375653737245201524721767740003105 511 220 39 13303506500412461374043715412637635707201431575333 227603262602752030077406436030760454644342665055 511 211 41 153726267l145756636471271211466023057434566447705l 253665031617124007140032144713400007755712030376003 511 202 42 13550740616316647506506540052332241263735501617417 74732644465207710047076760722733540417425312657734 4477 511 193 43 1l515023133174621157170124003320541507162357615552 06011476735120457325726004547342567567367350507547 0425055 511 184 45 13205517767663743407722334607407275505522041306675 27525355262710144437034513676516425364417226510021 6633505671 511 175 46 12022605646743124337437242464123131006733703766567 30772344671461161665006242313721420076227057757613 5715734456503 511 166 47 11057644567407646317421444423037231346624415551173 77064601764504457767052205273610702244701735670015 1227221443336113 511 157 51 l7101711714006042644347311407115213707536440012114 23666547535070110241551562431017416140000451737360 3747715514145565503 511 148 53 14141315461203712555416030306026011246427727350174 26705534564556067070754710707053557745040566207504 636411244657?412302461 511 139 ,4 17753361430530700477713715723230761476550747705134
62523560533076513414300023363412676122045535364751 2554700742634270640551763 51l 130 55 11262104206316707332625074455770252664000744725674 5104751542455546541566413135714050203537624 2 321230 305205317345661247721320632l 511 121 58 15412713576557725256041060441165521701354434750270 76462532312532432767774232512127717355357037343174 0537431l75676435750174233577257 511 112 59 12642364401771265454617201202757566143212522620050 73'.5 0 0'.5 24142'.5 7 4'.5 4'.5 04160'.5 7 23126121311521454 4 46351075 6575424212611775337224522460653365 511 103 61 12675022034373276362372020401150506771057315147230 64414225636733340616747535043253072013336123603406 7'.i1 6222666026'.i 4 733076'.i 3 '.i 7 307372010437 511 94 62 10346245545220761365433762462765014127513662235012 00700625220165130517066474070751345657531535730115 6033535447421137532602636772420754543335 511 85 63 13114233056127054360423124003053553606135536677204 45406016647765242347703213714031576211061442326015 2020700016150200302244744512244665460344315 511 76 85 12663057712507744456124561567227606073244460173371 07337171661154403604437753235467362134625311060452 0351563717134262125252705066142632374105237105 511 67 87 15721237117653466537732517612516350024126410254565 00706554675601504357230205757340105470100445773034 5677365045401644167652645603000655246474332003041 511 58 91 10575217600041670504543065432144446762371110323251 12010621773244602551564566330051222234114654542017 03211427513246445624303566775434125332300602303306 01 511 49 93 14003731252262456164347700214514347747150430652515 17542223433376534462625051466426527233551236436336 15716343345655723373567730237421775030767020135241 72673
511 40 95 10656432606014130141441616476263131666646125563104 54456470204226757260400236772220712472027622367026 40237554475163650230542617172444002424037141774557 40276623 511 31 109 1004032013~0464130146~0310227737333772312030141207 5640056150072774'.5 6377116231511635512376700'.5 7451236 20162301722500173755126134777520656552342125576467 67220145745 511 28 111 15064242170161057713111265316713155370066227135624 44040747210406753443724050620404060603623075530602 52105071101510111346067771077422514162017365656012 620121335531 511 19 119 13232045745706611642124037332641140234046117057401 63736553415414313774447302070447647413247765407662 45335511016032261140705242010452211030336161735475 036314555046713 511 10 127 17021723110274317335212066430770426053277252024574 42224764203414545071350026472634774632466011333100 64536566115023625306747367767346705223435527114060 722153373142701037
참고문헌 1 Abramson, N.M., Error-Correcti ng Codes from Lin e ar Seq ue nti al Netw orks, Presente d at the Fourt h London Sy m p o siu m on Info rm a- tion Theory ( 1960) . 2 Berlekamp , E.R., Alge b raic Codin g Theory , McGraw-Hi ll, New York, 1968. 3 Berlekamp , E.R., On Decodin g Bi n ary Bose-Chaudhuri- Hocq u eng h em Codes, IEEE Trans. on Info r mati on Theory , IT-11, pp.5 80-585 (1965) 4 Berlekamp , E.R., The Enumerati on of Info r mati on Sy mb ols in BCH Codes, Bell Sys t e m Tech. J., 46, pp.1 861-1880 (1967) . 5 Berekamp , E.R., The Technolog y of Error-Correcti ng Codes, Proc. IEEE, Vol. 68, pp.5 64-593 (1980) . 6 Berlekamp , E.R., Bi t-S eri al Reed-Solomon Encoders, IEEE Trans. Inf. Theory , Vol. IT-2 8 , No.6, pp.8 69-874 (1882) . 7 Bharga v a, V.K. , Forward error correcti on schemes for dig ital com-munic a ti on , IEEE Comn. Ma g., pp.1 1-19, Jan . ( 1983) . 8 Blahut, R.E ., Theory and pr acti ce of Error Contr o l Codes, Addis o n-Wesley, Readin g , Mass., (1 983) . 9 Blahut, R.E. , Transfo r m Techniq u es for Error-Contr o l Codes, IBM ]. Res. Dev., 23 , pp.2 99-31 :5 ( 1970) . 10 Bose, R.C . and D.K . Ray -C haudhuri, On a Class of Error-Correcti ng
Bin a ry Group Codes, Info r mati on and Contr o l, 3, pp.6 8-79 ( 1960) . 11 Bose, R.C . and D.K . Ray -c haudhuri, Furth e r Results on Error Correcti ng Bin a ry Group Codes, Info r matio n and Contr o l, 3, pp. 279-290 ( 1960) . 12 Chen, C.L., Hi gh -Sp e ed Decodin g of BCH Codes, IEEE Trans. on Info r mati on Theory , IT-27(27), pp.2 5 4-256(1981). 13 Chie n , R.T ., Cy cl ic Decodin g Procedure for the BCH Cords, IEEE Tra1zs. on Info r matio n Theory , IT-10, pp.3 5 7-363 (1964) . 14 Clark, C.C. and J. Bib b Cain , Error-Correctin g Codin g for Digital Communic a ti on s, Plenum Press, New York,(1981). 15 Deng, R.H ., D.].Coste l lo, Decodin g of DBEC-TBED Reed-S o lomon codes. IEEE Trans. Comp ut ., pp.1 359-1363 (1987) . 16 Delsarte , P., On. subfi el d subcodes of modif ied Reed-Solomon codes, IEEE Trans. Inf Theory , Vp l.lT- 21, pp.57 5-576, Sep tem ber (1975). 17 Eli as , P., Codin g for Nois e Channels, IRE Conv. Rec., pa rt 4, pp. 37-4 7 (1955) . 18 Fir e , P., A Class of Multip le -Error-Correcti ng Bin a ry Codes for Non-in d ep e ndent Errors, Syl v ania Repo r t No. RSL-E-2, Sy lv ania Electr on ic Defe n se Laborato r y , Reconnais sa nce Sys t e m s Divis ion , Mounta in Vie w , Ca!f. , (1959) . 19 Forney, G.D., On Decodin g BCH Codes, IEEE Trans. on Info n na- tion Theory , IT-11, pp.5 77-580 (1965) . 20 Forney, G.D., Revie w of Random Tree Codes, Ap pen dix A: Stu d y of Codin g Sy st e m s Desig n for Advanced Solar Mi ss io n s, NASA Con- tra ct NAS2-3637 Codex Cop e ruti on (I976) . 21 Fraleig h, J.B., A Fir s t Course in Abstr a ct Al geb ra, 2nd ed., Addis o n-Wesley, Read ing , Mass., (1976) . 22 Gallage r, R.G ., Info r mati on Theory and Relia b le Communic a ti on , WI iey , New York (196B) . 23 Gallage r, R.G ., Tree Encodin g for Sy mme tr ic Sources wi th a
Dis t o r sio n Measure, IEEE Trans. Inf Theory , IT-20, pp.6 5 -76(1974). 24 Golay, M.J. E . , Note s on Dig ital Codin g , Proc. IRE, 37, p.6 57(1949). 25 Gore, W. C. , Generaliz e d thr eshold Decodin g and the Reed-Solomon Codes, IEEE Trans. on Info r matio n Theory , IT-15, pp.7 8-8 1 (1969). 26 Gorog , E., Some New Classes of Cy cl ic Codes Used for Burst Error Correcti on , IBM ]. Res. Dev., 7, pp.1 02-111 ( 1963) . 27 Gorenste i n , D.C., W .W. Pit er son, Polyn omi al Codes over Cert ai n Fin i t e Fie l d, ]. Soc, Ind. Ap pl. Math ., 8, pp.3 00-304(1960). 28 Gorenste i n , D.C., N. Zi e r ler, A class of Error-correct ing codes in pm sym b ols ].Soc.I nd. Ap pl. Math . 9, pp.2 01-214(1961). 29 Green, J.H . Jr. and R.L. San Souci e, An Error-Correcti ng Encoder and Decoder of Hi gh Ef ficien cy , Proc. IRE, 46, pp.1 741-1744 (1958). 30 Gross, A .J., Aug me nte d BCH Codes Whic h Correct Sin g le Brusts of Errors, IEEE Tran. on Info r mati on Theory , IT-19, p.1 21(1963). 31 Hage lbarge r, D.W., Recurrent Codes: Easily Mechaniz e d, Burst- Correcti ng , Bin a ry Codes, B.S. T ., ]., 38, pp.9 69-984 (1959) . 32 Hammi ng , R.W ., Error Dete c ti ng and Error Correcti ng Codes, BELL Sys t . Tech. ]., 29, .pp .1 47-160(1950). 33 Heller,J .A . and I.M . Jac obs, Vi ter bi Decodin g for Sate l l ite and Sp a ce Communic a ti on s, IEEE Trans. Commun. Technol., COM-19, pp.8 35-848 (1971) . 34 Hemmati , f. and D~J . Coste l lo, Jr., Truncati on Error Probabil ity in Vi ter bi Decodin g , IEEE Trans. Comm., COM.-25, pp.5 30-532 (1977) . 35 Hsia o , M.Y., A Class of Op tima l Mi nimw n Odd-w igh t- c olumn SEC-DEC Codes, IBM ]. Res. Develop ., Jul y( 1 910) . 36 Hsu, I.K., I.S. Reed, T.K. Truong, K.W ang, C.S. Yeh, and L.J. Deutc h , The VLSI Imp le menta t i on of a Reed-Solomon Encoder Usin g Berlekamp 's Bit -S eria l Multip lier Algo rit hm ; IEEE Trans. on Comp ut e r, Vol. C-33, No.lo, pp. 906-911 (1984) .
37 Jus te s en, J., A class of constr u cti ve asym t ot i ca lly go od alge braic codes, IEEE Trans. Inf Theory , Vol. IT -ls, pp.6 52-656, Sep tem ber (1972). 38 Jus ts e n, J., On comp le xit y of decodin g Reed-Solomon codes, IEEE Trans. Inf Theory , Vol. It-2 2, pp.2 37-241, March(l976). 39 Kasami ,T ., S.Li n and W.W. Pete r son, Some Results on Weig h t Dist r i b u ti on s of BCH Codes, IEEE Trans. on lnfo m 1ati on Theo r y , IT-12(2), p;2 1 4(1966). 40 Kog a , K., A New Decodin g Meth o d of Bin a ry BCH Code, ]. Ins. Elec. Com. (Ja pa n), vol ]66-A N0.10, pp.9 25-932 tt9B 3). 41 Kohlenburg, A., Random and Burst- E rror-Correcti on ., 1st IEEE Annual Communic a ti on s Conventi on , Bouldeer, Colo, pp.7 -9 ( 1965) . 42 Kung , H.T., Why Sy s to l i c Archit ec tu r e?, IEEE Comp ut ., Vol. 15, pp.3 7-4 6 ( 1982) . 43 Laws, B.A. and C.K . Rushfo r th , A Celluar-Array Multip lier for Fin i t eF ie l ds GF(2두 } , IEEE Trans. Comp ut ., Vol. C-20, pp.1 573- 1578, Dec. (1971) . 44 Lin , S. and D.J . Coste l lo, Jr., Error Contr o l Codin g , Prenti ce -Hall, Eng le wood Cliffs , N.J., (1983) . 45 Ly o n, R.F ., Two's Comp le ment Pip e li ne Multip lier s, IEEE Trans. Commun., Vol. COM-24, pp.4 18-4 2 5, Ap r. (1976) . 46 McWi lliam s, F.J . and J.J. Sloan, The Theory of Error-Correcti ng Codes, Nort hH olland, Amste r dam,(1977). 47 Mandelbaum, D.M., Decodin g Bey o nd the Desig ne d Dis t a n ce for Cert ain Alge braic Codes, Inf and contr . , pp.2 09-228 (1977) . 48 Massey, J.L ., Ste p - b y -S t ep Decod ing of the Bose-Chaudhuri- • Hocq u eng h em Codes, IEEE Trans. on Info r m a,tion Theory , IT-11, pp.5 80-585 (1965) . 49 Massey, J.L ., Sh ift-R eg ist e r Sy n th e sis and BCH Decodin g , IEEE Trans. on Info r m a,tion Theory , IT-15, pp.1 22-121 (1969) . 50 Massey, J.L . and J.K. Omura, Comp u ta t i on al Meth o d and Ap pa ra-
tus for Fin i t e Fie l d Arit hm ati c , U.S. Pate n t app li ca ti on , submi tted (1981). 51 Matt so n, H.F. and G. Solomon, A New Treatm ent of Bose- Chaudhuri C odes, ]. Soc. Indust. app l. Math . , 9, pp.6 54-669(1961). 52 McEli ec e, R.J., The Theory of Info r mati on and Codin g , Addis o n-Wesley, Readin g . Mass., ( 1977) . 53 Melas, C.M ., A Cy c lic Code for Double Error Correcti on , IBM ]. Re s. dev., 4, pp.3 64-369(1960). 54 Meg gitt, J.E ., Error Correcti ng Codes and Their lmp le menti on , IRE Trans. Inf. Theory , IT-7, pp.2 30-244(1961). 55 Meg gitt, J.E ., Error Correcti ng Codes for Correci ng Bursts of Errors, IBM ]. Res. Dev., 4, pp.3 29-334(1960) , 56 Mi ller , R.L ., T.K . Truong , and I.S. Reed, Eff icien t Prog ram for Decodin g the (255, 223) Reed-Solomon Code over GF( 안) wit h both Errors and Erasures, usin g Transfo r m Decodin g , IEEE Proc., Vol. 121, No.4 , Jul y. , (19so). 57 Muller, D.E. , Ap ple cati on s of Boolean Alge bra to Swi tch in g Cir c uit Desig n and To Error Dete c ti on , IRE Trans., EC-3, pp.6 -12 (1954}. 58 Murakami . H, I.S. Reed and Welch. L.R., A Transfo r m Decoder for Reed Solomn Codes for Mult iple -User Communic a ti on Sy st e m s, IEEE Trans. Inf. Theory . Vol. IT-23, pp.6 n-6s3, Nov. (1977) . 59 Odenwalder, J.0 . and A.J. Vi ter bi, Overvie w of Exis t i ng and Proje c te d Uses of Codin g in Mi litat y Sate l l ite Communic a ti on s, Proc. Natl . Telecommum. Con/., 36(1977). 60 Okano, H. and H. lm ai, A Constr u cti on Meth o d of High -Sp ee d Decoders usin g ROM's for Bose-Chaudhuri-H ocq u eng h em and Reed-Solomon Codes, IEEE Trans. Comp ut, C-36 pp.1 165-1171 (1987) . 61 Omura, J.K., On The Vi ter bi Decodin g Algo ri thm, IEEE Trans. Inf. Theory , IT-15, pp.1 77-179(1969}. 62 Pete r son, W.W., Encodin g and Error-Correcti on Procedures for the Bose-Chaudhui Codes, IRE Trans, on Info r mati on Theory , IT-6, pp.
459-470 (1960) . 63 Pete r son, W.W., On the Weig h t Str u ctu r e and Sy mm etr y of BCH Codes, J Inst. Elect. Commun. Eng. Jap a n , 50, pp.1 1 83-1190(1967). 64 Pete r son, W.W., Bi na ry Codin g for Error Contr o l, Proc. Nati on al Electr o nic s Confe r ence, 16, pp.1 5-21 ( 1960) . 65 Pete r son, W .W ., and E.J. Weldon, Jr., Error-Correcfl n g Codes, 2nd ed., The MIT Press, Cambrid g e , Mass., ( 1972 ) . 66 Pete r son, W .W ., and D.T. Brown, Cy cl ic Codes for Error Dete c - tion , Proc. IRE, 49, pp.2 28-235 (1961) . 67 Polkin g h orn, F., Decodin g of Double and Trip le Error Correcti ng Bose-Chaudhuri - Hocq u eng h em Code, IEEE Trans. Info r m. The-ory , Vol. . I T-12, pp.4 80-481 (1966) . 68 Prange , E., The Use of Info r mati on Sets in Decodin g Cy cl ic Codes, IEEE Trans. on lnfo r mafl o n Theory , IT-8, pp.8 5-89(1962). 69 Reed, I.S. and G. Solomon, Polyn omi al Codes over Certa i n Fin i t e Fie l d, J. Soc, Ind. Ap pl. Math . , B, pp.3 00-304 ( 1960) . 70 Reed, I.S. , T.K . Truong , and L.R. W elch, The Fast Decodin g of Reed-Solomon Codes Usin g Fermat Transfo r m and Conti nu ed Frac- tion s, IEEE Trans. In. /. Theory , Vol. IT-24, pp.4 9 7-4 9 9 ( 1978) . 71 Rhee, M.Y., Codin g Theory , Hee-Ju n g Dang , Seoul, 1984 (in Korean) . 72 Rhee, M.Y., Error co 汀 ec ti n g Codin g Theory , McGraw-Hi ll, New- York (1989) . 73 Shannon, C.E., A Math e mati ca l Theory of Communic a ti on , Bell Sys t . Thch. J, 27, pp.3 79-4 2 3 (Part I) , pp.6 23-656(Pa rt II) (1948) . 74 Sid e lnik o v, V.M., Weig h t Sp e ctr u m of Bina ry Bose-Chaudhuri - Hocq u eng h em Code, Prob!. In. /. Transm., 7(1), pp.1 1-17(1971). 75 Sp e nce, E., A New Class of Hadamard Matr i c es , Glasgo w Jou rnal, 8, pp.5 9-62 (1967) . 76 Ste n bit , J.P. , Table of Generato r s for BCH Codes, IEEE Trans. In/. Theory , IT-10, pp.3 90-391 (1964). 77 Str a ng, G., Li ne ar Al geb ra and its Ap pli ca ti on s, 2nd ed., Academi c
Press, New York (1980) . 78 Vi ter bi, A.J. and J.K. Omura, Pr inc iple s of Digital Communic a ti on and Codin g , McGraw-Hi ll, New York(l981). 79 Vrie s , L.B . and K. Odaka, CIRC-th e error correcti ng code for comp a ct Dis c ., The AES Prem i er confe r ence-The New World of Dig ital Audio , New York, Jun e. pp.3 -6(1982) . 80 Wang , C.C ., T.K . Troung, VLSI Archit ec tu r e for Comp u ti ng Multip lica ti on s and Inverses in GF<2E ) , IEEE Trans. Comp ut . , Vol. C- 34 , pp.7 09-716. Aug . (198:5 ) . 81 Yamag ish , A., and H. Im ami , A Constr u cti on Meth o d for Decoders of BCH Codes usin g ROM , Trans. IEEE Jap a n , Vol. J63 -D, pp. 1034-1041, Dec. (19so) . 82 Yeh, C.S ., I.S . Reed and T.K . Troung , Sy st o l i c M ultip lier s for Fin ite Fie l ds GF(2) , IEEE Trans. Comp ut ., Vol C-33, pp.3 :5 7- 36 0, Ap r . ( 1984) . 83 Zie r ler, N., A Comp le te Theory for Generaliz e d BCH Codes, in I. N. Mann (Ed), in Error Correcti ng Code, Wi ley , New York(l968). 84 Zie r ler, N., A Comp le te Theory for Generali ze d BCH Codes, Proceed i n g s of the 1968 Sym po siu m on Error Correcti ng Cods, edit ed by H.B. Mann, Joh n W iley , New York(1969). 85 이만영, 김창규, 조용석, 신양수, 김상준, 「디지탈 통신 채널에서 발생하는 오류를 정정하기 위한 Reed-Solomon 부호에 관한 연구」, 한양대학교, 최종보고서 한국전자통신연구소 (1987). 86 게이찌로고가, 「 2 원 BCH 부호의 한 복호방식」, (일본 전자통신학회 논문지), J 66-A, pp.9 2: 5. 932(19s3).
_1 Galois 체 I5 검 사주파수 pa rity friqu ency 145 교정 항 correcti on ter m 83 기 억 통신 채 널 memory channel x 3 기지 basis 45, 124 길쌈부호 convoluti on al code x6 L New t on 의 항등식 66-7, 75 드 대 입 법 substi tut i on meth o d 74 궁 대 합 convoluti on 144 DEBC-TBED RS 부호 I65 2 Reed-Solomon(RS) 부호 121 생성다항식 122 □ 멱 po wer 22 멱합대칭함수 64 몫다항식 56 무기 억 통신채 널 memory le ss channel 13 닙 Vandennonde 행 렬식 95 Berlekamp 의 반복 알고리즘 83-91
벡터표현 승산기 꾸 Celluar-Array 29 순차논리회로 26 역원계산기 34 제곱근기 37 제곱기 35 조합논리회로 23 병렬형 승산기 50 복호기 decoder 13 부호어 code word 15 부호기 encoder 13 부호화율 code rate 15 불합도 dis c repa n cy 83 블럭 부호 block code 15 비 2 원 블럭부호 15 BCH 부호 55 생성다항식 57 생 성 행 렬 ge nerato r matr ix 뎃 Vi ter bi 알고리 즘 16 人 산발오류 random error 19 상보기지 comp le menta r y basis 124 쌍대기지 dual basis 124 소스부호기 source encoder 12 수정오중요소 93 순회부호 cyc l ic code 55-7 SCPC 시스템 20 시스토릭 구조 sys t o l i c s tr uc tu re I6o
。 역변환기 I50-2 연집오류 burst error 19 오류 error 13 오류대 칭 행 렬 error sym me tr i c ma- trix 93 오류위 치 다항식 error locati on po ly- nomi al 66 오류위 치 번호 error locati on number 64 오류정 정 부호 error correcti ng code 14 오류추정 다항식 error-evaluato r po lyn o mi al 13 1 오증 syd rome 62 오증요소 syn d rome comp o nent 62 오류치 error value 65 용장 redundancy 15 원시 다항식 pr im i tive po lyn o m ial 꾸 원시 원 pr im itive element 22 Euclid 알고리즘 I,1-9 유한체 finite field 21. 이 산 Fou rier 변환 Disc rete Fourie r Transfo r m (DFT) 141 2 원계열 15 임 계 치 복호법 thres hold decodin g algo r ithm 16
X 정 규기 지 normal basis 45 승산회로 47 역원계산기 52-3 제곱 및 제곱근회로 46-7 정보계열 15 조직형 부호다항식 56, 122 중 weig h t 15 지수표현 exp o nent rep re senta t i on 39 가산회로 43 승산기 40-2 제곱 및 제곱근회로 43 가 제산회로 42 칙 렬 부호기 bit -s eria l encoder 123 직 렬 승산기 bit -s eria l multip li e r 128 칙 렬 승산 알고리 즘 bit -s eria l multip lier algo rith m 123 직 렬 형 승산기 seq u enti al -mult i- plier 50 大 채 널부호기 channel encoder 13 최 소거 리 mi ni m u m dis t a n ce 15 최 우복호법 maxim u m like li ho od decodin g 16 축차복호법 seq u enti al decodin g 16
Ch i en 의 직 접 복호법 75-82 Ch i en 의 담지 회 로 73 E Trace 123-4 고 패 리 티 검 사 비 트 pa rity -c heck bit I5 Pete r son, Gorenste i n , Z i erler 의 직 접복호법 65-74 Polkin g h orn 기 법 I IO-I 표수 characte r is t i c 142 표준기 지 sta n dard basis 45 Fourie r 변환 I4I 굴 Hamm i n g거리 Hammi ng 부호 17, 19 핵 kernel 142 확대 체 exte n ded fiel d 143
.l8 974
李晩榮 서울대학교 工 學士 (B. S. E.E.) 미 국 Colorado 대 학교 工學 碩 士 (M.S.E . E .) 工學t'..t (Ph.D . ) 미 국 Vi rg i ni a 주립 대 학교 공대 교수 미 국 Cali forn ia 工大 J PL 연구원 국방과학연구소 부소장 한국전자통신 사장 삼성반도체통신 사장 한양대학교 부총장 현재 한양대학교 명예교수 저서 Error Correc ti ng Codin g Theory , McGraw-H ill, New York, 1989 BCH 부호와 Reed-Solomon 부호 대우학술총서 • 자연과학 65 찍은날 _1990 년 4 월 2 일 펴낸날_ 1990 년 4 월 I2 일 • 지은이一~李晩榮 펴낸이__朴孟浩 펴낸곳 __ 民昔td: • 출판등록 1966 5.1 9 제 I-142 호 우편번호 010041-31 - 052328 언 은행지로번호 3008873 IIO-IIl 서울 종로구 관철동 44-1 734- 4 234•6110 (편집부) 734-2000•2101, 735-8 다(영업부) 7•3 3-7010 (팩시밀리 ) 값 6,000 원 ©莘璃 1990 Prin t e d in Seoul, Korea 자연과학 • 전자공학 KDC/ 56 9.91
대우학술총서 ( 자연과학 ) 30 해양 微古生物學 백광호 /6,400 원 31 편미분 방정식론 김종식 /4, (XX)원 32 대통일이론 소광섬 /6, (XX)원 33 금속전자계의 다체이론 김덕주 /6,600 원 34 액정중합체 진정일 /6,200 원 35 복합재료 권숙인 /5,200 원 36 단백질 생합성 박인원 /9, (XX)원 37 한국의 광물종 김수진 /7, (XX)원 38 일반상대론 이철훈 /6, (XX)원 39 레이저 광산란분광학 김종진 /5, (XX)원 40 복소다양체론 김상문 /7, (XX)원 41 役學的 연구방법 김일순 /4,200 원 42 핵구조 물리학 일동필 /5,300 원 43 후리에 해석과 행 미분 작용소 김도한 /5,800 원 44 한국의 고생물 이하영 /9, (XX)원 45 질량분석학 감명수 /6,800 원 46 급번론 백서현 /5, (XX)원 47 생체에너지 주중노 /8,500 원 48 리이만 기하학 박욜룡 /6, (XX)원 49 群표현론 박승안 /6,200 원 50 비선형 편미분 방정식론 하기식 /6, (XX)원 51 생체막 김형만 /8, (XX)원 52 수리분류학 고철환 /4,800 원