중간주파수(IF) 및 복조 과정

IF 신호의 일반적 개념

위성항법시스템(GNSS) 수신기에서 RF(무선 주파수) 대역의 신호를 바로 디지털화해 처리하기에는 여러 가지 제약이 따른다. 따라서 일반적으로 고주파수의 신호를 수신기 내부에서 특정한 중간주파수(IF, Intermediate Frequency)로 변환한 뒤, 아날로그-디지털 변환(ADC)을 통해 디지털 신호 처리 단계로 넘기는 구조를 취한다. 이때 중간주파수를 설정하는 이유는 다음과 같이 요약될 수 있다.

  1. 아날로그 필터링의 용이성: 고주파 대역에서 필요한 대역폭을 직접 필터링하기에는 어려움이 있으나, IF 구간으로 낮추면 필터 설계가 상대적으로 단순해진다.

  2. 이중 변환 구조: 일부 시스템은 fRFf_{\text{RF}} 대역에서 1차로 하향 혼합(mixing)하여 fIFf_{\text{IF}}를 생성하고, 이후 다시 베이스밴드로 하향변환하는 2단 변환(two-stage downconversion) 구조를 사용하기도 한다.

  3. 잡음 및 왜곡 개선: 저주파 영역에서의 회로 기술 성숙도로 인해 잡음 지수(noise figure)와 비선형 왜곡 특성을 더욱 안정적으로 제어할 수 있다.

IF 하향변환(Downconversion) 과정

GNSS 신호 수신에서 가장 핵심적인 회로 중 하나가 바로 **혼합기(mixer)**이다. 혼합기에서는 입력 RF 신호와 수신기 내부에서 생성된 로컬 발진기(local oscillator, LO) 신호를 곱하여, 원하는 중간주파수로 변환한다. 이를 수학적으로 나타내면 다음과 같다. 수신된 RF 신호를 r(t)\mathbf{r}(t)라고 하고, 국부 발진기의 신호를 cos⁡(2πfLOt)\cos(2\pi f_{\text{LO}} t)라 하자.

rIF(t)  =  r(t)×cos(2πfLOt)\mathbf{r}_{\text{IF}}(t) \;=\; \mathbf{r}(t) \times \cos\bigl(2\pi f_{\text{LO}} t\bigr)

실제 하드웨어에서는 위 신호에 저역통과필터(LPF) 또는 대역통과필터(BPF)를 거쳐 원하는 IF 성분만을 추출한다.

  • GNSS L1 대역(약 1.57542GHz) 기준으로, fLOf_{\text{LO}}는 이와 근접한 주파수로 설정하고, 필터를 통해 수 MHz~수십 MHz 정도의 중간주파수 대역을 형성한다.

  • 복수단 변환 시에는 여러 혼합기와 LO 단계를 거쳐 최종적으로 수 MHz 이하의 IF를 생성할 수 있다.

복소수 표현과 중간주파수

수신 단계에서 많은 경우 I/Q(직교성분) 처리를 적용한다. 이때는 단일 실수 신호가 아닌, 복소수 형태로 신호를 취급한다. 국부 발진기의 직교성분(코사인과 사인)을 이용해 두 개의 혼합 과정을 수행하는 것이 일반적이다.

  1. In-phase(I) 성분:

    rI(t)  =  r(t)cos(2πfLOt)\mathbf{r}_{I}(t) \;=\; \mathbf{r}(t)\cos\bigl(2\pi f_{\text{LO}} t\bigr)
  2. Quadrature(Q) 성분:

    rQ(t)  =  r(t)sin(2πfLOt)\mathbf{r}_{Q}(t) \;=\; \mathbf{r}(t)\sin\bigl(2\pi f_{\text{LO}} t\bigr)

이를 합쳐 복소수 표현으로 나타내면 다음과 같다.

rIF(t)  =  rI(t)  +  jrQ(t)\mathbf{r}_{\text{IF}}(t) \;=\; \mathbf{r}_{I}(t) \;+\; j\,\mathbf{r}_{Q}(t)

이 복소수 신호는 대역신호를 베이스밴드 근방(또는 중간주파수 근방)에서 표현하는 역할을 하며, 디지털 신호 처리 과정에서도 편리하다.

디지털화(ADC)와 샘플링

하향변환된 신호(또는 복소 IF 신호)는 이후 ADC에 의해 디지털화된다. ADC는 일정한 샘플링 주파수 fsf_s로 IF 신호를 샘플링하여 이산시간 신호를 생성한다. 이를 수식으로 나타내면 다음과 같다.

  • 시분 연속(continuous-time) IF 신호: $\mathbf{r}_{\text{IF}}(t)$

  • 이산(discrete-time) IF 신호:

    rIF[n]=rIF(nTs)\mathbf{r}_{\text{IF}}[n] = \mathbf{r}_{\text{IF}}(nT_s)

    여기서 $T_s = 1/f_s$이다.

GNSS 수신기에서 fsf_s는 위성 신호 대역폭을 충분히 커버할 수 있도록 결정된다. 예를 들어, GPS L1 C/A 신호(대역폭 약 2MHz 내외)를 수신하기 위해 수 MHz~수십 MHz 범위의 샘플링 주파수를 선택한다.

복조 과정 개요

GNSS 수신기 복조(demodulation)는 크게 세 가지 단계로 구분할 수 있다.

  1. 캐리어 제거(carrier wipe-off):

    • 남아 있는 중간주파수 성분(또는 복소수 형태의 캐리어 성분)을 제거해 베이스밴드로 이동시키는 과정이다.

    • 내부적으로 생성한 디지털 NCO(Numerically Controlled Oscillator) 신호를 곱해 제거하는 경우가 많다.

  2. 코드 제거(code wipe-off):

    • GNSS 신호는 위성별로 고유한 확산 코드(예: C/A 코드)가 곱해져 있다.

    • 수신기는 동일한 코드(또는 주파수 오프셋을 조정한 코드)를 사용하여 신호를 상관(correlation) 처리함으로써, 원하는 위성 신호를 골라낸다.

  3. 데이터 복조(data demodulation):

    • 위성에서 전송되는 항법 메시지(네비게이션 데이터)를 복조하여 실제 데이터를 획득한다.

    • GPS L1 C/A 신호는 BPSK 변조 방식을 사용한다.

아래는 하드웨어 신호 흐름을 간단히 나타낸 다이어그램이다.

spinner

IF 대역폭 및 채널 필터링

IF 단계에서 설정되는 주파수 대역폭은 GNSS 신호의 특성(예: C/A 코드 대역폭)과 수신기 설계 목표(추적하고자 하는 신호 채널 수, 추적 방식 등)에 따라 달라진다. 대체로 다음과 같은 점들이 고려된다.

  1. 채널 선택(Channel Selection)

    • GPS L1 C/A 신호의 경우, 약 2MHz 내외의 유효대역이 요구된다.

    • Galileo E1, BeiDou B1 등 여러 주파수 대역을 동시에 처리하려면 더 넓은 IF 대역폭이 필요하다.

  2. 필터 응답 특성

    • 아날로그 대역통과필터(BPF)나 저역통과필터(LPF)는 통과대역(Passband) 내에서 일정한 군지연(group delay)을 유지해야 하며, 군지연 왜곡이 심하면 위상 측정 오차가 증가한다.

    • 급격한 롤오프(roll-off)를 갖는 필터 설계 시, 필터 차수가 높아져 복잡성이 증가할 수 있으므로 트레이드오프가 필요하다.

  3. AGC(Automatic Gain Control)

    • IF 증폭단에서 자동 이득 제어(AGC)를 통해 후단 ADC가 적절한 동적 범위(dynamic range) 내에서 동작하도록 제어한다.

    • GNSS 신호 세기는 매우 약하므로, 잡음 바닥(noise floor)에 근접하게 신호가 존재한다.

    • 외부 간섭(interference)이나 스풉(spoof) 시도 등으로 인해 과도신호가 들어오면 AGC가 증폭 이득을 조정해 ADC가 포화(saturation)되지 않도록 한다.

단일 변환 vs. 이중 변환

