seegongsik
내 단어장
CM · 잡음과 정보

채널 용량과 샤논

아무리 영리하게 부호를 짜도, 한 채널이 오류 없이 실어 나를 수 있는 비트율에는 천장이 있다. 그 천장은 오직 대역폭과 SNR 두 가지로 정해진다는 샤논의 결론과, 대역폭과 전력을 맞바꾸는 법을 익힌다.

이 채널은 목표 율을 감당하나

SNR을 키우고 줄여 보라. 용량 곡선 C/B = log₂(1 + SNR)가 점선으로 그은 목표 율 위로 올라서면 그 율을 오류 없이 보낼 수 있고(금색), 아래에 머물면 어떤 부호로도 불가능하다(빨강).

신호 대 잡음비 SNRSNR = 3.0 dB
슬라이더로 SNR을 쓸어 보라. 용량은 SNR의 로그로 천천히 오른다.
지금 SNR의 용량과 목표
C/B = 1.58 < 4
용량 부족

영리하면 무한히 빠를까

잡음이 비트를 뒤집는다면, 같은 비트를 여러 번 보내거나 영리한 부호를 더해 오류를 줄일 수 있다. 그렇다면 부호를 충분히 정교하게 짜면 어떤 잡음 채널에서도 원하는 만큼 빠르고 정확하게 보낼 수 있을까. 1948년 샤논의 답은 놀라웠다. 아니다. 단단한 천장이 있다. 다만 그 천장 아래에서는 오류를 0에 가깝게 만들 수 있다.

샤논의 공식

천장의 값은 한 줄로 적힌다. C = B log₂(1 + SNR). 여기서 C는 1초에 오류 없이 보낼 수 있는 최대 비트 수, B는 대역폭, SNR은 신호 대 잡음비다. 이 식에 변조 방식도, 부호의 종류도 들어 있지 않다. 채널의 용량은 오직 대역폭과 SNR 두 수로 정해진다. 율 Rb가 C보다 작으면 적절한 부호로 임의로 신뢰성 있게 보낼 수 있고, C보다 크면 어떤 방법으로도 오류를 피할 수 없다.

관찰C = B log₂(1 + SNR)
용량은 대역폭과 SNR만으로 정해진다.
고르기Rb ? C
C 아래에서만 임의로 신뢰성 있게 보낼 수 있다.

맞바꿈: 대역폭과 전력

용량을 올리는 길은 둘이다. 대역폭 B를 넓히거나, 신호 전력을 키워 SNR을 올리거나. 그런데 둘의 효과가 다르다. B는 식 앞에 선형으로 붙어 두 배로 하면 용량도 두 배가 되지만, SNR은 로그 안에 들어 있어 1비트를 더 얻으려면 SNR을 대략 두 배로 키워야 한다. 전력은 금세 수확이 줄고 대역폭은 꾸준하다. 그래서 전력이 귀하면 대역을 넓히고, 대역이 귀하면 전력을 쏟는다. 대역을 무한히 넓혀도 비트당 에너지에는 넘을 수 없는 최소값이 남는다.

빈칸η = C / ? = log₂(1 + SNR)
1헤르츠당 효율은 log₂(1 + SNR).
스스로B → 2B : C → ?
대역폭을 두 배로 하면 용량도 두 배(SNR 고정).

첫 화면으로 돌아가서

SNR이 낮을 때는 용량 곡선이 목표 율 아래에 깔려, 그 율은 어떤 부호로도 보낼 수 없는 빨강이었다. SNR을 올리자 곡선이 천천히 솟아 목표를 넘어서며 금색으로 바뀌었다. 곡선이 로그라 한 칸 올리는 데 점점 더 큰 SNR이 들었다. 채널 용량에서 들어야 할 단 하나는 이것이다. 오류 없는 통신의 절대 천장은 오직 대역폭과 SNR으로 C = B log₂(1 + SNR)에 박혀 있고, 그 아래는 모두 가능하며 그 위는 모두 불가능하다.

채널 용량 C = B log₂(1 + SNR)는 한 채널이 오류를 임의로 작게 하며 보낼 수 있는 최대 비트율이다. 변조나 부호와 무관하게 오직 대역폭 B와 SNR으로 정해진다. 율이 C보다 작으면 적절한 부호로 신뢰성 있게 보낼 수 있고, C보다 크면 불가능하다. 용량을 올리려면 대역폭(선형)이나 전력/SNR(로그)을 키우며, 둘을 맞바꿀 수 있다.

다음 유닛에서

샤논은 C 아래에서 오류를 0에 가깝게 만들 수 있다고 약속했지만, 어떻게는 말하지 않았다. 마지막 유닛은 그 방법, 오류 부호화다. 보낼 비트에 규칙에 따른 여분의 비트를 덧붙이면, 잡음이 몇 개를 뒤집어도 수신기가 그 여분으로 어긋남을 알아채고 바로잡는다. 패리티 한 비트에서 시작해 오류를 검출하고 정정하는 원리를 본다.