# 측정 방식: 코드 측정과 위상 측정

#### 개요

GNSS에서 가장 기본적인 측정 자료는 신호가 수신기에 도달하기까지 걸린 시간을 토대로 측정하는 방법이다. 이 시간을 이용해 위성-수신기 간의 거리(의사거리)를 유추할 수 있으며, 구체적인 측정 방식으로는 크게 **코드 측정**(코드 위상 측정)과 **위상 측정**(반송파 위상 측정)이 있다. 일반적으로 코드 측정은 초기 포지셔닝에 사용되고, 위상 측정은 후처리나 정밀 측정 시 주로 활용한다.

코드 및 반송파 신호를 어떻게 이용하느냐에 따라 측정 정밀도가 상당히 달라지기 때문에, 이러한 측정 방식의 원리를 이해하는 것은 GNSS의 성능 해석에서 매우 중요하다.

#### 코드 측정의 기본 원리

GNSS 위성은 독특한 특성을 가진 PRN(Pseudo Random Noise) 코드를 빠른 속도로 송신한다. 수신기는 같은 PRN 코드를 내부적으로 발생시키고, 수신된 위성 신호와 상호 상관 연산(Correlation)을 수행한다. 이때, 최대 상관치가 발생하는 지연량을 확인함으로써, 코드가 지연된 시간을 구할 수 있다.

코드 측정으로 얻어지는 의사거리(pseudorange)는 다음과 같이 표현 가능하다.

$$
P\_i = \rho\_i + c \left( \delta t\_r - \delta t\_s \right) + I\_i + T\_i + \epsilon\_{P,i}
$$

여기서

* $P\_i$ : 코드 측정으로 추정된 $i$번째 위성에 대한 의사거리
* $\rho\_i$ : 위성-수신기 간의 실제 기하학적 거리
* $c$ : 광속
* $\delta t\_r$ : 수신기 클록 오차
* $\delta t\_s$ : 위성 클록 오차
* $I\_i$ : 전리층 지연 효과(ionospheric delay)
* $T\_i$ : 대류권 지연 효과(tropospheric delay)
* $\epsilon\_{P,i}$ : 측정 잡음 및 기타 오차 항

위와 같은 코드 측정은 수신기의 초기 동작 시점에서 빠르게 위상 동기를 맞추고, 대략적인 위치를 산출하기에 매우 유리하다. 코드의 칩레이트(chip rate)가 낮을수록 상관 범위가 넓어져 정밀도는 떨어지지만, 반대로 칩레이트를 높이면 좀 더 정밀한 시간 지연 추정이 가능하다.

**코드 측정 과정 시각화 (예시)**

아래는 간단히 코드 측정 과정을 나타내는 예시 흐름도이다. 다이어그램으로 표현하면 다음과 같이 그릴 수 있다.

