[time-nuts] CW12-TIM vs M12M and the world

Ulrich Bangert df6jb at ulrich-bangert.de
Sun Apr 1 11:42:20 UTC 2012


Hello Ernie,

please allow me to correct your use of my first name. It is "Ulrich" and not
"Ulbrich". I attach great importance to this difference because a certain
Walter Ulbricht was one of the leading politicians in the communist terror
regime of the former so called "German Democratic Republic" and I do not
want my name to sound even similar to his one.

> Understand that the key point is the PLL or the phase 
> comparator circuit.........if you want to build you own GPS-DO.....

As far as I remember I had understood this when I started my DIY GPSDO
project. If you have not read about it yet take it as an indication that I
did not want to publish it. Nevertheless you can see some pictures of it in
the photo gallery

http://www.ulrich-bangert.de/html/photo_gallery_1.html

of my homepage.  

> can you please be a more specific.... namely to show 
> us the pre filter and other circuit....if you do not mind.

The Pll as well as the pre filter is SOFTWARE and not hardware as your
question may imply. Again I have to use the P-word because the software was
written in PASCAL. The pre filter and the PLL part reads like:

procedure ComputePreFilter;
begin;
  PrefilterValue:=PrefilterValue*PreFilterTimeconstant
                 +PhaseDelay*(1-PrefilterTimeConstant);
  Str(PreFilterValue,PreFilterValue_S);
end;

procedure DoPll;
var count:integer;
    flag:boolean;
    sum:Extended;
begin;
  if DoPrefilter then PllPhaseValue:=PrefilterValue else
PllPhaseValue:=PhaseDelay;
  TimeConstant:=Sqr(NaturalTimeConstant)*(KDet*KVco);
  If NeueZeitKonstante then
  begin;
    NeueZeitKonstante:=False;
    Sum:=PropValue+IntegralValue;
    PropFactor:=2.0*StabilityFactor/Sqrt(KDet*KVco*TimeConstant);
    PropValue:=PropFactor*PLLPhaseValue*1.0E-9*KDet;
    IntegralValue:=Sum-PropValue;
  end;
  PropFactor:=2.0*StabilityFactor/Sqrt(KDet*KVco*TimeConstant);
  PropValue:=PropFactor*PLLPhaseValue*1.0E-9*KDet;
  IntegralValue:=IntegralValue+PllPhaseValue*1.0E-9/TimeConstant*KDet;
  begin;
    TuningWord:=SollTuningWord-(PropValue+Integralvalue)*KVco/PllFactor;
    FiltTuningWord:=(1-0.2)*FiltTuningWord+0.2*TuningWord;
    TuningWord:=FiltTuningWord;
    StoreTuningword:=TuningWord;
    MakeTuningBinary(TuningWord);
    count:=0;
    repeat
      SetFrequency_9852;
      flag:=GetFrequency_9852;
      if flag=false then Inc(DDSRWError);
      inc(count);
    until flag or (count>9);
    str(DDSRWError,DDSRWError_S);
    Strip(DDSRWError_S);
    if count>1    then MessageLog('DDS Read/Write Error');
    if flag=false then ErrorLog('Unable to set DDS frequency');
    StoreM41T56_TW;
  end;
end;

The initialization is: 
    
PreFilterTimeConstant:=1-6/NaturalTimeConstant;

Both procedures are executed once per second. Read "If NeueZeitKonstante
then" as "If the user has set a new PLL time constant then do". If you can
gain a certain understanding for the source then terms like
"SetFrequency_9852;" or "flag:=GetFrequency_9852;" will indicate you that
instead of an analogue steering of the OCXO my project used a AD9852 DDS
circuit to steer the output frequency the digital way. For that reason it
could steer anything from simple xtals to rubidiums and cesiums without the
slightest interaction with the circuitry of the oscillator itself which made
me call the device AOS (Arbitrary Oscillator Synchronizer). 

The "microcontroller" used was a BECK SC12 and you can read more about it
here:

http://www.beck-ipc.com/en/products/index.asp

For a lot of people this may seem a strange choice but beware: If you want
to handle 48 bit tuning words you should take care that your micro/compiler
combination is able to handle 64 bit entities. Before I gained access to the
IAR C compiler for the AVR range of microcontrollers the Turbo Pascal that I
could run on the Beck was the only environment available for me which
featured 64 bit "extended" floating point entities and 64 bit "cardinal"
integer entities.

The phase comparator was a simple TIC with a delay line interpolation to 56
ps resolution in an ALTERA EPF10K10 cpld. This cpld (although specified with
some ns pin to pin delay) had a very fast internal "carry chain" logic
(neccessary for multi byte adders for example) and the carry chain elements
could be used as a fast delay line for the time interpolator.  

