신호의 변환
- 정보는 전송되기 위해서 디지털 또는 아날로그 신호로 변환되어야 한다.
4.1 Digital-to-Digital Conversion
- 디지털 변환은 line coding, block coding, scrambling 세 개의 기술을 포함한다. 라인 코딩은 항상 필요하지만, 블록 코딩과 스크램블링의 필요 여부는 상황에 따라 다르다.
디지털-디지털 변환
- Encoding (Line coding)
- 비트 데이터 → 디지털 신호 (예: 1은 플러스, 0은 마이너스)
- Decoding
예를 들면 문자, 숫자, 이미지, 영상과 같은 비트의 연속인 데이터를 디지털 신호로 부호화 하고, 수신자가 이를 복호화 하여 디지털 데이터를 재생하게 된다.
회선 부호화(line coding)의 특성
- Data element와 Signal element
- Data rate와 Signal rate
- DC components
- Self-Synchronization
✅ 데이터 요소와 신호 요소
- 데이터 요소 (Data element)
- 정보를 표현하는 가장 작은 독립체. 즉, 비트.
- 신호 요소 (Signal element)
- 디지털 신호의 가장 작은 유닛으로, 데이터 요소를 전달한다.
데이터 요소는 전달되는 것이고, 신호 요소는 전달자이다.
- 신호 요소 대 데이터 요소 (r)
r = 데이터 요소의 수 / 신호 요소의 수
✏️ r이 클수록 (하나의 신호 요소가 여러 개의 비트를 전달할수록) 효율적인 전송이다.
- 예시
데이터 전송률과 신호 전송률
- 데이터 전송률 (Data rate)
- 1초에 전송되는 데이터 요소(비트)의 수
- 단위: bps
- = 비트율 (Bit Rate)
- 신호 전송률 (Signal rate)
- 1초에 전송되는 signal element의 수
- 단위: baud
- = 보율 (Baud Rate) = 펄스율 (pulse rate) = 변조율 (modulation rate)
- 데이터 전송률과 신호 전송률의 관계
S = c x N x 1/r
S: 신호 요소 (baud)
c: 상수
N: 데이터 전송률 (bps)
r: 각 신호 요소에 의해 전달되는 데이터 요소의 수
대역폭과 데이터 전송률
- 디지털 신호의 대역폭은 실제로는 무한하지만, (디지털 신호는 무한개의 고조파로 이루어진 복합 아날로그 신호이므로) 유효 대역폭은 유한하다. 이러한 유효 대역폭은 신호 전송률에 의해 결정된다.
- 최소 대역폭
B_min = c x N x 1/r
- 최대 데이터 전송률
N_max = 1/c x B x r
직류 성분 (DC components)
- 직류 성분이 있는 신호와 없는 신호
- 직류 성분이 있는 신호
- 0 bit를 zero Volt로 표현
- 평균이 0이 아닌 신호
- 직류 성분이 없는 신호
- 0 bit를 마이너스로, 1 bit를 플러스로 표현
- 평균이 0인 신호
✏️ 통신에서는 직류 신호가 없는 것이 좋다.
- 직류신호는 Pulse가 없어 정보를 담지 못하는데, 대역폭만 차지하기 때문이다.
: 전류가 흐르지 않는 상태, 0V를 표현할 때 실질적으로 신호가 계속 이어지기 위해서는 0에 가까운 전류가 흘러가야 한다. 그러나 일부 매체에서는 이러한 0에 가까운 전류 허용하지 않기 때문에 일정 수준 이상의 extra energy가 필요하다. 그러나 이러한 에너지는 쓸모가 없으므로 낭비이다.
- 일부 매체(예: 변압기, 마이크로웨이브)는 DC 성분을 처리할 수 없다.
자기 동기화 (Self-Synchronization)
? 발신자의 신호를 인식하기 위해, 발신자의 비트 간격과 수신자의 비트 간격을 정확하게 맞추는 것
- 자기 동기화 디지털 신호는 전송하는 데이터에 타이밍 정보를 포함한다.
- 물리 계층 (physical layer)에서 일어나며, 발신자의 비트 간격에 대해 수신자가 맞추는 방향이다.
- 동기화 부족의 영향
회선 부호화 방식 (Line Coding Schemes)
단극형 부호화 (Unipolar Scheme)
? 하나의 전압 레벨([+, 0] 또는 [-, 0])만 사용하여 부호화하는 방식
- Unipolar NRZ
✏️ RZ와 NRZ
- RZ (Return to Zero)
- 비트 펄스 사이에서 반드시 일정시간 동안 0 레벨을 유지한 후 다음 신호를 전송하는 방식
- NRZ (Non Return to Zero)
- RZ와 다르게 다음 비트의 시작 전에 0으로 되돌아 가지 않는 방식
- 직류 성분이 존재한다.
- 동기화가 불가능하다.
: 아래 그림과 같이 신호가 연속되는 상황에서는 비트 간격 오류를 확인할 수 없기 때문이다.
따라서 통신에서 사용되지 않는 부호화 방식이다.
극형 부호화 (Polar Scheme)
? 두 개의 전압 레벨 (positive & negative)를 사용하여 부호화하는 방식
- Polar NRZ
- Polar NRZ-L (Non return to Zero-level)
- 신호의 전압 레벨이 비트의 상태에 따라 달라진다.
- 0 비트: 플러스, 1 비트: 마이너스
- 직류 성분이 존재한다.
+와 - 두 개의 전압 레벨을 사용하긴 하지만, 두 레벨의 평균이 0이라는 보장이 없으므로 (0비트와 1비트의 개수가 동일하다는 보장이 없으므로) 직류 성분이 존재한다고... 한다...
- 동기화가 불가능하다. (동일한 비트가 연속되는 상황에서)
- Polar NRZ-I (Non return to Zero-Invert)
- 1 비트를 만나면 신호가 반전된다.
- 직류 성분이 존재한다.
- 동기화가 불가능하다. (0이 연속되어 신호가 반전되지 않는 상황에서)
극형 NRZ-L과 NRZ-I 모두 평균 신호 전송률이 N/2 (baud)
이다.
✏️ 신호 전송률 (S)
S = c x N x 1/r
양극형 부호화 (Bipolar Scheme)
? 3개의 전압 레벨 (+, 0, -)을 사용하여 부호화하는 방식
- AMI
- 0 비트면 0의 레벨로, 1 비트면 음의 레벨과 양의 레벨을 교대로 변환시키는 방식
- pseudoternary
- AMI와 반대
양극형 부호화에서는 신호의 평균이 0이므로 직류 성분 문제가 해결되고, 후술될 'Scrambling'이라는 기법을 통해 비트가 연속적인 경우에도 동기화가 가능하다. 또한 평균 신호 전송률이 2/N
이고 에러 검출도 가능하다. 따라서 현재 표준 규격으로 쓰인다.
다준위 부호화 (Multilevel Scheme)
- 데이터 속도를 높이거나 필요한 대역폭을 줄이기 위해, 많은 부호화 방식들이 만들어졌다.
- m개의 데이터 요소 패턴 → n개의 신호 요소 패턴으로 인코딩
- 목표
- baud당 bit의 수를 늘리는 것
- 즉, 하나의 신호 요소가 여러 개의 비트를 전달할 수 있도록 하는 것이다.
✏️ 신호 요소 대 데이터 요소(r)이 클수록 효율적인 전송이다.
- mBnL 부호화 방식에서, m 개의 데이터 요소의 패턴은
2^m ≤ L^n
인 n 개의 신호 요소 패턴으로 인코딩 된다.
- 종류
- 2B1Q
: 2개의 비트를 하나의 Quaternary로 변환
- 8B6T(3^6)
: 8개의 Bit를 6개의 Ternary(3진법)으로 변환
- 4D-PAM5
: 5개의 레벨을 사용하고, 각각의 레벨을 다른 선로로 전송
- MLT-3
: 다음 비트에 따라 신호의 전압 레벨을 결정하는 방식
블록 부호화 (Block Coding)
- 동기화를 확보하고 오류를 검출하기 위해서는 여분의 비트(redundancy)가 필요하다.
- 블록 부호화 (mB/nB)
- m-bit 그룹을 n-bit 그룹으로 치환하는 것 (m < n)
- 블록 부호화는 여분의 비트를 제공함으로써 동기화를 가능하게 하고, 회선 부호화의 성능을 향상시킨다. 그러나 실제 유효한 데이터에 비해 전송되는 비트의 수가 많아 요구되는 대역폭이 증가한다. 또한 전체 신호의 평균이 0이 된다는 보장이 없기 때문에 직류 성분 문제가 존재한다.
✏️ 사용되지 않는 여분의 비트들은 회선을 제어하는 데 활용되기도 한다.
- 블록 부호화의 단계
- 분할 (Division)
: 일련의 비트들을 m-bit 그룹으로 나눈다.
- 대체 (Substitution)
: m-bit 그룹을 n-bit 그룹으로 대체한다.
- 회선 부호화 (Line Coding)
-
블록 부호화의 종류
- 8B/10B
- 8-bit 그룹을 10-bit 그룹으로 치환하여 부호화하는 방식
- 4B/5B 부호화와 유사한데, 일반적으로 더 나은 오류 확인 기능과 향상된 동기화를 제공한다.
Scrambling
- Polar Biphase 방식(Manchester, Differential Manchester)은 직류 성분이 없고 동기화가 가능하다는 장점이 있지만, 요구되는 대역폭이 크기 때문에 원거리 통신에서 비효율적이다. 이를 보완하고자 나온 방식이 스크램블링이다.
- 스크램블링
- 추가적인 비트 없이 기존 데이터를 섞어서(Scramble) 자동으로 동기화하는 방식
- 연속적인 0을 다른 레벨의 조합으로 대체하여 0이 연속되지 않도록 한다.
- 양극형 부호화 (AMI, pseudoternary)에서 동기화를 가능하게 하는데 사용된다.
- 종류
- B8SZ (미국)
: 8개의 연속되는 0을 000VB0VB로 대체
- HDB3 (유럽)
: 4개의 연속되는 0을 마지막 대체 이후의 0이 아닌 펄스 수에 따라 000V 또는 B00V로 대체
✏️ B8SZ아 HDB3는 현재 장거리 통신 표준이다.
💭 여기까지 겨울 방학때 복습하면서 적은 내용 ('네트워크' 태그의 다른 글들은 저번 학기 시험 기간에 끄적인 내용)
방학 때 멀티 게임 프로젝트를 하게 되면서 네트워크 관련 지식이 중요할 것 같아 정리를 시작한 건데 생각보다 필요하지 않았어서 진도가 지지부진 했다.😅
이 뒤부터는 종강하면 풀스택 듣기 전에 이어서 적을 예정...
4.2 Analog-To-Digital Conversion
PCM
Sampling
Quantization
Delta Modulation (DM)
4.3 Transmission Modes