[DCN] Ep5. Digital Transmission

GLICO·2024년 7월 23일

DCN

목록 보기
4/10
post-thumbnail

컴퓨터 네트워크는 정보를 전달하기 위해서 설계되었다. 이 정보들은 디지털 신호나 아날로그 신호로 변환되어 전송된다.
이 챕터에서는 데이터가 전송되는 방법과 기술에 대해서 설명한다.

1. 디지털-대-디지털 변환 (Digital-to-Digital Conversion)
2. 아날로그-대-디지털 변환 (Analog-to-Digital Conversion)
3. 전송 모드 (Transmission Modes)

4.1 디지털-대-디지털 변환 (Digital-to-Digital Conversion)

데이터는 디지털이나 아날로그의 형태를 뛸 수 있다. 또한, 신호 역시 디지털이거나 아날로그이다.
이 섹션에서는 디지털 신호를 사용하여 디지털 데이터를 표현하는 방법 3가지에 대해서 얘기하고자 한다.

4.1.1 라인 부호화 (Line Coding)

라인 부호화는 디지털 데이터를 디지털 신호로 변경하는 과정(Process)이다.

신호 요소와 데이터 요소 (Signal elements & Data elements)

신호 요소데이터 요소를 구분하자.
데이터 통신에서의 목표는 데이터 요소를 전달하는 것이다.

데이터 요소는 정보를 표현할 수 있는 가장 작은 개체(Entity)이다: that is bit.
신호 요소는 디지털 신호의 가장 작은 단위이다. (timewise, the shortest unit)


우리는 각 신호 요소에 의해 전달되는 데이터 요소의 비율을 rr로써 정의한다.
(각 상황 별 r값은 위 그림 참조)

데이터율과 신호율 (Data rate & Signal rate)

데이터율은 1초에 보내지는 데이터 요소(bit)의 개수를 의미한다. (단위는 bps)
신호율은 1초에 보내지는 신호 요소의 개수를 의미한다. (단위는 baud)
데이터율은 비트율(Bit rate)이라고도 부르고,
신호율은 펄스율(Pulse rate), 변조율(Modulation rate), 보율(Baud rate)이라고도 불린다.

신호율을 줄이고 데이터율을 높이자!

One goal in data communication is to increase the data rate while decreasing the signal rate.

데이터율(N)과 신호율(S)의 관계에 대해서 알아보자

S=N/rS = N/r

해당 관계는 r의 값에 달려있다. (depends on the value of rr)
또한 데이터 패턴에 따라 다르다. (It also depends on the data pattern)

all 0 or 1 is different from alternating 0s and 1s

해당 공식을 도출하기 위해서는 세가지 경우(the worst, best, and average)를 정의할 필요가 있다.
최악의 경우에는 최대의 신호율을 필요로 한다.
최고의 경우에는 최소의 신호율을 필요로 한다.
데이터 통신에 있어서는 보통 평균의 경우를 사용한다.

Save=cN(1/r)baudS_{ave} = c * N * (1/r)\quad baud

N 은 데이터율(bps)이고,
c 는 경우 요인(case factor)이다. 각 경우에 따라 값이 다양하다.
S 는 신호율이다.
r 은 데이터 요소와 신호 요소의 비율을 의미한다.

여담이지만, c가 무엇인지 찾아보았다.

c(Case Factor)

정의 : c는 변조 방식의 효율성을 나타내는 계수이다.
의미 : 하나의 신호 상태가 표현할 수 있는 데이터 비트 수를 나타낸다.
용도 : 변조 방식의 복잡성을 고려하여 신호율과 데이터율의 관계를 나타내는 데 사용된다.

r (Data element per Signal element)

정의 : r는 하나의 데이터 요소를 표현하기 위해 필요한 신호 요소의 수를 나타낸다.
의미 : 하나의 데이터 비트를 전송하기 위해 얼마나 많은 신호 요소가 필요한지를 나타낸다.
용도 : 신호 요소와 데이터 요소 간의 직접적인 관계를 나타내며, 변조 방식과는 별개의 개념으로 사용된다.

c의 값은 변조 방식에 따라 달라진다. 변조 방식이 복잡해질수록 하나의 신호 요소가 더 많은 데이터 비트를 전송할 수 있으며, 이는 신호의 효율성을 높인다.
r의 값은 데이터 전송의 기본 단위에 대한 것이다. 이는 하나의 데이터 요소를 전송하는 데 필요한 신호 요소의 수를 나타낸다. 즉, 데이터와 신호 간의 직접적인 대응 관계를 설명한다.

1. c =2, r = 1인 경우,

QPSK방식을 사용하여 하나의 신호요소가 2개의 비트를 전송할 때, 하나의 데이터 비트가 하나의 신호 요소로 인코딩되는 경우를 생각해 볼 수 있다.
이 경우, 하나의 데이터 비트는 하나의 신호 요소로 표현되므로 r=1, 그러나 변조 방식의 효율성 때문에 c = 2이다.

