TraceNav VRTK – Synthetic OSR Generation Overview
TraceVRTK operates as an SSR-to-OSR engine. By fusing orbit, clock, bias, ionospheric, and tropospheric models with the rover’s live position, it synthesizes a virtual reference station in software and outputs standard RTCM observation frames.Synthetic OSR generation
TraceNav ingests State-Space Representation (SSR) feeds—orbital clocks, biases, and atmospheric models—and transforms them into Observation-Space Representation (OSR) corrections tailored to each rover.- SSR inputs:
- Orbit, clock, code bias, and phase bias messages (OCB) from commercial SSR providers
- Global ionospheric grids
- Real-time tropospheric delay models
- Rover context: The NMEA GGA supplied by the rover gives TraceRouter an approximate position, velocity, and height to anchor the synthetic base.
- Output: RTCM MSM4 (and supporting) frames that mimic a local reference station colocated with the rover.
Because VRTK builds virtual bases on demand, rovers experience uniform performance across the coverage area without needing to home onto a specific physical station.
Processing pipeline
- Receive SSR packets – orbit, clock, bias, ionosphere, and troposphere data arrive continuously for all enabled constellations.
- Resolve satellite state – TraceNav evaluates the satellite positions and corrections at the current epoch for the rover’s reported location.
- Generate virtual observations – SSR parameters are converted into OSR pseudorange, carrier-phase, and Doppler adjustments per satellite.
- Assemble RTCM frames – Corrections are packaged into MSM4 observation messages (1074, 1084, 1094, 1124, etc.) plus supporting station metadata (1005/1006, 1033, 1230).
- Serve over NTRIP 1.0 – The synthetic stream is forwarded through TraceRouter, so rovers consume it exactly like any other correction feed.
Session lifecycle
1
Session created
Client authenticates with TraceRouter over NTRIP. A session ID and default region are assigned instantly.
2
Ephemeris warmup
While no GGA is received, TraceAssist Ephemeris repeats satellite orbital parameters every 5 seconds to prime the receiver.
3
First GGA received
TraceRouter evaluates the reported position, selects the nearest virtual reference service (VRS) cell, and switches the mountpoint.
4
VRTK streaming
The rover receives synthetic RTCM MSM4 corrections (1 Hz by default) covering all enabled constellations plus the supporting station messages.
5
Continuous optimization
As the rover moves, GGA updates keep the session attached to the optimal base or VRS region. Loss of GGA can trigger automatic fallbacks (configurable).
RTCM message set
| Msg Type | Constellation | Description | Cadence |
|---|---|---|---|
| 1005 / 1006 | All | Reference station ARP coordinates (with optional height) | 1 per minute |
| 1033 | All | Antenna descriptor, firmware ID, serial | 1 per hour |
| 1074 | GPS | MSM4 observations (code, phase, Doppler, C/N₀) | 1 Hz |
| 1084 | GLONASS | MSM4 observations | 1 Hz |
| 1094 | Galileo | MSM4 observations | 1 Hz |
| 1124 | BeiDou | MSM4 observations | 1 Hz |
| 1230 | GLONASS | Code-phase bias for inter-frequency calibration | 30 s |
Stream anatomy
Integration checklist
- Client: Any NTRIP 1.0-compatible rover, SDK, or custom socket client.
- Transport: Persistent TCP connection to
ntrip.tracenav.net:2101. - Mountpoint: Always connect to
/tracenav; TraceRouter handles regional routing after authentication and GGA handoff. - Upstream GGA: Recommended 1–2 second interval for high-dynamic assets, 5 seconds for survey rovers.
- Reconnect logic: Implement exponential backoff on disconnects; TraceRouter preserves session metadata for 60 seconds.
Monitoring & analytics
- TraceNav dashboard → Device → Live Sessions: verifies VRTK mode, mountpoint, and base station.
- Message counters: confirm MSM4 messages per second per constellation.
- Correction age: should stay < 5 seconds with healthy connectivity.
Related docs
- TraceAssist Ephemeris – pre-fix data loop prior to VRTK promotions
- TraceRouter – session orchestration and routing logic
- RTCM message map – details on the message payloads