[time-nuts] Fury GPSDO servo gain
SAIDJACK at aol.com
SAIDJACK at aol.com
Wed Feb 6 18:36:37 EST 2008
glad that you are getting the unit to work for you.
We have tested the unit with many OCXO's, most of which have between +/-20Hz
to +/-40Hz deviation, so have much less variance from unit to unit than the
large number of oscillators that are un-doubtfully in the hands of the time
One problem is that the unit-to-unit variance of the Hz/Vtune for the same
exact OCXO model is quite high. For a typical oscillator that we use this
specification ranges from 1.2ppm to 4ppm, that's almost a range of 4 to 1
unit-to-unit on the same part number!
Getting good gain numbers also depends on the stability of the oscillator,
with less stable oscillators requiring higher gain settings than more stable
So a universal gain number that works for all oscillators with the same
Hz/Volt slope is not possible. [One comment on the 10811's: the best way to use
these is to mechanically tune these to have a "natural" control voltage of
+2.5V. The Fury can do +/-2.5V adjustments in this case, with 2.5V average]
Please keep in mind that the DACGain value is not one that we would expect
the user to vary dynamically. We would expect the user to set this value once
into a ballpark figure based on the table, then vary the EFCScale and
PHASECOMP values to establish the best loop performance.
An equation that can be used to understand how the control voltage is
calculated is (very!) roughly this (excluding Tempco and Aging compensation):
ControlVoltage = DACGain * [(EFCScale * OffsetError) +
(Integral[Phasecomp * OffsetError])]
This is very similar to a traditional PI control loop.
In our experience the easiest way to establish good working parameters for a
given OCXO is:
1) Set Phasecomp to 0.0, that removes the PhaseComp (integral) component
from the equation.
2) set DACGain to an interpolated number from the table
3) set EFCScale to some initial value, around 1.0 to 5.0
4) Wait for the unit to lock
5) Give the loop a jolt by (carefully) turning the OCXO over (2G Tiltover
test), and wait for the unit to lock again. Alternatively, you can also change
the Coarsedac setting by a couple of steps with the SERV:COARSEDAC command,
this is similar to giving the loop a (Dirac pulse) jolt.
6) Using GPSCon, Ulrich Bangert's Plotter, or a similar program to graph the
control voltage, check to see if the unit is under- (ringing) or over-damped
(response is too slow). Adjust EFCscale up or down based on this result. If
the unit oscillates, the EFCScale parameter is too high.
7) Once an acceptable EFCScale value is found, then start adding
Phasecompensation. Start with Phasecomp between 10.0 and 25.0. PhaseCompensation is the
"force" that pushes the UTC offset to 0.0ns. Without it, the unit would
settle in to some arbitrary phase offset from 0ns.
8) If the unit oscillates, reduce the Phasecomp.
With this method it is possible to quickly get an understanding of what
values result in minimum overshoot (if any) and minimum ringing.
What we are hoping is that the Time Nuts users will share their experiences
and post Parameters that worked for them here on this forum since all of you
can do many more and much more varied experiments and investigations than we
In summary, setting the three values DACGain, EFCScale, and PHASECOMP does
take some time, and depends on:
* the OCXO's Hz/Vtune sensitivity
* the OCXO's aging rate
* the OCXO's thermal stability
* the OCXO Vtune Hysterisis
and other parameters, so it's as much an art-form as a science to get the
absolute best parameters. We hope that as many users as possible can share
their settings and experiences here, and the example values we give hopefully
will result in a users' unit to lock well so that experimentation can begin.
Hope this helps,
In a message dated 2/6/2008 13:38:29 Pacific Standard Time,
true-cal at swbell.net writes:
This request is primarily directed to Said concerning the Fury OEM board
that several of us bought a few months back. I have been working with the board
and trying several different OCXOs. Is there a table or graph that would help
determine the SERVO:DATG index if the Hz/volt slope of the oscillator is
known. The simple table in the Users Manual (rev. 1.4) that lists four
different data points is a start but it is very difficult to interpolate intermediate
points. Additionally, the Max Frequency Deviation for the oscillator is a
bit ambiguous since some are based on -5v to +5V (10811) and others just 0v to
+5 (MTI). The table lists an index of 250.0 for the 10811 @ 2Hz (-5v to +5v)
but Paragraph 188.8.131.52 states 150 for a +-2v EFC. Several index points
referenced to Hz/volt would help save a lot of experimentation.
**************Biggest Grammy Award surprises of all time on AOL Music.
More information about the time-nuts