### 0.0.1 사용자 등가 거리 오차(UERE: User Equivalent Range Error) 예산 분석 및 위성 시계 오차 보정
위성 항법 시스템(GNSS)의 정확도는 위성 원격 측정 데이터가 수신기에 물리적으로 전달되기까지 발생하는 각종 통계적 요인들의 합산에 의해 결정된다. 이를 계량화한 수학적 척도를 **사용자 등가 거리 오차(UERE: User Equivalent Range Error)**라고 한다. PX4-Autopilot의 EKF2(Extended Kalman Filter)는 각 GPS 칩셋(예: u-blox F9P, M8N 등)이 제공하는 UERE 파라미터를 기반으로 관측 공간의 불확실성(Uncertainty)을 가늠하고, 다른 센서(IMU, 기압계)와의 융합 비율을 실시간으로 결정한다.
0.1 UERE(User Equivalent Range Error) 예산(Budget) 분석
UERE는 위성 시계, 위성 궤도(Ephemeris), 전리층(Ionosphere), 대류권(Troposphere), 수신기 노이즈 및 다중경로(Multipath) 오차들의 총합(Root Sum Square)으로 정의된다. 시스템 설계자는 고정밀 비행을 위해 이 예산표(Error Budget) 내의 항목들을 어떻게 최소화할 것인가를 고민해야 한다.
일반적인 L1 단일 주파수 C/A 코드 수신기의 UERE 예산은 대략 다음과 같이 분포한다(단위: m).
| 오차 요인 (Error Source) | 1-Sigma 오차 기여도 (m) | 보상 및 상쇄 기법 (PX4/수신기 단) |
|---|---|---|
| 전리층 지연 (Ionospheric Delay) | \pm 5.0 ~ 10.0 | L1/L2 다중 주파수 무전리층 조합 (RTK) |
| 위성 시계 오차 (Satellite Clock) | \pm 1.5 ~ 2.0 | 항법 메시지 내 시계 보정 파라미터 적용 |
| 위성 궤도 오차 (Ephemeris Error) | \pm 1.5 ~ 2.5 | 정밀 궤도력 파일(Precise Ephemeris) 적용 |
| 대류권 지연 (Tropospheric Delay) | \pm 0.5 ~ 1.0 | 기상 데이터 기반 Hopfield 모델 연산 |
| 다중경로 증폭 (Multipath) | \pm 1.0 ~ 3.0 | 초크링(Choke Ring) 안테나 및 EKF 혁신 필터링 |
| 수신기 잡음 (Receiver Noise) | \pm 0.2 ~ 0.5 | 고성능 LNA(Low Noise Amplifier) 및 PLL/DLL 설계 |
| 총계 (UERE, 1\sigma) | 약 \pm 6.0 ~ 12.0 m | (RSS 연산 결과) |
이처럼 통계적으로 독립적인 오차 요소들은 RSS(Root Sum Square) 방식으로 결합되며, \sigma_{UERE} = \sqrt{\sigma_{iono}^2 + \sigma_{clock}^2 + \cdots + \sigma_{noise}^2} 로 산출된다. PX4의 GPS 드라이버는 모듈로부터 eph(수평 분산) 파라미터를 수신할 때, 기본적으로 이 UERE 값에 하늘의 위성 기하학 결함인 DOP(Dilution of Precision)를 곱한 결과물을 받아보는 것이다.
0.2 위성 시계 오차(Satellite Clock Error) 보정 알고리즘
UERE 예산 중 위상과 시간에 직접적인 영향을 미치는 가장 핵심적인 통제 변수는 위성 시계 오차이다. GPS 위성에는 고정밀 원자 시계(Atomic Clock)가 탑재되어 있으나, 상대성 이론의 시간 지연 효과와 자체적인 물리적 리프트(Drift) 현상으로 인해 절대 GPS 타임(GPS Time)과 미세한 오차가 발생한다.
수신기가 계산하는 의사거리(\rho)에는 이 시계 오차 모델이 포함되어 있으며, 수신기는 위성이 송신한 항법 메시지 데이터(Subframe 1) 내의 다항식 매개변수를 사용하여 이를 교정한다.
\Delta t_{sv} = a_f0 + a_f1 (t - t_{oc}) + a_f2 (t - t_{oc})^2 + \Delta t_{rel}
- a_f0, a_f1, a_f2: 위성 클럭 편향(Bias), 편위(Drift), 편위율(Drift Rate) 변수
- t_{oc}: 시계 데이터의 기준 시간(Reference Epoch)
- \Delta t_{rel}: 궤도 이심률 변화에 따른 상대론적 보정항(Relativistic Correction)
수신기의 베이스밴드 프로세서(Baseband Processor)는 위 수식을 거친 \Delta t_{sv} 시간차를 통해 보정된 실제 전송 시간(t_{corrected} = t_{transmit} - \Delta t_{sv})을 유도하고, 최종 UERE 예산을 단축시킨다.
3. PX4 아키텍처 관점에서의 통계적 한계와 EKF2 대응
PX4를 탑재한 드론은 일반적으로 시야가 확보되지 않은 건물 숲(Urban Flat)이나 산악 지대에서 비행하는 경우가 많아, 상기 UERE 예산표 내의 다중경로(Multipath) 구간에서 비정상적인 분산 폭증 형상을 자주 마주하게 된다.
위성 시계와 궤도 오차는 예측 가능한 선형 모델이 적용되는 반면, 다중 경로 오차는 환경 의존적이므로 예측이 불가능하다. 이를 해결하기 위해 PX4의 EKF2 가속도계 보정 루틴은 GPS 속도(Velocity) 데이터에 압도적인 신뢰도 가중치를 부여한다. 위성 신호 반사파로 인해 순간적인 위치 Position(x,y) 튕김 현상이 발생하더라도, 도플러(Doppler) 편이로 도출된 일관성 있는 Velocity(v_x, v_y) 분산이 정상 범위(보통 0.5m/s 이하)를 유지한다면, EKF2 필터는 GPS의 위치 측정값을 일시적으로 무시(Reject)하고 관성 센서 중심의 궤적을 잇는 안전판(Failsafe) 역할을 수행한다.
이러한 메커니즘은 UERE 통계 한계를 소프트웨어적으로 돌파하는 PX4의 핵심 제어 철학이다.