CategoryResearch

Faster mtotdev() and htotdev()

The AllanTools functions mtotdev() and htotdev() are now almost 10-times faster, after an update to the code that more efficiently calculates moving averages.

The old code used numpy.mean() for each iteration of a loop:

However this can be computed much faster by noticing that the new mean differs from the old (already computed!) mean by just two points, one at the start is dropped, and a new one at the end is added:

Lab live-stream: Trapped 88Sr+ ion

Live-stream from the VTT MIKES ion clock lab.

We started trapping in this 2nd-generation VTT MIKES ion trap in early May and we are now working with characterizing the trap and laser cooling. Hopefully the ion stays in the trap for several days!

Thursday Trapping

Single-ion Sr+ trap.

Tuesday Trapping

This is not Stable32

Recently merged plotting-functions for allantools with a look and feel of Stable32 - thanks to yxie.

I should probably run python3 to get special characters like tau and sigma to work..

AIM-TTi TF930 Frequency counter

We got a 350 eur AIM-TTi TF930 frequency counter for less demanding frequency counting. Here's how it looks like on the inside.

AD9912 DDS frequency resolution?

See also discussion on the AD forum: https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero

We've tried to measure the frequency resolution of the AD9912 DDS, which when used with a 1 GHz SYSCLK should be 1 GHz / 2**48 = 3.55 uHz.

We tried an ARTIQ Urukul-board and an AD dev-board and got the following results:

In both cases the output frequency corresponds to an even frequency tuning word (FTW) although we step the frequency by one LSB. In other words the LSB appears to be zero in all cases, even when we write an odd FTW with '1' as the LSB. Instead of the expected 3.55 uHz frequency resolution we see double-sized steps of 7.1 uHz.

The Urukul measurement was done with a Microsemi 3120A phase-meter and the dev-board was measured using a PICDIV 1PPS-divider followed by a Keysight 53230A time interval counter. The even FTW frequencies agree with the predicted frequency to much better than 0.1 uHz.

Noise Colours - again

Inspired by discussion on time-nuts, here's a revised noise-colour graph. There are a few updates: The PSDs (both phase and frequency) now cross at 1 Hz (with the relation between phase-PSD and frequency-PSD explicitly stated), and the ADEV/MDEV theoretical lines now include the formula for the pre-factor (the old graph only had 'proportional to' here).

Source: example_noise_slopes2.py

Simulated time-series with power-law noise. The relation between phase-PSD, frequency-PSD, ADEV, and MDEV is shown.

It is left as an exercise to the reader to properly explain the ADEV pre-factor for flicker-phase noise :).

PPS-board prototype

An evolution of my PICDIV-board from 2016. Takes 10MHz input and produces 1PPS (one pulse per second). This one has a TADD-2-mini inspired sine-to-square converter on the input (far left), a PIC12F675 with Tom van Baak's PICDIV-code (right), an ICSP-header for programming, and output-buffers inspired by the pulse distribution amplifier. A 3-position DIP-switch (middle left) allows config-changes, and a blinking LED indicates 1PPS (middle right).

Fixed a few bugs in the first PCB-revision and will order boards for version two soon. Eventually to be published on github/ohwr - stay tuned..

PPS-board 2018 August prototype. Note bypassed sine-to-square circuit on the left.

AllanTools 2018.03 now LGPL

By popular demand, AllanTools 2018.03 is now released under LGPL license.

Get it at: PyPi or github.

Work with integrating noise-identification with downstream confidence-interval estimation and bias correction continues as time permits.

© 2019 anderswallin.net

Theme by Anders NorénUp ↑