수신기의 하드웨어 구조는 크게 **단일 변환(single conversion)**과 **이중 변환(double conversion)**으로 나뉜다.

  • 단일 변환: RF에서 원하는 대역만 필터링 후, 하나의 혼합기 단계로 목표 IF 신호를 얻는 구조다. 회로 구성은 단순하지만, 고차 필터가 필요할 수 있다.

  • 이중 변환: 1차 변환으로 고주파(예: L-밴드) → 1차 IF(수백 MHz수 GHz 범위), 이후 2차 변환으로 1차 IF → 저주파 IF(수 MHz수십 MHz 범위) 구조를 취한다. 이중 변환을 이용하면 각 단계마다 필터링 대역폭이 줄어들어 잡음 특성이나 필터 특성을 개선할 수 있다.

복소 베이스밴드 신호로의 변환

디지털 다운변환(DDC, Digital Down Conversion) 단계에서, ADC로 샘플링된 IF 신호를 복소 베이스밴드 신호로 변환한다. 이는 내부적으로 NCO(Numerically Controlled Oscillator)를 이용하며, 수학적으로는 다음과 같이 나타낼 수 있다.

  • ADC로부터 획득한 이산 신호:

    x[n]  =  rIF[n]\mathbf{x}[n] \;=\; \mathbf{r}_{\text{IF}}[n]
  • 내부 NCO가 생성하는 디지털 코사인, 사인 신호:

    cos(2πfdconTs),sin(2πfdconTs)\cos\bigl(2\pi f_{\text{dco}} n T_s\bigr), \quad \sin\bigl(2\pi f_{\text{dco}} n T_s\bigr)
  • 복소 신호 형태:

    y[n]  =  x[n]cos(2πfdconTs)  +  jx[n]sin(2πfdconTs)\mathbf{y}[n] \;=\; \mathbf{x}[n]\,\cos\bigl(2\pi f_{\text{dco}} nT_s\bigr) \;+\; j\,\mathbf{x}[n]\,\sin\bigl(2\pi f_{\text{dco}} nT_s\bigr)

여기서 $f_{\text{dco}}$는 디지털 캐리어 주파수를 의미하며, 실제 IF 신호가 $f_{\text{IF}}$라면 $f_{\text{dco}} \approx f_{\text{IF}}$가 되도록 설정한다. 결과적으로 $\mathbf{y}[n]$는 복소 베이스밴드 신호가 되고, 이후 필터링(예: CIC 필터, FIR 필터 등)을 통해 대역폭을 줄여 최종 베이스밴드로 만든다.

샘플링 주파수와 언더샘플링(undersampling)

일부 GNSS 수신기는 RF 직접 샘플링(direct RF sampling)을 사용하는 경우도 있다. 이때는 아주 높은 샘플링 주파수를 사용하거나, 언더샘플링 기법을 활용하기도 한다.

  • 오버샘플링(oversampling)

    • $f_s$가 신호 대역폭 대비 훨씬 높은 값일 때 적용.

    • 신호 처리량은 많아지지만, 별도의 IF 단 없이 직접 샘플링 후, 디지털 필터로 원하는 대역만 추출할 수 있다.

  • 언더샘플링(undersampling)

    • 나이퀴스트 주파수보다 높은 대역을 샘플링하되, 신호가 샘플링에 의해 스펙트럼이 접혀(aliasing) 내려오도록 설계한다.

    • RF 대역 또는 고 IF 대역을 직접 샘플링할 때 종종 활용된다.

    • 잡음이나 인접 채널 간섭을 신중히 고려해야 한다.

언더샘플링은 이론적으로 가능하지만, ADC의 성능(샘플링 속도, 분해능, SNR 등)과 아날로그 반alias 필터를 엄밀히 설계해야 하므로 실제 GNSS 수신기에서는 최적화와 비용 간의 트레이드오프가 존재한다.

복조 과정의 디지털 필터 구조

복조 과정에서 필터는 크게 다음 몇 단계로 구분될 수 있다.

  1. DDC 이후의 LPF

    • 복소수 형태의 베이스밴드 신호를 만들기 위해 저역통과필터를 적용한다.

    • 고차 필터(FIR 혹은 IIR)를 사용하여 불필요한 주파수 성분을 제거한다.

  2. 디커메이션(Decimation)

    • 필요 이상의 샘플링률을 낮춤으로써 DSP 자원을 효율적으로 사용한다.

    • 예: 10MHz 샘플링을 2MHz 샘플링으로 줄이는 등.

  3. 코드 동기화 필터

    • GNSS 신호의 직접 시퀀스 확산(DS-SS) 특성을 고려하여 코드 상관 처리를 수행한다.

    • 상관기의 입력에 들어가기 전 필터 설계는 잡음 성능과 코드 추적 성능에 영향을 미친다.

도플러 주파수 보정(Doppler Compensation)

GNSS 신호는 위성과 수신기 간의 상대적인 운동에 따라 도플러 주파수 편이가 발생한다. 수신기에 도달하는 신호는 다음과 같이 실제 RF 주파수(fRFf_{\text{RF}})와 도플러 편이(Δf\Delta f)를 포함한다.

freceived  =  fRF  +  Δff_{\text{received}} \;=\; f_{\text{RF}} \;+\; \Delta f

여기서 Δf\Delta f는 수 kHz에서 수 kHz 이상의 변화를 가질 수 있다(예: GPS L1에서 ±5\pm 5kHz 내외). 하드웨어 IF 단계에서는 다음과 같은 방식으로 도플러를 보정한다.

  1. 아날로그 LO 조정

    • 국부 발진기(LO) 주파수를 약간 조정하여 IF 대역 안으로 신호를 옮길 수 있다.

    • 다만 매우 정밀한 도플러 추적은 디지털 NCO에서 처리하는 경우가 대부분이다.

  2. 디지털 NCO

    • 디지털 다운변환(DDC) 단계에서 NCO 주파수를 미세하게 조절함으로써 도플러 편이에 따른 위상 변화를 추적한다.

    • PLL, FLL 등의 추적 루프가 NCO 제어값을 갱신하며, 이 값은 캐리어 추적(carrier tracking)에 직결된다.

캐리어 추적 루프

IF 신호에서 복조를 수행하려면 캐리어 신호(중간주파수에 해당하는 잔여 주파수분)를 제거해야 한다. 이를 **캐리어 와이프오프(carrier wipe-off)**라고 하며, 일반적으로 다음과 같은 추적 루프 구조를 사용한다.

  1. FLL(Frequency Locked Loop)

    • 먼저 주파수 오차(도플러 + 수신기 내부 불일치)를 크게 추정하고 제거한다.

    • 신호 대 잡음비가 낮은 초기 획득(acquisition) 단계에서 활용된다.

  2. PLL(Phase Locked Loop) 또는 코스타스 루프(Costas Loop)

    • 주파수 오차가 어느 정도 줄어든 상태에서 위상 오차를 추적한다.

    • BPSK 신호에서는 일반 PLL 대신 코스타스 루프를 사용하면 직류오프셋(DC offset)에 대한 민감도가 낮고, 데이터 변조에도 위상 추적이 가능하다.

    • IF 신호의 위상을 정확히 추적함으로써 나중에 측정되는 도플러 주파수는 수신기 측위 계산에서 중요한 속도 및 시간 보정 요소가 된다.

베이스밴드 형태의 캐리어 제거

캐리어 추적 루프에서 NCO가 만들어 내는 디지털 코사인/사인 신호를 곱함으로써, 중간주파수 성분을 제거하고 베이스밴드 형태로 변환한다. 이 과정을 식으로 표현하면 다음과 같다.

  • 수신 IF 신호:

    x[n]  =  rIF[n]\mathbf{x}[n] \;=\; \mathbf{r}_{\text{IF}}[n]

    NCO 신호(주파수 $\hat{f}_{\text{IF}}$, 위상 $\hat{\phi}(n))$:

    cos(2πf^IFnTs+ϕ^(n))sin(2πf^IFnTs+ϕ^(n))\cos\bigl(2\pi \hat{f}_{\text{IF}} n T_s + \hat{\phi}(n)\bigr) \\ \sin\bigl(2\pi \hat{f}_{\text{IF}} n T_s + \hat{\phi}(n)\bigr)
  • 캐리어 제거 결과:

    z[n]  =  x[n]cos(2πf^IFnTs+ϕ^(n))  +  jx[n]sin(2πf^IFnTs+ϕ^(n))\mathbf{z}[n] \;=\; \mathbf{x}[n]\cos\bigl(2\pi \hat{f}_{\text{IF}} nT_s + \hat{\phi}(n)\bigr) \;+\; j\,\mathbf{x}[n]\sin\bigl(2\pi \hat{f}_{\text{IF}} nT_s + \hat{\phi}(n)\bigr)

