13.2.1.1.2. 베이스밴드(Baseband) DSP 처리 구조: 상관기(Correlator) 할당 및 위성 신호 획득(Acquisition)/추적(Tracking) 루프

13.2.1.1.2. 베이스밴드(Baseband) DSP 처리 구조: 상관기(Correlator) 할당 및 위성 신호 획득(Acquisition)/추적(Tracking) 루프

라디오 주파수(RF) 프론트엔드에서 하향 변환(Down-conversion) 및 아날로그-디지털 변환(ADC)을 거쳐 들어온 신호는 0과 1로 이루어진 방대한 베이스밴드(Baseband) 스트림 형태를 갖춘다. 이 혼돈의 스트림 속에서 우주 공간의 서로 다른 위성들이 송출한 신호를 분리해 내고, 정확한 거리 측정치를 뽑아내는 심장부가 바로 베이스밴드 DSP(Digital Signal Processor) 구조이다.

본 절에서는 u-blox ZED-F9P와 같은 고정밀 RTK 수신기 내부에 탑재된 다중 채널 상관기(Correlator) 아키텍처와, PX4-Autopilot가 사용할 원시 관측치(Raw Observation)를 추출하기 위한 획득(Acquisition) 및 추적(Tracking) 루프 알고리즘을 해부한다.

1. 베이스밴드 DSP 아키텍처 개요

GNSS 위성들은 동일한 주파수(예: L1: 1575.42\text{ MHz}) 대역을 동시에 사용하면서도 서로 전파 간섭을 피하기 위해 CDMA(Code Division Multiple Access, 코드 분할 다중 접속) 기법을 사용한다. 즉, 위성마다 고유한 난수(PRN, Pseudo-Random Noise) 코드를 덧씌워 신호를 발사한다.

수신기 내부의 DSP는 이 PRN 코드를 해독하여 위성을 구별하는데, 이 과정을 병렬 처리하기 위해 실리콘 내부에 무수히 많은 상관기(Correlator) 하드웨어 블록을 물리적으로 배치한다.

graph TD
    A[Digitized I/Q Baseband Stream] --> B{Channel Allocation Logic \n 184+ Channels}
    B -->|PRN 1 (L1/L2)| C[Correlator Channel 1]
    B -->|PRN 2 (L1/L2)| D[Correlator Channel 2]
    B -->|PRN N (L1/L2)| E[Correlator Channel N]
    
    subgraph "Core DSP Tracking Loops"
        C --> C1(Carrier Tracking: PLL/FLL)
        C --> C2(Code Tracking: DLL)
        D --> D1(Carrier Tracking: PLL/FLL)
        D --> D2(Code Tracking: DLL)
    end
    
    C1 --> F[Raw Measurements \n Pseudorange, Phase, Doppler]
    C2 --> F
    F --> G[Navigation MCU \n RTK Engine]

현대의 u-blox ZED-F9P는 184 개의 독립적인 위성 추적 채널을 지니고 있다. 이는 GPS, GLONASS, Galileo, BeiDou 4가지 궤도 군의 L1과 L2(또는 L5) 이중 대역을 세계 어디서나 음영 지역 없이 동시에 탐색하기 위해 설계된 방대한 하드웨어 자원이다.

2. 상관기(Correlator) 할당 및 상태 전이 모델

채널 내부의 상관기는 유입되는 외부 신호와 칩셋 내부에서 임의로 자체 조판한(Local Replica) PRN 코드를 지속적으로 곱해서 적분(Integrate & Dump)한다. 만약 두 코드가 완벽히 동기화되면 그 결과값(상관 피크)이 치솟게 된다.

이 상관기는 아래와 같은 두 단계의 상태(State)를 거치며 구동한다.

2.1 획득 루프 (Acquisition Loop)

수신기에 맨 처음 전원이 들어왔을 때(Cold Boot), 수신기는 하늘에 어떤 위성이 떠 있는지, 도플러 편이가 얼마인지 알지 못한다.

  • 검색 공간(Search Space): DSP는 모든 PRN 코드(1~32번 등)와 2차원 도플러 주파수 공간(\approx \pm 10\text{ kHz})을 촘촘하고 빠르게 스와이핑(Sweeping)하며 상관 피크를 찾는다.
  • 이 과정은 연산량이 어마어마하므로 팁셋 내부의 하드웨어 FFT(Fast Fourier Transform) 가속기를 대거 동원하여 수행하며, 피크가 임계치를 넘으면 획득(Acquisition) 상태를 종료하고 해당 채널을 추적(Tracking) 모드로 전환한다.