2. c = 1, r = 1인 경우,

어떤 방식에서는 하나의 데이터 비트를 두 개의 신호 요소로 표현해야 하는 경우도 있을 수 있다. 이런 경우 r = 2이다.
그러나 변조 방식 자체가 단순하다면, c = 1일 수 있다.

결론

c는 변조 방식의 효율성을 나타내고, r은 데이터 요소와 신호 요소 간의 직접적인 관계를 나타낸다. 이 두 변수는 신호율과 데이터율의 관계를 보다 정확하게 설명하기 위해 사용된다.

대역폭 (Bandwidth)

실생활에서 대부분의 디지털 신호는 유한한 대역폭을 가진다.(The effective bandwidth is finite)

Although the actual bandwidth of a digital signal is infinite,
the effective bandwidth is finite

보율이(baud rate) 디지털 신호에 대한 대역폭을 결정한다.

신호의 많은 변화는 신호에 대한 많은 주파수를 포함한다는 것을 의미한다.
대역폭은 우리가 필요로 하는 주파수 영역을 의미한다.

요구되는 최소 대역폭의 공식은 다음과 같다.

Bmin=cN(1/r)baudB_{min} = c * N * (1/r) \quad baud

또한, 채널의 대역폭이 정해졌을 때, 최대 데이터 전송율은 다음과 같다.

Nmax=(1/c)BrN_{max} = (1/c) * B * r

기준선 표류(Base Wandering)

디지털 신호를 해석하는 과정에서, 수신자는 전달된 신호의 세기의 평균을 구한다. 이 평균은 기준선(Baseline)이라고 불린다.
전달되는 신호의 크기는 데이터 요소의 값을 측정하기 위해서 해당 기준을 이용한다.
길게 연속되는 0과 1은 해당 기준선을 표류하게 만든다.
좋은 라인 부호화는 기준선 표류를 방지 할 필요가 있다.

기준선 표류 문제?

수신자가 디지털 신호를 복호화할 때는 수신된 디지털 신호의 baseline을 기준으로 데이터 요소의 값을 정한다. 만약 극단적으로, +10V와 -10V 두 가지 준위를 가지는 신호가 있다고 했을 때, 연속되는 1값으로 인해 baseline이 +10V로 설정된다면, 수신자 입장에서는 해당 기준선으로 더 이상 0과 1을 구분할 수 없게 된다.

DC 성분 문제 (DC Components)

디지털 신호의 전압 준위가 오랫동안 일정할 때, 스펙트럼은 매우 낮은 주파수들을 생성한다.(푸리에 분석의 결과에 의해서...)
0에 가까운 해당 주파수들을 DC(direct-current)성분 이라고 불린다.

DC 성분들은 변압기나 커플러 등과 같은 장비를 통과하지 못한다.
예를 들어서, 전화선은 200Hz이하의 주파수를 통과시키지 못한다.
또한, 장거리 연결선(link)은 하나 이상의 변압기를 사용한다.
DC 성분 문제는 기준선 표류를 야기할 수 있다고 이야기 할 수 있다.

자기 동기화 (Self-synchronization)

송신자로 부터 받은 신호의 정확한 해석을 위해서는, 수신자의 비트 간격은 송신자의 비트 간격과 완벽하게 동일해야 한다.

해당 비트 간격이 너무 빠르거나 느리다면, 수신자는 신호를 잘못 해석할 수 있다.

자기 동기화된 디지털 신호는 전송되는 데이터에 타이밍 정보를 추가한다.

에러 탐지 (Built-in Error Detection)

에러 검출 코드(Parity)가 있으면 좋음

잡음과 간섭에 대한 면역 (Immunity to Noise and Interference)

있으면 좋음

복잡성 (Complexity)

간단한게 좋음(비용적 측면)

4.1.2 라인 부호화 (Line Coding Schemes)

라인 부호화는 크게 5가지 범주로 나눌 수 있다.

각 카테고리에 대한 다양한 방법들이 있다.

단극형(Unipolar Scheme)

단극형이란, 모든 신호 준위가 시간축을 기준으로 한쪽 면만(above or below)을 사용한다는 것을 의미한다.

NRZ (Non-Return-to-Zero)

영비복귀 방식은 비트의 중간지점에서 신호가 0으로 돌아가지 않는다는 것을 의미한다.
(하나의 데이터를 표현하기 위해서 중간에 전압의 변화를 주지 않는다)
양의 전압은 1비트를 의미하고,
0 전압은 0비트를 의미한다.


해당 방식은 이후에 나올 극형(Polar)방식에 비해서 비용이 많이 든다. Polar NRZ방식보다 2배의 전력을 가지기 때문에 오늘날의 데이터 통신에서는 사용되지 않는다.

극형 (Polar Scheme)

