Chapter 04

변조와 MCS: 속도는 어디서 오나

휴대폰의 Wi-Fi 정보 화면에는 “링크 속도 1,201 Mbps”처럼 이상하게 딱 떨어지지 않는 숫자가 뜬다. 방을 옮기면 그 숫자가 864, 576, 288로 뚝뚝 떨어진다. 이 숫자는 아무렇게나 나오지 않는다. 몇 개의 정해진 값을 곱하고 나눈 결과다. 이 장에서는 그 공식을 하나씩 풀고, 와이파이가 거리에 따라 공식의 어느 부분을 바꾸는지 따라간다.

성좌도: 한 번에 몇 비트를 싣나

3장의 부반송파 하나는 심볼마다 한 가지 “상태”를 보낸다. 상태는 반송파의 세기와 위상의 조합이고, 이를 평면 위의 점으로 그린 것이 성좌도(constellation)다. 점이 2개면 1비트(BPSK), 4개면 2비트(QPSK), 16개면 4비트(16-QAM)… 4096개면 12비트(4096-QAM)다. 점을 촘촘히 놓을수록 한 번에 많이 싣지만, 점 사이 간격이 좁아져 잡음이 조금만 섞여도 옆 점으로 잘못 읽힌다.

회의실의 손짓 신호

시끄러운 회의실에서 멀리 앉은 사람에게 손짓으로 숫자를 알린다. 가까우면 손가락 열 개를 다 써서 빠르게 많은 숫자를 전할 수 있다(4096-QAM). 멀어지면 손가락이 흐릿해 “위냐 아래냐”만 구분된다(BPSK). 와이파이는 상대와의 거리(SNR)를 보고 손짓의 촘촘함을 계속 바꾼다.

SIMULATOR

성좌도와 잡음: 점이 촘촘할수록 약하다

변조
심볼당 비트—
심볼 오류 (2,000개 중)—
EVM (오차 크기)—
큰 점 = 이상적인 성좌점, 작은 점 = 잡음을 겪은 수신 심볼(빨강 = 가장 가까운 성좌점이 틀림). 해볼 것: SNR 25 dB에서 64-QAM은 깨끗하지만 1024-QAM은 많이 틀린다. 변조 차수가 4배가 될 때마다(비트 +2) 같은 오류율을 내려면 약 6 dB 더 필요하다. EVM은 이상적인 점에서 벗어난 평균 거리를 백분율로 나타낸 값으로, 송신기 품질을 재는 데에도 쓴다. 모델: 정사각 QAM(BPSK는 실수축 두 점), 가우시안 잡음, 오류 정정 전의 원시 심볼 오류.

부호율: 일부러 덧붙이는 여분

변조만으로는 잡음을 이길 수 없다. 와이파이는 보낼 비트에 여분의 비트를 섞어 수신기가 틀린 비트 몇 개를 스스로 고치게 한다. 원래 비트의 비율이 부호율(coding rate)이다. 1/2이면 비트 하나에 여분 하나, 5/6이면 다섯 개에 여분 하나다. 802.11a부터 쓰인 컨볼루션 부호(BCC)에 이어, 802.11n부터는 더 강력한 LDPC를 쓸 수 있고, Wi-Fi 6부터 넓은 채널에서는 LDPC가 기본이다.

그래서 와이파이의 “전송 방식”은 변조와 부호율의 짝이고, 이 짝에 번호를 매긴 것이 MCS(Modulation and Coding Scheme)다.

MCS변조부호율세대
0BPSK1/2Wi-Fi 4~7 (Wi-Fi 4는 스트림마다 0~7)
1QPSK1/2
2QPSK3/4
316-QAM1/2
416-QAM3/4
564-QAM2/3
664-QAM3/4
764-QAM5/6
8 · 9256-QAM3/4 · 5/6Wi-Fi 5~
10 · 111024-QAM3/4 · 5/6Wi-Fi 6~
12 · 134096-QAM3/4 · 5/6Wi-Fi 7

MCS별 속도의 상대비(1/2 BPSK = 1 → 5/6 4096-QAM = 20): Linux net/wireless/util.c cfg80211_calculate_bitrate_he/eht()의 mcs_divisors · Wi-Fi 4의 MCS 번호(0~31)는 스트림 수까지 담는다(mcs & 7 = 변조, (mcs >> 3) + 1 = 스트림): cfg80211_calculate_bitrate_ht()

링크 속도 공식

링크 속도 = NSD × 심볼당 비트 × 부호율 × 공간 스트림 ÷ (TDFT + GI)
NSD = 데이터 부반송파 수(3장, 폭에 따라 정해짐), 심볼당 비트 = log₂(성좌점 수), 공간 스트림 = 5장, 심볼 시간 = 3장. 예: Wi-Fi 6, 80 MHz(NSD 980), 1024-QAM 5/6(10비트 × 5/6), 2스트림, 13.6 µs → 980 × 10 × 5/6 × 2 ÷ 13.6 = 1,201 Mb/s. 휴대폰 화면의 그 숫자다.
CALCULATOR

링크 속도 계산기 (Linux 커널 계산과 검증)

