Discussion:
[time-nuts] Question about noisetypes and ADEV
Ole Petter Ronningen
2018-10-26 09:34:41 UTC
Permalink
Hi, all

I'm simulating some noise to try to improve my somewhat sketchy
understanding of what goes on with the various noise types as shown on an
ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers between 0
and 1 in excel, imported into Timelab as phase data, scaled to ns.

I mostly get what I expect; "pure" random noise, gives the expected slope
for W/F PM, -1. Integrating the same random data gives the expected slope
for W FM -1/2. Integrating the same random data yet again gives a slope
of +1/2, again as expected for RW FM.

However, looking at the data, I am somewhat baffled by a difference in the
starting point of the slopes. Given that this is exactly the same random
sequence, I would expect the curves to have the same startingpoint at
tau0.. Clearly not (see attached), but I do not understand why. Any clues?

Is this some elemental effect of integration (sqrt(n) or some such), or am
I seeing the effects of bandwidth and/or bias-functions or other esoterica?

In case the screenshot does not make it though;
W PM starts at 1.69e-9
W FM starts at 9.74e-10
RW FM starts at 6.92e-10

Thanks for any help!
Ole
Attila Kinali
2018-10-26 09:50:35 UTC
Permalink
Hej Ole,

On Fri, 26 Oct 2018 11:34:41 +0200
Ole Petter Ronningen <***@gmail.com> wrote:

> I'm simulating some noise to try to improve my somewhat sketchy
> understanding of what goes on with the various noise types as shown on an
> ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers between 0
> and 1 in excel, imported into Timelab as phase data, scaled to ns.
>
> I mostly get what I expect; "pure" random noise, gives the expected slope
> for W/F PM, -1. Integrating the same random data gives the expected slope
> for W FM -1/2. Integrating the same random data yet again gives a slope
> of +1/2, again as expected for RW FM.

I see two issues here: If your random numbers are indeed between 0 and 1,
as you write, then they are uniformly distributed, and not normally
distributed. This will give you a slight bias when integrating.

The other issue is the integration itself. Because you do a nummerical
integration at discrete time steps, you will get a slight offset.
This is something I stumbled over as well. I probably need to sit
down once, and figure out how big that offset should be and compare
it to what the numerical integration shows. The people here who are
more knowledgable than me about nummerical computation should be able to
give you a better answer.


Attila Kinali
--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neal Stephenson

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Ole Petter Ronningen
2018-10-26 11:42:06 UTC
Permalink
Hi, Attila

> I see two issues here: If your random numbers are indeed between 0 and 1,
> as you write, then they are uniformly distributed, and not normally
> distributed. This will give you a slight bias when integrating.
>

You are correct, my statement was imprecise - I generate numbers between 0
and 1, but then multiply that with a function in Excel that yields a normal
distribution with a standard distribution of 1.


> The other issue is the integration itself. Because you do a nummerical
> integration at discrete time steps, you will get a slight offset.
>

I suspect the issue may be this - but I do not immediately see how..

Ole
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-27 21:43:33 UTC
Permalink
On 10/26/18 1:42 PM, Ole Petter Ronningen wrote:
> Hi, Attila
>
>> I see two issues here: If your random numbers are indeed between 0 and 1,
>> as you write, then they are uniformly distributed, and not normally
>> distributed. This will give you a slight bias when integrating.
>>
>
> You are correct, my statement was imprecise - I generate numbers between 0
> and 1, but then multiply that with a function in Excel that yields a normal
> distribution with a standard distribution of 1.

1/sqrt(12) will be the power of uniform distribution so multiply with
sqrt(12) will do the the trick to get standard distribution of 1 from
uniform distribution. It will however not produce normal distribution.

A simple trick to transform uniform distribution to normal distribution
like shape is to take 12 samples and add them together. A special trick
is to take them pair-wise and subtract them and then add 6 differences,
to avoid DC bias of typical uniform distribution generation (as typical
pseudo-noise generators does not have all 0 state in them). The result
of this subtract-add trick is a normal distribution like thing with the
standard distribution of 1. More or fewer sample-pairs can be added if
the product is scaled appropriately.

The Box-Mueller algorithm is another way to convert uniform distribution
to normal distribution.

However, for ADEV processing, the uniform of normal distribution is not
important to the expected value of ADEV, but to the confidence
intervals. For larger number of samples this becomes less of an issue
and the slopes of the noise dominates.

>> The other issue is the integration itself. Because you do a nummerical
>> integration at discrete time steps, you will get a slight offset.
>>
>
> I suspect the issue may be this - but I do not immediately see how..

See my previous post.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-27 21:33:18 UTC
Permalink
Hej Attila,

On 10/26/18 11:50 AM, Attila Kinali wrote:
> Hej Ole,
>
> On Fri, 26 Oct 2018 11:34:41 +0200
> Ole Petter Ronningen <***@gmail.com> wrote:
>
>> I'm simulating some noise to try to improve my somewhat sketchy
>> understanding of what goes on with the various noise types as shown on an
>> ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers between 0
>> and 1 in excel, imported into Timelab as phase data, scaled to ns.
>>
>> I mostly get what I expect; "pure" random noise, gives the expected slope
>> for W/F PM, -1. Integrating the same random data gives the expected slope
>> for W FM -1/2. Integrating the same random data yet again gives a slope
>> of +1/2, again as expected for RW FM.
>
> I see two issues here: If your random numbers are indeed between 0 and 1,
> as you write, then they are uniformly distributed, and not normally
> distributed. This will give you a slight bias when integrating.

