So a project began. The goal was to produce an inexpensive, but highly accurate, frequency standard by synchronizing a local crystal (or Rb) oscillator to the GPS atomic clocks. The project was started in the Spring of 1997 and a prototype was designed and operating in the late Fall of that year. Several months of experimentation and testing resulted in a design that produces a frequency accuracy better than one part in 10 to the 11. The cost of the device, exclusive of a commercial GPS receiver and a local oscillator, is less than $75.
Synchronization is accomplished by measuring the phase difference between the local oscillator and the 1 pulse-per-second timing signals from a commercial GPS receiver. The circuit computes and generates a control voltage that varies the frequency of the local oscillator so as to keep the phase difference constant -- a phase-locked loop.
The main challenges of the design result from (1) the large discrepancy in frequency between the local oscillator (typically 5 MHz) and the 1 PPS GPS signals, (2) the need to suppress the random jitter in the timing of the GPS signals (SA) purposely introduced by the DoD (note: early in 2000 the DoD discontinued this purposeful degradation of the GPS signals and the accuracy of the frequency standard improved considerably), and (3) the requirement that the controller be adaptable to oscillators with widely different stabilities.
The project has been described in an article that appears in the July '98 issue of the amateur radio journal, QST. Most of the information presented here is the result of ongoing experimentation and testing that was done after the article was submitted. .
Important Information for Builders of the Controller
A nice printed circuit board ($21.50)
is available from A & A Engineering, Anaheim, CA (714) 952-2114, their
webpage has ordering information and
a photo of the PCB.
![]()
Construction and Setup Notes (last revised June 11, 2001): Notes
Some Questions and Answers (last revised June 11, 2001): Q&A
PC software to convert the controller's ASCII output for easy plotting with a spreadsheet,
including the source code and some hints, courtesy of Gary Sanders, WB0BZR, gsanders1@bigfoot.com:
gpslog.zip
(62 Kbytes). An updated version handles both PIC code vsn 1.29 and 1.33 output formats
gpslog3.zip (12 Kbytes) . Download both
files if you don't have the instructions included in the original version.
The PIC source code for a single chip frequency divider that takes a 10 MHz input and
produces 9 square wave outputs - one for each frequency decade from 100 kHz
to 0.001 Hz (1000 s period), courtesy of Tom Van Baak, tvb@leapsecond.com: PIC16C84 frequency divider code (zip format, 4 K bytes)
To see an application of the gps frequency standard and some photos of beautiful
units built by Richard Ewing (KO7N) and Jimmy Oldaker (W7CQ)
look at their EME webpage.
![]()
Another fine example of a completed gps frequency standard can be found at the
G3RUH webpage of James Miller.
In addition to photos of the handsome unit James constructed he provides a very useful
manual (63kb).
James took an HP Z3801A gps-disciplined standard (often available on eBay) and discarded
everything but the high quality ovenized 10 MHz HP10811 crystal oscillator unit and the power supply
module. He then built his frequency standard using a Rockwell 12-channel gps receiver and the PIC-based
controller described here. The G3RUH webpage also describes many of James projects and articles, including his
famous and widely duplicated G3RUH 9600 baud Packet Radio Modem.
Below is a picture of the controller together with a GPS antenna and, in the background, a 20 year old HP frequency standard that is locked to the GPS atomic clocks by the controller. The result is a frequency standard that is perhaps 1000 times more accurate than when HP manufactured it.
The digital meter on the front panel of the controller shows the voltage that is being applied to the oscillator in the HP 5328 to discipline it on to the frequency of the GPS atomic standards. The controller also provides an ASCII data stream that can be monitored and recorded to watch the operation of the system.
The graph below highlights one of the challenges mentioned above - the
jitter in gps timing.
The data for the plot were collected from the ASCII port of the controller
using it only as a phase meter. The controller inputs were the 1 pps timing
ticks from a Motorola Oncore gps receiver and the 10 MHz signal from a
Efratom FRK-L Rubidium frequency standard. Each dot represents the time
(phase) difference between the two signals averaged over 30 seconds. The
rms jitter is 36 nanoseconds (ns) and excursions of 100 ns or more are
evident. If we force our local oscillator to follow these short-term gps
phase fluctuations its potential frequency accuracy will be greatly reduced.
Averaging over a longer period than 30 s helps somewhat (the solid line on the graph is an exponential average of the 30-sec data over about 15 minutes), but large phase fluctuations lasting more than an hour are still evident. The origin of these long term variations is unknown (to me). They may be due partly to errors in the orbital periods of the gps satellites, transitions from one satellite to the next as they pass in and out of view, receiver time scale adjustments, and ionospheric effects. The residual shorter term fluctuations are probably due to SA (note: these data was taken before SA was turned off).
Whatever the cause of the jitter, a long integration time is needed to reduce it. My controller has switches that allow the user to select any of 7 filtering time constants - from a few minutes up to many hours. The longest times are probably only suitable for disciplining a very stable oscillator, such a Rb standard or a quartz crystal in a double oven.
The filter in the controller is an active second-order PI type, implemented as a 40-bit digital IIR filter programmed into an 8-bit PIC microprocessor (just in case you wanted to know). Much of the design time I devoted to this project was spent creating the software.
In addition to the microprocessor, the controller contains a few other IC's to measure the phase and to generate the control voltage. The phase-measuring circuit uses a 24 MHz xtal chip, a 16-bit binary counter, and a shift register. Its measurement accuracy is about 3 ns for a 30 sec averaging time. An 18-bit DAC generates the feedback control voltage under command of the CPU. The IC's are all available from DigiKey and other sources. A programmed PIC is available from the author (or you can program your own with my binary code file). A PC board ($21.50) is available from A & A Engineering, Anaheim, CA (714) 952-2114, their webpage has ordering information and a photo.
To see a closeup of
the prototype controller circuit board, click here (size is about 2.5"
by 5):" circuit board
(84K bytes)
To see the Rb frequency
standard I used, click here: Rb
freq. standard (32K bytes)
Some results: GPS control of an inexpensive surplus Crystal Frequency Standard
This graph shows the control voltage that was applied by the controller
to lock an Austron 1250A crystal frequency standard to the frequency of
the
GPS atomic standards (for convenience, I have converted the steering voltage
to frequency units). The surplus 1250A had been sealed in its original
packing since it was manufactured in 1987. The 50 hour graph shows that
the correction needed becomes more and more negative as the 1250A tries
to drift upward in frequency. Fortunately, the drift rate seems to be decreasing
and there are no discontinuous jumps in the oscillator frequency. To see
an expanded graph that shows the GPS jitter more clearly, click on the
50 hour plot. The filter algorithm in the controller has reduced the jitter
from 36 ns to about 1 ns rms. The residual 1 ns jitter produces the spurious
short-term frequency corrections of a few parts in 10 to the 11 that are
evident in the expanded plot. As the crystal stabilizes, a longer filter
time constant can be selected and the jitter will be reduced even further.
An Interesting Sidelight: Aging of a quartz oscillator
After the data for the graph above was obtained, I continued to record
the ASCII output from the controller to see how the Austron 1250A frequency
changed as time passed. The graph below shows the frequency change that
that occured over a period of about 11 days.
The total change was about 7 parts in 10 to the 9th. If the aging is due
to a single process, like desorption of gases from the surface of the quartz,
then we might expect the aging to behave logarithmically, like a first-order
chemical reaction. To check this idea, I fitted the data with a log function:
delta F = K log(1+ t/T), where t is time, and K and T are parameters adjusted
to fit the data. The result was MUCH better than I expected. The graph
shows the residuals from the fit (the difference between the data and fit)
and they are negligible. Since the fit was so good, I became more bold
and used the fitted model to predict the aging rate that we can expect
for the next year. This is a long time to extrapolate but the fit was so
good I couldn't resist. The prediction says that after a year the aging
should be less than 1 part in 10 to the 11th in a 24 hour period (to see
the prediction, CLICK ON THE AGING PLOT). Frankly, I doubt if it will get
this good. We'll see.
Update: after 3 weeks (June 15, '98) the aging of the Austron 1250A is still following the logarithmic prediction with essentially negligble residuals. I find this rather astounding. Click here to see the latest plot AgingAfterThreeWeeks The curves on the graph have the same labels as the one above.
Further update (Feb. '99): The current aging rate is 6 parts in 10 to the 12th in a 24 hour period. This is somewhat BETTER than the prediction that was made 8 months earlier and was consider to be optimistic!
More to come...
The binary software for
the controller's PIC 16C73 microprocessor (version 1.29):
gpscntrl.zip
(3 K bytes)
The LATEST version of the binary software for
the controller's PIC 16C73 microprocessor (version 1.33):
gpscntrl_133.zip
(3 K bytes)
I have received numerous requests for reprints of the QST article
from folks that that do not have access to QST.
To satisfy this need I have put an Acrobat PDF-format file of the article here
QST_GPS.pdf
(796 Kbytes)
If you find these results interesting and have comments or questions you can contact the author, Brooks Shera, W5OJM, at shera@rt66.com . I would be happy to hear from you.
Last revised November 21, 2006