극형 방식에서는, 전압들은 시간축의 양쪽 모두를 사용한다.
예를 들어 비트 0에 대한 전압 준위는 양수(Positive)일 수 있고, 비트 1에 대한 전압 준위는 음수(Negative)일 수 있다.

polar NRZ

polar NRZ방식에는 두가지 버전이 존재한다: NRZ-L, NRZ-I

  • NRZ-Level은 전압의 준위가 비트의 값이 결정한다.
  • NRZ-Invert는 전압 준위의 변화가 비트의 값을 결정한다.
    -> 준위의 변화가 있다면 1, 없다면 0비트를 의미한다.

두 경우 모두 기준선 표류 문제가 발생하지만, NRZ-L방식이 더 심하다.
길게 연속되는 0이나 1이 존재한다면, 평균 신호전력은 왜곡된다.
NRZ-I 방식에서는 오직 연속되는 0에서만 해당 문제가 발생한다.
연속되는 0을 없앨 수 있다면, 기준선 표류 문제를 해결할 수 있다.

동기 문제의 경우 위와 같다.
NRZ-L : 0과 1이 연속되는 모든 구간에 대해서 동기 문제가 발생한다.
NRZ-I : 0이 연속되는 구간에서만 동기 문제가 발생한다.

NRZ-L과 NRZ-I 방식 모두 DC 성분 문제가 발생한다.

그림4.6의 오른쪽 그래프를 분석해보자.

Recap

신호를 time 도메인으로 나타내는 것은 의미가 없다.
x축을 Frequency 도메인으로 나타낸다면, 해당 신호의 주파수 분포를 알 수 있다. (이를 위해 푸리에 변환을 사용함)
y축을 PSD(전력 스펙트럼 밀도)로 나타낸다면 주파수에 따라 분포되는 신호의 밀도를 확인할 수 있다.

해당 그림을 보면, x축을 데이터 전송율로 나누어 정규화를 하고 있다.
이 정규화된 주파수는 주파수가 데이터 전송률에 비례하여 얼마나 큰지를 나타내는 무차원(Dimensionless) 값이 된다.

참고) f/Nf/N에 관하여

시스템 A : 데이터 전송률 NA=100kbpsN_A = 100kbps
시스템 B : 데이터 전송률 NB=200kbpsN_B = 200 kbps
이라고 하자.

주파수 정규화

각 시스템의 주파수를 데이터 전송률로 나누어 정규화하면, 두 시스템의 주파수 스펙트럼을 비교할 수 있는 공통된 척도를 만들 수 있다.
fA정규화=fNA=f100,000f_{A정규화} = \frac{f}{N_A} = \frac{f}{100,000}
fB정규화=fNB=f200,000f_{B정규화} = \frac{f}{N_B} = \frac{f}{200,000}

두 시스템의 비교

두 시스템에서 50 kHz의 주파수를 사용한다고 가정해보자.
fA정규화=fNA=50,000100,000=0.5f_{A정규화} = \frac{f}{N_A} = \frac{50,000}{100,000} = 0.5
fB정규화=fNB=50,000200,000=0.25f_{B정규화} = \frac{f}{N_B} = \frac{50,000}{200,000} = 0.25

결론

  • 주파수 대역 활용도 : 시스템 A가 시스템 B보다 동일한 주파수 대역(50 kHz)을 사용하는데 있어 더 높은 정규화된 주파수 값을 가진다. 이는 시스템 A가 동일한 주파수 대역에서 더 높은 데이터 전송률을 필요로 한다는 것을 의미한다.
  • 효율성 : 시스템 B가 더 낮은 정규화된 주파수 값을 가지므로, 동일한 주파수 대역을 사용하는 데 있어 효율적일 수 있다.

    출처 : ChatGPT
  • 좋은 신호는 전송 대역폭(Bandwidth)의 중앙에 전송 전력(Power)을 집중시켜야 한다.

    즉, Polar NRZ-L과 NRZ-I는 0 Hz에 가까운 저대역 주파수의 전력 밀도가 높은 것을 알 수 있다.
    -> DC 성분 문제 발생함을 알 수 있다.

RZ(Return-to-zero)

NRZ 인코딩 방식의 주요 문제인 동기화 문제를 해결하고자 고안되었다.
해당 방식은 bit들 사이에서 신호가 변하지 않고, bit 중간에서 변화한다.
그림 4.7에서는 신호가 각 비트의 중간지점에서 0을 향해 가는 것을 볼 수 있다.
-> DC성분 문제 해결

단점
  • 1비트를 표현하기 위해 2개의 신호 변화가 필요하다.
    -> 신호율이 높다. (= 대역폭이 높다 = 비용이 많이 든다.)
  • 3가지 준위(+, 0, -)를 사용함으로써 신호 생성과 판단하는데에 매우 복잡하다.

Biphase: Manchester and Differential Manchester