Yes and no. It will not be relevant for ADEV values, but it will be
relevant for the ADEV confidence intervals.

> The other issue is the integration itself. Because you do a nummerical
> integration at discrete time steps, you will get a slight offset.
> This is something I stumbled over as well. I probably need to sit
> down once, and figure out how big that offset should be and compare
> it to what the numerical integration shows. The people here who are
> more knowledgable than me about nummerical computation should be able to
> give you a better answer.

It's very simple. Integration in continuous time and in discrete time
has somewhat different properties. I'm surprised that a stupid boy like
me needs to point out to professional when they fluked on the
difference, in peer-reviewed articles even. If you compare continuous
time integration values with discrete time values you can expect a
difference, as the devil is in the details.

Now, to make it clear, ADEV is actually a discrete time measure, which
we can approximate continuous time processes and behaviors with.

Numerical integration is really not as such a bias-generating thing. You
can end up with a scale error, so due care needs to be taken, but that
ends up being fairly obvious once you think about things.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Andy Backus
2018-10-27 21:48:28 UTC
Permalink
For those still interested in GPS to WWVB simulation -- after trying a few antenna designs I found that a 50-foot loop of #26 enameled wire stapled to the rafters in the basement works quite well. Putting 35 ma (rms) of 60 kHz WWVB signal through it lights up the house quite nicely. I don't know yet if it also lights up the neighbor's house. I think I will investigate that question when (and if) they pull the plug in Colorado. But I am prepared.


Not so much for my La Crosse Technology WWVB BPSK clock. I think it will get swamped out. Can't have everything, I guess.


Andy Backus
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
paul swed
2018-10-27 23:01:10 UTC
Permalink
Andy pretty much what I did also. A loop in the basement as suggested by a
time-nut.
Radiations quite low depending on the floor of the house and walls its
100uv to 30 uv.
Did resonate it with a cap that seemed to improve things. But no matter it
works for what I need and the clocks are happy.
I leave the simulator on all of the time now as no matter the time of the
day or battery change the clocks lock in the 3 or so minutes.
Since I don't own an official lacrosse no issue here though perhaps mid
January I will pick one up cheap... Chuckle.
If I do I guess l'll have to build a BPSK version. Oh hang on there thats
what the de-psk-r is. Just add 60 KHz. Actually depending on the clocks
cost as they get dropped maybe not a bad idea. Have fun with your system.
Regards
Paul
WB8TSL

On Sat, Oct 27, 2018 at 6:04 PM Andy Backus <***@msn.com> wrote:

> For those still interested in GPS to WWVB simulation -- after trying a few
> antenna designs I found that a 50-foot loop of #26 enameled wire stapled to
> the rafters in the basement works quite well. Putting 35 ma (rms) of 60
> kHz WWVB signal through it lights up the house quite nicely. I don't know
> yet if it also lights up the neighbor's house. I think I will investigate
> that question when (and if) they pull the plug in Colorado. But I am
> prepared.
>
>
> Not so much for my La Crosse Technology WWVB BPSK clock. I think it will
> get swamped out. Can't have everything, I guess.
>
>
> Andy Backus
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Andy Backus
2018-10-28 00:11:06 UTC
Permalink
I should have credited the loop idea as you did, Paul. I don't know who it was, but thank you.


I would leave my translator on all the time if it weren't for my La Crosse -- whose reception would be ruined.


In my system, BTW, a resonant tank precedes a FET amplifier, which provides the antenna current. I have found, as others have, that the frequency must be good to several Hertz. So I use a crystal controlled CMOS gate oscillator to generate the RF.


Andy Backus

WA2TND


________________________________
From: time-nuts <time-nuts-***@lists.febo.com> on behalf of paul swed <***@gmail.com>
Sent: Saturday, October 27, 2018 4:01 PM
To: Time-nuts
Subject: Re: [time-nuts] WWVB Translation

Andy pretty much what I did also. A loop in the basement as suggested by a
time-nut.
Radiations quite low depending on the floor of the house and walls its
100uv to 30 uv.
Did resonate it with a cap that seemed to improve things. But no matter it
works for what I need and the clocks are happy.
I leave the simulator on all of the time now as no matter the time of the
day or battery change the clocks lock in the 3 or so minutes.
Since I don't own an official lacrosse no issue here though perhaps mid
January I will pick one up cheap... Chuckle.
If I do I guess l'll have to build a BPSK version. Oh hang on there thats
what the de-psk-r is. Just add 60 KHz. Actually depending on the clocks
cost as they get dropped maybe not a bad idea. Have fun with your system.
Regards
Paul
WB8TSL

On Sat, Oct 27, 2018 at 6:04 PM Andy Backus <***@msn.com> wrote:

> For those still interested in GPS to WWVB simulation -- after trying a few
> antenna designs I found that a 50-foot loop of #26 enameled wire stapled to
> the rafters in the basement works quite well. Putting 35 ma (rms) of 60
> kHz WWVB signal through it lights up the house quite nicely. I don't know
> yet if it also lights up the neighbor's house. I think I will investigate
> that question when (and if) they pull the plug in Colorado. But I am
> prepared.
>
>
> Not so much for my La Crosse Technology WWVB BPSK clock. I think it will
> get swamped out. Can't have everything, I guess.
>
>
> Andy Backus
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
time-nuts Info Page - lists.febo.com<http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com>
lists.febo.com
time-nuts is a low volume, high SNR list for the discussion of precise time and frequency measurement and related topics. To see the collection of prior postings to the list, visit the time-nuts Archives.. Using time-nuts



> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
paul swed
2018-10-28 01:53:41 UTC
Permalink
Andy agreed I wrote about the requirements for stability when I built mine
up.
I did not need to add a amplifier I simply attenuated the output of the
tristate gate to get to the 1000uv level then filtered and split to 6
outputs. One drives the antenna the others drive coax's to truetime and
symetricom clocks. They really look nice. Silly but what the heck.
I agree if I need more power a FET stage is the way to go. Just don't so
far.
Hmmm maybe mid next year I can build a 100 watt amp to cover our town. Not
really. The antenna would be quite a challenge. But I hear I can pick a few
towers up for shipping costs real soon now. Even with matching networks.
Regards
Paul
WB8TSL

On Sat, Oct 27, 2018 at 8:55 PM Andy Backus <***@msn.com> wrote:

> I should have credited the loop idea as you did, Paul. I don't know who
> it was, but thank you.
>
>
> I would leave my translator on all the time if it weren't for my La Crosse
> -- whose reception would be ruined.
>
>
> In my system, BTW, a resonant tank precedes a FET amplifier, which
> provides the antenna current. I have found, as others have, that the
> frequency must be good to several Hertz. So I use a crystal controlled
> CMOS gate oscillator to generate the RF.
>
>
> Andy Backus
>
> WA2TND
>
>
> ________________________________
> From: time-nuts <time-nuts-***@lists.febo.com> on behalf of paul swed
> <***@gmail.com>
> Sent: Saturday, October 27, 2018 4:01 PM
> To: Time-nuts
> Subject: Re: [time-nuts] WWVB Translation
>
> Andy pretty much what I did also. A loop in the basement as suggested by a
> time-nut.
> Radiations quite low depending on the floor of the house and walls its
> 100uv to 30 uv.
> Did resonate it with a cap that seemed to improve things. But no matter it
> works for what I need and the clocks are happy.
> I leave the simulator on all of the time now as no matter the time of the
> day or battery change the clocks lock in the 3 or so minutes.
> Since I don't own an official lacrosse no issue here though perhaps mid
> January I will pick one up cheap... Chuckle.
> If I do I guess l'll have to build a BPSK version. Oh hang on there thats
> what the de-psk-r is. Just add 60 KHz. Actually depending on the clocks
> cost as they get dropped maybe not a bad idea. Have fun with your system.
> Regards
> Paul
> WB8TSL
>
> On Sat, Oct 27, 2018 at 6:04 PM Andy Backus <***@msn.com> wrote:
>
> > For those still interested in GPS to WWVB simulation -- after trying a
> few
> > antenna designs I found that a 50-foot loop of #26 enameled wire stapled
> to
> > the rafters in the basement works quite well. Putting 35 ma (rms) of 60
> > kHz WWVB signal through it lights up the house quite nicely. I don't
> know
> > yet if it also lights up the neighbor's house. I think I will
> investigate
> > that question when (and if) they pull the plug in Colorado. But I am
> > prepared.
> >
> >
> > Not so much for my La Crosse Technology WWVB BPSK clock. I think it will
> > get swamped out. Can't have everything, I guess.
> >
> >
> > Andy Backus
> > _______________________________________________
> > time-nuts mailing list -- time-***@lists.febo.com
> > To unsubscribe, go to
> > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> time-nuts Info Page - lists.febo.com<
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com>
> lists.febo.com
> time-nuts is a low volume, high SNR list for the discussion of precise
> time and frequency measurement and related topics. To see the collection of
> prior postings to the list, visit the time-nuts Archives.. Using time-nuts
>
>
>
> > and follow the instructions there.
> >
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Tom Van Baak
2018-10-26 18:27:43 UTC
Permalink
> In case the screenshot does not make it though;
> W PM starts at 1.69e-9

For this you should expect 1.73 which is sqrt(3). For example:

C:\tvb> rand1 1000000 | adev4 /a 1
rand1 1000000(count) 1(sdev) 0(mean) 1540577979(seed)
** tau from 1 to 1 step 1
1 a 1.732671e+000 999998

> W FM starts at 9.74e-10
> RW FM starts at 6.92e-10

Not sure about those two. Magnus might know.

There could also be subtle issues with your RNG or your algorithms. To double check your work, use the noise gen feature of Stable32. It's very nice. All 5 noise types and more. Consider also using a million points and then clip the last decade or two of the ADEV plot. That helps with the unnatural wiggles on the right. You will always find run to run variation. This is ok. Random is not always textbook random.

See also: http://leapsecond.com/pages/allan/Exploring_Allan_Deviation_v2.pdf

Raw data: http://leapsecond.com/pages/allan/

/tvb


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Tom Van Baak
2018-10-26 19:00:42 UTC
Permalink
Ole,

> I'm simulating some noise to try to improve my somewhat sketchy
> understanding of what goes on with the various noise types as shown on an
> ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers between 0
> and 1 in excel, imported into Timelab as phase data, scaled to ns.

I forgot to mention this page where I use Stable32 and TimeLab to look at all 5 noise types:

http://leapsecond.com/pages/adev-fm/

> You are correct, my statement was imprecise - I generate numbers between 0
> and 1, but then multiply that with a function in Excel that yields a normal
> distribution with a standard distribution of 1.

