1. 길쌈 부호 (Convolutional Code)
  ㅇ 블록 부호화와는 달리, 길쌈 부호화는 메모리(기억성)를 갖는 부호화 
     - 부호화때 현재의 입력 신호에 과거의 일부 신호를 함께 활용 
  ㅇ (비교)
     - 블록부호화 : 해당 블록에만 의존 (대수적 구조, 조합 논리로 설명)
     - 길쌈부호화 : 그 이전의 블록에도 의존함 (비 대수적 구조, 순차 논리로 설명)
  ㅇ (명칭)  돌림형 부호, 콘볼루션 부호 라고도 함
     - (길쌈은, 꼬여짜진 형상을 상징함)
  ㅇ (역사)  1955년, 블록 부호화의 대안으로써, 길쌈 부호화를 Peter 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) 길쌈부호
        . 입력 비트가 직접 출력에 포함되지 않고, 모든 출력이 입력 비트의 조합으로 구성됨
           .. 입력 데이터가 직접 나타나지 않음
           .. 적절한 복호 알고리즘(Viterbi 등)과 결합 시, 더 우수한 성능(낮은 오류율) 가능
  ㅇ 복호화   ☞ 길쌈부호 복호 참조
     - 순차 복호  :  트렐리스 경로를 순차적으로 탐색하며 가장 가능성 높은 경로를 선택
     - 문턱 복호  :  경로 점수가 일정 문턱값을 넘지 않도록 제한해 복호하는 간소화된 방식
     - 비터비 복호  :  가능한 모든 경로 중 누적 메트릭이 최소인 최적 경로를 선택
  ㅇ `현재 상태` 및 `과거 상태들`에 의해 (즉, 구속장 만큼) 영향을 받음
  ※ 길쌈 부호의 표현 방법 ☞ 길쌈부호 표현 참조
     - 동일 구조의 길쌈부호기를, 다항식,행렬,상태도 등을 이용하여, 쉽고도 다양하게 표현 가능
5. 길쌈부호의 응용
  ㅇ 주요 용도
     - 길쌈부호는 CDMA 이동통신 등 무선통신 환경에 널리 사용 
        . 무선채널 상의 산발 오류(Scattered Error)들에 대한 오류정정 능력이 우수함
        . 즉, 가우시안 채널과 같은 랜덤 오류에는 좋으나, 
        . 반면에, 연집 오류(Burst Error)에는 약함
     - 음성급 영역과 같이 다소 저속의 데이터율의 경우에 많이 사용
     - 우주 통신(Deep Space), 위성 통신에서도 많이 사용
  ㅇ 주요 응용 例
     - 비터비 복호 방식 : IS-95 등에서 이용
     - Turbo Code       : IMT2000 등에서 이용
6. 길쌈부호의 구분
  ㅇ 부호화
     - 체계적 (Systematic) 길쌈부호
        . 입력 비트가 부호화된 출력 중 그대로 포함되는 방식
           .. 입력 데이터가 출력에 직접 나타나므로 해석이 쉬움
           .. 오류 검출·복구 과정이 단순함
     - 비 체계적 (Non-systematic) 길쌈부호
        . 입력 비트가 직접 출력에 포함되지 않고, 모든 출력이 입력 비트의 조합으로 구성됨
           .. 입력 데이터가 직접 나타나지 않음
           .. 적절한 복호 알고리즘(Viterbi 등)과 결합 시, 더 우수한 성능(낮은 오류율) 가능
  ㅇ 복호화   ☞ 길쌈부호 복호 참조
     - 순차 복호  :  트렐리스 경로를 순차적으로 탐색하며 가장 가능성 높은 경로를 선택
     - 문턱 복호  :  경로 점수가 일정 문턱값을 넘지 않도록 제한해 복호하는 간소화된 방식
     - 비터비 복호  :  가능한 모든 경로 중 누적 메트릭이 최소인 최적 경로를 선택