RZ방식의 비효율성을 해결하기 위해서 고안되었다.
비트의 중간지점에서 천이를 일으키는 RZ방식과 NRZ-L방식의 조합으로 Manchester방식을 만들었다.
해당 방식의 신호는 2개의 반쪽으로 나뉜다. 첫 반쪽은 하나의 준위를 유지하고 나머지 반쪽은 다른 준위로 이동한다.
RZ방식과 유사하지만, 0으로 향하는 것이 아닌, 다른 준위로 이동함(high to low, low to high)
따라서 0은 high to low의 형태를,
1은 low to high의 형태를 띈다.

반면에 Differential Manchester 방식은 RZ방식과 NRZ-I방식의 조합이다.
항상 비트의 중간 지점에서 천이가 발생한다는 점에서 Manchester방식과 동일하지만 비트의 값이 비트의 시작부분에서 결정된다는 차이가 있다.
즉, 다음 비트가 0이라면 천이가 발생하는데 비트의 시작부분에서 발생한다.
다음 비트가 1이라면 천이는 발생하지 않는다.

이로 인해 Biphase방식들은 각각 NRZ-L방식과 NRZ-I방식의 여러 문제점들을 해결할 수 있었다.

  • 기준선 표류 문제를 해결했다.
  • DC 성분 문제를 해결했다.
  • 동기 문제의 해결.

오직 한가지 문제는 신호율이었다. RZ방식과 동일하게 높은 신호율을 가진다.(NRZ방식의 2배)

참고)

초기 이더넷 : 10Mbps
맨체스터 신호 체계를 사용하였다.
고속 이더넷 : 100Mbps로의 변경을 위해서는 높은 신호율은 문제가 되었음.
높은 신호율 -> 높은 대역폭 요구 -> 비용의 증가 -> 고속 전송에 부적합

NRZ 신호체계를 이용하면?

NRZ 방식을 사용하면 맨체스터 방식에 비해 12\frac{1}{2}배의 Baud rate(= signal rate)를 가짐.
하지만, 동기 문제가 발생함
=> 그나마 동기 문제가 적은 NRZ-I 방식을 사용하도록 함.
-> NRZ-I방식은 1이 연속되는 구간에서는 문제가 되지 않지만, 0이 연속되는 구간에서는 동기 문제를 해결해야 함.
-> 블록 인코딩 방식의 탄생 배경이 됨. (블록 인코딩을 사용하면 0이 연속되는 부분을 제거할 수 있음)

양극형 (Bipolar)

해당 방식은 때때로 multilevel binary라고도 불린다. 3가지 전압 준위를 사용한다(+, 0, -)

AMI and Pseudoternary

Bipolar방식에는 2가지 체계가 존재한다.
AMI(Alternate Mark Inversion)방식은 앞서 나온 1비트의 준위에 따라서 천이가 이루어진다.
즉, 비트 0에 대한 준위는 0전압이다.
하지만, 비트 1에 대한 준위는 양전압과 음전압을 교대로 나타낸다.

Pseudoternary 방식은 AMI 방식의 반대이다.
즉, 비트 1에 대한 준위는 0전압이다.
하지만, 비트 0에 대한 준위는 양전압과 음전압을 교대로 나타낸다.

두 방식 모두 동기 문제가 발생한다.
AMI방식의 경우에는 연속되는 0에서의 동기 문제가 발생하고
Pseudoternary 방식의 경우에는 연속되는 1에서 동기 문제가 발생한다.

Bipolar방식은 NRZ방식을 대체하기 위해서 개발되었다.
NRZ방식과 같은 신호율을 가지며, DC 문제를 해결한다.

Bipolar방식은 3가지 준위(+,0,-)를 사용하기 때문에 한 레벨당 Log23Log_2 3 = 1.58bit를 담을 수 있는데 각 signal element는 오직 1개의 bit만을 표현한다. (0.58 bit 낭비중..)

다준위 (Multilevel)

데이터율을 올리고 요구 대역폭을 줄이고자하는 욕망은 많은 신호 체계를 만들었다.
목표는 m 데이터 요소의 패턴을 n 신호 요소의 패턴으로 인코딩함으로써 보에 대한 비트의 수를 증가시키는 것이다.

2B1Q

mBnL 패턴의 신호체계는 2B1Q(2Binary 1 Quaternary)이다.
즉, 2bit 데이터 요소의 패턴을 1개의 신호 요소 패턴으로 인코딩한다. (m = 2, n = 1)
준위는 4개 (Quternary) 존재한다.

레벨의 준위가 많을 수록 수신자 입장에서는 해당 신호의 준위를 정확히 파악하는데 힘이 든다. 간격을 넓히기 위해서는 power를 늘려야 한다.

해당 방식은 DSL(Digital Subscriber Line)기술을 위해 사용되었다.

8B6T

8 bit의 데이터 요소 패턴을 6개의 신호 요소 패턴으로 인코딩한다.
준위는 3개(Ternary) 존재한다.