위 $\mathbf{z}[n]$은 도플러 및 위상 오차가 제거된(또는 상당 부분 줄어든) 복소 베이스밴드 신호가 된다. PLL이나 코스타스 루프가 $\hat{f}_{\text{IF}}$와 $\hat{\phi}(n)$ 값을 실시간으로 갱신하여, 도플러 주파수 오차와 위상 오차를 최소화하는 방향으로 추적을 수행한다.

I/Q 언밸런스(I/Q Imbalance)

I/Q 신호 처리 과정에서 믹서, 필터, ADC 등 아날로그 영역의 편차로 인해 다음과 같은 I/Q 언밸런스가 발생할 수 있다.

  1. 이득(gain) 불일치: I 채널과 Q 채널의 증폭도가 다르게 설정되는 경우

  2. 위상(phase) 불일치: I/Q 채널이 이상적으로 90도 직교를 유지해야 하나, 실제로는 오차($\theta_{\text{err}}$)가 존재한다.

I/Q 언밸런스가 심하면 복조 과정에서 이미지 주파수나 추가 잡음 성분이 발생하므로, 하드웨어 설계와 캘리브레이션(calibration)으로 이를 최소화한다. 디지털 도메인에서 교정 알고리즘을 통해 보정하기도 한다.

파일럿 및 데이터 채널 분리

GPS L1 C/A 신호처럼 단순 BPSK 변조를 이용하는 경우는 비교적 I/Q 분리가 용이하다. 그러나 Galileo E1, BeiDou B1 등 복합 변조 신호(CBOC, TMBOC 등)는 파일럿 채널과 데이터 채널이 동시에 전송되기도 한다. 이때는 다음 단계가 추가될 수 있다.

  1. 파일럿 채널 분리: 위상 정보 추적에 사용되는 채널로, 데이터 변조가 없거나 최소화되어 신호 추적 안정성이 높다.

  2. 데이터 채널 추출: 실제 항법 메시지가 실리는 채널로, 디코딩(decoding)을 위해 별도의 비트 동기화(Bit Synchronization)와 에러 정정 코드(Forward Error Correction, FEC)가 적용될 수 있다.

IF 및 복조 단계에서는 이러한 다중 채널 변조 신호를 구분하기 위해 필터 구조를 세분화하거나, 상관기 지연탭(delayed tap)을 통해 원하는 신호 성분만 선별하기도 한다.

상관기(Correlator) 구조

GNSS 수신기의 복조 단계에서 핵심적인 역할을 수행하는 블록 중 하나가 **상관기(correlator)**이다. 상관기는 신호 내부에 삽입된 확산 코드(예: C/A 코드)를 **코드 와이프오프(code wipe-off)**하기 위해 입력 신호와 내부에서 생성한 동기화 코드(동일 위상·주파수·코드 시프트)를 곱하고 적분(summation)을 수행한다. 이 과정을 통해 원하는 위성 신호만 추출하고, 나머지 위성이나 잡음은 상관값이 크게 나타나지 않도록 설계된다.

  1. 코드 발생기(Code Generator)

    • 특정 위성의 PRN 코드를 발생시킨다.

    • 코드 레이트(예: 1.023MHz), 초정밀 시분할 등을 고려하여 디지털 NCO와 연동되기도 한다.

  2. 코드 지연라인(Delay Line)

    • 내부적으로 여러 탭(tap)을 두어, ‘조기(Early)’, ‘정위상(Prompt)’, ‘후기(Late)’ 등 3개 이상의 신호를 동시에 계산하도록 한다.

    • 코드 추적 루프(DLL, Delay Locked Loop)에서 이 지연 값을 이용하여 코드 동기를 유지한다.

  3. 누산기(Accumulator)

    • 소정의 적분 기간(예: 1ms 단위) 동안 곱셈 결과를 합산한다.

    • 누산기 출력은 PLL, DLL 등 추적 루프에 전달되어, 주파수·위상·코드 지연 값을 업데이트한다.

상관기 구조를 단순화하여 나타내면 다음과 같은 다이어그램으로 표현할 수 있다.

spinner

IF 신호 상관 계산

GNSS 신호는 캐리어(또는 IF 주파수)와 확산 코드라는 두 가지 주요 성분으로 구성된다. IF 단계에서 신호를 복조한 뒤, 최종적으로 코드를 제거하기 위해 상관 처리를 수행한다. 이를 수학적으로 간단히 표현해보자.

  • 복소 베이스밴드 신호

    z[n]  =  A[n]d[n]  c[n]  +  w[n]\mathbf{z}[n] \;=\; \mathbf{A}[n]\,d[n]\;\mathbf{c}[n] \;+\; \mathbf{w}[n]

    여기서

    • $\mathbf{A}[n]$은 신호 크기(진폭 및 위상)

    • $d[n]$은 데이터 비트(또는 파일럿)

    • $\mathbf{c}[n]$은 확산 코드

    • $\mathbf{w}[n]$은 잡음 + 간섭

  • 상관기 출력

    Rzc  =  n=0N1z[n]c[n]R_{\mathbf{zc}} \;=\; \sum_{n=0}^{N-1} \mathbf{z}[n]\,\mathbf{c}^*[n]
    • $\mathbf{c}^*[n]$은 내부에서 발생시키는 동기화 코드(복소수의 경우 켤레연산), 실제 구현에서는 단순 $\pm 1$ 값인 경우가 많으므로 켤레의 개념보다는 부호 연산 위주가 될 수 있다.

    • $N$은 적분 길이를 의미하며, 보통 1ms(코드 1023칩에 해당) 또는 그 배수 등이 사용된다.

해당 상관값 $R_{\mathbf{zc}}$가 일정 수준 이상 크면(임계값 초과 시), 해당 위성의 신호가 존재한다고 판단하고 추적 루프를 동기화한다.

코드 도플러 및 DLL(Delay Locked Loop)

위성 신호는 캐리어에 도플러가 존재하듯, 확산 코드에도 도플러가 발생한다. 위성과 수신기 간 거리가 빠르게 변할 때 코드 레이트(칩 속도)도 변동하게 되는데, 이를 코드 도플러라 부른다.

  • 코드 도플러

    • 위성과의 상대속도가 클수록 코드 칩 속도도 변한다.

    • 예: GPS L1 C/A 코드 레이트가 1.023MHz라면, $\pm$ 500Hz 범위의 코드 도플러가 발생할 수 있다.

  • DLL

    • 코드 지연(phase)을 추적하기 위한 루프로, 일반적으로 3개의 상관기 출력(조기, 정위상, 후기)을 이용한다.

    • 오차 신호는 다음과 같이 추정된다.

      eDLL  =  Rzc(E)    Rzc(L)e_{\text{DLL}} \;=\; \bigl|R_{\mathbf{zc}}^{(\text{E})}\bigr| \;-\; \bigl|R_{\mathbf{zc}}^{(\text{L})}\bigr|

      여기서 $R_{\mathbf{zc}}^{(\text{E})}$, $R_{\mathbf{zc}}^{(\text{P})}$, $R_{\mathbf{zc}}^{(\text{L})}$는 각각 조기(E), 정위상(P), 후기(L) 상관 결과.

    • $e_{\text{DLL}}$ 신호를 통해 코드 생성기의 레이트(NCO)를 조정해, 코드 동기를 유지한다.

하드웨어 vs. 소프트웨어 상관 처리

전통적으로 상관기는 하드웨어로 구현되어, 각 채널별로 별도의 상관기 칩(코어)이 존재했다. 그러나 최근에는 고속 DSP나 FPGA 등을 활용하는 소프트웨어 정의 무선(SDR, Software Defined Radio) 방식이 부상하면서, 소프트웨어 상관(SW correlator) 방식도 사용된다.

  • 하드웨어 상관기(HW correlator)

    • 대규모 병렬 상관 처리에 유리.

    • 저전력, 높은 처리속도가 장점이나, 재구성이 어려움.

  • 소프트웨어 상관기(SW correlator)

    • 유연성 높음(멀티시스템 수용, 펌웨어 업데이트).

    • CPU/GPU/FPGA 연산량과 전력 소모가 커질 수 있음.

