요약

라디오 방송국들이 서로 다른 주파수로 동시에 방송하듯, 링크가 실어 나를 수 있는 주파수 범위를 여러 좁은 구간으로 나눠 사용자마다 한 구간을 계속 쓰게 하는 방법이다. 모두가 동시에, 쉬지 않고 보낼 수 있다. 대신 이웃 구간끼리 새지 않도록 사이를 띄워야 해서 그만큼 낭비되고, 보낼 것이 없는 사용자의 구간도 비어 있다.

예시로 보기

FM 라디오에서 방송국마다 다른 주파수를 쓴다. 모든 방송국이 동시에 방송하지만, 다이얼로 주파수를 고르면 한 방송만 들린다.

사용자 4명이 주파수를 나눠 쓰는 모습을 가로축 시간, 세로축 주파수로 그리면 색 띠 4개가 가로로 쌓인다. 띠마다 시간 축 전체를 덮고, 주파수 축은 4분의 1씩 차지한다. 실제 수치로 보면 이렇다. 반송파(신호를 실어 나르는 기준 주파수) 64, 68, 72 kHz에 실린 채널 3개가 60~64, 64~68, 68~72 kHz를 하나씩 차지하고, 채널 하나의 폭은 4 kHz다.

68~72 kHz │██████████  채널 3 (반송파 72 kHz)
64~68 kHz │▓▓▓▓▓▓▓▓▓▓  채널 2 (반송파 68 kHz)
60~64 kHz │░░░░░░░░░░  채널 1 (반송파 64 kHz)
          └──────────→ 시간

아래 정의에서는 방송국 하나를 입력 \(i\), 그 방송국의 주파수 구간을 \([f_i, f_i + W_i)\)(\(f_i\)부터 폭 \(W_i\)만큼)라 쓴다. 방송 내용은 따지지 않고 어느 구간을 차지하는지만 본다. 비유가 다른 곳도 있다. 라디오 수신기는 방송 하나만 고르지만, DEMUX는 모든 채널을 동시에 각 출력으로 나눈다.

정의

정의

링크가 쓸 수 있는 주파수 폭 \(B\)를 서로 겹치지 않는 구간 \(N\)개로 나눠 입력마다 하나씩 준다. 구간 폭을 다 더해도 \(B\)를 넘을 수 없다. 받는 쪽은 신호가 어느 주파수 구간에 있는지를 보고 누구 것인지 안다.

기호로 쓰면. 링크가 쓸 수 있는 주파수 범위를 \([f_0, f_0 + B)\)(폭 \(B\) Hz)라 하자. 입력 \(i = 1, \dots, N\)에 서로 겹치지 않는 구간 \([f_i, f_i + W_i) \subseteq [f_0, f_0 + B)\)(\(\subseteq\)는 “~에 모두 들어 있다(부분집합)”)를 배정한다. 그러면 \(\sum_{i=1}^{N} W_i \le B\)(구간 폭의 합은 전체 폭 이하)다. 입력 \(i\)의 신호는 자기 구간 안으로 옮겨 싣는다(변조)1. DEMUX 키는 주파수 구간이다.

보장한다 보장하지 않는다
모든 입력이 동시에, 쉬지 않고 전송할 수 있다 쉬는 채널의 재사용. 입력이 보낼 것이 없어도 그 대역은 비어 있다1
보호 대역이 충분하면 입력끼리 간섭하지 않는다 대역의 완전한 활용. 채널 사이 보호 대역만큼은 늘 낭비된다

필터가 불완전하거나 반송파 주파수가 흔들리면 이웃 채널의 신호가 섞여 들어온다(누화). 채널 사이에 빈 간격, 즉 보호 대역을 두는 이유다1.

