# 위상 변조 기법(BPSK, QPSK 등)

#### 위상 변조의 개념

위상 변조(Phase Shift Keying)는 디지털 통신에서 가장 널리 사용되는 변조 방식 중 하나로, 반송파(carrier)의 위상을 바꿔가며 디지털 데이터를 전송하는 기법이다. 위상 변조는 주파수나 진폭을 조정하는 변조 방식과 달리, 동일한 진폭과 주파수를 유지하면서 위상만을 변조하기 때문에 잡음 환경에서 견고한 성능을 보인다. 특히 GNSS(위성항법시스템)에서 위상 변조 기법은 채널 환경이 가시선(LOS) 상태이거나, 혹은 다중 경로나 열악한 전파 환경에서도 신호 검출과 동기화를 가능하게 하는 중요한 역할을 한다.

GNSS에서는 주파수 확산(Spread Spectrum) 신호를 이용하며, 이러한 확산 신호를 반송파에 실어 전송할 때 대표적으로 BPSK(Binary Phase Shift Keying)와 QPSK(Quadrature Phase Shift Keying) 등의 위상 변조 방식을 사용한다. 이는 수신기의 복잡도를 줄이고, 위상 검출 과정을 간단하게 유지하면서도 신호 추적 및 복조를 안정적으로 수행할 수 있기 때문이다.

#### 위상 변조의 기본 표현

기본적으로 위상 변조된 신호는 다음과 같은 일반 형태로 나타낼 수 있다.

$$
s(t) = \sqrt{2P} , m(t) \cos\bigl(2\pi f\_c t + \theta(t)\bigr)
$$

* $P$는 신호의 전력
* $f\_c$는 반송파 주파수
* $m(t)$는 확산 코드 또는 디지털 데이터에 해당하는 변조 지수(진폭 변조와 유사한 역할)
* $\theta(t)$는 시간에 따라 변화하는 위상

BPSK와 QPSK는 $\theta(t)$의 변화가 디지털 심볼(symbol)에 의해 결정된다는 점에서 동일하나, 각 심볼에서 선택되는 위상의 범위가 다르다.

#### BPSK (Binary Phase Shift Keying)

BPSK는 심볼 하나당 1비트를 전송하며, '0' 또는 '1'을 전송할 때 위상을 0도(0 rad) 또는 180도($\pi$ rad)로 변조한다. 즉, 2개의 위상 상태(상(相))를 사용하는 방식이다. 이를 수학적으로 나타내면 다음과 같다.

1. 심볼 주기: $T\_s$
2. 각 심볼마다 매핑되는 비트: $b\_k \in {0,1}$
3. BPSK 신호:

$$
s\_{\text{BPSK}}(t) = \sqrt{\frac{2E\_s}{T\_s}}, \alpha\_k \cos\bigl(2 \pi f\_c t\bigr),  \quad t \in \[kT\_s, (k+1)T\_s]
$$

여기서

* $E\_s$는 심볼 에너지
* $\alpha\_k$는 심볼에 대응하는 위상 부호로, 일반적으로 $\alpha\_k \in {+1, -1}$
* 비트 $b\_k$가 0이면 $\alpha\_k = +1$, 비트 $b\_k$가 1이면 $\alpha\_k = -1$로 매핑하기도 한다.

또는 위상 표현을 직접 사용하면,

$$
s\_{\text{BPSK}}(t)  = \sqrt{\frac{2E\_s}{T\_s}}  \cos\Bigl(2 \pi f\_c t + \phi\_k\Bigr),  \quad  \phi\_k \in {0, \pi}
$$

위 식에서 $\phi\_k$는 전송할 비트에 따라 0 또는 $\pi$를 갖는다.

신호공간(signal space) 관점에서 BPSK는 서로 직교하는 한 축(실수축) 상에서 +1 혹은 -1의 위치만을 사용하므로, 심볼 간 거리가 최대가 되어 잡음 환경에서 비교적 오류 확률이 낮다. 이를 직교기(코히어런트 검출기)에서 검출할 경우, 단순한 상관 검출(correlation detection)을 통해 수신된 신호를 +부호이면 비트 0, -부호이면 비트 1로 결정하게 된다.

#### QPSK (Quadrature Phase Shift Keying)

QPSK는 심볼 하나당 2비트를 전송하기 위해 4개의 위상을 사용한다. 예를 들어, 2비트 데이터 $(b\_{2k}, b\_{2k+1})$에 대해 다음과 같은 4개 위상이 매핑될 수 있다.

* $00 \rightarrow 0$도
* $01 \rightarrow 90$도
* $11 \rightarrow 180$도
* $10 \rightarrow 270$도