GNSS 수신기 설계에서는 사용할 위성수, 대역폭, 저전력 요구사항 등을 종합적으로 고려하여 HW/SW 상관기 혼합 아키텍처를 취하기도 한다.

복조 및 데이터 추출

코드 와이프오프와 캐리어 와이프오프가 완료된 신호는 데이터 비트(항법 메시지) 복조가 가능한 상태가 된다.

  • GPS L1 C/A 신호의 경우, BPSK 변조로 비트 레이트는 50bps이다.

  • 복조된 비트 스트림은 FEC(Forward Error Correction)과 비트 동기화 과정을 거쳐 최종적으로 항법 메시지가 재구성된다.

확산코드 추적 루프와 분산 잠금 장치(DLL) 동작 원리

앞서 언급한 DLL(Delay Locked Loop)은 코드 지연을 추적하여 상관 출력의 최대점을 유지하도록 하는 루프다. 이를 좀 더 수학적으로 살펴보자.

  1. 조기/후기 상관 결과

    • 코드 지연 값이 정확할 때, ‘정위상(Prompt)’ 상관 결과가 가장 크며, ‘조기(Early)’와 ‘후기(Late)’ 상관 결과는 서로 유사한 값을 갖는다.

    • 코드 지연이 발생하면 조기/후기 상관 값의 크기에 차이가 생긴다.

  2. 코드 지연 추정

    • 조기/후기 상관 결과를 사용하여 다음과 같은 식으로 오차값을 계산한다.

      eDLL  =  α(Rzc(E)    Rzc(L))e_{\text{DLL}} \;=\; \alpha \Bigl( \bigl|R_{\mathbf{zc}}^{(\text{E})}\bigr| \;-\; \bigl|R_{\mathbf{zc}}^{(\text{L})}\bigr| \Bigr)

      여기서 $\alpha$는 적절한 스케일링 계수(루프 게인)이며, $∣\bigl|R_{\mathbf{zc}}^{(\text{E})}\bigr|$와 $\bigl|R_{\mathbf{zc}}^{(\text{L})}\bigr|$는 조기·후기 상관기 출력의 크기이다.

    • $e_{\text{DLL}}$가 0에 가까울수록 현재 코드 지연 값이 정확하다는 의미다.

  3. 루프 필터(Loop Filter)

    • $e_{\text{DLL}}$를 입력받아, 저차 저역통과 필터 형태(예: 1차 또는 2차)로 구성된 루프 필터가 동작한다.

    • 루프 필터의 출력은 코드 NCO(Numerically Controlled Oscillator) 주파수를 업데이트하여, 코드 타이밍을 보정한다.

    • 코드 추적 루프 대역폭(예: 0.5Hz~2Hz)은 캐리어 추적 루프보다 더 좁게 설정되는 경우가 많다.

캐리어 추적 루프와 위상 측정

캐리어 추적은 FLL(주파수 기반), PLL(위상 기반), 코스타스 루프 등으로 구현될 수 있으며, 각 루프는 목적에 따라 서로 다른 위상 에러(phase error) 검출 방식을 사용한다.

  1. FLL(Frequency Locked Loop)

    • 주파수 오차를 대략 추정하기 위한 루프.

    • 측정 구간(예: 1ms 또는 5ms) 간 상관 결과의 위상 변화를 측정하여 주파수 오차를 계산한다.

    • 신호를 처음 획득하거나 도플러가 급격히 변할 때 유용하다.

  2. PLL(Phase Locked Loop)

    • 주파수 오차가 충분히 작아진 상태에서 위상 오차를 미세하게 추적한다.

    • BPSK 신호에서는 위상 불연속(데이터 비트 전환 시) 문제가 있으므로, 코스타스 루프가 더 일반적이다.

  3. 코스타스 루프(Costas Loop)

    • $\pm 180^\circ$ 위상 점프를 허용하기 위해 복소수 곱 기반의 비선형 검출기를 사용한다.

    • 데이터 비트 변환에 의한 위상 불연속 영향을 최소화할 수 있다.

    • 위상 에러 검출식의 한 예: $e_{\theta} ;=; \operatorname{Im}\Bigl[,R_{\mathbf{zc}}^{(\text{P})};\bigl(R_{\mathbf{zc}}^{(\text{P})}\bigr)^*\Bigr]$, (구체적 형태는 구현에 따라 달라질 수 있음)

    • PLL 루프 필터를 통해 NCO(캐리어 주파수, 위상)가 갱신되어, 캐리어 도플러 및 위상 오차가 줄어든다.

루프 동작 시 고려 사항

GNSS 수신기의 복조 과정에서 코드 추적(DLL)과 캐리어 추적(PLL/FLL)은 상호 협조하여 동작한다. 또한 다음과 같은 항목들이 중요한 영향을 미친다.

  1. 루프 대역폭 설정

    • 루프 대역폭이 지나치게 넓으면 잡음에 민감해지고, 너무 좁으면 동적 추적 능력이 떨어진다(빠른 도플러 변화 추적 어려움).

    • 위성 상태(저궤도, 고속 움직임 등)에 따라 적절한 대역폭을 선택하거나, 적응형 루프(adaptive loop) 기술을 적용하기도 한다.

  2. 추적 루프 순서(Order)

    • 2차 PLL은 주파수 오차 보상까지 가능한 구조이고, 3차 PLL은 가속도 변화에 대해서도 대응한다.

    • 실시간 구현에서는 복잡도가 증가하므로, 일반적 GNSS 수신기에서는 2차 PLL이 많이 쓰인다.

  3. 측정 정확도

    • 캐리어 위상 및 도플러 정확도는 PVT(Position, Velocity, Time) 계산 성능에 직결된다.

    • 정교한 루프 필터 설계와 충분한 SNR 확보가 필수다.

내부 클록과 레퍼런스

수신기 내부에서 LO(로컬 발진기), NCO 등은 내부 기준 클록(reference clock)을 통해 구동된다.

  • 정밀한 TCXO(Temperature-Compensated Crystal Oscillator)나 OCXO(Oven-Controlled Crystal Oscillator) 등을 이용하여 주파수 안정도를 높인다.

  • 클록 오차는 곧바로 도플러 추적이나 코드 추적 정확도에 영향을 주므로, GNSS 수신기는 가능한 정확한 내부 클록이 요구된다.

  • 일부 고가 장비(예: 기준국)에서는 루비듐(Rb) 혹은 GPS 보정된 클록을 사용하기도 한다.

멀티패스(Multipath) 영향

실환경에서 건물 반사, 지표면 반사 등으로 인해 GNSS 신호는 **멀티패스(multipath)**가 자주 발생한다. IF 및 복조 과정에서 멀티패스는 다음과 같은 문제를 일으킨다.

  1. 코드 추적 에러

    • 직접 경로 신호(LOS, Line of Sight)와 반사 신호가 합성되어 상관 출력 파형이 변형된다.

    • DLL이 코드 지연을 잘못 판단해 거리측정(Range) 오차가 증가한다.

  2. 위상 추적 에러

    • 반사 신호가 위상 간섭을 일으켜, PLL 측정값에 오차를 야기한다.

    • 위상잡음(phase noise)와 순간적인 페이딩(신호 감쇠) 등 복합적 현상이 나타난다.

  3. 멀티패스 완화 기법

    • 좁은 상관기(Narrow Correlator): 코드 이득을 극대화하면서 멀티패스 영향을 줄이는 설계.

    • 스텁 필터(Strobe Correlator), MBOC 변조 등 다양한 알고리즘 및 변조 기법을 적용하여 멀티패스 민감도를 낮춘다.

    • 최근에는 **배열 안테나(antenna array)**나 **빔포밍(beamforming)**으로 반사 신호의 공간적 소거도 시도한다.

다중주파수(Multi-frequency) 수신에서의 IF 처리

