본문 바로가기

Library/Data Communication

자가 동기화와 블럭 코딩

발신자가 보낸 신호를 제대로 알아듣기 위해서, 수신자의 비트 간격은 송신자의 비트 간격과 완전하게 일치해야 한다. 자가 동기화(Self Synchronization) 디지털 신호는 전송되는 데이터 안에 타이밍 정보를 포함한다. 이것은, 신호의 전압이 바뀌는 것을 사용해서 수신자가 펄스의 시작과 끝을 알도록 해주면 가능하다. 이것을 자가 동기화라 한다.

하지만, 이런 회선 코딩 방식은 바로 사용하지 못한다. 무엇보다 동기화를 보장해야 하는 확실한 방법을 사용해야 하고, 오류를 탐지 할 수 있어야 한다. 블럭 코딩(Block Coding)은 이런 목적을 어느 정도 달성 할 수 있다.

블럭 코딩은 m비트를 묶어서 다른 n비트 단위의 그룹 엔트리에 대응시킨다. 블럭 코딩 방식의 핵심은 여기에 있다. 오류를 탐지하는 방법 역시, n비트 집단에서 엔트리에 대응하는(Mapping)  방법으로 어느 정도 달성 될 수 있다.

예를 들자면, 4B/5B 방식에서는 데이터를 각 4비트 그룹 집합으로 분할 한 뒤, 4비트 집합 엔트리를 5비트 그룹 엔트리에 대응시킨다. 여기서, 각 코드는 한개보다 많은 0으로 시작하지 않고, 두개보다 많은 0으로 끝나지 않은 5비트 엔트리를 선택한다. 따라서, 이 5비트 코드는 절대로 3개보다 많은 0이 연속되지 않는다.