채널 용량과 샤논
이 채널로 목표 율을 보낼 수 있나
곡선은 용량 C/B = log₂(1 + SNR)을 SNR에 따라 그린 것이고, 그 아래 음영이 실제로 보낼 수 있는 영역이다. 슬라이더로 SNR을 올리면 지금 위치를 가리키는 세로선이 오른쪽으로 옮겨 가는데, 곡선이 점선으로 그은 목표 율 위로 올라서면 금색, 아래에 머물면 빨강이에요. 목표 율보다 아래라면 어떤 부호를 써도 그 율로는 보낼 수 없다는 뜻이다.
영리하면 무한히 빠를까
잡음이 비트를 뒤집는다면 같은 비트를 여러 번 보내거나 영리한 부호를 덧붙여 오류를 줄일 수 있다. 그렇다면 부호를 충분히 정교하게 짜기만 하면 어떤 잡음 채널로도 원하는 만큼 빠르고 정확하게 보낼 수 있을까요? 1948년 샤논의 답은 뜻밖이었다. 그럴 수 없고, 넘을 수 없는 천장이 있다는 것이다. 다만 그 천장 아래에서는 오류를 0에 얼마든지 가깝게 만들 수 있다.
샤논의 공식
천장의 값은 C = B log₂(1 + SNR) 한 줄로 적힌다. C는 1초에 오류 없이 보낼 수 있는 최대 비트 수, B는 대역폭, SNR은 신호 대 잡음비다. 이 식에는 변조 방식도 부호의 종류도 들어 있지 않으니, 채널 용량은 오직 대역폭과 SNR 두 수로 정해지는 셈이에요. 보내려는 율 Rb가 C보다 작으면 알맞은 부호로 얼마든지 믿을 만하게 보낼 수 있고, C보다 크면 어떤 방법으로도 오류를 피할 수 없다.
맞바꿈: 대역폭과 전력
용량을 올리는 길은 두 가지다. 대역폭을 넓히거나, 신호 전력을 키워 SNR을 높이는 것이다. 그런데 둘의 효과는 사뭇 달라요. SNR이 그대로라면 대역폭은 식 앞에 곱으로 붙어 있어 두 배로 넓히면 용량도 두 배가 되지만, SNR은 로그 안에 있어 1비트를 더 얻으려면 SNR을 대략 두 배로 키워야 한다. 전력을 늘리는 쪽은 금세 수확이 줄어드는 셈이라, 전력이 귀하면 대역을 넓히고 대역이 귀하면 전력을 쏟는다. 다만 전력이 정해진 채 대역만 넓히면 잡음도 대역에 비례해 늘어 SNR이 떨어지므로, 대역을 한없이 넓혀도 비트 하나를 보내는 데 드는 에너지에는 넘을 수 없는 최솟값이 남는다.
첫 화면으로 돌아가서
SNR이 낮을 때는 용량 곡선이 목표 율 아래에 깔려 있어, 그 율은 어떤 부호로도 보낼 수 없는 빨강이었다. SNR을 올리자 곡선이 천천히 솟아 목표를 넘어서며 금색으로 바뀌었고, 곡선이 로그라서 한 칸 올라갈 때마다 점점 더 큰 SNR이 필요했어요. 기억할 것은 하나다. 오류 없는 통신의 절대 천장은 대역폭과 SNR만으로 정해지는 C = B log₂(1 + SNR)이고, 그 아래는 모두 가능하며 그 위는 모두 불가능하다.
다음 유닛에서
샤논은 C 아래에서 오류를 0에 가깝게 만들 수 있다고 약속했지만, 어떻게 하는지는 말하지 않았다. 마지막 유닛이 그 방법인 오류 부호화를 다뤄요. 보낼 비트에 규칙에 따라 여분의 비트를 덧붙이면, 잡음이 몇 개를 뒤집어도 수신기가 그 여분으로 어긋남을 알아채고 바로잡는다. 패리티 한 비트에서 시작해 오류를 검출하고 정정하는 원리까지 이어져요.