If you suspect problems with Excel, perhaps try something in Python or C instead.
That also will make it possible to work with millions of points when necessary.
For random numbers I use ancient code by George Marsaglia, and also Mersenne Twister 19937.
To convert uniform [0-1] random to Gaussian I use:

// Get normal (Gaussian) random sample with mean 0 and standard deviation 1
// See https://en.wikipedia.org/wiki/Marsaglia_polar_method
double normal (void)
{
// Use Box-Muller algorithm
double u1 = genrand1();
double u2 = genrand1();
double r = sqrt(-2.0 * log(u1));
double pi = 4 * atan(1);
double theta = 2.0 * pi * u2;
return r * sin(theta);
}

/tvb


_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Ole Petter Ronningen
2018-10-28 07:38:28 UTC
Permalink
Hi, Tom!

I have looked at the pages you link to many times, they really are very
good - my goal here was to get down to the nitty-gritty myself, just
understand the details better.

Regarding possible bias in the Excel RNG, this was my first hunch as well,
but when I repeated the experiment with W PM data generated in Stable32 I
got similar results. The box-muller code goes in my toolbox, though! :)

Thanks
Ole

On Fri, Oct 26, 2018 at 9:02 PM Tom Van Baak <***@leapsecond.com> wrote:

> Ole,
>
> > I'm simulating some noise to try to improve my somewhat sketchy
> > understanding of what goes on with the various noise types as shown on an
> > ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers
> between 0
> > and 1 in excel, imported into Timelab as phase data, scaled to ns.
>
> I forgot to mention this page where I use Stable32 and TimeLab to look at
> all 5 noise types:
>
> http://leapsecond.com/pages/adev-fm/
>
> > You are correct, my statement was imprecise - I generate numbers between
> 0
> > and 1, but then multiply that with a function in Excel that yields a
> normal
> > distribution with a standard distribution of 1.
>
> If you suspect problems with Excel, perhaps try something in Python or C
> instead.
> That also will make it possible to work with millions of points when
> necessary.
> For random numbers I use ancient code by George Marsaglia, and also
> Mersenne Twister 19937.
> To convert uniform [0-1] random to Gaussian I use:
>
> // Get normal (Gaussian) random sample with mean 0 and standard deviation 1
> // See https://en.wikipedia.org/wiki/Marsaglia_polar_method
> double normal (void)
> {
> // Use Box-Muller algorithm
> double u1 = genrand1();
> double u2 = genrand1();
> double r = sqrt(-2.0 * log(u1));
> double pi = 4 * atan(1);
> double theta = 2.0 * pi * u2;
> return r * sin(theta);
> }
>
> /tvb
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-27 21:45:32 UTC
Permalink
Hi Tom,

On 10/26/18 8:27 PM, Tom Van Baak wrote:
>> In case the screenshot does not make it though;
>> W PM starts at 1.69e-9
>
> For this you should expect 1.73 which is sqrt(3). For example:
>
> C:\tvb> rand1 1000000 | adev4 /a 1
> rand1 1000000(count) 1(sdev) 0(mean) 1540577979(seed)
> ** tau from 1 to 1 step 1
> 1 a 1.732671e+000 999998
>
>> W FM starts at 9.74e-10
>> RW FM starts at 6.92e-10
>
> Not sure about those two. Magnus might know.

I hope I was able to answer that in a sufficiently comprehensible manner.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Anders Wallin
2018-10-27 07:08:57 UTC
Permalink
> Is this some elemental effect of integration (sqrt(n) or some such), or am
> I seeing the effects of bandwidth and/or bias-functions or other esoterica?
>

FWIW the python "colorednoise" (aka. Kasdin-Walter) repo has a figure:
https://github.com/aewallin/colorednoise
and code that generates the figure:
https://github.com/aewallin/colorednoise/blob/master/example_noise_slopes.py

there are probably two issues to look at:
1. If you simply integrate with cumsum() the PSDs will cross at a frequency
of 1/(2*pi) (not 1 Hz) (assuming a sample rate of one).
The PSDs will cross at the nyquist frequency if you integrate with x2 =
sqrt(2*pi)*cumsum(x1)
2. the ADEV pre-factors for different noise-types are not the same. If you
want ADEV curves that cross at tau=1 you have to tune the PSDs specifically
for that.
The pre-factors for ADEV are e.g. here:
https://github.com/aewallin/colorednoise/blob/master/colorednoise.py#L69
or ieee-1139: https://ieeexplore.ieee.org/document/4797525
or Dawnkins et al https://ieeexplore.ieee.org/document/4225303

Anders


>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Anders Wallin
2018-10-28 12:14:26 UTC
Permalink
I made a revised figure with a few improvements:
- the PSDs now cross at 1Hz
- the theoretical ADEV/MDEV pre-factors are now explicitly stated
http://www.anderswallin.net/2018/10/noise-colours-again/
source:
https://github.com/aewallin/colorednoise/blob/master/example_noise_slopes2.py

I forget where the MDEV-coefficients come from - maybe the Dawkins et al.
paper? (worth adding to wikipedia also?)
Also for flicker-PM there seems to be (slightly) different versions of the
ADEV pre-factor in different references.

Anders


On Sat, Oct 27, 2018 at 10:08 AM Anders Wallin <***@gmail.com>
wrote:

>
> Is this some elemental effect of integration (sqrt(n) or some such), or am
>> I seeing the effects of bandwidth and/or bias-functions or other
>> esoterica?
>>
>
> FWIW the python "colorednoise" (aka. Kasdin-Walter) repo has a figure:
> https://github.com/aewallin/colorednoise
> and code that generates the figure:
> https://github.com/aewallin/colorednoise/blob/master/example_noise_slopes.py
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Ben Hall
2018-10-28 12:44:06 UTC
Permalink
Good morning all,

