[time-nuts] Fury GPSDO servo gain

SAIDJACK at aol.com SAIDJACK at aol.com
Wed Feb 6 18:36:37 EST 2008

Hello Don,
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 
can  do.
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 states 150 for a +-2v EFC. Several  index points 
referenced to Hz/volt would help save a lot of experimentation.  

Don J.

**************Biggest Grammy Award surprises of all time on AOL Music.     

More information about the time-nuts mailing list