현대 GNSS 시스템은 하나의 주파수 대역(L1 등)만 사용하는 것이 아니라, L2, L5, E1, E5, B1, B2 등의 여러 대역을 동시 수신할 수 있도록 설계되는 경우가 많다. 이때 IF 단과 복조 과정은 다음과 같은 특징을 가진다.

  1. 다중 밴드 수신 구조

    • 서로 다른 주파수 대역(L1, L2 등)을 동시에 수신하기 위해 별도의 RF 프론트엔드와 혼합기를 두거나, 광대역 수신기로 한 번에 수신한 뒤 각각의 대역을 개별 IF로 변환할 수도 있다.

    • 광대역 필터를 통과한 뒤, 여러 로컬 발진기(LO)를 갖춘 믹서(stage)로 각각의 대역을 개별 IF로 할당받아 처리한다.

  2. 주파수별 IF 분리

    • 다중 밴드 동작 시, L1 IF, L2 IF, L5 IF 등 서로 다른 중간주파수를 설정하여 각 신호를 분리한 뒤, ADC 및 디지털 다운변환 과정을 수행할 수 있다.

    • IF가 서로 근접해 있으면 디지털 필터로 분리할 수도 있으나, 잡음 및 상호간섭(inter-band interference)을 주의해야 한다.

  3. 복잡도 증가

    • 여러 주파수를 동시에 추적하면 하드웨어 리소스(채널 필터, ADC, 상관기 등)가 다수 필요하다.

    • 소프트웨어 정의 방식(SDR)으로 구현 시, CPU/GPU 자원 소모가 커지므로 병렬화 및 최적화를 고려해야 한다.

잡음 특성과 SNR

IF 및 복조 과정에서 가장 기본적인 성능 지표는 신호대잡음비(SNR) 혹은 C/N0_0 (Carrier-to-Noise Density)이다.

  • 열잡음(thermal noise): 수신기 온도, 대역폭에 따라 정의되는 잡음 성분.

  • 位相잡음(phase noise): LO, 클록 발진기 등에서 기인하는 위상 불안정 요소.

  • 광대역 간섭(broadband interference): 인공 간섭기(jammer) 또는 스펙트럼 마스크를 초과하는 통신 시스템 등.

중간주파수(IF) 필터링과 증폭, ADC 과정을 거친 뒤, 최종 복조 단계에서 측정되는 C/N0C/N_0는 수신 성능을 판단하는 핵심 지표다. 일반적으로 GNSS 수신기에서는 C/N0C/N_0가 30~50dB-Hz 범위 내에서 안정적으로 추적이 이루어지도록 설계한다.

DC Offset 및 IQ Offset

아날로그 믹서, 증폭기, ADC 등에서 발생하는 DC offset은 베이스밴드 영역에서 I/Q 신호에 직류 성분을 추가할 수 있다. 이는 복조 정확도와 상관값에 부정적 영향을 줄 수 있다.

  • **DC 블록킹 커패시터(DC blocking capacitor)**나 High-pass filter를 사용하여 직류 성분을 제거한다.

  • 디지털 영역에서도 DC offset 보정 루틴(예: 평균값 제거)을 적용하여, I/Q 신호 중심이 0에 가깝도록 조정한다.

AGC(Automatic Gain Control) 알고리즘

GNSS 신호는 매우 약하기 때문에, IF 증폭단에서 AGC를 통해 ADC 입력을 적절히 유지하는 것이 중요하다. AGC 알고리즘은 일반적으로 다음 과정을 따른다.

  1. 레퍼런스 전력 설정

    • 원하는 목표 전력 $P_{\text{ref}}$ (ADC 풀스케일의 일정 비율)을 정의한다.

    • 샘플 신호의 파워(예: RMS값)를 일정 시간(누적) 동안 측정한다.

  2. 이득 업데이트

    • $G_{\text{new}} ;=; G_{\text{old}} ;+; k \bigl( P_{\text{ref}} - P_{\text{meas}} \bigr)$ 여기서 kk는 AGC 루프 이득 계수, $P_{\text{meas}}$는 실제 측정된 신호 전력.

    • IF 증폭기(Variable Gain Amplifier, VGA)의 이득을 $G_{\text{new}}$ 값에 맞추어 조정한다.

  3. 응답 속도와 루프 대역폭

    • AGC 루프가 너무 빠르면, 신호 변동에 민감하게 흔들려 불안정해질 수 있다.

    • 너무 느리면, 갑작스러운 간섭 신호 등에 신속 대처가 어렵다.

    • GNSS 수신기는 상대적으로 신호 세기가 일정하므로, 일반 통신 시스템보다 AGC 루프 대역폭을 작게 설정하는 경우도 많다.

IF 필터 설계 시 고려 사항

하향변환된 IF 신호를 처리하기 위한 필터는 보통 **대역통과필터(BPF)**나 저역통과필터(LPF) 형태로 구현된다. 구체적으로 고려해야 할 사항은 다음과 같다.

  1. 필터 차수(order)와 군지연 특성

    • 필터 차수가 높을수록 스펙트럼 제한이 명확해지지만, 군지연(phase delay) 특성이 나빠질 수 있다.

    • GNSS의 위상 추적 정확도에 영향을 주므로, 가능하면 군지연이 균일(Linear Phase)하도록 설계하는 것이 이상적이다.

  2. 통과대역 리플(passband ripple)

    • 리플이 심하면 상관기의 출력 진폭 측정이 왜곡될 수 있다.

    • 일반적으로 1dB 이하, 혹은 수십 MHz 대역에서 극히 낮은 리플을 요구한다.

  3. 롤오프 속도(roll-off)

    • 인접 대역 간섭을 얼마나 효과적으로 감쇠할지 결정하는 요인.

    • 샤프한 필터가 필요하면 필터 차수 증가, SAW 필터 혹은 고차 FIR 필터를 도입할 수 있다.

  4. 실제 구현

    • 아날로그 영역에서는 SAW(Surface Acoustic Wave) 필터나 LC 필터를 쓰기도 하고,

    • 디지털 영역에서는 고차 FIR/IIR 필터로 원하는 대역 특성을 얻을 수 있다.

대역 확장과 스펙트럼 측면

GNSS 신호는 DSSS(Direct Sequence Spread Spectrum)를 사용하므로, 원천적으로 신호 대역폭이 넓다. 복조 과정에서 중요한 점은 코드 와이프오프가 이 넓은 대역폭을 고이득으로 처리하도록 만들어 준다는 것이다.

  • 코드 이득(code gain): 확산코드로 신호를 스펙트럼상 확장한 뒤 상관을 통해 다시 축소시키면서 잡음을 함께 줄이는 효과를 얻는다.

  • 신호 스펙트럼: L1 C/A(1.023Mcps), L5(10.23Mcps) 등 칩 레이트가 높아질수록 점유 대역폭이 커진다. 이에 따라 IF 필터와 ADC 설계 시 더 높은 대역폭 및 샘플링 속도가 필요할 수 있다.

스푸핑(spoofing) 및 간섭 대응

GNSS 복조 과정에서 유사 신호를 인위적으로 송신하여 수신기를 오인 동작시키는 스푸핑이나, 단순한 재밍(jamming) 공격이 가능하다. IF/복조 관점에서 이들은 다음과 같은 영향을 준다.

  1. 신호 파형 교란

    • 스푸퍼가 GNSS 위성과 유사한 코드를 송신한다면, 수신기의 상관기에서 가짜 신호를 더 강하게 인식할 수 있다.

    • 재밍 신호는 광대역 잡음원 형태로 작동, 신호대잡음비를 급격히 낮춘다.

  2. 하드웨어 보호

    • 입출력 단계에서 과전력을 막기 위한 RF 리미터(limiter)나 보호 회로가 필요하다.

    • AGC가 잘 동작하도록, 극단적인 신호 레벨 변화에 대한 반응 검토.

  3. 스푸핑 탐지 알고리즘

    • 다중 안테나 배열을 통해 이상 신호 방향을 판별하거나, 신호 내 위상 연속성·코드 지연 일관성을 검사하여 가짜 신호를 식별한다.

    • IF 및 복조 단계에서 분산(variance), Doppler 동역학 등을 모니터링해 수상한 패턴을 찾아낼 수 있다.

획득(Acquisition) 단계와 FFT 기반 기법