Some people may remember the Arduino code I wrote for controlling and
monitoring the TruePosition GPSDO I wrote in mid-2017.

I've updated that code to include a couple of new things:

* now gets the store LAT/LONG/ALT and displays it
* adds an LED that lights up when STAT=0 (locked)
* adds in the ability to command a survey, and monitor the survey

If interested, it can be downloaded here:

<http://www.kd5byb.net/TruePosition/TruePosition_rev_21.zip>

As usual, keep in mind I'm not a professional programmer, the code is
probably full of bugs, errors, and silly things that a profession
programmer would look at and say "what the heck is he doing?" ;)

thanks,
ben

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-28 17:35:47 UTC
Permalink
Hej Anders!

On 10/28/18 1:14 PM, Anders Wallin wrote:
> I made a revised figure with a few improvements:
> - the PSDs now cross at 1Hz
> - the theoretical ADEV/MDEV pre-factors are now explicitly stated
> http://www.anderswallin.net/2018/10/noise-colours-again/
> source:
> https://github.com/aewallin/colorednoise/blob/master/example_noise_slopes2.py

This is a great illustration of what we have been discussing.

Notice that while the phase and frequency power densities neatly cross
at 1 Hz, the Allan Deviation and Modified Allan Deviation does not cross
at 1 s, in fact the cross-point between two noise-types is unique for
that pair, but around the same point.

The scale factors is due to how the details of the integration comes out.

> I forget where the MDEV-coefficients come from - maybe the Dawkins et al.
> paper? (worth adding to wikipedia also?)

Let me dig into that. I did that for ADEV and biases, and there is a
fair amount of copy from someone else, with some minor reformulations.
The biases for instance ended up with a rarely mentioned NIST publication.

> Also for flicker-PM there seems to be (slightly) different versions of the
> ADEV pre-factor in different references.

Yes, I've seen that too. For the Wikipedia I chose the more accurate
one, where as various forms of short-hands have been used. They are all
consistent as I recall it, but the difference is how they express the
value. Some combine the two constants into a single number, where as if
you do the integration you get three numbers, of which one depends on
tau and f_H.

It is worth mentioning that for WPM and FPM the integral does not
converge if allowed to go to infinite frequency, so the integral needs
to stop at the highest frequency f_H. The others do converge for
infinite frequency so the integrals continue to infinity rather than
stopping at f_H. So, the factors is not even created under the same
circumstances. On the other hand, for all practical matters I expect
them to be fairly close.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-27 21:25:30 UTC
Permalink
Hi Ole,

I saw this post and thread, but waited until I had the time to address
it sufficiently, as it is an important topic. As such, I really enjoy
you asking the question as I am sure it will be a relevant question for
many more on this list.

On 10/26/18 11:34 AM, Ole Petter Ronningen wrote:
> Hi, all
>
> I'm simulating some noise to try to improve my somewhat sketchy
> understanding of what goes on with the various noise types as shown on an
> ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers between 0
> and 1 in excel, imported into Timelab as phase data, scaled to ns.

I can recommend you and everyone else to use Stable32. You can download
it for free from IEEE UFFC. It not only do analysis, it also do noise
simulations for you.

There is some work to be done on the source code. Uhm, that time.

> I mostly get what I expect; "pure" random noise, gives the expected slope
> for W/F PM, -1. Integrating the same random data gives the expected slope
> for W FM -1/2. Integrating the same random data yet again gives a slope
> of +1/2, again as expected for RW FM.

As expected from ADEV yes.

> However, looking at the data, I am somewhat baffled by a difference in the
> starting point of the slopes. Given that this is exactly the same random
> sequence, I would expect the curves to have the same startingpoint at
> tau0.. Clearly not (see attached), but I do not understand why. Any clues?
>
> Is this some elemental effect of integration (sqrt(n) or some such), or am
> I seeing the effects of bandwidth and/or bias-functions or other esoterica?
>
> In case the screenshot does not make it though;
> W PM starts at 1.69e-9
> W FM starts at 9.74e-10
> RW FM starts at 6.92e-10

It depends on how the phase-noise slope as multiplied by the Allan
kernel and integrated over all frequencies behave. Each noise type
integrates up to different values for the same type due to the slope.

I prepared a handy table for you when I completely rewrote the poor
excuse of a Wikipedia article that I found for Allan Deviation:

https://en.wikipedia.org/wiki/Allan_variance#Power-law_noise

As you simulate, you need to be careful to ensure that your simulated
noise matches that of the phase-noise slope so you do not get a bias there.

Take a good look at the right-most column. Assume that h_2 to h_-2 all
have the same amplitude, that is the same energy at 1 Hz and we analyze
at the same tau=1s, the numbers will still be different and those comes
from how the integration of those slope works.

The integration is very important aspect, as a number of assumptions
becomes embedded into it, such as the f_H frequency which is the Nyquist
frequency for counters, so sampling interval is also a relevant
parameter for expected level.

I spent quite a bit of time trying to replicate these formulas, and it
taught me quite a bit. If I where a grumpy university professor holding
class on time and frequency, my students would be tortured with them up
and down to really understand them.

For the not so grumpy and non-uni-professor me, I would easily spend a 2
hour lecture on them.

