seegongsik
CM · 잡음과 정보

채널 용량과 샤논

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

이 채널로 목표 율을 보낼 수 있나

곡선은 용량 C/B = log₂(1 + SNR)을 SNR에 따라 그린 것이고, 그 아래 음영이 실제로 보낼 수 있는 영역이다. 슬라이더로 SNR을 올리면 지금 위치를 가리키는 세로선이 오른쪽으로 옮겨 가는데, 곡선이 점선으로 그은 목표 율 위로 올라서면 금색, 아래에 머물면 빨강이에요. 목표 율보다 아래라면 어떤 부호를 써도 그 율로는 보낼 수 없다는 뜻이다.

신호 대 잡음비 SNRSNR = 3.0 dB
목표 율은 1헤르츠당 4비트이고, SNR이 15(약 11.8 dB)를 넘어야 닿아요. 곡선이 로그라 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 아래일 때만 얼마든지 믿을 만하게 보낼 수 있다.

맞바꿈: 대역폭과 전력

용량을 올리는 길은 두 가지다. 대역폭을 넓히거나, 신호 전력을 키워 SNR을 높이는 것이다. 그런데 둘의 효과는 사뭇 달라요. SNR이 그대로라면 대역폭은 식 앞에 곱으로 붙어 있어 두 배로 넓히면 용량도 두 배가 되지만, SNR은 로그 안에 있어 1비트를 더 얻으려면 SNR을 대략 두 배로 키워야 한다. 전력을 늘리는 쪽은 금세 수확이 줄어드는 셈이라, 전력이 귀하면 대역을 넓히고 대역이 귀하면 전력을 쏟는다. 다만 전력이 정해진 채 대역만 넓히면 잡음도 대역에 비례해 늘어 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에 가깝게 만들 수 있다고 약속했지만, 어떻게 하는지는 말하지 않았다. 마지막 유닛이 그 방법인 오류 부호화를 다뤄요. 보낼 비트에 규칙에 따라 여분의 비트를 덧붙이면, 잡음이 몇 개를 뒤집어도 수신기가 그 여분으로 어긋남을 알아채고 바로잡는다. 패리티 한 비트에서 시작해 오류를 검출하고 정정하는 원리까지 이어져요.