GNSS 수신기는 신호를 처음 수신할 때, 각 위성별 도플러 주파수와 코드 지연을 대략적으로 찾는 획득(acquisition) 과정을 수행한다. 획득이 끝나야만 PLL/DLL과 같은 추적 루프가 정상적으로 동작할 수 있다. 획득 알고리즘은 IF 및 복조 처리 흐름에서 중요한 부분이며, 다음과 같은 방법이 일반적이다.

  1. 직접 탐색(Serial Search)

    • 도플러 후보(수 kHz 간격)와 코드 지연 후보(1023칩, GPS C/A 기준) 모든 조합에 대해 상관 연산을 수행한다.

    • 구현이 간단하지만, 탐색 시간이 길어질 수 있다.

  2. FFT 기반 병렬 획득(Parallel Code Phase Search)

    • 빠른 푸리에 변환(FFT)을 사용해 전체 코드 지연 후보를 병렬로 연산한다.

    • 디지털 신호 $\mathbf{z}[n]$와 지역 코드 $\mathbf{c}[n]$의 상관을 주파수 영역에서 곱셈으로 구현하므로, 계산량을 줄일 수 있다.

    • 도플러 후보 주파수별로 FFT 연산을 반복하며, 가장 큰 상관 최대치를 찾는 방식이다.

  3. 뱅크(bank) 구조

    • 하드웨어적으로 여러 개의 상관기를 병렬 배치해, 도플러 후보 주파수 또는 코드 지연을 동시에 검색한다.

    • 획득 시간을 크게 단축할 수 있으나, 하드웨어 자원 소모가 증가한다.

위 방식들을 적절히 혼합해 설계하며, 획득 성공 시 해당 도플러와 코드 지연 정보를 PLL/DLL에 전달한다.

코히어런트(Coherent) vs. 비코히어런트(Non-coherent) 적분

GNSS 신호는 매우 미약하므로, SNR을 높이기 위해 일정 시간 동안 상관 출력을 누적(적분)한다. 이 적분 방식에는 크게 두 가지가 있다.

  1. 코히어런트 적분(Coherent Integration)

    • 상관 결과(복소수)를 누적할 때, 위상 정보를 보존하며 직접 더한다.

    • 위상 불연속이 없거나, PLL 등이 안정적으로 동작하여 위상이 맞춰진 상태에서만 유효하다.

    • 적분 시간이 길어질수록 위상 추적 정밀도가 요구된다(위상 추적이 틀어지면 합산 이득이 떨어짐).

  2. 비코히어런트 적분(Non-coherent Integration)

    • 상관 출력의 크기(제곱값 등)를 구한 뒤 더한다.

    • 데이터 비트 전환이나 위상 불연속 영향을 최소화할 수 있다.

    • 코히어런트 적분보다 이론상 이득은 낮지만, 긴 시간 적분 시 구현이 쉽고 안정적이다.

GNSS 수신기는 코히어런트 적분 기간을 1ms(또는 4ms, 10ms 등) 정도로 설정한 뒤, 여러 블록의 출력을 비코히어런트 적분하는 구조를 자주 사용한다. 획득 단계에서 SNR이 낮을 때 특히 유리하다.

벡터 추적(Vector Tracking)과 스칼라 추적(Scalar Tracking)

전통적인 GNSS 수신기는 각 채널(위성별 추적 루프)이 독립적으로 동작하는 스칼라 추적(Scalar Tracking) 방식을 사용한다. 반면, 최근에는 여러 위성 신호를 하나의 확장된 추적 루프에서 통합적으로 추정하는 벡터 추적(Vector Tracking) 기법도 연구되고 있다.

  1. 스칼라 추적

    • 각 채널(각 위성)에 대해 PLL/DLL이 독립적으로 도플러, 코드 지연 등을 추적한다.

    • 구현이 간단하고 안정적이나, 특정 채널에서 SNR이 급락(신호 가림)하면 추적 실패가 발생할 수 있다.

  2. 벡터 추적

    • 모든 위성 신호에서 측정된 도플러·코드 지연·위상 정보를 통합하여, 하나의 상태 추정 모듈(예: 확장 칼만 필터, EKF)에서 추정한다.

    • 위성별 측정값을 융합함으로써, 단일 채널의 신호가 일시적으로 약해지더라도 전체 추적 성능이 유지될 수 있다.

    • 구현 복잡도가 증가하지만, 신호 차단(multipath, 저신호 환경)에서 강인한 성능을 낼 수 있다.

위상 측정 및 반정도 반파정(circle ambiguity)

캐리어 추적으로 얻어지는 위상 측정은 매우 정밀한 거리측정(Range) 정보를 제공한다(파장 수준 오차). 그러나 캐리어 주파수가 ∼1.5\sim 1.5GHz 정도인 GNSS 신호 특성상, 2\pi 위상은 한 번 회전하면 19cm(GPS L1 기준) 정도의 간격을 나타낸다. 이를 **정수 모호성(integer ambiguity)**라 부르며, 별도의 모호성 해소(Ambiguity Resolution) 기법이 요구된다.

  • **RTK(Real-Time Kinematic)**나 **PPP(Precise Point Positioning)**와 같은 고정밀 기법에서는 캐리어 위상의 정수 모호성 문제를 해결하는 전용 알고리즘을 쓴다.

  • IF 및 복조 과정에서는 이 위상 값을 최대한 안정적으로 추적하여, 후처리(또는 고정밀 측정 루틴)에서 정수 모호성을 푸는 데 활용한다.

펄스 임펄스 간섭(PCI)와 망 이탈 간섭

GNSS 수신 대역에 순간적인 펄스 잡음(레이더 펄스, 디지털 통신 망 동기 신호 등)이 들어오면, IF와 복조 단계에서 큰 스파이크가 관측될 수 있다.

  1. 클리핑(Clipping) 혹은 Blanking

    • ADC 전단에서 임펄스 간섭이 일정 임계값을 초과하면, 일시적으로 신호를 잘라내거나 0으로 처리한다.

    • 임펄스가 매우 짧다면, 신호대잡음비 전체에 미치는 영향이 비교적 작을 수 있다.

  2. 고차 통계 활용

    • 임펄스 간섭은 가우시안(thermal noise)과 다른 확률 분포(heavy tail)를 가지므로, 고차 통계를 이용해 검출한다.

    • 임펄스 구간만 부분적으로 제거하거나, 가중치를 낮추는 방식을 적용 가능하다.

  3. 주파수 호핑 등

    • 일부 특수한 GNSS 변조나 군용 시스템은 간섭을 피하기 위해 주파수를 변경하거나, 적응적 대역폭 조정을 사용하기도 한다.

소프트웨어 정의 라디오(SDR) 구현 시 주의점

최근 GNSS 수신기는 FPGAGPU를 이용한 SDR(Software Defined Radio) 방식으로도 구현된다. 이때 IF 및 복조 단계에서 아래와 같은 요소를 면밀히 고려해야 한다.

  1. 연산 자원 할당

    • 샘플링 속도가 수십 MHz 이상이고, 각 위성당 여러 개의 상관 연산이 필요하다.

    • FFT 기반 획득 시 대규모 FFT 코어가 필요하며, 실시간 처리를 위해 병렬화 기법(파이프라인, 멀티스레드 등)을 적용해야 한다.

  2. 고정소수점(Fixed-point) 연산

    • 전력 소모와 연산량을 줄이기 위해, 부동소수점( float ) 대신 고정소수점( int ) 연산을 사용하는 경우가 많다.

    • 정밀도 손실을 방지하기 위한 스케일링 기법과 quantization 레벨 설정이 중요하다.

  3. 버퍼링과 지연(Latency)

    • SDR 구조에서는 무거운 DSP 연산(상관, 필터링, FFT 등) 때문에 버퍼링 지연이 발생할 수 있다.

    • 추적 루프가 실시간으로 반응해야 하므로, 루프 지연을 최소화하거나, 모델링하여 보정하는 방안을 마련한다.

  4. 재구성 가능성(Reconfigurability)

    • 멀티밴드, 멀티모드 지원을 위해 FPGA에서 동적으로 로직을 재구성할 수 있다.

    • GNSS 신호 표준이 진화(예: 새로운 메시지 포맷, 새로운 주파수)할 때, 소프트웨어 업데이트로 대응이 가능하다는 장점이 있다.

초고속 샘플링과 직접 RF 샘플링