In short, they are not expected to start of at the same level, as the
homework was done we learned that they are not at all expected to start
at the same point. Do use the table as your reference for expected, and
adjust things to learn how to make numbers match up.

The formulas that pops out from all the different variants of Allan
deviation and friends is different for the same slope, tau and f_H
parameters. As we then use say MDEV instead of ADEV, MDEV would fit the
MDEV expected values, but that would have an algorithmic bias to that of
ADEV, which can be estimated quite accurately separately if needed.

The grumpy professor would say, and I would agree, that there is
fundamental differences and they are probably best understood by
studying the many different forms of representations there is for these
measures. Do study the cause of biases, as a sea of mistakes can be
avoided by understanding them.

With that being said, good you caught me on a non-grumpy day. :)

Cheers,
Magnus

> Thanks for any help!
> Ole
>
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Ole Petter Ronningen
2018-10-28 08:19:09 UTC
Permalink
Hi, Magnus!

Thank you for this! I am of course nowhere near really comprehending it
from reading it a couple of times, but I will still show my ignorance by
asking a couple of questions with respect to the power law noise table.
Counting on your day being still non-grumpy.. :D

1. I notice the formulas for ADEV is different for W PM and F PM - ADEV
does not distinguish between the two, as is pointed out in the article.
Does this not imply a fixed relationship between the power coefficients h1
and h2, such that the results of those to formulas are the same? Or am I
misunderstanding the point of the table? (Also, what is the parameter
y/gamma in the FPM formulas?)
2. I am not sure I understand the concept of f_H correctly, particularly as
it applies to synthetic data. What is the corner frequency of a random
sequence [0-1]?

Ole

On Sat, Oct 27, 2018 at 11:26 PM Magnus Danielson <
***@rubidium.dyndns.org> wrote:

> Hi Ole,
>
> I saw this post and thread, but waited until I had the time to address
> it sufficiently, as it is an important topic. As such, I really enjoy
> you asking the question as I am sure it will be a relevant question for
> many more on this list.
>
> On 10/26/18 11:34 AM, Ole Petter Ronningen wrote:
> > Hi, all
> >
> > I'm simulating some noise to try to improve my somewhat sketchy
> > understanding of what goes on with the various noise types as shown on an
> > ADEV plot. Nothing fancy, ~3600 points of gaussian random numbers
> between 0
> > and 1 in excel, imported into Timelab as phase data, scaled to ns.
>
> I can recommend you and everyone else to use Stable32. You can download
> it for free from IEEE UFFC. It not only do analysis, it also do noise
> simulations for you.
>
> There is some work to be done on the source code. Uhm, that time.
>
> > I mostly get what I expect; "pure" random noise, gives the expected slope
> > for W/F PM, -1. Integrating the same random data gives the expected slope
> > for W FM -1/2. Integrating the same random data yet again gives a slope
> > of +1/2, again as expected for RW FM.
>
> As expected from ADEV yes.
>
> > However, looking at the data, I am somewhat baffled by a difference in
> the
> > starting point of the slopes. Given that this is exactly the same random
> > sequence, I would expect the curves to have the same startingpoint at
> > tau0.. Clearly not (see attached), but I do not understand why. Any
> clues?
> >
> > Is this some elemental effect of integration (sqrt(n) or some such), or
> am
> > I seeing the effects of bandwidth and/or bias-functions or other
> esoterica?
> >
> > In case the screenshot does not make it though;
> > W PM starts at 1.69e-9
> > W FM starts at 9.74e-10
> > RW FM starts at 6.92e-10
>
> It depends on how the phase-noise slope as multiplied by the Allan
> kernel and integrated over all frequencies behave. Each noise type
> integrates up to different values for the same type due to the slope.
>
> I prepared a handy table for you when I completely rewrote the poor
> excuse of a Wikipedia article that I found for Allan Deviation:
>
> https://en.wikipedia.org/wiki/Allan_variance#Power-law_noise
>
> As you simulate, you need to be careful to ensure that your simulated
> noise matches that of the phase-noise slope so you do not get a bias there.
>
> Take a good look at the right-most column. Assume that h_2 to h_-2 all
> have the same amplitude, that is the same energy at 1 Hz and we analyze
> at the same tau=1s, the numbers will still be different and those comes
> from how the integration of those slope works.
>
> The integration is very important aspect, as a number of assumptions
> becomes embedded into it, such as the f_H frequency which is the Nyquist
> frequency for counters, so sampling interval is also a relevant
> parameter for expected level.
>
> I spent quite a bit of time trying to replicate these formulas, and it
> taught me quite a bit. If I where a grumpy university professor holding
> class on time and frequency, my students would be tortured with them up
> and down to really understand them.
>
> For the not so grumpy and non-uni-professor me, I would easily spend a 2
> hour lecture on them.
>
> In short, they are not expected to start of at the same level, as the
> homework was done we learned that they are not at all expected to start
> at the same point. Do use the table as your reference for expected, and
> adjust things to learn how to make numbers match up.
>
> The formulas that pops out from all the different variants of Allan
> deviation and friends is different for the same slope, tau and f_H
> parameters. As we then use say MDEV instead of ADEV, MDEV would fit the
> MDEV expected values, but that would have an algorithmic bias to that of
> ADEV, which can be estimated quite accurately separately if needed.
>
> The grumpy professor would say, and I would agree, that there is
> fundamental differences and they are probably best understood by
> studying the many different forms of representations there is for these
> measures. Do study the cause of biases, as a sea of mistakes can be
> avoided by understanding them.
>
> With that being said, good you caught me on a non-grumpy day. :)
>
> Cheers,
> Magnus
>
> > Thanks for any help!
> > Ole
> >
> >
> > _______________________________________________
> > time-nuts mailing list -- time-***@lists.febo.com
> > To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> > and follow the instructions there.
> >
>
> _______________________________________________
> time-nuts mailing list -- time-***@lists.febo.com
> To unsubscribe, go to
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.
>
_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Poul-Henning Kamp
2018-10-28 08:34:14 UTC
Permalink
--------
In message <CAG15_6tUVY6KvBp=Zt+OP2oP-rORFz16ihDeYGYQUBNYs-***@mail.gmail.com>, Ole Petter Ronningen writes:


