직렬 연결 컨볼루션 코드

직렬 연결 컨볼루션 코드(, SCCC)는 전방 오류 정정 (FEC) 코드의 한 종류로 터보 부호 (반복) 복호화에 매우 적합하다. 잡음이 많은 채널을 통해 전송될 데이터는 먼저 SCCC를 사용하여 인코딩될 수 있다. 수신 시 코딩은 전송 중 발생한 오류를 제거하는 데 사용될 수 있다. 디코딩은 수신된 심볼을 반복적으로 디코딩하고 [디]인터리빙하여 수행된다.

SCCC는 일반적으로 내부 코드, 외부 코드 및 연결 인터리버를 포함한다. SCCC의 특징은 재귀 컨볼루션 코드를 내부 코드로 사용한다는 점이다. 재귀 내부 코드는 SCCC에 '인터리버 이득'을 제공하며, 이것이 이 코드들의 뛰어난 성능의 원천이다.

SCCC의 분석은 1993년 터보 부호의 초기 발견에 의해 부분적으로 시작되었다. SCCC에 대한 이 분석은 1990년대 제트추진연구소 (JPL)의 일련의 출판물에서 이루어졌다. 이 연구는 SCCC를 다음과 같은 형태의 터보와 유사한 직렬 연결 코드로 제시했다: 1) 합리적인 복잡도로 반복적으로 ('터보') 디코딩 가능하고, 2) 터보 코드와 필적하는 오류 정정 성능을 제공한다.

이전 형태의 직렬 연결 코드는 일반적으로 재귀 내부 코드를 사용하지 않았다. 또한, 이전 형태의 직렬 연결 코드에 사용된 구성 코드는 일반적으로 합리적인 소프트 인 소프트 아웃 (SISO) 디코딩에는 너무 복잡했다. SISO 디코딩은 터보 디코딩에 필수적인 것으로 간주된다.

직렬 연결 컨볼루션 코드는 DVB-S2와 같은 통신 표준에 제안되었지만 널리 상업적으로 사용되지는 않았다. 그럼에도 불구하고 SCCC의 분석은 터보 부호 및 저밀도 패리티 검사 부호를 포함한 모든 유형의 반복 디코딩 가능한 코드의 성능과 한계에 대한 통찰력을 제공했다.

미국 특허 6,023,783은 SCCC의 일부 형태를 다룬다. 이 특허는 2016년 5월 15일에 만료되었다.

 역사 
직렬 연결 컨볼루션 코드는 S. 베네데토(S. Benedetto), D. 딥살라(D. Divsalar), G. 몬토리(G. Montorsi), F. 폴라라(F. Pollara)의 "Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding"에서 터보 디코딩을 고려하여 처음 분석되었다. 이 분석은 터보 부호와 유사한 고성능, 터보 디코딩 가능한 직렬 연결 코드를 설계하기 위한 일련의 관찰 결과를 도출했다. 이 관찰 결과 중 하나는 "재귀 컨볼루션 내부 인코더의 사용이 항상 인터리버 이득을 가져온다"는 것이었다. 이는 블록 코드 또는 비재귀 컨볼루션 코드의 사용과 대조되며, 이들은 비교할 만한 인터리버 이득을 제공하지 않는다.

SCCC에 대한 추가 분석은 D. 딥살라(D. Divsalar), 후이 진(Hui Jin), 로버트 J. 맥엘리스(Robert J. McEliece)의 "Coding Theorems for 'Turbo-Like' Codes"에서 이루어졌다. 이 논문은 내부 2상태 재귀 컨볼루션 코드(누산기 또는 패리티 검사 코드라고도 함)와 외부 코드로서 간단한 반복 코드를 인터리버로 연결한 반복-누산(RA) 코드를 분석했다. RA 코드의 성능은 구성 코드 자체의 단순성을 고려할 때 상당히 우수하다.

SCCC 코드는 "Serial Turbo Trellis Coded Modulation with Rate-1 Inner Code"에서 추가로 분석되었다. 이 논문에서 SCCC는 고차 변조 방식을 사용하도록 설계되었다. 2개 또는 4개 상태의 내부 및 외부 구성 컨볼루션 코드만으로도 뛰어난 성능의 코드가 제시되었다.

 인코더 예시 
그림 1은 SCCC의 예이다.

섬네일|none|500px|그림 1. SCCC 인코더

예시 인코더는 16상태 외부 컨볼루션 코드와 2상태 내부 컨볼루션 코드로 구성되며, 인터리버로 연결된다. 표시된 구성의 자연 코드율은 1/4이지만, 필요에 따라 내부 및 외부 코드를 펑크처링하여 더 높은 코드율을 달성할 수 있다. 예를 들어, 외부 컨볼루션 코드를 3/4율로, 내부 컨볼루션 코드를 2/3율로 펑크처링하여 전체 코드율 1/2을 달성할 수 있다.

재귀 내부 컨볼루션 코드는 SCCC의 터보 디코딩에 선호된다. 내부 코드는 합리적인 성능으로 1/1까지의 높은 율로 펑크처링될 수 있다.

 디코더 예시 
반복 SCCC 디코더의 예.

섬네일|none|500px|그림 2. SCCC 디코더

SCCC 디코더는 두 개의 소프트 인 소프트 아웃(SISO) 디코더와 인터리버를 포함한다. 별도의 장치로 표시되었지만, 두 SISO 디코더는 회로의 전부 또는 일부를 공유할 수 있다. SISO 디코딩은 직렬 또는 병렬 방식으로, 또는 이들의 조합으로 수행될 수 있다. SISO 디코딩은 일반적으로 BCJR 알고리즘을 사용하는 최대 사후 확률 (MAP) 디코더를 사용하여 수행된다.

 성능 
SCCC는 터보 코드 및 저밀도 패리티 검사 부호를 포함한 다른 반복 디코딩 가능한 코드와 필적하는 성능을 제공한다. 이들은 낮은 SNR 환경(즉, 더 나쁜 폭포 영역)에서는 성능이 약간 떨어지지만, 높은 SNR 환경(즉, 더 낮은 오류 플로어)에서는 성능이 약간 더 좋다는 특징이 있다.

 같이 보기 
 컨볼루션 코드
 비터비 알고리즘
 연판정 복호화
 인터리버
 BCJR 알고리즘
 저밀도 패리티 검사 부호
 반복-누산 코드
 터보 등화기

 각주 

 외부 링크 



분류:오류 검출 정정
분류:부호화
분류:자료