이와 같이 4개의 위상을 사용하여 2비트를 전송하므로, BPSK 대비 동일 전송 속도에서 대역 효율(spectral efficiency)이 2배가 된다. QPSK 신호를 수학적으로 표현하면,

$$
s\_{\text{QPSK}}(t)  = \sqrt{\frac{2E\_s}{T\_s}}  \cos\Bigl(2 \pi f\_c t + \phi\_q\Bigr), \quad \phi\_q \in \Bigl{0, \frac{\pi}{2}, \pi, \frac{3\pi}{2}\Bigr}
$$

또는 직교 성분을 분리하여(직교 성분을 In-phase와 Quadrature로 분할):

$$
s\_{\text{QPSK}}(t)  = \sqrt{\frac{E\_s}{T\_s}} \Bigl\[ I\_k \cos(2 \pi f\_c t) - Q\_k \sin(2 \pi f\_c t) \Bigr]
$$

여기서

* $I\_k, Q\_k \in {+1, -1}$
* 2비트 $(b\_{2k}, b\_{2k+1})$ 조합에 따라 $(I\_k, Q\_k)$가 정해진다.

예를 들어,

$$
00 \rightarrow (I\_k=+1, Q\_k=+1),\\
01 \rightarrow (I\_k=+1, Q\_k=-1),\\
11 \rightarrow (I\_k=-1, Q\_k=-1),\\
10 \rightarrow (I\_k=-1, Q\_k=+1)
$$

이렇게 구분된 직교축(실축, 허수축) 상에서의 심볼 배치는 4개의 점이 각각 90도 간격을 두고 원 위에 배치되는 형태가 된다.

