> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracenav.net/llms.txt
> Use this file to discover all available pages before exploring further.

# TraceNav VRTK

> Synthetic OSR corrections generated from SSR data once a rover reports its position

TraceNav VRTK converts state-space inputs into real-time observation corrections for every active region. Instead of relaying a single physical base station, TraceNav synthesizes a virtual base centered on each rover using precise global models. Once a rover delivers its first valid GGA, TraceRouter promotes the session from TraceAssist Ephemeris to VRTK mode and begins streaming the generated OSR data.

## 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.

<Note>
  Because VRTK builds virtual bases on demand, rovers experience uniform performance across the coverage area without needing to home onto a specific physical station.
</Note>

## Processing pipeline

1. **Receive SSR packets** – orbit, clock, bias, ionosphere, and troposphere data arrive continuously for all enabled constellations.
2. **Resolve satellite state** – TraceNav evaluates the satellite positions and corrections at the current epoch for the rover’s reported location.
3. **Generate virtual observations** – SSR parameters are converted into OSR pseudorange, carrier-phase, and Doppler adjustments per satellite.
4. **Assemble RTCM frames** – Corrections are packaged into MSM4 observation messages (1074, 1084, 1094, 1124, etc.) plus supporting station metadata (1005/1006, 1033, 1230).
5. **Serve over NTRIP 1.0** – The synthetic stream is forwarded through TraceRouter, so rovers consume it exactly like any other correction feed.

## Session lifecycle

<Steps>
  <Step title="Session created">
    Client authenticates with TraceRouter over NTRIP. A session ID and default region are assigned instantly.
  </Step>

  <Step title="Ephemeris warmup">
    While no GGA is received, TraceAssist Ephemeris repeats satellite orbital parameters every 5 seconds to prime the receiver.
  </Step>

  <Step title="First GGA received">
    TraceRouter evaluates the reported position, selects the nearest virtual reference service (VRS) cell, and switches the mountpoint.
  </Step>

  <Step title="VRTK streaming">
    The rover receives synthetic RTCM MSM4 corrections (1 Hz by default) covering all enabled constellations plus the supporting station messages.
  </Step>

  <Step title="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).
  </Step>
</Steps>

<Tip>
  Send NMEA GGA at a 1–5 second interval. This helps TraceRouter maintain low baseline distances and anticipate region handoffs while staying within bandwidth constraints.
</Tip>

## 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         |

Optional message types (MSM5/MSM7, SBAS, QZSS) are available on request for compatible receivers.

## Stream anatomy

```text theme={null}
<timestamp_ms> <msg_type> <station_id> <length_bytes> <hex_payload>
1760641557250 1074 10 197 d300bf43…c31
1760641557250 1084 10  86 d3005043…906
1760641557250 1094 10 234 d300e444…76
1760641557250 1124 10 167 d300a146…26
```

Use this structure when debugging logs from TraceRouter or your rover. Payloads are standard RTCM binary frames.

## 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

* <a href="/products/traceassist-ephemeris">TraceAssist Ephemeris</a> – pre-fix data loop prior to VRTK promotions
* <a href="/products/tracerouter">TraceRouter</a> – session orchestration and routing logic
* <a href="/protocols/rtcm-message-map">RTCM message map</a> – details on the message payloads