고성능 GNSS 수신기나 일부 연구 환경에서는 별도의 IF 단 없이, RF 신호를 직접 샘플링(Direct RF Sampling)하여 디지털 영역에서 모든 처리를 수행한다.

  1. 초고속 ADC

    • L1 대역(약 1.575GHz)을 직접 샘플링하려면, 최소 2~3GHz 이상 샘플링 속도가 필요해진다(또는 언더샘플링 기법을 사용).

    • 초고속 ADC는 가격이 비싸고 전력 소모가 크며, 양자화 비트 수(ENOB)가 제한적이다.

  2. 디지털 다운변환(DDC)

    • FPGA나 ASIC에서 고속 DDC 코어를 구동해, 원하는 대역만 추출한다.

    • 필터 설계, 채널 분리 등을 전부 디지털 영역에서 처리하므로 유연성이 높다.

  3. 광대역 간섭 영향

    • RF를 직접 샘플링할 경우, 원하는 GNSS 대역 외에도 인접 대역의 강력한 신호(예: LTE, Wi-Fi 등)를 함께 받아들인다.

    • 고차의 디지털 필터링이 필수이며, ADC 다이내믹 레인지가 충분하지 않으면 인접 채널 간섭이나 IMD(Intermodulation Distortion)가 심해진다.

고급 변조(BPSK, BOC, MBOC 등)와 IF 처리

전통적인 GPS L1 C/A 신호는 BPSK(1) 변조 방식을 사용하지만, 다른 위성항법시스템이나 신규 신호들은 다양한 고급 변조 방식을 채택한다. 예를 들어, Galileo E1, BeiDou B1, GPS L1C 등은 BOC(Binary Offset Carrier) 변조나 MBOC(Multiplexed BOC) 변조를 사용한다. 이러한 변조 방식은 다음과 같은 특징을 가진다.

  1. BOC 변조

    • 반정수 주파수를 기준으로 신호를 직교 이동(Offset)시켜, 스펙트럼 에너지를 분할하거나 옮기는 기법.

    • 예: BOC(1,1)은 1.023MHz 주파수를 기준으로 사인과 코사인 부호를 교차하면서 신호 대역을 분리한다.

    • 대역폭이 넓어져 거리측정 정밀도를 높일 수 있으나, 복조 및 추적 알고리즘이 복잡해진다.

  2. MBOC 변조

    • BOC 신호와 BPSK 신호를 혼합(Multiplex)하여, 멀티패스 환경에서 강인성과 추적 정밀도를 동시에 노린 방식.

    • Galileo E1, GPS L1C에서 채택되고 있으며, 데이터/파일럿 채널 분리가 용이하다.

  3. IF 처리와 복잡성

    • BOC 계열 신호는 이중펄슬(Double-peak) 형태의 자기상관 함수를 갖는다.

    • 수신기 IF 단계에서 상관 연산 시, 사이드피크(side-peak) 처리를 위한 전용 알고리즘(예: BPSK-대응 신호로 임시 변환, 소위 ‘BPSK-like processing’)이 필요할 수 있다.

    • 필터 대역폭도 기존 BPSK(1)보다 넓어야 하므로, IF 설계 및 ADC 샘플링률을 증가시켜야 한다.

상관 함수와 BOC 신호 처리

BOC 신호를 단순히 BPSK와 똑같이 상관 처리하면, 코드 추적 시 양날의 검이 될 수 있다. (중앙 피크 외에 사이드 피크가 존재)

  • 사이드 피크 문제

    • 코드 추적 루프가 사이드 피크에 잠겨(false lock)버리면 오차가 크게 발생한다.

    • 이를 방지하기 위해, BOC 신호를 일종의 필터링이나 특정 변환으로 처리해 BPSK 형태의 상관 함수를 복원한다.

  • 유효 대역폭 증가

    • BOC(fsc,fcodef_{sc}, f_{code})는 반송 주파수 분할 효과를 통해 신호 대역을 확장하므로, IF 필터링 및 디지털 처리가 더 큰 대역폭을 커버해야 한다.

    • 예: BOC(10,5)는 기본 코드 칩 레이트의 10MHz, 서브캐리어 5MHz 등 매우 넓은 대역이 필요하다.

AltBOC 변조

갈릴레오 E5 대역, BeiDou B2 등에서 쓰이는 AltBOC(Alternative BOC) 변조는 더욱 복잡한 구조로, 한 신호 안에 여러 서브밴드를 동시 결합한다.

  • 예: Galileo E5는 E5a, E5b 두 대역을 통합해 AltBOC(15,10) 변조를 적용, 단일 신호로 넓은 대역(약 20MHz)을 점유한다.

  • IF 및 복조 단계에서 AltBOC 신호를 처리하려면, 최소 20MHz 이상의 대역폭을 가지는 필터와 ADC가 필요하며, 내부적으로 E5a, E5b를 분할 추적하거나 AltBOC 전체를 한꺼번에 추적하는 방법을 택할 수 있다.

데이터/파일럿 채널 분리 복조

파일럿(Pilot) 채널이 존재하는 신호(Galileo, 현대 GPS L1C, BeiDou 등)에서는, IF 신호 내에서 데이터 채널파일럿 채널이 서로 다른 코드를 사용하거나 상호 직교 특성을 활용해 구분된다.

  1. 파일럿 채널

    • 주로 위상 추적에 사용되며, 데이터 전송이 없거나 미약하여 위상 불연속이 적다.

    • PLL 안정성을 높이고, 신호 획득 및 추적이 쉬워진다.

  2. 데이터 채널

    • 실제 항법 메시지를 포함한다.

    • 데이터 비트 전환 시 위상이 바뀔 수 있으므로, 코스타스 루프 또는 데이터 보상 기법이 필요하다.

  3. 채널 분리 과정

    • IF 단계에서 두 신호를 합친 형태로 들어오기 때문에, 복조 단계(상관 처리)에서 파일럿 코드와 데이터 코드를 각각 곱해 상관 계산을 진행하면 채널을 분리할 수 있다.

    • 합성 BOC(MBOC) 구조에서는 파일럿과 데이터가 서로 다른 코드·서브캐리어 조합으로 송신된다.

고차 상관기 및 신호 추적 알고리즘

전통적인 3상관기(Early, Prompt, Late) 구조 외에도, 고차 다중 탭 상관기를 사용하면 멀티패스 억제와 추적 성능을 향상시킬 수 있다.

  • 멀티패스 관측 상관기(MPAC: Multipath Mitigation Correlator)

    • 여러 개의 지연 탭(예: Early-1, Early-0.5, Prompt, Late+0.5, Late+1) 등을 사용해 멀티패스 시나리오에 따른 왜곡된 상관 함수를 분석한다.

    • DLL 알고리즘은 이 정보로 직접 경로(LOS)와 반사 경로를 분리·완화할 수 있다.

  • 가변 지연 스페이싱(Variable Correlator Spacing)

    • 초기에는 넓은 스페이싱을 사용해 안정적으로 획득·추적하고, 이후 신호가 충분히 세면 좁은 스페이싱으로 전환해 추적 정밀도를 높인다.

    • 동적 환경(차량, 항공기 등)에서도 적응형으로 동작할 수 있다.

측정 신뢰도와 RAIM

복조 과정을 통해 얻어진 신호 추적 결과(도플러, 코드 지연, 위상 등)는 측정치(Measurement)가 되어 최종 위치/시간 계산에 사용된다. 그러나 간섭, 멀티패스, 스푸핑 등으로 측정치가 왜곡될 수 있으므로, RAIM(Receiver Autonomous Integrity Monitoring) 등 기법으로 신뢰도를 판단한다.

  1. 잔차(residual) 검증

    • 각 위성 채널별 추정 오차(PLL/DLL 루프 에러)나, 위치해 측정 오차를 계산해 특정 임계값과 비교한다.

    • 크게 벗어나는 채널을 배제(Outlier Rejection)하거나, 경고를 띄운다.

  2. 여유위성 사용

    • 4개 위성만으로 위치 계산은 가능하나, 추가 위성을 추적함으로써 RAIM 알고리즘이 측정치의 일관성을 검사할 수 있다.

  3. 고급 RAIM 알고리즘

    • 다중 주파수, 다중 별자리(무궁화, Galileo, BeiDou 등) 융합 시, RAIM 정밀도가 높아진다.

    • 복조 단계에서 측정된 SNR, 신호 품질 지표 등을 종합적으로 활용한다.

안테나와 전치증폭(LNA)