> Understand that the key point is the PLL or the phase 
> comparator circuit.........if you want to build you own GPS-DO.....

Among the key points for a good GPSDO are some things that have never been
discussed here, for example how to detect and reject outliers in the phase
measurements. Outliers are anything else then extraordinary and a single
outlier may  push the pll's integrator value into outer space so we MUST
detect them before the can fire up a desaster. Unfortunately detecting
outliers is anything else than trivial and a science of it's own called
"robust statistics" tells us how to do. For that reason be prepared to learn
more than you really want.    

Best regards
Ulrich

> -----Ursprungliche Nachricht-----
> Von: time-nuts-bounces at febo.com 
> [mailto:time-nuts-bounces at febo.com] Im Auftrag von Erno Peres
> Gesendet: Samstag, 31. Marz 2012 15:10
> An: time-nuts at febo.com
> Betreff: Re: [time-nuts] CW12-TIM vs M12M and the world
> 
> 
> 
> Hi Ulbrich,
> 
> Sorry but not everybody a digital and/or a  professional 
> guru... can you please be a more specific.... namely to show 
> us the pre filter and other circuit....if you do not mind. 
> Understand that the key point is the PLL or the phase 
> comparator circuit.........if you want to build you own GPS-DO.....
> 
> Many thanks and best regards,
> 
> Ernie.
> 
> 
> 
> 
> -----Original Message-----
> From: Ulrich Bangert <df6jb at ulrich-bangert.de>
> To: 'Discussion of precise time and frequency measurement' 
> <time-nuts at febo.com>
> Sent: Sat, Mar 31, 2012 2:53 pm
> Subject: Re: [time-nuts] CW12-TIM vs M12M and the world
> 
> 
> Bert,
> sometimes a manual can be a true treasure chest! Just 
> download the PRS-10 anual at 
> http://www.thinksrs.com/downloads/PDFs/Manuals/PRS10m.pdf
> and find starting on page 13 the complete instructions on how 
> to build your wn GPSDO. A basic knowledge of math, 
> programming and control theory is eeded to understand the 
> manual but then: It works. I have constructed my own DIY 
> GPSDO on the base of the information that I have found there, 
> ncluding the pre-filter. Best regards lrich 
> > -----Ursprungliche Nachricht-----
>  Von: time-nuts-bounces at febo.com 
>  [mailto:time-nuts-bounces at febo.com] Im Auftrag von EWKehren at aol.com
>  Gesendet: Samstag, 31. Marz 2012 13:46
>  An: time-nuts at febo.com
>  Betreff: Re: [time-nuts] CW12-TIM vs M12M and the world
>  
>  
>  Ulrich
>  can you tell us more about your pre filter?
>  Thank you
>  Bert Kehren
>   
>   
>  In a message dated 3/31/2012 6:23:49 A.M. Eastern Daylight Time,  
>  df6jb at ulrich-bangert.de writes:
>  
>  Thomas,
>  
>  > Has anyone compared the M12M to the  M12+?
>  
>  I have done some measurements on the M12+ with typical 
>  results as  shown in
>  
>  http://www.ulrich-bangert.de/M12Performance.jpg
>  
>  The red  line is the raw phase data of the M12's PPS against 
>  a PPS derived from a  local FRK-L rubidium. Note that you do 
>  not observe an overall difference  frequency (and a resulting 
>  drift in phase) because the FRK-L is disciplined  by the GPS. 
>  The blue line is the sawtooth corrected phase data and it  
>  becomes immediatly clear HOW IMPORTANT applying the 
>  correction is. The  yellow line show you what happens if the 
>  sawtooth corrected phase data is  sent through a pre-filter 
>  (lowpass with 1/3 the time constant of the  
>  main
>  pll loop) before entering the loop itself. That is something 
>  that I  learned from the PRS-10 manual. You may decide on 
>  your own which data you  would 
>  like
>  to work on in a GPSDO.
>  
>  Best regards
>  Ulrich Bangert  
>  
>  > -----Ursprungliche Nachricht-----
>  > Von:  time-nuts-bounces at febo.com
>  > [mailto:time-nuts-bounces at febo.com] Im  Auftrag von Tom 
> Knox  > Gesendet: Freitag, 30. Marz 2012 22:19  >  An: 
> Time-Nuts  > Betreff: Re: [time-nuts] CW12-TIM vs M12M and 
> the  world  > 
>  > 
>  > 
>  > Has anyone compared the M12M to the  M12+?
>  > Thanks for all the input, it is really appreciated.
>  > best  wishes;
>  > Thomas Knox
>  > 
>  > 
>  > 
>  > > CC:  time-nuts at febo.com
>  > > From: saidjack at aol.com
>  > > Date: Fri,  30 Mar 2012 09:53:17 -0700
>  > > To: time-nuts at febo.com
>  > >  Subject: Re: [time-nuts] CW12-TIM vs M12M and the world
>  > > 
>  >  > Hello Ed, Azelio,
>  > > 
>  > > We should also compare the  same parameters. Sawtooth 
> error  > of the m12+  > > of +/-25ns  is not its standard 
> deviation, it's max/min.  > Compare that  >  > number to your 
> 30ns max/min measurement on the 5372a.  > >  
>  > > Standard deviation of the m12+ is around 2ns with 
>  correction.  That
>  > > needs to be compared to the 5ns you measure on the 5372a 
>  as  that is 
>  > > the best performance you will get from the CW12. Yes the  
>  > uncorrected
>  > > 1pps of the m12 is worse, but it is  designed to be used 
> with  > > correction. So in the end the m12m  still performs better 
>  than the 
>  > > CW12.
>  > > 
>  > >  Bye,
>  > > Said
>  > > 
>  > > Sent From iPhone
>  >  >
>  > > On Mar 29, 2012, at 1:56, Azelio Boriani  
>  <azelio.boriani at screen.it>
>  > > wrote:
>  > > 
>  >  > > We (that is my company) use the CW12-TIM (NMEA 
> version)  > and  its PPS 
>  > > > wonders as usual, nothing different from a uBlox  
> LEA-5T  > or the M12M.  > > > 
>  > > > On Thu, Mar  29, 2012 at 9:32 AM, Hal Murray
>  > > >  <hmurray at megapathdsl.net> wrote:
>  > > > 
>  > >  >>
>  > > >>>> The sawtooth error on the Motorola  M12+ is about 
> +/-  > 25ns, while  > > >>>> the  CW12-TIM has a sawtooth 
> error of +/- 2 ns, so  > correcting for  >  > >>>> the 
> sawtooth error is not as critical with the  CW12-TIM.  > > >> 
>  > > >>> The first  claim
>  > > >>>> The sawtooth error on the Motorola M12+ is  about 
> +/- 25ns  > > >>> is correct but are you absolutely  sure that the 
>  second claim is
>  > > >>> correct  too?????
>  > > >> 
>  > > >>> It would mean a  factor >10 improvement of the 
> CW12-TIM  > against the  > >  >>> M12  > > >> which  > > >>> 
> is  hardly believeable.  > > >> 
>  > > >> The 25 ns  probably comes from period of the the free
>  > running clock
>  >  > >> they are using.  It doesn't seem unreasonable to me 
>  to get  10x 
>  > > >> better if they use a GPSDO for the local clock so  
> they  > can get the  > > >> PPS edge right where they  want 
> it.  > > >> 
>  > > >> 
>  > > >>  
>  > > >> --
>  > > >> These are my opinions, not  necessarily my 
> employer's.  I  > hate spam.  > > >>  
>  > > >> 
>  > > >> 
>  > > >> 
>  >  > >> _______________________________________________
>  > >  >> time-nuts mailing list -- time-nuts at febo.com
>  > > >> To  unsubscribe, go to
>  > > >>  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  > > >>  and follow the instructions there.
>  > > >> 
>  > > >  _______________________________________________
>  > > > time-nuts  mailing list -- time-nuts at febo.com
>  > > > To unsubscribe, go to
>  > > >  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  > > > and  follow the instructions there.
>  > > 
>  > >  _______________________________________________
>  > > time-nuts mailing  list -- time-nuts at febo.com
>  > > To unsubscribe, go to
>  > >  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  > > and  follow the instructions there.
>  >           
>  >  _______________________________________________
>  > time-nuts mailing list  -- time-nuts at febo.com
>  > To unsubscribe, go to
>  >  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  > and follow the  instructions  there.
>  
>  
>  _______________________________________________
>  time-nuts  mailing list -- time-nuts at febo.com
>  To unsubscribe, go to  
>  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  and follow the  instructions there.
>  
>  _______________________________________________
>  time-nuts mailing list -- time-nuts at febo.com
>  To unsubscribe, go to 
>  https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>  and follow the instructions there.
> 
> ______________________________________________
> ime-nuts mailing list -- time-nuts at febo.com
> o unsubscribe, go to 
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> nd follow the instructions there.
> 
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to 
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.




More information about the time-nuts mailing list