동기화(Clocking)를 확보하기 위해선, 어떤 식이든 여분의 비트가 필요하다. 이런 오류를 검출해 내기 위해서라도 여분의 비트를 포함시키기 위해 블록 코딩을 사용한다.
블록 코딩은 m비트 블록을 n비트 블록으로 변경하며 (n>m), mB/nB 인코딩 이라고 한다.
4B/5B
4B/5B 블럭 코딩은 NRZ-I와 혼합하여 사용하기 위해 고안되었다.
NRZ-I은 좋은 신호율을 가지지만, 연속된 0값에선 문제가 발생한다. (DC, 동기화 문제 등) 때문에 NRZ-I로 변환하기 전, 연속되는 0이 생기지 않도록 스트림을 바꾼다. (0000 -> 00100 규칙 테이블 존재.)
그때 4bit -> 5bit가 되는데 아래의 규칙을 따른다.
- 0으로 시작하지 않을 것.
- 2개 이상의 0으로 끝내지 않을 것.
이 규칙에 따라 비트코드는 절대 3개보다 많은 0이 연속되지 않는다.
단점으론, 4bit가 5bit로 변하면서 쓸모없는 데이터가 1bit 들어가 전송효율이 떨어진다. 그리고 bandwidth가 증가한다.
필요한 신호는 16개였으나, 만들어진 신혼 25개가 된다.
'학교 공부 > 데이터 통신' 카테고리의 다른 글
[데이터 통신] 디지털 데이터 전송 방식 - 병렬, 직렬 (1) | 2023.04.20 |
---|---|
[데이터 통신] Analog-to-Digital - PCM, 델타 변조 (0) | 2023.04.20 |
[데이터 통신] Digital-to-Digital - Line Coding / Block Coding (0) | 2023.04.20 |
[데이터 통신] 네트워크 성능, 대역폭, 처리율, 지연 (0) | 2023.04.18 |
[데이터 통신] 나이퀴스트 비트율, 섀넌 용량 (1) | 2023.04.17 |