{% @mermaid/diagram content="%% 간단한 QPSK 별자리(신호공간) 예시
flowchart LR
A(("+1,+1")):::qpsk1 --- B(("+1,-1")):::qpsk2
A --- C(("-1,+1")):::qpsk3
B --- D(("-1,-1")):::qpsk4

classDef qpsk1 fill:#ace,stroke:#333,stroke-width:1px
classDef qpsk2 fill:#cea,stroke:#333,stroke-width:1px
classDef qpsk3 fill:#eac,stroke:#333,stroke-width:1px
classDef qpsk4 fill:#eca,stroke:#333,stroke-width:1px" %}

#### 위상 변조 방식의 오류 확률

디지털 위상 변조 방식을 사용하는 통신 시스템에서 전형적으로 관심을 갖는 것은 수신 단에서 특정 신호 대 잡음비(SNR)에서 어느 정도의 오류율(Bit Error Rate, BER)이 발생하는가이다. 특히 BPSK와 QPSK는 가장 널리 쓰이는 방식 중 하나이므로, 두 방식의 오류 확률 특성을 비교 분석하는 것이 중요하다.

**AWGN(가우시안 잡음) 채널에서의 BPSK 오류 확률**

가장 이상적인 통신 경로는 AWGN(Aditive White Gaussian Noise) 채널로, 잡음이 백색 가우시안 분포로 모델링된 상황을 말한다. 이 채널에서 BPSK 신호를 코히어런트 검출(coherent detection)한다고 가정할 때, 단일 비트 오류 확률(즉, BER)은 다음과 같이 주어진다.

$$
P\_{b,\text{BPSK}}  = Q\Bigl(\sqrt{\tfrac{2E\_b}{N\_0}}\Bigr),
$$

여기서

* $E\_b$는 비트 에너지(bit energy),
* $N\_0$는 단위 대역폭당 잡음 스펙트럼 밀도,
* $Q(x)$ 함수는 꼬리확률(tail probability) 함수를 의미하며,

$$
Q(x) = \frac{1}{\sqrt{2\pi}} \int\_x^\infty \exp\Bigl(-\frac{u^2}{2}\Bigr) , du
$$

BPSK의 오류 확률은 신호공간에서 한 축 위에 서로 반대 부호(+1, -1)로만 심볼이 배치되며 심볼 간 거리가 최대가 되기 때문에, 동일한 $E\_b/N\_0$ 조건에서 가장 우수한 BER 성능을 갖는 변조 방식 중 하나이다.

**AWGN 채널에서의 QPSK 오류 확률**

QPSK는 심볼 하나가 2비트를 담게 되므로, 비트 당 에너지는 BPSK와 동일 전송률 및 동일 심볼 전력 조건에서 절반 수준으로 할당된다. 하지만 직교 신호 공간(실축, 허수축) 상에 4개 심볼이 배치된다는 점에서, QPSK의 단일 비트 오류 확률은 BPSK와 거의 동일하다는 것이 중요한 특징이다. 수학적으로 QPSK의 BER은 다음과 같이 표현된다.

$$
P\_{b,\text{QPSK}} = Q\Bigl(\sqrt{\tfrac{E\_b}{N\_0}}\Bigr)
$$

다만, 여기서 주의할 점은 $E\_s = 2 E\_b$라는 관계(심볼 하나가 2비트를 담을 경우) 때문이다. 심볼 에너지를 기준으로 오류 확률을 표현하면,

$$
P\_{s,\text{QPSK}}  = 2Q\Bigl(\sqrt{\tfrac{2E\_b}{N\_0}} \Bigr)  - Q^2\Bigl(\sqrt{\tfrac{2E\_b}{N\_0}} \Bigr)
$$

와 같이 심볼 오류 확률($P\_s$)을 정의할 수 있으나, 실제 통신 시스템에서는 주로 비트 오류 확률($P\_b$)을 더 많이 참조한다. 그리고 QPSK에서의 $P\_{b,\text{QPSK}}$는 BPSK의 $P\_{b,\text{BPSK}}$와 구조적으로 매우 유사하며, 실제로 비트 오류 확률 성능도 동일한 SNR이라면 거의 같다.

#### 위상 변조에서의 직교 검출과 미분 검출

GNSS를 포함한 무선 통신에서 위상 변조 신호를 검출하기 위해서는, 반송파 동기(즉, 위상의 기준점)를 정확히 찾아야 한다. 그런데 실제 무선 환경에서 반송파 위상의 절대 참조가 쉽지 않거나 추가적인 복잡한 알고리즘(PLL 등)이 필요할 때, 미분 검출(differential detection) 기법을 적용하기도 한다.

**미분 BPSK(DBPSK)**

DBPSK(Differential BPSK)는 전송하고자 하는 심볼 간 위상의 변화를 기준으로 검출한다. 예를 들어, $k$번째 심볼을 $\alpha\_k$라 할 때, 이는 다음과 같은 관계식을 갖도록 미리 부호화한다.

$$
\alpha\_k = \alpha\_{k-1} \times d\_k
$$

여기서

* $d\_k \in {+1, -1}$는 전송할 실제 비트(0 또는 1)에 따른 부호,
* $\alpha\_{k-1}$는 직전 심볼의 위상 부호.

따라서 수신 측에서는 두 연속 심볼 간 위상이 바뀌었는지를 확인하여 비트를 검출한다. 이는 절대 위상의 기준을 몰라도 되므로, 반송파 동기(phase synchronization)를 완벽히 하지 않아도 신호 복조가 가능하다는 장점이 있다. 다만 동일한 조건에서 코히어런트 검출 대비 약간 높은 오류 확률을 가진다.

**미분 QPSK(DQPSK)**

QPSK에서도 미분 검출을 적용할 수 있으며, 이를 DQPSK(Differential QPSK)라고 한다. 원리는 DBPSK와 유사하게, 현재 심볼 위상은 이전 심볼 위상에 ‘상대적’으로 부호화된다.

미분 검출 기법은 구현이 단순하나, 앞서 말했듯이 코히어런트 검출 대비 성능 열세가 있다. GNSS 신호 추적 과정에서는 위상 동기를 PLL로 맞추기 때문에 주로 코히어런트 검출을 적용한다. 그렇지만 미분 검출 방식을 사용하는 GNSS 변조가 없는 것은 아니다. 실제 신호 설계에서 잡음 환경, 위성 신호 세기, 수신기 구현 복잡도 등을 종합적으로 고려하여 선택한다.

#### OQPSK(Offset QPSK)와 $\pi/4$-QPSK

QPSK 계열 중에서도 특정 시점에서의 위상 급변으로 인한 대역 밖 스펙트럼 확산이나 증폭기의 비선형성 문제를 완화하기 위해, 서로 다른 변형된 위상 변조 방식을 사용할 수 있다.

* **OQPSK(Offset QPSK)**: 일반 QPSK는 심볼 경계에서 I성분과 Q성분이 동시에 바뀌게 되므로, 180도 급변이 발생할 수 있다. 이를 방지하기 위해, Q성분을 절반 심볼 주기( $T\_s/2$ )만큼 지연시켜 위상 변화를 분산시키는 방식이다.
* **$\pi/4$-QPSK**: 기존 4개 심볼 위치에서 45도만큼 회전된 위치와 원래 위치를 번갈아가며 사용하므로, ‘직교 점프(180도)’가 발생하지 않도록 설계한다. 이로 인해 전력 증폭기의 백오프 필요량이 줄어들고, 위상 변화가 부드럽게 이어진다.

GNSS에서도 신호의 지속적인 위상 변화를 안정적으로 구현하기 위해 여러 변형된 위상 변조 기법이 검토되거나 사용되기도 한다. 예컨대, 각 GNSS 서비스(예: GPS L1, Galileo E1, BeiDou B1 등)는 대역폭 제한, 다중 경로 고려, 상호 간섭 최소화 등을 위해 다양한 변조 파형을 혼합하여 사용한다.

#### GNSS에서의 위상 변조 활용 사례

GNSS(위성항법시스템)에서 사용되는 신호들은 서로 다른 주파수 대역과 서비스(예: 민간용, 군사용, 상업용)에 따라 다양한 위상 변조 방식을 채택한다. 대표적으로 GPS, GLONASS, Galileo, BeiDou 등 각 시스템별로 특정 주파수를 할당받고, 각 주파수 대역 안에서 복수의 신호를 구분하기 위해 위상 변조와 확산 코드를 결합한다.

**GPS 예시**

* **L1 C/A (Coarse/Acquisition) 코드**
  * 변조: BPSK(1.023MHz 칩레이트)
  * 민간용 초기 신호로, 추적이 간단하고 전 세계적으로 가장 폭넓게 사용됨
* **L1 P(Y) 코드**
  * 변조: BPSK(10.23MHz 칩레이트)
  * 군사용 암호화 신호로, 고정밀 추적 가능
* **L2C 신호**
  * 변조: BPSK 기반(1.023MHz 및 0.5115MHz 등), QPSK 개념과 혼합되는 구조
  * 민간용을 위한 향상된 추적 성능 제공

**Galileo 예시**

* **E1 OS(오픈 서비스)**
  * 복합 변조(예: CBOC, Composite BOC)로 알려져 있으나, 내부적으로 BOC 계열 변조와 BPSK/QPSK 계열 요소 결합
  * 높은 추적 정확도와 다중 경로 억제 특성
* **E5, E6 등**
  * 다중 대역 신호: BPSK, BOC, AltBOC 등 복합 위상 변조 방식을 활용하여 대역폭과 추적 성능을 개선

**BeiDou 예시**

* B1 신호
  * BPSK/QPSK 계열 변조와 확산 코드 결합
  * 지역 별 세분화된 주파수 채널에서 운용

이처럼 GNSS 각 신호는 공통적으로 확산 스펙트럼(Spread Spectrum) 기반을 가지며, 이를 전송할 때 BPSK, QPSK, BOC(BOC: Binary Offset Carrier), AltBOC(Alternate BOC) 등 여러 위상 변조 기법이 적용된다.

* BPSK를 적용하는 신호는 구조가 단순하고 수신기 구현이 쉬우며, 좁은 대역폭에서 안정적인 성능을 낸다.
* QPSK나 그 변형인 BOC, AltBOC 등은 대역 효율 및 다중 경로 억제, 측정 정확도 측면에서 이점이 있어, 현대 GNSS 신호에 빈번히 적용된다.

#### 위상 변조와 확산 코드의 결합

GNSS 신호 설계의 중요한 특징은, 단순히 디지털 데이터만을 전송하는 것뿐 아니라 ‘측정 신호(코드 추적, 위상 추적을 통한 거리 측정)’ 역할을 동시에 수행한다는 점이다. 이를 위해 확산 코드(PRN: Pseudo-Random Noise code)를 BPSK, QPSK 등으로 변조하여 전송한다.

* **직접 시분할(DS-CDMA) 방식**
  * 확산 코드와 데이터 비트를 곱하여 하나의 심볼을 생성
  * 예: GPS C/A 코드의 경우, 1ms(1,023칩) 주기로 위성마다 상이한 PRN 코드를 사용하고, 이를 BPSK로 반송파에 실어 전송
* **다중 부호 결합**
  * 동일 대역 내에서 서로 다른 서비스를 함께 전송할 때, I축에 하나의 코드(신호 A), Q축에 다른 코드(신호 B)를 실어 QPSK 형태로 합성할 수 있다.
  * 예: GPS L2C에서 민간용(코드 L2CM)과 보조 신호(코드 L2CL) 등을 각각 직교축에 매핑
* **BOC(Offset) 변조**
  * 전송 대역 내에서 부엽(lobe)을 여러 개 생성하여 다중 경로 분해 성능을 높이기 위해 사용
  * BOC 자체도 위상 변조 계열로 분류되며, $\mathrm{sinBOC}(\alpha,\beta)$, $\mathrm{cosBOC}(\alpha,\beta)$ 등 다양한 파생이 있음

결과적으로 GNSS 수신기는 BPSK/QPSK로 변조된(혹은 그 변형) 확산 스펙트럼 신호를 입력받아, 코드 동기(Code Tracking)와 반송파 동기(Carrier Tracking)를 수행함으로써 신호에 실린 위상 변조 정보를 정확히 검출한다. 그리고 그 위상 정보를 통해 위성과 수신기 사이의 거리, 편이(phase offset), 도플러 보정 등을 수행한다.

#### BOC 변조(Binary Offset Carrier) 기법

GNSS에서 BOC 계열 변조는 전송 신호의 스펙트럼 분포와 자기상관함수(Auto-correlation Function, ACF)를 개선하여, 다중 경로(Multipath) 환경이나 인접 채널 간섭에 대해 좀 더 견고한 추적 성능을 확보하기 위해 도입되었다. 전통적인 BPSK 또는 QPSK 변조는 반송파로부터 한정된 주파수 대역 내에서 주요 에너지가 분포되며, 자기상관함수도 비교적 단순한 형태(메인 로브(Main Lobe) 하나와 사이드 로브(Side Lobe)들)로 나타난다. 그러나 BOC 변조는 반송파의 일부 특성을 ‘오프셋(Offset)’시켜, 메인 로브를 더욱 날카롭게 만들고 사이드 로브 간 간섭을 억제하는 효과를 낳는다.

**BOC 신호의 기본 수학적 표현**

BOC 신호는 크게 $\mathrm{sinBOC}(\alpha,\beta)$와 $\mathrm{cosBOC}(\alpha,\beta)$ 두 가지 계열로 나뉜다. 여기서 $\alpha$와 $\beta$는 각각 변조 스펙트럼의 서브캐리어(sub-carrier) 주파수와 칩레이트(chip rate) 비율을 정의한다. 일반적으로 $\alpha$는 (서브캐리어 주파수) / (기준 주파수 1.023 MHz), $\beta$는 (칩레이트) / (기준 주파수 1.023 MHz) 형태로 정의되기도 한다.

예를 들어, $\mathrm{sinBOC}(\alpha,\beta)$의 기본 파형(수학적 표현)은 다음과 같은 형태를 갖는다.

$$
s\_{\mathrm{BOC}}(t)  =  \begin{cases} +\sqrt{\tfrac{2E\_s}{T\_s}}, & \text{if } \sin\Bigl(2\pi \alpha f\_0 t\Bigr) \times c(t) = +1, \ -\sqrt{\tfrac{2E\_s}{T\_s}}, & \text{if } \sin\Bigl(2\pi \alpha f\_0 t\Bigr) \times c(t) = -1, \end{cases}
$$

또는 좀 더 단순화하여, 시간 구간별(칩 구간)로 서브캐리어를 곱하는 식으로 표현할 수도 있다. 여기서

* $c(t)$는 칩 레이트 $\beta f\_0$를 갖는 확산 코드(예: PRN)
* $f\_0$는 기준 주파수(1.023 MHz 등)
* $\alpha$와 $\beta$는 정수 또는 유리수 비율로 설정됨

$\mathrm{cosBOC}(\alpha,\beta)$의 경우에는 $\sin(\cdot)$ 대신 $\cos(\cdot)$ 서브캐리어를 사용한다. 실제 GNSS 신호에서는 이 BOC 파형을 반송파 주파수 fcf\_c에 얹어서 전송하며, 종합 표현은

$$
s\_{\mathrm{BOC}}(t) = \sqrt{2P} \cdot \Bigl\[\mathrm{SubCarrier}(t)\Bigr] \cdot c(t) \cdot \cos\bigl(2\pi f\_c t + \theta\_0 \bigr)
$$

와 같은 꼴을 취한다. 여기서 $\mathrm{SubCarrier}(t)$가 $\sin(2\pi \alpha f\_0 t)$ 또는 $\cos(2\pi \alpha f\_0 t)$ 형태(부호 신호)로서, 코드 c(t)c(t)와 곱해져서 “Offset”된 위상 변조를 형성한다.

**BOC 신호의 스펙트럼 특성**

BOC 변조는 서브캐리어 주파수가 반송파 주변에서 메인 로브(main lobe)와 사이드 로브들을 분할하여 배치한다. 예를 들어, $\mathrm{sinBOC}(\alpha,\beta)$ 신호의 파워 스펙트럼을 살펴보면, 반송파 주파수 fcf\_c를 중심으로 ±αβf0\pm \alpha \beta f\_0 근방에 주요 로브가 생기는 구조를 띤다. 이는 BPSK 대비 대역이 넓게 보이지만, 실제로는 메인 로브가 두 곳에 나누어져 나타나는 효과이며, 신호의 자기상관함수 또한 이중 피크 형태로 형성된다.

GNSS에서 BOC 변조를 도입하는 주요 이유 중 하나는, 수신기에서 코드 추적을 수행할 때 자기상관함수의 정확도가 향상되어(더 샤프한 로브) 거리 측정 정밀도가 좋아지고, 다중 경로를 분해하거나 억제하는 데 유리하기 때문이다.

* 다중 경로 환경에서는 서로 다른 지연 스펙트럼이 합성되어 신호가 왜곡되고 측정 오차가 커질 수 있는데, BOC 변조의 ACF는 부엽(sidelobe) 특성이 BPSK에 비해 유리하여 다중 경로 영향을 줄이는 데 도움이 된다.
* 반면, BOC 신호는 수신기 구현 시 복잡도가 높아지고, 이중 피크 구조로 인해 추적 알고리즘이 복합화되는 단점도 있다(예: 데이타/파일럿 신호를 적절히 분리 추적해야 함).

**AltBOC(Alternate BOC)**

BOC를 한 단계 확장한 방식으로 AltBOC가 있다. 이는 광대역 GNSS 신호(예: Galileo E5, BeiDou 등)에서 사용되며, BPSK/QPSK와 유사한 형태의 직교 변조 원리에 기반하면서도, 서브캐리어를 다중화하여 훨씬 더 넓은 대역폭을 효율적으로 활용한다. 예를 들어, Galileo의 E5 대역(1164\~1214MHz) 신호에서 AltBOC(15,10) 변조가 사용되어, 단일 신호 내에서 E5a/E5b 두 부분을 합성·분할 처리할 수 있도록 설계된다.

AltBOC 신호의 일반화된 표현은 다음과 비슷하게 정리할 수 있다.

$$
s\_{\text{AltBOC}}(t)  = I(t) , \mathrm{SubC1}(t) , c\_I(t) \cdot \cos\bigl(2 \pi f\_c t\bigr) ;-; Q(t) , \mathrm{SubC2}(t) , c\_Q(t) \cdot \sin\bigl(2 \pi f\_c t\bigr)
$$

* $I(t), Q(t)$는 각각 데이터/파일럿 혹은 서로 다른 채널을 실어나르는 정보(또는 코드)
* $\mathrm{SubC1}(t)$, $\mathrm{SubC2}(t)$는 서로 다른 서브캐리어(Offset)
* $c\_I(t), c\_Q(t)$는 확산 코드(또는 PRN 코드 집합)

이처럼 넓은 대역폭을 활용해 동시에 여러 채널(서브밴드)을 전송함으로써, GNSS 수신기가 대역폭을 넓게 쓸 수 있는 환경에서는 매우 높은 측정 정확도와 빠른 신호 획득이 가능하다.

#### GNSS 위상 변조의 상관 및 트래킹 관점

GNSS 수신기는 코드 동기(Code Tracking)와 반송파(또는 주파수) 동기(Carrier Tracking) 과정을 수행해야 한다. 이는 결과적으로 BPSK, QPSK, BOC, AltBOC 등 어떠한 위상 변조가 적용되더라도, 해당 신호의 위상을 정확히 추적하여 데이터 및 측정치를 복원하기 위함이다.

1. **코드 동기**
   * 확산 코드(칩 시퀀스)의 지연값(Delay)을 변조 신호와 상관(Correlation)하여, 최대 상관값이 발생하는 지점에서 코드 위상을 맞춘다.
   * BPSK 신호는 상관함수가 단순하지만, BOC나 AltBOC는 이중 구조를 갖기도 하므로 추적 루프(예: DLL)가 더 정교해야 한다.
2. **반송파 동기**
   * 복조를 위해선 반송파 주파수(도플러 보정 포함)와 위상을 맞춰야 한다. 일반적으로 PLL(Phase Locked Loop) 또는 FLL(Frequency Locked Loop) 기반 추적기를 사용.
   * BPSK, QPSK 변조 시, 코히어런트 검출로 수신 신호의 위상을 직접 추정한다. BOC/AltBOC도 원리는 동일하나, 서브캐리어 영향 등으로 실제 구현이 복잡해진다.

이러한 상관/추적 과정은 GNSS에서 위치 측정 정확도를 좌우하며, 위상 변조의 품질(즉, 오류 벡터, 위상 잡음 등)이 곧바로 거리 측정 오차로 이어질 수 있다. 따라서 GNSS 신호 설계 시, 단순히 변조 효율이나 BER만이 아니라, 수신기의 추적 성능·다중 경로 저감·전 세계 주파수 규제 등을 종합적으로 고려해야 한다.

#### 위상 변조 신호의 고급 추적 기법

GNSS 수신에서 BPSK, QPSK, BOC 계열 신호를 안정적으로 복조하고 위상 정보를 추출하기 위해서는, 단순한 초기에코(코히어런트) 검출만으로 충분하지 않을 수 있다. 특히 다중 경로, 잦은 채널 페이딩(도플러 스펙트럼의 움직임), 위성 궤도 변화 등 실제 GNSS 환경은 다양한 요인으로 인해 수신 신호의 위상이 계속적으로 변한다. 이를 극복하기 위해서는 좀 더 정교한 추적(loop) 알고리즘이 필요하며, 대표적으로 PLL(Phase Locked Loop), FLL(Frequency Locked Loop), DLL(Delay Locked Loop) 등이 상호 연동되어 작동한다.

#### PLL(위상 동기 루프)에서의 위상 변조 신호 추적

GNSS 수신기는 기본적으로 반송파 주파수와 위상을 추적하기 위해 PLL을 사용한다. PLL의 입력은 I/Q 검출부(코히어런트 검출)의 결과이며, BPSK, QPSK, BOC 등을 변조한 GNSS 신호도 궁극적으로는 수신기 내에서 복조되어 I/Q 성분으로 표현된다.

1. **에러 신호 생성**
   * 수신기에서 내부적으로 추정한 반송파(예: 추정 주파수 $\hat{f}\_c$, 추정 위상 $\hat{\theta}(t)$)를 생성하고, 이를 기준으로 수신 신호와 곱셈·적분 과정을 거친다.
   * BPSK라면 단순히 $\mathbf{I}$ 채널이 주 신호, QPSK/BOC에서는 I/Q를 모두 사용해 위상 오차 신호를 만든다.
   * 위상 오차(phase error)는 대개 코스타스 루프(Costas loop) 형태 또는 사인·코사인 곱등을 통해 추출한다.
2. **루프 필터**
   * 위상 오차 신호는 노이즈가 포함된 상태이며, 이를 일정 대역폭의 필터(루프 필터)를 통해 평활(smoothing)한다.
   * 루프 대역폭(Loop Bandwidth)은 추적 성능과 잡음 분산 간 타협점을 찾는 것이 핵심이며, GNSS에서는 수 밀리초에서 수십 밀리초 이상의 코히어런트 누적 후에 PLL을 업데이트하기도 한다.
3. **VCO(Voltage Controlled Oscillator) 또는 NCO(Numerically Controlled Oscillator)**
   * 루프 필터에서 나온 제어 입력을 통해 수신기 내부의 발진기(또는 수치발진기)의 주파수·위상을 갱신한다.
   * 이렇게 함으로써 반송파 주파수와 위상은 실제 수신 신호와 동기(synchronization)가 점점 정밀하게 맞춰진다.

이 과정에서 BPSK, QPSK, BOC 변조된 신호 모두 원리는 유사하지만, QPSK/BOC 신호는 두 개 이상의 직교축(I, Q)으로부터 위상 오차를 추정하며, BOC 계열은 서브캐리어의 영향으로 추가적 주파수 요소가 존재하므로 PLL 구조가 다소 복잡해질 수 있다.

#### DLL(지연 동기 루프)에서의 코드 추적

코드 추적은 확산 코드(PRN 코드)의 타이밍을 맞추는 과정으로, GNSS 수신기의 거리 측정 정확도를 결정짓는 핵심이다. DLL은 아래와 같은 원리로 동작한다.

1. **코드 지연 에러 측정**
   * 수신기 내부에서 동일한 PRN 코드를 발생시키되, 이 코드를 “Early(조금 이른)” 버전, “Prompt(정확한)” 버전, “Late(조금 늦은)” 버전으로 준비한다.
   * BPSK/QPSK/BOC 모두 마찬가지로, 각 버전을 수신 신호와 상관(correlation)한 결과를 비교함으로써 실제 코드의 지연량을 추정한다.
   * 예: Prompt 상관치가 최대가 되는 타이밍을 찾고, Early와 Late 상관치의 차이를 통해 에러를 추산한다.
2. **루프 필터**
   * Early-Late 상관치의 차이를 코드 에러 신호로 간주하고, 이를 DLL용 루프 필터에 통과시켜 안정적으로 추정한다.
   * DLL 대역폭은 잡음 환경과 위성 신호 세기에 따라 조절 가능하며, 좁은 대역폭으로 설정할수록 노이즈에 견고하지만 초기 획득 속도가 느릴 수 있다.
3. **코드 발생기 제어**
   * DLL 필터로부터 얻어진 제어값을 통해 내부 코드 발생기의 주파수(칩레이트) 및 위상을 갱신한다.
   * 이를 통해 실제 수신 신호의 코드 위상과 동기화가 진행된다.

BPSK 신호는 자기상관함수가 하나의 메인 로브를 갖는 비교적 단순한 구조라서 Early-Prompt-Late 상관치의 차이도 명확하다. 반면, BOC 신호는 이중 피크 구조 등으로 인해 DLL 알고리즘이 오탐(副 로브에 잠기는 현상)을 일으킬 가능성이 있다. 이를 해결하기 위해 특화된 추적 기법(예: unambiguous tracking 기법, BPSK-like tracking 기법)을 쓴다.

#### 주파수 동기(FLL)와 PLL-FLL 하이브리드

저신호환경(low C/N0\_0)이거나 초기 획득 단계에서, PLL로만 추적하기에는 위상 오차가 클 수 있다. 이때는 FLL(Frequency Locked Loop) 또는 FLL-PLL 결합(loop) 구조를 사용하기도 한다.

* **FLL**
  * 위상 오차보다 주파수 오차를 더 직접적으로 측정한다(예: 연속된 복조 블록 사이의 위상 변화량을 추정).
  * PLL에 비해 잡음 환경에서 좀 더 안정적이며, 초기에 큰 도플러 주파수 편이가 있더라도 빠르게 추정 가능.
* **FLL-PLL Hybrid**
  * 초기에는 FLL을 중심으로 도플러를 거칠게 맞추고, 점차 PLL 비중을 높여 위상을 정밀 추적한다.
  * GNSS 신호 획득과 추적 단계 전환에서 널리 사용되는 방식.

#### 사이클 슬립(Cycle Slip) 문제

GNSS 위상 측정(특히 반송파 위상의 정밀 추적)은 적게는 수 센티미터 급 오차(정밀 측위 RTK 등)까지 가능하지만, PLL에서 순간적으로 위상 추적이 끊기면 위상 누적값에 불연속이 생긴다. 이를 사이클 슬립(cycle slip)이라 하며, 정확한 정밀 측정에는 치명적 영향을 미친다.

* 발생 원인
  * 수신 신호 세기 급감(예: 전파 차단), 급격한 도플러 변화, 위성 신호 블록 등.
* 대책
  * PLL 루프 대역폭 자동 조절(Adaptive Loop Bandwidth)
  * 신호 레벨 모니터링 후 슬립 탐지(예: BPSK에서 I/Q 위상 계수 불연속)
  * 추가적인 보조 추정(예: INS(IMU) 융합, 다른 주파수 대역 신호와 결합)

GNSS 위상 측정은 단순 데이터를 복조하는 목적과 더불어, 반송파 위상을 높은 해상도로 추정하여 거리(위상 궤적)까지 측정하려는 목적이 있다. 따라서 사이클 슬립 관리가 매우 중요한 이슈가 된다.

#### 코히어런트 및 비코히어런트 통합(Integration)

GNSS는 낮은 신호 대 잡음비(C/N0\_0) 환경에서도 수신·추적을 해야 하므로, 일정 시간 동안 신호를 누적(Integration)하여 검출 민감도를 높인다.

1. **코히어런트 통합**
   * 반송파 위상을 알고 있는 상태(코히어런트)에서 일정 구간 신호를 직접 누적.
   * BPSK, QPSK 등은 수신기에서 정확히 반송파와 위상을 맞출 수 있다면, 잡음 레벨을 효과적으로 줄이고 신호 세기를 모아서 검출한다.
   * 단점: PLL이 불안정하면 누적 이득이 손실되고, 위상 추적이 어긋나면 누적 이득이 크게 감소.
2. **비코히어런트 통합**
   * 신호를 제곱검출(Envelope Detection)한 뒤, 그 결과를 덧셈하는 방식.
   * 위상 정보가 사라지므로 PLL 미동기 상태에서도 진행 가능하지만, 코히어런트 통합에 비해 누적 이득이 낮아진다.
   * 미분 검출(DBPSK 등)과 병행하거나, 초기 탐색(획득) 단계에서 주로 사용한다.

GNSS 수신기 구현에서는 짧은 구간(수 ms\~수십 ms)을 코히어런트 누적하고, 그 결과를 여러 번 반복하여 다시 비코히어런트 누적함으로써 최적의 성능을 내도록 설계한다.