>1. I notice the formulas for ADEV is different for W PM and F PM - ADEV
>does not distinguish between the two, as is pointed out in the article.

When we say ADEV does not distinguish those, we mean that the slope of
the ADEV with respect to tau is the same, not that the ADEV is the same.

--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
***@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-28 10:51:59 UTC
Permalink
Hej Ole!

On 10/28/18 9:19 AM, Ole Petter Ronningen wrote:
> Hi, Magnus!
>
> Thank you for this! I am of course nowhere near really comprehending it
> from reading it a couple of times, but I will still show my ignorance by
> asking a couple of questions with respect to the power law noise table.

Please ask.

> Counting on your day being still non-grumpy.. :D

:-D

> 1. I notice the formulas for ADEV is different for W PM and F PM - ADEV
> does not distinguish between the two, as is pointed out in the article.
> Does this not imply a fixed relationship between the power coefficients h1
> and h2, such that the results of those to formulas are the same? Or am I
> misunderstanding the point of the table? (Also, what is the parameter
> y/gamma in the FPM formulas?)

The trouble is that the mathematical difference as you see in the table
is very very hard to make use of, as you have two functions with almost
the same shape, and the difference between them is small, so small that
the confidence interval for the noisy type of data make it hard to
extract the difference with any form of useful trust in the numbers. Add
that you have other forms of disturbances which isn't pure noise. For
most practical purposes they are indistinguishable using ADEV and this
annoyed David Allan for 15 years until he finally could present the
modified Allan, which is "the one" for him, as it is more complete in
the noise separation aspect, which was the driver for his work in the
first place.

So, the table is correct, but not very useful in this regard.

Remember that it is noisy data, and for any finite series of noisy data,
there is practical limits to how much we can derive out of them. We keep
inventing better tools to gain precision, reduce processing, reduce
length of measurement etc. Thus, theoretical differences may turn out
not be very useful in the practical world, so we need to do things in a
way that is practical.

When using MDEV you has an algorithmic bandwidth that change, which so
for higher tau you have a more narrow-band filter, which makee white
phase noise change amplitude much faster than flicker phase noise, and
hence the distinction can be made.

As you move over to parabolic deviation, it has even steeper filter and
thus suppress noise even more. This helps to explain the improved
performance of regression based frequency estimation.

So, ADEV is far from the right tool for everything. In fact, it is
greatly misused.

> 2. I am not sure I understand the concept of f_H correctly, particularly as
> it applies to synthetic data. What is the corner frequency of a random
> sequence [0-1]?

If you say that your samples is at tau_0=1s, then the sample-rate
becomes f_S = 1/tau_0 = 1 Hz and the f_H becomes f_H = f_S * 1/2 = 1/2 Hz.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Attila Kinali
2018-10-29 13:59:08 UTC
Permalink
Moin,

I'm bunching a few mails together, to not clutter the mailinglist too much

On Sat, 27 Oct 2018 23:25:30 +0200
Magnus Danielson <***@rubidium.dyndns.org> wrote:

> The integration is very important aspect, as a number of assumptions
> becomes embedded into it, such as the f_H frequency which is the Nyquist
> frequency for counters, so sampling interval is also a relevant
> parameter for expected level.

An important thing to note here is that Gaussian white noise is,
as it is defined, non-continuous (by any continuity measure).
Ie if you take two samples, no matter how close they are time-wise,
their difference in value can be arbitrary large. If you are integrating
over (time-continuous) Gaussian white noise, you have to argue
carefully, why this integral is defined (meaning why calculating it
leads to a single, well defined value). In our case, it's usually
enough to assume that there is a finite cut-off frequency at which
point the signal falls off with at least 1/f^2 (or >=40dB/dec) to
ensure 1) continuity and 2) convergence of the integral.

For more details, see a textbook on Ito-calculus, e.g. [1]

On Sat, 27 Oct 2018 23:43:33 +0200
Magnus Danielson <***@rubidium.dyndns.org> wrote:

> A simple trick to transform uniform distribution to normal distribution
> like shape is to take 12 samples and add them together. A special trick
> is to take them pair-wise and subtract them and then add 6 differences,
> to avoid DC bias of typical uniform distribution generation (as typical
> pseudo-noise generators does not have all 0 state in them). The result
> of this subtract-add trick is a normal distribution like thing with the
> standard distribution of 1. More or fewer sample-pairs can be added if
> the product is scaled appropriately.
>
> The Box-Mueller algorithm is another way to convert uniform distribution
> to normal distribution.

Please, plase, please, do not use "just 12 samples and add them together"
as an approach for generating normal distributed values! Even if it will
get you something that looks like a normal distribution, it's quite far
from it. It is also a very slow method and uses up a lot of randomnes.