구간의 전압의 합은 0 또는 +1로 존재해야 한다.
첫 구간 : 0
두번째 구간 : +1
세번째 구간 : +1
총 합 : +2 (존재할 수 없음)
세번째 구간을 Invert하여 +--+0+를 -++-0-로 변경하여 송신한다.
수신측에서는 세번째 구간의 전압 합이 -1로 존재할 수 없음을 깨닫고 Invert해서 신호를 해석한다.

4D-PAM5

4 Dimensional 5 Level Pulse Amplitude Modulation의 약어이다.
4개의 차원은 데이터가 동시에 4개의 선을 통해 전달된다는 것을 의미한다.
5개의 준위를 가지는데 0전압은 오류 검출을 위해서 사용된다.
만약, 오직 1개의 차원만을 가진다면, 4개의 준위는 8B4Q와 유사한 신호를 생성 한다.
해당 기술은 4개의 채널(wire)으로 데이터를 전송하기 위해서 발명되었다. 이는 곧 N/8N/8의 신호율(C = 1/2)을 의미하고 이는 상당한 성취이다.
모든 8bit가 1개의 신호요소를 이용함으로써 동시에 선을 통해 이동할 수 있다.
기가 비트 랜(Gigabit LANs)을 위해 사용되었다.

다중회선 (Multitransition)

NRZ-I와 Differential Manchester 방식은 서로 다른 부류로 구분되지만, 이진 데이터를 부호화하기 위해서 2가지 전이 규칙(전위 뒤집기와 뒤집지 않기)을 사용한다.
만약 2개 이상의 준위를 가지는 신호가 있다면, 둘 이상의 다른 전이 규칙을 가지는 차분 방식의 부호화를 설계할 수 있다.

MLT-3

Multiline Transmission, Three-level 방식은 준위들 사이를 이동하기 위해 3가지 전이 규칙을 가진다.
1. 다음 비트가 0이라면, 전이는 없다.
2. 다음 비트가 1이고 현재 준위가 0이 아니라면, 다음 준위는 0이다.
3. 다음 비트가 1이고 현재 준위가 0이라면, 다음 준위는 이전 마지막 0이 아닌 준위의 반대이다.

해당 방식의 신호율은 NRZ-I와 같지만 더 복잡하다.
하지만, 요구 대역폭을 줄인다는 것을 볼 수 있다.
최악의 상황(그림 4.13b)에서 신호 요소 패턴인 +V0 -V0가 4비트 마다 반복되는 것을 볼 수 있다. 이는 비주기 신호를 비트 시간의 4배에 해당하는 주기를 갖는 주기 신호로 바꾼 셈이다.
-> 이는 MLT-3방식이 32MHz이상의 주파수를 지원하기 어려운 구리선을 따라 100Mbps의 데이터를 전송하기에 적합한 방식이라는 것을 말해준다.

라인 부호화 정리

블록 부호화(Block Coding)

1. 동기화를 위해서는 어떤 식이든 여분의 비트가 필요하다.
2. 오류 검출을 위해서도 여분의 비트들을 포함해야 한다.
블록 부호화는 이 2가지 목적을 달성 할 수 있다.

블록 부호화는 m비트를 n비트의 블록으로 바꾸는데 mB/nB 부호화로 불린다.

4B/5B

4 Binary / 5 Binary 부호화는 NRZ-I방식과 혼합하여 사용하기 위해서 설계되었다.
NRZ-I 방식은 꽤 좋은 신호율을 가지지만, 동기 문제가 있다.
길게 연속된 0비트들은 해당 신호 체계에서 문제가 되는데 이는 4B/5B 블록 부호화로 해결할 수 있다.
해당 블록 부호화를 거치면 3개 이상의 연속된 0비트들은 나오지 않는다. 이후 라인 부호화를 거쳐 NRZ-I방식의 동기 문제를 보완한다.

4bit를 5bit로 표현한다는 것은 2524=162^5 - 2^4 = 16개의 사용되지 않는 그룹이 존재한다는 것이다.
사용되지 않는 16개의 그룹은 오류 검출과 제어의 목적으로 사용된다.

블록 부호화의 결과로 인해 여분의 비트가 추가되었기 때문에 20%의 추가 보오율(Baud rate)이 생겼지만, Biphase방식보다는 여전히 적다.

그러나, 4B/5B 방식은 NRZ-I 신호 체계의 직류 성분 문제를 해결하지 못한다.
(직류 문제때문에 곤란하다면, Biphase 방식이나 Bipolar 방식을 사용해야 한다.)

8B/10B

8비트 그룹이 10비트 그룹으로 바뀌는 것을 제외하고는 4B/5B 방식과 유사하다.
21028=7682^{10} - 2^8 = 768개의 여분 그룹은 오류 검출을 위해 사용된다.
-> 4B/5B보다 여분 그룹이 많기 때문에 더 나은 오류 확인이 가능함.