2.2 추적 루프 (Tracking Loop)

한 번 동기화를 맞춘 위성 신호가 위성 궤도 운동이나 드론의 극심한 고기동(Acrobatic Flight)에 의해 틀어지지 않도록 계속해서 피드백 제어로 따라가는(Tracking) 단계이다. 크게 두 가지 하위 제어 루프로 나뉜다.

  1. DLL (Delay-Locked Loop, 지연 잠금 루프):
  • 역할: 위성에서 보내는 PRN 코드의 시작점이 수신기 내부 코드와 일치하도록 시간 축을 지속적으로 미세 조절한다.
  • 산출물: 13.1절에서 언급했던 의사 거리(Pseudorange) (P_r)를 산출한다.
  1. PLL (Phase-Locked Loop, 위상 잠금 루프) 및 FLL (Frequency-Locked Loop):
  • 역할: 수신기가 달리는 속도차에 의한 미세한 반송파의 도플러 주파수 변화와 극초미세 위상(Phase) 밀림 현상을 조향(Steering)한다.
  • 산출물: 밀리미터 단위 정밀도를 지닌 반송파 위상(Carrier Phase) (\Phi) 및 도플러(Doppler / Range Rate) 값을 추출한다.

이러한 두 가지 루프의 치열한 PID(Proportional-Integral-Derivative) 유사 연산이 초당 수천 번 일어나며, 이로 인해 얻어낸 정밀 벡터가 QGroundControl 관제 화면 상의 RTK 3D Fix 신뢰도를 결정짓는다.

3. PX4 비행 다이내믹스와 Tracking Loop 최적화 간의 상관관계

보통 일반적인 휴대폰 GPS 모듈은 배터리를 절약하기 위해 이 Tracking Loop 대역폭(Bandwidth)을 매우 좁고 느슨하게 제어한다(1Hz 갱신). 그러나 고정익 드론이나 멀티로터는 시속 수십 km/h 이상으로 가감속을 반복한다.

기체가 급작스러운 요잉(Yawing) 및 롤링(Rolling) 기동을 할 경우, 기체 상단의 GNSS 안테나 또한 공간상에서 순간적으로 수 G(Gravity)의 가속도를 경험한다.
이때 ZED-F9P 내부의 PLL과 DLL이 이 도플러 천이 변화량을 제때 따라가지 못하면 “사이클 슬립(Cycle Slip)” 이라 불리는 치명적인 센서 오작동(추적 놓침) 현상이 일어난다. 추적 루프가 사이클 슬립을 일으키면 기체의 PX4-Autopilot은 이 의사 위상 데이터를 EKF2 항법 필터에서 강제 폐기(Reject)시켜버리며, 일시적으로 기체가 풍향계처럼 표류하는 상태(Position Drift)에 진입하게 된다.

3.1 해법 및 튜닝 파라미터 적용 (CFG-NAVSPG-DYNMODEL)

이러한 사이클 슬립과 Tracking Loop 마비를 방지하기 위해 PX4-Autopilot를 통한 상용 기체 조립 시 다음과 같이 칩셋 레벨의 파라미터 최적화를 수행해야 한다.

  1. 동적 모델(Dynamic Model) 변경: 앞 장에서 거론했듯, u-blox CFG-NAVSPG-DYNMODEL 파라미터를 식별 번호 7 (Airborne < 2g) 혹은 8 (Airborne < 4g) 로 설정해야 한다. 이는 내부 DSP에게 “이 안테나는 매우 거칠게 움직일 수 있으니 PLL과 DLL의 피드백 응답 속도를 최대치로 넓혀라” 라고 지시하는 기계적 튜닝 기법이다.
  2. 데이터 출력 주기(Navigation Rate) 상향: EKF2 프레딕션의 분산을 줄이려면 PX4의 gps_driver 링 버퍼에 도달하는 빈도가 잦아야 한다. UBX-CFG-RATE 메시지를 조작하여 산출물의 폴링 레이트를 기본 1Hz에서 10Hz 수준으로 올려주어야 드론의 진동 주파수보다 빠른 제어 갱신이 가능하다.

결과적으로, RTK 시스템에서 DSP 추적 루프의 메커니즘을 이해하는 것은 단순히 GPS가 “어떻게 작용하는가“의 이론 차원을 넘어, 고기동 자율 비행(Autonomous Flight) 수행 중 위성 잠금을 극도로 유지하기 위한 필수적인 하드웨어 설계 파이프라인의 종착지라고 할 수 있다.