13.1.3.3. MSM4 vs MSM7 메시지 구조 심층 비교

13.1.3.3. MSM4 vs MSM7 메시지 구조 심층 비교

현대의 다중 위성 체계(Multi-Constellation) 보정 데이터 통신용 표준인 RTCM 3.2 MSM(Multiple Signal Messages)은 데이터의 정밀도(Precision)와 포함하는 관측치의 종류에 따라 MSM1부터 MSM7까지 7가지 버전을 제공한다. 이 중에서 상업용 및 연구용 드론에 널리 사용되는 u-blox ZED-F9P 계열이나 Septentrio 수신기 시스템, 그리고 PX4-Autopilot의 MAVLink-RTK 파이프라인에서 실질적인 글로벌 표준(De facto standard)으로 채택된 것은 MSM4MSM7 두 가지 규격이다.

본 절에서는 통신 대역폭(Bandwidth)과 데이터 분해능(Resolution) 간의 공학적 트레이드오프(Trade-off) 관점에서 MSM4와 MSM7 규격의 메모리 구조와 그 차이점을 심층적으로 분석한다.

1. MSM4 (콤팩트 정밀도 모드) 개요 및 구조

MSM4는 기존의 Legacy 메시지(Type 1004 등)를 완벽하게 대체할 목적으로 설계된 ‘Compact High Precision’ 포맷이다.

1.1 설계 철학

드론을 제어하는 지상 관제 시스템(QGroundControl)은 900MHz 또는 433MHz 대역의 텔레메트리(Telemetry Radio)를 사용하는 경우가 빈번하다. 이러한 무선 채널은 초당 수 킬로바이트(KB/s) 수준의 매우 협소한 대역폭을 지니므로, 위성 보정 데이터의 사이즈를 최소화하는 것이 매우 중요하다.
MSM4는 각 위성에서 송출하는 모든 신호(L1, L2 등)에 대한 전체 의사 거리(Full Pseudorange)를 전송하지 않는다. 대신, 해당 위성에 투영된 거친 예상 거리(Rough Range)를 Satellite Data 블록에 한 번만 전송하고, 각각의 신호 대역(L1, L2)에서는 이 거친 거리와의 정밀한 차잇값(Delta)만을 Signal Data 블록에 담는다.

1.2 전송 관측치 항목

  • Pseudorange (의사 거리)
  • Phase (반송파 위상)
  • CNR (Carrier-to-Noise Ratio, 신호 대 잡음비)
  • 주의: MSM4에는 도플러(Doppler) 주파수 보정 데이터가 포함되지 않으며, CNR 역시 저해상도로 전송된다.

2. MSM7 (초고해상도 전체 정밀도 모드) 개요 및 구조

MSM7은 MSM4의 압축 구조를 유지하되, 각 비트 필드의 길이(Bit Length)를 증가시킴으로써 반송파 위상과 거리의 스케일 팩터(Scale Factor) 해상도를 극대화한 포맷이다.

2.1 설계 철학

밀리미터(mm) 단위의 라우팅 정밀도가 요구되는 농업용 방제 드론이나 3D 매핑/사진측량(Photogrammetry) 기체의 경우, 위성 신호에 개입된 미세한 도플러 편이나 위상 잡음을 네비게이션 필터가 완벽히 추적해야 한다. MSM7은 대역폭을 조금 더 소모하는 대신, 측정 가능한 모든 물리적 지표를 최고 해상도로 담아 전송한다. LTE나 로컬 WiFi 망을 통해 MAVLink를 중계할 때 병목 현상이 발생하지 않으므로 이 모드가 적극 활용된다.

2.2 전송 관측치 항목

  • 고해상도 Pseudorange 및 Phase
  • 고해상도 CNR
  • 고해상도 PhaseRange Rate (도플러 기반 시선 속도)

3. 구조적 분해능 비교 (Resolution Table)

MSM4와 MSM7의 결정적인 차이는 PX4 내의 C++ 드라이버(src/drivers/gps/rtcm.cpp) 내부에서 비트 스트림으로부터 정수값을 추출한 후 곱해지는 **스케일 팩터(Scale Factor)**에서 발생한다. 아래 표는 두 규격의 수학적 해상도를 대비하여 보여준다.

관측치 (Observation)MSM4 해상도 (Scale Factor)MSM7 해상도 (Scale Factor)단위
의사 거리 (Pseudorange)분해능 낮음 (약 293 mm)분해능 높음 (약 0.1 mm)미터 (m)
위상 (Phase)2^{-24} 광초 (초당 빛의 이동 거리)2^{-29} 광초 (극초정밀도)밀리미터 단위 보정
CNR (신호대 잡음비)1.00.0625dB-Hz
도플러 (Range Rate)미지원 (-)0.0001m/s

참고: 수식 내부의 절댓값 기호는 \vert 기호로 표현할 수 있으나 본 표에서는 광초 해상도의 지수승 연산을 집중적으로 대비하였다.

graph TD
    A[RTCM 수신 패킷] --> B{규격 판별 알고리즘}
    B -->|MSM4 (예: 1074, 1084)| C[저해상도 Scale Factor 파싱]
    B -->|MSM7 (예: 1077, 1087)| D[고해상도 Scale Factor 및 도플러 파싱]
    C --> E[PX4 uORB 토픽 주입]
    D --> E
    E --> F[EKF2 융합 엔진]

4. PX4 소스코드 및 EKF2 통합 측면의 고찰

PX4-Autopilot 펌웨어의 gps 모듈에서 MSM 디코딩 루프는 들어오는 메시지의 끝자리 식별 번호(예: GPS의 경우 1074인지 1077인지)에 따라 읽어들이는 비트 시프트(Bit Shift)의 양 자체를 동적으로 변화시킨다.

만일 MSM4 식별자가 감지되면 도플러 변수(Range Rate) 추출 로직은 바이패스(Bypass)되며 해당 float 변수는 NAN 또는 0.0으로 초기화되어 EKF2 (Estimator)로 넘겨진다. 반면 MSM7일 경우, 14비트 길이의 Range Rate를 추출하여 ± 수십 m/s 의 동적 속도 편향을 밀리미터 단위로 필터 엔진에 전송한다.

이러한 도플러 속도 항법 관측치가 EKF2 내부로 진입하면, 기체는 동적 기동(Dynamic Maneuvering, 예: 고속 선회, 공격적인 급가속 비행) 중에도 Base Station 대비 상대 속도(Relative Velocity) 벡터를 매우 빠르고 정확하게 수렴시킬 수 있게 된다. 따라서 Ardupilot이나 PX4를 막론하고 고기동성의 고정익 기체나 레이싱 드론을 RTK로 운용할 때는 GCS의 Base 스테이션 출력 모드를 반드시 MSM7 로 설정(Configuration)하는 것이 관제 기술의 필수 노하우이다.