# Galileo 측위 원리

#### 위성 신호와 전파 지연

Galileo 시스템의 측위 원리는 GPS와 GLONASS와 유사하게, 위성에서 수신기까지 전파되는 신호의 시간을 기반으로 거리(또는 위성-수신기 간 거리)를 계산하여 위치를 추정하는 방식이다. 이는 \*\*삼변측량(trilateration)\*\*이라는 원리로 설명될 수 있다. 기본적으로, 네 개 이상의 Galileo 위성으로부터 신호를 수신하고 각 위성까지의 거리를 계산하여 3차원 공간에서의 위치를 추정한다.

위성 신호는 **코드 측정**과 **운반파 위상 측정**을 통해 수신된다. 코드 측정은 대략적인 위치 정보를 제공하며, 운반파 위상 측정은 보다 정밀한 위치 정보를 제공한다. Galileo 시스템은 **E1, E5a, E5b**와 같은 다중 주파수 대역을 사용하여 전파 지연을 최소화하고 신호 간섭에 대한 복원력을 높인다.

먼저, 수신기에서 위성까지의 거리는 다음 식으로 표현된다.

$$
\mathbf{r} = c \cdot \Delta t
$$

여기서,

* $\mathbf{r}$은 수신기와 위성 간의 거리,
* $c$는 빛의 속도(약 $3 \times 10^8 , \text{m/s}$),
* $\Delta t$는 위성에서 수신기까지 신호가 도달하는 데 걸린 시간이다.

수신기는 위성에서 전송된 신호의 전파 지연 시간을 계산함으로써 위성까지의 거리를 추정한다. 이때 정확한 시간을 알기 위해서는 수신기와 위성의 시계가 동기화되어야 하지만, 실제로는 수신기와 위성 시계 사이에 오차가 존재할 수 있다.

#### 시계 오차와 측정 보정

수신기와 위성 시계의 오차는 측정에 중요한 영향을 미친다. 이 오차는 Galileo 시스템에서 **위성 시계 오차**와 **수신기 시계 오차**로 나눌 수 있으며, 시계 오차는 추가적인 변수로 고려되어야 한다.

수신기의 좌표를 $(x\_r, y\_r, z\_r)$, 위성의 좌표를 $(x\_i, y\_i, z\_i)$라고 하고, 수신기 시계 오차를 $\Delta t\_r$, 위성 시계 오차를 $\Delta t\_i$라고 할 때, 실제 거리는 다음과 같이 표현될 수 있다.

$$
\mathbf{r}\_i = \sqrt{(x\_r - x\_i)^2 + (y\_r - y\_i)^2 + (z\_r - z\_i)^2} + c (\Delta t\_r - \Delta t\_i)
$$

이때 각 위성으로부터 측정된 거리 $\mathbf{r}\_i$가 시계 오차와 함께 보정된 측정값이다. 수신기의 위치와 시계 오차를 추정하기 위해서는 최소한 4개의 위성 신호가 필요하며, 이로써 3차원 좌표와 시계 오차를 모두 해결할 수 있다.

#### 삼변측량 (Trilateration)

삼변측량은 측정된 여러 위성 신호의 거리를 기반으로 수신기의 위치를 추정하는 방법이다. 수신기에서 위성까지의 거리를 측정할 때, 각 거리는 구면의 반경과 같으며, 위성의 위치는 이미 알려져 있으므로 여러 개의 구면이 교차하는 지점에서 수신기의 위치를 결정할 수 있다.

각 위성으로부터 측정된 거리를 사용하여 수신기의 위치를 구하는 식은 다음과 같다.

$$
\sqrt{(x\_r - x\_1)^2 + (y\_r - y\_1)^2 + (z\_r - z\_1)^2} = \mathbf{r}\_1
$$

$$
\sqrt{(x\_r - x\_2)^2 + (y\_r - y\_2)^2 + (z\_r - z\_2)^2} = \mathbf{r}\_2
$$

$$
\sqrt{(x\_r - x\_3)^2 + (y\_r - y\_3)^2 + (z\_r - z\_3)^2} = \mathbf{r}\_3
$$

$$
\sqrt{(x\_r - x\_4)^2 + (y\_r - y\_4)^2 + (z\_r - z\_4)^2} = \mathbf{r}\_4
$$