뒤섞기 (Scrambling)

Biphase 방식은 높은 신호율(= 요구 대역폭 높음)로 인해서 짧은 거리의 LAN에는 적당하지만, 장거리 통신에는 적합하지 않다.
반면에, AMI 방식DC성분 문제가 없어서 장거리 통신에는 적합하지만, 연속된 0에 대한 동기 문제가 발생한다.

뒤섞기 방식은 비트 수를 증가시키지 않으면서 동기 문제 해결, DC 성분 문제 해결을 위한 방식이다.

그림 4.18은 뒤섞기를 포함한 AMI의 모습을 보여준다.

B8Zs

Bipolar with 8-zero substitution은 북미에서 자주 사용하는 기술이다.
8개의 연속되는 0비트는 000VB0VB로 치환된다.
V는 AMI 룰에 위배되는 0이 아닌 준위를 의미한다.
B는 AMI 규칙을 따르는 0이 아닌 준위를 의미한다.

HDB3

High-Density Bipolar 3-zero는 북미 이외(유럽, 일본)에서 자주 사용하는 방식이다.

4개의 연속된 0이 000VB00V로 치환 된다.
1. 직전 대치 이후에 0이 아닌 펄스의 개수가 홀수인 경우에는, 000V로 대치하는데 이는 전체 0이 아닌 준위의 개수를 짝수로 만든다.
2. 직전 대치 이후에 0이 아닌 펄스의 개수가 짝수인 경우에는, B00V로 대ㅣ하는데 이는 전체 0이 아닌 준위의 개수를 짝수로 만든다.

4.2 아날로그-대-디지털 변환(Analog-to-Digital Conversion)

음성이나 음악은 본래 아날로그이어서 음성이나 비디오를 녹화하는 것은 아날로그 전기 신호를 만들어내는 것이다.

디지털 데이터의 장점

아날로그 데이터를 디지털 데이터로 변환할까?
디지털 데이터는 저장, 고속처리, 스위칭(패킷 단위), 암호화, 압축 등이 용이하기 때문.
디지털 데이터는 리피터(Repeater)
아날로그 데이터는 증폭기(Amplifier)를 사용하는데...
리피터는 증폭기에 비해 잡음 제거에 용이하다.
(디지털 신호는 해당 신호의 값이 0인지, 1인지 만을 구분하면 되기 때문)
증폭기 대신 리피터를 적용하여 잡음 없이 신뢰성 있는 장거리 전송에 용이하다.
=> 아날로그 데이터를 바로 전송하기 보다는 디지털 데이터로 변환 후, 디지털 or 아날로그 신호로 전송하자!

펄스 코드 변조(Pulse Code Modulation)

아날로그 데이터를 디지털 데이터로 바꾸기 위해 가장 널리 사용되는 기법이 펄스 코드 변조(PCM)이다. PCM은 다음과 같은 3가지 과정을 거친다.

그림 4.21의 PCM encoder박스의 그림이 잘못되었다.

Encoding과 Quantizing의 순서가 서로 변경되어야 함.

  1. 아날로그 시그널의 표본을 채집한다. (Sampling)
  2. 채집된 신호를 계수화한다. (Quantizing)
  3. 계수화된 값을 비트 스트림으로 부호화한다. (Encoding)

1. PCM의 첫번째 단계는 표본 채집(Sampling)이다.

세 가지 채집 방법이 존재한다.

이상적 채집(Ideal sampling)은 이상적인 방법이지만, 구현하기 쉽지 않다.
자연적 채집(Natural sampling)은 고속 교환기가 채집이 일어나는 짧은 시간 동안만 잠시 켜지게 된다. 그 결과로 아날로그 신호의 모양을 유지하는 일련의 채집량이 생긴다.
가장 흔한 채집 방법은 채집 후 유지(Sampling and hold)라고 불리는데, 이는 전기 회로를 사용하여 꼭지치기(Flat-top)채집량을 만들어내게 된다.

채집 과정은 때때로 펄스 진폭 변조(PAM, Pulse Amplitude Modulation)라고도 불린다.
그러나 이 결과로 생긴것은 여전히 정수값이 아닌 아날로그 신호이다.

그렇다면, 표본 채집률(Sampling rate)은 얼마로 해야할까?

나이퀴스트 정리에 의하면, 채집률은 최소한 신호에 포함된 최고 주파수의 두 배가 되어야 한다. 최대 주파수의 2배로 샘플링을 진행하면 샘플 신호로부터 원래의 아날로그 신호를 복원할 수 있다.



그림 4.24는 서로 다른 채집률을 가지는 정현파 신호의 복구를 보여준다.
b의 경우는 나이퀴스트 주파수보다 2배 많이 샘플링을 한 경우이다. (Oversampling)
-> 원래의 신호와 근사한 결과를 가지지만, 불필요하다.

