Skip to content

Tutorial GNSS

adswill edited this page Oct 17, 2026 · 1 revision

Tutorial: GNSS

What it is. GNSS (GPS, Galileo, BeiDou, GLONASS and the regional and augmentation systems QZSS and SBAS) are satellite navigation systems. Their signals are so weak at the ground that they are below the noise of the receiver; a receiver finds them by correlating with each satellite's spreading code. OnAir does this in software: it finds satellites, tracks them, decodes the navigation message, works out a position fix and the time, shows a sky view and a map of where the satellites are, and watches for interference. It is a way to learn how GPS works and to check an antenna, not a replacement for a hardware GNSS receiver.

What you need

  • Radio. A radio that tunes about 1.5 to 1.6 GHz and can run at least 2.046 Msps (the lowest working rate). The mode asks for 4 Msps. Which systems you can receive depends on the sample rate:
    • GPS L1 C/A, Galileo E1, QZSS and SBAS on 1575.42 MHz: 2.05 Msps or more; Galileo E1-B needs 4 Msps or more and starts once GPS has a fix.
    • BeiDou B1I on 1561.098 MHz: 4 Msps.
    • GLONASS L1OF on 1602 MHz (fourteen channels, 1602 MHz plus k x 0.5625 MHz): 10 Msps for all of them; a radio held to 4 Msps gets the middle channels, about k = -2 to +2.
    • All systems in one tune, 1559 to 1606 MHz: 50 Msps (a radio that runs 50 Msps). The test signal and recordings stop at 20 Msps. An RTL-SDR does not tune this high, so it is not suitable; check Supported-radios for HackRF, Airspy, PlutoSDR, bladeRF, USRP and others.
  • Antenna. An active GNSS antenna (with a built-in LNA), placed outside or in a window with a clear view of the sky. Indoors there is usually nothing to receive. The antenna needs power: switch on the radio's antenna power (bias-T; on a HackRF it is the antenna port power) or use a separate bias-T. Never feed bias-T to a passive antenna or a DC-coupled filter.
  • Frequencies from the repository's frequency database. GPS L1 C/A / Galileo E1 / BeiDou B1C / QZSS L1 at 1575.42 MHz (the default); GPS L2 1227.6; L5 / E5a / B2a 1176.45; Galileo E5b / B2b 1207.14; E6 / L6 1278.75; BeiDou B3I 1268.52 and B1I 1561.1; GLONASS L1 1602 and L2 1246 MHz. The tuning ranges the mode table describes: 1550 to 1610 MHz.

Before you start

  • Gain. The satellites are below the noise, so gain matters only for the radio's converter: the noise should fill a few steps of the converter ("Very low input level: raise the gain"). A saturated converter or a strong nearby transmitter ruins acquisition.
  • Frequency error. A radio without a good oscillator is off by many kHz at 1575 MHz: a 1 ppm TCXO about 1.6 kHz, a HackRF up to 31 kHz (20 ppm), a dongle without TCXO up to 160 kHz. The receiver searches wider if nothing is found in the first window and remembers the measured error for that radio (shown in ppm).
  • Do not use a filter that blocks the band; an ordinary 1.5 GHz GNSS band-pass filter is fine.

Step by step

  1. Mode list, group Satellite & navigation, entry GPS, GLONASS, BeiDou.
  2. Choose the Signal (tune): GPS / Galileo / QZSS / SBAS on 1575.42 MHz, BeiDou B1I, GLONASS, or all systems; or custom frequency. The bar warns if no band fits the frequency and rate you chose ("tune to 1575.42 MHz (L1 / E1, 2.05 Msps or more), 1561.098 MHz (BeiDou B1I, 4 Msps) or 1602 MHz (GLONASS, 10 Msps)").
  3. Switch on the antenna power of the radio in its settings.
  4. Press Start. The status shows the search ("Searching ... kHz").
  5. Wait. Acquisition takes seconds; collecting a full ephemeris takes about 30 s per satellite ("G05 2/3 subframes, about n s left"); a first fix comes with four satellites that have ephemeris ("n locked, n with ephemeris (4 needed for a fix)").
  6. If nothing appears after a minute, the status says "the antenna needs power (bias-tee or a powered LNA) and a clear view of the sky".

What you should see

Satellites in the Sky view with their elevation and azimuth, C/N0 bars on Channels, a position fix once four satellites have ephemeris, the time and, on the Clock tab, UTC and GPS time. About 44 dB-Hz is a good outdoor antenna; below about 30 the navigation data no longer decodes. Lower satellites are weaker (about 9 dB less near the horizon).

Reading the screen

  • Sky. The satellites in view, coloured by constellation, with C/N0. A restricted-elevation setting hides low satellites from the position calculation (they are still tracked).
  • Map. The satellite sub-points on a map (from the broadcast navigation message), with the constellation colour and RINEX-style names (G12 GPS, E05 Galileo, C21 BeiDou, R07 GLONASS, J02 QZSS). White dot: your fix. The positions come from the ephemeris once decoded; until then the map says "no satellite positions yet: they come with the first ephemeris". Markers are dimmed when a satellite is not tracked. fit shows them all; follow and clear trail control the map view and your fix trail (check the panel). Elevation and azimuth are never sent to the public map.
  • Channels. A table: Sat, System, Doppler Hz, Code chips, State, Lock s, Frames, Resid m, Health, with a Fix summary.
  • Interference. Noise floor, power and C/N0 history, Band, Spoofing indicators, Line kHz (continuous-wave lines 8 dB above the floor) and an event Log. Export CSV saves the history and the log. Jamming and CW lines show up here.
  • Clock. UTC, GPS time, GPS week and time of week, leap seconds, and a pending leap second if announced; the computer clock's offset against the satellites (accuracy limited by USB and driver latency to roughly 5 to 30 ms). The same Sync computer clock section and optional NTP server as in the time-signals mode.

Options and settings

  • Elevation mask: satellites lower than this are tracked but left out of the position.
  • Test signal: simulated sky with options all in view, cold start, jammer (a continuous tone 400 kHz from the centre, notched out by the receiver) and CFO (a simulated radio frequency error).
  • Raising the system choices needs a faster rate; the interface tells you when the radio cannot reach it.

Troubleshooting

  • Nothing after a minute. Antenna power off, or no sky view. Move the antenna outdoors.
  • Satellites locked but no fix. Wait for the ephemeris (about 30 s each), or fewer than four satellites have it.
  • Wrong or jumping position. Reflections near buildings; raise the elevation mask.
  • Frequency error large. Use the measured offset the receiver remembers, or a radio with a TCXO.
  • Galileo or BeiDou never appears. Rate too low; Galileo needs 4 Msps and a GPS fix first; BeiDou needs its own tune.
  • GLONASS shows few channels. A radio below 10 Msps only covers the middle channels.

Tips

Run the Interference tab in an area with GPS jammers or poor reception; it records the evidence. Use the Clock tab to check how far your PC clock is off.

Legal and privacy notes

Receiving GNSS signals is legal; the signals are meant to be received. The map of satellites shows where the satellites are, not where you are. Do not transmit GNSS signals.

Under the hood

GPS L1 C/A: 1.023 Mchip/s Gold codes, 50 bit/s navigation message in subframes (IS-GPS-200). Galileo E1-B/C (I/NAV), BeiDou B1I D1 and D2, GLONASS L1OF FDMA with a 511 kchip/s code, QZSS and SBAS on L1. The fix uses pseudoranges from at least four satellites with the broadcast ephemeris.

Related

Mode-GNSS, Tutorial-Time-stations-and-the-clock, Supported-radios, Troubleshooting, FAQ

Clone this wiki locally