GNSS 수신기는 낮은 신호 전력을 보상하기 위해, 안테나에서 수신된 신호를 **전치증폭기(LNA: Low Noise Amplifier)**로 먼저 증폭한다. 이때 고려해야 할 사항은 다음과 같다.

  1. 대역별 안테나

    • GNSS 주파수(L1, L2, L5, E1, E5 등)에 대응하는 광대역 혹은 다중 대역 안테나를 사용한다.

    • 원 편파(RHCP) 특성을 가지도록 설계된 패치(patch) 안테나가 일반적이며, 위상 중심(Phase Center) 안정성이 중요한 역할을 한다.

  2. LNA 잡음 지수

    • LNA는 프론트엔드 전체의 잡음 지수(Noise Figure)에 가장 큰 영향을 미치므로, 매우 낮은 잡음 지수를 가져야 한다.

    • 이득(Gain)이 부족하면 후단에서 신호가 잡음 바닥 아래로 묻히게 되므로, 수십 dB까지 증폭할 수 있다.

  3. 하향선로 케이블 손실

    • 안테나에서 수신기 본체까지 케이블이 길면, LNA 이후에도 케이블 손실이 존재한다.

    • 이를 보상하기 위해 적절한 이득 분배와 2차 증폭 단계를 설계하기도 한다.

다중 경로 반사와 안테나 설계

멀티패스 신호를 줄이기 위해, 안테나 자체의 지향 특성과 패턴 설계가 중요해진다.

  1. 챔버 테스트

    • 무반사 챔버에서 안테나 지향성 패턴을 측정하고, 측후방(back lobe) 방사 최소화를 목표로 최적화한다.

  2. 그라운드 플레인(ground plane)

    • 편파 유지와 반사 억제를 위해 안테나 아래 금속판을 설치한다.

    • 이동형 기기에서는 공간 제약 때문에 작은 그라운드 플레인을 쓰거나, 전자식 보강 구조를 택하기도 한다.

  3. 액티브 안테나(Active Antenna)

    • LNA가 안테나 내부 또는 바로 인접한 모듈에 내장된 형태.

    • 케이블 손실을 최소화하며, 저잡음·고이득 구현에 유리하다.

무선 프론트엔드와 하향 혼합 구조

안테나-프론트엔드-IF-복조로 이어지는 체인 중, 프론트엔드는 주파수 선택 필터와 LNA, 그리고 다운컨버전(혼합기) 단을 포함한다.

  1. SAW 필터

    • GPS L1 등 특정 대역만 통과시키는 표면 탄성파(Surface Acoustic Wave) 필터를 사용해 이미징 주파수 및 인접 간섭을 제거.

    • 좁은 대역은 삽입 손실(insertion loss)에 주의해야 하며, 필터 후단에서 증폭 이득이 보완되어야 한다.

  2. 1차 믹서(Mixer)

    • 안테나/프론트엔드 통과 후, 약 1.575GHz의 GNSS 신호를 중간 주파수(수백 MHz ~ 수 GHz)로 변환.

    • 무선 칩셋은 I/Q 혼합 과정을 통해 복소수 신호를 생성하기도 하며, 단일 무신호보다 나은 성능을 확보한다.

  3. LO 안정도

    • 믹서에 공급되는 국부 발진기(LO)의 위상 잡음(phase noise)이 수신기의 캐리어 추적 성능을 좌우한다.

    • 고성능 PLL Synthesizer와 VCO를 사용해, 위성 신호 수준보다 낮은 위상 잡음을 실현하도록 한다.

ADC 동적 범위와 디지털 IF

혼합기 출력 단의 IF 신호는 ADC로 들어가기 전에 증폭기(AGC) 및 필터를 거친다. ADC 동적 범위는 매우 작은 GNSS 신호 + 잡음 신호를 어떻게 표현하느냐에 중요한 영향을 준다.

  1. 비트 수(Quantization Bit)

    • 1~2비트 ADC만으로도 GNSS 신호 처리가 가능하다는 전통적 연구 결과가 있으나, 이 경우 잡음마진이 작아지고 스푸핑·멀티패스 대응력이 약해질 수 있다.

    • 현대 수신기는 4~6비트 이상의 ADC를 사용해 더욱 안정적인 SNR 확보 및 다양한 DSP 처리 여지를 확보한다.

  2. 오버샘플링

    • 설계 여유가 있다면, IF 대역폭보다 훨씬 높은 샘플링 주파수를 사용해 디지털 필터로 잡음을 제거한다.

    • 구현 복잡도와 전력 소모가 증가하는 단점이 있으므로 트레이드오프가 존재한다.

  3. DSP 자원 배분

    • FPGA나 ASIC 내부에서, ADC 출력 신호를 실시간으로 복조 처리할 수 있도록 충분한 연산량(코어 수, 멀티뱅크 메모리 등)을 배치해야 한다.

    • 대역폭이 넓어질수록, 한 번에 처리해야 하는 샘플 수도 기하급수적으로 늘어난다.

무선 환경에서의 온도 변화

GNSS 수신기는 야외 환경에서 작동하므로, 온도 변화에 따라 하드웨어 특성이 달라질 수 있다.

  1. TCXO/OCXO

    • 내부 기준 클록을 온도 보상(Temperature Compensation)하거나, 온도 챔버(Oven)로 일정하게 유지한다.

    • 위상 잡음이나 장기 주파수 드리프트가 낮아야 정확한 측위가 가능하다.

  2. 증폭기 및 믹서 온도 특성

    • LNA, 믹서, 필터의 삽입 손실이나 이득, 군지연 특성이 온도에 따라 변동될 수 있다.

    • 군지연 변화가 클 경우, 코드 추적이나 측정 타이밍에 미세한 편차를 유발해 측위 오차가 늘어난다.

  3. 열 설계(Thermal Design)

    • 수신기가 밀폐된 환경(자동차 대시보드 등)에 장시간 노출되면, 내부 온도가 상승해 성능이 저하될 수 있다.

    • 방열 설계, 내부 온도 센서 기반 보정 등을 적용하기도 한다.

전력 관리(Power Management)와 저전력 GNSS

모바일 기기나 IoT 센서 등에서는 저전력 GNSS 수신이 핵심 요구 사항이다. IF 및 복조 과정은 고속 DSP 연산이 필요해 전력이 많이 들 수 있으나, 여러 기법으로 절감을 시도한다.

  1. 듀티 사이클 동작

    • 추적 루프가 안정화된 후, 일정 시간 간격으로만 샘플링 또는 상관 처리를 수행해 소비 전력을 줄인다.

    • 위치 업데이트가 자주 필요 없는 어플리케이션(예: IoT 센서)에서는 효과적이다.

  2. 저전력 모드

    • AGC, 믹서, ADC 등을 낮은 클록 주파수나 부분 동작 모드로 전환해 소비 전력을 줄이는 기법.

    • 신호 강도가 높고 도시 지역에서 고정된 위치라면, 높은 정밀도를 요구하지 않을 수도 있다.

  3. 초소형 ASIC 구현

    • 특정 목적에 최적화된 ASIC(SoC)에 GNSS 베이스밴드 프로세서를 집적해, 병렬 연산과 저전력 설계를 동시 구현한다.

    • 하드웨어 상관기, 루프 필터, 코어 로직 등이 효율적으로 배치되어 소비 전력을 크게 낮출 수 있다.

실시간 RTOS 및 펌웨어 구조

GNSS 수신기는 단순한 하드웨어 블록 조합이 아니라, 내부에 **펌웨어(Firmware)**나 **RTOS(Real-Time Operating System)**를 탑재하여 복조, 추적, 측정, 메시지 디코딩 등의 순서를 제어한다.

  1. 인터럽트 기반 동작

    • ADC 샘플링 완료 신호 또는 상관기 누산 종료 신호가 발생하면 인터럽트가 걸리고, 펌웨어가 즉시 해당 블록 데이터를 후처리한다.

    • 루프 필터 업데이트, RAIM 검사, 메시지 디코딩 등이 순차적으로 이뤄진다.

  2. 태스크 우선순위

    • 추적 루프(PLL/DLL) 업데이트는 실시간성이 높으므로 높은 우선순위를 부여한다.

    • 메시지 디코딩이나 NMEA 포맷 변환 등은 다소 지연되어도 되므로 낮은 우선순위로 배치한다.

  3. 비동기 이벤트 처리

    • GNSS 신호는 여러 위성 채널에서 서로 다른 타이밍으로 상관 처리 결과가 나오므로, 각 채널별로 동기화가 필요하다.

    • 채널 관리 모듈은 스레드 혹은 코루틴 형태로 구현되며, 공통 루프 필터 설정은 보호 기법(Mutex, Semaphore 등)을 통해 일관성을 유지한다.

Last updated