flowchart LR
  M1["입력 1을 반송파 64 kHz에 실음"] --> S["합쳐서 링크 하나로"]
  M2["입력 2를 반송파 68 kHz에 실음"] --> S
  M3["입력 3을 반송파 72 kHz에 실음"] --> S
  S --> F1["60~64 kHz만 거름"] --> O1["출력 1"]
  S --> F2["64~68 kHz만 거름"] --> O2["출력 2"]
  S --> F3["68~72 kHz만 거름"] --> O3["출력 3"]

보내는 쪽은 입력마다 다른 반송파에 실어 링크 하나에 합친다. 받는 쪽은 주파수 구간마다 거르는 장치(필터)로 다시 가른다. 필터가 구간 경계를 깔끔하게 자르지 못하면 이웃 채널이 섞여 들어온다. 이것이 위의 누화다2.

예제

위 예처럼 채널 하나에 4 kHz를 배정한다. 전화 음성은 약 300~3,400 Hz만 쓴다. 채널 대역 중 음성이 실제로 쓰는 비율은?

  1. 음성 폭: \(3{,}400 - 300 = 3{,}100\) Hz.
  2. 비율: \(3{,}100 / 4{,}000 = 77.5\%\).
  3. 해석: 나머지 22.5%는 이웃 채널과의 간격, 즉 보호 대역 역할을 한다.
  • 끝 경우: 모든 입력이 늘 보낼 것이 있으면 쉬는 채널 낭비는 0이다. 그래도 보호 대역 낭비는 남는다.
검증: 채널 배치 60~64·64~68·68~72 kHz, 60~108 kHz의 12채널, 77.5% — 14_frequency-division-multiplexing_verify.py

활용

  • 가입자 선로의 xDSL은 전화선 하나에 음성과 데이터를 주파수 분할 방식으로 동시에 싣는다. 음성은 저주파, 데이터는 고주파를 쓴다. 자세한 구조는 가입자 선로에 있다.
  • 라디오·TV 방송, 와이파이 채널 나누기가 이 방식이다. 옛 장거리 전화 반송 시스템은 음성 채널 12개를 60~108 kHz에 실었다. 위 예의 60~72 kHz는 이 배치의 앞쪽 세 채널과 같은 수치다.

연결

확인 문제

C1 주파수 분할 다중화에서 받는 쪽이 입력을 구별하는 방법과, 대역을 낭비하는 이유를 쓰라.

답: 입력마다 다른 주파수 구간(채널)을 쓰므로 주파수로 걸러 내어 구별한다. 이웃 채널이 새지 않도록 채널 사이에 보호 대역을 두어야 해서 그만큼 대역이 낭비된다.

C3 사용자 4명의 주파수 분할 다중화와 시분할 다중화를 가로축 시간, 세로축 주파수인 평면에 그리고, 한 사용자가 차지하는 영역을 표시하라.

답: 주파수 분할: 가로로 긴 띠 4개. 사용자 하나가 시간 전체 × 주파수 1/4을 차지한다. 시분할: 세로로 좁은 막대가 반복된다. 사용자 하나가 주파수 전체 × 시간 1/4(4칸마다 1칸)을 차지한다.

C4 주파수 분할 다중화의 보호 대역 낭비와, 쉬는 사용자 때문에 생기는 낭비는 원인이 어떻게 다른가? 시분할 다중화에는 어느 쪽이 있는가?

답: 보호 대역은 채널을 나누는 구조 때문에 트래픽과 상관없이 늘 생긴다. 쉬는 사용자 낭비는 고정 할당 때문에 사용자가 보낼 것이 없을 때 생긴다. 주파수 분할에는 둘 다 있다. 시분할에는 보호 대역이 없지만 쉬는 사용자 낭비는 있다(동기 비트 같은 작은 오버헤드는 있다).

  1. Peterson & Davie, Computer Networks: A Systems Approach, 1.2절의 내용이다. ↩ ↩2 ↩3

  2. 받는 쪽이 주파수 구간마다 필터로 거른다는 구조는 Peterson & Davie, Computer Networks: A Systems Approach, 1.2절의 일반 구조다. ↩