[time-nuts] GPS / GNSS front-end board

Peter Monta pmonta at gmail.com
Tue Jun 5 15:03:53 UTC 2012


I've been working on a front-end board suitable for GPS and other GNSS
systems.  It might be of interest to time-nuts given the application
to timing receivers.

Goals for the project:

- high-quality signals from all current and near-future GNSS systems
(GPS, Glonass, Galileo, Compass)

- wide bandwidth---provides three 50 MHz channels, nominally at L1, L2, and L5

- low cost---currently about $170 parts cost in single quantity, ~$110
in qty 100

- simplicity of use---emits streams of 2-bit samples to gigabit
Ethernet, feeding a downstream software-receiver farm

- two baseband clock inputs for use by timing receivers---any
combination of 10 MHz, 100 MHz, 1 PPS

- tunability typically from 0.7 to 2.2 GHz on each channel
independently, for non-GPS applications such as radio astronomy

- easy to fabricate and procure parts---4-layer PCB, everything
available from friendly distributors such as Digikey and Mouser

- free and open-source licensing: TAPR Open Hardware License version
1.0 for hardware, GPLv2 for HDL, firmware, and software

So far I have a prototype board outputting bits from which GPS signals
on L1 and L2 have been successfully acquired and tracked.  Next steps
are to play with acquiring some GPS L5, Glonass, and Galileo signals,
and to apply some minor cleanups to the hardware for the next spin.

The current design files, including schematic, PCB layout and artwork,
HDL, support software, and a sample sky recording of simultaneous
wideband L1 and L2, are available here:

http://pmonta.com/blog/2012/06/04/gnss-firehose/
http://github.com/pmonta/GNSS_Firehose

The hardware and HDL are not quite in their final forms yet, but it
seems best to at least announce and get a discussion going so I can
benefit from any feedback, rather than waiting for every last thing to
be complete, which might be a few months down the road.

It would be nice to have a software-receiver chain that gives very
high quality GNSS code and phase observables for every open or
semi-open signal available.  These could be dumped to a RINEX file for
postprocessing or used in real time for navigation or timing.  Timing,
in particular, could benefit from dual- or triple-frequency
observables, multi-GNSS processing (especially with the Galileo clocks
as they are launched), and the availability of real-time clock
information from IGS in the NTRIP format.  The usual single-frequency
autonomous GPSDO seems a bit limited.  I'd like a multi-frequency,
multi-system GNSSDO that is getting up-to-the-second clock and orbit
data from the net.  While I have no direct experience with systems of
this type yet, from what I can tell, reliable real-time timing at the
few-ns level might be possible (relative to some notional
UTC(GPS+IGS/NTRIP+other_metadata) timescale), along with frequency
comparisons at the ~5e-15/day level with suitable postprocessing.

Increasingly, open-source software is filling in these areas.
Interesting projects include RTKLIB, GPSTk, and GNSS-SDR:

http://www.rtklib.com/
http://www.gpstk.org/
http://gnss-sdr.org/

The only thing missing seems to be inexpensive wideband front-end
hardware, including, by the way, inexpensive antennas with full
frequency coverage and stable phase center---still thinking about
that.  Certainly for L5/E5, wide bandwidth is required, and for L1 and
L2 as well when going the semicodeless route with the P(Y) signals.

One could get similar overall capability with two or three USRP boxes
(suitably synchronized), but this starts to get expensive.  I've used
a USRP1 for some time, and while it's a great tool, the bandwidth is
limited and it seems geared toward high-spectral-efficiency signals
with many (>=8) bits per sample.

Cheers,
Peter Monta



More information about the time-nuts mailing list