아날로그
디지털
주기 (Cycle)
? 하나의 전체 패턴의 완성으로, 하나의 완전한 주기는 360도 이다.
✏️ 데이터 통신에선 일반적으로 주기적인 아날로그 신호와 비주기적인 디지털 신호를 사용한다.
주기적인 아날로그 신호는 단일(simple) 또는 복합(composite)으로 분류 가능하다.
신호의 분류
- 아날로그
- 단일 (simple) (예: sine wave)
- 복합 (composite)
- 디지털
sine wave?
- 주기적인 아날로그 신호의 가장 기본적인 형태로, 단일신호
- 공식
s(t) = Asin(2πft + Φ)
✏️ A는 진폭, f는 진동수, t는 시간을 의미하는 미지수, Φ는 위상
주기(T)와 진동수(f)는 역수 관계이다.
✏️ 위상, 진폭, 진동수에 따라 하나의 신호로 한 번에 많은 양의 데이터를 처리할 수 있어 통신이 빨라지지만, 신호를 수신하는 쪽에서 구분하기 모호해지기 때문에 에러가 발생할 확률이 높다.
λ = c/f (propagation speed/frequency)
세 개의 사인파에 대한 시간 영역과 주파수 영역
Fourier 분석에 따르면, 모든 복합 신호는 주파수/진폭/위상이 다른 사인파의 조합이다.
주기적인 복합 신호의 분해 (decomposition)
: 이산적인 주파수를 가진 일련의 신호
비주기적인 복합 신호의 분해
: 연속적인 주파수를 가진 사인파들의 조합
✏️ 일반적으로 통신에서는 비주기적인 복합 신호를 사용한다. 복합 신호가 주기적이라는 것은 우리가 정확히 같은 톤으로 같은 말을 반복하고 있다는 것을 의미하기 때문이다.
Frequency spectrum 주파수 대역
? 신호를 만드는 모든 사인파의 주파수 조합
Bandwidth 대역폭
? 신호의 주파수 대역의 너비
디지털 신호는 두 개 이상의 레벨을 가지며, 각 레벨에서 1개 이상의 비트를 전송한다.
디지털 신호의 레벨당 필요한 비트의 수
= log₂L (L은 레벨의 수)
✏️ Bit
- 비트의 길이 = 전파 속도 x 비트 지속 시간
- 비트율 (Bit Rate)
- 1초에 전송되는 비트의 수
- 단위: bps
✏️ 디지털 신호는 무한한 대역폭을 가진 복합 아날로그 신호이다.
- 서로 다른 진동수를 가진 무수히 많은 아날로그 신호들로 이루어진 합성 신호
→ 무한한 대역폭을 가짐- 이때 주기적인 디지털 신호는 이산적인 주파수를, 비주기적인 디지털 신호는 연속적인 주파수를 갖는다.
채널의 유형
디지털 신호의 형태를 보존하는 기저 대역 전송은 무한하거나 매우 넓은 대역폭을 가진 전용 저대역 채널이 있는 경우에만 가능하다.
제한된 대역폭을 가진 저대역 채널
디지털 신호의 대역폭은 무한하므로, 디지털 신호를 전송하는 매체의 대역폭이 좁거나 띠대역 채널인 경우는 디지털 신호의 형태가 훼손된다.
제한된 대역폭을 가진 저대역 채널을 사용할 경우, 디지털 신호와 근사한 모양의 아날로그 신호를 통해 디지털 신호를 추정한다.
기저 대역 채널에서 요구되는 대역폭은 비트율에 비례한다.
💭 사실 이부분 전체적으로 이해가 잘 안된다... 비트율이 N인 디지털 신호의 대략적인 대역폭 근사치가 왜 N/2인지도 모르겠고 harmonics (고조파)와 대역폭의 관계도 잘 모르겠당... 패쓰~
📌 참고하면 좋은 블로그: https://gusdnd852.tistory.com/197
dB = 10log_10(p2/p1)
- p1, p2
- 1, 2번 시점에서의 신호의 세기 (power)
- 단위: 주로 milliwatts (mW)- - 데시벨 음수 → p1 > p2 → 신호가 감소됨을 의미
- 데시벨 양수 → p1 < p2 → 신호가 증폭됨을 의미
SNR이 작을 수록 신호의 평균 세기에 비해 잡음의 평균 세기가 크다는 것으로, 원래의 신호가 노이즈에 의해 많이 손상되었음을 의미한다.
SNR(dB) = 10 log_10(SNR)
Bit Rate = 2 x Bandwidth x log_2(L)
L : 신호의 레벨의 수
log_2(L): 신호당 전송되는 비트의 수✏️ 신호의 레벨의 수가 많을수록 한 번에 많은 양의 데이터를 처리할 수 있어 통신이 빨라지지만, 신호를 받는 쪽에서 어떤 레벨인지 판단하기 모호해지기 때문에 에러가 발생할 확률이 높아진다. 즉, 시스템의 신뢰성이 떨어진다.
Capacity = Bandwidth x log_2(1 + SNR)
SNR = 신호의 평균 세기 / 잡음의 평균 세기
섀넌 용량을 통해 채널의 이론적인 최대 데이터 전송률을 알 수 있고, 나이퀴스트 공식을 통해 필요한 신호 레벨의 수를 알 수 있다.
💭 디지털 신호는 무한개의 고조파로 이루어진 복합 아날로그 신호이기 때문에 대역폭이 무한하다. 그러나 무한대의 대역폭을 전송할 수 있는 채널은 지구상에 없기 때문에 해당 채널의 대역폭에 맞는 부분만 채널로 통과시키고 나머지는 버린다. 따라서 디지털 신호의 대역폭을 채널 또는 링크의 비트 전송 속도로 측정하는 것... 인 걸로 일단 나는 이해했다...
? 어떤 지점을 데이터가 얼마나 빠르게 지나가는가를 측정
Throughput = 총 비트 수 / 시간(s)
? 전체 메시지가 목적지로 전달되는데 걸리는 시간
(발신지로부터 첫번째 비트가 보내졌을 때부터, 마지막 비트가 목적지에 도착할 때까지 걸린 시간)
Latency = propagation time + transmission time + queuing time + processing time
전파 시간 = 거리 / 전파 속도
전송시간 = 메시지 크기 / 대역폭
sender에서 데이터를 먼저 하나 보낸 후 receiver로부터 응답 받으면 receiver의 상황을 고려하여 다음 데이터를 보내는 경우, 거리가 멀수록 지연 시간이 길어져 비효율적이다. 이를 보완하는 방법으로는 대역폭과 지연 시간을 곱한 만큼의 신호를 순차적으로 보내는 것이 있다. 의미 없는 지연 시간을 의미 있는 시간(데이터 전송)으로 채우기 때문에 효율적으로 데이터를 전송할 수 있다. 만약 전송에 실패하더라도 본래 지연 시간은 의미 없는 시간이었으니 손해가 아니고, 재전송하면 된다.