c의 경우는 나이퀴스트 주파수의 1/2배 샘플링을 한 경우이다. (Undersampling)
-> 원래 신호를 제대로 복원하지 못한다.

2. 계수화(Quantizing)

채집 결과로 얻은 것은 신호의 최대 진폭과 최소 진폭 사이의 값을 갖는 일련의 진폭 값들이다.
이 값들은 정수가 아니기 때문에 부호화 과정에서 사용될 수 없다.

  • 원래의 아날로그 신호는 VminV_{min}VmaxV_{max}사이의 진폭 값을 순간적으로 갖는다고 가정한다.
  • 전체 영역을 각각 높이 Δ\Delta(델타)의 LL개의 구간으로 나눈다.
    Δ=VmaxVminL\Delta = \frac{V_{max} - V_{min}}{L}
  • 각 구간의 중간점에 0부터 L1L-1까지의 계수화된 값을 지정한다.
  • 채집된 신호의 진폭 값을 계수화된 값의 하나로 근사값을 정한다.

계수화 준위(Quantization Levels)

준위의 개수는 아날로그 신호의 진폭 구간과 얼마나 정확하게 신호를 복구하려는가에 달려있다.
음성처럼 신호가 많은 진폭 값을 갖는 경우에는 더 많은 수의 준위가 필요하다.

계수화 오차(Quantization Error)

계수화는 근사값을 만드는 과정이다. 앞의 예시 에서는 세 번째 표본의 정규화된 진폭은 3.24이지만, 정규화된 계수화 값은 3.5이다. 이는 +0.26만큼의 오차가 생긴것을 의미한다.
어떤 표본이건 오차는 Δ/2\Delta/2 이하이다.

계수화 오차는 신호의 신호-대-잡음 비를 바꾸는데, 이는 섀넌 정리에 의해 전송 대역 상한을 줄이게 되는 것을 의미한다.
신호의 SNRdBSNR_{dB}에 미치는 계수화 오차의 정도는 준위의 개수(nbn_b)로 표시되는 표본당 비트 수에 의해 아래 수식으로 표시할 수 있다.

SNRdB=6.02nb+1.76dBSNR_{dB} = 6.02n_b + 1.76 \quad dB

균등 대 비균등 계수화(Uniform & Nonuniform Quantization)

많은 경우에 아날로그 신호의 순간 값들의 분포는 균일하지 않다. 진폭의 변화가 보통 높은 진폭보다는 낮은 진폭 부근에서 더 잦다. 이런 종류의 응용에는 비균등 구역을 사용하는 것이 좋다.
즉, 낮은 진폭 값에서는 Δ\Delta의 값이 크고, 높은 진폭 값에서는 낮다.
비균등 계수화를 통해 계수화 오류를 줄일 수 있다는 것이 증명되었다.

3. 부호화(Encoding)

PCM의 마지막 단계는 부호화이다. 각 표본이 계수화되고 표본당 비트 수가 정해진 이후에는 각 표본이 nbn_b 비트의 부호로 바뀌는 것이다. 각 표본에 할당되는 비트의 수는 계수화 준위의 개수에 의해 정해짐에 유의하라.
비트율은 다음과 같은 공식으로 구할 수 있다.

Bitrate=sampling ratenumber of bits per sample=fsnbBit rate = sampling\space rate * number\space of \space bits\space per\space sample = f_s * n_b

원래 신호의 복구

원래 신호를 복구하기 위해서는 PCM 복호기(decoder)가 필요하다.

  • 전기 회로를 사용하여 수신된 코드를 다음 펄스까지 일정한 값으로 유지하는 펄스로 변환한다.
  • 계단형의 신호가 만들어지면 저대역-통과 필터(Low-pass)를 통과시켜 계단형 신호를 부드러운 아날로그 신호로 바꾼다.
  • 필터는 수신자의 원래 신호의 단절 주파수(Cutoff frequency)와 동일한 단절 주파수를 갖는다.
  • 신호가 나이퀴스트 채집률과 동일하거나 크게 채집되었고 충분한 계수화 준위 개수를 사용했다면 원래 신호로 복구될 것이다.

PCM 대역폭

저대역-통과 신호의 대역폭이 있다고 가정하자. 신호를 디지털로 변환하면 이 디지털 신호를 통과시킬수 있는 채널의 최소 대역폭은 무엇인가?
회선 부호화를 거친 신호의 최소 요구 대역폭에 과한 공식은 다음과 같았다.

Bmin=cN1rB_{min} = c * N * \frac{1}{r}

이를 이용하여 N을 대치하면 다음과 같다.

=cnbfs1r=cnb2Banalog1r= c * n_b * f_s * \frac{1}{r} = c * n_b * 2 * B_{analog}* \frac{1}{r}

1/r이 1(NRZ 또는 polar 신호 체계)이고 c = 1/2 (평균의 경우)이면 최소 대역폭은 다음과 같다.

