도구스개발

섀넌-하틀리 채널 용량 계산기

섀넌-하틀리 정리 C = B·log2(1+S/N)로 대역폭과 신호대잡음비(SNR)에서 잡음 있는 통신로가 낼 수 있는 이론적 최대 전송률을 계산합니다. SNR을 dB나 배수 어느 쪽으로 넣어도 됩니다.

1.000 MHz

= 1,000

채널 용량 C = B·log2(1+S/N)

9.967 Mbps

스펙트럼 효율 9.9672bit/s/Hz

대역폭1.000 MHz
SNR1,000배 (30dB)
채널 용량9.967 Mbps
대역폭에는 정확히 비례합니다. 대역폭을 2배 (2.000 MHz)로 늘리면 용량도 정확히 2배(19.934 Mbps)가 됩니다.
SNR을 2배(+3dB) 올려도 그만큼 늘지 않습니다. 지금 SNR을 2배로 올리면 용량은 10.967 Mbps로, 999.279 kbps만 늘어납니다 — 대역폭 B(1.000 MHz)보다 항상 작고, SNR이 클수록 B에 가까워질 뿐입니다. 신호를 세게 쏘는 쪽의 이득이 로그로만 늘어 급격히 줄어드는 이유입니다.
이 값은 어떤 부호화로도 넘을 수 없는 이론적 상한입니다. 섀넌-하틀리 정리는 이 이하의 전송률이라면 충분히 정교한 부호화로 오류율을 얼마든지 낮출 수 있다는 것도 함께 보장합니다. 실제 통신로는 변조 방식·부호화 오버헤드 때문에 이 값보다 낮은 전송률을 냅니다.
dev/tcp-throughput이 다루는 «회선은 굵은데 왕복시간(RTT) 때문에 못 채우는» 문제는 이 값보다 한 층 위, 프로토콜 계층의 문제입니다. 여기서 구한 채널 용량은 물리 매체 자체의 절대적인 한계라, TCP 윈도를 아무리 튜닝해도 이 값은 넘을 수 없습니다.

사용 방법

  1. 1대역폭(Hz)을 넣습니다.
  2. 2신호대잡음비를 dB 또는 배수로 넣습니다.
  3. 3이론적 최대 전송률(채널 용량)과 스펙트럼 효율을 확인합니다.

자주 묻는 질문

C = B·log2(1+S/N)로, 대역폭 B(Hz)와 신호대잡음비 S/N(선형 배수)만으로 잡음이 섞인 통신로가 오류율을 원하는 만큼 낮게 유지하면서 낼 수 있는 최대 전송률(bit/s)을 구하는 공식입니다. 어떤 변조·부호화 방식을 쓰든 이 한계는 넘을 수 없습니다.

dev/tcp-throughput은 회선이 충분히 굵어도 왕복시간(RTT)과 TCP 윈도 크기 때문에 실제로는 못 채우는 프로토콜 계층의 문제를 다룹니다. 이 도구가 구하는 채널 용량은 그보다 한 층 아래, 물리 매체 자체가 잡음 속에서 낼 수 있는 절대적인 한계라 TCP를 아무리 튜닝해도 이 값은 넘을 수 없습니다.

둘 다 가능합니다. dB로 넣으면 S/N(선형) = 10^(dB/10)로 환산해 계산합니다. 30dB는 1000배, 0dB는 1배(신호와 잡음이 같은 세기)입니다.

log2가 로그함수라 그렇습니다. 대역폭은 용량에 정확히 비례하지만(2배 늘리면 용량도 정확히 2배), SNR을 2배(+3dB) 올렸을 때 늘어나는 용량은 SNR이 클수록 대역폭 B에 가까워질 뿐 그 이상 늘지 않습니다. 신호를 아무리 세게 쏴도 이득이 급격히 줄어드는 이유이자, 무선망이 SNR을 쥐어짜는 대신 대역폭을 넓히는 방향으로 발전해 온 이유입니다.

알아두면 좋은 점

  • 계산되는 값은 이론적 상한입니다. 실제 통신로는 변조 방식·부호화 오버헤드·구현상의 제약 때문에 이 값보다 낮은 전송률을 냅니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.