Box-Müller is a usable alternative, though I would recommend using
the Ziggurat Method[2], which is very fast and leads to a very good
approximation. When I replaced the "take 30 samples and add them" of
François Vernotte's Sigmatheta package[3] and used the Ziggurat Method,
combined with xorshift1024*[4] for random number generation, I got
a total speed up of a factor of more than 2 (including the FFT and
everything)[5] (yes, I know that xorshift1024* does have some problems
in the quality of random numbers generated, but they shouldn't be
relevant for the application at hand).


Attila Kinali

[1] "Stochastic Differential Equations", by Bernt Øksendal, 2013 (6th ed)

[2] "The Ziggurat Method for Generating Random Variables",
by Marsaglia and Tsang, 2000
http://dx.doi.org/10.18637/jss.v005.i08

[3] https://theta.obs-besancon.fr/spip.php?article103&lang=fr

[4] http://xoshiro.di.unimi.it/
or more specifically: http://xoroshiro.di.unimi.it/xorshift1024star.c

[5] https://git.kinali.ch/attila/sigmatheta
--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neal Stephenson

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.
Magnus Danielson
2018-10-29 14:28:28 UTC
Permalink
Hi Attila,

On 10/29/18 2:59 PM, Attila Kinali wrote:
> Moin,
>
> I'm bunching a few mails together, to not clutter the mailinglist too much
>
> On Sat, 27 Oct 2018 23:25:30 +0200
> Magnus Danielson <***@rubidium.dyndns.org> wrote:
>
>> The integration is very important aspect, as a number of assumptions
>> becomes embedded into it, such as the f_H frequency which is the Nyquist
>> frequency for counters, so sampling interval is also a relevant
>> parameter for expected level.
>
> An important thing to note here is that Gaussian white noise is,
> as it is defined, non-continuous (by any continuity measure).
> Ie if you take two samples, no matter how close they are time-wise,
> their difference in value can be arbitrary large. If you are integrating
> over (time-continuous) Gaussian white noise, you have to argue
> carefully, why this integral is defined (meaning why calculating it
> leads to a single, well defined value). In our case, it's usually
> enough to assume that there is a finite cut-off frequency at which
> point the signal falls off with at least 1/f^2 (or >=40dB/dec) to
> ensure 1) continuity and 2) convergence of the integral.

There is aspects of noise which is more or less important depending on
what you do. As we leave WPM it is no longer gaussian anyway. For ADEV
and friends the shape of the PDF isn't as important as for other things.
The slope of the frequency range is however the important one. It is
only when we do the confidence intervals where the Gaussian shape
becomes relevant for the Chi-square bounds, but those are usually not
precise enough that even rough Gaussian shape is relevant. Even for
noises with none-Gaussian properties, the Chi-square seems to be valid
enough.

For other measures, like bit-error simulations, proper Gaussian shape is
much more important, but only to a certain point. For higher BER values,
the details of the outer part of the shape isn't all that important,
it's only as you push into lower BER numbers you need to care.

> For more details, see a textbook on Ito-calculus, e.g. [1]
>
> On Sat, 27 Oct 2018 23:43:33 +0200
> Magnus Danielson <***@rubidium.dyndns.org> wrote:
>
>> A simple trick to transform uniform distribution to normal distribution
>> like shape is to take 12 samples and add them together. A special trick
>> is to take them pair-wise and subtract them and then add 6 differences,
>> to avoid DC bias of typical uniform distribution generation (as typical
>> pseudo-noise generators does not have all 0 state in them). The result
>> of this subtract-add trick is a normal distribution like thing with the
>> standard distribution of 1. More or fewer sample-pairs can be added if
>> the product is scaled appropriately.
>>
>> The Box-Mueller algorithm is another way to convert uniform distribution
>> to normal distribution.
>
> Please, plase, please, do not use "just 12 samples and add them together"
> as an approach for generating normal distributed values! Even if it will
> get you something that looks like a normal distribution, it's quite far
> from it. It is also a very slow method and uses up a lot of randomnes.

Actually, for many simulations you do not need better "shape".
There is some simulations where shape comes in, but others where it has
little to no consequence.

> Box-Müller is a usable alternative, though I would recommend using
> the Ziggurat Method[2], which is very fast and leads to a very good
> approximation. When I replaced the "take 30 samples and add them" of
> François Vernotte's Sigmatheta package[3] and used the Ziggurat Method,
> combined with xorshift1024*[4] for random number generation, I got
> a total speed up of a factor of more than 2 (including the FFT and
> everything)[5] (yes, I know that xorshift1024* does have some problems
> in the quality of random numbers generated, but they shouldn't be
> relevant for the application at hand).

Getting suitable PRNG polynomials isn't all that hard, if the length of
the "random" sequence is of concern compared to the length of the
sequence used. It's a solved problem.

Never the less, thanks for the many references. Will read up on them
eventually.

Cheers,
Magnus

>
> Attila Kinali
>
> [1] "Stochastic Differential Equations", by Bernt Øksendal, 2013 (6th ed)
>
> [2] "The Ziggurat Method for Generating Random Variables",
> by Marsaglia and Tsang, 2000
> http://dx.doi.org/10.18637/jss.v005.i08
>
> [3] https://theta.obs-besancon.fr/spip.php?article103&lang=fr
>
> [4] http://xoshiro.di.unimi.it/
> or more specifically: http://xoroshiro.di.unimi.it/xorshift1024star.c
>
> [5] https://git.kinali.ch/attila/sigmatheta
>

_______________________________________________
time-nuts mailing list -- time-***@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
an
Loading...