세대
채널 폭
보호 구간
최고 MCS 속도—
심볼 시간—
데이터 부반송파—
표는 고른 조건에서 MCS별 링크 속도다. 보호 구간 “중간/짧은”은 Wi-Fi 4·5에서 짧은 GI 0.4 µs, Wi-Fi 6·7에서 1.6 µs를 뜻하고, “가장 긴”은 Wi-Fi 6·7의 3.2 µs다(Wi-Fi 4·5에는 없음). 세대가 지원하지 않는 폭(예: Wi-Fi 4의 80 MHz, Wi-Fi 6의 320 MHz)은 “—”로 표시한다. 표는 공식의 값을 그대로 보여 주므로, 표준이 실제로는 쓰지 않는 조합도 몇 개 섞여 있다(예: Wi-Fi 5의 20 MHz MCS 9는 3·6스트림에서만 쓴다). 해볼 것: Wi-Fi 6, 80 MHz, 2스트림에서 MCS 11이 1,201 Mb/s인지 확인하자. 이 계산기의 모든 값은 Linux 커널의 cfg80211_calculate_bitrate_ht/vht/he/eht()가 내는 값과 0.1 Mb/s 이내로 같은지 자동 검증한다.

거리와 벽이 MCS를 고른다

어떤 MCS를 쓸지는 받는 쪽의 SNR(신호 대 잡음비)이 정한다. 잡음의 바닥은 채널 폭에 비례한다. 상온의 열잡음은 1 Hz당 −174 dBm이고, 20 MHz면 여기에 10·log₁₀(20,000,000) ≈ 73 dB를 더해 약 −101 dBm, 수신기 자체의 잡음(잡음 지수)까지 더하면 −95 dBm 안팎이다. 폭을 두 배로 넓히면 잡음도 3 dB 오른다. 받은 세기에서 이 잡음 바닥을 빼면 SNR이다.

와이파이 칩은 프레임을 보낼 때마다 결과(ACK가 왔는가)를 보고 MCS를 올리거나 내린다. 이것이 속도 적응(rate adaptation)이다. Linux에는 Minstrel이라는 알고리즘이 들어 있다. MCS는 정해진 몇 단계뿐이라 속도는 매끄럽게가 아니라 계단처럼 떨어진다.

SIMULATOR

거리 → 세기 → SNR → MCS → 속도

대역
채널 폭
약 6 m마다 있는 벽
받은 세기—
SNR—
고른 MCS—
링크 속도 (Wi-Fi 6, 2스트림)—
그래프: 거리(m)에 따른 링크 속도(굵은 선)와 벽이 없을 때(점선). 해볼 것: ① 콘크리트 벽을 지날 때마다 계단이 뚝 떨어진다. ② 6 GHz 160 MHz는 가까이서 압도적이지만 벽 두 개면 2.4 GHz 20 MHz보다 느려질 수 있다. 가정(어림 값): 송신 20 dBm, 양쪽 안테나 이득 합 4 dBi, 1 m 자유 공간 손실 후 경로 손실 지수 2.2, 잡음 지수 7 dB, 벽 손실은 대역이 높을수록 조금 크게(콘크리트 2.4/5/6 GHz = 13/16/18 dB). MCS별 필요 SNR은 흔히 쓰이는 어림 값(MCS 0 ≈ 5 dB … MCS 11 ≈ 37 dB)이며 칩과 환경에 따라 다르다.
예측해 보기

공유기 바로 옆에서는 1,201 Mb/s(Wi-Fi 6, 80 MHz, 2스트림, MCS 11)가 나온다. 콘크리트 벽 하나 너머 방에서 MCS 7이 되었다면 링크 속도는?

위 계산기에서 같은 조건의 MCS 7을 찾아보자.

980 × 6 × 5/6 × 2 ÷ 13.6 ≈ 720.6 Mb/s. MCS 11 대비 6/10 = 60%다. 벽 한두 개로 MCS가 몇 칸씩 떨어지는 것이 실내 와이파이의 일상이다.

핵심 정리

  1. 성좌점이 2b개면 심볼당 b비트: BPSK 1 … 1024-QAM 10, 4096-QAM 12. 촘촘할수록 잡음에 약하다(차수 4배마다 약 6 dB 더 필요).
  2. 부호율(1/2~5/6)은 오류 정정용 여분의 비율이다. 변조와 부호율의 짝이 MCS다(Wi-Fi 5: 0~9, 6: 0~11, 7: 0~13).
  3. 링크 속도 = NSD × 비트 × 부호율 × 스트림 ÷ 심볼 시간. Wi-Fi 6 80 MHz 2스트림 MCS 11 = 1,201 Mb/s.
  4. 잡음 바닥은 폭에 비례(20 MHz 열잡음 ≈ −101 dBm, 폭 2배 +3 dB). 받은 세기 − 잡음 = SNR이 MCS를 정하고, 속도는 거리와 벽에 따라 계단식으로 떨어진다.

확인 퀴즈

1024-QAM의 성좌점 하나는 몇 비트를 나르나?

log₂(1024) = 10. 4096-QAM은 12비트다.

Wi-Fi 4의 MCS 15가 뜻하는 것은?

Wi-Fi 4(HT)의 MCS 번호는 스트림까지 담는다. 15 & 7 = 7(64-QAM 5/6), (15 >> 3) + 1 = 2스트림.

Wi-Fi 6, 160 MHz(NSD 1,960), MCS 11, 2스트림, GI 0.8 µs의 링크 속도는?

1,960 × 10 × 5/6 × 2 ÷ 13.6 ≈ 2,402 Mb/s. 80 MHz의 두 배다.

같은 거리에서 채널 폭을 80 MHz → 160 MHz로 넓히면 SNR은?

같은 송신 전력이 두 배 넓게 퍼지고 잡음은 폭에 비례하므로 SNR이 약 3 dB 준다. 그래서 먼 거리에서는 넓은 채널의 이득이 줄어든다.

방을 옮기자 링크 속도가 매끄럽지 않고 몇 단계로 뚝뚝 떨어졌다. 이유는?

MCS는 이산적인 단계라 SNR이 문턱을 넘나들 때마다 속도가 계단처럼 바뀐다.