{% @mermaid/diagram content="flowchart TB
A\[위성의 PRN 코드 신호 송신] --> B\[수신기에서 동일 PRN 코드 생성]
B --> C\[상호 상관 연산 수행]
C --> D\[최대 상관 지점의 시간 지연 추정]
D --> E\[의사거리 추정]" %}

#### 코드 측정의 시간 동기화

코드 측정에서는 **코드 동기화**(코드 트래킹)가 핵심인데, 수신기의 내부 생성 코드와 위성에서 보내온 코드를 미세하게 동기화해야 한다. 동기화는 다시 다음 두 가지 단계로 나눌 수 있다.

1. **코드 획득(Acquisition)**: 대략적인 코드 지연을 찾아내는 과정
2. **코드 추적(Tracking)**: 세밀한 지연 추적 및 도플러 추적을 통해 계속해서 최대 상관치를 유지하도록 하는 과정

코드 획득은 비교적 넓은 지연 구간을 샘플링하면서 상관치를 계산해가며 신호를 찾는다. 획득이 성공하면, 이 값을 초기값으로 하여 추적 루프(Tracking Loop)가 동작한다.

추적 루프에서는 일반적으로 DLL(Delay Lock Loop) 및 PLL(Phase Lock Loop)이 사용된다. 특히 DLL이 코드 위상(Chip)에 대한 정밀 동기화를 담당한다. DLL은 ‘앞칩(early chip)’과 ‘뒤칩(late chip)’을 이용해 에러 신호를 생성하고, 이를 루프 필터를 통해 보정함으로써 코드 지연을 수정한다.

코드 추적에서 DLL 동작을 수식으로 표현하면 다음과 같이 쓸 수 있다.

$$
e\_{\mathrm{DLL}} = \int \left\[ r(t)\cdot c\_{E}(t) - r(t)\cdot c\_{L}(t) \right] dt
$$

여기서

* $r(t)$ : 수신된 신호
* $c\_{E}(t)$ : 앞칩 신호(early code)
* $c\_{L}(t)$ : 뒤칩 신호(late code)
* $e\_{\mathrm{DLL}}$ : 코드 추적 루프 내에서 생성되는 에러 신호

이 에러 신호 $e\_{\mathrm{DLL}}$을 기반으로 현재 코드 지연 추정치에 보정값을 적용해, 최대 상관점이 항상 중앙에 위치하도록 유지한다.

#### 코드 측정과 도플러 효과

GNSS 신호는 위성의 상대적 움직임으로 인해 도플러 주파수 이동이 발생한다. 이는 반송파뿐 아니라 코드 신호에도 영향을 미치며, \*\*코드 도플러(Code Doppler)\*\*라고 불린다. 코드에 나타나는 도플러 이동은 반송파 도플러 이동에 비해 훨씬 작지만(코드율의 차이에 기인), 여전히 정밀한 코드 측정을 위해서는 반드시 고려되어야 한다.

수신기에서는 코드 측정 과정에서 도플러 주파수 오차를 보정하기 위해 다음과 같은 단계를 수행한다.

1. **대략적 도플러 보정**: 신호 획득 단계에서 탐색 범위를 설정할 때, 도플러 주파수 후보들을 일정 간격으로 스캐닝하여 최대 상관치를 찾는다.
2. **정밀 도플러 추적**: 획득 후 추적 단계에서 FLL(Frequency Lock Loop) 또는 PLL(Phase Lock Loop)을 통해 도플러 오차를 연속적으로 추정하고 보정한다. 코드 도플러도 PLL 혹은 FLL에서 산출된 도플러 값을 바탕으로 실시간으로 반영한다.

만약 도플러 오차가 제대로 제거되지 않으면, 코드상에서 상관점이 흐트러지고 측정 오차가 증가한다. 이는 특히 높은 상대속도를 가지는 위성(LEO 위성 GNSS 중계 등)에서 더 중요해진다.

코드 신호에 적용되는 도플러 주파수 이동(Hz 단위)을 간단히 표현하면, 위성-수신기 속도 상대차 $\mathbf{v}$가 있을 때 다음과 같이 근사할 수 있다.

$$
f\_{D,\text{code}} \approx \frac{f\_\text{code}}{c} \left( \mathbf{v} \cdot \hat{\mathbf{r}} \right)
$$

여기서

* $f\_{D,\text{code}}$ : 코드 도플러 주파수
* $f\_\text{code}$ : 코드 칩레이트(chip rate)
* $c$ : 광속
* $\mathbf{v}$ : 위성-수신기 간 상대 속도 벡터
* $\hat{\mathbf{r}}$ : 위성에서 수신기를 향하는 방향 단위벡터

실제로는 반송파 도플러에서 수신기가 추정한 속도를 코드 추적 루프에 간접적으로 반영하는 방식으로 구현되기도 한다.

#### 코드 측정 정밀도

코드 측정 정밀도는 코드 칩레이트, 신호 대 잡음비($C/N\_0$), 추적 알고리즘의 설계 등에 따라 달라진다. 일반적으로 코드 측정 정밀도는 수 미터에서 수십 미터 정도 수준을 갖는다(단일 주파수, 특별한 보정 없는 경우).

코드 측정 시 정밀도는 다음과 같은 방정식을 통해 근사적으로 추정 가능하다.

$$
\sigma\_{P} \approx \alpha \cdot \frac{c}{2 B\_{\text{eff}} \sqrt{C/N\_0}}
$$

여기서

* $\sigma\_{P}$ : 코드 의사거리 측정 표준편차
* $\alpha$ : 신호 구조 및 추적 방식에 따른 상수 계수
* $B\_{\text{eff}}$ : 유효 대역폭(코드 추적 루프 대역폭 등)
* $C/N\_0$ : 캐리어 대 잡음밀도비(Carrier-to-Noise density ratio)

이 식에서 알 수 있듯, 더 넓은 유효 대역폭을 사용하면 잡음 평균 효과가 커져 추적 정밀도가 올라가고, $C/N\_0$가 높으면 신호 품질이 좋아져서 더 정확한 추적이 가능해진다.

#### 코드 측정의 오차 요인

코드 측정 시 발생하는 주요 오차 요인은 크게 다음과 같이 요약할 수 있다.

1. **수신기 클록 오차**: 수신기 내부 발생기(oscillator)와 실제 시간 척도 간의 오차
2. **위성 클록 오차**: 위성 시계 오차로, 항공우주국(NASA)이나 GNSS 운영기관이 지상국에서 송신하는 클록 보정 파라미터를 통해 보정 가능
3. **전리층 및 대류권 지연**: GNSS 신호가 지구 대기를 통과하며 굴절되는 효과
4. **멀티패스(Multipath)**: 건물, 지면 등에서 반사된 신호가 본 신호와 간섭을 일으켜 상관치에 오차를 일으킨다. 특히 코드 측정에서 멀티패스 영향은 반송파 측정보다 크게 나타난다.
5. **안테나 편파(antenna phase center) 오차**: 안테나 내에서의 신호 수신 위치 변화로 발생하는 지오메트릭 변동
6. **추적 루프 지연 및 열 잡음**: 수신기의 추적 회로에서 발생하는 내부 잡음이나 지연 요소

코드 측정 오차는 하나의 원인이 아닌 여러 가지 요소들이 합산되어 나타난다. 각 요소는 보정 기법이나 측정 모드(단일주파수 vs. 이중주파수 등)에 따라 상이한 정도로 줄일 수 있다.

#### 위상 측정(반송파 측정)의 기본 원리

GNSS 측정에서 코드 측정만으로는 얻기 어려운 고정밀 데이터를 제공하기 위해, 반송파(carrier) 신호의 위상(phase)을 이용한 측정 기법이 사용된다. 반송파 위상 측정은 코드 측정에 비해 파장이 훨씬 짧기 때문에, 짧은 파장을 기반으로 보다 정밀한 거리 측정이 가능하다.

GNSS 위성은 수 기가헤르츠(GHz) 대역의 반송파 신호를 송신하며, 수신기는 이를 복조(demodulation)하여 반송파 주파수와 위상을 추적한다. 이때 측정되는 **반송파 위상** 정보는 다음의 일반화된 모델로 표현할 수 있다.

$$
\Phi\_i = \rho\_i + c \left(\delta t\_r - \delta t\_s\right) + \lambda N\_i + I\_i - T\_i + \epsilon\_{\Phi,i}
$$

여기서

* $\Phi\_i$ : $i$번째 위성의 반송파 위상 관측값(단위: cycle 또는 radian)
* $\rho\_i$ : 위성-수신기 간의 실제 기하학적 거리
* $c$ : 광속
* $\delta t\_r$ : 수신기 클록 오차
* $\delta t\_s$ : 위성 클록 오차
* $\lambda$ : 반송파 파장
* $N\_i$ : 정수 모호정수(integer ambiguity)
* $I\_i$ : 전리층 지연(이중 주파수 사용 시 이론적으로 제거 가능)
* $T\_i$ : 대류권 지연
* $\epsilon\_{\Phi,i}$ : 열 잡음 및 기타 위상 측정 오차

**정수 모호정수** $N\_i$는 매우 중요한 파라미터로, 관측 시점에서 위성과 수신기 사이에 존재하던 반송파의 ‘전체 싸이클 수’를 나타낸다. 측정이 시작될 때 반송파의 절대 위상을 알 수 없기 때문에, 이 값은 미지의 정수값으로 남게 된다.

#### 위상 측정과 코드 측정의 비교

1. **정밀도**
   * **코드 측정**: 칩 하나의 길이가 수십 \~ 수백 미터 수준이므로, 측정 오차가 수 m \~ 수십 m가 될 수 있다.
   * **위상 측정**: 반송파(파장 수십 cm 정도)의 위상을 측정하므로 수 mm \~ cm 수준의 측정 정밀도를 기대할 수 있다(오차 요인 보정 시).
2. **모호정수 존재**
   * 코드 측정에는 모호정수 개념이 없다.
   * 위상 측정에는 정수 모호정수를 반드시 해결(ambiguity resolution)해야 한다.
3. **획득(Acquisition)과 추적(Tracking) 난이도**
   * 코드 측정은 PRN 코드 상관을 통해 상대적으로 쉽게 획득이 가능하다.
   * 위상 측정은 반송파 위상을 지속적으로 추적해야 하므로, PLL(Phase Lock Loop)을 이용한 정밀 추적이 필요하고, 도플러가 크게 변동되면 추적 루프가 쉽게 이탈(Loss of lock)될 수 있다.
4. **측정의 활용**
   * 코드 측정은 초기 포지셔닝이나 단말기의 실시간 내비게이션에 주로 활용된다.
   * 위상 측정은 후처리나 고정밀 측정(예: RTK, PPP)에 활용된다.

#### 위상 측정 과정

반송파 위상을 측정하기 위해서는 반송파와 동기화된 내부 기준신호(수신기 내 NCO, Numerically Controlled Oscillator)를 생성하고, 이 신호와 수신된 반송파 신호 간 위상차를 연속적으로 추적해야 한다.

추적에는 일반적으로 \*\*PLL(Phase Lock Loop)\*\*가 사용된다. PLL 구조는 다음과 같은 세 부분으로 나눌 수 있다.

1. **위상 검출기(Phase Detector)**: 현재 수신된 신호와 수신기 내부 기준신호 간의 위상차(오차 신호)를 추정한다.
2. **루프 필터(Loop Filter)**: 위상차에서 노이즈 성분을 줄이고, 추적 루프의 동작을 안정화한다.
3. **제어 발진기(NCO, VCO 등)**: 필터에서 나온 보정값을 바탕으로 기준신호 생성기의 주파수 및 위상을 조절한다.

PLL에서 측정되는 위상차 신호를 적분 누적함으로써, 실제 GNSS 반송파와 수신기 내부 기준 반송파 간의 전체 위상 변화를 측정할 수 있다.

#### 모호정수(N) 문제

반송파 위상 관측값은 ‘반송파가 몇 사이클(cycle) 이동했는가’를 측정하는 것이지만, **시작 시점**에서 전체 싸이클 수가 얼마인지는 모른다. 이 부분이 정수 모호정수 $N\_i$이며, 정확한 거리 해를 얻기 위해서는 반드시 이를 해결해야 한다.

모호정수는 식에서 다음과 같이 등장한다.

$$
\Phi\_i = \rho\_i + c(\delta t\_r - \delta t\_s) + \lambda N\_i + \cdots
$$

측정 시작 시점에 반송파가 정확히 몇 번 진동했는지(싸이클 수)는 모르기 때문에, 이 $N\_i$ 값이 커다란 정수(수만 \~ 수십만)로 존재하게 된다. RTK(Real-Time Kinematic)나 PPP(Precise Point Positioning) 같은 정밀 측정 기법에서는 이 모호정수를 어떻게 빠르게 정확히 풀 것인가(ambiguity resolution)가 관건이다.

#### 위상 측정에서 도플러 추적

**코드 측정**에서도 도플러 추적이 필요했듯이, 반송파 위상 추적에서는 훨씬 더 정교한 도플러 보정이 요구된다. 코드 도플러에 비해 반송파 도플러는 위상 추적 루프가 직접적인 입력으로 활용하기 때문이다.

반송파 도플러 주파수는 위성-수신기 상대 속도 $\mathbf{v}$가 있을 때, 간단히 다음과 같이 나타낼 수 있다.

$$
f\_D \approx \frac{f\_c}{c} \left( \mathbf{v} \cdot \hat{\mathbf{r}} \right)
$$

여기서

* $f\_D$ : 반송파 도플러 주파수
* $f\_c$ : 반송파 주파수($L1 ≈\approx 1.57542 GHz$ 등)
* $c$ : 광속
* $\mathbf{v}$ : 위성-수신기 간 상대 속도 벡터
* $\hat{\mathbf{r}}$ : 위성에서 수신기를 향하는 단위벡터

상대속도가 수 km/s에 달하는 GNSS 위성에 대해서는 도플러가 수 kHz 이상의 변화를 일으킬 수 있으며, PLL이 이를 따라잡을 수 있도록 추적 루프 설계가 이루어진다.

#### 위상 측정 정밀도

반송파 위상 측정은 파장이 매우 짧기 때문에, 이론적으로는 수 mm 단위의 정밀도까지 가능하다. 다만, 실제 운영 환경에서 이 수준의 정밀도를 확보하기 위해서는 다음이 필수적이다.

* 오차 모델 정확화(전리층, 대류권 지연 보정 등)
* 정수 모호정수( $N\_i$ )의 정확한 결정
* 멀티패스 영향 및 수신기 안테나 오차 보정

위상 측정 오차를 근사적으로 표현할 때, 간단히 열 잡음 등만 고려한 식은 다음과 같이 쓸 수 있다.

$$
\sigma\_{\Phi} \approx \frac{1}{2\pi} \sqrt{\frac{B\_{\mathrm{PLL}}}{C/N\_0}}
$$

여기서

* $\sigma\_{\Phi}$ : 위상 측정 표준편차(싸이클 단위)
* $B\_{\mathrm{PLL}}$ : PLL 루프 대역폭
* $C/N\_0$ : 캐리어 대 잡음밀도비

이때 실제 거리 오차로 환산하기 위해서는 $\lambda$를 곱해야 한다. 즉, 실제 거리에서의 위상 측정 오차는 $\sigma\_{\Phi} \times \lambda$ 수준이 된다.

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

위상 측정에서 가장 중요하게 모니터링해야 할 현상 중 하나는 \*\*사이클슬립(cycle slip)\*\*이다. 사이클슬립이란 PLL(Phase Lock Loop) 추적이 순간적으로 끊기거나 위상이 급격히 변동하여, 정수 모호정수 $N\_i$가 갑작스럽게 바뀌는 것을 말한다. 이때 모호정수가 한 싸이클 또는 여러 싸이클만큼 ‘점프’하는데, 이를 추적하지 못하면 거리 측정에서 큰 오차가 발생한다.

사이클슬립은 대체로 다음과 같은 원인으로 발생한다.

1. **신호 음영(blockage)**: 건물, 산악 지형 등에 의해 신호가 일시적으로 차단되었다가 다시 수신되는 경우
2. **저잡음비($C/N\_0$) 구간**: 지하 주차장, 터널 등에서 신호 세기가 크게 약해지면 PLL이 신호를 추적하기 어려워진다.
3. **급격한 상대속도 변화**: 위성 또는 수신기의 속도 변화로 도플러가 급격히 변하면 PLL 추적 루프가 이를 따라잡지 못해 사이클슬립이 발생한다.
4. **전자기 간섭**: 강한 전파 간섭이나 수신기 내부 간섭이 PLL을 교란시키는 경우

사이클슬립이 발생하면, 기존에 추정해온 정수 모호정수 $N\_i$에 올바르지 않은 점프가 생긴다. 이를 보정하기 위해서는 별도의 사이클슬립 감지 및 보정 알고리즘이 필요하다.

**사이클슬립 감지 기법**

* **이중 주파수 위상 비교**: L1, L2 등 두 개 이상의 주파수에서 측정되는 위상값을 비교해, 전리층 에러를 제거한 뒤 위상변화가 불연속적이면 사이클슬립이 의심된다.
* **코드-위상 비교**: 짧은 구간에서 코드 측정과 반송파 위상 측정을 함께 비교해, 불연속점이 발견되면 사이클슬립을 탐지할 수 있다.
* **도플러 예측 기반**: 과거 도플러 값을 기반으로 현재 도플러 추정값을 예측한 뒤, 실측 도플러와 비교해 오차가 큰 경우 사이클슬립을 의심한다.

**사이클슬립 보정**

사이클슬립이 감지되면, 슬립이 일어난 지점부터 다시 정수 모호정수를 재설정(재초기화)하거나, 인접 위성 및 측정자료와 결합하여 슬립 규모를 추정해 보정할 수도 있다. 예컨대 RTK 기법에서는 주변 기준국과의 위상 비교를 통해 슬립 크기를 직접 계산하기도 한다.

#### 위상 측정과 코드 측정 결합

GNSS에서는 일반적으로 **코드 측정**과 **위상 측정**을 동시에 수행한다. 코드 측정으로는 큰 규모의 거리(의사거리) 정보를, 위상 측정으로는 고정밀의 상대 거리 변화를 얻을 수 있기 때문에, 두 측정값을 결합함으로써 빠른 초기화와 높은 정밀도를 동시에 달성할 수 있다.

**Carrier Smoothed Code (CSC)**

대표적인 결합 기법으로 **Carrier Smoothing**(반송파 평활화)이 있다. 이는 반송파 위상 정보를 이용해 코드 측정을 보정함으로써, 코드 측정의 잡음을 줄이는 기법이다.

* **기본 아이디어**: 반송파 위상측정은 매우 정밀하지만, 정수 모호정수 문제로 인해 절대값에 대한 모호함이 있다. 반면 코드 측정은 절대적인 거리 측정값이 있지만 오차가 크다. 두 측정을 혼합해보면, 비교적 짧은 시간 구간 내에서 반송파 위상을 활용해 코드를 평활화할 수 있다.

CSC 식은 간단히 다음과 같은 형태로 나타낼 수 있다.

$$
P\_{\mathrm{smooth}}(t) = \alpha , P(t) + (1 - \alpha) \left\[ P\_{\mathrm{smooth}}(t-\Delta t) + \lambda \left( \Phi(t) - \Phi(t-\Delta t) \right) \right]
$$

여기서

* $P(t)$ : $t$ 시각의 코드 측정값
* $\Phi(t)$ : $t$ 시각의 반송파 위상 측정값(싸이클 단위)
* $\lambda$ : 반송파 파장
* $\alpha$ : 평활화 계수(Smoothing filter gain)
* $\Delta t$ : 측정 샘플링 간격

이 식에 따르면, 한 시점 이전의 평활화된 코드값($P\_{\mathrm{smooth}}(t-\Delta t)$)에 위상변화량($\Phi(t) - \Phi(t-\Delta t)$)을 반영해 단기적인 변동을 추정하고, 다시 코드 측정 P(t)P(t)와 가중평균을 취한다. 이렇게 하면 순간적인 멀티패스나 열잡음에 민감한 코드 측정값이 반송파 위상 정보를 통해 좀 더 안정적으로 평활화될 수 있다.

#### 멀티패스(Multipath)

멀티패스는 코드 및 위상 측정 모두에 영향을 미치지만, 코드 측정에서는 반송파보다 긴 파장(칩 길이)으로 인해 간섭 영향 범위가 더 넓어질 수 있다. 위상 측정 역시 반사 파가 직접파와 간섭하여 위상 측정값에 위상변화를 일으킨다.

멀티패스 환경에서의 전체 수신신호 $\mathbf{r}(t)$를 단순화해서 표현하면,

$$
\mathbf{r}(t) = \mathbf{s}(t) + \sum\_{k=1}^{K} A\_k \mathbf{s}\bigl(t - \Delta \tau\_k\bigr) + \mathbf{n}(t)
$$

여기서

* $\mathbf{s}(t)$ : 직접파(라인 오브 사이트, LOS) 신호
* $A\_k$ : $k$번째 반사파의 감쇠 및 위상 변화 계수
* $\Delta \tau\_k$ : 반사파의 추가 경로 지연
* $\mathbf{n}(t)$ : 열잡음 및 기타 잡음

이러한 반사 신호가 상관 처리나 위상 추적에 유입되면서 측정 오차를 발생시킨다. 멀티패스는 측정 환경(주변 반사체 분포, 안테나 특성)에 따라 크게 달라지므로, GNSS 수신 안테나를 고도화하거나(초단 반사판, 초지향성 안테나), 외부 보정기법(지면 반사 제거, 안테나 높이 조절 등)을 통해 줄이는 노력이 필요하다.

#### 차분 측정(Differential Measurement)

GNSS 측정값(코드 및 위상)은 절대 오차가 포함되어 있기 때문에, 이를 직접 사용하면 특정 수준 이상의 정밀도 확보가 쉽지 않다. 특히 전리층·대류권 지연, 위성·수신기 클록 에러 등은 측정값에 공통으로 포함되는 항이며, 이를 상쇄하기 위한 기법으로 **차분(differential)** 방식이 활용된다.

차분 측정은 여러 수신기에서 동시에 수신되는 GNSS 신호의 측정값(코드·위상)을 서로 빼줌으로써, 공통적으로 나타나는 오차항을 감소(또는 제거)시킨다. 차분 방식은 단일 차분(SD), 이중 차분(DD), 삼중 차분(TD) 등으로 확장되며, 특히 위상 측정값에 차분을 적용하면 모호정수 해결에 큰 이점을 준다.

**단일 차분(Single Difference)**

동일 위성에서 측정한 두 개의 수신기 간 측정값을 빼는 방식이다. 예를 들어, 기준국(Reference)과 이동국(Rover)에서 동시에 같은 위성 ii에 대해 측정한 위상 관측값을 각각 $\Phi\_{\mathrm{ref},i}$, $\Phi\_{\mathrm{rov},i}$라 할 때, 단일 차분 위상은

$$
\Delta \Phi\_{i}  = \Phi\_{\mathrm{rov},i} - \Phi\_{\mathrm{ref},i}.
$$

이렇게 하면, 위성 클록 오차 $\delta t\_s$ 같은 항은 두 측정값에서 공통이므로 소거될 수 있다. 다만 수신기 클록 오차나 전리층·대류권 지연 등이 여전히 남는다(단, 두 수신기의 공간적 거리가 짧다면 대류권·전리층 지연이 부분적으로 상쇄될 수 있다).

**이중 차분(Double Difference)**

단일 차분을 다시 ‘다른 위성과의 차이’ 형태로 한 번 더 차분한 것이 이중 차분이다. 즉, 같은 두 수신기에 대하여 서로 다른 위성 $i$, $j$에 대한 단일 차분값을 빼준다.

$$
\nabla \Delta \Phi\_{i,j}  = \bigl(\Phi\_{\mathrm{rov},i} - \Phi\_{\mathrm{ref},i}\bigr)  - \bigl(\Phi\_{\mathrm{rov},j} - \Phi\_{\mathrm{ref},j}\bigr)
$$

이 방식을 취하면 수신기 클록 오차 항이 사라지고, 위성 클록 오차 역시 두 위성 간 차이로서 상당 부분 제거된다. 또한, 정수 모호정수에 대해서도 두 위성 간에 일정한 조합 형태로 나타나므로, **이중 차분 위상**을 분석하면 단일 측정으로는 어려웠던 정수 모호정수 해를 더 안정적으로 추정할 수 있다.

**삼중 차분(Triple Difference)**

삼중 차분은 시간 축까지 포함해 이중 차분을 한 번 더 차분한 것이다. 즉, 이전 시각(t-1)과 현재 시각(t)의 이중 차분값을 빼주는 개념이다.

$$
\nabla \Delta \Phi\_{i,j}(t) - \nabla \Delta \Phi\_{i,j}(t - 1)
$$

이를 통해 시간적으로 공통으로 적용되는 일부 잔차 오차 항도 줄어든다. 삼중 차분은 모호정수의 변화나 사이클슬립 등을 감지하는 데 유용하며, 초기 단계에서 잠정적인 모호정수 해를 빠르게 추정하는 데에 활용되기도 한다.

#### 차분 측정의 효과

* **공통 오차 소거**: 전리층 지연, 대류권 지연, 위성·수신기 클록 에러 등이 상당 부분 제거된다.
* **모호정수 해결 지원**: 위상 측정에서 핵심인 정수 모호정수를 효율적으로 해결 가능하다.
* **오류 감지**: 삼중 차분 등을 통해 사이클슬립이나 갑작스러운 측정 이상을 검출하기 쉽다.

차분 측정 기법은 RTK(Real-Time Kinematic)나 DGPS(Differential GPS)에서 널리 활용되며, 특히 **RTK**에서는 이중 차분 위상 측정을 실시간으로 처리하여 cm 급 정밀도를 달성한다.

#### 위상 측정 기반 정밀 측정 기법 예시

* **RTK(Real-Time Kinematic)**: 기준국과 이동국에서 동시에 위상 측정을 수행하고, 이중 차분을 통해 오차를 상쇄함으로써 실시간으로 cm 단위 정밀도를 달성.
* **PPP(Precise Point Positioning)**: 차분 대신 정밀한 궤도·시계·전리층 보정 모델을 활용하여 단일 수신기로도 고정밀 위치를 얻는 기법이지만, 위상 측정을 이용해 모호정수를 풀어야 한다는 점에서 공통점을 가진다.

#### 측정 방식 요약

GNSS 신호의 **코드 측정**과 **위상(반송파) 측정**은 상호 보완적이다.

* **코드 측정**은 빠른 획득, 거친 거리 정보, 모호정수 없음.
* **위상 측정**은 높은 정밀도, 모호정수 해결 필요, PLL 기반의 정밀 추적.

이 두 측정 방식이 결합하면 멀티패스·잡음·도플러 등 다양한 오차 요소를 세밀하게 제어하면서, 초기 포지셔닝부터 정밀 측정까지 대응이 가능하다.