Bmin=nbBanalogB_{min} = n_b * B_{analog}

4.2.2 델타 변조

PCM은 매우 복잡한 기술이다. PCM의 복잡도를 낮추기 위해서 다른 기술들이 개발되었다.
PCM은 각 표본 채집 시에 신호의 진폭 값을 찾는 반면에
DM(Delta Modulation)은 직전 표본 값과의 차이 값을 찾는다.

변조기(Modulator)

송신자는 아날로그 신호로부터 비트 스트림을 만들어 보내기 위해 변조기를 사용한다.
이 과정은 델타(δ\delta)라고 불리는 작은 양 또는 음의 차이들을 기록하는 과정이다.
델타가 양이면 1로 기록하고 음이면 0으로 기록한다.
그러나 이 절차는 원래의 아날로그 신호가 기준으로 삼아야 하는 기준 값이 필요하다.
변조기는 계단 모양과 유사한 제2의 신호를 만들게 된다. 이제 차이를 찾는다는 것은 입력 신호를 점진적으로 만든 계단 신호와 비교하는 것이 된다.

각 채집 구간마다 변조기는 아날로그 신호의 값과 직전의 계단 신호의 값을 비교한다. 아날로그 신호가 더 크면 디지털 데이터의 다음 비트는 1이 되고 그렇지 않으면 0이 된다.

복조기 (Demodulator)

복조기는 디지털 신호를 받아서 계단 신호 발생기와 지연 요소를 사용하여 원래의 신호를 재생한다. 그러나 재생된 아날로그 신호는 부드럽게 만들기 위해서 저대역-통과 필터를 거쳐야 한다.

적응 DM

델타의 값을 고정시키지 않으면 더 나은 성능을 얻을 수 있다. 적응 델타 변조 (Adaptive delta modulation)의 경우에는 아날로그 신호의 진폭 값에 따라 델타의 값이 변화한다.

4.3 전송 방식


전송 방식은 크게 2가지로 구분할 수 있다.

4.3.1 병렬 전송(Parallel Transmission)

1과 0으로 구성된 2진 데이터는 각각 n비트로 이루어진 그룹으로 조직될 수 있다. 한 번에 1개의 비트를 보내는 대신 그룹으로 만들어 n개의 비트 데이터를 보낼 수 있게 된다. 이것을 병렬 전송이라고 한다.

병렬 전송은 동시에 n비트를 보내기 위해 n개의 전선을 사용하는 것이다.
한 그룹의 모든 n 비트는 매 클록 펄스에 맞춰 한 장치에서 다른 장치로 전송될 수 있다.
병렬전송은 빠르다는 장점이 있지만, 비용이 많이 들기 때문에(n개 만큼의 매체가 필요) 일반적으로 짧은 거리로 제한된다.

4.3.2 직렬 전송 (Serial Transmission)

직렬 전송에서는 한 비트가 다른 비트 뒤에 오므로, 통신하는 두 장치 간 데이터 전송을 위해 단지 하나의 채널만이 필요하다.
장치 내에서의 통신은 병렬이므로 송신자와 전선 사이(병렬-직렬) 및 전선과 수신자(직렬-병렬)사이에서 변환 장치가 필요하다.

직렬 전송은 비동기, 동기, 동시식이라는 세 방법 중 하나로 이루어진다.

비동기식 전송(Asynchronous Transmission)

비동기식 전송은 신호의 타이밍이 중요하지 않기 때문에 이처럼 명명되었다. 대신에 정보는 약속된 패턴으로 수신되고 변환된다.

비동기식 전송에서는 시작부분에 1개의 시작 비트(0)와 각 바이트의 끝에 하나 이상의 정지 비트(1)를 보낸다. 각 바이트 간에는 간격이 있을 수 있다.

동기식 전송(Synchronous Transmission)

동기식 전송에서 비트 스트림은 여러 바이트가 들어 있는 길이가 긴 "프레임"으로 합쳐진다.
그러나 각 바이트는 전송 링크에 바이트와 다음 바이트 사이에 간격없이 들어온다.
복호화를 위해 비트 스트림을 바이트로 분리하는 것은 수신자의 몫이다.

동기식 전송에서는 시작 비트/정지 비트 및 간격 없이 차례로 비트를 보낸다.
비트를 그룹화하는 것은 수신자의 책임이다.
업로드중..
업로드중..

동시식 전송(Isochronous Transmission)

실시간 음성이나 화상과 같이 일정치 않은 프레임 사이의 간격이 용납되기 어려운 경우에는 동기식 전송이 적절치 않다. (프레임 사이의 지연이 생기면 안 됨) 이러한 경우에는 전체 비트 스트림이 동기화되어야한다. 등시식 전송은 정해진 시간에 데이터가 도착하는 것을 보장한다.

profile
Its me Glico

0개의 댓글