1. 길쌈 부호 (Convolutional Code)
ㅇ 블록 부호화와는 달리 길쌈 부호화는 메모리(기억성)를 갖는 부호화
- 부호화때 현재의 입력 신호에 과거의 일부 신호를 함께 활용
. 블록부호화 : 해당 블록에만 의존 (대수적 구조, 조합 논리로 설명)
. 길쌈부호화 : 그 이전의 블록에도 의존함 (비 대수적 구조, 순차 논리로 설명)
ㅇ (명칭) 돌림형 부호, 콘볼루션 부호 라고도 함
- 길쌈은 꼬여짜진 형상을 상징함
※ (역사) 1955년 블록 부호화의 대안으로써 길쌈 부호화를 P.Elias가 제안
2. 길쌈부호의 특징 (블록부호에 비해)
ㅇ 수학적 복잡도는 작으나, 설계 복잡도는 큼
- 수학적으로는 블록부호 보다 덜 복잡하나,
- 설계구현 복잡도는 블록부호 보다 다소 큼
. 구속장의 증가에 따른 복잡성이 지수적으로 증가
.. 특히, (구속장 > 9) 인 경우, 복호기의 구현이 어려움
.. 따라서, 실제 구현시에는 구속장 길이가 10 보다 크지 않도록 함
ㅇ 메모리(기억성) 요소를 갖음
- 현재 입력 뿐 아니라 이전 입력된 값들에도 의존함
. 주로, 시프트 레지스터에 의해 구현됨
ㅇ 부호화율은 고정적이지 않고,
- `구속장` 및 `메세지 정보 비트 수`에 따라 달라짐
ㅇ 연판정 복호 가능
ㅇ 오류검출 및 오류정정 모두 가능
3. 길쌈 부호화기를 규정짓는 요소
ㅇ 구속장 (Constraint Length) : K = L + 1
- K = 메모리 수(L) + 현재 비트 수(1)
- L : 상태 수,이동 레지스터 메모리(기억성) 길이,기억 크기/차수(memory order)
* 구속장에 의해, 길쌈 부호화의 능력과 복잡도가 조절됨
ㅇ 부호화율 (Coding Rate) : k/n
- k: 입력 메세지 비트 수
- n: 부호화된 출력 메세지 비트 수
. 블록부호와 달리 부호화된 비트 길이 n은, 현재 입력되는 k 튜플 뿐만 아니라,
메모리에 의해 과거 입력된 k 튜플에도 영향을 받으며 그 값이 달라짐
. 따라서, 출력에서 특정한 블럭 크기가 없으므로, 강제로 블록 구조가 되도록,
메모리를 비우거나(clear) 플러싱(flushing) 함
ㅇ 생성다항식 (Generator Polynomial)
- 시프트레지스터 및 Modulo-2 가산기 간의 연결 정보
※ 즉, CC(n,k,L) 및 조합논리(생성다항식 등) 만 있으면 길쌈부호화기를 완전히 규정 가능
4. 길쌈 부호화기의 구성 例
ㅇ `현재 상태` 및 `과거 상태들`에 의해 (즉, 구속장 만큼) 영향을 받음
※ 길쌈 부호의 표현 방법 ☞ 길쌈부호 표현 참조
5. 길쌈부호의 응용
ㅇ 주요 용도
- 길쌈부호는 CDMA 이동통신 등 무선통신 환경에 널리 사용
. 무선채널 상의 산발 오류(Scattered Error)들에 대한 오류정정 능력이 우수함
. 즉, 가우시안 채널과 같은 랜덤 오류에는 좋으나,
. 반면에, 연집 오류(Burst Error)에는 약함
- 음성급 영역과 같이 다소 저속의 데이터율의 경우에 많이 사용
- 우주 통신(Deep Space), 위성 통신에서도 많이 사용
ㅇ 주요 응용 例
- 비터비 복호 방식 : IS-95 등에서 이용
- Turbo Code : IMT2000 등에서 이용
6. 길쌈부호의 구분
ㅇ 부호화
- 체계적(Systematic) 길쌈부호
- 비 체계적(Non-systematic) 길쌈부호 : 적절한 복호법과 결합되면 더 좋은 성능 가능
ㅇ 복호화 ☞ 길쌈부호 복호 참조
- 순차 복호 (Sequential Decoding)
- 문턱 복호 (Threshold Decoding)
- 비터비 복호 (Viterbi Decoding)