복조: 반송파 걷어 내기
수신기는 RF 신호에서 와 를 어떻게 다시 꺼낼까?
받은 신호 에서 와 를 꺼내는 방법은 '주파수 변환' 절에서 본 두 갈래 하향 변환이다. 이므로 를 곱하면 가 되고, LPF가 의 항을 지우면 가 남는다. 위 갈래()가 를, 아래 갈래()가 를 내놓는다. 수신기의 LO를 송신 반송파의 주파수와 위상에 맞춰 이렇게 내리는 복조를 동기 복조(coherent demodulation)라고 한다. Pluto는 이 곱셈과 LPF를 칩 안의 아날로그 회로에서 하고, 와 를 ADC 두 개로 따로 표본화한다(6장).
실제로는 두 기기의 발진기가 따로 돌아 LO가 송신 반송파와 맞지 않는다. '주파수 변환' 절에서 본 대로 두 갈래로 내리면 신호는 사라지지 않고 돌기만 한다. 그 회전이 성상도에 무엇을 하는지 본다.
- 위상 오차: 받은 반송파가 LO보다 위상이 앞서면 LPF 출력은 이다. 성상도 전체가 만큼 돈다. QPSK는 이면 (잡음이 없을 때) 판정이 맞지만, 넘으면 점이 이웃 사분면으로 넘어간다.
- 주파수 오차: 받은 반송파가 LO보다 높으면 출력은 이다. 도는 각이 시간에 따라 커져서, 심볼마다 씩 더 돈다. 오래 모은 성상도에서는 점이 원을 따라 번진다.
수신기는 미리 약속한 심볼열(프리앰블, pilot)을 보고 와 를 추정해 되돌린다. 실습 4에서는 TX LO를 일부러 몇 kHz 어긋나게 설정해 이 회전을 직접 보고, 프리앰블로 되돌린다.
아래 그림은 이 회전이 판정을 어떻게 틀리게 하고, 프리앰블로 어떻게 되돌리는지 한 단계씩 계산한다. ▶ 한 번이 연산 하나이다. ②–③은 위상 오차 θ만 넣어 점을 돌리고 판정한다. ④는 주파수 오차를 더해 심볼마다 회전이 쌓이는 것을 본다. ⑤–⑦은 처음 4개 심볼로 를 만들어 데이터 위상을 지우고, 이웃한 의 위상 차로 를, 남은 위상으로 를 추정한다. ⑧에서 추정한 회전을 되돌려 다시 판정한다.
합성 QPSK 심볼 16개이고, 처음 4개(01 11 00 10)는 수신기가 미리 아는 프리앰블이다. 받은 점에는 I, Q 성분마다 표준편차 0.04인 고정 잡음을 더했다. 빈 원은 보낸 점, 채운 점은 받은 점, 붉은 점은 판정이 틀린 심볼이다. 심볼 k의 회전각은 θ + 360°·(Δf/Rs)·k이다.
해 보기
- 위상 오차를 60°로 키워 판정한다.
관찰
점이 판정 경계 45°를 넘어 이웃 사분면으로 넘어가고, 대부분의 심볼이 틀린다.
- θ = 30°, Δf = 0.01Rs에서 회전이 쌓이는 것을 본다.
관찰
심볼마다 3.6°씩 더 돌아 k = 15에서는 30° + 3.6° × 15 = 84°가 된다. 틀린 심볼은 16개 가운데 11개이다.
- 프리앰블로 추정해 되돌린다.
관찰
Δf̂/Rs = 0.0107, θ̂ = 28.133°로 되돌리면 틀린 심볼이 0개가 된다.
강의 노트