Global Positioning System (GPS)

GNU Radio can be used to create GNSS receivers. The DBSRX daughterboard for the USRP is capable of receiving signal from all contemporary GNSS systems.


  • For civilian accuracy, the equivalent of $100 GPS receivers, the signal of interest (C/A) is at 1575.42MHz(L1) with a bandwidth of ~2.046MHz.
  • For surveying accuracy, the signals of interest (C/A & P(Y)) are at 1575.42MHz(L1) and 1227.6MHz(L2) with a bandwidth of ~20.46MHz at each frequency.
  • For military accuracy, you have to add the restricted decrypting hardware on top of the surveying requirements.

The Complete Specification

Links to papers with details about software GPS implementations

Overview of GPS Operation

General GPS Information

  • A decent introduction to GPS, and even better, SDR implementations thereof, is "Fundamentals of Global Positioning System Receivers: A software approach", by James Bao-Yen Tsui (ISBN 0-471-38154-3).

SBAS/WAAS/EGNOS/MSAS information here

OpenGNSS Community Information


The Russian GLONASS

  • The Russians added needless complications when they selected a silly time-scale for their system and decided to share the spreading codes between satellites. GLONASS also consumes a lot more bandwidth. However, this would be an excellent demonstration of an SDR's adaptability, since a working software GPS receiver has all the necessary components that a GLONASS receiver requires. One just rearranges them differently. GALILEO falls into the same category.


Q: What about DGPS for GPS positioning accuracy improvement?

A: For the continental US, WAAS is more reasonable. The marine DGPS beacons that operate at LF (~300kHz) would require another RF path and related antenna.

Q: What about WAAS, EGNOS (Europe), MSAS (Japan / Asia) for GPS positioning accuracy improvement?

A: WAAS is broadcast on the same L1 frequency as GPS itself. So WAAS support is a pure software feature.


注: GlobalPositioningSystem or GPS(原文出处,翻译整理仅供参考!