[time-nuts] Framework for simulation of oscillators

Magnus Danielson magnus at rubidium.se
Sun Mar 20 21:33:15 UTC 2016


Ulrich and Attila,

As you read the appendixes of ITU-T Rec. G.823, G.824 and G.825 they 
will not give very detailed information, but hints. The flicker noise 
model comes from Jim Barnes and Chuck Greenhalls PTTI 19 article "Large 
Sample Simulation of Flicker Noise". Be aware of Chuck's follow-up 
correction. Further, they model the amount of noise and add into the 
loop in place of the oscillator, which then has a normal PI-loop. Such a 
simulation can be done fairly efficiently considering that the 
oscillator and loop is very simple linear models of phase, not too 
different to what I proposed. For the stuff that Attila needs to 
simulate, some additional thought needs to go into how to simulate the 
effect he is seeing, but a fairly simple approach should be interesting 
to try out initially.

The Barnes&Greenhall flicker generator builds on a filter-bank where the 
poles and nulls is placed such that they approximate the flicker noise 
slope of 1/tau. This is a generalized variant of Jim Barnes PhD work 
where he had fixed relations and where Chuck Greenhall have contributed 
significantly by providing means to setup the state of the filter such 
that the filter will act as a filter in equilibrium from start, rather 
than taking much time to converge, something which may introduce a bias 
into the measurement results. I have re-implemented their BASIC-code 
into C and run Chuck's original code along-side to verify (just to find 
where I did my mistake in converting it).

If this simulation approach is sufficient for either of your efforts, or 
not, depends on what you try to capture. For instance, the oscillators 
performance have been idealized in assuming fully linear EFC, fully 
linear integrator of the crystal, assuming noise profile etc. This may 
or may not be sufficient. Inherent lowpass filtering may be important or 
not.

I've done PLL simulations many times, in fixed integer, in floating 
point and in VHDL. It's always a challenge to model it right to the needs.

Let me also have reader of this thread reminded of TvB's simulator for a 
GPSDO, which is interesting as it adds real GPS PPS data and real open 
loop oscillator data with a simple PLL oscillator core you can then 
tweak. Great fun in all it's simplicity and nice way to do reality 
check. I've done similar things with about the same code amount that 
have proved very useful.

However, recall that whenever you make a model, you do it with 
assumptions for your particular problem, so some stuff will be left out 
and some will be particular to your problem. One guys model may be crap 
to another ones problem. There is a few tricks to be learned and a few 
things to recall to include.

Cheers,
Magnus

On 03/20/2016 09:19 PM, KA2WEU at aol.com wrote:
> I am interested in this topic too, thanks, Ulrich
> In a message dated 3/20/2016 4:10:12 P.M. Eastern Daylight Time,
> magnus at rubidium.dyndns.org writes:
>
>     Attila,
>
>     On 03/17/2016 10:56 AM, Attila Kinali wrote:
>      > Moin,
>      >
>      > Measurement we recently did showed some quite unexpected behaviour
>      > and I am trying to figure out where this comes from. For this
>      > I would like to simulate our system, which consists of multiple
>      > crystal oscillators that are coupled in a non-linear way (kind of
>      > a vector-PLL with a step transfer function) with a "loop bandwidth"
>      > of a few 10kHz.
>      >
>      > My goal is to simulate the noise properties of the crystal
>     oscillators
>      > both short term (in the 10us range) and long term (several 1000
>     seconds)
>      > in a way that models reality closely (ie short term instability
>     is uncorrelated
>      > while long term instability is correlated through temp/humidity/...)
>      >
>      > As I am pretty sure not the first one to attempt something like this,
>      > I would like to ask whether someone has already some software
>     framework
>      > around for this kind of simulation?
>      >
>      > If not, does someone have pointers how to write realistic
>     oscillator models
>      > for this kind of short and long term simulation?
>
>     It is a large field that you tries to cover. What you need to do is
>     actually find the model that models the behavior of your physical setup.
>
>     You need to have white and flicker noises, there is a few ways to get
>     the flicker coloring. I did some hacking of the setup, and ran tests
>     against Chuck Greenhalls original BASIC code.
>
>     You probably want a systematic effect model of phase, frequency and
>     drift. Also a cubic frequency vs. temperature. All the properties needs
>     to be different for each instance. Similarly, the flicker filter needs
>     to be independent for each oscillator.
>
>     Similar enough things have been tried when simulating the jitter and
>     wander in the G.823-825 specs.
>
>     An aspect you need to include is the filtering properties of the EFC
>     input, it acts like a low-pass filter, and the Q of the resonator is
>     another catch-point.
>
>     I wonder how complex model you need to build before you have catched
>     the
>     characteristics you are after.
>
>     The EFC measures you have done so far indicate that your steering
>     essentially operates as if you do where doing something similar to
>     charge-pump operation.
>
>     Cheers,
>     Magnus
>     _______________________________________________
>     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_lists.febo.com mailing list