이러한 네 개의 방정식을 해결하면 수신기의 위치 $(x\_r, y\_r, z\_r)$를 구할 수 있다. 위성 시계와 수신기 시계 오차를 고려하면 이를 보다 복잡한 형태로 풀어야 하지만, 대체로 위성의 위치가 고정되어 있기 때문에 방정식의 형태는 동일한다.

#### 대기 지연과 전리층 효과

Galileo 측위 시스템에서 고려해야 할 주요 오차 요소 중 하나는 **대기 지연**과 **전리층 효과**이다. 전리층과 대기는 전파 신호가 수신기로 전달되는 동안 신호의 속도를 지연시키거나 왜곡시킨다. 이러한 효과는 주파수에 따라 다르게 나타나며, Galileo는 이러한 오차를 최소화하기 위해 다중 주파수 대역(E1, E5a, E5b)을 사용한다.

**전리층 지연 (Ionospheric Delay)**

전리층에서 발생하는 지연은 신호의 주파수에 비례한다. Galileo는 이 문제를 해결하기 위해 **이중 주파수 측정**을 사용하여 전리층 지연을 보정한다. 이는 두 가지 주파수의 신호 지연 차이를 이용하여 전리층에서 발생한 지연을 계산하고 보정하는 방식이다.

전리층 지연을 보정하는 과정은 다음과 같이 설명될 수 있다.

$$
\Delta t\_{\text{ion}} = \frac{\mathbf{r}\_f}{f\_1^2} - \frac{\mathbf{r}\_f}{f\_2^2}
$$

여기서,

* $\Delta t\_{\text{ion}}$는 전리층에서의 시간 지연,
* $\mathbf{r}\_f$는 신호가 전파된 거리,
* $f\_1, f\_2$는 각각 다른 주파수 대역에서의 주파수이다.

이 방정식은 서로 다른 주파수 대역을 사용함으로써 전리층에서의 신호 지연을 계산하고 이를 보정할 수 있다. Galileo의 다중 주파수 신호(E1, E5a, E5b)는 이러한 전리층 지연을 보다 정밀하게 보정하는 데 사용된다.

**대류권 지연 (Tropospheric Delay)**

대류권에서도 신호 지연이 발생하는데, 이는 주로 온도, 습도, 압력 등 기상 조건에 따라 달라진다. 대류권 지연은 대기 모델을 사용하여 보정할 수 있다. 대류권 지연 보정을 위해 사용되는 일반적인 모델 중 하나는 **Saastamoinen 모델**이다.

대류권 지연은 다음과 같이 표현할 수 있다.

$$
\Delta t\_{\text{trop}} = \frac{0.002277}{\cos \theta} (P + (1255/T + 0.05) e)
$$

여기서,

* $\Delta t\_{\text{trop}}$는 대류권에서의 신호 지연,
* $P$는 기압(헥토파스칼),
* $T$는 온도(켈빈),
* $e$는 수증기 압력(헥토파스칼),
* $\theta$는 위성의 고각각이다.

이 모델을 사용하여 수신기 위치에 따른 대류권 지연을 보정할 수 있다.

#### 다중 경로 효과 (Multipath Effect)

다중 경로 효과는 신호가 여러 경로를 통해 수신기에 도달하는 현상으로, 특히 도시 환경이나 건물, 산악 지역 등에서 많이 발생한다. 다중 경로로 인해 신호가 왜곡되거나 지연될 수 있으며, 이는 정확한 위치 추정에 영향을 미친다.

이러한 다중 경로 신호는 직접 신호와 함께 수신되며, 신호의 위상 및 크기 변화로 인해 거리 측정의 오차를 유발한다. Galileo 시스템에서는 이러한 다중 경로 효과를 줄이기 위해 **신호 처리 기술**과 **안테나 설계**를 개선하여 보다 정확한 신호를 수신한다.

다중 경로 효과는 다음과 같은 모델로 설명될 수 있다.

$$
\mathbf{r}*{\text{multi}} = \mathbf{r}*{\text{direct}} + \mathbf{r}\_{\text{reflected}}
$$

여기서,

* $\mathbf{r}\_{\text{multi}}$는 다중 경로에 의해 왜곡된 신호 거리,
* $\mathbf{r}\_{\text{direct}}$는 직접 경로를 통해 수신된 신호 거리,
* $\mathbf{r}\_{\text{reflected}}$는 반사 경로를 통해 수신된 신호 거리이다.

