Block Coding, Block Code   블록 부호, 블록 부호화, 블록 코딩, 블록 코드

(2018-02-13)

블럭 코딩, 블럭 코드

1. 블록 부호/부호화 이란?

  ㅇ 블록 부호/코드 (부호화/코딩)
     - 고정된 코드길이를 갖는 부호 = 고정길이 부호
        . 데이터를 일정 블록 단위로 묶어서, 블록 마다 부호화복호화를 수행

  ※ [비교] 
     - 블록 부호 : 고정 길이 블록 단위부호화 수행
     - 길쌈 부호 : 가변 길이로 여러 블록에 걸치면서 부호화 수행
     - 선로 부호 : 2진 비트 열(列)과 전기적 펄스 신호를 직접 대응시키는 블록부호 일종


2. 블록 부호화 특징

  ㅇ 수행 단위              (묶음 단위로 수행)
     - 부호화 : 입력되는 메세지 비트들을 일정한 블록 단위의 길이로 잘라서,
        . 메세지 비트들에 대해 계산된 패리티 비트를 추가시켜 한묶음 단위(Block)로 부호화
     - 복호화 : 수신 블록 단위로 데이터 및 패리티를 비교하여 살펴서 에러 검출에러 정정

  ㅇ 무 상관성              (앞뒤 블록 간에 상관성 없음)
     - 블록 부호화콘볼루션 부호화와 달리, 블록들 간에 기억되는 메모리(기억성) 없음
        . 즉, 연속되어 발생되는 블록들 앞과 뒤 블록 간에는 아무런 관계가 없음

  ㅇ 부호어 간 거리 조건    (서로 멀면 좋음)      ☞ 해밍거리,차이점/부동성,최소 거리 참조
     - 부호어들 간의 해밍 최소거리가 적당히 멀게 하면서, ☞ 오류검출능력/오류정정능력 참조   
     - 유효 부호어를 2k개(차원)로 제한

  ㅇ 블록 부호의 생성 및 에러검출  (편리한 수학적 도구가 존재함)
     - [생성] 생성행렬, 생성다항식 등
     - [오류검출] => 생성행렬에 대응시킨 패리티검사행렬
3. 블록 부호 장단점

  ㅇ 구현 용이 : 조합 논리회로
     - 기억소자 없이 오직 입력에 의해서 만 출력이 결정되는 조합논리회로 만으로 구현 가능
        . 例) 순회 부호 => 비교적 단순한 LFSR(선형귀환이동레지스터)에 의해 구현 가능

  ㅇ 표현 용이 : 행렬 또는 다항식에 의해 표현 가능
     - 보다 간결한 해석 도구를 제공하며,
     - 부호기 및 복호기의 하드웨어 구현을 용이하게 함

  ㅇ 활용
     - 콘볼루션 부호화 보다는 Burst Error에 강하여, 주로 고속 전송 방식에 많이 활용

  ㅇ 복잡도 및 에러정정능력오류정정능력 참조
     - 에러정정 능력이 커짐에 따라, 복잡도가 급격하게 증가하는 경향이 있음


4. 블록 부호의 구분에러검출/에러정정선형 블록 부호
     - Linear Coding (선형 부호 방식)  : 블록 부호의 부분 집합임
        . 블록 구조에 선형성이 가해지면 선형 블록 부호가 됨
           .. 例) 반복 부호, 직각 부호, Hamming Code, Golay Code, Hadamard Code 등

     - Cyclic Coding (순환 부호 방식)  : 선형 블록 부호부분 집합임
        . 선형성에 순환성이 추가로 가해진 구조
           .. 아주 단순하고도 효율적이고 쉽게 구현 가능
           .. 例) BCH 부호, RS 부호, PN 코드(에러제어가 아닌 랜덤성을 강조) 등

  ㅇ 에러제어 보다는 직교성,식별성,랜덤성 등을 강조한 선형 블록 부호 (직교 코드)
     - 상호 간섭을 피하고 (부호 간에 상호상관 = 0), 각 사용자를 구분하기 위함
        . 때론, 해당 부호를 모르는 사용자가 볼 때 마치 잡음 처럼 랜덤성을 보이는데 주로 사용
     - 例) Hadamard Code, PN 코드
5. 블록 부호의 생성 및 에러검출선형 블록 부호의 생성 및 에러검출 (편리한 수학적 도구가 존재함)
     - [생성]
        . 생성행렬   => 선형블록부호  (블록부호화 과정을 행렬로 표시)
           .. 부호화 : 행렬의 곱으로 표현
           .. 부호어 : 행 또는 열 벡터로 표현
        . 생성다항식 => 순환부호      (비트의 전후 위치에 따른 순서까지도 표현이 가능)
           .. 부호화 : 다항식의 곱으로 표현
           .. 부호어 : 다항식으로 표현
     - [오류검출] => 생성행렬에 대응시킨 패리티검사행렬
     * 한편, 생성행렬의 선택이 유일하지 않음 

  ㅇ 직교 코드의 생성
     - 例) ☞ 왈시 하다마드 행렬, 하다마드 행렬 참조


6. [참고사항]  블록부호 요소별 명칭 (용어)

  ※ ☞ 블록 부호 용어, 부호 용어 참조
     - 리던던시, 패리티 비트, 부호율, 블록 부호어 길이, 차원


[블록 부호] 1. 블록 부호 2. 체계적 블록부호
[블록부호 용어] [선형 블록부호] [오류 패턴] [수학적 표현] [순회부호]

 
        최근수정     요약목록(시험중)     참고문헌