GNSS 수신기 구성 요소

GNSS 수신기는 위성에서 전송된 신호를 수신하고, 이를 처리하여 위치, 속도, 시간 정보를 산출하는 장치이다. 기본적으로 GNSS 수신기는 다음과 같은 주요 구성 요소로 이루어져 있다:

  1. 안테나
  2. GNSS 신호를 수신하는 부분으로, 신호의 강도를 극대화하기 위해 설계된다. 다양한 환경에서의 신호 수신을 고려하여 다중 경로(Multipath)를 줄이고, 잡음 대비 신호비(Signal-to-Noise Ratio, SNR)를 높이는 역할을 한다.

  3. RF 전처리기

  4. 위성에서 수신한 고주파(RF) 신호를 저주파로 변환하고, 필터링하여 유효 신호를 추출하는 역할을 한다. 일반적으로 대역통과 필터와 증폭기를 포함하고 있으며, 수신된 신호에서 잡음을 제거하는 것이 중요하다.

  5. 신호 처리부

  6. 수신된 신호는 디지털 신호로 변환된 후 다양한 신호 처리 과정을 거친다. 이 과정에서는 주로 코드 및 반송파 동기화, 획득, 추적 과정이 포함된다. 수학적으로 GNSS 신호는 아래와 같은 식으로 표현된다:
\mathbf{r}(t) = \mathbf{s}(t) + \mathbf{n}(t)

여기서 \mathbf{r}(t)는 수신된 신호, \mathbf{s}(t)는 위성으로부터의 신호, 그리고 \mathbf{n}(t)는 잡음 신호이다. GNSS 수신기는 이 잡음 성분을 제거하여 신호 \mathbf{s}(t)를 정확하게 추출하는 과정을 거친다.

  1. 베이스밴드 처리기
  2. 디지털 신호로 변환된 GNSS 신호를 기반으로, 각 위성의 의사난수(PRN) 코드를 비교하여 신호를 동기화하는 과정이다. 이는 수신된 신호에서 시간 지연 및 도플러 주파수 이동을 계산하는 데 중요한 과정이다.

  3. 측위 알고리즘

  4. 수신된 신호를 바탕으로 위성으로부터의 거리 정보를 계산하고, 이를 이용하여 위치를 추정한다. 기본적으로 삼각측량 기법이 적용되며, 위치 계산은 아래와 같은 방정식을 풀어야 한다:
\mathbf{d}_i = \sqrt{(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2} + c \cdot \delta t

여기서 \mathbf{d}_ii-번째 위성으로부터의 거리, (x_i, y_i, z_i)i-번째 위성의 좌표, (x, y, z)는 수신기의 위치, c는 빛의 속도, 그리고 \delta t는 수신기의 시계 오차이다.

안테나 설계

GNSS 수신기의 성능은 안테나 설계에 크게 의존한다. GNSS 안테나는 위성에서 수신된 미약한 신호를 최대한 효율적으로 수집해야 하므로, 다음과 같은 사항을 고려하여 설계된다.

  1. 이득
  2. 안테나의 이득은 특정 방향에서 신호를 얼마나 효율적으로 수신할 수 있는지를 나타내는 지표이다. GNSS 수신기의 경우, 모든 방향에서 신호를 수신할 수 있도록 전방위성(Omni-directional) 이득이 필요하다. 하지만, 동시에 고층 건물이나 다른 물체로 인해 발생하는 다중 경로 신호를 억제해야 하기 때문에, 다중 경로 저감 특성을 가진 안테나 설계가 필요하다.

  3. 편파

  4. GNSS 신호는 원형 편파(Circular Polarization)로 전송되므로, 수신 안테나도 이에 맞춰 원형 편파 안테나가 필요하다. 일반적으로 우회전 원형 편파(Right-Hand Circular Polarization, RHCP)를 사용하여 위성 신호를 수신한다.

  5. 다중 경로 억제

  6. 도시 환경에서는 빌딩이나 다른 구조물에 반사된 신호가 수신기에 들어오는 다중 경로(Multipath) 현상이 발생한다. 이로 인해 위치 계산에 오차가 생길 수 있기 때문에, 이를 줄이기 위한 안테나 설계가 필요하다. 예를 들어, 고정밀 GNSS 수신기에서는 고이득 빔 안테나를 사용하여 다중 경로 신호를 억제하고, 정확도를 높인다.

RF 전처리기 설계

RF 전처리기는 수신된 고주파 신호를 저주파로 변환하고, 필요한 신호만을 남겨두기 위한 필터링 및 증폭 작업을 수행한다. 이 과정에서 고려해야 할 주요 사항은 다음과 같다:

  1. 저잡음 증폭기 (Low Noise Amplifier, LNA)
  2. GNSS 신호는 매우 미약하기 때문에 수신기에서 신호를 증폭해야 한다. 하지만 잡음까지 함께 증폭되지 않도록 저잡음 증폭기를 사용하는 것이 중요하다. LNA의 이득 및 잡음 지수는 신호 품질에 직접적인 영향을 미치며, 수신기의 성능을 결정짓는 중요한 요소이다.

  3. 믹서 (Mixer)

  4. 수신된 고주파 신호를 저주파로 변환하기 위해 믹서를 사용한다. 믹서는 두 개의 주파수를 곱하여 새로운 주파수 성분을 생성하며, 이는 아래와 같은 수식으로 표현할 수 있다:
\mathbf{f}_{\text{IF}} = \mathbf{f}_{\text{RF}} - \mathbf{f}_{\text{LO}}

여기서 \mathbf{f}_{\text{IF}}는 중간 주파수(IF), \mathbf{f}_{\text{RF}}는 수신된 RF 주파수, \mathbf{f}_{\text{LO}}는 로컬 오실레이터(LO)의 주파수이다. 믹서 설계에서는 변환 손실과 혼합의 비선형성을 최소화하는 것이 중요하다.

  1. 필터링
  2. 수신된 신호에는 GNSS 신호 외에도 다양한 잡음 및 간섭 신호가 포함될 수 있다. 이러한 잡음 신호를 제거하기 위해 대역통과 필터를 사용하여 유효한 주파수 대역의 신호만을 통과시킨다. GNSS 수신기의 경우, L1, L2, L5 등의 다양한 주파수 대역을 지원하기 때문에 필터 설계가 매우 중요하다.

신호 처리부 설계

GNSS 수신기에서 신호 처리부는 수신된 신호를 분석하고, 필요한 데이터를 추출하는 중요한 단계이다. 신호 처리부 설계는 특히 다음과 같은 요소들을 고려해야 한다:

  1. 코드 획득 (Code Acquisition)
    GNSS 수신기는 위성 신호를 수신한 후, 수신된 신호와 각 위성의 의사 난수(PRN) 코드를 비교하여 해당 위성의 신호를 획득한다. 코드 획득 과정에서는 신호와 PRN 코드의 상관성을 최대화하는 것이 중요하다. 획득 과정은 주로 상관 함수 R(\tau)를 계산하여 이루어지며, 이는 다음과 같이 표현된다:
R(\tau) = \int_0^T \mathbf{s}(t) \cdot \mathbf{c}(t - \tau) \, dt

여기서 \mathbf{s}(t)는 수신된 신호, \mathbf{c}(t)는 PRN 코드, \tau는 시간 지연, T는 상관 함수 계산 시간이다. 최대 상관성을 가지는 \tau 값을 찾으면, 해당 위성의 신호를 정확하게 획득할 수 있다.

  1. 코드 및 반송파 추적 (Code and Carrier Tracking)
    코드 획득 이후에는 해당 위성 신호를 지속적으로 추적해야 한다. 이를 위해 코드와 반송파의 동기화가 필요하며, 다음과 같은 신호 모델을 사용하여 추적을 수행한다:
\mathbf{r}(t) = \mathbf{A} \cos\left( 2 \pi \mathbf{f}_c t + \theta \right) \cdot \mathbf{c}(t - \tau)

여기서 \mathbf{A}는 신호의 진폭, \mathbf{f}_c는 반송파 주파수, \theta는 위상, \mathbf{c}(t)는 의사 난수 코드이다. 반송파 추적을 위해 위상 동기 루프(PLL: Phase Locked Loop)와 주파수 동기 루프(FLL: Frequency Locked Loop)를 사용하여, 반송파의 주파수와 위상을 추적한다.

  1. 도플러 주파수 보정
    위성과 수신기 사이의 상대적인 움직임에 의해 발생하는 도플러 효과를 보정해야 한다. 도플러 효과는 위성의 속도 \mathbf{v}_s와 수신기의 속도 \mathbf{v}_r에 의해 결정되며, 도플러 주파수는 다음과 같은 식으로 계산된다:
\mathbf{f}_{\text{Doppler}} = \frac{1}{\lambda} \left( \mathbf{v}_r - \mathbf{v}_s \right) \cdot \hat{\mathbf{d}}

여기서 \lambda는 신호의 파장, \hat{\mathbf{d}}는 위성에서 수신기로 향하는 단위 벡터이다. 이 보정이 정확하지 않으면, 추적 과정에서 큰 오차가 발생할 수 있다.

  1. 다중 경로 문제
    도시 환경이나 실내에서는 신호가 건물이나 물체에 반사되어 다중 경로가 발생할 수 있다. 이는 수신 신호에 추가적인 지연을 발생시키며, 위치 계산에 오차를 일으킨다. 다중 경로 문제를 해결하기 위해 GNSS 수신기는 다중 경로 신호를 억제하는 다양한 필터링 및 신호 처리 기법을 사용한다.

베이스밴드 처리기 설계

베이스밴드 처리기는 디지털 신호로 변환된 GNSS 신호에서 시간을 정확하게 동기화하는 중요한 단계이다. 이를 위해 위성 신호의 PRN 코드를 기반으로 신호를 추적하고, 각 위성으로부터 수신된 신호의 도착 시간을 계산한다.

  1. 코드 동기화
    위성 신호는 의사 난수(PRN) 코드로 변조되어 전송되므로, 수신기에서는 수신된 신호와 PRN 코드를 동기화해야 한다. 이는 다음과 같은 상관식으로 표현된다:
\mathbf{R}(\tau) = \sum_{n=0}^{N-1} \mathbf{r}(n) \cdot \mathbf{c}(n - \tau)

여기서 N은 샘플 수, \mathbf{r}(n)은 수신된 신호 샘플, \mathbf{c}(n)은 PRN 코드이다. 이 상관식을 통해 동기화된 신호의 도착 시간을 계산할 수 있다.

  1. 반송파 동기화
    PRN 코드 동기화 후에는 반송파 신호를 동기화하여 위성 신호의 주파수 및 위상을 정확하게 추적해야 한다. 이를 위해 수신기는 주로 PLL과 FLL을 사용하여 반송파 신호를 추적하며, 정확한 신호 처리에 필요한 시간 정보를 추출한다.

  2. 지연 고정 루프 (Delay Lock Loop, DLL)
    지연 고정 루프는 PRN 코드의 동기화를 지속적으로 유지하기 위해 사용된다. 수신된 신호와 내부적으로 생성한 PRN 코드의 상관성을 비교하여 미세한 시간 차이를 보정한다. DLL은 다음과 같은 식으로 표현될 수 있다:

\mathbf{E} = \frac{1}{T} \int_0^T \left( \mathbf{r}(t) \cdot \mathbf{c}(t - \tau + \Delta) - \mathbf{r}(t) \cdot \mathbf{c}(t - \tau - \Delta) \right) dt

여기서 \Delta는 지연된 신호와 앞서간 신호 사이의 시간 차이, \mathbf{E}는 이 두 신호의 상관 값 차이이다. 이 값을 최소화하는 방향으로 PRN 코드를 조정하여 정확한 시간 동기화를 유지한다.

측위 알고리즘 설계

GNSS 수신기의 측위 알고리즘은 수신된 신호를 바탕으로 위성과의 거리를 계산하고, 이를 통해 수신기의 위치를 추정하는 중요한 과정이다. 이 과정은 다음과 같은 단계로 이루어진다:

  1. 삼각측량 (Trilateration)
    수신기가 최소 4개의 GNSS 위성으로부터 신호를 수신하여, 각 위성으로부터의 거리를 계산한다. 각 위성으로부터의 거리는 다음과 같은 식으로 표현된다:
\mathbf{d}_i = \sqrt{(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2} + c \cdot \delta t

여기서: - \mathbf{d}_i: i-번째 위성으로부터의 거리 - (x, y, z): 수신기의 위치 - (x_i, y_i, z_i): i-번째 위성의 위치 - c: 빛의 속도 - \delta t: 수신기의 시계 오차

이 방정식들을 풀어 수신기의 위치 (x, y, z)와 시계 오차 \delta t를 추정한다. 수학적으로, 이 방정식들은 비선형이기 때문에, 적절한 수치 해법을 통해 해결해야 한다.

  1. 확장 칼만 필터 (Extended Kalman Filter, EKF)
    GNSS 수신기의 위치 추정 문제는 비선형 문제이므로, 확장 칼만 필터(EKF)를 적용하여 수신기의 상태(위치, 속도, 시계 오차 등)를 추정한다. EKF는 비선형 시스템에 적용되며, 시스템 모델을 선형화한 후 칼만 필터를 적용한다.

  2. 상태 벡터 \mathbf{x}(t):

\mathbf{x}(t) = \begin{bmatrix} x(t) \\ y(t) \\ z(t) \\ v_x(t) \\ v_y(t) \\ v_z(t) \\ \delta t(t) \end{bmatrix}
 여기서 $x(t), y(t), z(t)$는 수신기의 위치, $v_x(t), v_y(t), v_z(t)$는 수신기의 속도, $\delta t(t)$는 시계 오차이다.
\mathbf{x}(t+1) = \mathbf{F}(t) \mathbf{x}(t) + \mathbf{G}(t) \mathbf{u}(t) + \mathbf{w}(t)
 여기서 $\mathbf{F}(t)$는 상태 전이 행렬, $\mathbf{G}(t)$는 입력 행렬, $\mathbf{u}(t)$는 시스템 입력, $\mathbf{w}(t)$는 잡음 성분이다.
\mathbf{z}(t) = \mathbf{h}(\mathbf{x}(t)) + \mathbf{v}(t)
 여기서 $\mathbf{h}(\mathbf{x}(t))$는 비선형 관측 함수로, 수신기의 위치와 위성으로부터의 거리를 나타내며, $\mathbf{v}(t)$는 관측 잡음이다.

EKF의 과정은 예측 단계와 갱신 단계로 나뉘며, 각각 아래와 같은 식을 따른다.

\hat{\mathbf{x}}(t+1) = \mathbf{F}(t) \hat{\mathbf{x}}(t) + \mathbf{G}(t) \mathbf{u}(t)
\mathbf{P}(t+1) = \mathbf{F}(t) \mathbf{P}(t) \mathbf{F}^T(t) + \mathbf{Q}(t)
 여기서 $\mathbf{P}(t)$는 오차 공분산 행렬, $\mathbf{Q}(t)$는 시스템 노이즈 공분산 행렬이다.
\mathbf{K}(t) = \mathbf{P}(t+1) \mathbf{H}^T(t) \left( \mathbf{H}(t) \mathbf{P}(t+1) \mathbf{H}^T(t) + \mathbf{R}(t) \right)^{-1}
\hat{\mathbf{x}}(t+1) = \hat{\mathbf{x}}(t+1) + \mathbf{K}(t) \left( \mathbf{z}(t) - \mathbf{h}(\hat{\mathbf{x}}(t+1)) \right)
\mathbf{P}(t+1) = \left( \mathbf{I} - \mathbf{K}(t) \mathbf{H}(t) \right) \mathbf{P}(t+1)
 여기서 $\mathbf{K}(t)$는 칼만 이득, $\mathbf{R}(t)$는 관측 잡음 공분산 행렬이다.
  1. 위치 보정
    수신된 신호로부터 계산된 위치 정보는 다양한 오차 요인들로 인해 정확도가 떨어질 수 있다. GNSS 수신기에서는 이러한 오차를 보정하기 위해, 시계 오차, 대기권 및 전리층의 영향을 고려하여 위치를 보정한다. 이를 위해 차분 GPS(DGPS)와 같은 보정 기술을 사용할 수 있다.

  2. 속도 계산
    GNSS 수신기는 위치뿐만 아니라, 위성 신호를 이용하여 수신기의 속도 정보도 추정할 수 있다. 이는 반송파의 도플러 효과를 이용하여 계산되며, 다음과 같은 식으로 표현된다:

v = \frac{f_{\text{doppler}} \cdot \lambda}{2}

여기서 v는 수신기의 속도, f_{\text{doppler}}는 도플러 주파수 변이, \lambda는 신호의 파장이다.