다중 경로 효과를 줄이기 위해서는 **향상된 신호 처리 알고리즘**과 **다중 경로 필터링 기술**이 사용되며, Galileo는 이를 통해 신호의 정확도를 향상시킨다.

#### 위성 기하학과 측위 정확도

Galileo 시스템의 정확도는 위성의 기하학적 배치에 크게 의존한다. 위성의 기하학적 배치를 평가하는 지표로 \*\*기하학적 분포 오차(GDOP, Geometric Dilution of Precision)\*\*가 사용된다. GDOP는 수신기와 위성 간의 상대적 위치 관계가 얼마나 좋은지를 나타내는 값으로, 낮을수록 정확한 위치 추정이 가능한다.

GDOP는 크게 다음과 같은 종류로 나눌 수 있다:

* **PDOP (Position Dilution of Precision)**: 위치 정확도를 나타내며, $x, y, z$ 좌표에 대한 오차를 반영한다.
* **TDOP (Time Dilution of Precision)**: 시간 측정의 정확도를 나타낸다.
* **HDOP (Horizontal Dilution of Precision)**: 수평 위치의 정확도를 나타낸다.
* **VDOP (Vertical Dilution of Precision)**: 수직 위치의 정확도를 나타낸다.

GDOP는 다음 식으로 표현될 수 있다.

$$
GDOP = \sqrt{PDOP^2 + TDOP^2 + HDOP^2 + VDOP^2}
$$

PDOP, TDOP, HDOP, VDOP는 각각 수신기와 위성 간의 기하학적 관계에 따라 결정되며, 위성이 수신기로부터 다양한 각도에서 신호를 송신할수록 낮은 GDOP를 얻을 수 있다. Galileo 시스템은 위성이 고르게 분포되도록 설계되어 GDOP가 낮게 유지되며, 이를 통해 더 정확한 위치 추정이 가능한다.

**기하학적 분포 오차 예시**

위성이 하늘의 특정 지역에 집중되어 있을 경우, 위치 추정의 정확도가 떨어진다. 예를 들어, 위성들이 지평선 근처에 집중되어 있으면 수신기는 수평 위치는 잘 추정할 수 있지만, 수직 위치는 정확하게 추정하기 어렵다. 반면에, 위성들이 하늘 전체에 고르게 분포되어 있으면 더 나은 정확도를 기대할 수 있다.

#### 측위 알고리즘

Galileo에서 위치를 추정하는 과정은 여러 알고리즘을 통해 이루어지며, 이는 위성 신호의 특성과 수신기 성능에 따라 달라질 수 있다. 가장 일반적인 방법은 \*\*최소 제곱법(Least Squares Method)\*\*을 사용하여 측정된 거리 데이터를 바탕으로 위치를 추정하는 것이다. 이 과정에서 수신기와 위성의 시계 오차, 대기 지연, 다중 경로 효과 등을 고려하여 보정한다.

최소 제곱법을 적용하기 위한 목적 함수는 다음과 같다.

$$
\mathbf{J} = \sum\_{i=1}^{n} \left( \mathbf{r}\_i - \sqrt{(x\_r - x\_i)^2 + (y\_r - y\_i)^2 + (z\_r - z\_i)^2} \right)^2
$$

여기서,

* $\mathbf{J}$는 오차 제곱합을 나타내는 목적 함수,
* $\mathbf{r}\_i$는 각 위성으로부터 측정된 거리,
* $(x\_r, y\_r, z\_r)$는 수신기의 위치,
* $(x\_i, y\_i, z\_i)$는 위성의 위치이다.

목적 함수 $\mathbf{J}$를 최소화하면 수신기의 위치 $(x\_r, y\_r, z\_r)$를 얻을 수 있다. 이때 각종 오차 요인을 보정하기 위한 추가적인 알고리즘이 결합될 수 있으며, 실시간으로 위치 추정이 이루어진다.

또한, \*\*칼만 필터(Kalman Filter)\*\*와 같은 동적 필터링 알고리즘도 사용될 수 있다. 칼만 필터는 시계열 데이터를 기반으로 현재 상태를 추정하고, 이를 통해 더 정확한 위치를 추정한다. 이는 특히 이동 중인 수신기의 위치를 추정할 때 유용하다.
